Spread the love

This project is loosely based on the original 1630 Bode Modulator designed for the Moog Modular Synthesizers.

How the original Bode Modulator worked.

In the Bode frequency shifter the audio is mixed in a balanced modulator with an ultra-sonic carrier of, for instance, 20 kHz. Thus two sidebands are generated around a suppressed carrier of 20 kHz. The carrier is that central “spike” between the two sidebands in the Amplitude Modulation. The modulation process should remove most, if not all of the carrier. Filtering is needed to remove the unwanted sideband.


One of these sidebands, usually the upper, is then passed through a filter with a very steep attenuation at the carrier frequency to remove this upper sideband (down to the closest possible frequency to the carrier).
This sideband signal is then mixed in a second balanced modulator with a second ultrasonic frequency of around 20 kHz, and thus reconverted back into the normal audio range.
Through this process of modulating and single-sideband filtering, the audio spectrum is shifted by an amount equal to the difference between the two ultrasonic frequencies. For instance, when using a carrier frequency of 20 kHz , an upper sideband filter, and a second ultrasonic frequency of 19.9 kHz,
the re-constituted audio components appears to shifted up by the difference of the two ultrasonic frequencies (in this case 100 Hz).
The quality this frequency shifter depends mainly upon the quality of the single-side band filter. The upper audio limit frequency of shifters built with most types of single-sideband filters lies at 10 kHz. The lower frequency limit for no interference by the suppressed sideband is around 200 Hz, this is of course dependent on the efficiency, and steepness of the cut-off of the filters.

Our SynthEdit Frequency shifter.

The design relies on two oscillators each with two outputs;-the second output being identical in frequency-but with a 90° phase difference
The first Oscillator is fixed at 20kHz, the second has a variable frequency with two outputs with the same 90° phase difference.
The audio input has a 12 Pole Butterworth Low pass filter with a cut-off of
18 kHz feeding a Hilbert filter (The Hilbert Filter is the SynthEdit equivalent of the Dome filter used in the original Moog design Bode Modulator). The input is filtered to prevent any signals close to the carrier frequencies entering the circuit and causing undesirable cross-modulation. The two outputs from the Hilbert Filter module have a constant 90 degree phase difference between them at all audio frequencies, other than this the module has little or no effect on the audio which is passed through it.
Each output feeds a separate Ring Modulator, which is in turn passed through a Butterworth Low pass filter with a cut-off of 18 kHz. These then feed into another pair of Ring Modulators with a carrier input from the 19 to 20 kHz Oscillator (again with a 90° phase difference between each oscillator).
The difference between the Fixed 20kHz Oscillator and the Variable Frequency Oscillator (VFO) gives the us the frequency shift effect.
This design doesn’t actually shift the pitch of the input (It’s not a Pitch Shifter or harmoniser as such), but what it does is shifts the harmonic spectrum up or down according to the difference in frequency between the fixed oscillator and the variable frequency oscillator.
What is happening is the two Ring Modulators on the input are producing an amplitude modulated 20 kHz signal with the 20 kHz carrier removed in the modulation stage, and any residue of the carrier signal is filtered out by the two low pass filters. The signal is then fed through two more ring modulators with a variable frequency carrier, which is again removed at the output of the ring modulators- one thing we don’t want to hear is a continuous sine wave “whistle”. The difference between the two modulator frequencies produces the frequency spectrum shifting effect.
There is a final low pass filter with a steep cut-off placed after the output VCA to remove any last residue of the two carrier signals.

The main structure of the Bode modulator

Bode modulator structure

The frequency readout.
This is achieved by converting the voltage from the VFO’s control knob to a floating point value, then converting to a to text string and sending the result to a DAM Text module for the display.
The Subtract, Multiply, QTN Volt2GUIFloat, and the Float To Text modules convert the voltage from the Frequency control knob for the 19-21 kHz VFO a text string to use as the frequency read-out ready for the DAM Text module to display (Knob Readout).
Subtract Module:
This module is used to subtract -20 from the control voltage for the VFO, this is because a VFO frequency of 20kHz gives a 0Hz shift, so by doing this we remove the 20kHz offset. So we set Input 2 of the Subtract module to -20.
Multiply Module:
To get the correct frequency shift readout we need to multiply the VFO control voltage by 1000 as we are using a frequency scale off 1V/kHz for the oscillator.
Hence Input 2 of the Multiply module is set to 1000.
QTN Volts to GUI Float Module:
There are no settings to change on the QTN_Volt2GUIFloat module, and the Float To Text is set to 0 decimal places. This module is just to allow the preceding DSP modules to “talk” to the GUI display modules.
Float to Text:
This converts the Floating point value to a Text string for the DAM Text Enter module. You can set the number of decimal places to be used with the Decimal Places plug via the properties panel (The default is no decimal places)
The Text Display for the frequency shift display:
There are some properties settings to change on the DAM Text Enter module:
Change the Text Displayed to “Append”, In the Text Static box enter “Hz Shift”.
If you want a text colour other than black change the Font ARGB to the relevant value, and if you want a transparent background for the text change the A setting from ff to 00 for both BG Top ARGB and BG Bottom ARGB.

Filter Settings:
All the Butterworth Low Pass filters are set to a steep 12 Pole roll-off, and set to 18 kHz cut-off frequency- this should not be variable, and should be left at our design frequency of 18kHz.
Level control slider settings:
The Input and Output VCAs both have their Slider controls set at a maximum of 20 Volts to compensate for the inherent lower audio output levels from the Ring Modulators.

Dual phase 20kHz oscillator.
Both Oscillators are set to sine wave outputs. The cosine oscillator has it’s Phase Mod plug set to 2.5 Volts, which ensures the 90 degree phase difference.
The oscillators have their Frequency Scale set to kHz/Volts.

Dual phase 20 kHz oscillator

Dual Phase Variable Frequency Oscillator.
Both Oscillators are set to sine wave outputs. The cosine oscillator has it’s Phase Mod plug set to 2.5 Volts, which ensures the 90 degree phase difference. The only addition is that both Oscillator Pitch plugs are connected to the IO Mod.
The oscillators have their Frequency Scale set to kHz/Volts. This allows us to convert the frequency shift to a text readout more easily.

Dual phase VFO 19 to 21 kHz