【多同步挤压变换】基于多同步挤压变换处理时变信号和噪声信号研究(Matlab代码实现)

简介: 【多同步挤压变换】基于多同步挤压变换处理时变信号和噪声信号研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


📚2 运行结果


2.1 算例1


2.2 算例2



2.3 算例3


2.4 算例4


2.5 算例5


🎉3 参考文献


🌈4 Matlab代码实现


💥1 概述

文献来源:


c2ec634a26cf4fc385ec5b62bddf40c8.png


时频(TFA)分析(TFA)方法是工业工程领域的重要工具。然而,局限于海森堡不确定性原理或意外交叉项,经典TFA方法经常产生模糊的TF表示,严重阻碍了其工程应用。如何为强时变信号生成集中TF表示是一项具有挑战性的任务。在本文中,我们提出了一种新的TFA方法来研究强时变信号的非平稳特征。该方法基于同步挤压变换,采用迭代重分配程序逐步集中模糊TF能量,同时保持信号重构能力。给出了离散算法的两种实现方式,表明所提方法计算负担有限,具有实时应用潜力。此外,我们引入了一种有效的算法来检测瞬时频率轨迹,可用于分解单分量模态。通过与一些先进方法的比较,利用数值和真实世界信号验证了所提方法的有效性。通过对比表明,所提方法在处理强时变信号和噪声信号方面具有较好的性能。


原文摘要:


Abstract:


Time-frequency (TF) analysis (TFA) method is an important tool in industrial engineering fields. However, restricted to Heisenberg uncertainty principle or unexpected cross terms, the classical TFA methods often generate blurry TF representation, which heavily hinder its engineering applications. How to generate the concentrated TF representation for a strongly time-varying signal is a challenging task. In this paper, we propose a new TFA method to study the nonstationary features of strongly time-varying signals. The proposed method is based on synchrosqueezing transform and employs an iterative reassignment procedure to concentrate the blurry TF energy in a stepwise manner, meanwhile retaining the signal reconstruction ability. Two implementations of the discrete algorithm are provided, which show that the proposed method has limited computational burden and has potential in real-time application. Moreover, we introduce an effective algorithm to detect the instantaneous frequency trajectory, which can be used to decompose monocomponent modes. Numerical and real-world signals are employed to validate the effectiveness of the proposed method by comparing with some advanced methods. By comparisons, it is shown that the proposed method has the better performance in addressing strongly time-varying signals and noisy signals.


时频(TF)分析(TFA)是分析时变信号的有效工具,在过去几十年中引起了相当大的关注[1],[2]。经典的线性方法,如短时傅里叶变换(STFT)和小波变换(WT),可以将一维(1-D)时间序列信号扩展到二维(2-D)TF平面。从TF平面,我们可以观察时变特征并进行信号分解。然而,受海森堡不确定性原理的限制,通过常规方法生成的TF表示通常模糊,并且无法为时变信号提供精确的TF描述。TFA方法的最新发展涉及设计高分辨率方法,同时保留恢复原始时间序列信号的能力[3]。因此,我们可以尽可能详细地确定时变特征,并实现多分量模态的分解。


📚2 运行结果

2.1 算例1


8e0f8b2437e6492e9f5cacefe335eea7.png

5ad32c91a09f4fbca4a9b5eb242af2ec.png

8c91de9208354eabbee88e0948ea2c13.png

d3b7851f6d5a48b493f6810e44f5bf20.png


2.2 算例2


1bdab7a3d86846d09c6f3ab61c141ebf.png

6ead8c71b43b4050adb6f79bc204280b.png


2.3 算例3


02a0dd06ad0c43028ab567a9fdb6476e.png


2.4 算例4


de15cbae99f54bd6a385170b11e11a71.png

0cdede3fde6746678d6fdcf7cc4f33b8.png

ba4d7769b403468f98d2eef1a08076e4.png


2.5 算例5


44a470b8057a404d8a6838fcc444659f.png

3ecfc3eb582144b09a345cf7b3445046.png

f3ec0d84886b4f908cedd5f02f7f9749.png

ee1a4f0e3d9a49668883578a82973e07.png


部分代码:

load('vib_data1.mat')
fs = 12000; N = 1200;      % sampling frequency and points
time = (1:N)/fs;              % time sequence
fre = (fs/2)/(N/2):(fs/2)/(N/2):(fs/2);    % frequency sequence
data=data(1:N);
[MTs tfr]=MSST_Y_new(data,95,50);
gamma = 10^(-2);
sigma = 0.025;
[~,~,~,~,~,Ts1,Ts2,Ts3,Ts4] = sstn(data,gamma,sigma);
.................................................................
figure
suptitle('Fig. 19');
subplot(211)
plot(time,data);
ylabel('Amp / g');
xlabel('Time / s');
axis([0 0.1 -4 4]);
subplot(212)
ft=abs(fft(data))/600;
plot(fre,ft(1:end/2));
ylabel('Amp / g');
xlabel('Fre / Hz');
axis([0 6000 0 0.3]);
...........................................................................
x1=0.06; x2=0.065;
y1=2.6;   y2=3.7;
dd=0.1;
figure
suptitle('Fig. 20');
subplot(511);
imagesc(time,fre/1000,abs(tfr));
%xlabel('Time / s');
ylabel('Fre / kHz');
axis xy;axis ([0 0.1 y1-dd y2+dd]);
rectangle('Position',[x1 y1 x2-x1 y2-y1],'EdgeColor','red','Linewidth',1);
axes('position',[0.92,0.805,0.07,0.15]); 
imagesc(time,fre/1000,abs(tfr));
%xlabel('Time / s');
ylabel('Fre / kHz');
axis xy
axis off;
%set(ha,'xlim',[x1 x2],'ylim',[y1 y2]);
xlim([x1,x2]);ylim([y1,y2]);
subplot(512);
imagesc(time,fre/1000,abs(Ts1));
%xlabel('Time / s');
ylabel('Fre / kHz');
axis xy;axis ([0 0.1 y1-dd y2+dd]);
rectangle('Position',[x1 y1 x2-x1 y2-y1],'EdgeColor','red','Linewidth',1);
axes('position',[0.92,0.61,0.07,0.15]); 
imagesc(time,fre/1000,abs(Ts1));
%xlabel('Time / s');
ylabel('Fre / kHz');
axis xy
axis off;
%set(ha,'xlim',[x1 x2],'ylim',[y1 y2]);
xlim([x1,x2]);ylim([y1,y2]);


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1]G. Yu, Z. Wang and P. Zhao, "Multisynchrosqueezing Transform," in IEEE Transactions on Industrial Electronics, vol. 66, no. 7, pp. 5441-5455, July 2019, doi: 10.1109/TIE.2018.2868296.


🌈4 Matlab代码实现


相关文章
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
215 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
139 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
105 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
7月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
7月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
7月前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
|
7月前
|
算法 调度 SoC
电动汽车充放电V2G模型(Matlab代码)
电动汽车充放电V2G模型(Matlab代码)