The goal of this assignment is to teach you the fundamentals of
ISIP foundation class (IFC) programming. Information about the
foundation classes
is available on-line.
Generate 10 seconds of Gaussian random noise with zero mean and
unit variance using a sample frequency of 8 kHz, and write it to
an Sof file as a VectorFloat.
Read the signal from this file into a VectorFloat, and compute
a Fourier Transform on 30 msec windows of the data using a
non-overlapping window. Compute the average spectrum by averaging
the spectrum from each window in the log domain (dB) and plot on
a dB scale.
Repeat for a signal consisting of the sum of four sinewaves at
frequencies of 500, 1000, 2000, and 3000 Hz (use an amplitude of 1.0).
Repeat for a signal consisting of Gaussian white noise filtered
through a simple first-order lowpass filter.
You can use the utility xmgr to plot the frequency response. Axes
for the plots should be labelled in meaningful units (dB and Hz).
Next, familiarize yourself with isip_display_signal by doing the following:
Locate the TIDIGITS database at /isip/d00/tidigits.
Browse the database using the load command.
Select a waveform file, load it into the tool, and display
the spectrogram.
Experiment with the spectrogram and audio capabilities.
Isip_display_signal is a useful program for displaying and manipulating
speech data.