matlab s变换

时间:2024-07-09 10:04:14

A4=readdata('E:\mydata.TXT');
[st,t,f] = st(A4(1:1000,2));

surf(t,f,10*log10(abs(st)),'EdgeColor','none');

axis xy; axis tight; colormap(jet); view(0,90);

============================Stockwell Transform=======================================

S变换是由Stockwell等1996年提出的一种加窗傅里叶变换,其思想是对Gabor变换和小波变换的扩展。S变换采用宽度可变的高斯窗函数,其时窗宽度随频率呈反比变化,在低频段的时窗较宽,从而获得较高的频率分辨率;而高频段的时窗较窄,故可获得很高的时间分辨率。从而能观察到信号的一些细微的部分,克服了FFT和小波变换中存在的某种缺陷。同时S变换与傅里叶变换保持紧密的联系 ,其时频谱与频率有关,利用傅里叶变换与卷积定理,以及利用现有的快速傅里叶变换算法实现S变换的计算。
S变换在国内外许多领域中获得应用,包括有振动、故障诊断、电力、地震、医学等领域的信号处理。
S变换是以Morlet小波为基本小波的连续小波变换的延伸,它结合了短时傅里叶变换和小波变换的优点,解决了短时傅里叶变换窗口频率不能调节的问题,同时具备了小波变换多分辨率的优势,而且基本小波不用满足容许性条件。