本示例说明如何测量信号相似度。将回答以下问题:如何比较具有不同长度或不同采样率的信号?如何确定测量中是否存在信号或仅有噪声?有两个信号相关吗?如何测量两个信号之间的延迟?

比较具有不同采样率的信号

考虑一个音频信号数据库和一个模式匹配应用程序,您需要在其中识别正在播放的歌曲。数据通常以低采样率存储,以占用更少的内存。

figure ax(1) = subplot(3,1,1); plot((0:numel(T1)-1)/Fs1,T1,'k') ylabel('Template 1')

第一个和第二个子图显示了来自数据库的模板信号。第三个子图显示了我们要在数据库中搜索的信号。仅查看时间序列,信号似乎与两个模板都不匹配。仔细检查发现,信号实际上具有不同的长度和采样率。

[Fs1 Fs2 Fs] ans = 1×3 4096 4096 8192

不同的长度使您无法计算两个信号之间的差异,但是可以通过提取信号的公共部分来轻松解决。此外,并不总是必须使长度相等。

在测量中寻找信号

现在,我们可以使用xcorr函数将信号S与模板T1和T2互相关,以确定是否存在匹配项。

figure ax(1) = subplot(2,1,1); plot(lag1/Fs,C1,'k') ylabel('Amplitude') grid on

第一个子图表示信号与模板1的相关性较低,而第二个子图中的高峰值表示信号存在于第二个模板中。

互相关的峰值表示信号在61 ms之后开始存在于模板T2中。换句话说,信号T2使信号S超前499个采样,如SampleDiff所示。

测量信号之间的延迟并对齐它们

考虑一种情况,您正在从不同的传感器收集数据,记录桥两边的汽车引起的振动。分析信号时,可能需要对齐它们。假设您有3个传感器以相同的采样率工作,并且它们正在测量由同一事件引起的信号。

figure, ax(1) = subplot(3,1,1); plot(s1)

我们还可以查找两个信号之间的延迟。

t21表示s2落后s1 350个样本,t31表示s3领先s1 150个样本。该信息现在可用于通过时移信号来对齐3个信号。我们还可以alignsignals直接使用该功能来对齐信号,这可以通过延迟最早的信号来对齐两个信号。

s1 = alignsignals(s1,s3); s2 = alignsignals(s2,s3); figure ax(1) = subplot(3,1,1); plot(s1) grid on title('s1')

比较信号的频率

功率谱显示每个频率中存在的功率。频谱相干性识别信号之间的频域相关性。趋向于0的相干值表示相应的频率分量是不相关的,而趋向于1的值则表示相应的频率分量是相关的。

figure t = (0:numel(sig1)-1)/Fs; subplot(2,2,1) plot(t,sig1,'k') ylabel('s1') grid on

计算两个信号之间的频谱相干性。 确认sig1和sig2在35 Hz和165 Hz附近具有两个相关分量。在频谱相干性很高的频率中,可以使用互谱相位来估计相关分量之间的相对相位。

figure subplot(2,1,1) plot(f,Cxy) title('Coherence Estimate') grid on

35 Hz分量之间的相位滞后接近-90度,而165 Hz分量之间的相位滞后接近-60度。

查找信号中的周期

冬季办公大楼中的一组温度测量值。每30分钟进行一次测量,持续约16.5周。

figure plot(days,temp) title('Temperature Data') xlabel('Time (days)') ylabel('Temperature (Fahrenheit)') grid on

在计算互相关之前去除信号的均值。它返回交叉协方差。将最大滞后限制为信号的50%,以获得对互协方差的良好估计。

figure plot(lag/(2*24),xc,'k',... lag(df)/(2*24),xc(df),'kv','MarkerFaceColor','r') grid on

观察自协方差的主要和次要波动。主峰和次峰出现等距。要验证它们是否正确,请计算并绘制后续峰位置之间的差异。

cycle1 = diff(df)/(2*24); subplot(2,1,1) plot(cycle1) ylabel('Days')

mean(cycle1) ans = 7 mean(cycle2) ans = 1.0000

次要峰表示每周7个循环,主要峰表示每周1个循环。鉴于数据来自7天日历上的温度受控建筑物,因此这是有道理的。第一个7天的周期表示建筑物温度有一个每周的循环行为,其中周末温度降低,而工作日则恢复正常。1天的循环行为表示每天都有循环行为-夜间温度较低,白天则升高。

