STFT 与 ToF 学习笔记
1. STFT:短时傅里叶变换
1.1 为什么需要 STFT?
FFT 只能说明整段信号中包含哪些频率,不能说明这些频率在什么时候出现。
STFT(Short-Time Fourier Transform,短时傅里叶变换)把长信号分成多个短时间窗口,并对每个窗口分别进行 FFT,从而得到信号的时频信息。
FFT 回答"有哪些频率",STFT 回答"什么时间出现了什么频率"。
1.2 基本过程
text
长时间信号
↓
划分多个短时间窗口
↓
对每个窗口做 FFT
↓
得到时间---频率图
因此可以简单理解为:
STFT=滑动窗口+FFT \text{STFT}=\text{滑动窗口}+\text{FFT} STFT=滑动窗口+FFT
1.3 数学表达
连续信号的 STFT 为:
X(τ,f)=∫−∞+∞x(t)w(t−τ)e−j2πft dt X(\tau,f)=\int_{-\infty}^{+\infty}x(t)w(t-\tau)e^{-j2\pi ft}\,dt X(τ,f)=∫−∞+∞x(t)w(t−τ)e−j2πftdt
其中:
- x(t)x(t)x(t):原始信号;
- w(t−τ)w(t-\tau)w(t−τ):移动到时间 τ\tauτ 的窗口函数;
- τ\tauτ:时间位置;
- fff:频率;
- X(τ,f)X(\tau,f)X(τ,f):信号的时频表示。
1.4 时频图
STFT 的结果是复数,绘图时通常使用其幅度:
A(τ,f)=∣X(τ,f)∣ A(\tau,f)=|X(\tau,f)| A(τ,f)=∣X(τ,f)∣
时频图中:
- 横轴表示时间;
- 纵轴表示频率;
- 颜色表示信号强度。
升频 Chirp 的频率随时间增大,因此通常在时频图中表现为一条由左下指向右上的斜线。
1.5 窗口长度的影响
- 窗口较短:时间分辨率高,频率分辨率低;
- 窗口较长:频率分辨率高,时间分辨率低。
频率分辨率近似为:
Δf=fsN \Delta f=\frac{f_s}{N} Δf=Nfs
其中,fsf_sfs 为采样率,NNN 为 FFT 点数。
2. ToF:飞行时间
2.1 基本概念
ToF(Time of Flight)表示声音从设备发射、到达目标并反射回接收设备所经历的传播时间。
对于扬声器和麦克风距离很近的反射式声学感知系统,目标距离为:
d=cΔt2 d=\frac{c\Delta t}{2} d=2cΔt
其中:
- ddd:设备到目标的距离;
- ccc:声速,室温下约为 343 m/s343\ \text{m/s}343 m/s;
- Δt\Delta tΔt:声音的往返传播时间。
公式除以 222,是因为声音经历了"设备到目标"和"目标返回设备"两段路程,总路程为 2d2d2d。
2.2 示例
若往返时间为:
Δt=0.01 s \Delta t=0.01\ \text{s} Δt=0.01 s
则目标距离为:
d=343×0.012=1.715 m d=\frac{343\times0.01}{2}=1.715\ \text{m} d=2343×0.01=1.715 m
2.3 利用互相关估计 ToF
可以比较发射信号和接收信号的相似程度。互相关峰值对应的延迟采样点为 ℓmax\ell_{\max}ℓmax,则:
Δt=ℓmaxfs \Delta t=\frac{\ell_{\max}}{f_s} Δt=fsℓmax
目标距离为:
d=cℓmax2fs d=\frac{c\ell_{\max}}{2f_s} d=2fscℓmax
2.4 距离分辨率
对于带宽为 BBB 的 Chirp,理论距离分辨率近似为:
ΔR=c2B \Delta R=\frac{c}{2B} ΔR=2Bc
带宽越大,ΔR\Delta RΔR 越小,系统越容易区分距离接近的目标。
3. STFT、ToF 与声学感知的关系
| 方法 | 主要作用 | 输出 |
|---|---|---|
| FFT | 分析整段信号包含的频率 | 频谱 |
| STFT | 分析频率随时间的变化 | 时间---频率图 |
| ToF | 根据传播时间估计目标距离 | 距离 |
在呼吸与心跳感知中,可以采用以下处理流程:
Chirp→人体反射→匹配滤波或去啁啾→Range-Time Map \text{Chirp}\rightarrow\text{人体反射}\rightarrow\text{匹配滤波或去啁啾}\rightarrow\text{Range-Time Map} Chirp→人体反射→匹配滤波或去啁啾→Range-Time Map
然后进一步进行:
静态成分消除→Transformer/Mamba→呼吸与心跳估计 \text{静态成分消除}\rightarrow\text{Transformer/Mamba}\rightarrow\text{呼吸与心跳估计} 静态成分消除→Transformer/Mamba→呼吸与心跳估计
需要注意:人体胸腔的微小运动通常难以仅依靠整数采样点上的 ToF 变化测量,因此实际系统还经常利用回波相位的细微变化。
4. 核心总结
- STFT 就是对滑动窗口内的信号反复做 FFT。
- STFT 得到时间---频率二维表示,适合观察 Chirp 和动态信号。
- 反射式 ToF 测距公式为 d=cΔt/2d=c\Delta t/2d=cΔt/2。
- Chirp 带宽越大,理论距离分辨率越高。
- STFT 主要研究时频变化,ToF 主要研究传播时间和距离。