自相关与互相关

article/2025/8/15 22:12:39

自相关(Autocorrelation),也叫序列相关,是一个信号与其自身在不同时间点的互相关。非正式地来说,自相关是对同一信号在不同时间的两次观察,通过对比来评判两者的相似程度。自相关函数就是信号x(t)和它的时移信号x(t-τ)的乘积平均值。它是时移变量τ的函数。

这是从书上抄来的话,到底是什么意思呢?

说人话!好吧,让我来编一个有关潜伏的故事:

话说余则成要到火车站去交换情报,他需要在火车靠站的短短几分钟内找到这位情报员并完成交换工作,在熙熙攘攘的火车站里,除非事先知道情报员所在的车厢,否则根本来不及。任务的前一天,他收到了含有情报员所在车厢的密电,密电如下:

这是什么鬼?

这是一段随机信号,但在其中隐藏了一个正弦,你能看得出来吗?

余则成同志的智商是比较高的,也是上过大学的,他的眼睛在杂乱无章的随机曲线上来回快速扫描,运用自己所有的知识,希望能找出那个正弦来。半个小时后……终于,

他什么也没发现。

余则成想了一个笨办法,他让翠平把曲线照猫画虎地描出一小段来,然后拿着翠平的画样在整个曲线上一点一点地进行对比。

怎么对比呢?无非是“加、减、乘、除”之类。但因为“加、减”属于同量级的变化,用肉眼就能大概地完成,而“除”则具有缩小功能。所以,为放大曲线中的差异,显然“乘法”大概是比较好的选择。

然后怎么办呢?总不能用“有点像”、“很像”、“很不像”这样的词来评价吧。他将整个比较过程分为四个步骤:

第一步:将“画样”与原信号中的开始端对齐,逐点一一对应地相乘,得到一小段新曲线;

第二步:将新曲线上各个点的值进行算术平均,得到一个均值;

第三步:将得到的均值描绘在最终曲线图中;

第四步:将“画样”向后挪动一点(“步距”),重复上述过程,直至“画样”移动到曲线末端。

这个工作很繁琐,但好在不太难,余则成教会翠平后就忙着应付陆桥山去了,等晚上回到家,看到的结果虽然不是太满意,但最终的曲线中还是表现出了很强的规律性,他拿尺子量了所有“锯齿”的间距,取了个平均值,得到了Δt≈0.2s,取倒数便是5Hz。第二天,余则成顺利地在5号车厢与情报员完成了交接。

好吧,我承认,这个故事编的不太认真,不过戏剧性本来也不是我们这里讨论的重点哈。

我们只是想通过这个小栗子来说明,“自相关”这种数据处理方法,可以发现隐藏在杂乱信号中的有用信息。这个能力是相当重要的,因为工程实际中的信号,不可避免地要受到各种干扰,严重的时候会完全淹没真正有用的数据。自相关能找出重复信息(被噪声掩盖的周期信号),或识别隐含在信号谐波频率中消失的基频,它常用于时域信号的分析。

用数学的语言表述,则是:自相关函数是信号在时域中特性的平均度量,它用来描述信号在一个时刻的取值与另一时刻取值的依赖关系。

另外,上面的这个例子也仅是故事性的,并不满足数学的严格性。实际上,数学上是这样定义的:

这个公式中,τ是进行“比较”时移动的“步距”。而整个公式的意思是“将x(t)进行时移,得到x(t+τ),然后将其与x(t)在整个范围内逐点进行相乘,得到一条新曲线,这条曲线下方所围成的面积就是一个R值。改变τ的取值,再来一次,……,如此不断重复,R的一系列值将成为R(τ)曲线,这就是自相关曲线”。

自相关函数就是信号x(t)和它的时移信号x(t+τ)乘积的平均值,它是时移变量τ的函数。

如果能明确地看出原始数据有周期性,那么就不必在整个数轴范围(-∞~+∞)内进行移动比较了,只需要移动一个周期(T)即可:

明白了自相关,互相关也就好懂了。其实,大多数教材都是先讲互相关的。因为,所谓相关性,从字面的意思就是指两组数据,把它们相互比较,看看有没有关联。自相关是自己和自己比,互相关呢,自然就是两个不同信号之间相互比:

基本定义介绍完了,我们来看看,自相关函数有什么特点。

假设有一个余弦信号: 

它的自相关函数是什么呢?根据定义,有:

