主要内容

补偿由IIR滤波器引入的延迟

滤波的信号引入一延迟。这意味着输出信号在时间上偏移相对于该输入。

无限脉冲响应滤波器对某些频率成分的延迟比其他的更大。它们有效地扭曲了输入信号。这个函数filtfilt用于延迟补偿引入通过这样的过滤器,并由此校正滤波器的失真。这种“零相位滤波”从在向前和向后方向中的滤波的信号的结果。

采取在500Hz采样1秒的心电图读数。添加随机噪声。

FS = 500;N = 500;RNG默认XN = ECG(N)+ 0.2 * randn([1 N]);TN =(0:N-1)/ FS;

与停止高于75赫兹频率的滤波器去除一些噪音。指定与通带波纹的1分贝和阻带衰减60dB的第七阶IIR滤波器。

NF = 7;FP = 75;AP = 1;正如= 60;d = designfilt('lowpassiir''FilterOrder',NF,'PassbandFrequency',FP,......'PassbandRipple',鸭,'StopbandAttenuation',如,“采样率”,FS);

滤波器的信号。经滤波的信号是清洁器比原,但在时间相对于滞后它。它也失真由于过滤器的非线性相。放大接近峰值。

xfilter =过滤器(d,XN);图(TN,XN,TN,xfilter)称号“心电图”xlabel'时间(s)',传奇(“原始信号”“滤波信号”)轴([0.25 0.55 -1 1.5])

图包含一个轴。与标题心电图轴包含型线的2个对象。这些对象代表原始信号,滤波信号。

一看群时延由滤波器节目介绍,延迟是依赖于频率的。

grpdelay(d,N,FS)

图滤波器可视化工具 - 组延迟包含轴和类型uitoolbar的其它目的,uimenu。与标题组延迟轴包含类型线的对象。

使用过滤信号filtfilt。延迟和失真得到了有效解决。使用filtfilt当关键是要保持完好的信号的相位信息。

xfiltfilt = filtfilt(d,XN);图(TN,XN,TN,xfilter)保持图(TN,xfiltfilt,'R'“线宽”2)保持关闭标题“心电图”xlabel'时间(s)'传说(“原始信号”“滤波信号”......“零相过滤,用‘’filtfilt”“”)轴([0.25 0.55 -1 1.5])

图包含一个轴。与标题心电图轴包含型线的3个对象。这些对象表示原始信号,经滤波信号,零相位与“filtfilt”过滤。

另请参见

|||

相关的话题