MATLAB中xcorr函数用法

目录

语法

说明

示例

两个向量的互相关

向量的自相关

归一化的互相关


        xcorr函数的功能是返回互相关关系。

语法

r = xcorr(x,y)
r = xcorr(x)
r = xcorr(___,maxlag)
r = xcorr(___,scaleopt)
[r,lags] = xcorr(___)

说明

        r = xcorr(x,y) 返回两个离散时间序列的互相关。互相关测量向量 x 和移位(滞后)副本向量 y 的之间的相似性,形式为滞后的函数。如果 x 和 y 的长度不同,函数会在较短向量的末尾添加零,使其长度与另一个向量相同。

        r = xcorr(x) 返回 x 的自相关序列。如果 x 是矩阵,则 r 也是矩阵,其中包含 x 的所有列组合的自相关和互相关序列。

        r = xcorr(___,maxlag) 将上述任一语法中的滞后范围限制为从 -maxlag 到 maxlag。

        r = xcorr(___,scaleopt) 还为互相关或自相关指定归一化选项。除 'none'(默认值)以外的任何选项都要求 x 和 y 具有相同的长度。

        [r,lags] = xcorr(___) 还返回用于计算相关性的滞后。

示例

两个向量的互相关

        创建向量 x 和向量 y,后者是 x 右移 5 个元素的结果。计算并绘制 x 和 y 的估计互相关。在 x 和 y 的元素完全匹配的滞后值 (-5) 处,出现最大峰值。

n = 0:15;
x = 0.84.^n;
y = circshift(x,5);
[c,lags] = xcorr(x,y);
stem(lags,c)

如图所示:

Figure contains an axes object. The axes object contains an object of type stem.

向量的自相关

        计算并绘制向量 x 的估计自相关。在零滞后时(此时 x 与自身完全匹配),出现最大峰值。

n = 0:15;
x = 0.84.^n;
[c,lags] = xcorr(x);
stem(lags,c)

如图所示:

Figure contains an axes object. The axes object contains an object of type stem.

归一化的互相关

        使用单位峰值计算并绘制向量 x 和 y 的归一化互相关,并指定最大滞后为 10。

n = 0:15;
x = 0.84.^n;
y = circshift(x,5);
[c,lags] = xcorr(x,y,10,'normalized');
stem(lags,c)

如图所示:

Figure contains an axes object. The axes object contains an object of type stem.

参数说明

x — 输入数组

        输入数组,指定为向量、矩阵或多维数组。如果 x 是多维数组,则 xcorr 对所有维度按列操作,并将每个自相关和互相关作为矩阵的列返回。

y — 输入数组

        输入数组,指定为向量。

maxlag — 最大滞后

        ​最大滞后,指定为整数标量。如果指定 maxlag,则返回的互相关序列范围是从 -maxlag 到 maxlag。如果没有指定 maxlag,则滞后范围等于 2N–1,其中 N 是 x 和 y 中较长一方的长度。

scaleopt — 归一化选项

归一化选项,指定为下列各项之一。

  • ​'none' - 原始、未缩放的互相关。当 x 和 y 长度不同时,'none' 是唯一有效的选项。

  • 'biased' - 互相关的有偏估计:

  • 'unbiased' - 互相关的无偏估计:

  • 'normalized' 或 'coeff' - 对序列进行归一化,使零滞后时的自相关等于 1:

r — 互相关或自相关

        互相关或自相关,以向量或矩阵形式返回。

        如果 x 是 M × N 矩阵,则 xcorr(x) 返回 (2M – 1) × N2 矩阵,其中包含 x 各列的自相关和互相关。如果指定 maxlag,则 r 的大小为 (2 × maxlag + 1) × N2。

​例如,如果 S 有三列,S=(x1x2x3),则 R = xcorr(S) 的结果的形式为

lags — 滞后索引

滞后索引,以向量形式返回。

互相关和自相关

        xcorr 的结果可以解释为两个随机序列之间的相关性估计,也可以解释为两个确定性信号之间的确定相关性。

