【问题标题】:Python / Scipy filter discretizationPython / Scipy过滤器离散化
【发布时间】:2013-01-29 23:20:07
【问题描述】:

我目前正在尝试从 Matlab 迁移到 Python,并在几个方面取得了成功。然而,我经常使用的 Matlab 信号处理工具箱中的一个函数是 impinvar 函数,用于根据模拟版本计算数字滤波器。

Scipy.signal 我只发现bilinear 函数可以做类似的事情。但是,与Matlab bilinear function 相比,它不需要可选参数来对频率进行一些预变形。我在 Scipy 中没有找到任何 impinvar(脉冲不变性)函数。

在我现在开始自己编写代码之前,我想问一下我是否忽略了一些东西?谢谢。

【问题讨论】:

  • 为什么不自己实现预变形呢?将 fs 替换为 pi*fp/fs
  • 我认为它不存在。我也在找。如果你写,你会把代码发到网上吗?
  • 自己做预变形不是问题,这是真的。但是,我更喜欢脉冲不变技术,因为我的应用程序的离散化误差要小得多。

标签: python numpy scipy signal-processing


【解决方案1】:

PyDynamic package 中的Octave impinvar function 有一个 Python 翻译,应该相当于 Matlab 版本。

【讨论】:

  • 非常感谢您的回答!我自己早就应该这样做了。您提到的实现是我自己完成的——PyDynamic 包由我维护。
猜你喜欢
  • 2017-12-26
  • 2015-02-09
  • 1970-01-01
  • 2012-06-19
  • 2017-05-30
  • 2017-02-08
  • 1970-01-01
  • 2013-05-26
相关资源
最近更新 更多