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

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

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

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

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

1460000022085240

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

[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

1460000022085239

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

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

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

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

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

1460000022085244

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

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')

1460000022085242

比较信号的频率

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

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

1460000022085241

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

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

1460000022085243

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

查找信号中的周期

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

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

1460000022085247

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

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

1460000022085246

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

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

1460000022085245

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

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

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

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

相关文章

Spring Bootstrap中具有配置元数据的高级配置

在简要介绍了配置元数据并涵盖了我之前的文章《 在Spring Boot中使用配置元数据Pimp您的配置》中的基础知识之后,现在该看看如何进一步执行此步骤并进一步自定义配置。 在这篇文章中,我计划提出对配置属性的弃用,并讨论各种值提供程序&#x…

ssh 与 telnet 有何不同?_采用创新面料Nike Infinalon的全新瑜珈系列究竟有何不同?...

采用创新面料Nike Infinalon的全新瑜珈系列究竟有何不同?无拘无束自由运动——这是耐克瑜伽系列新品的核心设计理念。全新系列为你提供垫上瑜伽时毫无束缚的舒适感,采用了耐克创新型面料:Nike Infinalon。Nike Infinalon应用于耐克最新瑜伽系…

matlab中的导函数驻点,Matlab用导数作定性分析

Matlab用导数作定性分析5.1知识要点:函数作图 —用导数定性描述函数【 clf,xlinspace(-8,8,30);f(x-3).^2./(4*(x-1)); plot(x,f) 】【 fplot((x-3)^2/(4*(x-1)),[-8,8])) 】【 clf,xsym(x); f(x-3)^2/(4*(x-1)); ezplot(f,[-8,8]) ,ti…

java lambda循环_使用Java 8 Lambda简化嵌套循环

java lambda循环对于每个经常需要在Java 8&#xff08;或更高版本&#xff09;中使用多维数组的人来说&#xff0c;这只是一个快速技巧。 在这种情况下&#xff0c;您可能经常会以类似于以下代码的结尾&#xff1a; float[][] values ... for (int i 0; i < values.leng…

原生态基于OpenCV图像处理软件开发

部分功能效果图 GitHub:https://github.com/CnYiXiaoNaiHe/OpenCV- 持续更新

git.exe 启动 慢_四川成都surface电脑启动到一半黑屏维修服务地址电话

联系人&#xff1a;刘工 欢迎来电 地址&#xff1a;成都市一环路南二段1号(磨子桥口)数码科技大厦(新世纪电脑城对面)4楼413专业surface全系列维修因为专注&#xff0c;所以专注&#xff0c;所以surface配件都有现货。微软电脑&#xff0c;微软平板电脑专业维修服务点surface R…

php7.1 split,PHP 函数 split()

函数array split (string pattern, string string [, int limit])定义和用法返回一个字符串数组&#xff0c;每个单元为 string 经区分大小写的正则表达式 pattern 作为边界分割出的子串。如果设定了 limit&#xff0c;则返回的数组最多包含 limit 个单元&#xff0c;而其中最后…

java永生代和新生代_Java:永生的对象和对象的复活

java永生代和新生代什么是物体复活&#xff1f; 当没有其他对象引用该对象时&#xff0c;该Java对象可以进行垃圾回收。 当JVM&#xff1a;s垃圾收集器最终将要删除未使用的对象时&#xff0c;将调用该对象的finalize()方法。 但是&#xff0c;如果我们再次使用对象自己的final…

【FFMPEG应用篇】基于C++使用ffmpeg和QT开发播放器

音视频基础知识 1.MPEG-4是一套用于音频&#xff0c;视频信息的亚索编码标准。 2.常见的封装格式 MP4 MOV AVI&#xff1a;压缩标准可以任意选择 FLV &#xff1a;FLV封装格式详细参考 TS&#xff1a;直播流媒体使用&#xff1b; 3.常用视频编码格式 H264&#xff0…

python和c#哪个简单-最近学习 Python 的一些感触 (对比 C#)

