基于LabVIEW的EMD降噪软件设计与实现
moboyou 2025-05-18 14:31 2 浏览
孙飞,张鹏,连德浩
(西南科技大学 信息工程学院,四川 绵阳 621010)
摘要:在复杂环境数据采集过程中,原始数据常常混有若干外界噪声,为提高信号特征提取的准确性,基于虚拟仪器技术设计并实现了经验模态分解(Empirical Mode Decomposition,EMD)算法,根据相关分析法筛选有效基本模式分量(Intrinsic Mode Function,IMF)完成测量信号的降噪处理,并设计仿真信号对软件降噪效果进行验证。验证结果表明,所设计软件可有效去除原始信号噪声,可靠性较好。
0引言
在实际信号采集过程中,原始信号容易受到复杂环境噪声的干扰,增加后期信号特征提取难度。因此,选择有效降噪算法对测量信号的降噪预处理显得尤为重要。
经验模态分解(Empirical Mode Decomposition,EMD)作为信号时频分析的重要手段,在非平稳信号处理方面相比其他方法具有较好的优越性,本文利用LabVIEW开发工具,根据EMD降噪原理,设计针对复杂非平稳信号的降噪处理软件,并构建仿真信号对其降噪效果进行验证。
1经验模态分解
EMD是一种与小波变换相类似的信号分解方法,对于非平稳信号,它相比其他类信号处理方法有较强的优越性。假设原始信号为x(t),它采用“筛选”的模式对所分析信号进行分解,具体过程如下[1]:
(1)取其上下包络局部均值组成的序列m(t),则
h1(t)=x(t)-m1(t)(1)
(2)从原始信号中“筛选”出IMF信号,得到剩余信号r1(t),如式(2)所示。
r1(t)=x(t)-ct(t)(2)
(3)对剩余信号r1(t)重复步骤(1)和步骤(2),如式(3)所示。
直到rn(t)变化很小,不能“筛选”出新的模式分量为止,则原始信号被分解成多个基本模式分量(Intrinsic Mode Function,IMF)和余项之和,如式(4)所示。
不同IMF分量按照从高频到低频顺序依此排列,在实际应用中,利用相关分析算法选择有效模式分量,根据不同噪声特性,将相应模式分量进行组合还原出原始信号,从而达到去噪效果。
2算法实现
LabVIEW是一种图形化编程语言,在测控领域得到广泛应用[23]。本文通过LabVIEW根据EMD降噪原理设计并实现复杂信号降噪软件,实现原理分为三大模块,步骤如下:
(1)三次样条插值构造包络线
主要是根据所分析信号的极值点构造包络曲线,借助LabVIEW中提供的三次样条插值功能函数来实现,构造信号包络曲线的程序如图1所示。
(2)包络曲线求局部均值
从步骤(1)获取信号的上下包络曲线,对曲线中各点的极值取均值即可获取局部均值,程序结构如图2所示。
(3)剩余分量判断
在信号分解过程中,需要对筛分过程进行限制,按照Huang等人的仿柯西收敛准则[4],定义阈值SD作为EMD分解的终止条件,如式(4)所示。
式(4)中,T为信号的持续时间,按照Huang的建议,SD取[0.2,0.3]之间,本文根据试凑法,取值为0.25,整体程序结构如图3所示。
降噪软件整体界面如图4所示。
3降噪效果验证
为验证本文程序实现算法的正确性,构造式(5)所示的仿真信号S(t)对软件降噪效果进行验证。
S(t)=Asin(2*π*10*t)+w(t)(5)
其中,w(t)为幅值为0.5的高斯白噪声,采样率fs=1 000 Hz,采样数N=1 000,含噪信号波形如图5所示。
对w(t)进行经验模态分解,共产生5个基本模态函数,波形如图6所示。统计各个IMF分量和原始信号的相关系数,统计如表1所示。
从表1中可以看出,IMF4与原始信号相关系数最大,因此,选择模式IMF4作为有效分量重构信号,同时,为了更好显示降噪效果,与原始无噪声信号作对比,波形如图7所示。
从图中可以看出,原始含噪信号经过EMD降噪处理,噪声得到有效控制,较好地还原出真实信号,从而说明本文程序所实现算法的有效性,计算两类信号的相关系数,其结果为0.951 292,进而验证本文所设计软件的可靠性。
4结论
针对实际数据采集过程中容易遭受噪声干扰的问题,本文根据EMD算法降噪原理,通过LabVIEW设计并实现信号降噪处理软件,同时构建仿真信号对软件降噪效果进行验证。验证结果表明,本文所设计软件对复杂噪声处理效果较好,在实际数据采集过程中具有较好的应用价值。
参考文献
[1] 李贵子,楼军纬. EMD包络谱在虚拟仪器诊断系统中的实现及应用[J].机械制造与自动化,2014(6):205207.
[2] 王水鱼,冯晓靖. 一种基于虚拟仪器技术的任意波形发生器[J]. 微型机与应用,2013,32(18):1719.
[3] 张力,王盈. LabVIEW与三菱PLC串口通信的实现[J].微型机与应用,2013,32(12):5153.
[4] 曹冲锋. 基于EMD的机械振动分析与振动方法研究[D]. 杭州:浙江大学,2009.
相关推荐
- 人工智能所有必要的数学概念:机器学习和深度学习
-
人工智能和数学之间的这种联系的快速概述是:缺乏数学技能的人工智能专家相当于缺乏说服力的政治家。每个人都有一个需要关注的领域!我不会进一步详细说明理解数学对AI的重要性,而是直奔本文的要点。为AI...
- 「数学」微分方程第一步,吃透概念-复数,多项式方程及矩阵理论
-
最近我开启了“量子力学之路”系列,旨在从数理角度从零解释量子力学。正如我在系列的第一篇文章量子力学之路——坚实的数理基础至关重要,没有捷径可走中提到的那样,学习量子力学有一些先决条件,而一些先决条件并...
- 量子计算(七):量子系统
-
量子系统前言对于一个非物理专业的人而言,量子力学概念晦涩难懂。鉴于此,本文仅介绍量子力学的一些基础概念加之部分数学的相关知识,甚至不涉及薛定谔方程,就足够开始量子计算机的应用。这如同不需去了解CPU的...
- 什么是正定矩阵?它的几何解释有助于我们直观地理解它。
-
正定矩阵定义为每个特征值为正的对称矩阵。好吧,但你可能想知道,“我们为什么要定义这样的东西?它在某种程度上有用吗?为什么特征值的符号很重要?”这很好,但是你能提供更多的想法来支持它吗?正定矩阵的几何解...
- 实对称矩阵的几个性质
-
实对称矩阵是一种非常重要的矩阵,这里列出它的几个重要性质,以供参考:证明过程中用到的方法就是取转置和共轭,以及两个复数乘积的共轭等于两个复数共轭的乘积的性质。因为A是对称阵,所以A可以相似对角化,A=...
- 三分钟秒懂矩阵的所有概念
-
(1)矩阵矩阵就像是一幅由许多小格子组成的画,每个格子都是一个颜色或图案。比如,一个17x11的矩阵画就是一个17行11列的画,每个小格子都有不同的颜色或图案。(2)矩阵的秩秩就像是画中的“独立颜色数...
- 大一新生开发的小工具火了!可视化Python编程体验了解一下
-
鱼羊发自凹非寺量子位报道|公众号QbitAI普普通通黑底白字地敲代码太枯燥?那么,把Python脚本可视化怎么样?就像这样,从输入图片、调整尺寸到双边滤波,每一步都能看得清清楚楚明明白白。...
- Python 数据分析——SciPy 线性代数-linalg
-
NumPy和SciPy都提供了线性代数函数库linalg,SciPy的线性代数库比NumPy更加全面。一、解线性方程组numpy.linalg.solve(A,b)和scipy.linalg.sol...
- 广义切比雪夫滤波器函数综合
-
主要分享《通信系统微波滤波器——基础、设计与应用》书籍中相关章节的个人理解与感悟,如有错误欢迎批评指正!这一节主要计算广义切比雪夫滤波器的多项式函数。如果一个二端口网络是无耗并且互易的,则S参数矩阵可...
- 基于基扩展模型的LTE-R信道估计算法
-
邓玲,陈忠辉,赵宜升(福州大学物理与信息工程学院,福建福州350108)摘要:针对LTER通信系统,对快时变信道估计问题进行了研究。采用基扩展模型对高速铁路通信环境的快时变信道进行拟合,将信道冲...
- 一种基于相干波束形成的零陷加宽算法
-
摘要:针对干扰信号和期望信号相干导致“干扰欠相消”以及由于干扰扰动而无法去除的问题,提出了一种基于前后向空间平滑的零陷加宽算法。该算法首先通过前后空间平滑方法去相干,并利用最佳下降的递推方法求得最...
- [高等数学] 矩阵的奇异值分解的详细证明及计算实例
-
[高等数学]矩阵的奇异值分解的详细证明及计算实例目录1定义及介绍2详细证明3计算实例4程序正文1定义及介绍奇异值分解(SingularValueDecomposition,SVD)是...
- 运动控制功能开了挂的S7-200 SMART V3-凸轮功能
-
1、S7-200SMARTV3凸轮功能限制2、组态凸轮电子凸轮根据预定义的电子凸轮表,使用脉冲串控制从轴与主轴同步凸轮表是一份数据表,用于指定跟随主轴移动的从轴的位置。水平轴代表主轴相位,而垂直轴...
- 平均7倍实测加速,MIT提出高效、硬件友好的三维深度学习方法
-
机器之心发布机器之心编辑部随着三维深度学习越来越成为近期研究的热点,基于栅格化的数据处理方法也越来越受欢迎。但这种处理方法往往受限于高分辨下巨大的内存和计算开销,因此麻省理工学院HANLab的研...
- Python数学建模系列(四):数值逼近
-
若文中数学公式显示有问题可查看文章原文Python数学建模系列(四):数值逼近菜鸟学习记:第四十二天1.一维插值插值:求过已知有限个数据点的近似函数。插值函数经过样本点,拟合函数一般基于最小二乘法...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 使用 (12)
- 启动oracle的监听服务 (13)
- oracle 数据库 字符集 (20)
- powerdesigner oracle (13)
- oracle修改端口 (15)
- 左连接 oracle (15)
- oracle 标准版 (13)
- oracle 转义字符 (14)
- asp 连接 oracle (12)
- oracle安装补丁 (19)
- matlab三维图 (12)
- matlab归一化 (16)
- matlab求解方程 (13)
- matlab脚本 (14)
- matlab多项式拟合 (13)
- matlab阶跃函数 (14)
- 三次样条插值matlab (14)