LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Peak accuracy

Hi,

 

I have some question.

 

I want to detect the peak accurately, I have filter the signal but there is still noise.

Picture.png

0 Kudos
Message 1 of 10
(4,094 Views)

Hi Learners,

                    Can you post your VI?

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Thanks as kudos only:)
0 Kudos
Message 2 of 10
(4,079 Views)

You are seeing aliased noise due to improper acquisition. You need an antialias (low-pass) filter on your incoming signal to reduce the noise levels.

 

If you can't do this then you need to filter your digitised signal much harder to remove the noise, otherwise it will always influence your signal and affect your peak amplitude measurements.

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 3 of 10
(4,066 Views)

Hi danil33,

 

graph.png

0 Kudos
Message 4 of 10
(4,063 Views)

Averaging 50 rows isn't proper filtering, although it will help it doesn't necessarily remove the high frequency components. Use a low-pass filter on the selected row to reduce the higher frequency components. You may need to play around with the cut-off frequency to determine which value works best.

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 5 of 10
(4,059 Views)

Hi Thoric,

 

Thank for your advice. Is there anyway to calculate the cut-off frequency?

0 Kudos
Message 6 of 10
(4,051 Views)

Yes. The filtering tools work on a frequency basis, so the signal needs to have a time-base. In your original plot this is the x-axis. If you have no time-base already, you can set any arbitrary time-base you please and the low-pass filter frequency can be determined from a little sensible consideration of the observable frequencies in the signal.

 

For example, if we suggest that your time axis is in milliseconds, then the low frequency undulations are of the order of 5 Hz (as there are about five peaks in 1000 samples = 1000ms). Therefore, set the low pass filter cut-off frequency to around 20 Hz, and ensure the time-base is 1 ms per sample.

 

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 7 of 10
(4,045 Views)

Hi Thoric,

 

I don't understand why set the low pass filter cut-off frequency to around 20 Hz? Can you explain to me I am new to this.

0 Kudos
Message 8 of 10
(4,040 Views)

Basically, you need to assign a time-base to your signal. That then allows the acquired signal to be analysed in the time-domain. If we say each sample point is equal to 1 millisecond, then your 1,300 samples equates to 1.3 seconds of data. Looking at the large undulations (waves) in your signal, there are about 5 peaks in about 1 second (1000 samples) of data, so therefore they equate to about a 5 Hz frequency.

 

To filter out everything above that 5 Hz frequency, we need to perform a low pass filtering of the signal with a cut-off frequency somewhere above 5 Hz. Therefore, choosing a frequency of 20Hz will be sufficient to ensure the information you want to keep is not filtered out.

 

It may be that 10Hz, or even 6Hz, will be good enough for what you need, try playing around with the cut-off frequency to see what impact the various values have. But choosing a value too close to the frequency of those undulations will cause their peak amplitude to be reduced a bit, which will affect your measurement.

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 9 of 10
(4,023 Views)

Hi Thoric,

 

There is a couple of low pass filter by labview. Which one do you should I use? SI Lowpass Filter VI?

0 Kudos
Message 10 of 10
(4,013 Views)