S-Transform

基本概念

傅里叶变换只能作用于收敛信号,短时傅里叶变换的窗函数不可变,小波变换虽然窗函数可变,能进行多分辨率分析,但是其基函数选取困难;S变换介于前两者之间,结合两种方法的优势,可自适应调节分辨率且其逆变换无损可逆。S变换(ST)是地球物理学家Stockwell域1996年提出的一种时频分析方法。

推导过程

在这里插入图片描述

离散的S变换

在这里插入图片描述

示例演示

我们实现S变换和逆变换的代码,来看下变换的结果。

 % code
clear all;
close all;
SampFreq = 1000;
t = 0 : 1/SampFreq : 1;
LFM_k0 = -50.34;
LFM_f0 = 100.23;
LFM_A0 = exp(-0.5*t);
%Sig = LFM_A0.*cos(2*pi*(LFM_f0*t+(LFM_k0/2)*t.^2)) ;

LFM_f1 = 5.0;
t = 0 : 1/SampFreq : 0.5;
LFM_A0 = exp(-0.5*t);
Sig1 = LFM_A0.*cos(2*pi*(LFM_f0*t+(LFM_k0/2)*t.^2)) ;
t = 0.5 : 1/SampFreq : 1.0;
Sig2 =  LFM_A0.*cos(2*pi*(LFM_f1*t+(LFM_k0/2)*t.^2));
Sig = [Sig1, Sig2];
t = 0 : 1/SampFreq : 1;

ST = st(Sig);
fre = 1 : 1 : SampFreq / 2;
imagesc(t,fre,abs(ST));
title('S变换');
axis xy;

figure
plot(Sig);
title('原始数据');

figure
restore = real(ist(ST));
plot(restore);
title('S逆变换');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

S-Transform的Matlab代码

参考资料

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值