滤波器与时间延迟

        滤波器设计方式分为IIR(递归滤波器)和FIR(非递归滤波器)两种。

        IIR可以使用更少的阶数来实现与FIR相同的性能,在延迟方面,IIR在不同频率下的延迟不同,而FIR在每个频率的延迟一致,因此FIR滤波器不会改变输入信号的形状,只有相位的延迟,而IIR滤波器会使改变输入信号。滤波器阶数越高,延迟时间越长。

        具体延迟时间在设计滤波器时就已确定,具体延迟时间Fdatool工具中Group delay Response图可以得到:

IIR在不同频率下的延迟不同;FIR在每个频率的延迟一致

以同样的3阶低通滤波器为例,可以看出,FIR滤波器在所有频率上具有相同的时延,而IIR滤波器的时延随频率而变化. 通常IIR滤波器中最大的时延出现在滤波器的截止频率附近。其中,横轴为频率,纵轴为多少个采样周期,例如,在5hz处,Group delay为3.67个采样周期,而此系统采样频率Fs为100hz,则延迟时间则为3.67*10ms=36.7ms。

IIR滤波器时间延迟曲线

FIR滤波器时间延迟曲线

通过相频曲线得到系统时间延迟:

下图是IIR滤波器的相频曲线

 在没有延迟曲线的情况下,也可以根据系统的相频曲线大致估算出时间延迟情况,公式如下:

与延迟曲线中的36.7ms大体一致

        使用设计的滤波器,使用100hz采样频率对5hz的正弦波进行采样并进行低通滤波,如下图所示,可以看出,滤波后的数据相对于原始数据延迟了30ms左右,由于分辨率原因,无法显示更高精度(100hz采样频率,时间间隔为0.01s,小数点后2位),这也同样印证了上面的时间延迟。

clear;
clc;
fs=100;N=100;   %采样频率和数据点数
n=0:N-1;t=n/fs;   %时间序列
x=sin(2*pi*5*t);
plot(t,x,'Color','r');
yfilter = filter(F10hz,x);
hold on;
plot(t,yfilter,'Color','b');

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想想叫啥名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值