声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2201|回复: 5

请教 功率谱密度的一个问题

[复制链接]
发表于 2006-9-19 20:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
matlab求解功率谱的函数有psd(y,NFFT,Fs,window,overlaps) 和[pxx,f]=psd(y,NFFT,Fs,window,overlaps)。由向量pxx,和f构成的图像与psd(y,NFFT,Fs,window,overlaps) 构成图形严重不一致,我想知道谱峰值点对应的频率,这可怎么办捏?
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-9-20 16:02 | 显示全部楼层
psd(y,NFFT,Fs,window,overlaps)图像有多个峰值且毛刺多,后者则只有一个尖峰 两侧为水平线

难道没人能够解答我的问题吗
发表于 2006-9-23 08:47 | 显示全部楼层
我估计楼主用函数:
[pxx,f]=psd(y,NFFT,Fs,window,overlaps)
后将用线性坐标去作图,而
psd(y,NFFT,Fs,window,overlaps)
指令是直接画出对数坐标的谱图。我给出以下程序,其中用到[pxx,f]=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; %数据无重叠

[Pxx,f]=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([0 500 -30 40]);
figure(3)
psd(xn,nfft,Fs,window,noverlap);
axis([0 500 -30 40]);
 楼主| 发表于 2006-9-25 14:17 | 显示全部楼层
十分感谢 您的回复 谢谢啊
发表于 2006-9-25 23:46 | 显示全部楼层
不错,呵呵
发表于 2007-5-23 22:25 | 显示全部楼层
想知道怎么FFT后得到频谱密度
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-16 04:31 , Processed in 0.159771 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表