Summary: This module contains 55 online signal processing simulations created in National Instruments LabVIEW. These simulations provide examples to textbook signal processing concepts. These simulations include aliasing, convolution, effects of windowing in the frequency domain, and filtering.
The Interactive Signal Processing Lab is a set of 55 simulations that illustrate signal processing concepts. These simulations were created in LabVIEW, a graphical signal processing language and can be run on the Windows operating system with the help of the Connexions LabVIEW Browser Plug-in. To download and install the free Connexions LabVIEW Browser Plug-in visit the following link: Installation Procedure for the Connexions LabVIEW Browser Plug-in... Follow the instructions there to enable the Interactive Signal Processing Lab and other online web based LabVIEW applications.
Download the simulation set which can be run and edited on your computer with LabVIEW 8.5 or newer. The Interactive Signal Processing Laboratory Simulations source code can be downloaded from this link: LV_SP_Labs_for_LV_85.zip
Download LabVIEW Source
Aliasing by Justin Romberg and Don Johnson
Signal Processing Firstby McClellan, Schafer, & Yoder - Section 4-2.3 (page 81)
Fundamentals of Signals and Systems by Kamen & Heck - Section 5.5 (page 236)
Signal Processing and Linear Systems by Lathi - Section 5.3 (page 557)
A Signal's Spectrum by Don Johnson
Select different wave types and frequencies.
Compare the plots.
Amplitude Modulation by Don Johnson
Signal Processing First by McClellan, Schafer, & Yoder - Section 3-2.3 (page 41) - Section 12-2 (page 358)
Fundamentals of Signals and Systems by Kamen & Heck - Section 6.1 (page 252)
Signal Processing and Linear Systems by Lathi - Section 4.7-2 (page 282)
Autocorrelation of Random Processes by Michael Haag
Signal Processing and Linear Systems by Lathi - Section 3.2-2 (page 182)
Set the Noise Amplitude slider to 0 and change the Frequency slider. The Autocorrelation graph displays a clean autocorrelation plot for the respective frequency.
Gradually increase the Noise Amplitude slider and observe the changes to the Autocorrelation graph.
Try different signals, frequencies, and noise amplitudes. Compare the differences between the autocorrelation plots.
Select different signal frequencies.
Compare the plots.
Not available at this time.
Set the Bandwidth % spin box to 3%.
Run an execution cycle and compare the response of both techniques in low and high frequencies using the zoom tool.
Change the Bandwidth % spin box to higher and lower values between the range of 0.5 to 23.0% and compare the responses, running a few cycles.
Set the Bandwidth % spin box to 0.622%. This obtains the same number of lines as constant bandwidth spectrum (512). Again compare the plots.
Until recently, frequency analyzers had two problems when calculating a spectrum using the Fourier transform (FT). First, the digital processors embedded in frequency analyzers were too slow. Second, the algorithm for calculating the FT was not efficient. Due to this analyzers used analog filters to calculate spectra.
Analyzers used two kinds of filters—the constant absolute bandwidth filter and the constant relative (percentage) bandwidth filter. Both are bandpass filters. The difference is that the constant absolute bandwidth filter provides uniform resolution and separation on a linear frequency scale and the constant relative (percentage) bandwidth filter provides uniform resolution on a logarithmic frequency scale.
Signal Processing First by McClellan, Schafer, & Yoder - Section 11-6.2 (page 327)
Fundamentals of Signals and Systems by Kamen & Heck - Section 4.4 (page 186)
Signal Processing and Linear Systems by Lathi - Section 4.3-6 (page 263)
Graphical Convolution Algorithm by Richard Baraniuk
Signal Processing First by McClellan, Schafer, & Yoder - Section 5-6.1 (page 118)
Fundamentals of Signals and Systems by Kamen & Heck - Section 4.4 (page 186)
Signal Processing and Linear Systems by Lathi - Section 2.4-1 (page 120)
Using the spin boxes, select a delta function for both Signal X Type and Signal Y Type. Notice the signals are displayed in both the Signal X and Signal Y plots.
Using the slider, slowly move the Convolution Slide to the right. The Signals to Convolve plot shows the sliding of Signal Y, which is flipped horizontally, across Signal X.
Notice that the Convolution (X*Y) plot is 0 until there is overlap of the signals in the Signals to Convolve plot. Once there is overlap, the result of the convolution is nonzero. You may view this result in the Convolution (X*Y) plot.
Using the slider, move the Convolution Slide back to the far left.
Repeat steps 1 and 2 with different combinations of signals.
Crosscorrelation of Random Processes by Michael Haag
Signal Processing and Linear Systems by Lathi -Section 3.2 (page 177)
Signal Processing First by McClellan, Schafer, & Yoder -Section 7-5.3 (page 175)
Select Square from the Original Signal X spin box.
Select Hanning from the Weight Y spin box.
Observe how the signal in the Acquired Signal (Convolution X * Y) plot has rounded edges. This is due to the weight function. Notice the deconvolved signal in the Deconvolved Signal X plot is squared again.
Try different signals and frequencies and observe how well deconvolution works in each case.
Useful Signals by Melissa Selik and Richard Baraniuk
Signal Processing First by McClellan, Schafer, & Yoder -Section 5-3.2.1 (page 107)
Fundamentals of Signals and Systems by Kamen & Heck -Section 1.3 (page 20)
Signal Processing and Linear Systems by Lathi -Section 2.3 (page 115)
Even and Odd Signals by Harika Basana
Signal Processing First by McClellan, Schafer, & Yoder -Section 2-2 (page 10)
Fundamentals of Signals and Systems by Kamen & Heck -Section 4.3 (page 172)
Signal Processing and Linear Systems by Lathi -Section 1.5 (page 75)
Set the Phase slider to 90° and –90° to obtain even functions.
Change the Phase slider to 0° and 180° to obtain odd functions.
Compare the plots.
Signal Processing First by McClellan, Schafer, & Yoder -Chapter 11 (page 307)
Fundamentals of Signals and Systems by Kamen & Heck -Section 4.3 (page 181)
Signal Processing and Linear Systems by Lathi -Chapter 4 (page 235)
References
Signal Processing First by McClellan, Schafer, & Yoder -Section 11-4.1.1 (page 173)
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.3 (page 173)
Select different values in the FFT Size spin box and compare the plots. Notice that the lower the FFT Size, the lower the resolution.
Reduce the execution speed using the Seconds to Wait slider or the Pause button to analyze the plots.
Use the zoom tools to examine specific frequencies in the spectra.
Symmetry Properties of the Fourier Series by Justin Romberg
Signal Processing First by McClellan, Schafer, & Yoder -Section 11-5.2 (page 325)
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.3 (page 172)
Signal Processing and Linear Systems by Lathi-Section 3.5 (page 213)
Fourier Series Properties by Justin Romberg and Benjamin Fite
Signal Processing First by McClellan, Schafer, & Yoder -Section 11-4.5 (page 318)
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.4 (page 175)
Signal Processing and Linear Systems by Lathi-Section 4.1 (page 240)
Using the Frequency of Signal 1 and Frequency of Signal 2 sliders, select different frequency values for Signal 1 and Signal 2. Compare the frequency spectra plots.
Using the Frequency of Signal 1 and Frequency of Signal 2 sliders, set equal frequency values for Signal 1 and Signal 2. Observe how the amplitude of the combined signals is double the frequency spectrum of the original signals.
Properties of the Continuous-Time Fourier Transform by Melissa Selik and Richard Baraniuk
Signal Processing First by McClellan, Schafer, & Yoder -Section 11-5.1 (page 322)
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.4 (page 177)
Signal Processing and Linear Systems by Lathi-Section 4.3-3 (page 255)
Fourier Series Properties by Justin Romberg and Benjamin Fite
Signal Processing First by McClellan, Schafer, & Yoder -Section 11-7.1 (page 332)
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.4 (page 176)
Signal Processing and Linear Systems by Lathi-Section 4.3-4 (page 257)
Select different values using the Phase slider. Observe the effect on the real and imaginary components of the signal in the Frequency Spectrum plot.
Try selecting phase values of 0°, 45°, 90°, -90°, and 180° in the Phase slider.
Now select different frequency values using the Frequency slider. Notice the effect on the real and imaginary components of the signal.
Filter Design by Windowing by Hyeokho Choi
Signal Processing First by McClellan, Schafer, & Yoder -Section 5-3 (page 105)
Fundamentals of Signals and Systems by Kamen & Heck-Section 12.4 (page 639)
Signal Processing and Linear Systems by Lathi-Section 4.9 (page 300)
For the same type of filter, change the value of the Low Frequency Cutoff and High Frequency Cutoff sliders and observe the behavior.
Keeping all else constant, change the Window spin box to different window types. Notice the effect the different windows have on the Frequency Spectra and Phase Spectra plots.
Keeping the window constant, change the value of the Taps spin box. Notice that the number of poles increases when the number of taps are increased and vice versa.
Compare the Frequency Spectra plots in both linear and logarithmic scales by switching the Magnitude Display.
Not available at this time.
Every filter, regardless of type or characteristics, requires time to respond when a signal is passed through it. This is necessary because of the need to perform calculations over the input signal in order to do the filtering.
During this response time, the filter output contains errors. These errors gradually disappear until the expected response is achieved.
Signal Processing First by McClellan, Schafer, & Yoder -Section 3-8 (page 61)
Fundamentals of Signals and Systems by Kamen & Heck-Section 6.1 (page 257)
Signal Processing and Linear Systems by Lathi-Section 4.8 (page 289)
Set the Frequency of Tone slider to 10 Hz, the Frequency of Carrier slider to 60 Hz, and the Modulation Index slider to 0.50.
Gradually change the Frequency of Carrier slider to different values. Notice the change in the Frequency Spectrum plot.
Select different values for the Modulation Index slider. Compare the plots obtained.
Select different values for the Frequency of Tone slider. Again, compare the plots obtained.
Amplitude Modulation by Don Johnson
Signal Processing Firstby McClellan, Schafer, & Yoder -Section 12-2 (page 358)
Fundamentals of Signals and Systems by Kamen & Heck-Section 6.1 (page 252)
Signal Processing and Linear Systems by Lathi-Section 4.7 (page 277)
IIR Filtering: Introduction by Douglas Jones, et al.
Signal Processing First by McClellan, Schafer, & Yoder -Chapter 8 (page 196)
Fundamentals of Signals and Systems by Kamen & Heck-Section 12.2 (page 618)
Keeping all other settings the same, compare different filter designs.
For the same filter design, change the Order spin box and observe the behavior.
Using the Sideband Attenuation slider, select different filter attenuations and compare the responses.
Switch the Magnitude Display and between the Linear and Logarithmic scales and observe the differences.
Fundamentals of Signals and Systems by Kamen & Heck-Section 7.2 (page 319)
Signal Processing and Linear Systems by Lathi-Section 4.9 (page 302)
Signal Processing First by McClellan, Schafer, & Yoder -Section 10-1.1 (page 288)
Fundamentals of Signals and Systems by Kamen & Heck-Section 9.5 (page 475)
Signal Processing and Linear Systems by Lathi-Section 7.2 (page 477)
Compare the Linear Frequency Plot and the Logarithmic Frequency Plot.
Using the zoom tool, better examine the higher and lower frequencies.
Filter Types by Anders Gjendemsjo
Signal Processing First by McClellan, Schafer, & Yoder -Section 10-3.2 (page 296)
Fundamentals of Signals and Systems by Kamen & Heck-Section 5.4 (page 223)
Signal Processing and Linear Systems by Lathi-Section 7.4-2 (page 500)
Signal Processing First by McClellan, Schafer, & Yoder -Section 5-2 (page 102)
Set the Pulse Amplitude slider to 10 and the Pulse Width slider to 15. Observe the estimated parameters of Amplitude, Width, and Delay.
Set the Noise Level slider to 0, 1, and 2. Observe how it affects the original signal (green signal) and the estimated parameters of Amplitude, Width, and Delay.
Set the Filter Rank slider to 1, 5, 10, 15, and 20. Observe the change in the filtered signal (red signal) and the estimated parameters of Amplitude, Width, and Delay.
Not available at this time.
The pattern formed by graphing the x and y coordinates of a point on a rotating object is an orbit. Orbits are commonly used in the alignment of rotating shafts.
Parseval's Theorem by Don Johnson
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.4 (page 187)
Signal Processing and Linear Systems by Lathi-Section 4.6 (page 275)
Allow the simulator to run for a few seconds. Observe Parseval's Theorem and notice that the two values are equal. Click the Pause button to examine the simulation in more detail.
Change the Frequency slider and Input Signal spin box. Notice that these changes have no effect Parseval's Theorem. The two values are still equal.
Signal Processing First by McClellan, Schafer, & Yoder -Chapter 11 (page 307)
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.3 (page 181)
Signal Processing and Linear Systems by Lathi-Chapter 4 (page 235)
Signal Processing and Linear Systems by Lathi-Section 5.2 (page 340)
Set the Window spin box to None. Change the Frequency slider and observe the plots and Line Magnitude indicators.
Compare the 100 Hz and 101 Hz peak amplitudes when the frequency is near to 100 Hz, 100.5 Hz, and 101 Hz.
Move the Phase slider and observe how it affects the plots.
Repeat steps 1 through 3 selecting different windows in the Windows spin box.
Set the Frequency slider to 100 Hz and the Window spin box to None. Observe the single large pulse at 100 Hz in the Enhanced Frequency Spectrum plot. Now change the Window spin box, and observe the noise introduced because of the equivalent noise bandwidth value of that window.
Fundamentals of Signals and Systems by Kamen & Heck-Section 9.5 (page 472)
Select different values for C/Cc.
Observe the plots.
Signal Processing First by McClellan, Schafer, & Yoder -Section 3-2.2 (page 40)
Properties of the Continuous-Time Fourier Transform by Melissa Selik and Richard Baraniuk
Signal Processing First by McClellan, Schafer, & Yoder -Section 11-7.2 (page 333)
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.4 (page 183)
Signal Processing and Linear Systems by Lathi-Section 4.3-7 (page 264)
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.4 (page 184)
Signal Processing and Linear Systems by Lathi-Section 4.3-7 (page 264)
Click the Pause button to pause the execution.
Use the zoom tools to compare the random and integrated signal plots.
Resume the simulation and repeat step 1 for different signal types.
Signal Processing First by McClellan, Schafer, & Yoder -Section 5-4.2 (page 111)
Signal Processing and Linear Systems by Lathi-Section 6.7 (page 426)
Set the Input Signal Frequency slider to 10 Hz. Notice that the simulation computes 500 samples and then updates the Signal In plot based on the value of the Input Signal Frequency slider. Therefore, when the Input Signal Frequency slider is changed, there is a delay before the Signal In plot updates.
Change the value of Constant A to 0.1. Observe how the value of Constant A changes the value of Constant B.
Change Constant A to 0.001, 0.010, 0.1 and 1. Observe the change in Output.
Set the Input Signal Frequency slider to 20 Hz, 30 Hz, 40 Hz, and 50 Hz. Observe the change in Output.
Turn on Step by step. Using the Next button, analyze the values of the filter at each step.
Square Pulse / Box Car / Unit Gate / Square Window by Richard Baraniuk
Signal Processing First by McClellan, Schafer, & Yoder -Section 11-4.2 (page 315)
Fundamentals of Signals and Systems by Kamen & Heck-Section 4.3 (page 166)
Signal Processing and Linear Systems by Lathi-Section 4.2 (page 246)
Signal Processing First by McClellan, Schafer, & Yoder -Section 4-3 (page 84)
Set the Strobe Frequency and Bar Rotation sliders to 50. The bar remains still because the strobe and the bar are at the same speed.
Using the Strobe Frequency slider, select different strobe frequencies. For example, select 49 Hz, 51 Hz, 25 Hz, and 100 Hz. Compare the behavior of the bar.
Can you explain why there are two images of the bar at a Strobe Frequency value of 100 Hz?
Aliasing by Justin Romberg and Don Johnson
Signal Processing First by McClellan, Schafer, & Yoder -Section 4-2.3 (page 81)
Fundamentals of Signals and Systems by Kamen & Heck-Section 5.5 (page 236)
Signal Processing and Linear Systems by Lathi-Section 5.3 (page 557)
Signal Processing First by McClellan, Schafer, & Yoder - Section 5-2 (page 102)
Set the Number of Averages slider to 1.
Click the Run Cycle button.
Compare the Signal + Noise plot with the Average (Signal + Noise) plot. Also compare the Spectrum (Signal + Noise) plot with the Spectrum of Average (Signal + Noise) plot.
Gradually increment the the Number of Averages slider and repeat steps 2 and 3.
Select different frequencies using the Signal Frequency slider and repeat steps 1 to 4.
Set the Signal Frequency slider to an integer value, the Noise Amplitude slider to 0, and the Clipping Level slider to its upper position.
Observe the plots, %THD, and %THD + Noise.
Add noise, clipping, and fractional fundamental frequencies. Compare the plots, %THD, and %THD + Noise.
Transfer Functions by Don Johnson
Fundamentals of Signals and Systems by Kamen & Heck-Section 8.4 (page 395)
Signal Processing and Linear Systems by Lathi-Section 2.4-3 (page 138)
Set Window Type to None and select different transient signal frequencies.
Select different windows and observe how each window affects the transient signal. Pay careful attention to the Transient x Window and Frequency Spectrum plots.
Fundamentals of Signals and Systems by Kamen & Heck-Section 9.5 (page 465)
Signal Processing and Linear Systems by Lathi-Section 7.2 (page 477)
Signal Processing First by McClellan, Schafer, & Yoder -Section 13-3 (page 393)-Section 13-4 (page 397)
Fundamentals of Signals and Systems by Kamen & Heck-Section 12.4 (page 639)
Signal Processing and Linear Systems by Lathi-Section 12.8-1 (page 762)
Set the Fine Frequency slider to 0 Hz and set the Window spin box to None. Setting the Fine Frequency slider to 0 Hz avoids leakage.
Increase the Fine Frequency slider and notice the decrease in the Amplitude.
Select different window types in the Window spin box. Compare Amplitude and % Error.
Signal Processing First by McClellan, Schafer, & Yoder -Section 13-3 (page 393)-Section 13-4 (page 397)
Fundamentals of Signals and Systems by Kamen & Heck-Section 12.4 (page 639)
Signal Processing and Linear Systems by Lathi-Section 12.8-1 (page 762)
Select different characteristics for the amplitude and frequency of the two signals.
Select different pairs of windows and compare both their amplitude and resolution.
Try signals with leakage (non-integer frequencies) and without leakage (integer frequencies).
Set the Signal 1 Frequency and Signal 2 Frequency sliders to similar values. Use the zoom tool to analyze the resolution.
Signal Processing First by McClellan, Schafer, & Yoder -Section 13-3 (page 393)-Section 13-4 (page 397)
Fundamentals of Signals and Systems by Kamen & Heck-Section 12.4 (page 639)
Signal Processing and Linear Systems by Lathi-Section 12.8-1 (page 762)
Signal Processing First by McClellan, Schafer, & Yoder -Section 13-3 (page 393)-Section 13-4 (page 397)
Fundamentals of Signals and Systems by Kamen & Heck-Section 12.4 (page 639)
Signal Processing and Linear Systems by Lathi-Section 12.8-1 (page 762)
Set the Window spin box to None and the Percentage of Overlap slider to 0. Observe that the windows are not overlapped and the result is a straight line.
Change the Window spin box to Hanning and notice the difference.
Gradually increase the percentage of overlap and observe the plot. Notice what happens to the amplitude of the yellow line when the Percentage of Overlap is over 50%.
Try different windows and compare the results.
Signal Processing First by McClellan, Schafer, & Yoder -Section 13-3 (page 393)-Section 13-4 (page 397)
Fundamentals of Signals and Systems by Kamen & Heck-Section 12.4 (page 639)
Signal Processing and Linear Systems by Lathi-Section 12.8-1 (page 762)
Signal Processing First by McClellan, Schafer, & Yoder -Section 13-3 (page 393)-Section 13-4 (page 397)
Fundamentals of Signals and Systems by Kamen & Heck-Section 12.4 (page 639)
Signal Processing and Linear Systems by Lathi-Section 12.8-1 (page 762)
Set the Frequency slider to 10.4 Hz.
Change the Window spin box and compare the plots. Also compare the Equivalent Noise Bandwidth and Coherent Gain values.
Use the zoom tools to view the frequency spectrums near the 10.4 Hz peak. Compare the peak width when using different windows. Which window produces the best resolution (less width) in the peak?
"This module contains 55 online signal processing simulations created in LabVIEW that cover topics such as convolution, windowing, filtering and more."