基于变分模态分解与平稳小波变换的信号联合降噪(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等。

相关推荐
passer__jw7671 小时前
【LeetCode】【算法】3. 无重复字符的最长子串
算法·leetcode
passer__jw7671 小时前
【LeetCode】【算法】21. 合并两个有序链表
算法·leetcode·链表
sweetheart7-72 小时前
LeetCode22. 括号生成(2024冬季每日一题 2)
算法·深度优先·力扣·dfs·左右括号匹配
SRY122404192 小时前
javaSE面试题
java·开发语言·面试
小于小于大橙子2 小时前
视觉SLAM数学基础
人工智能·数码相机·自动化·自动驾驶·几何学
李元豪3 小时前
【智鹿空间】c++实现了一个简单的链表数据结构 MyList,其中包含基本的 Get 和 Modify 操作,
数据结构·c++·链表
无尽的大道3 小时前
Java 泛型详解:参数化类型的强大之处
java·开发语言
ZIM学编程3 小时前
Java基础Day-Sixteen
java·开发语言·windows
我不是星海3 小时前
1.集合体系补充(1)
java·数据结构
放逐者-保持本心,方可放逐3 小时前
react 组件应用
开发语言·前端·javascript·react.js·前端框架