求助一段关于信号傅里叶变换的matlab程序

来源:百度知道 编辑:UC知道 时间:2024/05/08 20:07:26
能不能帮我解释一下这段程序呢,越详细越好(比如程序中的参数的意义),谢谢了~~~
[y,Fs]=wavread('ringout.wav');
y=y(:,1);
sigLength=length(y); %从这里开始就好
Y= fft(y,sigLength);
Pyy= Y.* conj(Y) / sigLength;
halflength=floor(sigLength/2);
f=Fs*(0:halflength)/sigLength;
subplot(211);plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');
t=(0:sigLength-1)/Fs;
subplot(212);plot(t,y);xlabel('Time(s)');

[y,Fs]=wavread('ringout.wav');
y=y(:,1);
sigLength=length(y); %从这里开始就好
Y= fft(y,sigLength); %在sigLength这个有限区间内做快速傅立叶变换
Pyy= Y.* conj(Y) / sigLength; %Y乘Y的共轭,得到功率谱
halflength=floor(sigLength/2); %半宽度
f=Fs*(0:halflength)/sigLength; %采样频率的横坐标
subplot(211);plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');
%在第一个窗口画率谱,
t=(0:sigLength-1)/Fs; %计算时间轴
subplot(212);plot(t,y);xlabel('Time(s)');%在第二个窗口画波形