基于变分模态分解与平稳小波变换的信号联合降噪(MATLAB R2021B)

变分模态分解VMD与递归式模态分解(EMD等)所采取的层层筛选模式有本质的不同,其整体框架是变分问题的求解,并且具有坚实的理论基础。

关于递归式模态分解(EMD等)的研究,实践超前于理论,目前尚没有严格的理论支持,递归式模态分解主要存在以下问题:第一,EMD等均采用了基于极值点的包络求取方式,其包络估计误差经多次递归分解而被放大,易出现模态混叠,需采用EEMD等对模态混叠现象进行抑制,但这将大幅增加计算量,且会分解出超出信号真实组成的多个分量;第二,EMD等存在端点效应,需要进行端点延拓;第三,EMD等均受采样频率的影响,当频率比为奇数分之一时,分解误差较大;第四,EMD等无法将两个频率相近的分量正确分离。

与递巧式模态分解的"筛选"模式不同,变分模态分解将信号分解转化非递归、变分问题的求解模式,具有坚实的理论基础,其中假设每个"模态"是具有不同中心频率的有限带宽,将对模态的估计转变为变分问题的求解,使得每个模态的估计带宽之和最小,为解决这一变分问题,采用了交替方向乘子法,在频域不断更新各模态及其中心频率,最后各模态经傅立叶逆变换到时域口。VMD的实质是多个自适应维纳滤波器,表现出更好的噪声鲁棒性;通过收敛条件的合理控制,VMD的采样效应也远小于EMD等方法;在模态分离方面,VMD可将频率相近的两个纯谐波信号成功分离,另外,VMD端点效应也远弱于递归式模态分解。

(目前对于VMD的主要改进工作也集中在如何确定两个参数的问题上。这些改进VMD参数依赖性的方法可以分为两类,一类是固定惩罚系数α,通过穷举法迭代优化模态数量K。例如,可以使用近似完全重构的判据来确定合适的模态数量;可以利用傅里叶变换得到的频谱作为判断模态数量是否合适的标准;由于VMD的性能受到模态数量K和惩罚系数α的共同调节,只考虑模态数量K的作用存在一定的风险。

另一类方法则是同时对模态数量K和惩罚系数α进行优化。这类方法的思路大多都是针对特定的应用 场景构造适应度函数,然后使用一些启发式智能算法对参数进行寻优。尽管这类基于智能寻优的改进方法考虑了模态数量K和惩罚系数α这两个参数,但这些改进方法没有触及VMD的本质,且有效性受限于特定场景下的适应度函数和优化算法,难以推广到其他场景。)

平稳小波变换SWT为非正交小波变换,平稳小波变换与小波变换的不同,就在于分解信号时省去了下抽样操作,取而代之的是对各层滤波器之间进行补零插值处理,这样滤波器的系数得到拓展,使平稳小波变换后的逼近信号、细节信号与原信号长度一样。平稳小波变换最为主要的特点就是平移不变性和冗余性,这有利于在重构过程中避免吉布斯Gibbs效应。

全变分TV去噪算法在降噪领域中应用广泛,该方法的具体思路是把需要降噪信号的代价函数构建成一个凸函数,对这个凸函数进行求导,找到凸函数的最小值,这个最小值就是利用全变分降噪得到的去噪信号。

鉴于此,提出一种基于变分模态分解与平稳小波变换的时间序列联合降噪方法,引入非凸惩罚项与TV正则项,为简化计算,使用了平稳小波变换以及全变分降噪算法。 该算法能够大幅提高信号信噪比,实验数据中分别提升了10.207dB、11.246dB、12.153dB。 使用仿真数据与最近的一些算法VMD-WTD、SVD-VMD、JANRR、EEMD-SP进行了降噪效果的对比,一定的信噪比范围, 此方法能更大程度地提升信噪比与降低均方根误差,同时也拥有着良好的稳定性,部分代码如下,运行环境为MATLAB R2021B。

%input:Q,alpha_p,gama,miu
%Q为某一尺度观测系数;alpha_p和gama为超参数,miu为分裂增广拉格朗日收缩算法参数
function ew=TV(Q,lamda)
%初始化
Q=Q';
N=length(Q);
ewl=Q;
ewn=Q;
zhu=ones(1,N);
fu=ones(1,N-1);
D1=diag(-zhu);
D2=diag(fu,1);
D3=D1+D2;
D=D3(1:N-1,:);
DDT=D*D';
Dy=D*Q;
%迭代
k=1;
while 1
ewn=Q-D'*(1/lamda*diag(D*ewl)+DDT)^-1*Dy;
if max(abs(ewn-ewl))<0.1||k>200
    ew=ewn';
    break;
else
    ewl=ewn;
    k=k+1;
end
end
end

出图如下:

完整代码获取方式

基于变分模态分解与平稳小波变换的信号联合降噪(MATLAB R2021B)-今日头条 (toutiao.com)

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
A懿轩A5 分钟前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
古希腊掌管学习的神6 分钟前
[搜广推]王树森推荐系统——矩阵补充&最近邻查找
python·算法·机器学习·矩阵
云边有个稻草人9 分钟前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
半盏茶香10 分钟前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
martian66512 分钟前
【人工智能数学基础篇】——深入详解多变量微积分:在机器学习模型中优化损失函数时应用
人工智能·机器学习·微积分·数学基础
忘梓.1 小时前
解锁动态规划的奥秘:从零到精通的创新思维解析(3)
算法·动态规划
人机与认知实验室1 小时前
人、机、环境中各有其神经网络系统
人工智能·深度学习·神经网络·机器学习
Evand J1 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB1 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
️南城丶北离1 小时前
[数据结构]图——C++描述
数据结构··最小生成树·最短路径·aov网络·aoe网络