自相关函数,互相关函数

1. 首先说说自相关和互相关的概念。

        这个是信号分析里的概念,他们分别表示的是两个时间序列之间和同一个时间序列在任意两个不同时刻的取值之间的相关程度,即互相关

函数是描述随机信号x(t),y(t)在任意两个不同时刻t1,t2的取值之间的相关程度,自相关函数是描述随机信号x(t)在任意两个不同时刻t1,t2的

取值之间的相关程度。

        自相关函数是描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度;互相关函数给出了在频域内两个信号是否相关的一个

判断指标,把两测点之间信号的互谱与各自的自谱联系了起来。它能用来确定输出信号有多大程度来自输入信号,对修正测量中接入噪声源而产生

的误差非常有效.

       事实上,在图象处理中,自相关和互相关函数的定义如下:设原函数是f(t),则自相关函数定义为R(u)=f(t)*f(-t),其中*表示卷积;设

两个函数分别是f(t)和g(t),则互相关函数定义为R(u)=f(t)*g(-t),它反映的是两个函数在不同的相对位置上互相匹配的程度。

那么,如何在matlab中实现这两个相关并用图像显示出来呢?

dt=.1;
t=[0:dt:100];
x=cos(t);
[a,b]=xcorr(x,'unbiased');
plot(b*dt,a)
上面代码是求自相关函数并作图,对于互相关函数,稍微修改一下就可以了,即把[a,b]=xcorr(x,'unbiased');改为[a,b]=xcorr

(x,y,'unbiased');便可。


2. 实现过程:
      在Matalb中,求解xcorr的过程事实上是利用Fourier变换中的卷积定理进行的,即R(u)=ifft(fft(f)×fft(g)),其中×表示乘法,注:此

公式仅表示形式计算,并非实际计算所用的公式。当然也可以直接采用卷积进行计算,但是结果会与xcorr的不同。事实上,两者既然有定理保证

,那么结果一定是相同的,只是没有用对公式而已。下面是检验两者结果相同的代码:
dt=.1;
t=[0:dt:100];
x=3*sin(t);
y=cos(3*t);
subplot(3,1,1);
plot(t,x);
subplot(3,1,2);
plot(t,y);
[a,b]=xcorr(x,y);
subplot(3,1,3);
plot(b*dt,a);
yy=cos(3*fliplr(t)); % or use: yy=fliplr(y);
z=conv(x,yy);
pause;
subplot(3,1,3);
plot(b*dt,z,'r');
即在xcorr中不使用scaling。

3. 其他相关问题:
1) 相关程度与相关函数的取值有什么联系?

       相关系数只是一个比率,不是等单位量度,无什么单位名称,也不是相关的百分数,一般取小数点后两位来表示。相关系数的正负号只表

示相关的方向,绝对值表示相关的程度。因为不是等单位的度量,因而不能说相关系数0.7是0.35两倍,只能说相关系数为0.7的二列变量相关程度

比相关系数为0.35的二列变量相关程度更为密切和更高。也不能说相关系数从0.70到0.80与相关系数从0.30到0.40增加的程度一样大。
对于相关系数的大小所表示的意义目前在统计学界尚不一致,但通常按下是这样认为的:
相关系数      相关程度
0.00-±0.30    微相关
±0.30-±0.50  实相关
±0.50-±0.80  显著相关
±0.80-±1.00  高度相关

在同样的采样时间和采样频率下,低频信号采到的周期数要少。由Parseval定理,同一信号在时域内包含的总能量,等于频域内所包含的总能量。虽然时域上几个最高脉冲具有较高的能量,但是他们的数量少,能量和远小于那些搞频率部分,在频域中就要被弱化,被压低。在功率普中自然就不会突出。相反,功率稍高的信号采到的周期数就多,总能量就大,在功率普上就会表现充分。

此外,加速度传感器更适合采集中,高频震动信号。

一台完好设备所采集到的信号频带很快,其中绝大部分是噪声,我们把这样的频带很宽的噪声称作白噪声。然而,一台磨损的设备,当相接触的各个部件之间产程间隙后就必然发生碰撞,而旋转设备每转一转发生碰撞的部分基本上是固定的,也就是硕这种碰撞时周期性的。这些周期性的碰撞信号即有用噪声,被埋没在大量的白噪声值中,尤其是在故障的初级阶段。

posted @ 2012-06-21 17:37  zyx2007  阅读(3414)  评论(0编辑  收藏  举报