请教 功率谱密度的一个问题
matlab求解功率谱的函数有psd(y,NFFT,Fs,window,overlaps) 和=psd(y,NFFT,Fs,window,overlaps)。由向量pxx,和f构成的图像与psd(y,NFFT,Fs,window,overlaps) 构成图形严重不一致,我想知道谱峰值点对应的频率,这可怎么办捏? psd(y,NFFT,Fs,window,overlaps)图像有多个峰值且毛刺多,后者则只有一个尖峰 两侧为水平线难道没人能够解答我的问题吗 我估计楼主用函数:
=psd(y,NFFT,Fs,window,overlaps)
后将用线性坐标去作图,而
psd(y,NFFT,Fs,window,overlaps)
指令是直接画出对数坐标的谱图。我给出以下程序,其中用到=psd(y,NFFT,Fs,window,overlaps),又用pxx对数值作图,和直接用psd(y,NFFT,Fs,window,overlaps) 进行比较,可看出两者完全一致:
clear;
Fs=1000;
n=0:1/Fs:1;
xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));
nfft=1024;
window=boxcar(length(n)); %矩形窗
noverlap=0; %数据无重叠
=psd(xn,nfft,Fs,window,noverlap);
index=0:nfft/2;
k=index*Fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));
figure(1)
plot(f,Pxx); grid;
figure(2)
plot(f,plot_Pxx); grid;
axis();
figure(3)
psd(xn,nfft,Fs,window,noverlap);
axis(); 十分感谢 您的回复 谢谢啊 不错,呵呵 想知道怎么FFT后得到频谱密度
页:
[1]