Range Bin、Range Profile 与 Range-Time Map 学习笔记
1. 从 Chirp 回波到距离
发射线性调频 Chirp,目标反射后,接收端得到延迟的回波。这里假设发射和接收设备近似在同一位置,目标距离为 RRR、声速为 ccc,则往返时延为
τ=2Rc. \tau=\frac{2R}{c}. τ=c2R.
设 Chirp 带宽为 BBB,时长为 TchirpT_{\mathrm{chirp}}Tchirp,调频斜率为 S=B/TchirpS=B/T_{\mathrm{chirp}}S=B/Tchirp。将回波与参考 Chirp 混频并滤波后,静止目标对应的拍频大小近似为
fb=Sτ=2SRc,R=cfb2S. f_b=S\tau=\frac{2SR}{c}, \qquad R=\frac{cf_b}{2S}. fb=Sτ=c2SR,R=2Scfb.
因此,对混频后的信号做距离 FFT,找到拍频峰值,再依据上式就能估计反射路径对应的距离。直接对原始回波做 FFT 并不会自动把频率轴变成距离轴;脉冲压缩或互相关是另一种从延迟求距离的方法。
2. Range Bin 与 Range Profile
对一次 Chirp 的混频序列 xnxnxn 做 NFFTN_{\mathrm{FFT}}NFFT 点 FFT:
Xk=∑n=0Ns−1xne−j2πkn/NFFT,k=0,1,...,NFFT−1. Xk=\sum_{n=0}^{N_{\mathrm{s}}-1}xne^{-j2\pi kn/N_{\mathrm{FFT}}}, \qquad k=0,1,\ldots,N_{\mathrm{FFT}}-1. Xk=n=0∑Ns−1xne−j2πkn/NFFT,k=0,1,...,NFFT−1.
这里 NsN_{\mathrm{s}}Ns 是实际采样点数;若 NFFT>NsN_{\mathrm{FFT}}>N_{\mathrm{s}}NFFT>Ns,先对序列补零。采样率为 fsf_sfs 时,正频率 FFT 点 kkk 对应的拍频和距离近似为
fk=kfsNFFT,Rk=ckfs2SNFFT. f_k=\frac{k f_s}{N_{\mathrm{FFT}}}, \qquad R_k=\frac{c k f_s}{2S N_{\mathrm{FFT}}}. fk=NFFTkfs,Rk=2SNFFTckfs.
**Range Bin(距离单元)**指距离轴上的一个离散位置或其附近的距离区间,常用索引 kkk 表示。**Range Profile(距离像)**指一次测量中各距离单元的反射强度序列,例如
Ak=∣Xk∣. Ak=|Xk|. Ak=∣Xk∣.
可以把 AkAkAk 画为"距离---幅度"曲线:某处出现峰值,说明对应距离附近有较强的回波。峰值可能来自人体、墙壁、家具或多径反射;仅凭峰值无法确认物体身份。
| 术语 | 直观含义 | 数据形式 |
|---|---|---|
| Range Bin | 距离轴上的一个格子 | 一个索引 kkk 及其对应距离 RkR_kRk |
| Range Profile | 一次 Chirp 得到的整条距离分布 | 一维序列 AkAkAk |
距离单元间隔与分辨率
相邻 FFT 点的拍频间隔为 Δf=fs/NFFT\Delta f=f_s/N_{\mathrm{FFT}}Δf=fs/NFFT,对应的距离采样间隔为
ΔRbin=cΔf2S=cfs2SNFFT. \Delta R_{\mathrm{bin}}=\frac{c\Delta f}{2S} =\frac{c f_s}{2S N_{\mathrm{FFT}}}. ΔRbin=2ScΔf=2SNFFTcfs.
理想线性 Chirp 的距离分辨率近似为
ΔRres≈c2B. \Delta R_{\mathrm{res}}\approx\frac{c}{2B}. ΔRres≈2Bc.
前者描述图上相邻距离采样点隔多远 ;后者描述两个接近的反射体能否被区分。增加 FFT 补零点数可以让曲线采样更密,却不会改善由实际信号带宽决定的物理分辨率。实际可分辨程度还受信噪比、窗函数和反射强弱影响。
例如取 c=343 m/sc=343\,\mathrm{m/s}c=343m/s、B=4000 HzB=4000\,\mathrm{Hz}B=4000Hz,理想距离分辨率约为
ΔRres≈3432×4000 m≈0.0429 m=4.29 cm. \Delta R_{\mathrm{res}}\approx\frac{343}{2\times4000}\,\mathrm{m} \approx 0.0429\,\mathrm{m}=4.29\,\mathrm{cm}. ΔRres≈2×4000343m≈0.0429m=4.29cm.
3. Range-Time Map 如何形成
连续发射并处理多个 Chirp。令第 mmm 次测量得到的复数 距离谱为 XmkX_mkXmk,将各次结果沿时间排列:
X=Xm\[k]k=0,...,D−1; m=0,...,M−1∈CD×M. \mathbf{X}=\biglX_m\[k\bigr]_{k=0,\ldots,D-1;\,m=0,\ldots,M-1} \in\mathbb{C}^{D\times M}. X=Xm\[k]k=0,...,D−1;m=0,...,M−1∈CD×M.
其中 DDD 是保留的距离单元数,MMM 是 Chirp 次数。绘制热力图时通常取幅度:
A(k,m)=∣Xmk∣. A(k,m)=|X_mk|. A(k,m)=∣Xmk∣.
这就是一种 Range-Time Map(距离---时间图) :横轴是测量时间 tmt_mtm,纵轴是距离 RkR_kRk,颜色表示该处回波的幅度或功率。有些实现会交换横纵轴,只需看清坐标标注。
| 场景 | 距离---时间图上的典型表现 |
|---|---|
| 静止墙壁 | 固定距离处长期存在较稳定的亮带 |
| 人走近设备 | 反射轨迹逐渐移向较小距离 |
| 人远离设备 | 反射轨迹逐渐移向较大距离 |
| 胸腔轻微起伏 | 幅度图上可能变化很小,复数相位可能显示周期变化 |
注意:一个 Bin 中的信号是多个回波的叠加;亮带的位置和形状会受多径、遮挡与旁瓣影响。
4. 为什么呼吸检测还要看相位?
胸腔的位移可能小于一个距离单元,幅度图中的峰值索引就不一定改变。但若保留复数距离谱 XmkX_mkXmk,选中人体所在距离单元 k0k_0k0,可以观察
zm=Xmk0,ϕm=argzm. zm=X_mk_0, \qquad \phim=\arg zm. zm=Xmk0,ϕm=argzm.
在简化的单条反射路径模型中,传播距离变化 ΔR(t)\Delta R(t)ΔR(t) 带来的相位变化量级约为
Δϕ(t)≈4πfcc ΔR(t)=4πλ ΔR(t),λ=cfc. \Delta\phi(t)\approx\frac{4\pi f_c}{c}\,\Delta R(t) =\frac{4\pi}{\lambda}\,\Delta R(t), \qquad \lambda=\frac{c}{f_c}. Δϕ(t)≈c4πfcΔR(t)=λ4πΔR(t),λ=fcc.
这里 fcf_cfc 是声波载频,λ\lambdaλ 为波长;相位变化的正负号取决于信号及混频约定。这一关系说明毫米级位移也可能引起可测的相位变化。实际处理中通常还需去除静态分量、相位解缠、筛选有效距离单元,并处理多径及设备自身运动。
若呼吸位移近似为
ΔR(t)=Arsin(2πfrt+ϕ0), \Delta R(t)=A_r\sin(2\pi f_r t+\phi_0), ΔR(t)=Arsin(2πfrt+ϕ0),
其相位序列也可能带有频率为 frf_rfr 的周期分量。因此,距离---时间幅度图适合定位与观察较大动作 ;复数距离谱的时间变化还可用于微小运动与生命体征分析。
5. 放进完整处理链
- 发射 Chirp 并接收反射回波。
- 与参考信号混频,得到与传播时延有关的拍频。
- 对每次 Chirp 做距离 FFT,生成复数 Range Profile。
- 连续堆叠,得到 Range-Time Map;可取幅度生成热力图。
- 选择人体所在距离区域,抑制静态反射和干扰。
- 根据任务使用幅度、相位或实部与虚部作为特征,再进行传统信号处理或送入 CNN、Transformer、Mamba 等模型。
深度学习输入可以是 D×MD\times MD×M 的幅度图,也可以是幅度与相位的多通道表示。若目标是呼吸和心跳,保留复数信息通常比仅保存幅度图更有用。
6. 自测
- 为什么距离 FFT 通常作用于混频后的 Chirp 信号?
- 一个 Range Bin 和一个 Range Profile 分别是什么?
- FFT 补零能让图像更细,为什么不能等同于提高物理距离分辨率?
- Range-Time Map 的两个轴及颜色各表示什么?
- 胸腔位移没有让峰值跳到另一个 Bin,为什么仍可能检测到呼吸?
一句话记忆:一次 Chirp 形成一条距离像;连续的距离像堆叠成距离---时间图;小于距离单元尺度的运动还可以通过复数相位观察。