声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1445|回复: 4

[综合] 请教相干系数的求法

[复制链接]
发表于 2012-11-12 23:18 | 显示全部楼层 |阅读模式

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

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

x
相干系数需要用互谱和自谱来求,但是这样子做的话相干系数为1
clear all;
clc
fs=8000;
t=0:1/fs:1-1/fs;
f0=800;
window=hamming(1024);
nfft=1024;
N=length(t);
x0=sin(2*pi*f0*t)+randn(1,N);
y0=cos(2*pi*200*t)+randn(1,N);
[cxy f]=mscohere(x0,y0);
figure
plot(f/pi*fs,cxy);
nfft1=8092;
X=fft(x0,nfft);
Y=fft(y0,nfft);
xy=X.*conj(Y);
gama=abs(xy).^2./(abs(X).^2.*abs(Y).^2);
figure
plot(gama);

由于我实际处理的信号已经处理为频域所以不能调用mscohere函数,我也知道在理论推导上讲这样做的结果就是等于1,但是我不理解为什么这样子不对,是我对计算过程的理解有误?还是概念有误?
请高手指点
回复
分享到:

使用道具 举报

 楼主| 发表于 2012-11-16 13:55 | 显示全部楼层
怎么没有人理我求助啊
发表于 2012-11-16 18:27 | 显示全部楼层
相干系数为互谱除以两个功率谱的乘积,分子上互谱应该是平均互谱,分母上两个功率谱也是谱估计平均
发表于 2012-12-7 10:38 | 显示全部楼层
3楼的理解是正确的,请参考WOSA方法:将整段数据分段求功率谱后平均,来使得相干系数小于1(同时大于0,相关文献很多)
发表于 2013-5-21 12:57 | 显示全部楼层

理论上赞成3楼,,matlab实现命令:R=corrcoef(imf(i,:),x); %相关系数矩阵【对称】,主对角元素为1
xg(i)=R(1,2); %相关系数
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-12 05:41 , Processed in 0.097565 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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