通过matlab将mp3文件从44.1 KHz重采样到48 KHz(创建我自己的重采样功能)
我正在尝试将mp3文件(fs=44.1 KHz)的采样(重采样)提高到48 KHz,并使用matlab将其写入wav文件。通过matlab将mp3文件从44.1 KHz重采样到48 KHz(创建我自己的重采样功能),matlab,signal-processing,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,a
我读了文件,然后进行了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)
在上采样和下采样阶段之间需要一个低通滤波器,以消除否则可能出现的锯齿。此功能内置于matlab重采样功能中
有任何不使用重采样函数的原因吗?您是否试图重新创建
重采样
?因为这是一个赋值,所以我不允许使用诸如重采样()之类的matlab内置函数。是的,我想重新创建重采样。提示:因为这是一个赋值,所以我不允许使用诸如重采样()之类的matlab内置函数。