【信号分解】LMD算法及其应用

目录

  • 一、LMD算法
    • 1、基本原理
    • 2、算法的优缺点
  • 二、LMD应用+MATLAB代码
    • 1、去噪
    • 2、特征提取
    • 3、改进VMD分解
  • 参考文献

局部均值分解(local meanvdecomposition,LMD)是 Smith 等人于2005年提出,该算法可以自适应将复杂的非平稳信号分解成一系列的乘积函数(product function,PF),每个 PF函数有明确的物理意义(由包络信号和纯调频信号相乘得到),包络信号即瞬时幅值函数,纯调频信号可以求得瞬时频率。

一、LMD算法

1、基本原理

LMD算法的具体步骤如下:
1)找出输入信号 x ( t ) x(t) x(t) 的所有局部极值点 n i n_{i} ni,计算相邻局部极值点的均值 m i m_{i} mi 和包络估计值 a i a_{i} ai,计算公式为:
m i = ( n i + n i + 1 ) / 2 ; a i = ∣ n i − n i + 1 ∣ / 2 m_{i}=(n_{i}+n_{i+1})/2; a_{i}=|n_{i}-n_{i+1}|/2 mi=(ni+ni+1)/2ai=nini+1/2
2)将 m i m_{i} mi 各点用直线连接并采用移动平均方法进行平滑处理,得到局部均值函数 m 11 ( t ) m_{11}(t) m11(t),同理,将 a i a_{i} ai 各点用直线连接并采用移动平均方法进行平滑处理,得到包络估计函数 a 11 ( t ) a_{11}(t) a11(t)

3)将局部均值函数 m 11 ( t ) m_{11}(t) m11(t)从原始信号 x ( t ) x(t) x(t) 中分离出得到 h 11 ( t ) h_{11}(t) h11(t),并用包络估计函数 a 11 ( t ) a_{11}(t) a11(t) 对其进行解调,可得 S 11 ( t ) S_{11}(t) S11(t)
h 11 ( t ) = x ( t ) − m 11 ( t ) ; S 11 ( t ) = h 11 ( t ) / a 11 ( t ) h_{11}(t)=x(t) - m_{11}(t); S_{11}(t)=h_{11}(t)/a_{11}(t) h11(t)=x(t)m11(t)S11(t)=h11(t)/a11(t)
4)将 S 11 ( t ) S_{11}(t) S11(t) 视为输入信号 x ( t ) x(t) x(t),重复上述步骤得到 a 12 ( t ) a_{12}(t) a12(t)。若 a 12 ( t ) ≠ 1 a_{12}(t)≠1 a12(t)=1,则说明 S 11 ( t ) S_{11}(t) S11(t) 不是纯调频函数,重复上述迭代步骤 n n n 次,直到 S 1 n ( t ) S_{1n}(t) S1n(t) 为纯调频函数,即 l i m n → ∞ a 1 n ( t ) = 1 \underset{n→∞}{lim}a_{1n}(t)=1 nlima1n(t)=1
5)将迭代过程中的所有包络估计函数相乘得到包络信号 a 1 ( t ) a_{1}(t) a1(t) ,即瞬时幅值函数。
a 1 ( t ) = a 11 ( t ) a 12 ( t ) . . . a 1 n ( t ) = ∏ k = 1 n a 1 k ( t ) a_{1}(t)=a_{11}(t)a_{12}(t)...a_{1n}(t)=\prod ^n_{k=1}a_{1k}(t) a1(t)=a11(t)a12(t)...a1n(t)=k=1na1k(t)
6)将包络信号 a 1 ( t ) a_{1}(t) a1(t) 和纯调频信号 S 1 n ( t ) S_{1n}(t) S1n(t) 相乘得到原始信号 x ( t ) x(t) x(t) 的第一个分量 P F 1 ( t ) PF_{1}(t) PF1(t)
P F 1 ( t ) = a 1 ( t ) S 1 n ( t ) PF_{1}(t)=a_{1}(t)S_{1n}(t) PF1(t)=a1(t)S1n(t)
P F 1 ( t ) PF_{1}(t) PF1(t) 分量的瞬时幅值就是包络信号 a 1 ( t ) a_{1}(t) a1(t) ,瞬时频率为:
f 1 ( t ) = 1 2 π d [ a r c c o s ( S 1 n ( t ) ) ] d t f_{1}(t)=\frac{1}{2π}\frac{d[arccos(S_{1n}(t))]}{dt} f1(t)=2π1dtd[arccos(S1n(t))]
7)将 P F 1 ( t ) PF_{1}(t) PF1(t) 分量从原始信号 x ( t ) x(t) x(t) 中分离出来:
u 1 ( t ) = x ( t ) − P F 1 ( t ) u_{1}(t)=x(t)-PF_{1}(t) u1(t)=x(t)PF1(t)
8)将 u 1 ( t ) u_{1}(t) u1(t) 作为原始信号 x ( t ) x(t) x(t) 重复以上步骤,循环 k k k 次,
直到 u k ( t ) u_{k}(t) uk(t) 为单调函数。

