《互相关函数-自相关函数计算和作图.doc》由会员分享,可在线阅读,更多相关《互相关函数-自相关函数计算和作图.doc(5页珍藏版)》请在金锄头文库上搜索。
1、互相关函数,自相关函数计算和作图1.自相关和互相关的概念。l 互相关函数是描述随机信号x(t),y(t)在任意两个不同时刻t1,t2间的相关程度。l 自相关函数是描述随机信号x(t)在任意两个不同时刻t1,t2间的相关程度。互相关函数是在频域内两个信号是否相关的一个判断指标,把两测点之间信号的互谱与各自的自谱联系了起来。它能用来确定输出信号有多大程度来自输入信号,对修正测量中接入噪声源而产生的误差非常有效。-事实上,在图象处理中,自相关和互相关函数的定义如下:设原函数是f(t),则自相关函数定义为R(u)=f(t)*f(-t),其中*表示卷积;设两个函数分别是f(t)和g(t),则互相关函数定
2、义为R(u)=f(t)*g(-t),它反映的是两个函数在不同的相对位置上互相匹配的程度。2.利用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);便可。3. 实现过程:在Matalb中,求解xcorr的过程事实上是利用Fourier变换中的卷积定理进行的,即R(u)=ifft(fft(f)fft(g),其中表示乘法,注:此公式仅表示形式计算,并非实际计算所用的公
3、式。当然也可以直接采用卷积进行计算,但是结果会与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*
4、dt,z,r);即在xcorr中不使用scaling。4. 其他相关问题:1) 相关程度与相关函数的取值有什么联系?相关系数只是一个比率,不是等单位量度,无什么单位名称,也不是相关的百分数,一般取小数点后两位来表示。相关系数的正负号只表示相关的方向,绝对值表示相关的程度。因为不是等单位的度量,因而不能说相关系数0.7是0.35两倍,只能说相关系数为0.7的二列变量相关程度比相关系数为0.35的二列变量相关程度更为密切和更高。也不能说相关系数从0.70到0.80与相关系数从0.30到0.40增加的程度一样大。对于相关系数的大小所表示的意义目前在统计学界尚不一致,但通常按下是这样认为的:相关系数
5、相关程度 0.00-0.30 微相关 0.30-0.50实相关 0.50-0.80显著相关 0.80-1.00高度相关-3) 与matlab中相关函数xcorr()与相关度函数corrcoef()的关系:相关度函数:对于一般的矩阵X,执行A=corrcoef(X)后,A中每个值的所在行a和列b,反应的是原矩阵X中相应的第a个列向量和第b个列向量的相似程度(即相关系数)。计算公式是:C(1,2)/SQRT(C(1,1)*C(2,2),其中C表示矩阵f,g的协方差矩阵,假设f和g都是列向量(这两个序列的长度必须一样才能参与运算),则得到的(我们感兴趣的部分)是一个数。以默认的A=corrcoef(
6、f,g)为例,输出A是一个二维矩阵(对角元恒为1),我们感兴趣的f和g的相关系数就存放在A(1,2)=A(2,1)上,其值在-1,1之间,1表示最大的正相关,-1表示绝对值最大的负相关l 相关函数xcorr函数是通过不反折的卷积来衡量这两个信号在不同位置的相似程度假设两个序列的长度分别是m和n,则得到的是一个长度为2*max(m,n)-1的序列,也就是说,当m和n不相等的时候,在执行xcorr的时候会先对短的那个序列进行0扩充,使得m与n相等;l 相关度corrcoef函数是通过协方差矩阵来衡量这两个信号在不同局部的相似程度,计算公式是:C(1,2)/SQRT(C(1,1)*C(2,2),其中
7、C表示矩阵f,g的协方差矩阵,假设f和g都是列向量(这两个序列的长度必须一样才能参与运算),则得到的(我们感兴趣的部分)是一个数。以默认的A=corrcoef(f,g)为例,输出A是一个二维矩阵(对角元恒为1),我们感兴趣的f和g的相关系数就存放在A(1,2)=A(2,1)上,其值在-1,1之间,1表示最大的正相关(例如x=1;2;3, y=5;7;9),-1表示绝对值最大的负相关(例如x=1;2;3, y=12;7;2)。对于一般的矩阵X,执行A=corrcoef(X)后,A中每个值的所在行a和列b,反应的是原矩阵X中相应的第a个列向量和第b个列向量的相似程度(即相关系数)。4)互相关函数图
8、像的横坐标问题以下例子,主要求两个信号的相位差,按照某篇参考资料的说法,t_max对应的值就应该是它们的相位差,但是这个程序中做出的互相关函数的横坐标不是-40到+40,而是0到1200,请问这个横坐标表示的是什么意思呢?n=99;%设定每周期数据采集点数T=6;%采样周期数t=0:2*pi/(n-1):2*T*pi;%采样数y1=4*sin(t);%信号1y2=8*sin(t+pi/6);%信号2,相位差取pi/6Cc=xcorr(y1,y2);%求互相关函数y_max,t_max=max(Cc)%找出Cc的最大值及对应的t_maxsubplot(311); plot(t,y1); grid;subplot(312); plot(t,y2); grid;subplot(313); plot(Cc); grid差距大,市场体系不完善,缺乏集聚效应等问题,同时充分考虑到该地周围已形成成熟建材商圈的商业价值,因地制宜的进行家居建材广场的建设。通过合理布局、优化环境、提升服务,该项目必将切实发挥商业区在引导消费、拉动经济增长方面的作用,促进该县经济和社会又好又快发展。