LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

maximum peak frequency

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?

 

TQSmiley Happy

 

 

 

0 Kudos
Message 1 of 8
(4,711 Views)

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.

Message 2 of 8
(4,698 Views)

You could also first eliminate the dc offset in your signal and then use the array max/min.

Message 3 of 8
(4,686 Views)

Try Tone Measurement Express VI.

Message 4 of 8
(4,676 Views)

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 ..

 

TQSmiley Sad

 

0 Kudos
Message 5 of 8
(4,634 Views)

'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.

0 Kudos
Message 6 of 8
(4,626 Views)

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?

0 Kudos
Message 7 of 8
(4,578 Views)

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

0 Kudos
Message 8 of 8
(4,564 Views)