galentheengineer Posted November 4, 2015 Report Share Posted November 4, 2015 I've been asked by my professor to create a VI that takes a .wav file and performs short-time Fourier transform on it. Here is the link to the VI. http://puu.sh/l8jLp/4cd3dcddb5.png http://puu.sh/l8kc7/14634e764e.png One issue is that I have two power spectrums because there is no power spectrum displayed from the Auto Power Spectrum VI (I do not know what went wrong there) so I created Power Spectrum 2, which did display the power spectrum. The next task for me is to perform some spectral analysis using the power spectrum and the spectrogram. Since the power spectrum displays sharp amplitude peaks, the professor wants me to create a histogram with frequency bins to hopefully create a smoother curve to actually see at which frequencies those peaks occur (for example, he told me to sum up all the amplitudes for a range of let's say 0-10 Hz, and then for 10-20 Hz, etc). Would you have any suggestion on how I can sum up the amplitude values on LabVIEW for a certain range? For the spectrogram, the professor mentioned that it is actually a 3D representation of the sound file, with color measuring the amplitude of the signal. However, the spectrogram on the front panel is only displayed in 2D with frequency and time as the axes. How can I extract let's say the amplitude values for a certain frequency in that spectrogram? Can LabVIEW do this? Thanks all! Here is an example of the .wav file. Notice that when it's run, nothing displays on the Power Spectrum even though the VI has no errors. Normal vesicular.wav Quote Link to comment
bublina Posted November 7, 2015 Report Share Posted November 7, 2015 (edited) Since the power spectrum displays sharp amplitude peaks, the professor wants me to create a histogram with frequency bins to hopefully create a smoother curve to actually see at which frequencies those peaks occur. FFT is the simplest method to get from time space into frequency space. If you are looking for better resolution, that can better detect frequency bins, peaks, harmonics etc, look into to following: Non - parametric Minimum variance method, it uses a bank of FIR filters, that have the sum of gain equal to 1, so you supply the frequencies you want to look at, the method will calculate the FIR parameters and run the signal through it. Product is much better than FFT Parametric Look for: AR MA ARMA These methods replace the original signal in time with a massive polynom that either has pole roots or zero roots all combination (ARMA) and once you have a polynom, you can get as many samples you need and then run standard FFT on it. MUSIC This method allows you to input noise as parameter, it uses autocorrelation matrix, looks at the eigenvalues and removes the smallest as noise (kinda like edit: PCA method does), than takes the rest to reconstruct the clean signal and run FFT on it. If you have "Advanced signal processing toolkit" I think some of them are implemented there, so you should get nice frequency output with nice resolution in just one VI. Edited November 8, 2015 by bublina Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.