Matlab:显示time信号的频谱

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:乘采样密度的一般后,就体现出了频率
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值