LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Filtering a waveform before decimation

I'm acquring data from a PXI 4472 card at it's maximum rate of 102400 samples/sec. Some analysis is done at that high sample rate, but then I need to downsample to 2048 to generate an FFT of the 0-1024 Hz frequency content. 

 

To do this, I know I need to pass the waveform through an anti-aliasing filter (aka bandwidth limit, aka low pass filter) and then decimate.

 

I understand the decimation process, but I'm having trouble find the best method for implementing a low pass filter on a waveform. I've played around with the IFIR and Resample (constant to constant) Vi's. I really like the IFIR VI because I can describe the fitler directly from the desired filter perfomance, but how would one apply it to a waveform? 

 

Would I simply break the waveform into components and inject the 'Y' array? Am I on the right path here? I know this is a very common problem. What is the 'recomended' methods for doing something like this?

0 Kudos
Message 1 of 2
(2,517 Views)

Hi,

 

You are definitely on the right path. You need to first extract the Y component of your wavefrom before passing it to a filter VI. I've attached an example VI that uses a low pass filter to filter out the noise from a sine waveform.

 

Sev K.
Senior Systems R&D Engineer | Wireless | CLA
National Instruments
0 Kudos
Message 2 of 2
(2,489 Views)