看文献的过程中发现很多文章对于S变换的原理陈述不清,故做一个简单的思路整理,重点在于计算过程,很多严格的限制条件及数学语言就不在这里赘述了。
S变换的快速计算主要利用傅里叶卷积定理,即函数卷积的傅里叶变换是函数傅里叶变换的乘积。
首先,S变换的公式为:
S(τ,f)=∫−∞+∞x(t)w(τ−t)e−j2πftdt
S(\tau, f)=\int_{-\infty}^{+\infty} x(t) w(\tau-t) e^{-j 2 \pi f t} d t
S(τ,f)=∫−∞+∞x(t)w(τ−t)e−j2πftdt
其中x(t)x(t)x(t)是信号,w(t)w(t)w(t)是窗函数,S变换中窗函数为高斯窗。S变换计算思路如下:
- 将公式书写顺序改为:
S(τ,f)=∫−∞+∞[x(t)e−j2πft][w(τ−t)]dt S(\tau, f)=\int_{-\infty}^{+\infty}[ x(t)e^{-j 2 \pi f t}] [w(\tau-t)] d t S(τ,f)=∫−∞+∞[x(t)e−j2πft][w(τ−t)]dt
则可以将S(τ,f)S(\tau, f)S(τ,f)看成是h(t)=[x(t)e−j2πft]h(t)=[ x(t)e^{-j 2 \pi f t}]h(t)=[x(t)e−j2πft]与w(t)w(t)w(t)的卷积 - 此时根据傅里叶卷积定理则:
F[S(τ,f)]=F[∫−∞+∞[x(t)e−j2πft][w(τ−t)]dt]=F[h(t)∗w(t)]=H(ω)W(ω) F[S(\tau, f)]=F[\int_{-\infty}^{+\infty}[ x(t)e^{-j 2 \pi f t}] [w(\tau-t)] d t]=F[h(t)*w(t)]=H(\omega)W(\omega) F[S(τ,f)]=F[∫−∞+∞[x(t)e−j2πft][w(τ−t)]dt]=F[h(t)∗w(t)]=H(ω)W(ω)
其中FFF表示傅里叶变换,H(ω)H(\omega)H(ω)与W(ω)W(\omega)W(ω)分别是h(t)h(t)h(t)与w(t)w(t)w(t)的傅里叶变换。 - 分别计算h(t)=[x(t)e−j2πft]h(t)=[ x(t)e^{-j 2 \pi f t}]h(t)=[x(t)e−j2πft]与w(t)w(t)w(t)的傅里叶变换,则:
H(ω)=∫−∞+∞[x(t)e−j2πft]e−j2πωtdt=X(f+ω) H(\omega)=\int_{-\infty}^{+\infty}[ x(t)e^{-j 2 \pi f t}]e^{-j 2 \pi \omega t} d t=X(f+ \omega) H(ω)=∫−∞+∞[x(t)e−j2πft]e−j2πωtdt=X(f+ω)
W(ω)=∫−∞+∞[w(t)]e−j2πωtdt W(\omega)=\int_{-\infty}^{+\infty}[w(t)]e^{-j 2 \pi \omega t} d t W(ω)=∫−∞+∞[w(t)]e−j2πωtdt - 则S(τ,f)=F−1{F[S(τ,f)]}=F−1{H(ω)W(ω)}=F−1{X(f+ω)W(ω)}S(\tau, f)=F^{-1}\{F[S(\tau, f)]\}=F^{-1}\{H(\omega)W(\omega)\}=F^{-1}\{X(f+ \omega)W(\omega)\}S(τ,f)=F−1{F[S(τ,f)]}=F−1{H(ω)W(ω)}=F−1{X(f+ω)W(ω)}
综上,计算过程可以简述为:
计算信号的傅里叶变换X(ω)X(\omega)X(ω) →\to→ 计算窗函数的傅里叶变换W(ω)W(\omega)W(ω)→\to→将信号傅里叶谱移频然后与窗函数傅里叶谱相乘得到X(f+ω)W(ω)X(f+ \omega)W(\omega)X(f+ω)W(ω)→\to→ 傅里叶反变换。