*This post is by Richard Lyons, the author of the superb book “Understanding Digital Signal Processing”* – Charan Langton

_________________________

Some weeks ago a friend of mine, a long time radio engineer as well as a piano player, called and asked me,

“When I travel in a DC-9 aircraft, and I sit back

near the engines, I hear this fairly loud unpleasant

whump whump whump whump sound. The frequency of that sound

is, maybe, two cycles per second. I think that sound is a

beat frequency because the DC-9’s engines are turning at

a slightly different number of revolutions per second.

My question is, what sort of mechanism in the airplane

could cause the audio from the two engines to be multiplied

so that I can hear the low-frequency beat frequency?”

I didn’t have an answer for my friend but his question did start me thinking.

Beat Notes

You’ve probably heard of beat notes before. In Mitra’s terrific DSP book, he describes a beat note as follows [1]: If we multiply two sine wave signals, having similar frequencies, the result is a sum-frequency sine wave and a difference-frequency sine wave. Mathematically, this multiplication can be shown by a common trigonometric identity as:

The cos[2x(f1–f2)t]/2 sinusoid, the difference frequency, is called the “beat note.” If you’ve ever studied AM demodulation then you’ve seen that sum and difference Eq. (1) before.

I remember years ago when someone showed me how to tune a guitar string to the proper pitch, relative to another string, using the notion of beat notes. When you pluck two strings tuned to similar, but not identical, frequencies you can hear what seems to be a low-frequency beat note. When the two strings are tuned closer and closer in frequency the beat note becomes lower in frequency. When the two strings are tuned to the same frequency (same pitch) the beat note frequency goes to zero and can no longer be heard. In that event the two strings are properly tuned relative to each other. As was explained to me, the beat note we hear is the difference in frequency between two improperly tuned strings. What I’ve since learned is this description of a guitar’s audible beat note is NOT correct. Allow me to explain.

The Product and Sum of Two Audio Tones

Figure 1 shows two sine wave tones, an f1 = 210 Hz tone and an f2 = 200 Hz tone.

If we multiply those two Figure 1 sine waves, as indicated by Eq. (1), the product is shown as the solid curve in Figure 2. In that figure we see the solid curve is the sum-frequency (f1 + f2) 410 Hz sine wave. And the amplitude offset (the instantaneous bias) of the 410 Hz sine wave fluctuates at a rate of a 10 Hz difference frequency (f1 – f2) as shown by the red dashed curve. I’ve included the red dashed curve in Figure 2 for reference only. Again, the blue curve alone is our sin(2210t)•sin(2200t) product signal

If we were to drive a speaker with the Figure 2 product signal we’d hear the 410 Hz sum-frequency tone but we would NOT hear the 10 Hz amplitude offset. (Matlab code is provided below to demonstrate what I’m claiming here.)

As it turns out, Eq. (1) is not the expression we need when considering the sum of two sine wave tones. It’s on the following trigonometric identity that we should focus:

Equation (2), the sum of a sin(2f1t) sine wave and a sin(2f2t) sine wave, describes what happens when two guitar strings are plucked as well as what my friend hears inside a DC-9 aircraft.

If we add the two Figure 1 sine waves, as indicated by Eq. (2), the sum is shown as the solid curve in Figure 3. In that figure we see the solid curve is the sin[2(200+210)t/2] 205 Hz tone predicted by Eq. (2).

However, the peak-to-peak amplitude of that 205 Hz tone is modulated (multiplied) by a cos[2(210-200)t/2] 5 Hz sinusoid. (I’ve included the red dashed curve in Figure 3 for reference only.) Isn’t it interesting that when we add a 210 Hz sine wave to a 200 Hz sine wave the result is a fluctuating-amplitude 205 Hz sinusoidal wave? I don’t think that fact is at all intuitive. At least it wasn’t intuitive to me. That sine wave summation behavior is the “interesting observation” mentioned in the title of this blog.

In Eq. (2), with f1 = 210 and f2 = 200, I view the factor 2cos(25t) in Eq. (2) as an amplitude function that controls the amplitude of the sin(2205t) audio tone. That viewpoint is shown below.

Now if we drive a speaker with the Figure 3 sum signal we’d hear a 205 Hz tone and that tone’s amplitude (volume) would fluctuate at a rate of 10 Hz. The amplitude fluctuations occur at a 10 Hz rate because the 205 Hz tone’s amplitude goes from zero to its maximum value once for each half cycle of the 5 Hz modulating frequency. (Again, Matlab code to generate and listen to the Figure 3 signal is given below.)