可以看到,自相关函数仍为余弦,且频率不变。如果信号是由两个频率与初相角不同的频率分量组成,同样可以证明,余弦信号的自相关函数还是是一个余弦函数。它保留了原信号的频率成分,其频率不变,幅值等于原幅值平方的一半,即等于该频率分量的平均功率,但丢失了相角的信息。

自相关函数具有如下主要性质

(1). 自相关函数为偶函数, ,其图形对称于纵轴。因此,不论时移方向是导前还是滞后(τ为正或负),函数值不变;

(2). 当τ=0时,自相关函数具有最大值,且等于信号的均方值;

(3). 周期信号的自相关函数仍为同频率的周期信号;

(4). 若随机信号不含周期成分,当τ趋于无穷大时,自相关函数趋于信号平均值的平方。

典型应用:

(1). 检测信号回声(反射)。若在宽带信号中存在着带时间延迟τ0的回声,那么该信号的自相关函数将在τ=τ0处也达到峰值(另一峰值在τ=0处),这样可根据τ0确定反射体的位置。

(2). 检测淹没在随机噪声中的周期信号。由于周期信号的自相关函数仍是周期性的,而随机噪声信号随着延迟增加,它的自相关函数将减到零。因此在一定延迟时间后,被干扰信号的自相关函数中就只保留了周期信号的信息,而排除了随机信号的干扰。

另外,相关函数的计算与卷积的计算有点关系。

从定义式中可以看到,互相关函数和卷积运算类似,也是两个序列滑动相乘,但是区别在于:互相关的两个序列都不翻转,直接滑动相乘,求和;卷积的其中一个序列需要先翻转,然后滑动相乘,求和。所以,x(t)和y(t)做相关等于x(t)与y(-t)做卷积。


http://chatgpt.dhexx.cn/article/pWKHaf1F.shtml

相关文章

异方差、自相关

一、异方差 异方差——用人话解释:随机扰动项的方差跟自变量有关系 异方差的后果: 1、OLS的估计仍然是无偏、一致的 2、T检验、F检验失效 3、高斯马克尔科夫定理使用了同方差假设——OLS不再是BLUE(Best Linear Unbiased Estimation)即无偏最小估计量…

第三章 正态性检验、自相关检验与异方差性检验

知识回顾(Knowledge review) 第二章 模型的估计与结果:https://blog.csdn.net/ChenQihome9/article/details/82818974 第一节 检验的步骤和过程 估计的模型要符合计量经济学的前提假设,如果违反了经典假设,那么会导致…

时间序列之向量自回归检验VAR(自相关性)(2)

