您的位置:首页 > 编程语言 > MATLAB

Matlab:显示time信号的频谱

2015-07-08 16:59 567 查看
function [ sp ] = plotFFt( St,Fs )
%Fs:48000 Hz
%St=[0.856,0.76……];
topF=0.5*Fs;
sp=abs(fft(St));
len=length(sp);
t=(0:0.5*len-1)/(0.5*len)*topF*0.001;
plot(t,sp(1:0.5*len));

xlabel('频谱(kHz)');

%set(gca, 'XTick',[0:max(t)*0.1:max(t)]);

end


St:信号序列

重点是第三行,如何将横轴的频率与实际想对应。

24000:是采样频率48000的一半。

0.001 是为了将刻度从hz改为Khz

(0:0.5*len-1)/(0.5*len):意思是将横轴等分。

topF:乘采样密度的一般后,就体现出了频率

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: