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

标签 python algorithm math matlab digital-filter

我正在将代码从 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/

相关文章:

java - 我不能在 Java 中使用数学方法

algorithm - 如何计算具有一定数量除数的最小数?

c++ - Tan 函数在 C++ 中不起作用?

python - 如何检查python中是否存在列表?

python - 是否可以在没有 Django 和 Flask 等框架的情况下使用 HTML 和 CSS 运行 python 脚本。如果是这样怎么办?

python - Python中的模糊字符串匹配

algorithm - 在非指数时间内解决灯泡切换难题?

python - 如何删除 Python 中的正则表达式子字符串?

python - 递归函数来计算嵌套列表中的所有项目?

c# - 从 Kinect 传感器数据计算 BPM