LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Filter design for low freq.signal prior to integration to velocity and displacem

Hi,

 

I have a problem with filtering of my acceleration signal before integration them (twice). My range of frequencies of interest is too close to DC and I have to suppress DC component and low frequencies near by DC. My accelerometer sensors are moving slowly on sine wave, from 0.7 to 3.0 Hz and I am trying to use IIR filter before integration acceleration signal to velocity, and then do filtering before integration velocity to displacement. I am trying to use and design IIR ButterWorth or InvChebyshev bandpass or highpass filters (lowcutoff=0.5Hz,highcutoff=40Hz), but I have bad results and displacement amplitudes have disturbances and are not stable. Maybe I should use FIR highpass before any other filtering, but I am not sure if it is good for continuous data processing what I am going to do. I read data with sampling frequency 1024Hz and I do all analysis on data block with 5120 samples. DC component in analog signal is much higher than measured signal (signal is superposed on DC voltage). I found some examples on NI web site similar to this what I need, but it was allways examples for LabView and with Sound and Vibration Toolkit, not for CVI.

I don't have expertise with digital filter design and I will appreciate any help. It is very important for me.

 

Thank You very much for help.

 

Robert.

 

0 Kudos
Message 1 of 7
(4,775 Views)

Robert,

 

Can you post a link to the LabVIEW examples you found?  Seeing those would help me better understand what you're trying to do so that I can help you achieve the same result in CVI.

Eric B.
National Instruments
0 Kudos
Message 2 of 7
(4,743 Views)

Yes, of course.

here are some links:

 

-  http://zone.ni.com/devzone/cda/tut/p/id/4989 (here i see on the picture fundamental frequency 20Hz, higher then i need)

 

- here is an example of processing of low frequency signal: http://zone.ni.com/devzone/cda/tut/p/id/6349 (LabVIEW for ECG Signal Processing)

 

- this is not exactly what i need, but can help : http://zone.ni.com/devzone/cda/tut/p/id/4093 (Signal Processing Eases Vibration Transducer Selection)

 

- Attached are two *.vi sources for LabView, but I don't know website from which I it saved.

- Also, I attached simple program which I use for playing with data and testing different methods. It look not very nice, I placed controls on uir on any free place :-). Therefore i wrote quick instructions on the top of C file.

 

Thank You very much for help.

 

Robert.

 

0 Kudos
Message 3 of 7
(4,732 Views)

Robert,

 

Thanks for the links and the code.  I didn't realize you already had the code all written and that you were looking for advice on your filter design.  Unfortunately, I don't have a lot of experience in filter design, so I don't know how much help I'll be with that.  CVI does have shipping examples that show how to use the filter functions you are looking at.  If you open the example finder (Help»Find Examples), then use the search tab and search for "filter", you'll find an example of how to use the IIR filter functions (iirfiltr.cws).

 

Anyone else have filter design experience that could take a look at Robert's code?

Eric B.
National Instruments
0 Kudos
Message 4 of 7
(4,711 Views)

Hi Matina,

 

I am the Pittsburgh Field Engineer for National Instruments and have been in contact with some of your colleagues. Feel free to call me at 412-266-6634 to discuss the application. I know some people at NI who are keen to assist.

 

Best,

Evan Robinson

--
Evan Robinson
Field Engineer | National Instruments | Western PA and WV
evan.robinson@ni.com
Phone / SMS: 412-266-6634

Join the LabVIEW Western PA User's Group at http://www.ni.com/wpa

0 Kudos
Message 5 of 7
(4,697 Views)

Eric,

 

Thank you very much for your effort and time. I know this "iirfiltr" example. But it is simple example of how to use IIR filter in CVI. I can not use it for design of filter for my apllication. Yes, I have program which does the iir filtering, but I was looking for help, because it doesn't work as I expect. I don't know which one should be best for me: IIR or FIR, InvChebyshev, ButterWorth, filter order,.... I am trying different types and filter settings but without success. My displacement has still low frequency movement (floating DC) and amplitude of displacement is changing with frequency. Maybe caused by non-linear phase of IIR filter. Also, phase of displacement is changed so much that my displacement is again sine wave instead of -sine (not 180 degrees).

 

Once again , thank you very much.

 

Robert.

 

0 Kudos
Message 6 of 7
(4,688 Views)

Now I see, that I forgot attach data file which I use with my testing program :-))

Here is it:

0 Kudos
Message 7 of 7
(4,687 Views)