转自:https://www.cnblogs.com/yana-running/p/5458794.html

看了MATLAB关于xcorr的help文档没搞清楚什么意思,只够看到一篇不错的文章,通过简单事例即可了解其应用。

输入的是一个简单一维序列x=[1,2,3]

第一:缺省注释项,[a,b]=xcorr(x),通过该命令计算的结果为:a=3 8 14 8 3;b=-2 -1 0 1 2.

下面介绍一下,该过程计算机是如何计算的,首先讲b的计算,设一维序列的长度为N,则序列中任意两个数据序号相减,最小值为1-N,最大值为N-1,且能取遍两者之间的所有整数,将这些数从小到大排列得到的就是b;然后讲a的计算,在缺省注释项的情况下,a的计算是这样的,a的每一项是对应b的每一项的

1、当b(1)=-2时,计算a(1)时只用到一组数据——(3,1)注意顺序,只有这两个数据的序号相减(后面数据的序号减去前面的)满足b=-2,因此a(1)的计算公式为:3*1=3

2、当b(2)=-1时,计算a(2)时用到两组数据——(2,1)和(3,2),这两组数据的序号相减(后面数据的序号减去前面的)满足b=-1,因此a(2)的计算公式为:2*1+3*2=8

3、当b(3)=0时,计算a(3)时用到三组数据——(1,1)、(2,2)、(3,3),这三组数据的序号相减(后面数据的序号减去前面的)满足b=0,因此a(3)的计算公式为:1*1+2*2+3*3=14

4、当b(4)=1时,计算a(4)时用到两组数据——(1,2)和(2,3),(读者请对比和情况2的区别),这两组数据的序号相减(后面数据的序号减去前面的)满足b=1,因此a(4)的计算公式为:1*2+2*3=8

5、当b(5)=2时,计算a(4)时用到一组数据——(1,3),(读者请对比和情况1的区别),这两组数据的序号相减(后面数据的序号减去前面的)满足b=2,因此a(4)的计算公式为:1*3=3

第二:注释项为‘unbiased’,[a,b]=xcorr(x,‘unbiased’),通过该命令计算的结果为:a=3 4 4.6667 4 3;b=-2 -1 0 1 2.下面介绍计算机如何计算该过程,b的计算在四种注释项的情况下是相同的,就不再讲述了。a的计算仍是和b的每一项相对应的。

1、当b(1)=-2时,计算a(1)时只用到一组数据(记N=1)——(3,1)注意顺序,只有这两个数据的序号相减(后面数据的序号减去前面的)满足b=-2,因此a(1)的计算公式为:(3*1)/1=3

2、当b(2)=-1时,计算a(2)时用到两组数据(记N=2)——(2,1)和(3,2),这两组数据的序号相减(后面数据的序号减去前面的)满足b=-1,因此a(2)的计算公式为:(2*1+3*2)/2=4

3、当b(3)=0时,计算a(3)时用到三组数据(记N=3)——(1,1)、(2,2)、(3,3),这三组数据的序号相减(后面数据的序号减去前面的)满足b=0,因此a(3)的计算公式为:(1*1+2*2+3*3)/3=4.6667

4、当b(4)=1时,计算a(4)时用到两组数据(记N=2)——(1,2)和(2,3),(读者请对比和情况2的区别),这两组数据的序号相减(后面数据的序号减去前面的)满足b=1,因此a(4)的计算公式为:(1*2+2*3)/2=4

5、当b(5)=2时,计算a(4)时用到一组数据(记N=1)——(1,3),(读者请对比和情况1的区别),这两组数据的序号相减(后面数据的序号减去前面的)满足b=2,因此a(4)的计算公式为:(1*3)/1=3

第三:注释项为‘biased’,[a,b]=xcorr(x,‘biased’),通过该命令计算的结果为:a= 1.0000   2.6667    4.6667    2.6667    1.0000,b=-2 -1 0 1 2。下面介绍计算机如何计算该过程,注意到本次计算用到的序列x的长度为3,记为M=3。

1、当b(1)=-2时,计算a(1)时只用到一组数据——(3,1)注意顺序,只有这两个数据的序号相减(后面数据的序号减去前面的)满足b=-2,因此a(1)的计算公式为:(3*1)/M=1

2、当b(2)=-1时,计算a(2)时用到两组数据——(2,1)和(3,2),这两组数据的序号相减(后面数据的序号减去前面的)满足b=-1,因此a(2)的计算公式为:(2*1+3*2)/M=2.6667

3、当b(3)=0时,计算a(3)时用到三组数据——(1,1)、(2,2)、(3,3),这三组数据的序号相减(后面数据的序号减去前面的)满足b=0,因此a(3)的计算公式为:(1*1+2*2+3*3)/M=4.6667

4、当b(4)=1时,计算a(4)时用到两组数据——(1,2)和(2,3),(读者请对比和情况2的区别),这两组数据的序号相减(后面数据的序号减去前面的)满足b=1,因此a(4)的计算公式为:(1*2+2*3)/M=2.6667

5、当b(5)=2时,计算a(4)时用到一组数据——(1,3),(读者请对比和情况1的区别),这两组数据的序号相减(后面数据的序号减去前面的)满足b=2,因此a(4)的计算公式为:(1*3)/M=1

