【发布时间】:2012-04-24 15:20:57
【问题描述】:
首先,这是对未来应用的一些研究。
我希望能够从由 Matlab 滤波器设计和分析工具 (FDATool) 生成的 c 头文件中提取系数。
fdatool settings http://dl.dropbox.com/u/39710897/fdatool.png
我已经为 FDATool 使用了上述设置,然后我生成了以下 C 头文件: http://dl.dropbox.com/u/39710897/fdacoefs.h
据我了解,我可以通过使用直接形式差分方程来实现过滤器。 我相信方程是 y(n) = b0x(n) + b1x(n–1) + b2 x(n–2) – a1y(n–1) – a2y(n–2)
其中 b0-b2 系数是零,而 a1 和 a2 系数是两极。
这里的问题是我不完全确定头文件中的内容。这些信息似乎很难找到,这可能意味着我遗漏了一些非常明显的东西......
这是我认为我已经能够提取的信息:
- 过滤器由 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
问题:
- 我的差分方程是否适合与头文件中的系数一起使用?
- 我从头文件中提取的信息是否正确?
【问题讨论】:
-
我有一种独特的感觉,我几乎完全掌握了解决方案,但不知何故我看不到它......
标签: c signal-processing