主要内容

补偿IIR滤波器引入的延迟

过滤信号会导致延迟。这意味着输出信号相对于输入在时间上发生偏移。

无限脉冲响应过滤器比其他频率分量更多。它们有效地扭曲了输入信号。功能过滤补偿此类滤波器引入的延迟,从而纠正滤波器失真。这种“零相位滤波”是在前向和后向方向对信号进行滤波的结果。

在500 Hz下采集心电图读数,持续1s。添加随机噪声。

Fs=500;N=500;rng违约xn=ecg(N)+0.2*randn([1n]);tn=(0:N-1)/Fs;

使用能使频率停止在75 Hz以上的滤波器去除部分噪声。指定一个通带纹波为1 dB、阻带衰减为60 dB的7阶IIR滤波器。

Nf=7;Fp=75;Ap=1;As=60;d=designfilt(“低通”,“过滤器订单”,Nf,“通带频率”,Fp,...“通带波纹”,美联社,“止损绷带”,作为,“采样器”,Fs);

对信号进行滤波。滤波后的信号比原始信号更干净,但相对于原始信号而言时间滞后。由于滤波器的非线性相位,它也会失真。放大到接近峰值的位置。

xfilter=过滤器(d,xn);绘图(tn,xn,tn,xfilter)标题“心电图”xlabel‘时间’,传说(“原始信号”,“滤波信号”)轴([0.25 0.55-11.5])

图中包含一个轴对象。标题为“心电图”的轴对象包含2个line类型的对象。这些对象表示原始信号、滤波信号。

看一看组延迟滤波器的引入表明延迟是频率相关的。

GRP延迟(d、N、Fs)

Figure Filter Visualization Tool-Group delay包含一个轴对象和uitoolbar、uimenu类型的其他对象。标题为Group delay的轴对象包含一个line类型的对象。

使用滤波器对信号进行滤波过滤.有效地消除了延迟和失真。使用过滤保持信号相位信息完整是至关重要的。

xfiltfilt=filtfilt(d,xn);绘图(tn,xn,tn,xfilter)保持在…上绘图(tn、xfiltfilt、,“r”,'行宽',2)保持标题“心电图”xlabel‘时间’传奇(“原始信号”,“滤波信号”,...'用'filtfilt'过滤的零相位')轴([0.25 0.55-11.5])

图中包含一个Axis对象。标题为ECG的Axis对象包含3个line类型的对象。这些对象表示原始信号、滤波信号、用“FILT”滤波的零相位。

另见

|||

相关话题