获取完整数据和代码,请直接加
kang20224
【自适应分解+双域脊线追踪】基于多形态模式自适应分解和双向挤压重排的非平稳信号时频分析(MATLAB)
算法是一种自适应信号分解与时频分析方法,能够从非平稳信号中提取具有不同形态(频率主导或时间主导)的振荡模式。算法首先通过优化窗长计算短时傅里叶变换得到初始时频平面,然后根据时频能量分布的最大值位置自适应判断每个模式的类型:频率主导模式沿时间轴追踪瞬时频率脊线,时间主导模式沿频率轴追踪瞬时时延脊线。
在此基础上,通过交替优化带宽参数和脊线位置,并引入惩罚函数控制模式保真度,迭代提取出单个模式分量。每提取一个模式后将其从残差信号中减去,直至残差能量低于阈值。最后,利用各模式的瞬时频率或瞬时时延信息对时频平面进行挤压重排,获得能量高度聚焦的时频表示。
算法步骤
一、参数初始化:输入原始信号、采样频率、最大分解层数、初始半带宽、模式分离终止阈值和迭代终止阈值。
二、循环分解每个模式,直至残差信号能量与原始信号能量之比小于阈值或达到最大分解层数:
2.1 计算当前残差信号的最优窗长(基于信号峭度和Renyi熵最小化)。
2.2 使用最优窗长对残差信号进行短时傅里叶变换,得到时频平面。
2.3 在时频平面中搜索全局能量最大值点,以该点为中心、给定半带宽为邻域,分别沿时间轴和频率轴追踪初始瞬时频率脊线和瞬时时延脊线,并比较两条脊线上的能量累积,判断当前模式属于频率主导型还是时间主导型。
2.4 单模式迭代提取:交替执行带宽优化和脊线优化,直到模式变化量小于迭代阈值。
(a)根据当前脊线位置,在时频平面内划定带状区域,计算带宽参数(上下边界)。
(b)利用带宽边界重新计算加权积分,重构该模式的时间波形。
(c)在重构模式的基础上重新估计脊线位置。
2.5 将提取出的模式从残差信号中减去,并存储该模式的波形、时频平面、瞬时频率(或瞬时时延)以及上下带宽。
三、将最后一次剩余信号作为最后一个模式(残差模式)。
四、删除所有空模式(窗长为零的模式),整理输出。
五、对每个非残差模式,利用其瞬时频率(频率主导型)或瞬时时延(时间主导型)对时频平面进行挤压重排,得到能量聚焦的时频分布。
六、将所有挤压后的时频平面求和,输出最终的高分辨率时频表示。