xcorr函数的用法和程序举例

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.mzph.cn/news/137251.shtml

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

相关文章

Flutter:安装依赖报错doesn‘t support null safety

项目中需要引用http依赖,在pubspec.yaml文件中添加如下信息: 当同步时,报错信息如下: [myflutter] flutter pub upgrade Resolving dependencies... The current Dart SDK version is 3.1.3. Because myflutter depends on http &…

Harmony 应用开发的知识储备

Harmony 应用开发的知识储备 前言正文一、DevEco Studio版本二、手机版本① 环境变量 三、API版本四、开发语言五、运行调试 前言 这里先说明一点,如果你对Android应用开发很熟悉,那么做Harmony应用开发也可以驾轻就熟,只不过在此之前你需要知…

TensorFlow学习笔记--(2)张量的常用运算函数

张量的取值函数 求张量的平均值: tf.reduce.mean(%张量名%)求张量的最小值:tf.reduce_min(%张量名%)求张量的最大值:tf.reduce_max(%张量名%)求张量的和:tf.reduce_sum(%张量名%)其次,对于上述所有操作 都可在函数后添加一个新的参数 axis%维度% axis0 代表第一维度 axis1 代表…

无人机航迹规划:五种最新智能优化算法(COA、SWO、KOA、GRO、LO)求解无人机路径规划MATLAB

一、五种算法(LSO、SWO、KOA、GRO、LO)简介 1、小龙虾优化算法COA 小龙虾优化算法(Crayfsh optimization algorithm,COA)由Jia Heming 等人于2023年提出,该算法模拟小龙虾的避暑、竞争和觅食行为&#xf…

浅谈工厂电能管理系统改造与产品选型

叶根胜 安科瑞电气股份有限公司 上海嘉定202001 摘要:随着经济的快速发展,能源紧张和环境恶化引起了全世界的密切关注。电能在所有能源中消耗量大,但不可或缺,因此对电能的统一管理尤为重要。只有准确可靠的计量电能、分级管理和…

物奇平台耳机宕机恢复功能实现

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,群赠送语音信号处理降噪算法,蓝牙音频,DSP音频项目核心开发资料, 物奇平台耳机宕机恢复功能实现 一 需求与场景 1 使…

QWidget 实现九宫格图案解锁

前言 最近需要实现一个九宫格图案解锁功能,查看网上的方案,基于QWidget的方案全网搜来搜去就一篇 Qt编写自定义控件:图案密码锁, 都是炒来炒去的同一篇,代码还比较复杂,运行后在PC端还是可以的,但是运行在arm机器上,就卡顿,或者容易断开手势连接线,各种不友好,于是自…

双11狂欢最后一天

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

另辟蹊径者 PoseiSwap:背靠潜力叙事,构建 DeFi 理想国

前不久,灰度在与 SEC 就关于 ETF 受理的诉讼案件中,以灰度胜诉告终。灰度的胜利,也被加密行业看做是加密 ETF 在北美地区阶段性的胜利, 该事件也带动了加密市场的新一轮复苏。 此前,Nason Smart Money 曾对加密市场在 …

时序预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost时间序列预测

时序预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost时间序列预测 目录 时序预测 | MATLAB实现基于SVM-Adaboost支持向量机结合AdaBoost时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.Matlab实现SVM-Adaboost时间序列预测(风…

C/C++ 动态内存管理(内存是如何分布的?malloc/new,free/delete的用法是什么?区别是什么?)

目录 一、前言 二、C/C中的内存分布 💦了解内存区域的划分 💦内存存储区域的对比和注意点 💦内存管理的常考面试题 三、C语言的动态管理方式 四、C的动态管理方式 💦new / delete 操作内置类型(int,char.....&…

【EI会议征稿】第八届先进能源科学与自动化国际研讨会(AESA 2024)

第八届先进能源科学与自动化国际研讨会(AESA 2024) 2024 8th International Workshop on Advances in Energy Science and Automation 继AESA 2017-2023相继成功举办之后,来自国内外多所高校、科研院所及企业代表在先进能源科学与自动化的科研合作和交流…

Leetcode_3:无重复字符的最长子串

题目描述: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s "bbbbb"…

小程序版本审核未通过,需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path,请设置后再提交代码审核

小程序版本审核未通过,需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path,请设置后再提交代码审核 因小程序尚未发布,订单中心不能正常打开查看,请先发布小程序后再提交订单中心PATH申请 初次提交…

强化IP地址管理措施:确保网络安全与高效性

IP地址管理是网络安全和性能管理的关键组成部分。有效的IP地址管理可以帮助企业确保网络的可用性、安全性和高效性。本文将介绍一些强化IP地址管理的关键措施,以帮助企业提高其网络的安全性和效率。 1. IP地址规划 良好的IP地址规划是强化IP地址管理的基础。它涉及…

具名挂载和匿名挂载

匿名卷挂载 : -v 的时候只指定容器内的路径 如下面这个:/etc/nginx 1.docker run -d -P --name nginx -v /etc/nginx nginx 2.查看所有卷 docker volume ls 这里发现,这就是匿名挂载,只指定容器内的路径,没有指定…

类图复习:类图简单介绍

入职新公司在看新项目的代码,所以借助类图梳理各个类之间的关系,奈何知识已经还给了老师,不得不重新学习下类图的相关知识,此处将相关内容记录下方便后续使用。 文章目录 类图语法类与类的关系画类图 类图语法 语法描述public-pr…

算术运算符、自增自减运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符

1.算术运算符 public class OperatorDemo1 {public static void main(String[] args) {int a 10;int b 2;System.out.println(a b);System.out.println(a - b);System.out.println(a * b);System.out.println(a / b);System.out.println(5 / 2);System.out.println(5.0 / 2);…

PHP分类信息网站源码系统 电脑+手机+微信端三合一 带完整前后端部署教程

大家好啊!今天源码小编来给大家分享一款PHP分类信息网站类源码系统。这款源码系统是一套专业的信息发布类网站综合管理系统,适合各类地方信息和行业分类站点建站。随着这几年我们国家网民爆炸式的增 长,网络信息也随之越来越庞大,…

三大基础排序 -选择排序、冒泡排序、插入排序

排序算法 文章目录 冒泡排序算法步骤动图代码优化总结 选择排序算法步骤动图代码总结 插入排序算法步骤动图代码总结 排序算法,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。一般默认排序是按照由小到大即…