10-09-2010 04:41 AM
Hello..
I'm a user of NI product (LABVIEW 8.5).
My problem is, i'm using DAQ VI that read the signal from the hardware and then i transfrom it into frequency domain by using FFT.
In the frequency domain, i get a graph with a set of different frequency. Here is the set of data
1. At freq= 0Hz, magnitude= 23 - this is the offset
2. At freq= 20Hz, magnitude= 5
3. At freq= 35Hz, magnitude= 18
4. At freq= 55Hz, magnitude= 10..
So, which VI should I use so that it will display the frequency of 35Hz which contain the maximum peak frequency of my signal?
TQ
10-09-2010 09:53 AM - edited 10-09-2010 09:54 AM
Index Array.
Or you could use Array Subset to get the whole array but the very first element. Then use Array Max/Min to get the maximum.
10-09-2010 11:24 AM
You could also first eliminate the dc offset in your signal and then use the array max/min.
10-09-2010 07:44 PM
Try Tone Measurement Express VI.
10-11-2010 09:34 PM
we already try to use subset array and tone measurement, but it's still not functioning in the way that desired..This is because our output from FFT is in graph form, then we use peak detector to get the peak as shown before..
In graph form, output from peak detection are:
1. At freq= 0Hz, magnitude= 23 - this is the offset
2. At freq= 20Hz, magnitude= 5
3. At freq= 35Hz, magnitude= 18
4. At freq= 55Hz, magnitude= 10..
The rest is 0 magnitude.
however, we want it to display the maximum peak (35Hz), not all the peaks detected ..
TQ
10-11-2010 10:15 PM
'Graph form' is an array - either directly or as part of the waveform data type so you are going to have to post your code. Ve sure to save it with actual data. Run it and then go to the edit menu and select Make current values default;. Save that and attach.
10-14-2010 09:32 PM
This is our VI..Our system frequency is 9Hz,which is with the highest amplitude since 0Hz is offset..How to make an output which is able to display the 9Hz?
10-15-2010 08:36 AM
1. It appears that your frequency resolution is 1 Hz. For FFT based systems df = fs/N. To get finer resolution you need more data points (increase N). You can either take more samples, although the insects might not cooperate, or you can pad the data. The FFT.vi will do that internally just by changing the FFT size input to a value larger than the number of samples in the dataset.
Your saved data has 3000 points and you get two outputs (at 8 and 9 Hz) to represent that peak. Changing the size to 15000 results in 7 points in a peak at about 8.6 Hz.
2. Your data looks very strange. It appears that about 40% of the input data is saturated at amplitude = 0.21. This has to distort your results far beyond the DC offset. You cannot do anything about that after the data has been recorded because all the information is lost in the saturated intervals. Please check the gain of your preamplifier.
Lynn