FXAlg #907: Ring Modulator
Algorithm Reference-126
FXAlg #907: Ring Modulator
A configurable ring modulator
Allocation Units:
1
Ring modulation is a simple effect in which two signals are multiplied together. Typically, an input signal is
modulated with a simple carrier waveform such as a sine wave or a sawtooth. Since the modulation is symmetric
(a*b = b*a), deciding which signal is the carrier and which is the modulation signal is a question of perspective. A
simple, unchanging waveform is generally considered the carrier.
To see how the ring modulator works, weÕll have to go through a little high school math and trigonometry. If you
like, you can skip the howÕs and whyÕs and go straight to the discussion of controlling the algorithm.
LetÕs look at the simple case of two equal amplitude sine waves modulating each other. Real signals will be more
complex, but they will be much more difficult to analyze. The two sine waves generally will be oscillating at
different frequencies. A sine wave signal at any time
t
having a frequency
f
is represented as sin(
ft
+
f
) where
f
is
constant phase angle to correct for the sine wave not being 0 at
t
= 0. The sine wave could also be represented with
a cosine function which is a sine function with a 90
°
phase shift. To simply matters, we will write A =
f
1
t
+
f
1
for one
of the sine waves and B =
f
2
t
+
f
2
for the other sine wave. The ring modulator multiplies the two signals to produce
sin A sin B. We can try to find a trigometric identity for this, or we can just look up in a trigonometry book,
2 sin A sin B = cos(A - B) - cos(A + B).
This equation tells us that multiplying two sine waves produces two new sine waves (or cosine waves) at the sum
and difference of the original frequencies. The following figure shows the output frequencies (solid lines) for a given
input signal pair (dashed lines):
Result of Modulating Two Sine Waves, A and B
This algorithm has two operating modes, set with the Mod Mode parameter. In ÒL*RÓ mode, you supply the
modulation and carrier signals as two mono signals on the left and right inputs. The output in ÒL*RÓ mode is also
mono and you may use the L*R Pan parameter to pan the output. The oscillator parameters on parameter pages 2
and 3 will be inactive while in ÒL*RÓ mode. The following figure shows the signal flow when in ÒL*RÓ mode:
Frequency
Magnitude
A
B
A+B
B-A