huoran11 发表于 2012-11-12 23:18

请教相干系数的求法

相干系数需要用互谱和自谱来求,但是这样子做的话相干系数为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);
=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,但是我不理解为什么这样子不对,是我对计算过程的理解有误?还是概念有误?
请高手指点

huoran11 发表于 2012-11-16 13:55

怎么没有人理我求助啊

mhd 发表于 2012-11-16 18:27

相干系数为互谱除以两个功率谱的乘积,分子上互谱应该是平均互谱,分母上两个功率谱也是谱估计平均

529899778 发表于 2012-12-7 10:38

3楼的理解是正确的,请参考WOSA方法:将整段数据分段求功率谱后平均,来使得相干系数小于1(同时大于0,相关文献很多)

华电机械 发表于 2013-5-21 12:57

mhd 发表于 2012-11-16 18:27 static/image/common/back.gif
相干系数为互谱除以两个功率谱的乘积,分子上互谱应该是平均互谱,分母上两个功率谱也是谱估计平均

理论上赞成3楼,,matlab实现命令:R=corrcoef(imf(i,:),x); %相关系数矩阵【对称】,主对角元素为1
xg(i)=R(1,2); %相关系数
页: [1]
查看完整版本: 请教相干系数的求法