当前位置:文档之家› MATLAB 频谱分析(FFT FT定义法)

MATLAB 频谱分析(FFT FT定义法)

[x1,fs,bits]=wavread('E:\testshuiyin\3.wav');
N=1024;
y1=fft(x1,N);%对采样后信号做1024点FFT变换N一般是2的幂次方,N计算为N>2倍采样率除以分辨率
f=fs*(0:N-1)/N;%生成频率序列,FFT变换图形一般是对称的所以取了一半
%%%%%%%%%%%%%%%%%%录音信号波形
subplot(241);
plot(x1);
title('录音信号波形')
%%%%%%%%%%%%%%%%%%录音信号频谱图
subplot(242);
plot(f,x1(1:N));
title('录音信号频谱')
%%%%%%%%%%%%%%%%%%录音信号幅度
subplot(243);
plot(f(1:N/2),abs(x1(1:N/2)));
title('录音信号幅度谱')
xlabel('频率/Hz'); ylabel('幅值')
%%%%%%%%%%%%%%%%%%录音信号相位
ph=2*angle(x1(1:N/2));
ph=ph*180/pi;
subplot(244);
plot(f(1:N/2),ph(1:N/2));
xlabel('频率/Hz'),ylabel('相角'),title('录音信号相位谱');
%%%%%%%%%%%%%%%%%%录音信号FFT后频谱
subplot(245);
plot(y1)%采样后信号的FFT频谱图
title('录音信号FFT频谱图')
%%%%%%%%%%%%%%%%%%录音信号FFT后幅度
subplot(246);
plot(f(1,N/2)abs(y1(N/2)))%采样后信号的FFT幅度谱,不指定横坐标无意义请注意
title('录音信号FFT幅度谱')
%%%%%%%%%%%%%%%%%%%录音信号随频率变化的相位
ph=2*angle(y1(1:N/2));
ph=ph*180/pi;
subplot(247);
plot(f(1:N/2),ph(1:N/2));
xlabel('频率/Hz'),ylabel('相角'),title('录音信号FFT相位谱');
%%%%%%%%%%%%%%%%%%%由定义得出的FT
X1=x1(:,1);%双声道降维
X2=zeros(N/16,1);%只采样64点
for n=1:N/16
for m=1:length(X1)/2 %数据量太大显示太慢只取一半作分析
X2(n,1)=X2(n,1)+X1(m,1)*exp(-j*n*m);%将w与n同步以便于计算存储,w,n关系也可以变
end
end
subplot(248);
plot(1:N/16,X2(1:N/16,1))
xlabel('频率w'),ylabel('X2(jw)'),title('定义法FT 64点频谱图')

相关主题
文本预览
相关文档 最新文档