设计具有低通带群延迟的数字低通滤波器

信息处理 过滤器设计 低通滤波器 数字滤波器 scipy 群延迟
2022-02-07 11:27:52

我有兴趣指定具有低(和接近恒定)通带群延迟的数字低通滤波器。我尝试使用 pythonspicy.signal.minimum_phase将线性相位 FIR 低通滤波器转换为最小相位,但阻带抑制水平的价格很高。

是否有解决此问题的“标准”方法?

2个回答

最小相位滤波器不会给你一个近乎恒定的群延迟。您可以设计一个非线性相位 FIR 滤波器,该滤波器具有线性所需的通带相位,其指定的群延迟小于相应线性相位滤波器的群延迟。如果您使用最小二乘准则,这相当于求解线性方程组。

例如,以 FIR 低通与61水龙头。线性相位滤波器的群延迟为30样品。现在我们指定一个群延迟20代替样品:

w = pi * [linspace(0,.2,100), linspace(.25,1,375)]; % 频率向量
D = [exp(-1i*w(1:100)*20), zeros(1,375)]; % 所需的复杂频率响应
W = 个(1,475);% 单位权重
h = lslevin(61,w,D,W); % 最小二乘设计

该功能lslevin.m可以在这里找到。

结果如下所示:

在此处输入图像描述

请注意,通带群延迟当然不是完全恒定的,但所需的群延迟为20样本在通带的很大一部分上非常准确地近似。

试图在通带中实现低群延迟会导致幅度响应受到影响。下图显示了幅度和群延迟响应4长度61在通带中具有不同所需群延迟的 FIR 低通滤波器。一种是具有恒定群延迟的线性相位滤波器30样品和其他3滤波器是具有指定通带群延迟的非线性相位低延迟滤波器25,20, 和15分别取样。显然,幅度响应随着所需通带群延迟的降低而恶化。

在此处输入图像描述

是否有解决此问题的“标准”方法?

并不真地。这是一个基本的权衡,需要根据您的具体要求进行微调。根据定义,最小相位滤波器具有尽可能低的总体群延迟。然而,它并不平坦。作为一阶近似,相位与衰减的斜率成正比,因此您将获得相位瞬变和高群延迟,特别是在滚降附近:滚降越陡峭,群延迟越高。

话虽如此,一旦您的频率足够低于截止频率,典型的 IIR 低通滤波器就会具有相对较低且恒定的群延迟。