EMD算法实现轨道不平顺检测数据预处理[亲测有效]

EMD算法实现轨道不平顺检测数据预处理[亲测有效]本程序复现了论文中的改进的经验模态分解(EMD)方法对信号进行分解,该方法根据信号本身的固有特性进行分解,具有自适应性强的特点。

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

EMD算法实现轨道不平顺检测数据预处理

1.需求简介

高速综合检测车对轨道水平不平顺的检测是通过对超高进行25 m 高通滤波的方法,但由于标定误差、曲线超高、仪器漂移等原因使超高信号包含明显的非平稳趋势项,而对其进行滤波并不能消除该趋势项;此外,轨距不平顺由于陀螺漂移、曲线段不均匀磨耗等原因也存在着非线性的趋势项。而这些趋势项的存在,使得对信号进行时域的相关分析或频域的功率谱分析产生较大误差,特别是使得低频段的信号严重失真。因此,消除轨道不平顺测试数据中的趋势项是预处理中一项重要的工作。

本程序复现了论文中的改进的经验模态分解(EMD)方法对信号进行分解,该方法根据信号本身的固有特性进行分解,具有自适应性强的特点,从而避免了采用小波分析方法中小波基函数选择的难题,从而提高了检测数据处理的准确性和有效性。

2.实现过程

  • 利用 EMD 将轨道不半顺检测信号分解解为若干个本征模函数信号
    c a ( t ) c_a(t)
    和一个残余项
    r b ( t ) r_b(t)
    之和即


    • q ( t ) = a = 1 b c a ( t ) + r b ( t ) q(t) = \sum_{a=1}^b{c_a(t)+r_b(t)}
     % EMD经验模态分解
     qt = emd(data);
  • 去掉检测信号的低频部分,利用剩余高频部分的本征模函数分量对信号进行重构,就得到消 除趋势项后的真实检测信号。由于 200km/h提速干线铁路轨道不平顺管理波长为110m,所以,只需将波长大于110m的低频本征模函数分量和残余项去除即可。

    • 判断分量的波长需要使用希尔伯特变换,对于本案例 采样率fs为最小采样距离的倒数,单位1/m。
     [~,emdMaxIndex] = size(qt);
     output = qt(:,1)*0;
     for i=1:emdMaxIndex
         % 希尔伯特变换
         z=hilbert(qt(:,i));   
         % 确定平均波长
         wavelength = abs(1/mean(fs/(2*pi)*diff(unwrap(angle(z)))));
         if wavelength<passWave
             output = output+z;
         end
     end

3.完整函数及效果测试

将该模块封装成以下函数。

 function [output]emdLimit(fs,data,passWave)
     % fs 采样精度 单位 1/m
     % data 数据
     % passWave 波长阈值
     % EMD经验模态分解
     qt = emd(data);
    [~,emdMaxIndex] = size(qt);
     output = qt(:,1)*0;
     for i=1:emdMaxIndex
         % 希尔伯特变换
         z=hilbert(qt(:,i));   
         % 确定平均波长
         wavelength = abs(1/mean(fs/(2*pi)*diff(unwrap(angle(z)))));
         if wavelength<passWave
             output = output+z;
         end
     end
 end

对于测试数据,效果如下:

截屏2022-10-09 10.59.34

4.参考资料

Matlab官方说明文档如下

原始论文

  • 轨道不平顺检测数据的预处理方法分析

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13061.html

(0)

相关推荐

  • Mysql入门_MySQL数据库入门

    Mysql入门_MySQL数据库入门数据库介绍 数据库是在计算机出现以后,为了解决计算机存储问题而创建,数据库中包含表,表当中才是数据。 数据库的发展史 1. 萌芽阶段 所有存储依赖的都是文件,安全性低,查找非常困难。 2. 层次模型

    2023-02-11
    150
  • 解决Pycharm闪退问题!

    解决Pycharm闪退问题!Pycharm是Python开发最为常用的IDE之一,但是在使用过程中,有时会遇到Pycharm闪退的问题,严重影响开发效率。本篇文章将从多个方面探讨解决Pycharm闪退问题的方法,帮助读者更好地使用Pycharm进行开发。

    2024-05-25
    74
  • 代码功能测试_性能测试监控工具介绍

    代码功能测试_性能测试监控工具介绍ContiPerf 是一个轻量级的测试工具,基于JUnit 4 开发,可用于效率测试等。可以指定在线程数量和执行次数,通过限制最大时间和平均执行时间来进行性能测试。

    2023-07-22
    129
  • Python安装OpenCV的步骤

    Python安装OpenCV的步骤OpenCV是一个强大的计算机视觉库,具有在许多应用程序中实现图像和视频处理的广泛应用。本文将介绍如何在Python中安装OpenCV库。

    2024-05-24
    73
  • MySql 8 with docker-compose「终于解决」

    MySql 8 with docker-compose「终于解决」// Docker-compose.yml of MySql 8 version: '3' services: mysql: image: mysql restart: alwa…

    2023-02-22
    153
  • 如何彻底卸载Anaconda3

    如何彻底卸载Anaconda3Anaconda是一个数据科学和机器学习的开发环境,已经被越来越多的数据科学家和计算机科学家使用。如果您要卸载Anaconda,并确保其在系统中被完全删除,那么本文将向您介绍如何进行彻底卸载。

    2024-06-16
    54
  • 技术分享 | 快速掌握 MySQL 8.0 认证插件的使用「建议收藏」

    技术分享 | 快速掌握 MySQL 8.0 认证插件的使用「建议收藏」作者:郭斌斌 引言 MySQL 8.0.15 版本主从复制时,io 线程一直处于 connecting 状态, 由于复制用户使用的认证插件是 caching_sha2_password,而想要通过 …

    2023-01-29
    146
  • MySQL延迟问题和数据刷盘策略[亲测有效]

    MySQL延迟问题和数据刷盘策略[亲测有效]一、MySQL复制流程 官方文档流程图如下: 1、绝对的延时,相对的同步 2、纯写操作,线上标准配置下,从库压力大于主库,最起码从库有relaylog的写入。 二、MySQL延迟问题分析 1、主库D…

    2023-03-03
    152

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注