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

52

broadcast is referred to as the carrier signal and the message "written on" the carrier is called

the modulator signal. The message can be encoded on the carrier signal in one of three ways:

AM (amplitude modulation), PM (phase modulation), or FM (frequency modulation).

Amplitude modulation (AM) is commonly used in radio transmissions. It entails

sending a message by modulating the amplitude of a carrier signal with a modulator signal.

In the realm of digital sound as created by synthesizers, AM can be used to generate a

digital audio signal of N samples by application of the following equation:

( )

Equation 6.1 Amplitude modulation for digital synthesis

The process is expressed algorithmically in Algorithm 6.8. The algorithm shows that the

AM synthesis equation must be applied to generate each of the samples for .

algorithm amplitude_modulation

/*

Input:

f_c, the frequency of the carrier signal

f_m, the frequency of a low frequency modulator signal

N, the number of samples you want to create

r, the sampling rate

A, to adjust the amplitude of the

Output:

y, an array of audio samples where the carrier has been amplitude

modulated by the modulator */

{

for (n = 1 to N)

y[n] = sin(2*pi*f_c*n/r) * (1.0 + A*cos(2*pi*f_m*n/r));

}

Algorithm 6.1 Amplitude modulation for digital synthesis

Algorithm 6.1can be executed at the MATLAB command line with the statements below,

generating the graphs is Figure 6.49. Because MATLAB executes the statements as vector

operations, a loop is not required. (Alternatively, a MATLAB program could be written using a

loop.) For simplicity, we'll assume in what follows.

N = 44100;

r = 44100;

n = [1:N];

f_m = 10;

f_c = 440;

m = cos(2*pi*f_m*n/r);

c = sin(2*pi*f_c*n/r);

figure;