# The Bode frequency shifter

Anyone know if the Bode frequency shifter has been studied somewhere. I just used an audio plug-in called EchoBode from SonicCharge and this is claimed to use a frequency (pitch) shifting algorithm inspired by the Bode frequency shifter.

The pitch shifting quality on this is pretty darn good I think, thus why I'm asking about it.

Here it's claimed to involve a ring modulator and a Hilbert transform.

Frequency shifting is linear and thus produces inharmonicity, but for small (max. 1-2 semitones) the quality is possibly better than with "granular" pitch shifting approaches. The inharmonicity is also not necessarily distortion or "ring-modulated", but may be even musical for some sounds such as percussive instruments.

They may be referring to patent US3800088 by Harald Bode.

I have a bunch of images from 15 years ago to explain a way to do frequency shifting so that it has the best chance of sounding good. I would call it single-sideband frequency shifting. Here the range of possible frequencies in the signal are drawn as two arrows each spanning half the circumference of the z-plane unit circle: T is integer and represents time. The frequency shift $-\frac{\pi}{4}$ is an example. Modulation here is by a complex exponential (the signal is multiplied by the complex exponential).

The resulting signal is complex, but we want a real signal, which we get by throwing away the imaginary part. This creates negative frequencies (green) that are mirror images of the positive frequencies. That's pretty ugly as some frequencies got shifted so that they alias and thus have a positive frequency shift. Also the spectrum of what we want got mixed with wrong-way-going frequencies (reversed spectrum). We can fix these problems using the following procedure: We filter away negative frequencies with a filter that has a do-nothing real part and a Hilbert transformer as the imaginary part. Then we modulate with a complex exponential and use another positive frequency pass filter to remove anything that might alias. Finally, discarding the imaginary component creates a nice-looking signal.

I excluded details about gain, but it suffices to know that if at the end the gain is wrong, the output needs to be multiplied by some factor $2^N$, $N$ integer.