matlab编程关于信号频谱显示的问题,请高手指点一下,看不太懂……

2025-05-19 03:47:59
推荐回答(1个)
回答1:

fm=(FS/2)*length(Y)/FS; % 确定绘频谱图的上限频率
% 这句可以改成fm=length(Y)/2; 因为Y是以奈奎斯特频率对称的,取前半部分就行了
f=(0:fm)*FS/length(Y); % 确定绘频谱图的频率刻度
% FS/length(Y) 表示的是两个频点之间的频率间隔,也算是频谱的分辨率,点数越多,分辨率越大;FS/length(Y)*m 表示某个频点处的频率值,以便赋给画图的x轴当刻度
plot(f,abs(Y(1:length(f))));%画图
% 这里就将f当做x轴刻度了,如果只写一个参数,x轴默认以点数0~length(Y)/2表示
set(handles.axes2,'XMinorTick','on')
% 设置x轴刻度显示