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

相关推荐
VBA63375 分钟前
VBA数据库解决方案第十五讲:Recordset集合中单个数据的精确处理
开发语言
wrx繁星点点8 分钟前
事务的四大特性(ACID)
java·开发语言·数据库
不写八个15 分钟前
Python办公自动化教程(005):Word添加段落
开发语言·python·word
肖遥Janic17 分钟前
Stable Diffusion绘画 | 插件-Deforum:动态视频生成(上篇)
人工智能·ai·ai作画·stable diffusion
HEX9CF19 分钟前
【CTF Web】Pikachu xss之href输出 Writeup(GET请求+反射型XSS+javascript:伪协议绕过)
开发语言·前端·javascript·安全·网络安全·ecmascript·xss
robinfang201925 分钟前
AI在医学领域:Arges框架在溃疡性结肠炎上的应用
人工智能
给自己一个 smile29 分钟前
如何高效使用Prompt与AI大模型对话
人工智能·ai·prompt
希望有朝一日能如愿以偿34 分钟前
力扣题解(飞机座位分配概率)
算法·leetcode·职场和发展
赵荏苒44 分钟前
Python小白之Pandas1
开发语言·python
丶Darling.1 小时前
代码随想录 | Day26 | 二叉树:二叉搜索树中的插入操作&&删除二叉搜索树中的节点&&修剪二叉搜索树
开发语言·数据结构·c++·笔记·学习·算法