主要内容

补偿FIR过滤器引入的延迟

过滤信号引入延迟。这意味着相对于输入的时间随时间移动。此示例向您展示了如何抵消此效果。

有限脉冲响应过滤器通常将所有频率组件延迟相同的量。这使得通过及时移动信号来纠正延迟变得容易。

以500 Hz采样1 s的心电图读数。添加随机噪声。重置随机数生成器以进行可重复性。

FS = 500;n = 500;RNG默认xn = ecg(n)+0.25*randn([1 n]);tn =(0:n-1)/fs;

用过滤器删除一些噪声,该噪声停止了75 Hz以上的频率。利用Designfilt设计订单70的过滤器。

nfilt = 70;FST = 75;d = distionfilt(“ Lowpassfir”,,,,“ FilterOrder”,nfilt,...“ cutofffrequency',fst,'采样率',fs);

过滤信号并绘制它。结果比原始的更光滑,但落后于此。

xf = filter(d,xn);情节(TN,XN)保持,情节(TN,XF,'-r',,,,'行宽',1.5),保持离开标题“心电图”XLABEL“时间)”, 传奇(“原始信号”,,,,“过滤信号”

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

利用grpdelay要检查过滤器引起的延迟等于过滤器顺序的一半。

grpdelay(d,n,fs)

图组延迟包含一个轴对象。带有标题组延迟的轴对象包含一个类型行的对象。

延迟=平均值(grpdelay(d))
延迟= 35

移动过滤信号以排列数据。删除其第一个延迟样品。删除最后一个延迟原始和时向量的样本。

tt = tn(1:end-delay);sn = xn(1:end-delay);sf = xf;sf(1:delay)= [];

绘制信号并验证它们是否对齐。

情节(tt,sn)保持,情节(tt,sf,'-r',,,,'行宽',1.5),保持离开标题“心电图”Xlabel(“时间)”), 传奇(“原始信号”,,,,“过滤后移动信号”

图包含一个轴对象。带有标题心电图的轴对象包含2个类型线的对象。这些对象代表原始信号,过滤后移动的信号。

也可以看看

|||

相关话题