Digital Sound & Music: Concepts, Applications, & Science, Chapter 6, last updated 6/25/2013

56

To verify this with an example, you can generate a graph of the sidebands in MATLAB by doing

a Fourier transfer of the waveform generated by AM and plotting the magnitudes of the

frequency components. MATLAB's fft function does a Fourier transform of a vector of audio

data, returning a vector of complex numbers. The abs function turns the complex numbers into a

vector of magnitudes of frequency components. Then these values can be plotted with the plot

function. We show the graph only from frequencies 1 through 600 Hz, since the only frequency

components for this example lie in this range. Figure 6.52 shows the sidebands corresponding the

AM performed in Figure 6.49. The sidebands are at 450 Hz and 460 Hz, as predicted.

figure;

fftmag = abs(fft(AM));

plot(fftmag(1:600));

Figure 6.52 Frequency components after amplitude modulation in Figure 6.49

Ring Modulation 6.3.3.5

Ring modulation entails simply multiplying two signals. To create a digital signal using ring

modulation, the Equation 6.2 can be applied.

,

Equation 6.2 Ring modulation for digital synthesis

Since multiplication is commutative, there's no sense in which one signal is the carrier

and the other the modulator. Ring modulation is illustrated with two simple sine waves in

Figure 6.53. The ring modulated waveform is generated with the MATLAB commands below.

Again, we set amplitudes to 1.

N = 44100;

r = 44100;

n = [1:N];

w1 = 440;

w2 = 10;

rm = sin(2*pi*w1*n/r) .* cos(2*pi*w2*n/r);

plot(rm(1:10000));

axis([1 10000 -2 2]);