Digital signal processing demos

A fairly large number of signal processing applications are represented in this library.

AdaptFilter
An LMS adaptive filter converges so that its transfer function matches that of a fixed FIR filter.
AllPole
Two realizations of an all-pole filter are shown to be equivalent. One uses an FIR filter in a feedback path, the other uses the AllPoleVar primitive.
AnimatedLMS
An LMS adaptive filter is configured as in the AdaptFilter demo, but this time the filter taps are displayed as they adapt.
AnimatedLMSCx
A complex LMS adaptive filter is configured as in the AdaptFilter demo, but in addition, user-controlled noise is added to the feedback loop using an on-screen slider to control the amount of noise. The filter taps are displayed as they adapt.
cep
Given the coefficients of any polynomial, this demo uses the cepstrum to find a minimum-phase polynomial. Thus, given the coefficients of the denominator polynomial of an unstable filter, this demo will compute the coefficients of a stable denominator polynomial that has the same magnitude frequency response.
chaos
This is a simple demonstration of chaos, in which the phase-space plot of the famous Henon map is given.
convolve
Convolve two rectangular pulses in order to demonstrate the Convolve primitive.
dft
Compute a discrete Fourier transform of a finite signal using the FFTCx primitive. The magnitude and phase (unwrapped) are plotted.
doppler
A sine wave is subjected to four successive amounts of doppler shift. The doppler shift is accomplished by the phaseShift module, which forms an analytic signal (using a Hilbert transform) that modulates a complex exponential.
dtft
Demonstrate the DTFTCx primitive, showing how it is different from the FFTCx primitive. Specifically, the range, number, and spacing of frequency samples is arbitrary.
freqsample
This system designs FIR filters using the frequency sampling method. Samples of the frequency response are converted into FIR filter coefficients.
iirDemo
Two equivalent implementations of IIR filtering.
LatticeDemo
Demonstrate the use of lattice filters to synthesize an auto-regressive (AR) random process.
latticeDesign
Use of Levinson-Durbin algorithm to design a lattice filter with a specified transfer function.
LevinsonDurbin
Use the Levinson-Durbin algorithm to estimate the parameters of an AR process.
linearPrediction
Perform linear prediction on a test signal consisting of three sinusoids in colored, Gaussian noise. Two mechanisms (Burg's algorithm and an LMS adaptive filter) for linear prediction are compared.
OverlapAddFFT
Convolution is implemented in the frequency domain using overlap and add.
phasedArray
Simulate a plane wave approaching a phased array with four sensors. The plane wave approaches from angles starting from head on and slowly rotating 360 degrees. The response of the antenna is plotted as a function of direction of arrival in polar form.
powerSpectrum
Compare three methods for estimating a power spectrum of a signal with three sinusoids plus colored noise. The three methods are the periodogram method, the autocorrelation method, and Burg's method.
timeVarSpec
A time-varying spectrum is computed using the autocorrelation method and displayed using a waterfall plot.
window
Generate and display four window functions and the magnitude of their Fourier transforms. The windows displayed are the Hanning, Hamming, Blackman, and steep Blackman.