✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
地震信号是非平稳的,谱分解方法是研究非平稳信号的常规方法,但由于常规谱分解方法无法同时获得高时间分辨率和高频率分辨率,固无法满足目前地震资料精细解释的需求.基于此,本文提出了一种高时频分辨率的谱分解方法-同步压缩小波变换(synchrosqueezing wavelet transform,SSWT),该方法只在频率方向对小波系数进行压缩和重排,不仅提高时频分辨率,还可以重建信号.本文从SSWT基本原理出发,研究本方法的抗噪性和可逆性等基本性质,采用频率修正同步压缩小波变换算法有效减轻了瞬时频率变化率不为零的信号所存在的时频谱模糊现象.通过对实际地震资料分别采用连续小波变换(CWT),三参数小波变换(TP),S变换(ST)和SSWT进行谱分解研究,验证了该方法的优越性.
⛄ 部分代码
clc; clear; close all;
%% Parameters
N = 800;
fs = 200;
f = (0:N/2)*fs/N;
t = (0:N-1)/fs;
num = 1;
%% Test Signal
%Mode1
A_f2 = exp(0.002*f);
Phi_f2 = -6*f+1.6*sin(0.2*f);
X2 = A_f2.*exp(-1i*2*pi*Phi_f2);
X2(end) = -A_f2(end);
Y2 = [X2 conj(fliplr(X2(2:end-1)))];
y2 = ifft(Y2);
%Mode2
y=y2;
figure;
plot(t,y)
ylabel('Amp / v')
axis([0 5 -0.1 0.1]);
[Ws1,Wx1,tau1,as1] = WTMSST_Z(y',0.001,'cmor12-2',1000,10);
[Ws2] = WTMSST_Z(y',0.001,'cmor12-2',1000,10);
fre=scal2frq(as1,'cmor12-2',1/fs);
figure
imagesc(t,fre,abs(Wx1))
ylabel('Fre / Hz');
xlabel('Time / s');
axis xy
figure
imagesc(t,fre,abs(Ws1))
xlabel('Time / s');
ylabel('Fre / Hz');
axis xy
⛄ 运行结果
⛄ 参考文献
[1]王嘉梅. 基于MATLAB的小波变换信号消噪处理[J]. 无线电通信技术, 2001(005):027.
[2]贺京生. 基于小波变换的十二导联心电信号分析研究[D]. 南昌大学.
[3]蔡俊雄, 乐友喜, 邓小凡. 基于同步压缩小波变换的储层预测方法研究[C]// CPS/SEG北京2018国际地球物理会议暨展览. 0.
⛳️ 完整代码
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料