多普勒频移测速与FMCW测距
该博客是在学习利用FMCW原理进行声源信号追踪过程中的学习笔记。
时域与频域
时域 — 自变量是时间,即横轴是时间,纵轴是信号振幅的变化。表示振幅随时间的变化。
频域 — 自变量是频率,即横轴是频率,纵轴是该频率信号幅度的峰值。表示振幅峰值随频率的变化。
基于多普勒频移估计速度
当发送端静止而接收端相对运动时,有:
- v = F s F c v=\frac{F^s}{F}c v=FFsc
其中,F是信号的原始频率; F s F^s Fs 是接收信号频率与发送信号频率之差,即多普勒频移;c是声波的传播速度;v是接收源相对发送源的移动速度。
因此,通过测量 F s F_s Fs ,我们就能估计接收端的速度 v 了,这时我们使用STFT(短时傅里叶变换)获得 F s F_s Fs
短时傅里叶变换:采用滑动窗口机制,设定窗口(窗函数,例如汉宁窗)大小和步长,让窗口在时域信号上滑动,分别计算每个窗口的傅立叶变换,形成了不同时间窗口对应的频域信号,拼接起来就成为了频率随时间变化的数据(时频信号)。加窗在时域上表现的是点乘,因此在频域上则表现为卷积。
计算得到的速度的误差由公式
F
=
F
s
L
w
F^=\frac{F_s}{L_w}
F=LwFs 决定,其中:
L
w
L_w
Lw 是窗口的长度,
F
s
F_s
Fs 是采样率
基于传统的FMCW测距
什么是FMCW
每个 FMCW 都是由若干个相同的 chirp组成,每个 chirp 是一组声波频率按固定斜率变化的声波,如下图:
每个chirp周期内,频率线性地从fmin增加到fmax,频率
f
(
t
)
=
f
m
i
n
+
B
t
T
f(t)= f_{min} + \frac{Bt}{T}
f(t)=fmin+TBt,其中B为信号的带宽(
B
=
f
m
a
x
−
f
m
i
n
B=f_{max}-f_{min}
B=fmax−fmin),T为信号的周期
将若干个 chirp 连接在一起就是 FMCW,如下图:
因为 FMCW 信号是由多个 Chirp 信号组合而成的周期信号,所以FMCW 的频率为:
- f ( t ) = f m i n + B T ( t − n T ) f(t) = f_{min} +\frac{B}{T} (t − nT) f(t)=fmin+TB(t−nT)
FMCW测距原理
根据频率是相位的微分,相位是频率的积分,又每个chirp的频率为:
f
(
t
)
=
f
m
i
n
+
B
t
T
f(t)= f_{min} + \frac{Bt}{T}
f(t)=fmin+TBt
对频率按时间积分可得相应的相位: u ( t ) = 2 π ( f m i n t + B t 2 2 T ) u(t) = 2π(f_{min}t + B\frac{t^2}{2T} ) u(t)=2π(fmint+B2Tt2)
在第n次扫描期间(即第n个chirp)传输的信号为: v t ( t ′ ) = c o s ( 2 π f m i n t ′ + π B t ′ 2 T ) v_t(t') =cos(2πf_{min}t' + \frac{πBt'^2}{T}) vt(t′)=cos(2πfmint′+TπBt′2),其中t’=t-nT
FMCW波在延迟 t d t_d td时间后传播到接收端,接收到的信号会衰减: v r ( t ′ ) = α c o s ( 2 π f m i n ( t ′ − t d ) + π B ( t ′ − t d ) 2 T ) v_r(t')= α cos(2πf_{min}(t' − t_d) + \frac{πB(t' − t_d)^2}{T}) vr(t′)=αcos(2πfmin(t′−td)+TπB(t′−td)2),其中 α为衰减系数
接收方将收到的信号和发送的信号混合, v m ( t ) = v r ( t ) v t ( t ) v_m(t) = v_r(t)v_t(t) vm(t)=vr(t)vt(t);利用cos A cos B = (cos(A − B) + cos(A + B))/2,并过滤掉高频部分cos(A + B),得:
- v m ( t ) = α c o s ( 2 π f m i n t d + π B ( 2 t ′ t d − t d 2 ) T ) v_m(t) = α cos(2πf_{min}t_d + πB\frac{(2t't_d − t_d^2)}{T}) vm(t)=αcos(2πfmintd+πBT(2t′td−td2))
假设发送方与接收方相距R,发送方以v的速度移动, t d = R + v t ′ c t_d=\frac{R+vt'}{c} td=cR+vt′,带入上式得:
- α c o s ( 2 π f m i n R + v t ′ c + ( 2 π B t ′ ( R + v t ′ ) c T − π B ( R + v t ′ ) 2 c 2 T ) ) α cos(2πf_{min} \frac{R + vt'}{c} + (\frac{2πBt'(R + vt')}{cT}− \frac{πB(R + vt')^2}{c^2T})) αcos(2πfmincR+vt′+(cT2πBt′(R+vt′)−c2TπB(R+vt′)2))
将上式中的相位部分对 t ′ t' t′ 求导,常数项可以忽略,关于 1 c 2 {\frac1c}^{2} c12的二次项太小,也可以忽略,t’的平均值为T/2,得到:
- f p = 1 2 π δ P h a s e δ t ′ = B R c T + f m i n v c + B v c f_p = \frac1{2π}\frac{δPhase}{δt'} = \frac{BR}{cT} + \frac{f_{min}v}{c}+ \frac{Bv}{c} fp=2π1δt′δPhase=cTBR+cfminv+cBv
当v接近于0时,频谱的第一个峰值为 B R c T \frac{BR}{cT} cTBR
如果发送方和接收方之间存在多路径传播,在混合信号的频谱中观察到多个峰值,在这种情况下 f p f_p fp 由第一个峰值决定,该峰值对应于直接路径。通过测量第一个峰值 f p f_p fp ,距离 R = f p c T B R=\frac {f_pcT}{B} R=BfpcT
参考论文
- CAT: High-Precision Acoustic Motion Tracking
- Vernier: Accurate and Fast Acoustic Motion Tracking Using Mobile Devices
- MilliSonic: Pushing the Limits of Acoustic Motion Tracking
- Turning a Mobile Device into a Mouse in the Air