使用自相关求周期性

测量不确定性和噪声有时会导致难以发现信号中的振荡行为,即使该震荡行为是预期存在的。

        周期信号的自相关序列与信号本身具有相同的周期特征。因此,自相关可以帮助验证周期的存在并确定其持续时间。

        以由办公楼内温度计采集的一组温度数据为例。该设备每半小时读取一次读数,持续读取四个月。加载数据并对其绘图。减去均值以重点关注温度波动。将温度转换为摄氏度。测量时间以天为单位。因此,采样率为 2 次测量/小时 × 24 小时/天 = 48 次测量/天。

load officetemptempC = (temp-32)*5/9;tempnorm = tempC-mean(tempC);fs = 2*24;
t = (0:length(tempnorm) - 1)/fs;plot(t,tempnorm)
xlabel('Time (days)')
ylabel('Temperature ( {}^\circC )')
axis tight

如图所示:

Figure contains an axes object. The axes object with xlabel Time (days), ylabel Temperature ( blank toThePowerOf degree baseline C blank ) contains an object of type line.

        温度似乎确实有震荡特性,但周期的长度并不容易确定。

        计算温度的自相关性(时滞为零时该值为 1)。将正时滞和负时滞限制为三周。请注意信号的双周期性。

[autocor,lags] = xcorr(tempnorm,3*7*fs,'coeff');plot(lags/fs,autocor)
xlabel('Lag (days)')
ylabel('Autocorrelation')
axis([-21 21 -0.4 1.1])

如图所示:

Figure contains an axes object. The axes object with xlabel Lag (days), ylabel Autocorrelation contains an object of type line.

        通过找到峰值位置并确定它们之间的平均时间差来确定短周期和长周期。

要找到长周期,请将 findpeaks 限制为只寻找间隔时间超过短周期且最小高度为 0.3 的峰值。

[pksh,lcsh] = findpeaks(autocor);
short = mean(diff(lcsh))/fs
short = 1.0021Get [pklg,lclg] = findpeaks(autocor, ...'MinPeakDistance',ceil(short)*fs,'MinPeakheight',0.3);
long = mean(diff(lclg))/fs
long = 6.9896Get hold on
pks = plot(lags(lcsh)/fs,pksh,'or', ...lags(lclg)/fs,pklg+0.05,'vk');
hold off
legend(pks,[repmat('Period: ',[2 1]) num2str([short;long],0)])
axis([-21 21 -0.4 1.1])

如图所示:

Figure contains an axes object. The axes object with xlabel Lag (days), ylabel Autocorrelation contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent Period: 1, Period: 7.

        自相关每天和每周都呈现振荡行为,而且非常近似。这是意料之中的,因为大楼内在人们工作时间温度较高,晚上和周末温度较低。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Vue : v-if, v-show

目录 v-show v-if v-show <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

【XR806开发板试用】语音紧急呼叫系统

1.背景介绍 老人和小孩子独自在家的时候如果遇到紧急情况&#xff0c;通过拨打电话或者微信的方式通知家人存在操作不便的问题。例如&#xff0c;如果老人摔倒了手机很可能不在身边&#xff0c;对小孩来说手机的操作又过于复杂。针对这种情况&#xff0c;研发一种主动语音上报…

GitHub教程-自定义个人页制作

GitHub是全球最大的代码托管平台&#xff0c;除了存放代码&#xff0c;它还允许用户个性化定制自己的主页&#xff0c;展示个人特色、技能和项目。本教程旨在向GitHub用户展示如何制作个性化主页&#xff0c;同时&#xff0c;介绍了GitHub Actions的应用&#xff0c;可以自动化…

如何在无公网IP环境下远程访问Serv-U FTP服务器共享文件

文章目录 1. 前言2. 本地FTP搭建2.1 Serv-U下载和安装2.2 Serv-U共享网页测试2.3 Cpolar下载和安装 3. 本地FTP发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 科技日益发展的今天&#xff0c;移动电子设备似乎成了我们生活的主角&#xff0c;智能…

2023年,我46岁,进入关机模式,稳了

关键词&#xff1a;持续关机、稳住基本盘、力量训练、新开端。 持续关机 对于性格内向的我&#xff0c;过上安静的生活才是美好岁月的真正开端。我尽量减少不必要的活动&#xff0c;能不出门就不出门。 在10月份&#xff0c;我停止了日更栏目“大志聊赚钱”&#xff0c;该栏目…

【Docker】添加指定用户到指定用户组

运行Docker ps命令&#xff0c;报错&#xff1a;/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied 创建docker用户组 安装docker时默认已经创建好 sudo groupadd docker添加用户加入docker用户组 此处以用户user为例 sudo usermo…

Linux自定义shell编写

