Title: Time Frequency Analysis
1Time Frequency Analysis
- We want to see how the frequencies of a signal
change with time. - Typical example of a Time/Frequency
representation
2Short Time Fourier Transform (STFT)
- Given a signal we take the FFT on a window
sliding with time
3Spectrogram ideally
- The evolution of the magnitude with time is
called Spectrogram. - Ideally we would like to have this
4Spectrogram in practice
- We need to deal with the effects of the window
main lobe and sidelobes
5Spectrogram effect of window length
- Let N be the length of the window
frequency
time
- Frequency Resolution
with m depending on the window - Time resolution
6Windows
7Time/Frequency Uncertainty Principle
- either you have good resolution in time or in
frequency, not both.
good localization in time
either
...
or
good localization in freq.
8Example a Chirp
A Chirp is a sinusoid with time varying
frequency, with expression
If the frequency changes linearly with time, it
has the form shown below
9Chirp in Matlab
Fs10000 Ts1/Fs t(0999)Ts ychirp(t, 100,
t(1000), 4000) plot(t(1300), y(1300))
10Given Data
Four repetitions of a chirp
11Spectrogram of the Chirp no window
spectrogram(y, rectwin(256), 250, 256,Fs,'yaxis')
12Spectrogram of the Chirp hamming window
spectrogram(y, hamming(256), 250, 256,Fs,'yaxis')
13Spectrogram of the Chirp shorter window
spectrogram(y, hamming(64), 60,64,Fs,'yaxis')
14Spectrogram of the Chirp shorter window
spectrogram(y, hamming(64), 60,256,Fs,'yaxis')
15Spectrogram of the Chirp blackman window
spectrogram(y, blackman(256), 250,
256,Fs,'yaxis')
16Sealion
17Spectrogram of Sealion hamming window
spectrogram(y(200112000), hamming(256), 250,
256,Fs,'yaxis')
18Spectrogram of Sealion no window
spectrogram(y(200112000), rectwin(256), 250,
256,Fs,'yaxis')
19Spectrogram of Sealion blackman, longer
spectrogram(y(200112000), blackman(512), 500,
512,Fs,'yaxis')
20Music
spectrogram(y(200112000), blackman(512), 500,
512,Fs,'yaxis')
21Spectrogram
spectrogram(y(1200122000), hamming(256), 250,
256,'yaxis')
22Spectrogram zoom
spectrogram(y(1200122000), hamming(256), 250,
256,'yaxis')
Not enough frequency resolution!
23Frequencies we expect to see
Since this signal contains music we expect to
distinguish between musical notes. These are the
frequencies associated to it (rounded to closest
integer)
C Db D Eb E F Gb G Ab A Bb B
262 277 294 311 330 349 370 392 415 440 466 494
Notes
Freq. (Hz)
Desired Frequency Resolution
This yields a window length of at least N1024
Note the slide in the video has a typo,
showing the inequality reversed.
24Spectrogram longer window
spectrogram(y(1200122000), hamming(1024), 1000,
1024,'yaxis')
25Spectrogram longer window (zoom)
spectrogram(y(1200122000), hamming(1024), 1000,
1024,'yaxis')
26Spectrogram recognize some notes
spectrogram(y(1200122000), hamming(1024), 1000,
1024,'yaxis')
Closest Notes
E 330Hz, 660Hz
D 294Hz, 588Hz
27Check with the Music Score
E
E
B
D
D
A