通过matlab重新采样从44.1 KHz到48 KHz的mp3文件(创建我自己的重采样功能)

时间:2016-02-04 14:44:18

标签: matlab signal-processing

我正在尝试将mp3文件(fs = 44.1 KHz)上采样(重新采样)到48 KHz,并将其作为带有matlab的wav文件写入。
我读了文件,然后进行了FFT,但我不知道如何在频域中添加零。实际上我已经编写了自己的重采样功能 你能不能帮我解决上面提到的问题:

[y,Fs] = audioread('piano.mp3');

left=y(:,1); % entire rows and first column

time=(1/44100)*length(left);

t=linspace(0,time,abs(length(left)));
stem(t,abs(left));

%% fft %%

y1= fft(y(:,1));
left1=y1(:,1); % all rows and first column

time1=(1/44100)*length(left1);

t1=linspace(0,time1,abs(length(left1)));

stem(t1,abs(left1));

***%% ???? place to add zero ??***


%% fftshift(fft(x))%%

y1= fftshift(fft(y(:,1)));
left1=y1(:,1); % all rows and first column
time1=(1/44100)*length(left1); 
t1=linspace(0,time1,abs(length(left1)));
plot(t,left)

1 个答案:

答案 0 :(得分:0)

您需要在上采样和下采样阶段之间使用低通滤波器来消除否则会发生的混叠。此功能内置于matlab重采样功能中。

Link