gpt4 book ai didi

python - Python/Scipy 是否有 firls() 替代品(即加权、最小二乘、FIR 滤波器设计)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:29 27 4
gpt4 key购买 nike

我正在将代码从 Matlab 移植到 Python,但在寻找 firls( ) 例程的替代品时遇到了麻烦。它用于最小二乘线性相位有限脉冲响应 (FIR) 滤波器设计。

我查看了 scipy.signal,但看起来没有任何东西可以解决问题。当然,我能够替换我的 remez 和 freqz 算法,这很好。

在一个博客上,我发现了一种无需加权即可实现此过滤器的算法,但我需要一个带权重的算法。

谢谢,大卫

最佳答案

python 中的 firls 等价物现在似乎是作为信号包的一部分实现的: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.firls.html#scipy.signal.firls

我也同意@pev hall 上面所说的一切,尤其是 firls 在许多情况下是如何优化的(例如当整体信噪比针对给定的抽头数进行优化时),并且不使用 boxcar 窗口,因为他声明,它们根本不等价!在设计传统 FIR 滤波器时,firls 通常优于滤波器设计的所有窗口和频率采样方法。

据我目前的理解,scipy.signal 和 Octave 仅支持奇数长度(偶数阶)最小二乘滤波器。在这种情况下,当我需要一个偶数长度(II 型或 IV 型滤波器)时,我会专门使用 Kaiser Window 的窗口设计方法。我发现 Kaiser 窗解非常接近最佳最小二乘解。

关于python - Python/Scipy 是否有 firls() 替代品(即加权、最小二乘、FIR 滤波器设计)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568707/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com