互相关函数的物理意义,互相关函数的自相关函数,互相关函数

互相关函数的自相关函数 , 互相关函数

互相关函数的物理意义,互相关函数的自相关函数,互相关函数

文章插图
1. 首先说说自相关和互相关的概念 。
这个是信号分析里的概念 , 他们分别表示的是两个时间序列之间和同一个时间序列在任意两个不同时刻的取值之间的相关程度 。自相关函数是描述随机信号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 。
傅里叶变换与互相关 , 自相关函数有什么关系
互相关函数的物理意义,互相关函数的自相关函数,互相关函数

文章插图
自相关函数应用非常广泛 , 在不同的应用领域中它具有不同的物理意义
例如 , 在电学、信号处理方面 , 一个随机过程(信号)的自相关函数与该随机过程(信号)的功率谱或能量谱成傅立叶变换对的关系
matlab的互相关函数xcorr()和numpy的互相关函数numpy.correlate()有啥区别 , 为啥运行时间差那么多?
互相关函数的物理意义,互相关函数的自相关函数,互相关函数

文章插图
因为python与matlab是两种不同编程语言 。python是一种动态的、面向对象的脚本语言 , 而matlab是面向对象的解释性语言 。所以执行同样的函数python的运行速度要比matlab快 。
在matlab中互相关函数值和互相关系数是什么关系
互相关函数的物理意义,互相关函数的自相关函数,互相关函数

文章插图
1.Matlab中什么是互相关函数
matlab中互相关函数是xcorr(x,y). x和y是输入信号 。互相关函数值默认的互相关计算公式如下:(可以看出 , 对实信号来说 , 互相关函数值结果是对称的)