声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: finland

[FFT] 功率谱密度幅值的具体含义??

  [复制链接]
 楼主| 发表于 2007-1-12 18:57 | 显示全部楼层
1)求信号功率谱时候用下面的不同方法,功率谱密度的幅值大小相差很大!
  matlab提供的功率谱求法肯定是没有错的,关键在于各个参数的选取,以及对每种求解方法的了解!
平均周期图法和其他方法求出的结果,参数条件取得一样的话,可以得到完全相同的结果。
2)我的问题是,计算具体信号时,到底应该以什么准则决定该选用什么方法啊?
   直接采用平均周期图法求功率谱时,功率普形状呈锯齿形,谱峰点的准确位置不大好定。于是可以采用其他的方法对谱进行平滑操作,平滑化,仅仅是为了使图形光滑,并不会使得波的本质受到歪曲和畸变。反过来说,由于不纯的东西去掉了,本质的东西必然会更加显示出来!平滑化的程度可以根据所分析的信号,选择合理的窗函数和带宽!可以采用逐步观察的方法进行考察!
3)功率谱密度的幅植的具体意义是什么??
   对于地震动信号(我研究的范畴),对于功率谱的单位,如数据为加速度时,为米(平方)/秒(三次方);若数据为速度或者位移时,他的单位为米(平方)/秒,米(平方)*秒;他和物理学中的功率(单位时间内所作的功,单位为瓦特)概念是不一样的。因此在地震波的情况下,所谓功率谱,不能用功率这一物理量来理解。
    对于一个问题的理解,关键靠自己多实践,找相关的资料学习,这样可以加深理解

评分

1

查看全部评分

回复 支持 反对
分享到:

使用道具 举报

发表于 2007-1-16 16:20 | 显示全部楼层
谢谢finland的回复。
发表于 2007-1-23 11:18 | 显示全部楼层
我现在通过试验得到离散化的峰值谱曲线,按上面讨论的提示,是不是只要先进行平方,然后除以频率分辨率就可以了?我们试验测试的都是单边谱,是否还需要×2。谢谢大家解答。
发表于 2007-2-13 21:18 | 显示全部楼层
yuzy,你肯定理解错了单边谱和双边谱的概念了。单边谱就是双边谱乘以2,所以你得到的如果是单边谱的话,那么应该在平方然后除以频率分辨率后,再除以2。
发表于 2007-2-28 06:41 | 显示全部楼层
学习中
发表于 2007-3-12 10:43 | 显示全部楼层
这个帖子真是经典,这么多人连续讨论了这么久。
发表于 2007-8-3 22:51 | 显示全部楼层
既然是经典的帖子,就让更多的人学习吧。顶起来!
从中学到不少,谢谢!!
发表于 2007-9-3 22:37 | 显示全部楼层
学习了~~:victory:
发表于 2007-11-18 22:55 | 显示全部楼层
wo 也是这个问题
发表于 2008-7-11 14:45 | 显示全部楼层
本帖最后由 wdhd 于 2016-6-3 10:53 编辑
原帖由 yangzp 于 2006-9-23 15:31 发表
功率谱密度,单位为:unit^2/Hz代表单位频率上信号的能量,所以是密度谱,幅值代表频段内的有效值平方,计算时的步骤为
1 对每一分段数据进行FFT变换,并求的幅值谱
2 对幅值谱进行平方
3 将双边谱转化为单边谱
...

按[Pxx,f]=pwelch(xn,window,noverlap,nfft,fs,range);求得的Pxx是不是等于1/N*|X(k)|.^2?即求到了上面步骤2
如果我需要的是单边谱,则为Pxx*2,即为上面步骤3
这样计算之后,是否还需再除以采样频率?
发表于 2008-7-11 15:04 | 显示全部楼层

关于窗函数的参数设置

在楼主的程序中,fs=1000;n=0:1/fs:1;样本长度为length(xn)=1001;
在使用窗函数时:window=boxcar(length(n)); %length(n)=1001
window=boxcar(100); %矩形窗
window1=hamming(100); %海明窗
window2=blackman(100); %blackman
其中窗函数的参数取了1001和100.

请问在使用窗函数时,如window1=hamming(n); 这个参数n的大小依据什么确定?
如果是非周期信号,经过截断取样本长为1024的信号,窗函数的参数是否需要与样本长度相同?
发表于 2008-7-11 17:17 | 显示全部楼层

自相关函数DFT计算

这里关键是离散时, 间接法如何计算自相关函数和功率谱是一对Fourier变换.

如楼主程序中,取xn=1024点,直接FFT得功率谱是1024点(为直观,简单,取Fs=nfft=1024;)

xn自相关后是2047点,但楼主程序中对其作1024点FFT,得功率谱1024点. (即取Xn的前1024点), 问题是自相关后是2047点,什么得1024谱线?

一般数据DFT中的n=0:N-1;  在计算自相关函数DFT时, n=-N+1:N-1, 这样2047个样点得谱线是1024个.

下面的程序用直接法和间接法结果相同了, 为简单,取Fs=N=1024;直接法fft后计功率谱,

close all;clc;clear all;
Fs=1024; %采样频率
n=0:1/Fs:1-1/Fs;
%产生含有噪声的序列
xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));
nfft=1024;
Pxx=fft(xn).*conj(fft(xn));%直接法
plot(10*log10(Pxx),'b');
hold
Fs=1024; %采样频率
n=0:1/Fs:1-1/Fs;
%产生含有噪声的序列
xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));
nfft=1024;
cxn=xcorr(xn);%计算序列的自相关函数
cxn=cxn(nfft:end)+[0 cxn(1:nfft-1)];
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
plot_Pxx=10*log10(Pxx);
plot(plot_Pxx,'r');

图中 直接法功率谱(兰)  间接法功率谱(红)

[ 本帖最后由 zhwang554 于 2008-7-11 19:47 编辑 ]
Image1.jpg
发表于 2008-7-15 15:00 | 显示全部楼层

回复 42楼 的帖子

你说话讲不清楚,没有条理!!!
发表于 2008-8-18 17:51 | 显示全部楼层

好文章 大家看

http://www.wanfangdata.com.cn/qi ... 000/0004/000415.htm
经典谱估计方法的MATLAB分析
姚武川 姚天任
发表于 2008-8-29 21:02 | 显示全部楼层

回复 40楼 zhly 的帖子

其实matlab的结果是已经除过采样频率的,见pwelch的帮助文件,matlab求的是S(exp(jw))/Fs,应该说结果该不该乘以Fs
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-4-24 19:04 , Processed in 0.200242 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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