您如何协调 Scipy.signal 的 IIR 设计与 CMSIS-DISP 的 API?Scipy.signal 以 3 种形式之一输出:
- 分子/分母
- 零极
- 二阶部分。
CMSIS 需要一个长度为五的倍数的数组。每 5 个值是滤波器状态的系数 b0、b1、b2、a1 和 a2:“系数 b0、b1 和 b2 乘以输入信号 x[n],称为前馈系数。系数 a1 和 a2 乘以输出信号 y[n] 和称为反馈系数。注意反馈系数的符号。一些设计工具使用差分方程“
Scipy 的格式似乎不兼容:分子/分母使用“b”和“a”术语,但返回 2 个数组:长度为 6 的分子数组和长度为 6 的分母数组。SOS 格式也返回长度为 6 的数组。
这与 FIR 形成对比,FIR 是一对一的映射。即两者都使用对应于卷积核的系数数组。相比之下,IIR 似乎更加多样化。