第四:注释项为‘coeff’,[a,b]=xcorr(x,‘coeff’),通过该命令计算的结果为:a= 0.2143   0.5714    1.0000    0.5714    0.2143,b=-2 -1 0 1 2,下面介绍计算机如何计算该过程,这种情况实际是将第三种情况下得到的结果进行归一化,使得b=0时对应的值为1,a(1)=1/4.6667=0.2143;a(2)=2.6667/4.6667=0.5714,a(3)=4.6667/4.6667=1,a(4)=2.6667/4.6667=0.5714,a(5)=1/4.6667=0.2143

另:xcorr命令在工程上的应用通常是对时间上的采样数据序列x进行处理,当数据点采完之后交给Matlab处理时,Matlab是不知道你的采样时间间隔的,它仅仅根据上文所述的计算过程对输入的数据序列x进行计算,但我们可以自己定义时间间隔,例如dt=0.01,此时t=dt*b即代表相关性计算中的时间延迟,前半部分是超前,后半部分是滞后,若R=xcorr(x,‘unbiased’),则通过命令:plot(t,R)即可得到该时域信号的自相关函数曲线。

Matlab之xcorr函数的解释相关推荐

  1. matlab中xcorr函数详解

    Matlab中xcorr函数详解 引言 在matlab中查找相关函数时,找到了xcov函数和xcorr函数,仔细看了帮助文档,发现虽然计算公式不一样,但是两个函数用法相同,计算出的值也相同,于是在翻了 ...

  2. matlab的xcorr函数,Matlab_xcorr_互相关函数的讨论

    假设两个平稳信号 $\textbf{x}$ 和 $\textbf{y}$ ,如果 $x\left(t+\tau\right)= y\left(t\right)$ ,则可通过互相关求 $\tau$ .由 ...

  3. 数学建模笔记(十一):统计模型(MATLAB计算,函数参数解释待补充)

    文章目录 一.概述 二.参数估计--区间估计 1.糖果称重(求总体均值 μ \mu μ的双侧置信区间) (一)根据公式计算结果 (二)直接使用 t t e s t ( ) ttest() ttest( ...

  4. 【 MATLAB 】xcorr 函数介绍(互相关)简介

    xcorr Cross-correlation Syntax r = xcorr(x,y) r = xcorr(x) r = xcorr(___,maxlag) r = xcorr(___,scale ...

  5. Matlab xcorr函数详解

    Matlab提供了计算互相关和自相关的函数xcorr函数 1.使用方法 c = xcorr(x,y) c = xcorr(x) c = xcorr(x,y,'option') c = xcorr(x, ...

  6. MATLAB中var函数,mean函数的含义及用法详细解释

    MATLAB中var函数,mean函数的含义及用法详细解释 var函数语句 我们先来看var函数,MATLAB命令窗输入help var ,可以得到用到方差函数Syntax有: V = var(X); ...

  7. MATLAB信号处理工具箱函数列表分类

    **现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询)** Waveform Generation(波形产生) chairp: 产生 ...

  8. matlab信号处理工具箱函数列表

    现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询) Waveform Generation(波形产生) chairp: 产生扫频余弦 ...

  9. 【 MATLAB 】filter 函数介绍 之 Filter Data in Sections

    [ MATLAB ]filter 函数介绍(一维数字滤波器) 在上篇博文中,里面有一个例子,就是过滤部分中的数据,这个部分中的数据的意思是如果有一个向量需要过滤,我们可以把它分为几段,然后分段过滤. ...

最新文章

  1. .NET平台开源项目速览(1)SharpConfig配置文件读写组件
  2. mysql affected rows_mysql_affected_rows函数定义与用法汇总
  3. 一个经典的对象级别插件的开发
  4. 【Elasticsearch】Elasticsearch 索引生命周期管理
  5. JSP的3种方式实现radio ,checkBox,select的默认选择值
  6. 2018 CCPC 桂林站(upc复现赛)总结
  7. 相克军_Oracle体系_随堂笔记011-事物
  8. 手游方舟怎么输入代码_方舟秘籍代码详细攻略介绍一览
  9. C专家编程 三 C语言声明是如何形成的
  10. 计算机重启 ie 被改,IE浏览器首页被篡改怎么办 如何重置IE还原到最初的安装状态...
  11. 计算机应届博士生的一点求职经验——概述篇
  12. CSDN 社区内容创作规范
  13. 【转载】一个游戏地图生成的方案
  14. 登链钱包(一款功能强大的以太坊钱包)完全开源
  15. html 实时曲线 js,基于d3.js实现实时刷新的折线图
  16. 一、熟悉新闻推荐系统基本流程
  17. css网格_CSS网格的逐步增强
  18. 【工具类】-转换人民币大小金额
  19. 哨兵2a 波段组合_基于多时相Sentinel-2A的县域农作物分类
  20. java hilbert空间算法_通俗理解Hilbert希尔伯特空间

热门文章

  1. 开关电源纹波的产生原因及抑制方法
  2. 蓝宝石超频软件测试,帧数提高60% 蓝宝石黑科技TRiXX Boost
  3. [CSDN帮助]勤写勋章说明
  4. java基础篇 第1章 计算机、程序和java概述 学习笔记 - 副本
  5. 无多普勒频移的海底混响单元散射模型卷积法
  6. 【Macbook 软件分享|使用技巧】干货
  7. Java高级 设计模式
  8. MOS管驱动电路分析及详解-KIA MOS管
  9. 5.2 项目范围管理
  10. 机器人越来越聪明了,是否应该赋予TA更多的权利? | 讨论