一、基本概念 对于模型 y t b 0 b 1 x 1 t b 2 x 2 t ⋯ b k x k t u t y_{t} b_{0} b_{1}x_{1t}b_{2}x_{2t}\cdotsb_{k}x_{kt}u_{t} yt​b0​b1​x1t​b2​x2t​⋯bk​xkt​ut​如果随机误差项 u t u_{t} ut​的各期望值之间存在着相关关系,即 C o v ( u i…

【零基础Eviews实例】02自相关(序列相关)的检验与修正

使用说明 本文档主要介绍关于线性回归模型的自相关(又叫序列相关)的检验(图像法、辅助回归、DW检验与LM检验)与修正(广义差分最小二乘法,GLS)。使用软件为Eviews 9。 关于一些提到的基本操作可…

【Python计量】自相关性(序列相关性)的检验

文章目录 一、图示法(一)滞后图(二)自相关图(三)自相关图和偏自相关图 二 、DW检验法三、Breusch-Godfrey检验(一)手动编制函数进行BG检验(二)调用statsmodel…

计量经济学笔记6-Eviews操作-自相关的检验与消除(DW、LM检验与FGLS、广义差分变换)

完成期末作业的同时来更一下博客 背景介绍 对中国储蓄存款总额(Y,亿元)与GDP(亿元)两个变量进行一元线性回归,检验并消除自相关。 自相关分为一阶自相关和高阶自相关,通常使用DW检验来查看是…

应用回归分析(知识点整理)(四)——SPSS处理自相关(序列相关)

文章目录 自相关自相关产生的原因自相关产生的后果自相关的检验方法图示检验法自相关系数法DW(杜宾沃森)检验 自相关的消除迭代法差分法SPSS处理自相关示例 自相关 自相关产生的原因 (1)忽略遗漏了关键变量 (2&#…

计量经济学笔记——自相关的检验和处理(转载)

自相关(序列相关);线性相关模型中的随机误差项的各期望值之间存在相关关系 如果随机干扰项之间不存在自相关,εt和εts的协方差为0 序列相关的形式:1)一阶序列相关:干扰项只与其滞后一期值相关 2&#xff0…

线性回归:自相关检测及其处理方法

1 自相关的定义 1.1 定义 对于线性回归模型 Y i β 0 β 1 X 1 i β 2 X 2 i ⋯ β n X n i u i Y_{i}\beta_{0}\beta_{1}X_{1i}\beta_{2}X_{2i}\dots\beta_{n}X{ni}u_{i} Yi​β0​β1​X1i​β2​X2i​⋯βn​Xniui​在其他经典假定不变的条件下,若 C o v …

相同数相乘

#include <stdio.h> int main() { long term0,sum0; int a,i,n; printf("input a,n:"); scanf("%d,%d",&a,&n); for(i1;i<n;i) { termterm*10a; sumsumterm; } printf("sum%1d\n",sum); }

实现两个矩阵相乘

题目&#xff1a;实现两个矩阵相乘。 想法&#xff1a; 通过分析矩阵相乘可假设变量i,j,k控制下标&#xff0c; 则有以下公式&#xff1a; c[i][j]a[i][k]*b[k][j]&#xff08;三个变量循环次数&#xff1a;i>j>k&#xff09; 所以可以使用三次循环解出相乘的每个数…

c++两个特别大的数之间相乘怎么计算?

两个数特别大&#xff0c;相乘起来超过了long int型的范围&#xff1f;怎么计算&#xff1f; 比如&#xff1a;要计算123456789987654321 * 987654321123456的值&#xff0c;怎么写程序&#xff1f; /* large_num_operation.cpp */ #include <iostream> #include <cst…

两个整数相乘的java实现

package 乘法; /* 求 345*7893 4 5X7 8 9———————————————————————— */ public class Chengfa { public static void main(String[] args) {//乘数1 将两个乘数分别出入两个数组中&#xff0c;//数组中的元素对应的位置分别是个位 十位 百位 数组[…

在Java中实现两数相乘

要实现两数相乘算总额&#xff1a;input1.value() * input2.value() 如果直接获取到两个input值相乘&#xff0c;那么结果就有一点点小偏差&#xff0c;是因为精度缺失 $("#totalSum").val(input1.value() * input2.value()); Js代码&#xff1a; //期初库存 按钮…

两整数相乘算法

算法需求 求两个整数相乘的算法 算法分析 将前一个数的每一位和后一个数的每一位相乘&#xff0c;因计算过程中涉及到满十进位的问题&#xff0c;所以可以通过判断相乘数的位数进行补零操作来简化这个问题&#xff0c;如下图所示&#xff1a; 例如计算&#xff1a;84 * 13…

C++实现——两个大数相乘

#include <iostream> #include <vector> #include <string> using namespace std; //大数相乘 /** *num1 乘数1 *num2 乘数2 *return 结果字符串 */ string BigMutiple(string num1, string num2){string res"";//两个数的位数int m num1.size(),…

两两相乘求和

给定 n 个整数 a_1, a_2, , a_na1​,a2​,⋅⋅⋅,an​ &#xff0c;求它们两两相乘再相加的和&#xff0c;即&#xff1a; 输入格式 输入的第一行包含一个整数 n。 第二行包含 n 个整数。 输出格式 输出一个整数 S&#xff0c;表示所求的和。请使用合适的数据类型进行运…

php 订单自动售货 实现,PHP自动售货发卡网源码 集成多种支付接口

支付接口已集成 支付宝当面付 支付宝PC支付 支付宝手机支付 payjs微信扫码. Paysapi(支付宝/微信). 码支付(QQ/支付宝/微信) 微信企业扫码支付 全网易支付支持(针对彩虹版) 基本环境要求 (PHP PHPCLI) version > 7.0 Nginx version > 1.16 MYSQL version > 5.6 Redis…

php如何做7天后自动售货店,PHP自动售货发卡网源码集成多种支付接口

PHP自动售货发卡网源码 集成多种支付接口 支付接口已集成 支付宝当面付 支付宝PC支付 支付宝手机支付 payjs微信扫码. Paysapi(支付宝/微信). 码支付(QQ/支付宝/微信) 微信企业扫码支付 全网易支付支持(针对彩虹版)基本环境要求 (PHP PHPCLI) version > 7.0 Nginx version …