我使用的是其他人最初开发的固件。 固件利用 AIC3204中的一些 Biquad EQ 滤波器。 其中一个滤波器应采用91Hz、高通、一阶巴特沃斯滤波器。 请注意、ADC 转换器以16KHz 的采样率运行。
源代码中使用的生成系数为:
// EQ Biquad B、~91Hz 一阶巴特沃斯
#define PRB_BQB_N0 0x7DBC00L
#define PRB_BQB_N1 0xC12200L
#define PRB_BQB_N2 0x0L
#define PRB_BQB_D1 0x3DBC00L
#define PRB_BQB_D2 0x0L
当我为该滤波器使用 TI 计算器生成系数时、我会得到以下系数:
文本"*采样率= 16000 "
文本"*滤波器2高通一阶巴特沃斯、91Hz FC 0.0dB"
文本"* BQ:h (z)=(N0 + 2 * N1/z + N2/(Z2))/(32768 - 2 * D1/z - D2/(Z2))"
文本"*格式为 N0、N1、N2、D1、D2"的滤波器系数
文本"* 1O:h (z)=(N0 + N1/z)/(32768 - D1/z)"
文本"*格式为 N0、N1、D1"的滤波器系数
文本"*过滤器2 1O"
0x7DBF
0x8241
0x7B80
我尝试通过调整计算器中的各种参数(频率截止、增益等)来匹配 FW 系数、但没有成功。 我注意到源代码中的注释表明滤波器截止频率约为91Hz。 我认为原始开发人员可能使用了其他计算器软件(可能是 PurePath),该软件接受了截止频率的浮点值,这可能会解释生成系数的差异。 有什么想法吗?
此外、是否有工具可接受生成系数的输入并将其转换回原始滤波器参数?


