我有以 12 kHz 采样的数据。downsampleMATLAB等软件中的函数只允许您按整数因子进行下采样,即从千赫。我将如何通过非整数因子进行下采样,例如,从kHz(伪代码/描述很好)?您可以假设在下采样之前对信号进行了适当的低通滤波。此外,所需的新采样率(下采样后)是一个“不错”的数字(即,我不想这样做或类似的东西)。
以非整数因子降低采样率
信息处理
采样
2022-02-14 13:48:25
2个回答
我可以推荐 MATLAB 中的 resample 命令。它是上采样和下采样的组合。要从 12kHz 到 9kHz 的采样率,您需要进行 3 次上采样和 4 次下采样。重新采样只需要您的信号以及用于上采样和下采样的两个因素。请记住,在下采样时,首先要低通滤除 4.5 kHz 和 6 kHz 之间的所有内容。在产生的奈奎斯特频率之上应该存在非常少的能量。
另一种常用的下采样方法是低通滤波,然后对新的采样点集进行 Sinc 插值。这些方法可以通过选择适当宽度的加窗 Sinc 作为插值核来近似和组合。对于合理的下采样率,可以将该插值内核预先计算为多相 FIR 滤波器组。