首先,这是对未来应用的一些研究。
我希望能够从 Matlab 滤波器设计和分析工具 (FDATool) 生成的 ac 头文件中提取系数。
fdatool 设置 http://dl.dropbox.com/u/39710897/fdatool.png
我为 FDATool 使用了上述设置,然后生成了以下 C 头文件: http ://dl.dropbox.com/u/39710897/fdacoefs.h
据我了解,我可以通过使用直接形式的差分方程来实现过滤器。我相信方程是 y(n) = b 0 x(n) + b 1 x(n–1) + b 2 x(n–2) – a 1 y(n–1) – a 2 y(n –2)
其中 b 0 -b 2系数是零点,a 1和 a 2系数是极点。
这里的问题是我不完全确定头文件中的内容。这些信息似乎很难找到,这可能意味着我错过了一些非常明显的东西......
这是我认为我已经能够提取的信息:
- 过滤器由 3 个双二次(称为“双二次”)部分组成。
- 第 1 节的系数为:
- b0:0.129355475306511
- b1:-1.997004866600037
- b2:1.000000000000000
- a1:-1.995552659034729
- a2:0.996141731739044
- 第 2 节的系数为:
- b0:0.129355475306511
- b1:-1.999969959259033
- b2:1.000000000000000
- a1:-1.997882604598999
- a2:0.998035132884979
- 第 3 节的系数为:
- b0:0.011426069773734
- b1:0.000000000000000
- b2:-1.000000000000000
- a1:-1.993502736091614
- a2:0.993802070617676
问题:
- 我的差分方程是否适合与头文件中的系数一起使用?
- 我从头文件中提取的信息是否正确?