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;
Previous Page Next Page