【发布时间】:2021-10-15 21:04:04
【问题描述】:
我正在使用最小采样率为4000Hz 的 OEM ADC IC。我想通过不打算更改参数的定制现有解决方案发送捕获的数据。
由于 ADC 的采样率为 4000Hz,我想减少发送的样本数,即抽取(我的想法),在抽取 4 倍后,我将有 1000Hz 的样本,然后我可以插值回 4000Hz。 我在一秒钟内收集了 32 个样本 125 次,这使其频率为 4000Hz
我在其他参考资料中学习了 here 的基本抽取和插值,并且正在使用 CMSIS FIR Decimator 和 FIR Interpolator。
我设置参数如下查看 CMSIS decimator 和 interpolator
number of coefficients in the filter: 4
decimation factor: 4
filter coefficients: [1, 0, 0, 0]
number of input samples to process per call: 32
upsample factor: 4
number of filter coefficients in the filter: 4
filter coefficient buffer: [1, 0, 0, 0]
number of samples to process: 8
滤波器系数以 {0,0,0,1} 的形式存储在变量中,即时间倒序,如文档 here 中所述。
我对 FIR 滤波器系数的理解是否正确,即 [1, 0, 0, 0],因为我想简单地抽取数据而不是实际过滤数据?
在实施不正确的抽取器后,我得到的值为 [0, -1, 0, -1, -1, -1, -1, -1] 等。我在这里犯了什么错误?有什么需要参考的吗?
【问题讨论】:
标签: embedded signal-processing cmsis