S变换
哈哈,这两天在整理时频分析的方法,大部分参考网上写的比较好的资料,浅显易懂,在这谢过各位大神了!
今天准备写下S变换,由于网上资料较少,自己尝试总结下,学的不好,望各位多多指导
由前面的文章可知,傅里叶变换只能作用于收敛信号,短时傅里叶变换的窗函数不可变,小波变换虽然窗函数可变,能进行多分辨率分析,但是其基函数选取困难;S变换介于前两者之间,结合两种方法的优势,可自适应调节分辨率且其逆变换无损可逆。下面详细介绍下S变换:
S变换(ST)是地球物理学家Stockwell域1996年提出的一种时频分析方法,其定义为

式中:
为时间,控制窗口函数在时间轴上的位置;
为分析信号;
为频率;
为变换得到的时频谱矩阵。
ST可以写成傅里叶频谱
的形式:
对于离散信号,傅里叶频谱可由式(3)求得。

式中:K为离散的时间点,
为离散信号长度;T为采样时间间隔。
对于离散信号,令
,最终离散信号的S变换可以表示为

ST克服了STFT窗口时宽不变的缺陷,能根据频率的变化自适应的调整分析时宽和提供直观的时间频率特征,且无须选择窗口函数域分析尺度。
对微震信号进行ST变换,结果如图1所示。图中,振幅采用归一化振幅,其中图1(b)中标出了微震信号频率参数,其中主频为高幅值时频成分对应分布频段,主频段的中心为中心频率

广义S变换公式的推导
对于傅里叶变换,其正变换为

式中:
为待分析的时间信号序列;
表示频率;
表示时间;
是信号
的傅里叶变换。
加入对时间序列
加上一个窗函数
,则其谱变为

对于S变换,首先定义一个高斯窗函数:
(3)
式中:
是高斯函数的方差。对公式(2)中的高斯窗函数进行伸缩与平移,可以得到S变换的公式

式中:
表示高斯窗函数在时间上的平移量。
实际上:s变换就是把小波基函数用高斯窗来代替,又被称为“相位正交”的连续小波变换。
信号 x(t)的S变换 S(
定义如下:

式中:
为高斯 窗函数;
为时移因子,控制高斯窗在时间轴位置;
为频率;
由式(1)知,高斯窗口克服了短时傅里叶变换窗口高度和宽度固定的缺陷,其随频率而变化。因此,S变换既可以获得某一时刻的频率信息,又可获得在某一频率上信号的幅值信息。
S变换的更多相关文章
- BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1383 Solved: 582[Submit][St ...
- Hilbert-Huang Transform(希尔伯特-黄变换)
在我们正式开始讲解Hilbert-Huang Transform之前,不妨先来了解一下这一伟大算法的两位发明人和这一算法的应用领域 Section I 人物简介 希尔伯特:公认的数学界“无冕之王”,1 ...
- 【Win 10 应用开发】三维变换
所谓三维变换,其实是在二维平面上产生三维的视觉效果.前面老周简单提了一下透视效果,如果透视效果不能满需求,那可以考虑用三维变换. UIElement类有一个属性叫Transform3D,它定义的类型为 ...
- CSS3之3d变换与关键帧
3d变换是在transform基础上实现的 transform-style:preserve-3d; 建立3d空间 perspective:; 景深(设置用户看的距离) perspective-ori ...
- 纯CSS3实现多层云彩变换飞行动画
查看效果:http://hovertree.com/texiao/css3/4/效果2 效果图: 代码如下: <!doctype html> <html lang="zh& ...
- CSS3之过渡及2D变换
transition过渡 transition-duration:; 运动时间 transition-delay:; 延迟时间 transition-timing-function:; 运动形式 ea ...
- 为什么FFT时域补0后,经FFT变换就是频域进行内插?
应该这样来理解这个问题: 补0后的DFT(FFT是DFT的快速算法),实际上公式并没变,变化的只是频域项(如:补0前FFT计算得到的是m*2*pi/M处的频域值, 而补0后得到的是n*2*pi/N处的 ...
- 相机变换与Ray-Casting
p { margin-bottom: 0.1in; direction: ltr; line-height: 120%; text-align: justify; orphans: 0; widows ...
- 关于CSS3的小知识点之2D变换
transition过渡 transition-duration:; 运动时间 transition-delay:; 延迟时间 transition-timing-function:; 运动形 ...
- CSS学习笔记2-2d变换和过渡属性
前言:今天又是一个周末,心情不错,趁着闲暇之余,把剩下来的CSS3学习的内容全部整理出来,练习用的源码也稍微整理了一下. 2D转换 transform:translate||rotate||scale ...
随机推荐
- Spring AOP初步总结(三)
最近遇到一个新需求:用户多次点击提交订单发生多次扣款,一开始准备配置数据库事务,但后来发现这种方法白白浪费很多资源,就改为利用接口上的切面对请求做拦截,并将当前登陆的用户存进Redis缓存,废话不说了 ...
- 人工智能之必须会的Python基础
Python 号称是最接近人工智能的语言,因为它的动态便捷性和灵活的三方扩展,成就了它在人工智能领域的丰碑 走进Python,靠近人工智能 一.编程语言Python的基础 之 "浅入浅出&q ...
- eCharts图表(polar极坐标图)
极坐标图 HTML: <div id="eChart"></div> css: #eChart{ width:500px; height:500px; } ...
- jeesite应用实战(数据增删改查),认真读完后10分钟就能开发一个模块
jeesite配置指南(官方文档有坑,我把坑填了!)这篇文章里,我主要把jeesite官方给出的帮助文档的坑填了,按照里面的方法可以搭建起来jeesite的站点.系统可以运行以后,就可以进入开发模块了 ...
- 【微软大法好】VS Tools for AI全攻略(3):低配置虚拟机也能玩转深度学习,无需NC/NV系列
接着上文,现在我们需要一种穷人的方法来搭建好Azure虚拟机. 思路很简单,因为AI组件的原理其实是传送了script文件和命令上去,那么我们这个虚拟机只要做好了所有的配置,那么我们就可以将它当作深度 ...
- java Vamei快速教程22 内存管理和垃圾回收
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 整个教程中已经不时的出现一些内存管理和垃圾回收的相关知识.这里进行一个小小的总结. ...
- JS中的toString()和valueOf()方法
1.toString()方法:主要用于Array.Boolean.Date.Error.Function.Number等对象转化为字符串形式.日期类的toString()方法返回一个可读的日期和字符串 ...
- PHP中MySQL数据库连接,数据读写,修改方法
MySQL连接大的来说有两种方法,一种是mysqli,另一种是mysql.php为连接MySQL提供了函数库,有mysql和mysqli,mysqli是mysql函数库的扩展,是php5才支持的.当你 ...
- spark dataframe函数编程
DataFrame 的函数 Action 操作 1. collect() ,返回值是一个数组,返回dataframe集合所有的行 2. collectAsList() 返回值是一个Java类型的数组, ...
- vs2015“当前不会命中断点 还没有为该文档加载任何符号”的解决方法
解决方法:工具-选项-调试 -(启用“仅我的代码”)勾去掉