反驳下Pythoner说的简单 之前很多人都说Python用起来简单&#xff0c;我的第一感觉就是胡扯&#xff0c;现在我稍微学了一点&#xff0c;更加坚信了那是胡扯。 当然Python在很小很小的项目里面可能是简单&#xff0c;例如Python写一个HelloWorld&#xff0c;其只要一句print &q…

霍普分叉matlab程序,基于MATLAB_GUI的Kalman滤波程序

第1章Kalman滤波理论1.1 Kalman滤波理论的应用背景信号是传递和运载信息的时间或空间函数。信号有两类&#xff0c;即确定性信号和随即信号。确定性信号的变化规律是既定的&#xff0c;可以表示为一确定的时间函数或空间函数&#xff0c;具有确定的频谱特性&#xff0c;如阶跃信…

java代码自动生成的插件_如何使用插件生成自定义Java 8代码

java代码自动生成的插件大多数程序员讨厌的一件事就是编写样板代码。 无休止的时间花费在设置实体类和配置数据库连接上。 为了避免这种情况&#xff0c;您可以让Speedment Open Source之类的程序为您生成所有这些代码。 这样可以很容易地以最少的人工就可以启动和运行数据库项…

【开源项目】QT播放PCM音频实例详细

#include<QtCore/QCoreApplication> #include<QAudioFormat> #include<QAudioOutput> #include<QThread> #include<iostream> using namespace std; //准备好PCM数据 //ffmpeg -i PP.mp4 -f s16le out.pcm int main(int argc, char *argv[]) {Q…

PHP在Tomcat中CSS出错,tomcat找不到css怎么办

tomcat找不到css怎么办Tomcat找不到WEB下的Css文件&#xff0c;一般可以通过以下方式解决&#xff1a;将路径相对位置修改为域相对位置&#xff0c;如下&#xff1a;备注&#xff1a;WEB-INF不是公共访问目录&#xff0c;只有在Servlets的RequestDispatcher或JSPS的可以访问&am…

java与java ee_Java EE 8 MVC:全局异常处理

java与java ee在之前的先前文章中&#xff0c;我们了解了在Java EE MVC中访问请求信息&#xff08;例如查询或路径参数 &#xff09;的各种方法。 这篇文章显示了如何将全局异常处理应用于MVC应用程序。 假设我们有一个控制器方法可能抛出IllegalArgumentException&#xff1a…

eve模拟器_《Re:从零开始的新伊甸征程》一步到位教你下载EVE手游

自从小生发布了《「EVE Echoes」萌新向完全入门指南》后有小伙伴回应不懂怎样下载游戏的问题&#xff0c;小生作为殷郡中的一名闲云野鹤也尽一点绵薄之力帮助各位&#xff0c;尽量为各位扫清前往新伊甸的“石头”吧。[酷]在开篇前小生可以大致明确告诉你&#xff0c;不要问小生…

【开源项目】QT OPENGL 与 shader 绘制展示视频代码实例 OPenGL直接显示YUV数据

本文使用QT中的QOpenGLFunctions&#xff08;此类封装了OPenGL的方法&#xff0c;相当于QT版OPenGL&#xff09; 其次重载 void paintGL(); void initializeGL(); void resizeGL(int width, int height);是基本操作 * 三种GLSL变量说明 * varying 顶点与片元共享 * attri…

java开发课程表_展示Java开发人员课程包

java开发课程表60个小时以上的课程&#xff0c;5门所有级别的课程&#xff1a;成为Java编程专家 嘿&#xff0c;怪胎&#xff0c; 本周&#xff0c;在我们的JCG Deals商店中 &#xff0c;我们提供了一个极端的报价 。 我们提供的Java Developer Course Bundle 仅售39美元&am…

二阶自回归过程matlab,时间序列分析:二阶自回归过程

时间序列分析&#xff1a;二阶自回归过程Author: nex3z2019-07-131. 定义对于二阶自回归过程 $AR(2)$\begin{equation}X_t \phi_1 X_{t-1} \phi_2 X_{t-2} e_t \tag{1}\end{equation}假设 $e_t$ 独立于 $Y_{t-1}, Y_{t-2}, \cdots$。式 $(1)$ 也可以表示为\begin{equation}X…