matlab 怎么画下图所示的频谱分析三维图,或者用别的什么软件可以实现

如题所述

用surf可以实现:

t=0:0.001:2;  % 1kHz 采样率,2秒时长
x=chirp(t,0,1,150);  % 余弦扫频 0~150Hz,1秒
subplot(211);
plot(t,x);
ylim([-1.5 1.5]);
title('时域波形');F = 0:1:100;
[y,f,t,p] = spectrogram(x,256,250,F,1E3,'yaxis'); subplot(212);
surf(t,f,10*log10(abs(p)),'EdgeColor','none');   
title('频谱分析');
axis xy; axis tight; colormap(jet); 
view(-45,45);
xlabel('时间');
ylabel('频率(Hz)');

追问

十分感谢哈,本文matlab基础几乎为零,学习了一下午,就是还有几个问题
noverlap=250怎么确定的?
'yaxis'什么意思?
'EdgeColor','none'什么意思?

追答

输入数据默认被分为8段进行处理,Noverlap表示各段之间重叠的采样点数。它必须为一个小于window或length(window)的整数。如果不指定则重叠50%
yaxis 指定频率显示于Y轴

'EdgeColor','none' 表示曲面不显示网格线

温馨提示:答案为网友推荐,仅供参考
相似回答