xcorr函数的用法和程序举例

news2025/1/10 10:18:00

xcorr函数的用法和程序举例

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

一、语法

1.语法(1)

   r = xcorr(x,y)

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

clc
clear all
x=[1 2 3]
y=[5 7]
s_k=xcorr(x,y)

运行结果:

图1 互相关函数xcorr(x,y)的使用
图1 互相关函数xcorr(x,y)的使用
从图1中我们可以看到,计算的结果长度为L=2*max([length(x),length(y)])-1=2*max([3,2])-1=2*3-1=5

2.语法(2)

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

举例2

clc
clear all
y=[5 7]
r=xcorr(y)

运行结果
图2 互相关函数xcorr(y)的使用
图2 互相关函数xcorr(y)的使用

3.语法(3)

 r = xcorr(___,maxlag) 

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

clc
clear all
x=[1 2 3]
y=[5 7]
maxlag=1
s_k=xcorr(x,y,maxlag)

运行结果:
图3 xcorr(x,y,maxlag)函数的用法
图3 xcorr(x,y,maxlag)函数的用法

从图3中可以看出,xcorr(x,y,1)得到的序列长度,要比xcorr(x,y)序列短,即maxlag存在,限制了其相关计算范围。

4.语法(4)

r = xcorr(___,scaleopt) 

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

此处的scaleopt 为归一化选项:可以设置为五种方式之一:‘none’ (默认) 、 ‘biased’ 、 ‘unbiased’ 、‘normalized’ 、 ‘coeff’。其中,设置为 ‘biased’ 、 ‘unbiased’ 、‘normalized’ 、 'coeff’后四种时候,要求x的长度和y的长度相等。

例子:

clc
clear all
x=[1 2 3]
y=[5 7 11]
r_normalized = xcorr(x,y,'normalized')

运行结果
图4 xcorr(x,y,'normalized')函数的使用
图4 xcorr(x,y,‘normalized’)函数的使用
注意:xcorr(x,y,‘normalized’)中的向量x和向量y必须等长度。

5.语法(5)

[r,lags] = xcorr(___) 

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

举例:

clc
clear all
x=[1 2 3]
y=[7 8 9]
[r_unbiased,lags_unbiased] = xcorr(x,y,'unbiased')

运行结果
图5 [r,lags] = xcorr(___)函数的用法
图5 [r,lags] = xcorr(___)函数的用法举例

二、特殊举例

为了展示该函数的应用,本部分采用两个比较特殊的向量进行xcorr计算:
x=[1 2 3 0 0 0 0 1 2 3 0 0 0 0 1 2 3 0 0 0 0 1 2 3 0 0 0 0 1 2 3 0 0 0 0]
y=[1 2 3]
其中,y向量内容在x向量中重复出现多次,具有周期性。

具体程序为:

clc
clear all
x=[1 2 3 0 0 0 0 1 2 3 0 0 0 0 1 2 3 0 0 0 0 1 2 3 0 0 0 0 1 2 3 0 0 0 0]
y=[1 2 3]
[r_biased,lags_biased] = xcorr(x,y,'none')
figure(101)
plot(lags_biased,r_biased)
xlabel('lags_{biased}')
ylabel('r_{biased}')

运行结果:

图6 xcorr计算的特殊举例
图6 xcorr计算的特殊举例

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录-广度优先搜索理论基础及相关习题

广度优先搜索理论基础 广搜的搜索方式就适合于解决两个点之间的最短路径问题。因为广搜是从起点出发,以起始点为中心一圈一圈进行搜索,一旦遇到终点,记录之前走过的节点就是一条最短路。 广搜是一圈一圈的遍历方式,如下图&#x…

香港科技大学广州|机器人与自主系统学域博士招生宣讲会—武汉大学专场!!!(暨全额奖学金政策)

在机器人和自主系统领域实现全球卓越—机器人与自主系统学域 硬核科研实验室,浓厚创新产学研氛围! 教授亲临现场,面对面答疑解惑助攻申请! 一经录取,享全额奖学金1.5万/月! 🕙时间:…

C#时间类的使用方法

在C#编程中,日期和时间的处理是常见的任务之一。C#提供了多个类来处理日期、时间和时区的操作,包括DateTime、TimeSpan和DateTimeOffset。 目录 1. DateTime类1.1 创建DateTime对象1.2 获取日期和时间信息1.3 格式化日期和时间1.4 比较日期和时间 2. Tim…

The Sandbox于香港举办全球首个创作者日,推出「公开发布」功能,并为 GameMakerFund提供1亿$SAND基金!

新的 NFT 铸造、无需编码的 Game Maker 软件升级、其他支持 Web3 创作者的功能优化。 2023 年 11 月 3 日——The Sandbox 举办了首届全球创作者日活动,并在活动期间宣布了其在 2024 年的计划,包括为创作者赋能,在地图上呈现 2000 个用户生成…

