短时傅立叶变换 (STFT) 详细介绍
1. 基本概念
傅立叶变换(Fourier Transform)用于将一个信号从时间域转换到频率域,然而它假设信号是平稳的,这意味着信号的频率成分在整个时间上是不变的。对于非平稳信号,傅立叶变换无法提供信号随时间变化的频率信息。
短时傅立叶变换通过将信号分割成多个短的、重叠的时间窗口,每个窗口内的信号近似为平稳的,然后对每个窗口分别进行傅立叶变换,从而获得信号在不同时刻的频率信息。
2. 数学表达
-
STFT的基本思想是将信号分割成多个小的时间窗口,在每个窗口内假设信号是平稳的,然后对每个窗口内的信号进行傅立叶变换。其数学表达式为:
X ( t , f ) = ∫ − ∞ ∞ x ( τ ) w ( t − τ ) e − j 2 π f τ d τ X(t, f) = \int_{-\infty}^{\infty} x(\tau) w(t - \tau) e^{-j2\pi f \tau} \, d\tau X(t,f)=∫−∞∞x(τ)w(t−τ)e−j2πfτdτ
其中:
- x ( τ ) x(\tau) x(τ) 是原始信号。
- w ( t − τ ) w(t - \tau) w(t−τ) 是窗口函数。
- e − j 2 π f τ e^{-j2\pi f \tau} e−j2πfτ 是傅立叶变换的核函数。
STFT 结果
STFT 的计算结果通常是一个复数矩阵,这个矩阵描述了信号在不同时间和频率上的特性。具体来说,STFT 结果的每个元素都是一个复数,表示信号在某个时间段和频率上的振幅和相位。下面是对这些信息的详细解释:
1. 复数矩阵表示
STFT 结果是一个复数矩阵 (Z_{xx}(t, f)),其中 (t) 表示时间,(f) 表示频率。每个元素 (Z_{xx}(t, f)) 是一个复数,包含了信号在时间 (t) 和频率 (f) 上的振幅和相位信息。
2. 幅度 (Magnitude)
复数矩阵中的每个元素的模值表示信号在该时间点和频率上的振幅(或强度)。振幅的计算公式为:
∣ Z x x ( t , f ) ∣ = Re ( Z x x ( t , f ) ) 2 + Im ( Z x x ( t , f ) ) 2 |Z_{xx}(t, f)| = \sqrt{\text{Re}(Z_{xx}(t, f))^2 + \text{Im}(Z_{xx}(t, f))^2} ∣Zxx(t,f)∣=Re(Zxx(t,f))2+Im(Zxx(t,f))2