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…

springboot整合ELK

ELK是一种强大的分布式日志管理解决方案,它由三个核心组件组成: Elasticsearch:作为分布式搜索和分析引擎,Elasticsearch能够快速地存储、搜索和分析大量的日志数据,帮助用户轻松地找到所需的信息。 Logstash&#xff…

Android 12.0 内置MTK平台音乐播放器

Android 12.0 内置MTK平台音乐播放器 Android 12.0 默认是无MTK平台自带音乐播放器的,系统内置MTK平台自带的音乐播放器的具体修改参照如下: /device/pj/common/device.mk PRODUCT_PACKAGES Music PRODUCT_PACKAGES OP01Music 重新编译验证&#x…

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

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

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

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

QWidget 实现九宫格图案解锁

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

设计模式类型

创建型模式 创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系…

vue乾坤微前端项目

1、主应用 安装乾坤 npm i qiankun -S 注册微应用并启动: import { registerMicroApps, start } from qiankun;//设置两个微应用 registerMicroApps([{name: vue1, //要跟package.json中的name保持一致entry: //localhost:8081, //本地就这么写container: #cont…

双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相继成功举办之后,来自国内外多所高校、科研院所及企业代表在先进能源科学与自动化的科研合作和交流…

【OpenCV】用数组给Mat图像赋值,单/双/三通道 Mat赋值

文章目录 5 Mat赋值5.1 Mat(int rows, int cols, int type, const Scalar& s)5.2 数组赋值 或直接赋值5.2.1 3*3 单通道 img5.2.2 3*3 双通道 img5.2.3 3*3 三通道 img5 Mat赋值 5.1 Mat(int rows, int cols, int type, const Scalar& s) Mat m(3, 3, CV_8UC3,Scalar…

物奇平台耳机关机功能实现

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙音频,DSP音频项目核心开发资料, 物奇平台耳机关机功能实现 一需求与场景考虑 1 在盒子外,低电关机(电量小于等于2%), 2 在充…

Qt读取xml文件并把内容显示到QTableview上

本例子中把xml文件作为数据库表。 xml文件名作为函数参数,把不同的xml文件名传入函数,会显示不同的文件内容。 以下为代码: void MainWindow::ShowContent(QString FileName) {LoadXmlContent(FileName);ShowContentInView();}bool MainWi…

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

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