Unity 制作血量滑动条(Slider)

1.创建UI slider 层级面板点击右键-UI-slider 2.调整UI位置 选择2D视图,调整锚点和滑动条位置 3.PS中制作UI 导出2个图层,PNG格式。 4.改成精灵模式(sprite2d) 把两个PNG导入Unity仓库中,选中两个图,右…

双11狂欢最后一天

大家好,本年度双11即将到来,为了答谢大家多年来的支持及更广泛的推广VBA的应用,“VBA语言専功”在此期间推出巨大优惠:此期间打包购买VBA技术资料实行半价优惠。 1:面向对象:学员及非学员 2:打…

【Git】Git图形化工具SSH协议IDEA集成Git的使用讲解

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Git》。🎯🎯 &#x1f449…

详解Java中的重写和重载 | 动态绑定和静态绑定

目录 一.重载 二.重写 三.重载和重写的区别 一.重载 重载(overload),Java中为了提高编程效率,允许我们使用方法重载,具体体现在,对于多个方法,他们的方法名相同,但参数列表不同,我们则将这种…

js 变量声明与赋值 笔试踩坑题

文章目录 概述函数声明函数形参与实参函数预编译用一个例子说明一下,这四个步骤分别要干些什么。重复四个步骤,反复练习一下 全局编译多重执行期上下文 概述 别小看变量声明与赋值,在所有的笔试中,基本都会考,这个要多…

深度学习 opencv python 实现中国交通标志识别 计算机竞赛_1

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

[极客大挑战 2019]BuyFlag 1(两种解法)

题目环境: FLAG NEED YOUR 100000000 MONEY flag需要你的100000000元 F12瞅瞅源代码: if (isset($_POST[password])){ $password $_POST[password]; if (is_numeric($password)) { echo "password cant be number" } elseif ($pas…

Postman的环境变量和全局变量

近期在复习Postman的基础知识,在小破站上跟着百里老师系统复习了一遍,也做了一些笔记,希望可以给大家一点点启发。 多种环境:开发环境、测试环境、预发布环境、生产环境,可以用环境变量来解决。 今天的分享就到这里&a…

『 Linux 』进程概念

文章目录 🗞️ 冯诺依曼体系结构 🗞️📃 为什么在计算机当中需要使用内存充当中间介质而不使CUP与外设直接进行交互?📃 CPU如何读取数据 🗞️ 操作系统(Operating system) 🗞️📃 操作系统如何…

LeetCode【30. 串联所有单词的子串】

给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words ["ab","cd","ef"], 那么 "abcdef&…

NZ系列工具NZ06:VBA创建PDF文件说明

我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑,这么多知识点该如何组织…

2022美亚杯团队赛

2022美亚杯团体赛 - XDforensics-Wiki 2022 美亚杯 团体赛AGC部分资格赛服务器部分 所有服务器部分解题思路_2022美亚杯团体赛复盘-CSDN博客 目录 AGC 1 2 Media Sever挂载 3 ssh登入的看法 PTS 4 5 ssh日志 6 7 查看docker列表 8 查看docker运行 9 建立网站…

《DevChat:AI编程助手引领开发新潮》

1. DevChat是什么? DevChat是一款由思码逸打造的AI编程工具,致力于提升开发者的编程效率。它集成了多种主流大模型,包括ChatGPT、Codex等,支持自然语言编程、代码编写、代码生成、代码补全等功能。DevChat的最大优势在于一站式服…

竞赛 题目: 基于深度学习的疲劳驾驶检测 深度学习

文章目录 0 前言1 课题背景2 实现目标3 当前市面上疲劳驾驶检测的方法4 相关数据集5 基于头部姿态的驾驶疲劳检测5.1 如何确定疲劳状态5.2 算法步骤5.3 打瞌睡判断 6 基于CNN与SVM的疲劳检测方法6.1 网络结构6.2 疲劳图像分类训练6.3 训练结果 7 最后 0 前言 🔥 优…

【Hadoop实战】Hadoop指标系统V2分析

Hadoop指标系统V2分析 文章目录 Hadoop指标系统V2分析架构主要组成部分根据图表解释数据流向指标过滤JMX的应用开启指标系统的组件指标项说明 使用HTTP(JMXJsonServlet)获取指标接口调用方式GET查询的逻辑数据的来源,以及更新的原理 架构 在…

Leetcode2246. 相邻字符不同的最长路径

Every day a Leetcode 题目来源:2246. 相邻字符不同的最长路径 解法1:树形 DP 如果没有相邻节点的限制,那么本题求的就是树的直径上的点的个数,见于Leetcode543. 二叉树的直径。 考虑用树形 DP 求直径。 枚举子树 x 的所有子…