在 MATLAB 中重采样信号

信息处理 matlab 离散信号 重采样
2022-02-23 06:20:19

我在 MATLAB 中读取了一个 wav 文件,它的采样率为 16kHz。我想通过我设计的采样率为 44.1 kHz 的滤波器。所以,我想我会resx=resample(x,44100,16000)先使用以使它们具有相同的采样率。我可以看到我现在会有更多的样本,但是我的信号 fft 的预期变化是什么?我认为重采样信号的 fft 将是初始信号 (0-8kHz) 的 fft 拉伸到 (0-22.05kHz) 但根据 MA​​TLAB 绘图它不是。合乎逻辑吗?

1个回答

添加到 Famous Blue Raincoat 的评论中:对信号进行上采样的过程旨在提高其采样率而不影响信号。在您的示例中,输出xresx通过您的声卡应该产生完全相同的声音。当您需要在不同系统之间匹配采样频率而不影响信号时,上采样非常有用。

同样,下采样旨在尽可能少地修改信号。低于新奈奎斯特频率的所有频率都将保持不变。