- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab自相关函数和互相关函数的计算和作图
自相关函数(Autocorrelation function,缩写ACF)是信号处理、时间序列分析中常用的数学工具,反映了同一序列在不同时刻的取值之间的相关程度。
自相关函数在不同的领域,定义不完全等效。在某些领域,自相关函数等同于自协方差(autocovariance)。
信号处理
在信息分析中,通常将自相关函数称之为自协方差方程。 用来描述信息在不同时间τ的,信息函数值的相关性。
,其中“*”是卷积算符,为取共轭
自相关函数的性质
以下以一维自相关函数为例说明其性质,多维的情况可方便地从一维情况推广得到。
对称性:从定义显然可以看出R(i)?=?R(?i)。连续型自相关函数为偶函数
当f为实函数时,有:
当f是复函数时,该自相关函数是厄米函数,满足:
其中星号表示共轭。
连续型实自相关函数的峰值在原点取得,即对于任何延时 τ,均有 。该结论可直接有柯西-施瓦茨不等式得到。离散型自相关函数亦有此结论。
周期函数的自相关函数是具有与原函数相同周期的函数。
两个相互无关的函数(即对于所有 τ,两函数的互相关均为0)之和的自相关函数等于各自自相关函数之和。
由于自相关函数是一种特殊的互相关函数,所以它具有后者的所有性质。
连续时间白噪声信号的自相关函数是一个δ函数,在除 τ?=?0 之外的所有点均为0。
维纳-辛钦定理(Wiener–Khinchin theorem)表明,自相关函数和功率谱密度函数是一对傅里叶变换对:
实值、对称的自相关函数具有实对称的变换函数,因此此时维纳-辛钦定理中的复指数项可以写成如下的余弦形式:
白噪声的自相关函数为δ函数:
自相关函数和偏相关函数的问题
在时间序列分析的研究中,首先是判别时间序列的稳定性,如果时间序列是平稳的就可以计算这些数据的自相关函数和偏相关函数。如果自相关函数是拖尾的,偏相关函数是截尾的,那麽数据符合AR(P)模型。如果自相关函数是截尾的,偏相关函数是拖尾的,那麽数据复合MA( Q )模型如果自相关函数和偏相关函数都是拖尾的,那麽数据复合ARMA( P,Q )模型。
1. 首先说说自相关和互相关的概念。
这个是信号分析里的概念,他们分别表示的是两个时间序列之间和同一个时间序列在任意两个不同时刻的取值之间的相关程度,即互相关函数是描述随机信号x(t),y(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)