当前位置: 首页 > news >正文

MATLAB实现两组数据的延时对齐效果

博主在某次实验中,相同的实验条件下分别采集了两组数据,发现两组数据存在一个延时,如下图所示:

在这里插入图片描述

本文记录消除这个延时,实现相同数据状态的对齐效果,采用MATLAB自带的xcorr函数实现,具体步骤如下:

  • step1: 导入两组数据,并将其分别存储在两个向量(例如data1data2)中
  • step2: 使用xcorr函数计算两组数据的互相关系数,使用方法为:
    xc = xcorr(data2, data1);
    
  • step3: 找到互相关系数的峰值及其位置,可以使用findpeaks函数来查找互相关系数的峰值,然后使用max函数找到最大峰值的位置
  • step4: 根据找到的延时值对data2进行对齐,通常我们使用原数据的头或尾进行数据补齐

代码如下:

% 使用xcorr函数计算两组数据的互相关系数
xc = xcorr(data2, data1);% 找到互相关系数的峰值及其位置
[peaks, locs] = findpeaks(xc);
[~, idx] = max(peaks);
delay = locs(idx) - length(data1);% 对数据进行处理,使用第一个值或最后一个值进行数据补齐
if delay > 0data2_aligned = [data2(delay+1:end), ones(1, delay)*data2(end)];
elsedata2_aligned = [ones(1, -delay)*data2(1), data2(1:end+delay)];
end

最终实现效果如下:

在这里插入图片描述


参考链接:

  • https://ww2.mathworks.cn/help/matlab/ref/xcorr.html;jsessionid=ea8b98b50d13fc92e3e2d26735cb
  • https://blog.csdn.net/weixin_39509073/article/details/127613031
http://www.lryc.cn/news/117404.html

相关文章:

  • 基于Spring Boot的网络在线学习网站的设计与实现(Java+spring boot+MySQL)
  • Is a directory: ‘outs//.ipynb_checkpoints‘
  • PintOS lab2 User Programs 实验记录
  • 『CV学习笔记』docker和nvidia-docker离线安装
  • 使用JavaScript实现页面滑动切换效果
  • react中的formik如何使用
  • MYSQL储存过程
  • fastadmin、vue、react图标库适用于多种框架
  • 篇七:桥接模式:连接抽象和实现
  • STL容器适配器 -- stack和queue(使用+实现)(C++)
  • K8s operator从0到1实战
  • 【LangChain学习】基于PDF文档构建问答知识库(三)实战整合 LangChain、OpenAI、FAISS等
  • 阿里云国际站对象储存OSS的常见问题?
  • spss什么是描述性分析,以及如何去处理。
  • OSCS 闭门研讨第一期实录:软件供应链安全建设价值
  • STM32入门——ADC模数转换
  • 【Fegin技术专题】「原生态」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(下)
  • 【leetcode】454. 四数相加 II(medium)
  • PHP先等比缩放再无损裁剪图片【实例源码】
  • 共享广告主项目:广告也能共享?全民广告时代来袭
  • Flink-间隔联结
  • redis的持久化
  • 藏语翻译器:多功能翻译软件
  • Java课题笔记~ JavaWeb概述/开发基础
  • 【解放ipad生产力】如何在平板上使用免费IDE工具完成项目开发
  • IDEA快捷键总结
  • OpenJDK Maven 编译出错: package jdk.nashorn.internal.runtime.logging does not exist
  • .Net Framework请求外部Api
  • 线程池工作原理深入解析
  • chatGPT小白快速入门课程大纲