desiging very low band-pass filters (near 0 Hz)

13 次查看(过去 30 天)
I'm trying to compute an estimate of RSA (respiratory sinus arrythmia) for ecg data. I have a series of inter-beat intervals (R-R intervals) and from what I've read, I should 1) upsample the IBI vector for filtering (this is not hard) and 2) bandpass filter the resulting IBI time waveform in the range of 0.12 to 0.40 Hz, to highlight the portion of the IBI that is related to breathing.
For the life of me, I cannot design a filter in Matlab that will give me a good response with these parameters so near the 0 Hz cutoff. Allen et al (2007) claim to use a 241-point FIR filter to do this, but when I try to design even a low-pass FIR filter (e.g., cutoff at 0.5 Hz) using the fdatool or something like kaiserord, it runs forever (and FIR filters for ranges I can design...i.e., for 1 Hz...result in thousands of points).
I suppose I could try an IIR filter and use filtfilt to avoid phase distortions, but I still can't get a frequency response (using freqz) that looks good in that ultra-low range.
How do you design filters with cutoffs so near 0?
I'm running Matlab version 2007b and do not have the f.design function.
Thanks!
  2 个评论
Wayne King
Wayne King 2011-11-28
What is the sampling frequency of your data?
Honglei Chen
Honglei Chen 2011-11-28
I agree with Wayne, it seems like your sampling frequency is high so it needs a very high order filter. You may want to downsample your data first given you are looking for something so close to DC.

请先登录,再进行评论。

回答(2 个)

Daniel Shub
Daniel Shub 2011-11-29
You need to make sure that your sample rate matches that of your reference. A higher sample rate will result in a longer filter.

Michael
Michael 2011-11-29
My samp rate is 1k. I'd like to filter the raw signals, but in the Allen reference, they used the inter-beat intervals, which obviously occur much more sparsely. They ultimately create a 10-Hz "waveform" out of their IBI data. I'll try to make one on something with a much lower rate. Thanks everyone.

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by