设计一个简单的二阶IIR带通Buterworth滤波器,其中心频率为500 Hz,带宽为1倍频程,可以得到以下频率响应...



现在,如果我将脉冲响应进行归一化并将其转换为dB,可以观察到脉冲响应的衰减。



脉冲响应的衰减近似线性在此比例尺上绘制时间时,我们可以定义衰减时间统计信息(就像在室内声学中可以定义混响时间一样)。为了使该滤波器的脉冲响应降至30 dB以下,大约需要11 ms。

我们正在尝试最小化此衰减时间,并保持以下常数:


-3 dB带宽
滤波器阶数

我很乐意接受(在限制范围内)通带和阻带波纹,和/或为了达到此目的而在过渡带的陡度上做出妥协。任何人都可以建议一种方法,以上述定义的尽可能短的脉冲响应持续时间进行滤波吗?

评论

请包括采样频率,以使这11ms有意义。

如图所示,滤波器中的极点将在脉冲响应中产生指数衰减的项,当以对数刻度绘制时,其将呈线性衰减。衰减率与极点到单位圆的距离有关。它们越近,衰减越慢。过渡带的陡度还与极点与单位圆的接近程度有关。我不知道有什么可以立即使用的设计技术,可以让您优先考虑此特定特征。

@ Juancho省略了采样率,因为我认为这完全不相关:使用5 kHz或500 kHz不会改变脉冲响应的衰减率。如果您好奇,我的目标是44.1 kHz。感谢您的关注:)

@JimClay是的,我可以确定,但是我想保持计算成本非常低。为了有效地使用Fir,我需要使用基于fft的技术,这会在FFT缓冲区充满样本的同时,将延迟引入算法。是/否?

@JimClay为什么物理定律总是停止我的世界统治计划!抱怨抱怨

#1 楼

巴特沃斯滤波器的频率响应是特定公式的结果,其特性是平坦的通带频率响应。因此,如果以任何方式修改IIR滤波器的系数,则该滤波器可能都无法保持“ Butterworth”特性。

除了“ Hilmar”和“ Jason R”的响应之外,也许您可以将其视为适合您的规格的适应度函数的优化问题。

例如,您可以从某些设计开始(例如Butterworth滤波器),然后使用优化技术来移动零点和零点在其位置附近(或通过添加/删除零点和零点来修改设计)尝试达到您的规格(更清晰的时域滚降,以保持带宽和滤波器阶数)。

沿着这条线,使用遗传算法(在这里)和模拟退火(在这里)设计滤波器的工作已经完成了很多,您可能会觉得有用。

#2 楼

恐怕没有魔术子弹。您可以使用椭圆滤波器来独立控制通带纹波和阻带衰减,但是您会发现衰减率与滤波器的陡度和整体带宽密切相关。
通过将滤波器阶数降低为1,可以使滤波器的衰减速度更快,但是滤波器的陡度也将大大降低。

评论


$ \ begingroup $
由于Linkwitz-Riley类型的网络中正在使用该过滤器,因此无法将其降低为一阶,但是非常感谢您抽出宝贵的时间来响应+1
$ \ endgroup $
–learnvst
2012年6月1日22:26