利用LMD算法对信号进行分解后,各分量与原始信号的关系如下:
x ( t ) = ∑ i = 1 k P F i ( t ) + u k ( t ) x(t)=\sum_{i=1}^k{PF_{i}(t)+u_{k}(t)} x(t)=i=1kPFi(t)+uk(t)

2、算法的优缺点

LMD 方法是一种基于 EMD 方法发展而来的新的时频分解方法,它的出发点在于从原信号中更加合理地自适应分解出符合信号固有时频属性的稳态子波成分,同样属于一种经验分解方法,相对于 EMD 在端点效应、过包络、欠包络等方面有一定的优势,减少了迭代次数,提高了运算效率。但是在端点效应和模态混叠问题上仍有较大的改进空间。

二、LMD应用+MATLAB代码

利用LMD算法对信号进行分解后,通过筛选最优的IMF分量进行重构,可以实现信号的去噪;也可以将LMD与近似熵、样本熵结合,作为一种特征提取方法。

1、去噪

首先使用LMD分解,获得一系列由高频到低频分布的乘积函数(product functions,PF);通过计算原始信号与各个PF分量之间的相关系数,确定含噪信号与有效信号之间的分界位置,将分界分量之前的分量剔除,实现初步降噪。然后,针对LMD分解结果中的残留噪声,使用SVD法,以加权能量贡献率(percent of contribution to total energy,PCTE)作为奇异值阶数的确定方法,对分界PF分量进行降噪处理,实现二次滤波。

2、特征提取

1)对机械振动信号进行 LMD 分解,得到若干具有物理意义的乘积函数分量,再通过相关性分析,筛选出与原始信号相关性最大的3个分量作为数据源,求取其近似熵作为特征向量。
2)利用 LMD 算法将经预处理的运动想象脑电信号分解为多个 PF 分量,根据左右手运动想象脑电信号所处的频段选出包含 α 节律和 β 节律的 PF 分量。采用模糊熵算法提取已选择的 PF 分量的特征,使用共空间模式算法对得到的特征进行投影映射。最后,对比投影前后的特征向量,并选取其中最具区分度的特征输入到支持向量机中用于分类。
3)提出一种基于 LMD 分解的特征提取与识别算法。对原始信号进行 LMD 分解,得到若干 PF 分量,然后通过自相关原理重构信号,并提取重构信号的样本熵特征和能量特征。

3、改进VMD分解

1)快速自适应局部均值分解(Fast and Adaptive Local Mean Decomposition,FALMD)
采用顺序统计滤波器求取信号上下包络线的均值来获得局部均值函数及包络估计函数,然后将信号分解为若干PF分量及一个残余分量。该算法一方面改变了 LMD 严格的终止条件,提高了运算速率,另一方面减少了对极值点的依赖,在一定程度上抑制了端点效应。

2)改进LMD算法在微电网电能质量扰动信号检测中的应用
边界条件、包络估计和筛选停止准则等方面对 LMD 算法进行改进:提出四点波形曲率延拓,寻找最优匹配波形用以改善“端点效应”。采用三次样条函数插值提高计算速度,使得筛选过程更快,间接减小了“端点效应”和“模态混叠”的影响。进一步提出了自适应筛选停止准则,通过内外层循环判据确定筛选停止条件,从而抑制“模态混叠”。

3)Robust Local Mean Decomposition (RLMD)
RLMD是一种改进的局部均值分解,由一组优化策略支持。优化策略可以处理LMD中的边界条件、包络估计和筛选停止准则。它同时从混合信号中提取一组单分量信号(称为乘积函数)及其相关解调信号(即AM信号和FM信号),这是与其他自适应信号处理方法(如EMD)相比最吸引人的特征。RLMD可用于时频分析。
MATLAB代码以及对应的案例在下面的链接里:
信号分解方法之鲁棒型局部均值分解(RLMD)算法

参考文献

[1] Smith J S. The local mean decomposition and its application to EEG perception data[J]. Journal of the Royal Society Interface, 2005, 2(5): 443-454.
[2] 林江刚, 胡正新, 李晶, 等. 低转速下基于AE信号与LMD的滚动轴承故障诊断[J]. 动力工程学报, 2019, 292(04): 293-298.
[3] 董林鹭, 蒋若辰, 徐奴文, 等. 基于LMD–SVD的微震信号降噪方法研究[J]. 工程科学与技术, 2019, 51(05): 126-136.
[4] 徐艳春, 高永康, 李振兴, 等. 改进LMD算法在微电网电能质量扰动信号检测中的应用[J]. 电网技术, 2019, 422(01): 332-341.
[5] 张坤, 马朝永, 胥永刚, 等. 快速自适应局部均值分解及轴承故障诊断应用[J]. 振动工程学报, 2020.
[6] Zhiliang Liu, Yaqiang Jin, Ming J. Zuo, et al. Time-frequency representation based on robust local mean decomposition for multi-component AM-FM signal analysis[J]. Mechanical Systems and Signal Processing, 2017, 95: 468-487.

你可能感兴趣的:(MATLAB信号处理,信号处理,局部均值分解,LMD)