DSPRelated.com
Forums

Filtering for heart rate extraction.

Started by Unknown February 27, 2013
hey guys, i am trying to design a filter to extract the signal of a beating heart from a voltage response to a 200khz sinusoid i am passing though a volunteer.the 200kHz voltage response signal is sampled at 2e6 samples per second and the noise levels are around 0.8%. what would be the best approach to this problem assuming normal heart rate of 72 beats pre minute(1.2Hz)? thanks very much.
On Wed, 27 Feb 2013 06:44:08 -0800, zoulzubazz wrote:

> hey guys, i am trying to design a filter to extract the signal of a > beating heart from a voltage response to a 200khz sinusoid i am passing > though a volunteer.the 200kHz voltage response signal is sampled at 2e6 > samples per second and the noise levels are around 0.8%. what would be > the best approach to this problem assuming normal heart rate of 72 beats > pre minute(1.2Hz)? thanks very much.
What information are you trying to extract? How is this reflected in the signal? What are the characteristics of the noise (other than seeming unusually small)? {And what's this 200kHz signal about? What are you doing putting this signal through your vict^H^H^Holunteer?}
On 2/27/13 9:44 AM, zoulzubazz@googlemail.com wrote:
> hey guys, i am trying to design a filter to extract the signal of a beating heart from a voltage response to a 200khz sinusoid i am passing though a volunteer.
the state of Virgina did something like recently, just after the New Year: http://www.huffingtonpost.com/2013/01/17/robert-gleason-execution_n_2497080.html but i think the frequency was closer to 60 Hz. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
On 2/27/2013 8:44 AM, zoulzubazz@googlemail.com wrote:
> hey guys, i am trying to design a filter to extract the signal of a beating heart from a voltage response to a 200khz sinusoid i am passing though a volunteer.the 200kHz voltage response signal is sampled at 2e6 samples per second and the noise levels are around 0.8%. what would be the best approach to this problem assuming normal heart rate of 72 beats pre minute(1.2Hz)? thanks very much. >
On Wednesday, 27 February 2013 16:58:38 UTC, Vladimir Vassilevsky  wrote:

Wherever stupid experts disparage and abuse reasonable people simply asking advice, you will find me! Whenever stupid experts display their over-weaning arrogance, I will be there! Wherever stupid experts change the topic to stupident, you will find... ta da!! STUPID EXPERT!


> On 2/27/2013 8:44 AM, zoulzubazz@googlemail.com wrote: > > > hey guys, i am trying to design a filter to extract the signal of a beating heart from a voltage response to a 200khz sinusoid i am passing though a volunteer.the 200kHz voltage response signal is sampled at 2e6 samples per second and the noise levels are around 0.8%. what would be the best approach to this problem assuming normal heart rate of 72 beats pre minute(1.2Hz)? thanks very much. > > >
On Wednesday, 27 February 2013 14:44:08 UTC, zoulz...@googlemail.com  wrote:
> hey guys, i am trying to design a filter to extract the signal of a beating heart from a voltage response to a 200khz sinusoid i am passing though a volunteer.the 200kHz voltage response signal is sampled at 2e6 samples per second and the noise levels are around 0.8%. what would be the best approach to this problem assuming normal heart rate of 72 beats pre minute(1.2Hz)? thanks very much.
I suggest you set a goal for the SNR and distortion you will accept. Then characterize the signal and the noise with estimates of their bandwidth. This will then allow you to set a goal for Processing Gain, which in turn will let you set target Equivalent Noise Band Width (ENBW) - which in turn is a guesstimate for the required filter bandwidth. Those lead to estimate of required sample rate. For ADC resolution you can simply use the standard formula. For distortion you will need to decide what form of distortion you expect, and possibly implement multi-band filter as a consequence. Chris Bore BORES Signal Processing www.bores.com
On Wednesday, 27 February 2013 18:49:31 UTC, Chris Bore  wrote:
> On Wednesday, 27 February 2013 14:44:08 UTC, zoulz...@googlemail.com wrote: > > > hey guys, i am trying to design a filter to extract the signal of a beating heart from a voltage response to a 200khz sinusoid i am passing though a volunteer.the 200kHz voltage response signal is sampled at 2e6 samples per second and the noise levels are around 0.8%. what would be the best approach to this problem assuming normal heart rate of 72 beats pre minute(1.2Hz)? thanks very much. > > > > I suggest you set a goal for the SNR and distortion you will accept. Then characterize the signal and the noise with estimates of their bandwidth. This will then allow you to set a goal for Processing Gain, which in turn will let you set target Equivalent Noise Band Width (ENBW) - which in turn is a guesstimate for the required filter bandwidth. Those lead to estimate of required sample rate. For ADC resolution you can simply use the standard formula. For distortion you will need to decide what form of distortion you expect, and possibly implement multi-band filter as a consequence. > > > > Chris Bore > > BORES Signal Processing > > www.bores.com
FYI, the equipment used is certified by relevant ethical bodies. Original idea is to measure impedance of different body parts passing a constant current of around 1mA@200kHz. the voltage response to this current is being recorded to evaluate impedance offline. I designed a low pass IIR filter with a passband set to 100Hz with matlab. After filtering the 200 kHz voltage signal i see a recurring dip which seems to be from a beating heart but wanted some expert advice on filtering this signal out properly for further analysis. Thanks very much.
On 2/27/2013 2:30 PM, zoulzubazz@googlemail.com wrote:
> On Wednesday, 27 February 2013 18:49:31 UTC, Chris Bore wrote: >> On Wednesday, 27 February 2013 14:44:08 UTC, >> zoulz...@googlemail.com wrote: >> >>> hey guys, i am trying to design a filter to extract the signal of >>> a beating heart from a voltage response to a 200khz sinusoid i am >>> passing though a volunteer.the 200kHz voltage response signal is >>> sampled at 2e6 samples per second and the noise levels are around >>> 0.8%. what would be the best approach to this problem assuming >>> normal heart rate of 72 beats pre minute(1.2Hz)? thanks very >>> much. >> >> >> >> I suggest you set a goal for the SNR and distortion you will >> accept. Then characterize the signal and the noise with estimates >> of their bandwidth. This will then allow you to set a goal for >> Processing Gain, which in turn will let you set target Equivalent >> Noise Band Width (ENBW) - which in turn is a guesstimate for the >> required filter bandwidth. Those lead to estimate of required >> sample rate. For ADC resolution you can simply use the standard >> formula. For distortion you will need to decide what form of >> distortion you expect, and possibly implement multi-band filter as >> a consequence. >>
> FYI, the equipment used is certified by relevant ethical bodies. > Original idea is to measure impedance of different body parts passing > a constant current of around 1mA@200kHz.
1. The 1mA is a lot of current; you will fill that. 2. At 200kHz, the impedance would be significantly affected by skin effect and capacitive leakage.
> the voltage response to this > current is being recorded to evaluate impedance offline. I designed a > low pass IIR filter with a passband set to 100Hz with matlab. After > filtering the 200 kHz voltage signal i see a recurring dip which > seems to be from a beating heart but wanted some expert advice on > filtering this signal out properly for further analysis. Thanks very > much.
In conventional ECG, they use (preferably) linear phase filters with cutoff around 25 Hz. Vladimir Vassilevsky DSP and Mixed Signal Designs www.abvolt.com
On Wednesday, 27 February 2013 20:30:00 UTC, zoulz...@googlemail.com  wrote:
> On Wednesday, 27 February 2013 18:49:31 UTC, Chris Bore wrote: > > > On Wednesday, 27 February 2013 14:44:08 UTC, zoulz...@googlemail.com wrote: > > > > > > > hey guys, i am trying to design a filter to extract the signal of a beating heart from a voltage response to a 200khz sinusoid i am passing though a volunteer.the 200kHz voltage response signal is sampled at 2e6 samples per second and the noise levels are around 0.8%. what would be the best approach to this problem assuming normal heart rate of 72 beats pre minute(1.2Hz)? thanks very much. > > > > > > > > > > > > I suggest you set a goal for the SNR and distortion you will accept. Then characterize the signal and the noise with estimates of their bandwidth. This will then allow you to set a goal for Processing Gain, which in turn will let you set target Equivalent Noise Band Width (ENBW) - which in turn is a guesstimate for the required filter bandwidth. Those lead to estimate of required sample rate. For ADC resolution you can simply use the standard formula. For distortion you will need to decide what form of distortion you expect, and possibly implement multi-band filter as a consequence. > > > > > > > > > > > > Chris Bore > > > > > > BORES Signal Processing > > > > > > www.bores.com > > > > FYI, the equipment used is certified by relevant ethical bodies. Original idea is to measure impedance of different body parts passing a constant current of around 1mA@200kHz. the voltage response to this current is being recorded to evaluate impedance offline. I designed a low pass IIR filter with a passband set to 100Hz with matlab. After filtering the 200 kHz voltage signal i see a recurring dip which seems to be from a beating heart but wanted some expert advice on filtering this signal out properly for further analysis. Thanks very much.
100 Hz low pass sounds unusual for ECG (even though your application is not a conventional ECG) - it will pass baseband wander and mains interference. You would normally use two filters first to reduce expected dominant noise: a narrow bandstop filter to cut out the 50 Hz mains noise (60 Hz in the US) and a highpass with cut off at about 0.5 Hz to cut out baseband wander (low frequency noise). The ECG spectrum is quite complex, being that of a short pulse. You will typically see peaks at 1, 4, 7 and 10 Hz or thereabouts - corresponding to the heart rate, T wave, P wave, and QRS components. So a sensible filter will pass these frequencies and probably be a 10 Hz or 15 Hz low pass or a multi-bandpass (but note narrow multi-band filters applied to noise will give you a signal whose spectrum is that of the filter..). (T wave is atrial contractions, QRS is ventricular contractions, P wave is the recharging of the ventricles for the next contraction, in the observed ECG they show up as peaks P, Q, R, S, T in that order, with P, R and T being +ve going and R being the largest). Other noise to watch out for is breathing muscle noise, and other sources of palpitation that can seem similar to heartbeat. Chris Bore BORES Signal processing www.bores.com
On Wed, 27 Feb 2013 12:30:00 -0800, zoulzubazz wrote:

> On Wednesday, 27 February 2013 18:49:31 UTC, Chris Bore wrote: >> On Wednesday, 27 February 2013 14:44:08 UTC, zoulz...@googlemail.com >> wrote: >> >> > hey guys, i am trying to design a filter to extract the signal of a >> > beating heart from a voltage response to a 200khz sinusoid i am >> > passing though a volunteer.the 200kHz voltage response signal is >> > sampled at 2e6 samples per second and the noise levels are around >> > 0.8%. what would be the best approach to this problem assuming normal >> > heart rate of 72 beats pre minute(1.2Hz)? thanks very much. >> >> >> >> I suggest you set a goal for the SNR and distortion you will accept. >> Then characterize the signal and the noise with estimates of their >> bandwidth. This will then allow you to set a goal for Processing Gain, >> which in turn will let you set target Equivalent Noise Band Width >> (ENBW) - which in turn is a guesstimate for the required filter >> bandwidth. Those lead to estimate of required sample rate. For ADC >> resolution you can simply use the standard formula. For distortion you >> will need to decide what form of distortion you expect, and possibly >> implement multi-band filter as a consequence. >> >> >> >> Chris Bore >> >> BORES Signal Processing >> >> www.bores.com > > FYI, the equipment used is certified by relevant ethical bodies. > Original idea is to measure impedance of different body parts passing a > constant current of around 1mA@200kHz. the voltage response to this > current is being recorded to evaluate impedance offline. I designed a > low pass IIR filter with a passband set to 100Hz with matlab. After > filtering the 200 kHz voltage signal i see a recurring dip which seems > to be from a beating heart but wanted some expert advice on filtering > this signal out properly for further analysis. Thanks very much.
It is not clear what you are filtering: are you extracting the measured impedance at 100kHz, then filtering that with your 100Hz low pass? Or are you filtering your 100kHz signal and finding some baseband energy embedded in it? -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com