LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Adaptive filtering to cancel out noise from an pulse signal

I am trying to implement adaptive filtering to cancel out motion noise from a PPG signal. I am using LabVIEW 8.0, and a BNC 2120 DAQ. The reference signal used will be generated from an accelerometer. However I am not familiar with adaptive filtering and would be grateful for some help. I have tried looking at some examples but have been unable to understand. I will be very grateful for any help. 
 
Thanks
0 Kudos
Message 1 of 13
(4,326 Views)
On Aug 14, 2:10 pm, mboyz <x...@no.email> wrote:
>I am trying to implement adaptive filtering to cancel out motion&nbsp;noise from a PPG signal. I am using LabVIEW 8.0, and a BNC 2120 DAQ. The reference signal used will be generated from an accelerometer. However I am not familiar with adaptive filtering and would be grateful for some help. I have tried looking at some examples but have been unable to understand. I will be very grateful for any help.&nbsp;
>&nbsp;
>Thanks

Try comp.dsp

0 Kudos
Message 2 of 13
(4,312 Views)
What is comp.dsp?
0 Kudos
Message 3 of 13
(4,306 Views)
I have attached a flowchart of what I want to do.
 
Thanks.
0 Kudos
Message 4 of 13
(4,302 Views)
And help, PLZSmiley Sad
0 Kudos
Message 5 of 13
(4,285 Views)
It appears you want to do this real-time.  What is the rate of the pulse signal you want to clean up?  What is a PPG signal?


Randall Pursley
0 Kudos
Message 6 of 13
(4,272 Views)

Reply to

"It appears you want to do this real-time.  What is the rate of the pulse signal you want to clean up?  What is a PPG signal?

Randall Pursley "

 

Thank you for your response. Yes, this will be done in real time. A plethysmograph signal (PPG) is a signal similar to the blood pressure waveform, obtained by measuring the amount of transmitted or reflected light through perfused tissue. That is the signal obtained from finger probes that are usually placed on patients in the hospital to obtain heart rate hence a pulse rate of within the 1-2Hz range (ie 60 to 120beats/minute). However I am designing my system from a 0.5-2Hz range. However, the signal is susceptible to motion artifact. To minimise motion artifact via adaptive filtering, a signal obtained from an accelerometer is used as a reference noise signal. I hope this background helps.

http://en.wikipedia.org/wiki/Photoplethysmograph 

0 Kudos
Message 7 of 13
(4,266 Views)
Try the attached vis to see if they work.  I think they are saved off as LV 8.0

I configured the analog inputs to Dev1, ai0 - PPG, ai1 - Reference
I configured the analog output to Dev1, ao0 - Filtered PPG

The timed loop is set at a rate of 100 Hz (10 ms period).

I don't know how many taps you will need.  If you set the number of taps too high, it might not run at 100 Hz effectively.  Beta controls how fast the algorithm will respond to changes.  The higher you set Beta, the more likely the algorithm will become unstable.  If the current initial value makes the algorithm blow up, reduce it by a factor of 10 and try again.



Randall Pursley
0 Kudos
Message 8 of 13
(4,256 Views)
After a couple simulations, it appears you should set Beta to 1e-2 to start with and maybe set your taps to 100

Message Edited by rpursley8 on 08-14-2007 02:48 PM

Randall Pursley
0 Kudos
Message 9 of 13
(4,254 Views)

to Randall Pursley

Thank you very much, I really appreciate the help! I will test the VI's and give feedback.

0 Kudos
Message 10 of 13
(4,236 Views)