11-05-2007 02:10 PM
11-05-2007 03:50 PM
One possible starting point might be the 'Wav File Player.VI' example.
This example loads a WAV file and processes it into an array. You can then take this array data, and iterate through it feeding blocks of input samples into an FFT.
Before doing this you need to apply the appropriate window function to the block of data (Hanning). These functions already exists as Vi's (they may not be in student versions but they are very straight forward to code).
Each block length will be the sample period and its sort of assumed that the amplitude and frequency would be static over this sample (which it probably is not). Then you take the output from the FFT blocks and store each succesive block it into say a 2D array. You might want to remove the imaginary data from the real data at this point as well. Now you have slices of FFT data in the 2D array. The output block consists of frequency bins and amplitudes of interest and each of which represents a period of time equal to the number of input samples multiplied by the sampling period. The block lengths are selected based on the frequencys and times that you need to work with.
You can now look into each slice in the 2D array or plot them on say an intensity chart or some other representation more suitable.
I suspect that alternative analysis techniques might be better and you may want to consider the Sound and Vibration Toolkit sold by NI for more advanced analysis tools. This will save you hours if you need more advanced analysis tools.
I hope this helps you on your way.