zxb3558493 2014-12-23 14:09

用过Matlab的人都知道,Matlab的命令总是能一石三鸟,通过改变输入参数的注释项即可实现不同功能,如今xcorr命令的难点就在于其有四个注释项,这些注释项使得计算的结果各有不同,本文将详细介绍对应每个注释项Matlab是如何计算的,当然本文考虑输入的是一个简单一维序列x= ,序列中数据对应的序号依次为1,2,3 (请读者在阅读下文时,不要把序号和数据值弄混,这里只是个特例), 其他情况读者可以轻松扩展得到。首先确定一下,该序列的均值为2,方差值为0.6667.这个应该不用说怎么算的吧。然后读者需要了解的是该命令意在计算序列中间隔不同距离的数据之间的关系。 第一:缺省注释项 , =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’ , =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’ , =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’ , =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 博客,matlab相关推荐

  1. matlab simulink博客,MATLAB Simulink仿真数据记录

    之前没有去学习仿真的时候我发现我在做模型中信号与数据空间中数据信号关联的时候时常会让信号线上多一个大头针.当然,那一般是手动添加的时候加上去的.当我遇到的时候通常也会直接摸索一下原因,勾勾选选把这个大 ...

  2. 博客园Markdown模式的MATLAB代码高亮方案

    前言 博客园随笔写作可以使用 Markdown 进行编辑,当展示代码时,可以使用下面的语法来对代码块进行展示: ​```language code-content ​``` 一般来说,指明了 lang ...

  3. matlab读取心电注释.qrs文件格式,MIT-BIH ECG 心电数据的下载和读取图解 - 晨宇思远 - CSDN博客...

    MIT-BIH ECG 心电数据的下载和读取图解 收藏 一.如何下载获取MIT-BIH的数据 从下面这个官方链接页面可以下载到所有48组MIT-BIH心电数据: 下面这个链接是MIT-BIH数据库的详 ...

  4. gammatone滤波器 matlab,Sleepwalking_新浪博客

    标签: octave dsp 在Octave 3.6以上的版本中使用fir1设计低通/高通/带通/带阻滤波器时,往往发现通带增益不正常,严重影响滤波器性能.例如以下代码设计一个20阶的低通滤波器并绘制 ...

  5. 用matlab的编程法和游动鼠标法求二阶传递函数的上升时间、峰值时间、超调量和调节时间 - Gavin_Hall的博客 - CSDN博客

    1. 准备 终值:c(∞) 上升时间 tr:响应从峰值的10%上升到峰值的90%所需要的时间:而阶跃响应则是从终值的10%上升到终值的90%所需要的时间:对有振荡的系统,也可以定义为从0到第一次到达终 ...

  6. 【博客搬家】【转】Error evaluating...--MATLAB版本问题

    此为[博客搬家]文章,原发文地址:http://hi.baidu.com/lanseiboy/blog/item/61e1053009efe54ead4b5fb5.html   Error evalu ...

  7. vb调用matlab工具箱,Matlab与VB集成 - 关于VB的经验之谈 - VB爱好者乐园(VBGood) - 关于VB的经验,电子教程,代码,控件,论坛,博客,微博等....

    工业生产中经常遇到复杂的数据信息处理问题,需要大运算量的矩阵计算及对分析结果进行实时.直观的图形化显示.Matlab是集数值分析.矩阵运算.信号处理和图形显示于一体的高性能数学软件,将其强大的计算功能 ...

  8. 本博客Matlab、FPGA代码获取方法

    本博客所有博文所对应的MATLAB代码.FPGA代码包括MATLAB.Quartusii.Vivado.Simulink.System Generator等工具. ------------------ ...

  9. MachineLN博客目录

    MachineLN博客目录 https://blog.csdn.net/u014365862/article/details/78422372 本文为博主原创文章,未经博主允许不得转载.有问题可以加微 ...

最新文章

  1. 直接在sublime中运行php
  2. 设置子元素在主轴(横轴)方向上的对齐方式为容器的开头_今日推送 CSS Flexbox布局(上)...
  3. php做gui,php7 图形用户界面GUI如何开发
  4. win11什么时候发布的_2021年初级会计师考试大纲什么时候发布?
  5. Tp3.1 文件上传到七牛云
  6. java从键盘上录入学生人数和每个学生的姓名以及分数,按照分数降序输出,学生名次、学生姓名、学生分数
  7. 设计一算法查找链表的中间结点。要求该算法的时间复杂度为O(n),空间复杂度为O(1)
  8. SQL 优化极简法则,你掌握几个?
  9. Table控件布局DataList模板
  10. python 生存分析,利用python进行泰坦尼克生存预测——数据探索分析
  11. 经典网络结构 (五):ResNet (残差网络)
  12. java http 401_401 API请求状态错误
  13. vivox50支持鸿蒙,vivo X50厚度刷新纪录:迄今为止最薄5G手机
  14. nacos开机启动报错找不到JAVA_HOME
  15. 建建自学VoIP之VAD(Voice Activity Detector)和CNG(Comfort Noice Generator)
  16. heic(HEIF)格式图像处理(一)
  17. hdu2448 费用流
  18. 万字长文读懂SaaS的中国版图、问题及趋势
  19. 牛客网错题集合之字符串(一)
  20. 12306要满足春运难点在哪里?外包给阿里,IBM等大型企业可不可行?

热门文章

  1. paddle版fnet_google
  2. 全链路跟踪系统设计与实践(转载)
  3. python中try Except抛出异常使用方法
  4. 在虚拟机上linux系统上上网
  5. Ubuntu14.04安装JDK
  6. 深入剖析SolrCloud(二)
  7. 大数据时代的创新者们
  8. 基于SSM实现考研信息管理平台系统
  9. 百货中心供应链管理系统
  10. 多组学-ATAC-seq-概念