热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【20220627】【信号处理】自相关函数的定义、计算方法及应用

目录一、定义1.1概念引入1.2自相关定义1.3一个小例子二、性质三、Matlab仿真四、应用一、定义1.1概念引入要描述两个信号之间的相似性,仅用“

目录

一、定义

1.1 概念引入

1.2 自相关定义

1.3 一个小例子 

二、性质

三、Matlab 仿真

四、应用




一、定义


1.1 概念引入

        要描述两个信号之间的相似性,仅用 “很像”、“不太像” 等的描述就显得十分模糊,因此就需要一个指标定量描述信号间的相似程度。根据 “相关函数” 那篇文章可以知道,相关函数的物理意义就是用于定量描述两个随机信号之间的线性相关性,计算公式为:

\rho_{x,y}=\frac{cov(X, Y)}{\sqrt{D(X)}\sqrt{D(Y)}}=\frac{\sigma_{x,y}}{\sigma_x\sigma_y}

        相关系数的定义及相关性质详见:【20220623】【信号处理】深入理解Pearson相关系数和Matlab corr()、corrcoef()仿真_Satisfying的博客-CSDN博客

        相关函数可分为自相关函数、互相关函数和协方差函数。自相关函数是描述同一个随机信号 x(t) 在任意不同时刻 t_1, t_2 的取值之间的线性相关程度;互相关函数式描述两个不同的随机信号 x(t), y(t) 在任意不同时刻 t_1, t_2 的取值之间的线性相关程度。本文重点介绍自相关函数。


1.2 自相关函数定义

        自相关函数(ACF, Auto Correlation Function)是描述某一个随机信号在不同时刻之间的相关程度。自相关函数相当于对信号本身做 “互相关”,表示同一序列不同时刻的相关程度。利用自相关函数的物理意义,它可以用来寻找信号中的重复模式(比如寻找淹没在噪声中周期信号的周期),还可以识别丢失的基频等。自相关函数常用大写字母 R 表示,其定义式为:

R_{x,x}=E(x(t_1), x(t_2))

        对于连续信号,定义式为:

 R_{x,x}(\tau)=\int_{-\infty}^{+\infty}x(t)x(t+\tau)dt

        对于离散信号,定义式为:

R_{x,x}(n)=\sum_{n=-\infty}^{+\infty}x(m)x(m+n)

        也就是说,自相关函数就是信号 x(t) 和信号的时延 x(t+\tau) 的乘积之和,自相关函数曲线是时延 \tau 的函数。

        区分自相关函数和自相关系数:自相关系数类似于相关系数的概念,它是没有量纲的。自相关系数常用希腊字母 \rho 表示,其定义式为(定义式就是自相关函数和自相关系数的转换关系式):

\begin{align} \rho_{x,x}&=\frac{cov(x(t_1), x(t_2))}{\sigma_{x(t_1)}\sigma_{x(t_2)}}\nonumber\\ &=\frac{E[x(t_1)x(t_2)]-E[x(t_1)]E[x(t_2)]}{\sigma_{x(t_1)}\sigma_{x(t_2)}}\nonumber\\ &=\frac{R_{x,x}-\mu_x^2}{\sigma_x^2}\nonumber \end{align}


1.3 一个小例子 

        假如有一个时间序列 x(n)=1,2,3,4,5,6,7,8,9,10,根据离散信号的定义,做如下计算:

R_{x,x}(-9)=1*10=10

R_{x,x}(-8)=1*9+2*10=29

R_{x,x}(-7)=1*8+2*9+3*10=56

R_{x,x}(-6)=1*7+2*8+3*9+4*10=90

R_{x,x}(-5)=1*6+2*7+3*8+4*9+5*10=130

R_{x,x}(-4)=1*5+2*6+3*7+4*8+5*9+6*10=175

R_{x,x}(-3)=1*4+2*5+3*6+4*7+5*8+6*9+7*10=224

R_{x,x}(-2)=1*3+2*4+3*5+4*6+5*7+6*8+7*9+8*10=276

R_{x,x}(-1)=1*2+2*3+3*4+4*5+5*6+6*7+7*8+8*9+9*10=330

R_{x,x}(0)=1*1+2*2+3*3+4*4+5*5+6*6+7*7+8*8+9*9+10*10=385

R_{x,x}(1)=2*1+3*2+4*3+5*4+6*5+7*6+8*7+9*8+10*9=330

\cdots\cdots

        解释:虽然相关函数定义是从负无穷到正无穷,但是移位之后有交叉的部分乘积才不为零,因此只计算交叉部分即可。因此,长度为 10 的时间序列,自相关函数的结果是 1*19 的数组。即,长度为 N 的时间序列,其自相关函数是长度为 2N-1 的数组。 


二、性质


  1. 自相关函数是偶函数R_{x,x}(\tau)=R_{x,x}(-\tau),自相关系数曲线关于 \tau=0 对称;
  2. 当 \tau=0 时,自相关函数取得最大值,即:R_{x,x}(\tau)_{max}=R_{x,x}(0),其物理意义为信号的均方值;
  3. 周期信号的自相关函数仍为同频率的周期信号
  4. 若随机信号不含周期成分,当 \tau 趋于无穷大时,自相关函数趋于信号平均值的平方。

        性质的证明过程详见:【20220629】【信号处理】(平稳随机信号)自相关函数性质的证明过程


三、Matlab 仿真

        Matlab 中求时间序列自相关的函数命令为:xcorr()

%% 自相关函数
clear; clc; close all; warning off;xn = 1 : 10;
[xn_autoxcorr, tau]= xcorr(xn); % 时间序列xn的自相关函数曲线
figure(1); clf;
plot(tau, xn_autoxcorr, 'linewidth', 1.2);
xlabel('\tau'); ylabel('自相关系数'); title('xn的自相关函数曲线');
set(gca, 'fontsize', 14);


四、应用


  1. 回波检测;
  2. 分析出信号中的噪声并进行去噪;
  3. 检测淹没在随机噪声中的周期信号;
  4. 从畸变的波形中分离出基波和谐波等。


推荐阅读
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了[从头学数学]中第101节关于比例的相关问题的研究和修炼过程。主要内容包括[机器小伟]和[工程师阿伟]一起研究比例的相关问题,并给出了一个求比例的函数scale的实现。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
author-avatar
手机用户2502852635_269
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有