提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
USRP可以实现雷达探测,探地雷达(GPR)作为一种地下探测功率,分辨率在厘米级。USRP的带宽完全可以支持探地雷达的实现。本文展示了使用USRP实现GPR进行地下探测的流程和思路。相关文献中早已有基于USRP各款产品的探地雷达,但国内没有简单易懂的学习资料。广为应用的雷达工具箱gr-radar我在使用时也觉得十分难以入门,包括数据的输入不是复数数据流格式而是矢量格式等问题。本文分享作者构建一个简易的GPR的demo,制作的思路流程和遇到的一些问题。
一、SFCW原理
1 为什么使用SFCW雷达
直观简单的雷达是脉冲式雷达,如图所示,雷达发射信号打到目标上,接收到回波信号。
回波信号可以表示为
s r ( t ) = A s t ( t − τ ) s_r^{}(t) = As_t^{}(t-\tau) sr(t)=Ast(t−τ)
τ = d / c \tau=d/c τ=d/c
那么雷达的分辨率的公式为
c
/
2
B
c/2B
c/2B
也就是说,当带宽为3GHz时,分辨率为5cm。
当使用以上的脉冲式雷达时,带宽会相当于时域脉冲宽度,带宽越大,脉冲越窄,带宽为无穷大时时域为冲激。
按脉冲式雷达的体制,3GHz带宽,为得到良好的回波信号,采样率应为带宽的5-8倍,也就是需要20GHz左右的采样率。这是很大的采样率,成本比较高,USRP平台达不到,但是USRP的带宽可以达到6GHz,SFCW体制可以实现低采样率高分辨率探测。
2 SFCW原理
上面的回波信号的表达式可以表示为系统的冲激响应为
A
δ
(
t
−
τ
)
A\delta(t-\tau)
Aδ(t−τ)。那么通过傅里叶变换可以完成频响和时域响应的转换,系统的频响为
A
e
−
j
ω
τ
Ae^{-j\omega\tau}
Ae−jωτ。那么反过来,如果能测量出系统的频响,就能通过傅里叶反变换反演出时域响应。系统的频响可以通过每个频点分别测量的方式。
发射信号
s
i
n
(
f
c
t
)
sin(f_ct)
sin(fct)
接收信号
A
s
i
n
(
f
c
t
+
φ
)
Asin(f_ct+\varphi)
Asin(fct+φ)
则系统在该点频响为
A
e
−
j
φ
Ae^{-j\varphi}
Ae−jφ。通过测量一系列点的频响
H
(
f
)
H(f)
H(f),傅里叶反变换即可得到时域波形
h
(
t
)
=
I
F
F
T
(
H
(
F
)
)
h(t)=IFFT(H(F))
h(t)=IFFT(H(F))
这样每个频点发射的都是单频波,对采样率没有要求。
SFCW就相当于一个用牺牲了测量时间获得了低采样率测量大带宽的过程,由于每个频点都需要测量,SFCW雷达的测量时间较长。
二、USRP实现
USRP实现步进频率的过程如上图所示。
作者的开发环境为Ubantu 18.04+UHD3.15+gnuradio3.8+USRP B210
正弦波可以用GNURadio自带的信号源生成,也可以使用自己生成的LFM信号通过匹配滤波来提高抗噪能力。
发射和接收回波都是通过USRP直接通过定向天线(喇叭天线,对数周期天线,蝶形天线等等)发射和接收
信号处理采用的是写入文件后再读文件,再处理的方式。
步进频率控制使用的是GNU Radio模块之间的message传输,通过传输freq:XX的命令,控制USRP sink/source 模块的载频。
看起来简单,但是最难解决的问题就是载波同步的问题。由于USRP是双发双收,两个发射和两个接收分别共用一个本振,载波不同步对测量造成的影响是致命的,每次调频调谐都会导致发射和接收的本振有随机相位差,对这点解决方法是差分测量
Rx1 和 Rx2 两个通道进行对比,能解决载波不同步的问题。
另一个问题是发射和接收的随机时延差导致信号可能对不齐。
如图所示
发射和接收可能会有时延差,如果是以正弦波作为波形,则会无法检测,解决的办法是在发射的波形上进行脉冲截断,通过检测能量的方式对齐发射和接收信号,随后计算频响。
如图所示
通过滑动窗口计算能量,可以找到波形出现的位置,在波形的有效区间计算频响。
3 实验结果
图中左侧是斜坡地面的测试结果,右侧是平面地面的测试结果,由于实验条件布置不完善,效果较差,但能看到地面底部埋藏的物品