LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FFT from File, what is wrong?

I have built the following VI to take an input wave and process it to output all the peaks of the power spectrum no one graph. The attached wave/file should come out to peaks at 655 htz, 338 htz and 718 hts with y values of 43, 43, and 41 respectively. I get the peaks at the right frequencies but no the right y values and am not sure why. Any suggestions? THanks.
Intern NSWCCD Carderock.
0 Kudos
Message 1 of 9
(4,221 Views)
here is the wave file
Intern NSWCCD Carderock.
0 Kudos
Message 2 of 9
(4,216 Views)
any ideas? Is this even possible to do using labview?
Intern NSWCCD Carderock.
0 Kudos
Message 3 of 9
(4,189 Views)
Why are you expecting to see 43, etc., as the values? In what units? What are you seeing? Reading your file and performing a power spectrum should be do able in LabVIEW.

P.M.
Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



0 Kudos
Message 4 of 9
(4,185 Views)
The units being used are Vrms^2 which is the [(amplitude of the wave * sqrt(2) /2 )]^2 . In my case the amiplitude was 10 volts so my value on the FFT should go to around 50 or somewhat close (43 is what I got in real time). Thanks for the help.
Intern NSWCCD Carderock.
0 Kudos
Message 5 of 9
(4,183 Views)
Your data has a lot of finestructure, thus you would need to integrate the areas for each peak cluster to get the real data.

Simply summing the bins in each peak gives about 63, 8.5 and 6, resp. and if you use the df for scaling, the area of the first peak cluster is about 1. (see attached image which is zoomed to the largest peak).



Do these numbers sound reasonable?

Message Edited by altenbach on 06-07-2005 02:48 PM

0 Kudos
Message 6 of 9
(4,178 Views)
Thanks for the help, but I'm actually still a bit confused. When I run an FFT in real time with the following program on waves of those frequencies, I get peaks at Y values of 50ish which seems to be in units RMS^2 as I said earlier as (10*sqrt(2)/2) ^2 is equal to 50ish. Yet when I run the signal back in my decoder I get values much smaller, such as around 1. Why the discrepancy and is there any way to convert between the two?

Thanks for the help, I'm just toally confused with this issue.

Oh and I have attached the program for real time Spectrum below.
Intern NSWCCD Carderock.
0 Kudos
Message 7 of 9
(4,154 Views)
Hi Ntlf,

It looks like you're doing pretty much the same thing in both the File to FFT.vi and qq.vi. Even if you use the same power VI and configurations, the behavior of File to FFT still exhibits the same behavior. If you are seeing the correct data in the qq.vi display, then make sure the file is actually getting saved in the way you are expecting it (make sure the data file that File to FFT.vi is correct). I would even try to do this within the same VI so you know for sure that you are processing the same data between the two sections of code.

Hope this helps,
Travis H.
LabVIEW R&D
National Instruments
0 Kudos
Message 8 of 9
(4,130 Views)
Using STFT, I found the frequency content in your signal evolves with time. That's to say, the signal to be analyzed is not stable. FFT is not suitable for such kind of signal. I attached the STFT screen shot here for your reference.
Message 9 of 9
(4,122 Views)