当前位置: 首页 > news >正文

时频分析之S变换

S变换的提出

1996年,由R.G Stockwell 提出了S变换,和其他时频分析工具一样,通过S变换,我们可以同时从时域以及频域观察一个信号的能量分布。S变换融合了短时傅里叶变换和小波变换的优点。关于S变换,最早发表于TSP上的文章Localization of the complex spectrum: the S transform:
Stockwell R G , Mansinha L , Lowe R P . Localization of the complex spectrum: the S transform[J]. IEEE Transactions on Signal Processing, 2002, 44(4):998-1001.
S变换采用高斯函数作为窗,且该时间窗和频率有关,在低频部分时窗较大,在高频部分时窗时窗较小。作为线性时频分析方法,它的频率分辨率和时间分辨率无法同时达到最优。
由于在高频时,时窗较小,当信号在高频比较丰富时,S变换得到的时频分辨率就会出现比较严重的混叠现象。

S变换的定义

对应信号 x ( t ) ∈ L 2 ( R ) x(t)\in L^2(R) x(t)L2(R) L 2 ( R ) L^2(R) L2(R)为能量有限函数空间, x ( t ) x(t) x(t)的S变换的表达式为
S ( τ , f ) = ∫ − ∞ + ∞ x ( t ) ∣ f ∣ 2 π e − ( t − τ ) 2 f 2 2 e − j 2 π f t d t S(\tau,f)=\int_{-\infty}^{+\infty}x(t)\frac{|f|}{\sqrt{2\pi}}\mathrm{e}^{-\frac{(t-\tau)^2f^2}{2}}\mathrm{e}^{-j2\pi ft}dt S(τ,f)=+x(t)2π fe2(tτ)2f2ej2πftdt
式中, x ( t ) x(t) x(t)是关于时间的连续函数, τ \tau τ是一个控制参数,用来确定高斯窗在时间轴上的位置, f f f是频率。其中高斯窗函数定义为:
ω ( t , f ) = 1 σ ( f ) 2 π e − t 2 2 σ ( f ) 2 \omega(t,f)=\frac{1}{\sigma(f)\sqrt{2\pi}}\mathrm{e}^{-\frac{t^2}{2\sigma(f)^2}} ω(t,f)=σ(f)2π 1e2σ(f)2t2
窗口的标准差为:
σ ( f ) = 1 ∣ f ∣ \sigma(f)=\frac{1}{|f|} σ(f)=f1
由上式可以看出,标准差 σ ( f ) \sigma(f) σ(f)为频率的函数,取值为绝对值的倒数。由此可知 ω ( t , f ) \omega(t,f) ω(t,f)会随着频率的变换而自适应调整。
在这里插入图片描述

图1 不同频率对应的时窗
可以看到,随着频率的增大,高斯窗的方差逐渐减小,窗的宽度也随之变小。因此时窗宽度与频率成反比。此外,S变换还具有不受线性交叉项的影响和无损可逆性的优点,即可根据S变换得到的时频分布无损地还原被分析的时域信号。

因此S变换的时频分辨率和频率的关系入下:

  1. 在处理低频信号时,S变换的窗口较宽,这有助于捕捉低频信号的细微变化,从而提高频率分辨率。
  2. 相反,在处理高频信号时,S变换的窗口较窄,这有助于精确地定位高频信号的时间位置,从而提高时间分辨率。

http://www.mrgr.cn/news/83237.html

相关文章:

  • 阿里云ethereum
  • 【前端】【HTML】入门基础知识
  • Nginx | 解决 Spring Boot 与 Nginx 中的 “413 Request Entity Too Large“ 错误
  • 超完整Docker学习记录,Docker常用命令详解
  • 机器学习免费使用的数据集及网站链接
  • vue3使用AntV X6 (图可视化引擎)历程[二]
  • 开源生成式物理引擎Genesis,可模拟世界万物
  • React中createRoot函数原理解读——Element对象与Fiber对象、FiberRootNode与HostRootNode
  • open3d+win10+vs2019环境安装配置及测试
  • YangQG 面试题汇总
  • 面向对象分析与设计Python版 分析与设计概述
  • 概率论与数理统计总复习
  • 【机器视觉】OpenCV 图像轮廓(查找/绘制轮廓、轮廓面积/周长、多边形逼近与凸包、外接矩形)
  • vue的路由守卫逻辑处理不当导致部署在nginx上无法捕捉后端异步响应消息等问题
  • Kubernetes 使用自定义资源(CRD)扩展API
  • 前后端分离的vue3项目改造成nuxt3项目
  • 通过Apache、Nginx限制直接访问public下的静态文件
  • 生物医学信号处理--随机信号的数字特征
  • C++ 中常见的预处理指令总结
  • 《机器学习》——贝叶斯算法
  • linux音视频采集技术: v4l2
  • 01-springclound
  • 《机器学习》之贝叶斯(Bayes)算法
  • 后端:Spring(IOC、AOP)
  • RK3568-uboot/kernel/buildroot编译命令
  • Java 模板变量替换——字符串替换器(思路Mybatis的GenericTokenParser)