自相关矩阵和互相关矩阵的matlab实现
一维实值信号x的自相关矩阵Rxx应为实对称的toeplitz矩阵,而一维实值信号x,y的互相关矩阵Rxy为非对称的toeplitz阵,matlab提供的corrmtx函数产生的并非通常意义下的autocorrelation matrix
事实上,我们可以利用xcorr+toeplitz和corrmtx两种方法实现自相关阵Rxx和互相关阵Rxy
一、 Rxx
1)% implementation with xcorr and toeplitz
m= 256;% dfine the time lag m+1, and m+1<=n;
n=length(x);%location of rxx(0);
rx=xcorr(x);%length of rx is 2*n-1;
Rxx=toeplitz(rx(n:n+m))/n;
2)%implementation with corrmtx
m= 256;% dfine the time lag m+1,and m+1<=n
rx=corrmtx(x,m);
Rxx=rx'*rx;
二、Rxy
1)% implementation with xcorr and toeplitz
m= 256;% dfine the time lag m+1, and m+1<=n;
n=max(length(x),length(y));location of rxy(0);
rxy=xcorr(x,y);%length of rxy is 2*n-1;
RR=toeplitz(rxy)/n;%RR is a (2*n-1)*(2*n-1) matrix
Rxy=RR(1:m,n:n+m);%the exact location of Rxy in RR;
2)% implementation with corrmtx
m= 256;% dfine the time lag m+1, and m+1<=n;
rx=corrmtx(x,m);
ry=corrmtx(y,m);
Rxy=rx'*ry; %on the other hand, Ryx=Rxy'
上面的方法实现了自相关和互相关的有偏矩估计(实际是用fft实现卷积的前提下做到的),也是做统计分析的常用手段,当然除了有偏矩估计,corrmtx还有很多可选参数,以供不同目的使用。
还有Rxy=Ryx',也就是说要求Ryx,只需要计算Rxy即可。
需要注意的是,当时延m+1接近于信号长度n的时候,xcorr后面的值(rx(m+1),rx(m),
r(m-1)...)估计的并不准确,这将严重影响滤波器设计等后续工作的效果,可以确信的是,n-m-1>100的时候,Rxx是可信的。
另外,自相关阵Rxx是一个主对角线绝对占优阵,也就是说,主对角线的值远大于其它对角线
这样svd(Rxx)得到的奇异值和eig(Rxx)得到的特征值几乎相同,这也是为什么有的论文用svd方法求主分量,有的则用evd(eigen value decomposition)求主分量了。
自相关矩阵和互相关矩阵的matlab实现相关推荐
- matlab对矩阵自相关,自相关矩阵和互相关矩阵的matlab实现
自相关矩阵和互相关矩阵的matlab实现 一维实值x的自相关矩阵Rxx应为实对称的toeplitz矩阵,而一维实值信号x,y 的互相关矩阵Rxy为非对称的toeplitz阵,matlab提供的corr ...
- 【什么是自相关矩阵,自协方差矩阵,互相关矩阵,互协方差矩阵?】
目录 写在前面的话 前置知识 自协方差矩阵 具体样例 自相关矩阵 自相关矩阵与自协方差矩阵的关系 互协方差矩阵 互相关矩阵 互相关矩阵与互协方差矩阵的关系 性质 相关系数 写在前面的话 最近看模式识别 ...
- 自定义Matlab功能函数——10进制整数矩阵转二进制字符矩阵
不同版本matlab的m语言语法会略有不同,这里使用的版本为Matlab 2021a. 一. 10进制整数矩阵转二进制字符矩阵 因为FPGA只能识别二进制,所以在做Verilog仿真时经常需要matl ...
- hilbert曲线序编码matlab,Hilbert曲线扫描矩阵的生成算法及其MATLAB程序代码
Hilbert曲线扫描矩阵的生成算法及其MATLAB程序代码 王笋,徐小双(华中科技大学控制科学与工程系,武汉 430074) 摘 要 Hilbert曲线是一种重要的图像处理工具,在图像处理,特别是图 ...
- matlab将矩阵分解成lu,10行代码实现矩阵的LU分解(matlab)
最近由于数值分析实验课要求,需要通过matlab实现矩阵的LU分解.但是看了很多网友写的程序,基本上都是通过循环嵌套循环来实现矩阵的LU分解.略感琐碎,因此最近两天便一直在思考能否利用矩阵的乘v法,来 ...
- matlab44矩阵,如何在MATLAB中将2X2矩阵转换为4X4矩阵?
我需要通过以下方式将2X2矩阵转换为4X4矩阵的一些帮助: A = [2 6; 8 4] 应该变成: B = [2 2 6 6; 2 2 6 6; 8 8 4 4; 8 8 4 4] 我该怎么做? 在 ...
- matlab 二维矩阵变成一维矩阵
matlab 二维矩阵变成一维矩阵 1.一维变二维: https://blog.csdn.net/qq_40584593/article/details/90691276 reshape 2.a(:) ...
- matlab 矩阵 列 逆序,matlab对矩阵/向量的常用操作(拼接矩阵、向量逆序、改变矩阵形状、求行阶梯形矩阵、提取矩阵的一部分等)...
几乎所有变量在matlab中都可以视为矩阵(1 x 1元素,1 x n向量,m x n矩阵等),matlab中对矩阵/向量的操作非常多,个人认为对矩阵的操作是体现matlab功底的地方:灵活搭配使用这 ...
- 方差、协方差、协方差矩阵以及互相关矩阵
目录 1.方差和协方差 2.从方差/协方差到协方差矩阵 3.互相关矩阵 1.方差和协方差 在统计学中,方差是用来度量单个随机变量的离散程度,而协方差一般是用来度量两个随机变量的相似程度,其中方差的 ...
最新文章
- 【中级软考】结构化开发方法是啥,主要包含哪些内容?
- CS中using的使用-以FileStream写入文件为例
- 福建师范大学计算机考研好考吗,福建师范大学考研难吗?一般要什么水平才可以进入?...
- 读jQuery源码释疑笔记
- 什么叫开关电源?捏碎了喂给你吃!
- 工业交换机都有哪些优势,该如何挑选
- 计算机应用基础教材6,全国2013年自考《计算机应用基础》教材大纲第六章
- 扫目录过狗过waf方法
- Redis持久化方式之RDB
- 测试笔的使用_宽带故障怎么办?毕亚兹红光笔1秒定位光纤故障,快速解决问题...
- SQL Server 2008 各种DateTime的取值范围
- 疑似APT组织响尾蛇的JavaScript脚本调试分析
- java坦克大战练习。java基础项目。巩固java基础部分。
- C# 类似PS的魔棒工具(2)羽化
- 尼日利亚通货膨胀加剧和MogaFX外汇短缺加剧贬值投机
- 中国科学院计算机研究所上级单位,陈援非(中国科学院计算技术研究所高工)_百度百科...
- js表格隔行变色案例
- Qt组件-QLabel
- 自动查找优惠券机器人(收藏)
- 基于JAVASE的彩票摇号系统