Linux自定义shell编写 一.最终版本展示1.动图展示2.代码展示 二.具体步骤1.打印提示符2.解析命令行3.分析是否是内建命令1.shell对于内建名令的处理2.cd命令3.cd函数的实现4.echo命令的实现5.export命令的实现6.内建命令函数的实现 4.创建子进程通过程序替换执行命令5.循环往复…

【开源】基于Vue+SpringBoot的公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

多功能演示工具ProVideoPlayer2 mac特色介绍

ProVideoPlayer2 mac是用于大多数任何生产的首选多功能演示工具。ProVideoPlayer 2是一种动态视频播放和处理媒体服务器&#xff0c;可将视频映射&#xff08;包括播放和实时视频输入&#xff09;实时控制到一个或多个输出。包括实时效果&#xff0c;调度&#xff0c;网络同步和…

Spring-5-切入点的高级使用

Spring提供了两个额外的Pointcut实现&#xff0c;分别是ComposablePointcut和ControlFlowPointcut,它们提供了所需的灵活性。 使用控制流切入点 由ControlFlowPointcut类实现的Spring控制流切入点类似于许多其他AOP实现中可用的cflow构造&#xff0c;尽管功能上没有那么强大。…

Python+Yolov5+Qt交通标志特征识别窗体界面相片视频摄像头

程序示例精选 PythonYolov5Qt交通标志特征识别窗体界面相片视频摄像头 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonYolov5Qt交通标志特征识别窗体界面相片视频摄像头》编写代码&a…

电子合同如何验证有效性?教你一眼避雷无效合同!

你是否收到过电子合同&#xff0c;却对它是否有效感到困惑&#xff1f; 要验证电子合同是否有效&#xff0c;首先要看它的电子签章是否符合要求。 电子签名怎么才可靠&#xff1f; 电子签名同时满足以下条件&#xff0c;就是可靠签名&#xff0c;也就是具有法律效力的电子签名…

Unity 旋转跟随

Unity 使用任意一个局部轴指向目标 效果&#xff1a; 主要用于在编辑器中可视化对象的朝向&#xff0c;同时提供了选择不同轴向的功能。在运行时&#xff0c;物体将根据所选择的轴向朝向目标&#xff0c;并在 Scene 视图中绘制一个带箭头的圆环。 定义轴向枚举&#xff1a;…

车联网的安全风险与应对措施

安全风险 1、恶意软件 攻击者可以通过入侵厂商或供应商网络&#xff0c;用恶意软件&#xff08;如病毒、木马、勒索软件等&#xff09;感染车联网系统组件&#xff0c;从而获得对车辆的控制权或窃取敏感信息。例如&#xff0c;一名安全研究人员成功入侵了特斯拉&#xff08;T…

校园安全风险管理系统

随着社会的不断发展和进步&#xff0c;教育行业也逐渐走向了信息化、智能化管理。校园作为教育事业的重要场所&#xff0c;其安全和管理问题一直备受关注。为了确保校园的安全和管理&#xff0c;各种校园管理平台应运而生。 其中&#xff0c;凡尔码搭建的校园安全管理系统为校园…

CodeWhisperer:编码世界中的声音启迪者

人烟 导语&#xff1a; 在数字化时代&#xff0c;编码已经成为了一种不可或缺的技能。而 CodeWhisperer&#xff08;编码世界中的声音启迪者&#xff09;则以其卓越的技术和深厚的知识为人们带来了独特的启发和指导。本文将介绍 CodeWhisperer 的背景和成就&#xff0c;探讨他是…

PowerShell Instal 一键部署gitea

gitea 前言 Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来…

土壤侵蚀模型地形因子计算工具(2.0版本)

土壤侵蚀模型地形因子计算工具&#xff08;2.0版本&#xff09; 土壤侵蚀模型地形因子计算工具&#xff08;2.0版本)。该软件为符素华老师、刘宝元老师和周贵云老师开发的。2.0 版本在 1.0 版本的基础上修改了当坡长大于临界坡长后的坡长因子算法。2.0 中用整坡坡长因子计算公式…

nfs高可用部署

一、前言 为了避免nfs单点问题导致的服务不可用&#xff0c;使用以下架构实现nfs的高可用&#xff0c;keepalivedinotifyrsyncnfs&#xff0c;keepalived实现nfs的高可用&#xff0c;inotify持续监控nfs数据目录的变化&#xff0c;发生变化后通过rsync进行同步到备节点&#xf…

【北亚服务器数据恢复】san环境下LUN Mapping出错导致文件系统一致性出错的数据恢复案例

服务器数据恢复环境&#xff1a; san环境下的存储上一组由6块硬盘组建的RAID6&#xff0c;划分为若干LUN&#xff0c;MAP到跑不同业务的服务器上&#xff0c;服务器上层是SOLARIS操作系统UFS文件系统。 服务器故障&#xff1a; 业务需求需要增加一台服务器跑新增的应用&#xf…