Conclusion

So what this all means is that when we simultaneously pluck two guitar strings tuned to 210 Hz and 200 Hz respectively, we hear a tone whose frequency is 205 Hz (the average of 210 Hz and 200 Hz) and we also hear the 205 Hz tone’s amplitude fluctuate at a 10 Hz rate. And the oscillating amplitude fluctuations give us the impression that we hear a 10 Hz tone when in fact no 10 Hz tone exists in the Figure 3 sum signal. I say that because the spectrum of the Figure 3 solid sum-signal curve contains two spectral components, a 200 Hz tone and a 210 Hz tone. Nothing more and nothing less. As such we can say that plucking two guitar strings, off-tuned by 10 Hz, does NOT generate a sinusoidal 10 Hz audio beat note.

And to answer the DC-9 question, in my opinion no multiplication of engine noise is taking place. The audible whump whump whump sound is fluctuations in the amplitude (volume) of the two engines’ average rotational frequencies.

–Richard Lyons

Author of “Understanding Digital Signal Processing”

References

[1] S. Mitra, Digital Signal Processing, A computer-Based Approach,

McGraw-Hill, New York, New York, 2011, pp. 70-71.

Matlab Code

The following Matlab code enables you to generate, and listen to, the sum of

two audio tones.

% Filename: Beat_Frequency.m

%

% [Richard Lyons, Feb. 2013]

clear, clc

Fs = 8192; % Sample rate of dig. samples

N = 8192; % Number of time samples

n = 0:N-1;

Wave_1 = sin(2*pi*210*n/Fs); % First tone, 210 Hz

Wave_2 = sin(2*pi*200*n/Fs); % Second tone, 200 Hz

% Plot the two tones

figure(1)

plot(n/Fs, Wave_1, ‘-b’)

ylabel(‘200 Hz’); xlabel(‘Time (sec.)’);

hold on

plot(n/Fs, Wave_2, ‘-r’)

axis([0, 0.05, -1.2, 1.5]);

ylabel(‘Input tones’); xlabel(‘Time (sec.)’);

title(‘red = 200 Hz tone, blue = 210 Hz tone’);

grid on, zoom on

hold off

Product = Wave_1.*Wave_2;

Sum = Wave_1 + Wave_2;

% Plot the tones’ product and sum

figure(2)

subplot(2,1,1)

plot(n/Fs, Product, ‘-b’),

ylabel(‘Product’); xlabel(‘Time (sec.)’);

grid on, zoom on

hold on

Red_Curve = 0.5*cos(2*pi*10*n/Fs) + 0.5; % Used for plotting only

plot(n/Fs, Red_Curve, ‘-r’)

axis([0, 0.3, -1.25, 1.5]);

hold off

grid on, zoom on

subplot(2,1,2)

plot(n/Fs, Sum, ‘-b’)

hold on

Red_Curve = 2*cos(2*pi*5*n/Fs); % Used for plotting only

plot(n/Fs, Red_Curve, ‘-r’)

axis([0, 0.3, -2.4, 3]);

hold off

ylabel(‘Sum’); xlabel(‘Time (sec.)’);

grid on, zoom on

% Play all the signals

sound(Wave_1, Fs)

pause(1.2)

sound(Wave_2, Fs)

pause(1.2)

sound(Product, Fs)

pause(1.2)

sound(Sum, Fs)

% Spec analysis of the “Sum” signal

Spec = fft(Sum);

Spec_Mag = abs(Spec);

Freq = n*Fs/N; % Freq vector in Hz

figure (3) % Plot positive-freq spec amg

plot(Freq(1:N/16), Spec_Mag(1:N/16))

title(‘Spec Mag of “Sum” signal’)

ylabel(‘Mag.’), xlabel(‘Hz’)

grid on, zoom on

I recently just found your tutorials and looking forward to reading it.

I’m amazed at how simply and clearly you explained this, with math! Thank you!

Thank you, John.

I try.

Why does the sum of two sine waves f1 and f2 have spectral energy in its frequency domain precicely centered at f1 and f2, rather than the (f1+f2)/2 average. Something I’m still struggling to understand.

The 205 hz frequency depicted in your example does not exist. 205 hz is in fact the average frequency of the signal. But 205 hz is not the frequency of the signal itself, nor does there exist any energy at 205 hz. Maybe you didn’t intend to suggest that the underlying summed dignal was actually at the average of f1, and f2, but rather that it had an average freqnecy of (f1+f2)/2?