S变换(S-Transform)的数学理论详解
引言
S变换(S-Transform)是由加拿大学者Stockwell等人于1996年提出的一种时频分析方法,它巧妙地结合了短时傅里叶变换(STFT)的相位特性和连续小波变换(CWT)的多分辨率分析能力。S变换既保留了与傅里叶变换直接联系的绝对相位信息,又具备小波变换随频率变化的分辨率特性,因此得到了广泛应用。
基本原理
S变换可以看作是短时傅里叶变换的一种扩展,其核心思想是使用高斯窗函数作为基本窗口,但窗口宽度会随着频率自适应调整。低频成分使用宽窗口以获得更好的频率分辨率,高频成分则使用窄窗口以获得更好的时间分辨率。这种自适应性使S变换非常适合分析非平稳信号,尤其是那些同时包含高频和低频成分的复杂信号。
从概念上讲,S变换融合了两个重要的信号分析工具:短时傅里叶变换提供了与时间有关的频率信息,小波变换则提供了多尺度分析能力。S变换可以看作是"相位修正的连续小波变换",也可以看作是"频率依赖的短时傅里叶变换"。
一、基本定义与数学表达
S变换作为一种时频分析工具,其严格的数学定义源于连续小波变换与短时傅里叶变换的理论基础。
连续S变换的定义
对于一维时间信号 h ( t ) h(t) h(t),其连续S变换定义为:
S ( τ , f ) = ∫ − ∞ ∞ h ( t ) ⋅ ∣ f ∣ 2 π e − ( t − τ ) 2 f 2 2 ⋅ e − i 2 π f t d t S(\tau, f) = \int_{-\infty}^{\infty} h(t) \cdot \frac{|f|}{\sqrt{2\pi}} e^{-\frac{(t-\tau)^2f^2}{2}} \cdot e^{-i2\pi ft} dt S(τ,f)=∫−∞∞h(t)⋅2π∣f∣e−2(t−τ)2f2⋅e−i2πftdt
这里 τ \tau τ 表示时间定位参数, f f f 表示频率参数,指数函数 e − ( t − τ ) 2 f 2 2 e^{-\frac{(t-\tau)^2f^2}{2}} e−2(t−τ)2f2 是频率依赖的高斯窗函数,系数 ∣ f ∣ 2 π \frac{|f|}{\sqrt{2\pi}} 2π∣f∣ 确保窗函数的能量为常数。更紧凑的形式可表示为:
S ( τ , f ) = ∫ − ∞ ∞ h ( t ) ⋅ w ( t − τ , f ) ⋅ e − i 2 π f t d t S(\tau, f) = \int_{-\infty}^{\infty} h(t) \cdot w(t-\tau, f) \cdot e^{-i2\pi ft} dt S(τ,f)=∫−∞∞h(t)⋅w(t−τ,f)⋅e−i2πftdt
其中窗函数为:
w ( t − τ , f ) = ∣ f ∣ 2 π e − ( t − τ ) 2 f 2 2 w(t-\tau, f) = \frac{|f|}{\sqrt{2\pi}} e^{-\frac{(t-\tau)^2f^2}{2}} w(t−τ,f)=2π∣f∣e−2(t−τ)2f2
离散S变换的推导
对于离散时间信号 h [ k T ] h[kT] h[kT] (其中 k = 0 , 1 , . . . , N − 1 k = 0, 1, ..., N-1 k=0,1,...,N−1, T T T 是采样间隔),首先计算其离散傅里叶变换:
H [ n ] = 1 N ∑ k = 0 N − 1 h [ k T ] ⋅ e − i 2 π n k / N H[n] = \frac{1}{N} \sum_{k=0}^{N-1} h[kT] \cdot e^{-i2\pi nk/N} H[n]=N1k=0∑N−1h[kT]⋅e−i2πnk/N
对于 n ≠ 0 n \neq 0 n=0(非零频率),S变换可以表示为:
S [ j T , n N T ] = ∑ m = 0 N − 1 H [ ( m + n ) m o d N N ] ⋅ e − 2 π 2 m 2 / n 2 ⋅ e i 2 π m j / N S[jT, \frac{n}{NT}] = \sum_{m=0}^{N-1} H\left[\frac{(m+n) \bmod N}{N}\right] \cdot e^{-2\pi^2m^2/n^2} \cdot e^{i2\pi mj/N} S[jT,NTn]=m=0∑N−1H[N(m+n)modN]⋅e−2π2m2/n2⋅ei2πmj/N
对于 n = 0 n = 0 n=0(零频率),S变换退化为信号的直流分量:
S [ j T , 0 ] = 1 N ∑ k = 0 N − 1 h [ k T ] = H [ 0 ] S[jT, 0] = \frac{1}{N} \sum_{k=0}^{N-1} h[kT] = H[0] S[jT,0]=N1k=0∑N−1h[kT]=H[0]
二、S变换的数学性质
2.1 傅里叶变换性质
S变换与傅里叶变换之间存在严格的数学联系。对S变换结果在时间上积分,可得:
∫ − ∞ ∞ S ( τ , f ) d τ = H ( f ) = ∫ − ∞ ∞ h ( t ) e − i 2 π f t d t \int_{-\infty}^{\infty} S(\tau, f) d\tau = H(f) = \int_{-\infty}^{\infty} h(t) e^{-i2\pi ft} dt ∫−∞∞S(τ,f)dτ=H(f)=∫−∞∞h(t)e−i2πftdt
证明过程涉及窗函数的性质:
∫ − ∞ ∞ ∣ f ∣ 2 π e − ( t − τ ) 2 f 2 2 d τ = 1 \int_{-\infty}^{\infty} \frac{|f|}{\sqrt{2\pi}} e^{-\frac{(t-\tau)^2f^2}{2}} d\tau = 1 ∫−∞∞2π∣f∣e−2(t−τ)2f2dτ=1
将此代入S变换定义:
∫ − ∞ ∞ S ( τ , f ) d τ = ∫ − ∞ ∞ ∫ − ∞ ∞ h ( t ) ⋅ ∣ f ∣ 2 π e − ( t − τ ) 2 f 2 2 ⋅ e − i 2 π f t d t d τ = ∫ − ∞ ∞ h ( t ) ⋅ e − i 2 π f t ( ∫ − ∞ ∞ ∣ f ∣ 2 π e − ( t − τ ) 2 f 2 2 d τ ) d t = ∫ − ∞ ∞ h ( t ) ⋅ e − i 2 π f t d t = H ( f ) \begin{align*} \int_{-\infty}^{\infty} S(\tau, f) d\tau &= \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} h(t) \cdot \frac{|f|}{\sqrt{2\pi}} e^{-\frac{(t-\tau)^2f^2}{2}} \cdot e^{-i2\pi ft} dt d\tau \\ &= \int_{-\infty}^{\infty} h(t) \cdot e^{-i2\pi ft} \left(\int_{-\infty}^{\infty} \frac{|f|}{\sqrt{2\pi}} e^{-\frac{(t-\tau)^2f^2}{2}} d\tau \right) dt \\ &= \int_{-\infty}^{\infty} h(t) \cdot e^{-i2\pi ft} dt = H(f) \end{align*} ∫−∞∞S(τ,f)dτ=∫−∞∞∫−∞∞h(t)⋅2π∣f∣e−2(t−τ)2f2⋅e−i2πftdtdτ=∫−∞∞h(t)⋅e−i2πft(∫−∞∞2π∣f∣e−2(t−τ)2f2dτ)dt=∫−∞∞h(t)⋅e−i2πftdt