[sdiy] Weaver frequency shifter
rburnett at richieburnett.co.uk
rburnett at richieburnett.co.uk
Thu Apr 28 14:52:30 CEST 2022
Interesting replies. Thank you guys.
David, It's interesting that you got such dramatically better results
with the phase-shifting method than the Weaver method when implemented
with analogue electronics. You must have had fun building those
phase-shifting networks! My understanding is that the original
motivation for Weaver's method was that it was easier to build decent
(matched) low-pass filters with a deep stopband using the analogue
electronics available at the time, than it was to build the two chains
of all-pass filters required to ensure a precise 90 degrees phase shift
between the two audio paths. (Granted, I know it's not quite that
simple... The oscillators in the Weaver method also have to have
outputs that are in precise quadrature too, to get good results.)
Eric, it is interesting hearing things from a comms guy's perspective
too, because the people around me in my day job do underwater comms
stuff. I can see the equivalency in the different methods of SSB
generation in that they ultimately all achieve the same goal of
generating the analytical signal then mixing it up to some other
frequency. And when comparing the total number of poles required in
either a phase-shift network or the Weaver's low-pass filters they both
have a more-or-less similar requirement for lots of poles close to the
unit circle!
On reading about the Weaver method of frequency shifting (SSB
generation) my thought process went something like this...
The suppression of the unwanted sideband using the phase-shifting method
is dependent largely on keeping everything in quadrature. It's easy to
make precise quadrature oscillators (in analogue or digital,) but making
two copies of the audio input signal that are always precisely 90
degrees apart is always an approximation whether done with an analogue
or digital phase-shifting network. Now the Weaver method circumvents
this "problem" by changing it into a requirement for two precisely
matched *low-pass* filters who's stop-band attenuation ultimately
determines the degree of suppression for the unwanted sideband, if I
understand things right. This is exactly what digital filters are good
at! It's easy to get deep stop-band attenuation, a steep transition
band (given enough poles) and both filters will be *exactly* matched if
they are implemented by the same algorithm with the same filter
coefficients. (state dependent rounding errors aside ;-) )
So, from this train of thought it seemed that a modern digital
implementation of the Weaver method might actually yield better
performance (superior sideband suppression) than the digital
phase-shifting method for audio manipulation applications?
Eric, are you implementing your Hilbert transformer as an FIR filter in
your comms stuff to maintain linear-phase? The guys in the comms group
here always balk at my suggestions to use IIR filters because of the
undesirable non-linear phase response. But the two low-pass filters in
the Weaver method seem to be crying out for implementation as Elliptic
IIR filters on a digital platform because of the guaranteed matching,
provided the phase response is tolerable.
I presume you have already seen this implementation of an IIR
Hilbert-pair Eric:
http://yehar.com/blog/?p=368
I like the simplicity and degree to which he has optimised the
implementation, but the 40dB opposite-sideband rejection figure isn't
fantastic. I remember having a discussion with Olli about this years
ago, and he tried to explain the equivalence of these two chains of IIR
all-pass filters to a single complex half-band low-pass IIR filter. But
something never quite clicked for me, and I think there was a step I was
missing somewhere in my understanding!
-Richie,
More information about the Synth-diy
mailing list