在MATLAB中重新采样音频

Mat*_*244 4 audio matlab signal-processing resampling

我有一个已导入MATLAB的wav文件,其采样率为44.1 kHz.我正在尝试将此音频文件重新采样为22.05 kHz,然后将其恢复为44.1 kHz.但是,我对如何在MATLAB中使用resample函数感到困惑,如果这甚至是我应该用来执行此操作的函数.任何帮助将不胜感激.谢谢!

Lui*_*ndo 9

是的,resample是你的功能.x从44100 Hz到22050 Hz的下采样:

y = resample(x,1,2);
Run Code Online (Sandbox Code Playgroud)

("1"和"2"参数定义重采样率:22050/44100 = 1/2)

要上采样回到44100 Hz:

x2 = resample(y,2,1);
Run Code Online (Sandbox Code Playgroud)

请注意,该resample功能包括必要的抗锯齿(低通)滤波器.

您可能知道,"恢复"信号x2已经丢失了可能存在的最高频率信息x.

  • 或者如果其他人正在阅读你的代码,那么你可以使用`y = resample(x,22050,44100);`和`x2 = resample(y,44100,22050);` (3认同)