matlab信号分割与比对,matlab测量计算信号的相似度相关推荐

  1. 用python实现网络查重(python爬取网页文字[网页结构不一致;网页编码格式];txt文本分割;chrome驱动;python计算文章余弦相似度)

    最近做项目有一个小功能是对用户上传的文章进行简单的网络查重.就是搜索特定主题,用这个关键词去在网上搜索文章再爬取.其中也借鉴了其他大佬的代码和文章,文章中会贴出.自己记录以下,以免日后遗忘.主要分为以 ...

  2. matlab 双音多频 接收端检测到的号码,信号语音论文,关于基于MATLAB的双音多频信号识别相关参考文献资料-免费论文范文...

    导读:本论文可用于信号语音论文范文参考下载,信号语音相关论文写作参考研究. (河南师范大学计算机与信息工程学院,河南新乡453007) [摘 要]本文采用FFT和戈泽尔算法对计算机模拟产生双音多频信号 ...

  3. Matlab Mobile手机版获取gps数据和加速度信号融合

    Matlab Mobile手机版获取gps数据和加速度信号融合 前言 安装matlab mobile Matlab Drive Connector 安装 Matlab Mobile 记录数据 Matl ...

  4. 【信号识别】基于matlab深度学习CNN信号调制分类【含Matlab源码 2066期】

    ⛄一.深度学习CNN信号调制分类概述 1 背景介绍 在通信信号处理领域, 特别是在非协作通信信号盲解调研究领域, 每时隙突发信号的调制方式不同, 必须进行信号的调制方式自动识别.信号的调制方式识别效果 ...

  5. matlab的局放仿真,基于Matlab/Simulink的电力电缆局部放电信号传播的仿真方法

    基于Matlab/Simulink的电力电缆局部放电信号传播的仿真方法 [技术领域] [0001] 本发明涉及一种电力电缆局部放电信号传播的仿真方法,尤其是涉及一种基于 Matlab/Simulink ...

  6. 信号内插matlab,声音信号的抽取和内插,MATLAB代码

    声音信号抽取和内插的MATLAB程序 %%%l为抽取倍数,m为内插倍数,mp3为音频信号, %%%此程序实现音频信号的内插和抽取,并画出处理前后的信号时域.频域图像function myhomewor ...

  7. matlab语音信号分析实验报告,DSP实验二 语音信号分析与处理,南京理工大学紫金学院实验报告,信号与系统...

    实验二语音信号分析与处理 学号姓名 注:1)此次实验作为<数字信号处理>课程实验成绩的重要依据,请同学们认真.独立完成,不得抄袭. 2)请在授课教师规定的时间内完成: 3)完成作业后,请以 ...

  8. 基于matlab的信号合成与分解,基于matlab的信号合成与分解

    基于matlab的信号合成与分解 - I - 摘 要 为了便于进行周期信号的分析与处理,常要把复杂的周期信号进行分解,即将周期 信号分解为正余弦等此类基本信号的线性组合,通过对这些基本信号单元在时域和 ...

  9. 信号与系统 徐亚宁 matlab程序,信号与系统(第4版)

    第1章绪论 11信号与系统 12信号的描述与分类 13系统的描述与分类 131连续时间LTI系统及其描述 132离散时间LTI系统及其描述 14系统的基本特性 15信号与系统分析方法 ...

最新文章

  1. 使用ISE创建IP核(以加法器的IP核建立为例)
  2. logstash入门
  3. MyBatis知多少(10)应用程序数据库
  4. 操作iframe里面的标签内容
  5. Spring Boot——Druid在application.yml文件中配置【spring.datasource.druid.aop-patterns】无效解决方案
  6. wxWidgets:wxThreadHelper类用法
  7. promise的状态以及api介绍_Promise从入门到自定义 | 尚硅谷Promise新版视频发布!
  8. 给Source Insight做个外挂系列之三--构建外挂软件的定制代码框架
  9. 设计模式--动态代理
  10. centos7.0 php-fpm 安装ImageMagic php扩展imagick
  11. 深入理解计算机系统----读书笔记
  12. ARM中断分析之四:WinCE的OAL层的中断分析
  13. java多线程的基本实现方式与示例
  14. TCP/IP——链路层简记
  15. matlab中找不到指定的模块,Matlab装好后启动提示找不到指定模块如何解决?很急...
  16. win10系统安装虚拟机
  17. 使用电信光猫+华为路由器实现内网穿透,外网访问内网 之 光猫超级管理员密码获取并设置桥接模式
  18. 二手车预测part1
  19. 我叫MT4怎么在电脑上玩?我叫MT4手游安卓模拟器电脑版操作教程
  20. 【vue】在vue,vue cli中拼接字符串,拼接图片链接

热门文章

  1. 数据库 测试数据生成_测试数据生成器和对象母亲:另一种外观
  2. 在AWS第1部分中使用Terraform自动缩放组:基本步骤
  3. jooq 分页排序_将jOOQ与Spring结合使用:排序和分页
  4. 正确的工作流程:我应该使用哪个OAuth 2.0流程?
  5. jedis使用 api_通过Jedis API使用排序集
  6. nosql的数据服务_使用NoSQL实现实体服务–第1部分:概述
  7. 使用Spring-Retry重试处理
  8. JVMTI标记如何影响GC暂停
  9. 守护基于JVM的应用程序
  10. 隐藏的东西? 您需要HiddenSidesPane