关闭

Matlab:显示time信号的频谱

860人阅读 评论(0) 收藏 举报
分类:
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:乘采样密度的一般后,就体现出了频率
这里写图片描述

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:360584次
    • 积分:5005
    • 等级:
    • 排名:第5837名
    • 原创:103篇
    • 转载:141篇
    • 译文:5篇
    • 评论:41条
    最新评论