Graphics Programs Reference
In-Depth Information
plot(y(1:1000))
axis([0 1000 -5 5])
zeroaxes
The frequency content of this signal as a function of time can be calcu-
lated using the
specgram
function. This function uses the Short Time
Fourier Transform (STFT) technique. The STFT chops up the signal
into a series of short segments and calculates the FFT of each segment.
Each FFT becomes the estimate of the frequency content at that time.
For our example we can get a quick display by typing:
clf
specgram(y)
colormap(flipud(gray/2+.5))
colorbar
The linear increase in frequency with time is clearly displayed, although
here we have not told
specgram
what the sampling frequency is, so it
has plotted a normalised frequency scale. If we include the sampling
frequency as an input, we get the true frequencies. If you type
help
specgram
you will see that the inputs are such that the sampling fre-
quency comes third in the list, after the signal itself and the FFT size.
Here we do not want to bother about specifying the FFT size, so we can
just specify the empty matrix for that input and
specgram
will use its
default value of
NFFT = 256
:
8
specgram(y,[],Fs)
colormap(flipud(gray/2+.5))
colorbar
The frequency now goes from zero to 500 Hz.
8
Many of matlab's functions behave this way: specifying the empty matrix will
tell the function that you want to use its default value for that input.
