LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Filtering waveform?

I have multiple waveform data and i´d like to filter it before saving it to spreadsheet file because otherwise the file size is too big. I tought i use Chebyshev low pass filter. What is the best way to do this? Any examples would be nice because i haven´t been using lab view a lot.

Thank you.
Timo
0 Kudos
Message 1 of 5
(3,399 Views)
If your waveform(s) use the Waveform Data Type (WDT) you can use the high-level Digital IIR Filter.vi located in your Analyze>>Waveform Conditioning palette. This VI offers you different standard filter configurations including Bessel.

If your data are not represented using the WDT (that is you only have an array of data), I'd suggest you to "make them to" using the Build Waveform primitive located in the Wavefom palette. Enter the reverse of your sample rate (1/Fsampling) to the "dt" terminal and your data array to the "y" terminal.

If you want to stay with array instead of WDT, the same filter VIs are also available in the Analyze>>Signal Processing>>Filters palette.

But note that filtering a signal will not by itself reduce the amount of data. If you wa
nt to reduce your file size you'll have to decimate your data, so you may want to consider re-sampling VIs like the one also located in the Analyze>>Waveform Conditioning palette (LabVIEW 7.0).

There are examples on how to use all these different VIs installed with LabVIEW. Use the examples finder (Help ... Find examples...).
0 Kudos
Message 2 of 5
(3,399 Views)
How can i do re-sampling in LabVIEW 6.1?
0 Kudos
Message 3 of 5
(3,399 Views)
LabVIEW 6.1 offers some few resampling options with the low level VIs. (Linear and Spline interpolation). See for example the VI attached to this reply:

http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=137&HOID=506500000005000000CE580100&HTHREAD=000088270&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0
0 Kudos
Message 4 of 5
(3,399 Views)
A correction to my previous comment. Linear or Spline interpolation is not the way to go if you wish to decimate your data. The correct technique is, as you mention, to filter your signal before data decimation (dropping samples).

You are considering to use a Bessel filter. I assume this is because you want to minimize the time domain distortion of your signal. This could work but Bessel filters are not very steep and it will be difficult to keep a reasonable bandwidth and protect against aliasing at the same time.

I would recommend you to use an FIR filter instead of the IIR-Bessel filter. The FIR filter is phase linear and well-suited for data decimation. You'll find the high-level VI in the Analyze>>Waveform Conditionning palette.

0 Kudos
Message 5 of 5
(3,399 Views)