Beats: Doing Physics With Matlab
Beats: Doing Physics With Matlab
Beats: Doing Physics With Matlab
BEATS
Ian Cooper
School of Physics, University of Sydney
[email protected]
beats.m
The Matlab script is for a simulation of beats. A GUI (Graphical User Interface) is used to input
the second frequency f2 while the first frequency f1 is fixed at 1000 Hz. A graphical output is
displayed showing the beat pattern and a sound can be played so that you can hear the beats
(figure 1).
beats.Calculations.m
Graphical output of the beat pattern for two superposed sinusoidal signals (figure 2).
wav_SoundRecordings.m
How a sound can be generated in Matlab and the sound signal saved as a wav file.
Notes on BEATS
Beats are heard when two sounds with slightly different frequencies f1 and f2 are sounded
together. It is due to the interference between the two waves. Suppose that at a certain position
the two waves are given by
f f2 f1 f 2
(2) y ( y ) y1 (t ) y 2 (t ) 2 A sin 2 1 t cos 2 t
2 2
The cosine term varies with the average frequency of (f1 + f2)/2. The factor in front of the cosine
term gives the envelope (or amplitude factor) which varies slowly with a frequency of |f1 - f2|/2.
The ear responds to the intensity of the wave which varies as the square of the amplitude factor
and goes through two maxima or minima per cycle, giving a beat frequency of
(3) f beat f1 f 2
The resultant wave for frequencies f1 = 1000 Hz and f2 = 1100 Hz are displayed in figure 1. A
beat frequency of 100 Hz can be heard when the SOUND button is pressed.
Fig. 1. A screen dump of for the GUI interface and the plot showing the
interference of the two waves that produce the beat pattern. The beat frequency is
100 Hz and the beat period is 0.01 s. beats.m
Inspect and run the m-script beats.m so that you are familiar with what the program and the code
does. For a range of input parameters, view the plots and listen to the sounds. How does a plot
relate to the sound?
1 Start with the two frequencies set at 1000 Hz. Increase the input frequency above 1000 Hz.
Decrease the input frequency to values less than 1000 Hz. Observe the changes in the plots
and the sounds.
2 Set the input frequency to f2 = 1100 Hz. Use the Data Cursor to measure the period of the
rapid fluctuations and the period of the envelope. From the period measurements, calculate
the frequencies of the rapidly varying fluctuations, the envelope and the beats. How well do
your results agree with the theoretical results?
% wav_SoundRecording.m
% Generate and save sound files for two frequency inputs
% Ian Cooper
% School of Physics, University of Sydney
% email: [email protected]
% http://www.physics.usyd.edu.au/teach_res/mp/mphome.htm
% 170511
% Ignore Warning about clipping
clear all
close all
clc
% Frequency inputs
f1 = 3000;
f2 = 3003;
% Calculate Waveform
fs = 22050; % sample frequency (Hz)
d = 4.0; % duration (s)
n = fs * d; % number of samples
t = (1:n) / fs; % sound data preparation
% s = sin(2 * pi * f1 * s); % pure tone
s = sin(2 * pi * f1 * t)+ sin(2 * pi * f2 * t);
s = s./max(s);
http://www.physics.usyd.edu.au/teach_res/hsp/sp/mod31/m31_sounds.htm