怎么求一个音乐信号的傅里叶变换

%求一个音乐信号的频谱

[Y,FS]=audioread('GEM.wav');    %读入一个音乐信号

plot(Y); %显示音乐原来音乐的波形

sound(Y,FS) %播放音乐(按照原来的频率)改变FS可以改变播放频率

Y1=Y(:,1); %双声道变为单身道

size(Y1)

figure

subplot(2,1,1);

plot(Y); %显示原信号波形

N=length(Y1);

f1=fft(Y1); %傅里叶变换

w=2/N*[0:N/2-1];

subplot(2,1,2);

plot(w,abs(f1(1:N/2))); %显示波形



clear

[x,Fs]=audioread('GEM.wav');   % FS采样频率

% T = 1/Fs;                      % 采样时间

L = length(x);                 % 信号长度

% t = (0:L-1)*T;                 % 时间向量

NFFT = 2^nextpow2(L);          % 计算出nextpow2(L)=18  2^18=262144略大于L

X = fft(x,NFFT)/L;

f = Fs/2*linspace(0,1,NFFT/2);     %linspace(0,1,m)的意思就是将0到1之间均等的分成m份

plot(f,2*abs(X(1:NFFT/2)))

title('y(t)单边振幅频谱')

xlabel('Frequency (Hz)')

ylabel('|Y(f)|')


    技术小白,写一个关于matlab的程序关于傅里叶变换的,表示像我这样的新手学了一年的信号与系统还是不知道傅里叶变换有什么用,有什么意义?希望这个程序对别人有帮助

你可能感兴趣的:(matlab,程序,傅里叶变换,音乐信号)