两个联合平稳随机过程(xn 和 yn 的真正互相关序列由下式给出

        其中 −∞ < n < ∞,星号表示复共轭,E 是期望值运算符。xcorr 只能估计序列,因为实际上,在无限长随机过程的一个实现中只有有限的部分可用。

        默认情况下,xcorr 计算未经归一化的原始相关性:

输出向量 c 包含的元素由下式给出:

        一般情况下,相关性函数需要归一化来生成准确的估计。可以通过使用输入参数 scaleopt 来控制相关性的归一化。

参考

        [1] Buck, John R., Michael M. Daniel, and Andrew C. Singer. Computer Explorations in Signals and Systems Using MATLAB®. 2nd Edition. Upper Saddle River, NJ: Prentice Hall, 2002.

        [2] Stoica, Petre, and Randolph Moses. Spectral Analysis of Signals. Upper Saddle River, NJ: Prentice Hall, 2005.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/296296.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于R语言(SEM)结构方程模型教程

详情点击链接&#xff1a;基于R语言&#xff08;SEM&#xff09;结构方程模型教程 01、R/Rstudio (2)R语言基本操作&#xff0c;包括向量、矩阵、数据框及数据列表等生成和数据提取等 (3)R语言数据文件读取、整理&#xff08;清洗&#xff09;、结果存储等&#xff08;含tidve…

助力实体店数字化升级,VR智慧门店打造线上逛店体验

近年来&#xff0c;传统实体店业绩增长过于缓慢&#xff0c;实体门店的销售疲态十分明显&#xff0c;甚至于部分城市已经出现大量线下实体店开始关门的现象&#xff0c;因此顺应实体零售数字化升级趋势已经刻不容缓。越来越多的实体门店开始意识到这个问题&#xff0c;并逐步开…

window服务器thinkphp队列监听服务

经常使用linux的同学们应该对使用宝塔来做队列监听一定非常熟悉&#xff0c;但对于windows系统下&#xff0c;如何去做队列的监听&#xff1f;是一个很麻烦的事情。 本文将通过windows系统的服务来实现队列的监听。 对于thinkphp6 queue如何使用&#xff0c;不再赘述。其它系…

算法29:不同路径问题(力扣62和63题)--针对算法28进行扩展

题目&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff0…

L1-085:试试手气

我们知道一个骰子有 6 个面&#xff0c;分别刻了 1 到 6 个点。下面给你 6 个骰子的初始状态&#xff0c;即它们朝上一面的点数&#xff0c;让你一把抓起摇出另一套结果。假设你摇骰子的手段特别精妙&#xff0c;每次摇出的结果都满足以下两个条件&#xff1a; 1、每个骰子摇出…

设计模式② :交给子类

文章目录 一、前言二、Template Method 模式1. 介绍2. 应用3. 总结 三、Factory Method 模式1. 介绍2. 应用3. 总结 参考内容 一、前言 有时候不想动脑子&#xff0c;就懒得看源码又不像浪费时间所以会看看书&#xff0c;但是又记不住&#xff0c;所以决定开始写"抄书&qu…

C#之反编译之路(一)

本文将介绍微软反编译神器dnSpy的使用方法 c#反编译之路(一) dnSpy.exe区分64位和32位,所以32位的程序,就用32位的反编译工具打开,64位的程序,就用64位的反编译工具打开(个人觉得32位的程序偏多,如果不知道是32位还是64位,就先用32位的打开试试) 目前只接触到wpf和winform的桌…

算法每日一题:在链表中插入最大公约数 | 链表 | 最大公约数

hello&#xff0c;大家好&#xff0c;我是星恒 今天的题目是有关链表和最大公约数的题目&#xff0c;比较简单&#xff0c;核心在于求解最大公约数&#xff0c;我们题解中使用辗转相除法来求解&#xff0c;然后我们会在最后给大家拓展一下求解最大公约数的四个方法&#xff0c;…

码云Gitee复制 GitHub 项目

码云提供了直接复制 GitHub 项目的功能&#xff0c;方便我们做项目的迁移和下载。 1.新建仓库 2.导入仓库 3.强制同步 如果 GitHub 项目更新了以后&#xff0c;在码云项目端可以手动重新同步&#xff0c;进行更新&#xff01;

odoo16 连接postgresql错误

odoo16 连接postgresql错误 odoo16 用odoo15的环境出错&#xff0c;看到是psycopg2.OperationalError分析是postgresql版本问题&#xff0c;安装了13版本&#xff0c;还是出错&#xff0c;多版本共存问题如下&#xff1a; Traceback (most recent call last):File "D:\o…

数一下 1到 100 的所有整数中出现多少个数字9并输出这些数字

分析&#xff1a; 我们知道 1-100的整数 i 中&#xff0c;9会出现在十位和个位上&#xff0c;数9出现的次数可以通过以下来实现&#xff1a; 个位是9 // i % 10得到整数 i 个位上的数十位是9 // i / 10得到整数 i 除了个位数的数字 这也是做这道题之后&#xff0c;我们需要…

MySQL基础笔记(5)DCL数据控制语句

数据控制语句&#xff0c;用来管理数据库用户、控制数据库的访问权限~ 目录 一.用户管理 1.查询用户 2.创建用户 3.修改用户密码 4.删除用户 二.权限管理 1.查询权限 2.授予权限 3.撤销权限 一.用户管理 1.查询用户 use MySQL; select * from user; 2.创建用户 crea…

MySQL——视图

目录 一.视图介绍 二.基本使用 三.视图规则和限制 一.视图介绍 视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表&#xff0c;基表的数据变化也会影响到视图。 二.基本使用 创…

深入理解MySQL索引底层数据结构

听课问题(听完课自己查资料) 什么是二叉树 二叉树是怎么存储数据的一个链表是一个集合的数据结构 List是怎么便利找到指定下标元素为什么会快&#xff1f;什么是红黑树 红黑树是怎么存储数据的什么是B TREE 是怎么存储数据的什么是BTREE 是怎么存储数据的 疑惑答案 a. 二叉树…

用通俗易懂的方式讲解:结合检索和重排序模型,改善大模型 RAG 效果明显

最近出现了在构建聊天机器人方面的应用浪潮&#xff0c;这主要得益于LlamaIndex 和 LangChain 这样的框架。许多这类应用都采用了用于检索增强生成&#xff08;RAG&#xff09;的标准技术栈&#xff0c;其中包括以下关键步骤&#xff1a; 向量存储库&#xff1a; 使用向量存储库…

状态机(有限状态机(Finite State Machine, FSM)、推进自动机(Pushdown Automata)、并发状态机、分层状态机)

文章目录 状态机&#xff08;State Machine&#xff09;定义与组成定义组成状态&#xff08;States&#xff09;事件&#xff08;Events&#xff09;转换&#xff08;Transitions&#xff09;初始状态&#xff08;Initial State&#xff09; 状态机的类型有限状态机&#xff08…

网络调试 UDP1,开发板用静态地址-入门6

https://www.bilibili.com/video/BV1zx411d7eC?p11&vd_source109fb20ee1f39e5212cd7a443a0286c5 1, 开发板连接路由器 1.1&#xff0c;烧录无OS UDP例程 1.2&#xff0c;Mini USB连接电脑 1.3&#xff0c;开发板LAN接口连接路由器 2. Ping开发板与电脑之间通信* 2.1 根据…

某金属加工公司的核心人才激励体系搭建项目纪实

【客户行业】金属加工行业 【问题类型】薪酬体系/激励体系 【客户背景】 某大型金属加工企业位于河北地区&#xff0c;成立于2000年&#xff0c;隶属于某大型有色金属集团&#xff0c;是一家集科研、开发、生产、销售于一体的国有企业&#xff0c;人员达到1000人。经过多年…

【Redis端口】通过修改端口一个计算机上可以运行两个redis

一个计算机上可以运行多个Redis实例。每个Redis实例都会监听一个特定的端口&#xff0c;所以只要确保每个实例使用的端口不冲突&#xff0c;就可以在同一台计算机上运行多个Redis实例。例如&#xff0c;你可以配置一个Redis实例监听6379端口&#xff0c;另一个Redis实例监听638…

阿里云服务器配置jupyter(新手入门,详细全面)

设置安全组 1.租好服务器后在阿里云服务器平台上打开控制台&#xff08;右上角&#xff09; 2.点开自己的云服务器控制台&#xff0c;在左栏“安全组”部分添加安全规则&#xff0c;点击“管理规则” 单击“手动添加”&#xff0c;将安全组设为如下格式&#xff0c;端口范围…
最新文章