声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1159|回复: 3

[FFT] 急啊,急切希望大家帮我讨论一下,感激不尽!

[复制链接]
发表于 2008-10-10 17:00 | 显示全部楼层 |阅读模式

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

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

x
%%%%%关于用互相关函数进行互谱分析
clear
load 'wind.txt'; %导入数据文件
M=2;
N=3;
%变换此处的M和N的值可以求不同点的互谱
X=wind(:,M);
Y=wind(:,N);
[Pxy,F] = cpsd(X,Y,[],[],512,6.25);

其中cpsd函数是进行互谱分析的,但其所用的方法是经典谱估计的welch方法,其谱线起伏度还是很大,我查了很多资料,好像现在进行的互谱分析用的都是cpsd,我想能不能用现代谱估计(例如burg)方法代替,程序如下:
M=2;
N=3;
%变换此处的M和N的值可以求不同点的互谱
X=wind(:,M);
Y=wind(:,N);
cxy = cohere(X,Y,256,6.25);
[Pxx1,F]=pburg(X,6,256,6.25);
[Pxx2,F]=pburg(Y,6,256,6.25);
for n=1:129
[Pxy,F]=(Pxx1(n)*Pxx2(n))*cxy(n);
end
其中红色部分就是改后的,先进行自谱估计,再根据相关函数与互谱、自谱的关系(用相关函数乘以两个信号的自谱)。
不知这种方法可行?望高手指教。

[ 本帖最后由 xulinzero 于 2008-10-10 17:06 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-10-10 17:05 | 显示全部楼层

急啊,希望大家帮我讨论一下

:@) 望高人指教
小弟不盛感激!
发表于 2008-10-10 18:20 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-12 14:27 编辑
原帖由 xulinzero 于 2008-10-10 17:00 发表
%%%%%关于用互相关函数进行互谱分析
clear
load 'wind.txt'; %导入数据文件
M=2;
N=3;
%变换此处的M和N的值可以求不同点的互谱
X=wind(:,M);
Y=wind(:,N);
[Pxy,F] = cpsd(X,Y,[],[],512,6.25);
其中cpsd函数是进行互谱分析的,但其所用的方法是经典谱估计的welch方法,其谱线起伏度还是很大,我查了很多资料,好像现在进行的互谱分析用的都是cpsd,我想能不能用现代谱估计(例如burg)方法代替,程序如下:
...

我认为在谱线起伏度还是很大是信号的真实反映,要想减少起伏的话,可以对cpsd中的noverlap进行设置,以便求出多个谱进行平均,以减小起伏。
同时LZ设置[Pxx1,F]=pburg(X,6,256,6.25)中p用6,当然使频谱光滑,因为只允许3个峰值,当把p的设置加大,谱线一样会有起伏了。

[ 本帖最后由 songzy41 于 2008-10-10 19:28 编辑 ]
 楼主| 发表于 2008-10-10 21:47 | 显示全部楼层

回复 板凳 songzy41 的帖子

你好 谢谢你的回复
我现在做的是用AR法模拟一个风场, 然后进行谱密度分析,使得它的自谱和互谱与目标谱(kaimal谱)能够很好的拟合,以前用的是pwelch(Y,256,6.25)函数,但是pwelch在低频的时候模拟的精度很差,且起伏很大,所以现在要想办法改进这种算法,提高它与目标谱的拟合精度。
在burg算法中当p 取很低的时候,它的自谱与kaimal谱正好能够很好的吻合,所以我就没有按照常规的阶数选取方法,而是取得很低。但是互谱分析是由于只有cpsd函数,它用到的其实还是welch算法,无法改进,所以我就想是否能够按照上面的方法用相关函数与互谱、自谱的关系间接的代替cpsd函数,使用自谱估计的burg算法估计自谱,再得到互谱,从而避开使用welch算法,不知道这样是否可行?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 18:32 , Processed in 0.058751 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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