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.
Search WWH ::

Custom Search