当前位置: 首页 > news >正文

雷达系统工程学习:自制极化合成孔径雷达无人机

国外大佬自制开源无人机SAR Radar:https://github.com/Ttl/torchbp

引言

我自制过几台雷达,并在地面上进行过一些合成孔径成像测试。我一直想把雷达装在无人机上,从空中捕捉合成孔径图像。几年前我上次研究这个问题时,载重能力强的中型无人机价格大约在1000欧元以上。例如,在A. Bekar、M. Antoniou和C. J. Baker合著的《低成本、高分辨率无人机载合成孔径成像》论文中,成像效果非常出色。他们使用了标价约1000欧元的大疆S900无人机。整套系统的报价为15000英镑,即使只算上无人机的价格,这对于我的个人预算来说也太高了。许多其他论文也使用了类似的中型无人机,这些无人机设计用于携带摄像机,通常配备RTK-GPS以实现精确定位。

最近小型FPV无人机的价格下降了很多。小型5英寸和7英寸螺旋桨四轴飞行器在中国的售价约为100欧元(不含电池和遥控器)。尽管体积小巧,但它们能够承载约1公斤甚至更重的有效载荷,这对于小型雷达来说已经足够了。我购买了最便宜的中国无名7英寸FPV套件和一个小型GPS+指南针模块,以支持自主飞行,目标是打造一个可以携带的轻型合成孔径雷达系统。

合成孔径成像

单通道雷达只能测量到目标的距离,无法探测目标的角度。当多个接收通道排列成一条线时,信号到达每个接收器的距离会根据目标的角度略有不同,从而导致接收信号产生相移。这些相移可以用来计算目标的角度。天线的角度分辨率 (Δθ) 大致取决于其尺寸:Δθ≈λ/D

,其中λ是波长,D是天线直径。例如,要在1公里的距离上获得1米的分辨率,需要在6 GHz射频频率下实现0.03°的角度分辨率。这需要天线尺寸约为100米。

无需制造单个大型天线,只需移动单个雷达并在不同位置进行多次测量即可。如果场景保持静止,这种方法与使用一个带有大型天线的多通道雷达系统获得相同的结果。利用合成孔径雷达,可以将单通道雷达连接到无人机上,在飞行的同时进行测量,从而形成一个能够提供出色角度分辨率的大型合成孔径雷达。

雷达设计

该雷达的设计目标是在获得最佳成像性能的同时,能够将其装入FPV无人机,并以最低的预算(<500欧元)实现这一目标。预算限制使得任何低损耗射频材料都无法使用,因此电子元件和天线均应采用高损耗的FR4 PCB材料。

无人机体积较小,这限制了雷达的最大尺寸。框架宽度约为40毫米,螺旋桨尖端间距为50毫米。长度约为170毫米,远大于宽度,这意味着理想情况下雷达应该很薄。例如,Raspberry Pi的尺寸为56 x 85毫米,宽度过宽。小尺寸严重限制了雷达的探测范围。

达有几种可能的架构。我之前制作过尺寸约为 64 x 132 毫米的脉冲雷达。这对于无人机来说有点太宽了,但我相信可以稍微缩小一点。该雷达的问题在于最大带宽约为 100 MHz,并且受限于 ADC 采样率。这对应的距离分辨率为 1.5 米,对于获取细节丰富的图像来说不够高。在合理的预算内很难获得更大的 ADC 带宽,而在有限的空间内安装高速 ADC 也是一个问题。还有一种脉冲雷达的变体,它有两个斜坡发生器,一个用于接收,一个用于发射。这会产生类似 FMCW 雷达的低频中频信号。这种架构经常用于 SAR 雷达,因为它允许高射频带宽,而无需高速 ADC。

由于带开关天线的脉冲雷达无法同时发射和接收,脉冲雷达的最大脉冲长度受限于脉冲往返目标所需的时间。例如,最小距离为100米时,为了不错过任何脉冲部分,最大脉冲长度仅为670纳秒。由于脉冲雷达需要将测量时间划分为发射和接收,这会降低平均发射功率并降低信噪比。大量极短脉冲也会使成像变得复杂。合成孔径雷达(SAR)成像所需的时间与脉冲数量成正比,极短的最大脉冲长度需要发射大量脉冲才能获得良好的信噪比图像。

调频连续波(FMCW)雷达可以同时发射和接收,从而提高了信噪比。最大扫描长度仅受合成孔径采样速度要求的限制,但可以达到数百微秒。与脉冲雷达不同,FMCW雷达还存在最小扫描长度要求,因为反射信号与发射信号混合,因此需要在扫描仍在发射时接收。较长的扫描长度允许每次扫描收集更多反射功率。脉冲雷达也可以使用独立的发射和接收天线,这样就不会出现这个问题,但这与成本更低的FMCW雷达相比,就失去了它的优势。独立的发射和接收天线需要更多空间,但由于最大长度较大,应该可以在无人机下方并排安装两个小型天线。

一般来说,FMCW雷达在短距离和慢速移动平台应用中具有优势。当需要长距离(超过几公里)时,则需要脉冲雷达。

射频设计

上图是配备双极化天线的 FMCW 雷达射频部分的框图。扫描信号由 PLL 产生,经过可变衰减器,然后由功率放大器放大。大部分信号被传输到发射天线,极化开关控制使用垂直极化还是水平极化天线。部分发射信号耦合到接收混频器,在那里与经 LNA 放大的反射信号混合。接收机也有一个极化开关,与发射开关配合使用,使雷达能够接收和发射四种极化组合中的任意一种。混频器输出低频信号,该信号经放大后由 ADC 数字化。接收机需要进行一些滤波,以避免较大的带外信号和 ADC 混叠。

基于 DAC 或 DDS 的扫描信号生成可能比 PLL 更好。DDS 的相位噪声通常更好,并且与 PLL 相比,它可以几乎即时地改变频率,但选择 PLL 是因为它更便宜且占用空间更小。

射频频率将在 6 GHz 左右,因为这是消费类应用中最常用的廉价射频元件的最高频率。在此频率下,廉价功率放大器的最高输出功率约为 30 dBm。也可以廉价地获得用于接收器的低噪声放大器,其噪声系数为 1-2 dB。

接收器采用直接变频架构,混频器没有任何镜像抑制功能。这会导致高于和低于发射信号的频率都被转换为相同的输出频率。这并不理想,因为低于和高于瞬时扫描频率的噪声都会被接收,从而使本底噪声增加 3 dB。能够抑制另一个边带的 IQ 采样接收器需要两个混频器和 ADC。仅仅为了提高 3 dB 的信噪比,我认为不值得投入如此多的成本和 PCB 空间。

极化开关可以选择用于发射和接收的极化方向。H 表示水平极化,V 表示垂直极化。这允许测量四种极化:HH、HV、VH 和 VV,其中第一个字母表示发射极化,第二个字母表示接收极化。某些目标会比其他目标更多地反射某些极化,它在遥感中用于确定反射目标的属性。例如,许多光滑目标通常反射相同的极化,而目标的形状决定了它反射的是更多的 HH 还是 VV 分量。由于植被内部存在多次反射,森林和植被通常比道路和裸露地面具有更高的交叉极化 HV 和 VH 分量反射。

虽然 H 和 V 天线在框图中是分开绘制的,但这并不意味着系统需要四个天线。可以设计具有两个端口的天线,一个端口辐射 H 极化,另一个端口辐射 V 极化。双极化天线并不一定比单极化天线需要更多的空间。

如果雷达有两个接收器,则可以同时接收 H 和 V 极化。这样做有一些好处,比如可以移除接收极化开关,从而降低损耗,并且只需切换发射端,从而为每次测量提供更多时间,这也能提高信噪比 (SNR)。此外,由于无需复用接收极化开关,发射扫描速度也会更快。然而,我认为这样做不值得。

TX-RX泄漏

更高的射频功率通常会提高信噪比,但由于 FMCW 雷达同时发射和接收,因此必须考虑 TX-RX 泄漏信号。接收器必须足够灵敏,才能检测到 -174 dBm/Hz 的热噪底,而不会因发射天线泄漏的射频功率而导致饱和。使 LNA 饱和的典型最大输入功率约为 -20 dBm。当发射功率为 +30 dBm 时,发射器和接收器之间需要 50 dB 以上的隔离,以防止接收器饱和。如果某些其他接收器组件(例如 ADC)首先饱和,则可能需要更多的隔离。如果无人机无法安装足够高隔离度的天线,则可以使用 PA 之前的可变衰减器来降低发射功率。它也会影响接收器混频器的 LO 功率,但混频器的 LO 输入功率范围应该足够大,以免出现问题。

链路预算

接收器输入端的接收功率公式可以写成:

其中 Pt为发射机功率,G为天线增益,λ为波长,σ为目标的雷达散射截面,r为目标距离。这是单个脉冲的接收功率。合成孔径是通过在运动过程中发送多个脉冲形成的,这些脉冲可以相干叠加以提高信噪比。如果图像由 n个脉冲组成,则接收功率可以乘以 n以获得整个图像的接收功率。目标的雷达散射截面 σ取决于雷达分辨率和地面区域的雷达反射率。目标雷达散射截面可以表示为:σ=δxδyσ0,其中 δx为距离方向的分辨率,δy为横向分辨率,σ0为每平方米地面区域的反射率。在这种情况下,δx≈δy≈0.3m,具体取决于雷达参数、距离和成像几何。地面贴片的反射率取决于地面贴片的材质和照射角度。当以 90 度角(与地面法向量方向)照射时,地面的反射率通常较高。这会导致镜面反射反射回雷达。在较小的角度下,仍有一些反射回雷达,但随着视角的减小而减小。在中等视角下,典型的地面反射率约为 -20 至 0 dBsm(分贝/平方米)。

最小可检测功率受接收机热噪声限制。它可以写成 kTBF,其中 k是玻尔兹曼常数,T是接收机温度,B是噪声带宽,F是接收机的噪声系数。人们常常将噪声带宽 B与射频带宽混淆,但它们之间并没有关联。噪声带宽是接收机能够区分噪声和信号的最小带宽。通过对输入信号进行傅里叶变换,我们可以丢弃所有超出当前信号的频率点,这些被丢弃频率下的噪声不会影响接收机的检测能力。FFT 分辨率等于 1/ts,其中 ts 是扫描长度。

设接收功率 Pr 等于噪声功率,并求解 σ0,我们得到噪声等效 sigma zero (NESZ),该值常用于比较合成孔径雷达。

图像 n 中的脉冲数也可以写成 tm*PRF,其中 tm是测量时间,PRF是脉冲重复频率。或者等效地写成 lm/v*PRF,其中 lm是飞行轨迹的长度,v是无人机在测量过程中的速度。如果天线在测量过程中以恒定角度指向(条带状图像),则图像中的脉冲数取决于天线波束照射地面的时间,如果天线波束较窄,则图像中的脉冲数可能远小于先前的脉冲数。四轴飞行器可以轻松地以任意角度飞行,并且可以将天线始终指向目标(聚光灯成像),在这种情况下,此限制不一定适用。

将 NESZ 绘制为距离函数,即可得到上图。有一些参数可以调整,主要是扫描长度和图像中的扫描次数,以略微改善此图。获得高质量图像所需的 NESZ 取决于地面的实际反射率,但对于基于卫星的 SAR,NESZ 通常约为 -20 dBsm。根据这些参数,我们预计在 1 - 2 公里左右的距离内可以获得良好的图像质量。

脉冲重复频率

雷达图像的形成依赖于接收信号的相位信息。假设目标与天线波束中心(沿运动方向)成 90 度角,为了避免相位模糊,两次相邻测量之间的最大相位差必须小于 180 度。如果运动大于 180 度,则可能存在多个处于不同方位角的目标,这些目标在两次测量之间具有相同的相位差,从而导致它们在图像中重叠。由于发射机和接收机天线都会移动,对同一目标进行两次测量时,如果间隔四分之一波长,信号传播距离就会出现半波长差,而半波长距离差对应 180 度的相位差。在此间隔下,±90 度范围内的目标在两次测量之间将具有相同的 180 度相位差。如果测量间隔进一步增加,图像将开始出现更多的混叠。

如果天线具有很强的指向性,则可以采用更大的测量间隔。定向天线不会辐射到会产生混叠的大角度,而且天线的定向性越强,测量间隔就越大。然而,由于无人机空间有限,且天线方向性与其尺寸相关,因此可能无法设计出指向性极强的天线,导致最大测量间隔约为四分之一波长。

四轴飞行器的常见飞行速度约为 10 米/秒,但如有需要,可以轻松降低飞行速度。对于 6 GHz 射频频率,四分之一波长为 12.5 毫米(0.5 英寸),而 10 米/秒的飞行速度意味着脉冲重复频率至少需要达到 800 Hz。由于我们对四种不同的极化进行了时间复用,因此我们需要能够在这段时间内测量所有极化。

PRF 设定了最大扫描长度的要求。根据 4 * 800 Hz = 3.2 kHz 的 PRF 要求,每次扫描的最大间隔为 312.5 µs。然而,由于PLL的锁定时间有限,因此需要预留一些扫描间隔时间。PLL的锁定时间约为20 - 30 µs,因此最大扫描长度为280 µs。

所需的ADC采样频率

FMCW 雷达将接收信号与发射扫描信号副本混频,在混频器输出端产生正弦波信号,其频率取决于目标距离。如果目标距离为 r,则中频频率 f 可计算为:f=2Br/(c*ts),其中 B 为射频扫描带宽,c 为光速,ts 为扫描长度。距离分辨率取决于射频带宽 B,公式为 Δr=c/2B。例如,1 米分辨率需要 150 MHz 带宽,而 300 MHz 带宽可实现 0.5 米分辨率。

如果我们拥有 300 MHz 的射频带宽(0.5 米距离分辨率),并且 ts 为 280 µs(如前所述),那么我们可以根据想要检测的最大目标距离计算出所需的 ADC 采样速度。例如,最大距离为 2 公里时,中频信号频率为 14 MHz。由于奈奎斯特采样要求,ADC采样频率至少需要为此的两倍,并且抗混叠滤波器滚降需要一些额外的裕度。因此,ADC的最低采样频率约为35 MHz。我选择使用50 MHz的采样频率

FPGA

扫描生成的数据量巨大,且对时序要求严格,这使得微控制器难以处理,因此必须使用 FPGA。微控制器适用于更复杂的任务,例如与无人机飞行控制器和地面站的通信、配置雷达以及将数据写入文件系统。我决定使用 Zynq 7020 FPGA,与我之前的脉冲雷达相同。它在同一封装中集成了 FPGA 架构和双核 ARM 处理器。这款 FPGA 在普通经销商处的标价为 150 欧元,但在中国经销商处的价格仅为其一小部分。

这款 FPGA 的缺点是微控制器缺乏许多高速接口。例如,SD 卡和 EMMC 接口的速率限制为 25 MB/s,低于 ADC 的数据速率。它确实拥有 1 Gbps 以太网,但使用以太网需要添加树莓派或类似的计算机,而由于尺寸限制,这无法实现。例如,较新的 Ultrascale+ FPGA 支持 52 MB/s 的 SD 卡和 200 MB/s 的 EMMC 卡,但它们的价格约为 500 欧元,而且在中国的低成本分销商处无法买到。

Zynq 可以配备外部 DDR3 DRAM,但由于空间限制,无法安装足够的 DRAM 来将整个测量数据存储在内存中。由于只有一个 DDR3 模块,内存限制为 1 GB,而测量数据的大小可能达到几 GB。

这使得只能在 FPGA 的可编程逻辑端实现足够快的外部通信接口。幸运的是,Dan Gisselquist (ZipCPU) 制作了 GPL3 许可的 SD 卡和 EMMC 控制器,它支持比 ARM 处理器自带的硬 IP 更快的高速通信模式。

当时,sdspi 控制器尚未在实际硬件上以我所需的速度进行测试。为了确保即使 sdspi 核心无法正常工作,也能正常工作,我将 SD 卡连接到 ARM 处理器的集成控制器(速度限制为 25 MB/s),并将 EMMC 内存连接到与 sdspi 控制器配合使用的可编程逻辑侧。这样,如果 sdspi 核心不适用,我至少可以使用集成控制器的 SD 卡,但事实证明这没有必要,sdspi 控制器工作正常。在未来的版本中,最好也使用 sdspi 核心将 SD 卡连接到 PL 侧,以获得更快的 SD 卡速度。我还添加了 FT600 USB3 桥接 IC,可用于将 FPGA 连接到 PC。这对于无人机应用来说不是必需的,但可以为其他应用提供与 PC 的实时连接。

从框图层面来看,FPGA 的功能非常简单。该设计主要由几个独立的模块组成,这些模块通过 DMA 或 AXI 总线连接到处理器。对于雷达操作而言,雷达定时器模块非常重要,因为它在测量期间切换内部和外部信号。它需要在 FPGA 架构中实现,以确保时序精确到时钟周期,从而实现相位稳定的雷达测量。AXI 总线在处理器端进行内存映射,允许通过将值写入固定内存地址来控制雷达。

ADC 数据输入后的抽取 FIR 滤波器可用于改变 ADC 数据的采样率。它可以按 1、2 或 4 倍进行抽取。对于长距离测量,应禁用抽取功能以获得最大中频带宽。但对于短距离测量,使用更高的抽取值来减少需要存储的数据量是合理的。

PCB

PCB 板有六层,设计尽可能紧凑,元件紧密排列,以最大程度地缩小尺寸。由于单面组装比双面组装更便宜,所以底部除了一个 SD 卡连接器外(我会自己焊接)都是空的。与我之前的许多雷达一样,射频部分在 PCB 板和整体设计中只占很小的一部分。数字电子元件和电压调节器占据了 PCB 板的大部分空间。

该雷达设计为接受 12 至 30 V 的输入电压,并直接连接到无人机的电池,无需外部 DC/DC 稳压器。

由于空间限制,没有足够的空间容纳四个 SMA 连接器,而且我不想使用任何微型射频连接器。顶部两个连接器是可切换的 TX 输出,用于 H 和 V 极化天线输入,底部第三个连接器是 RX 输入。RX 极化开关位于外部 PCB 上,连接到 PCB 右下方三个四针 JST 连接器之一。另一个 JST 连接器用于连接飞行控制器的串行端口,第三个连接器目前未使用,但可用于连接 GPS 等设备。

有两个 USB-C 连接器:一个用于 FPGA 的 JTAG 编程和调试,另一个连接到 USB3 转 FIFO 桥接芯片,以便快速将数据传输到 PC。在无人机应用中不需要它,但在测试和其他应用中很有用。

PCB尺寸为113 x 48毫米。宽度刚好够装在无人机上,如果再长一点就好了。

订购PCB后,我从Mouser订购了元器件。订单似乎很顺利,他们也接受了我的付款,但之后我收到了上述邮件,告知他们无法向我出售某个元器件。原因似乎是元器件供应商禁止他们向个人销售。这非常令人沮丧,因为网站上根本没有任何警告,而且我已经订购了PCB。我无法从任何地方订购这个元器件,但我从过时的元器件经销商那里找到了一个老款的PE43204引脚兼容IC。它的规格最高只能达到4 GHz,而原来的元器件最高频率可达6 GHz,但它在6 GHz下的损耗似乎足够低,不会造成太大的问题。

我在Reddit上询问后得知,原因可能是元器件制造商想知道他们的产品卖给谁,以避免他们的元器件最终用于国防应用。这很好,但如果能提前知道就更好了。

我确实犯了一个错误:SD卡引脚连接到了1.8 V I/O引脚,而它们应该连接到3.3 V I/O,而SD卡在这么低的电压下无法工作。雷达也可以不用SD卡,而是将数据存储到EMMC中,然后通过USB读取,但使用SD卡会更容易。我实在不想为了修复这个错误而再订购一块PCB,于是我设计了一个带电平转换器的小型插入器PCB,并将其焊接在之前的SD卡封装上,从而解决了这个问题。我在之前的一篇文章中对此进行了更详细的介绍。

如果发射占空比很高,功率放大器会变得非常热。为了保持散热,我订购了一块定制的铝基板PCB,并用螺栓固定在雷达PCB下方。移除了功率放大器下方的阻焊层,并在PCB和散热器之间放置了导热垫。5块只需4美元,而且效果非常好。

无人机电子设备

飞行控制器随无人机套件提供。随附的飞行控制器是 Speedybee F405 V3。这是一款价格实惠的低端飞行控制器,配备 1MB 闪存。它能够胜任工作,但我建议购买性能更强、配备 2MB 闪存的飞行控制器,价格差异不大。市面上有几种飞行控制器软件。用于 FPV 无人机的最常用的三种是:Betaflight、Inav 和 ArduPilot。它们的主要区别在于:Betaflight 专注于快速响应的手动飞行,不支持自主飞行;Inav 与 Betaflight 共享大量代码,并支持一些自主飞行;而 ArduPilot 拥有最先进的自主飞行能力,功能丰富,但配置起来更具挑战性。我选择使用 Ardupilot,发现它非常适合此用途。它拥有非常优秀的 IMU 和 GPS 传感器融合算法,有助于提高定位精度。飞行控制器可以通过串行端口与雷达通信,从而可以在自主任务期间启用和禁用雷达,并为雷达提供位置信息。

SAR 成像需要非常精确的位置信息才能实现正确的图像聚焦。位置信息的精度应达到波长的几分之一,在这个频率下仅为几厘米(1-2 英寸)。许多商用 SAR 成像无人机使用 RTK GPS,并在地面上安装第二个固定 GPS 接收器,可以实现约 1 厘米的定位精度。缺点是它比普通 GPS 昂贵得多,而且 RTK GPS 接收器通常比普通 GPS 接收器大得多,这使得将其安装在无人机上非常困难。优质的非 RTK GPS 可能精确到约 1 米。如果不进行校正,这种较大的定位误差会导致图像出现严重错误。幸运的是,可以从雷达数据中解决位置误差,这被称为自动对焦。由于自动对焦需要在图像形成过程中进行更多处理,因此可以使用普通 GPS。可以使用传感器与惯性测量单元 (IMU) 融合来提高定位精度,并获得比仅使用 GPS 时最高约 4 Hz 更快的位置更新速度。

为了实现自主飞行,无人机的飞行计算机还需要 GPS、IMU 和指南针。如果只为雷达配备第二个 GPS 和 IMU,那就太浪费空间了,所以我依靠飞行计算机通过串行接口将其位置估计值输出到雷达。

无人机由无线电控制器控制。我使用 ExpressLRS 无线电链路,这在 FPV 无人机中非常常见。无人机还通过无线电链路连接到运行在电脑上的地面控制软件。这可以用来编程自主任务参数、更改无人机设置、控制无人机,并在飞行过程中显示遥测数据。地面站还可以通过飞行控制器向雷达发送消息,从而允许从笔记本电脑编程雷达参数。

通常,Ardupilot 需要使用两个无线电设备。一个用于无线电控制,另一个用于遥测,但 ELRS 最近增加了 Mavlink 支持,允许使用单个无线电设备同时用于两个目的。这在本应用中非常方便。

天线

理论上,天线波束宽度越宽,SAR 图像的分辨率越高。SAR 成像中一个著名的结论是,在条带模式 SAR(固定天线角度和直线基线)中,最佳横向分辨率为 L/2,其中 L 是天线长度。然而,在实践中,天线波束越宽往往并非越好。更宽的天线波束意味着更低的增益,这会降低信噪比并限制最大探测距离。天线增益是链路预算的平方,因此将天线增益减半意味着需要将脉冲数量增加四倍才能获得相同的信噪比。

横向分辨率取决于目标可见基线的长度,天线波束越宽,基线长度越长。对于聚光灯成像(天线跟踪目标),横向分辨率不受天线波束宽度的限制,并且使用无人机进行聚光灯成像很容易。对于无人机 SAR,最大基线长度通常是分辨率的限制因素,因为在视线受限的情况下,很难飞行很长的轨迹。

聚光成像模式(或天线波束始终覆盖目标的条带模式)下的方位角分辨率可近似为:Δθ≈λ/L,其中λ为波长,L为轨迹长度。横向分辨率可通过以下公式获得:Δy=2r*sin(Δθ/2),其中r为与目标的距离。对于无人机合成孔径雷达 (SAR) 来说,一个大问题是如何在无人机上安装足够大的天线。由于雷达是调频连续波 (FMCW),因此需要独立的发射天线和接收天线,以进一步减少每个天线的空间,而低发射-接收泄漏则需要它们之间保持一定的距离。我之前曾在雷达上使用过自制的喇叭天线,但它们太大,无法安装在无人机上。喇叭天线的总长度为 100 毫米,即使是同轴到波导的转换部分也只有 25 毫米长。这个尺寸使得它无法安装在无人机上,因为无人机的螺旋桨叶间距只有 50 毫米。我之前的喇叭天线不是双极化的,但只需添加两个相距 90 度的馈电,就可以轻松实现双极化。

贴片天线可以做得更小,因为它们只是 PCB 上的铜片。它们也可以通过两个相距 90 度的馈电来实现双极化。然而,在 1.6 毫米厚的 FR4 PCB 上,一个简单的贴片天线带宽较差,FR4 介电常数的误差会导致频移,而且增益也不是很高。可以通过制作贴片阵列来提高增益,但使用 FR4 基板时,馈电网络的损耗会迅速增加。

喇叭天线和贴片天线似乎都不合适。在阅读了一些科学论文后,我找到了这篇关于双极化缝馈堆叠贴片天线的论文。它由贴片天线组成,该贴片天线由微带线馈电,微带线通过接地平面上的H形缝隙耦合到贴片。可以使用两条相距90度的馈线和缝隙来实现双极化。第二个贴片悬挂在距离第一个贴片几毫米的地方,它们之间有空气。这种结构可以实现比单个贴片更宽的带宽,使其能够容忍由FR4介电常数不精确引起的频移。第二个贴片也略微提高了增益。

然而,为了提高信噪比,更高的增益是有益的。90度角的旁瓣也应该更低,以减少发射-接收泄漏。为了解决这个问题,我在天线周围增加了一个金属片喇叭结构,使其成为一个叠层贴片馈电喇叭天线。喇叭结构使天线高度增加了10毫米,但即使只是在贴片间隙处包裹一层金属片,也能在不增加高度的情况下提高增益并降低旁瓣。我在任何出版物中都没有找到类似的结构,但如果有的话我也不会感到惊讶,因为它看起来很简单。

一个四瓣设计的锥形喇叭可能会提供略高的增益,并且机械强度也比这种四瓣设计更高。不过,对我来说,这种设计更容易制造。我用剪刀手工剪下铜片,然后焊接固定。

这个天线满足了我的所有要求。它采用双极化设计,带宽非常宽,增益良好,不像采用同轴-波导转换馈电的类似增益喇叭天线那么高,而且制造成本低廉,只需两块FR4 PCB、一些铜片以及少量螺栓和垫片。FR4材料存在损耗,如果使用合适的低损耗射频材料,增益可能会高出0.5-1.0 dB左右,但原型量产的成本会高出约100倍,而且我不太愿意为了这么小的改进而花费这么多钱。

天线之间有一个0.25 x 0.5波长的小墙,可以降低TX-RX耦合。我测试了几种不同尺寸的墙,这小墙比没有墙更有效,也比更高的墙更有效。不计算SMA连接器,天线高度为18毫米,其中10毫米是喇叭天线高于悬挂贴片的高度。包括SMA连接器在内的总高度为28毫米。贴片基板尺寸为 45 x 45 毫米,喇叭孔径为 65 x 65 毫米。

天线背面覆盖有铜片,以减少反向辐射。这是必要的,因为天线直接安装在雷达PCB的顶部,而PCB没有任何屏蔽。如果没有屏蔽,发射天线的反向辐射会增加发射-接收耦合。铜片也被插入天线之间的墙壁中,并用胶带固定。

模拟的 -3 dB 波束宽度在 0/90 度角下分别为 50/60 度。H 和 V 馈源槽旋转 90 度,另一个端口的辐射方向图与之相似,但旋转了 90 度。模拟峰值增益为 10.0 dB。

90 度方向的旁瓣约为 -10 dB。为了最大限度地减少 TX-RX 泄漏,保持较低的旁瓣值至关重要。由于天线辐射方向图并非完全对称,因此将另一个天线与第一个天线旋转 90 度安装可确保 HH 和 VV 极化之间良好的天线方向图匹配。如果 TX 天线从第一个端口发射 H 极化,则 RX 天线从另一个端口接收 H 极化,V 极化则相反,从而导致两种情况下的双向天线方向图匹配。然而,HV 和 VH 天线方向图与 HH 和 VV 方向图不匹配,因为在交叉极化情况下,两个天线使用相同的端口进行发射和接收。

由于耦合槽尺寸略有不同,H 和 V 端口匹配略有差异。天线可用带宽约为 4.5 GHz 至 6.2 GHz,对于此应用来说绰绰有余。

机械设计

无人机需要一些机械部件来将雷达固定在无人机框架上。飞行控制器安装在框架内,但框架内部没有足够的空间容纳雷达,因此我设计了一个3D打印的支架,将雷达PCB固定在无人机框架下方。这个安装位置还需要安装支腿,以防止无人机降落时压在雷达上。由于我不懂任何机械CAD程序,所以我用Blender设计了它。它对这些简单的部件来说已经足够好了。

雷达支架将雷达PCB固定在无人机框架上。最好给它加装一个防风雨的外壳,但我还没找到合适的方案。我在PCB上加了一些材料,以防着陆支架失效。雷达支架用四颗螺丝固定在无人机上。无人机无线电控制器天线在左下方可见。螺旋桨是可折叠的,这使得无人机的运输更加方便,因为它可以装进背包里。

天线板用两个螺栓固定,可以调整其角度。飞行控制器的串行端口连接到其中一个 JST 连接器。飞行控制器上还有另一个 JST 连接器,目前未使用,仅用胶带固定。发射器的 PCB 板上有极化开关和两个 SMA 连接器,但由于空间不足,接收器的极化开关位于单独的 PCB 上。我在雷达支架部分有安装孔,但 SMA 电缆足够硬,我觉得把它挂在那里更容易。极化开关通过另一个 JST 连接器连接到雷达 PCB。

着陆支架采用直径 10 厘米的碳管,并配有 3D 打印的 TPU 盖。直径较小的碳管可能也适用,因为它们非常坚硬,如果在着陆时承受过大的压力,其他部件可能会先于它们失效。

雷达直接由无人机电池供电。XT60 分配器用于将飞行控制器和雷达连接到同一块电池。

不含电池的无人机重量仅为 752 克(1.66 磅)。我使用了两块六芯锂聚合物电池,较小的 1300 mAh 容量电池重 196 克,较大的 2200 mAh 电池重 322 克。加上较小的电池,整个系统的总重量仅为 948 克。

图像形成

雷达会测量每个目标的距离和相位。为了将这些测量结果转换为雷达图像,可以使用匹配滤波。对于图像中的每个像素,生成一个与该位置的目标反射信号相对应的参考信号。将测量信号与每次测量的参考信号的复共轭相乘,然后将这些乘积在所有测量值上相加。当测量信号与参考信号高度匹配时,由于相位对齐,它们的乘积会变大。如果不匹配,则乘积的结果是一个具有随机相位的复数,而对随机复数求和将平均产生较低的响应。图像形成可以写成:

其中 P为图像中的像素集合,N为雷达测量次数,Sn为傅里叶变换后的测量中频信号 sn,d(p,xn)为从雷达测量点 xn 到像素 p 位置的距离,H∗为目标在图像中该位置应呈现的参考函数的复共轭(目标在图像中该位置的雷达中频信号的傅里叶变换)。这被称为反投影算法。它很简单,不对飞行几何做任何近似或假设,但计算起来非常复杂。例如,对于分辨率为 0.3 米、包含 10,000 次雷达扫描的 1 km *1 km 图像,计算该图像需要 (1000/0.3)2*10000=111*109次反投影。这意味着一幅图像需要进行超过 1000 亿次复指数和平方根计算,实际图像大小和扫描次数甚至可能更大。有一些巧妙的算法可以加快计算速度,但它们通常采用近似值或仅适用于线性飞行轨迹。一种简单且没有太多缺点的改进方法是使用极坐标代替笛卡尔坐标,因为角度分辨率恒定,而横向分辨率更接近雷达,因此对图像像素的要求更低。之后,可以将极坐标图像插值到笛卡尔网格中。

__global__ void backprojection_polar_2d_kernel(const complex64_t* data, const float* pos, complex64_t* img,int sweep_samples, int nsweeps, float ref_phase,float delta_r, float r0, float dr, float theta0,float dtheta, int Nr, int Ntheta, float d0) {const int idx = blockIdx.x * blockDim.x + threadIdx.x;const int idtheta = idx % Ntheta;const int idr = idx / Ntheta;if (idr >= Nr || idtheta >= Ntheta) {return;}const float r = r0 + idr * dr;const float theta = theta0 + idtheta * dtheta;const float x = r * sqrtf(1.0f - theta*theta);const float y = r * theta;complex64_t pixel = {0.0f, 0.0f};for(int i = 0; i < nsweeps; i++) {// Sweep reference position.float pos_x = pos[idbatch * nsweeps * 3 + i * 3 + 0];float pos_y = pos[idbatch * nsweeps * 3 + i * 3 + 1];float pos_z = pos[idbatch * nsweeps * 3 + i * 3 + 2];float px = (x - pos_x);float py = (y - pos_y);float pz2 = pos_z * pos_z;// Calculate distance to the pixel.float drx = 2.0f * sqrtf(px * px + py * py + pz2) - d0;float sx = delta_r * d;// Linear interpolation.int id0 = sx;int id1 = id0 + 1;if (id0 < 0 || id1 >= sweep_samples) {continue;}complex64_t s0 = data[i * sweep_samples + id0];complex64_t s1 = data[i * sweep_samples + id1];float interp_idx = sx - id0;complex64_t s = (1.0f - interp_idx) * s0 + interp_idx * s1;float ref_sin, ref_cos;sincospif(ref_phase * d, &ref_sin, &ref_cos);complex64_t ref = {ref_cos, ref_sin};pixel += s * ref;}img[idr * Ntheta + idtheta] = pixel;
}

几年前,这还是一个令人难以置信的计算量,但使用现代 GPU 可以在不到一秒钟的时间内完成计算。由于每个像素都可以独立并行计算,因此该问题特别适合 GPU 实现。非常简单的 CUDA 内核能够在 RTX 3090 Ti GPU 上每秒计算 2200 亿次反投影。考虑到每次反投影都需要平方根和复指数(只需用 sin 和 cos 即可计算),这个速度非常可观。我相信有 CUDA 编程经验的人可以让它更快,因为这里没有任何优化或近似,只是直接的算法实现。

自动对焦

GPS 和 IMU 的定位精度不足以形成高质量的图像。理想情况下,位置信息应该精确到波长的几分之一,但 GPS 的精度不够高。为了获得良好的图像质量,需要一种自动对焦算法,利用雷达数据中的信息对雷达图像进行对焦。

最常用的自动对焦算法是相位梯度自动对焦。它是一种简单快速的自动对焦算法,其工作原理是将未对焦的雷达图像作为输入,求解一个相位矢量,该矢量与图像的方位角 FFT 相乘后,即可得到对焦图像。然而,由于方位角波束较宽且雷达基线较长,导致对焦误差具有空间相关性,因此该算法在本例中效果不佳。

我更新了之前的反向传播自动对焦算法,使用 PyTorch 进行改进。该自动对焦算法的工作原理是:生成雷达图像,计算输入速度的梯度,并限制学习率以将最大位置变化限制在预定值内。然后使用梯度下降优化器更新输入速度。我发现使用 3D 位置效果不佳,因为它往往只会将每个位置随机地微调。相反,使用速度并将其积分到位置似乎能产生更好的效果。此外,还包含一个小的正则化项,以最小化优化位置和原始位置之间的距离,从而有利于较小的更新。

根据最大位置变化调整学习率可以更轻松地设置优化器元参数。与直接设置学习率不同,我们给出了最大位置更新,并将其用于设置学习率。这是一种非常通用的自动对焦算法,它不对雷达系统、场景或飞行轨迹做出任何假设。其明显的缺点是需要多次生成雷达图像,这会使本来就很慢的图像生成速度进一步降低。如果没有快速的 GPU 图像生成功能,这种算法的速度将太慢而无法使用。该自动对焦算法可在 Github 上获取。

测量

该任务已预先使用 ArduPilot 任务规划器进行编程。无人机将自动飞行已编程的航点,同时还提供设置 ROI(感兴趣区域)的命令,使天线始终指向该区域。雷达测量通过任务中的 digicam configure 命令启动。该命令最初用于配置普通相机,但我对雷达微控制器进行了编程以使其能够监听信号。使用现有命令可以轻松地使雷达与现有的 ArduPilot 软件配合使用。

设置 ROI(聚光灯成像所需)需要 ArduPilot 固件补丁。默认情况下,无人机的前端始终指向 ROI,并且无法将其配置为将天线指向 ROI。该补丁可在 ArduPilot Github 上以拉取请求的形式获取。

现场是一片开阔的田野。天线指向方向距离森林约1.5公里。无人机以5米/秒的速度在110米的高度直线飞行约500米。雷达配置为仅发射VV极化,扫描长度400 µs,带宽500 MHz,脉冲重复频率1 kHz。

经过距离压缩(傅里叶变换)捕获的数据看起来并不令人印象深刻。它看起来一点也不像图像,因为由于天线波束较宽,每次扫描都会捕获到许多不同角度的目标。在零距离处,TX-RX 泄漏的响应较大,然后下一个反射位于距地面 100 米处。尽管正下方的天线增益远小于波束中心,但由于反射角度和近距离,正下方的反射非常大。在远距离处,反射大多低于单次扫描的本底噪声,但在图像形成过程中,多次扫描会被整合,从而提高信噪比。一些大型单个物体清晰可见,并且它们与雷达的距离会随着无人机的移动而变化。

理想情况下,轨迹应该是一条直线,但由于风等因素,会有一些干扰。无人机很轻,即使是微风也很容易影响它。ROI 设置得相当远,因此在测量过程中天线指向只有很小的变化。

上图是经过处理的未自动对焦的 SAR 图像,采用伪极坐标系,该坐标系为图像生成系统内部使用。之所以称之为伪极坐标系,是因为角度轴是弧度的正弦值,而非弧度,这比普通的极坐标系效率略高。图像尺寸为 6k x 20k 像素,使用了 51,200 次扫描。与原始数据相比,这简直是天壤之别。现在可以识别各种地理特征,但极坐标格式使其难以与地图进行比较。

通过将伪极坐标图像投影到笛卡尔网格上,可以得到笛卡尔坐标图像。与直接在笛卡尔网格上成像相比,这种方法非常快捷。图像还使用无人机的电子罗盘测量结果进行了对齐,使北极指向上方。由于旋转,左上角缺失了一小块数据。生成的图像仍然相当模糊。显然,仅依靠 GPS 和 IMU 定位效果不佳,需要自动对焦才能获得清晰的图像。

应用 30 次最小熵梯度优化自动对焦迭代后,图像质量显著提升。五次迭代可能就足够了,但更多次迭代确实能略微提升质量。这确实需要几分钟时间,因为每次迭代都需要计算反投影的前向和后向传递。由于视角较小,树木等高大结构会投射出长长的阴影。图像振幅未进行归一化,因此靠近原点时图像更亮。天线辐射方向图在图像中也清晰可见。波束中心略微向右倾斜,图像左侧的天线增益由于距离波束中心较远而小得多,导致其亮度较低。

放大后,生成的雷达图像细节丰富。与 300 x 300 米的区域相比,自动对焦图像能够清晰地展现出场地表面的细节,而未使用自动对焦的图像则显得模糊不清。我也尝试过使用相位梯度自动对焦,但这次效果不佳。结果与未使用自动对焦的图像非常相似。左下角的三条线是电力线。它们似乎只有在雷达以 90 度角观察时才能在图像中清晰可见,在其他角度下,由于反射率非常低,它们几乎不可见。

对比优化前后无人机速度变化不是很大,沿航迹和距离方向的速度分量都有小幅调整,高度方向的速度分量基本没有变化。

全极化测量

我还在另一个位置进行了另一次测量,使用了所有四种极化方式。雷达像以前一样自主沿线性轨迹飞行,但现在雷达可以在四种极化状态之间快速切换。扫描长度缩短至 200 µs,每个极化的脉冲重复频率为 715 Hz,其他参数保持不变。图像中的扫描次数仍为 51,200 次。

这四种极化图像看起来非常相似。主要区别在于,交叉极化图像(HV 和 VH)的振幅较弱,因为交叉极化分量通常小于相同极化的反射。

与其查看每种极化对应的四幅不同图像,不如在同一幅图像中使用 RGB 颜色通道来表示不同的极化。在这张彩色图像中,更容易直观地看到每个目标如何反射特定的极化。地面被染成紫色,表明它对 VV 和 HH 极化的反射效果比对交叉极化成分的反射效果更好。在建筑物和路边的灯杆上也可以看到同样的情况。森林区域被涂成白色,因为它们对所有极化的反射效果大致相同。然而,由于天线辐射方向图的影响以及不同极化开关状态下可能略有不同的损耗尚未校准,因此观察到的一些差异可能归因于硬件。更高精度的测量需要校准。

在 (200, 500) 米左右的区域,有很多点,就像一个花园,里面种满了小树,每棵树都被金属丝网包围。

测量期间地面有少量积雪。可见图片是从合成孔径雷达图像顶部向下拍摄的。左侧的小树林是图像中间的一小片树林。

VideoSAR

之前的测量基于长基线合成了一张高分辨率图像。也可以通过一次长测量合成多张短基线图像,然后将这些图像转换成视频。对于反投影算法,飞行轨迹不必是线性的,在本例中,我编程让无人机沿八边形轨迹飞行,同时将天线指向八边形的中心。

12_21_pol

 

每帧包含 1024 个雷达扫描,其中 512 个与前一帧重叠。由于每帧的扫描次数少于前一帧的完整图像,因此帧噪声较大,角度分辨率较差。视频加速了约 10 倍。所有四种极化方式均已使用,图像颜色与前一极化 SAR 图像相同。每帧图像分别自动对焦,相邻帧之间没有任何对齐,这导致帧图像偶尔会出现轻微抖动或跳动。八边形的角点对于成像尤其具有挑战性,因为为了获得高质量的图像,需要精确解算沿距离和横向的位置。由于帧间只有扫描次数相同,帧间的基线长度也可能不同,因此角度分辨率在不同帧之间也可能存在差异。

地面和森林等自然目标在不同帧中看起来非常相似,但在视频的几个点上,例如当桥梁和输电线与雷达呈90度角时,可以看到较大的反射。桥梁上看起来像在移动的亮点只是栏杆的闪烁。不同极化的天线方向图之间的不匹配也很明显,因为同一目标在波束中心或边缘的颜色可能略有不同。

成像几何

未经特殊许可,无人机的最大飞行高度不得超过 120 米。通常,对于 SAR 成像,视角约为 10 到 50 度。如果视角接近 90 度(即垂直俯视地面),反射功率较高,但距离分辨率较差,因为附近位置到雷达的距离几乎相同。对于低视角,距离分辨率良好,但由于掠射角较小,反射回雷达的功率较低。在极低视角下,反射功率可能比通常的 45 度左右视角低约 10 到 20 dB,从而缩短了雷达的最大探测距离。另一个问题是高大物体造成的阴影。例如,当飞行高度为 120 米时,2 公里距离处的掠射角仅为 3.4 度。一棵10米高的树在这个低角度下投射出170米长的阴影,使得在高大物体之后无法看到地面的任何反射。这在所有测量中都清晰可见。尤其是在全偏振测量中,只有远距离的建筑物顶部可见。

结论

这款合成孔径雷达无人机的成像范围至少可达 1.5 公里,如果飞得更高,成像范围甚至可能更远。它的重量不到 1 公斤(含雷达、无人机和电池)。该系统可以捕获 HH、HV、VH 和 VV 极化。基于梯度的最小熵自动对焦算法能够仅使用非 RTK GPS 和 IMU 传感器信息,通过宽天线波束生成高质量的图像。这架无人机的总成本约为 200 欧元,其中两块雷达 PCB 板花费了 600 欧元,这花费了我大约 10 个月的空闲时间。考虑到它的低成本,我对系统的性能非常满意。可微分 GPU 图像形成库已在 Github 上发布,遵循 MIT 许可证。雷达的示意图也在上面。

http://www.lryc.cn/news/610053.html

相关文章:

  • Flask全栈入门:打造区块链艺术品交易所
  • Oracle 定时任务相关
  • Tomcat虚拟主机配置详解和多实例部署
  • k8s的毫核
  • 太阳光模拟器塑料瓶暴晒试验
  • Vue2实现docx,xlsx,pptx预览
  • P1002 [NOIP 2002 普及组] 过河卒
  • ubuntu22.04系统实践 linux基础入门命令(三) 用户管理命令
  • SpringMVC实战指南:从环境搭建到功能实现全解析
  • 先知模型或者说从容的模型
  • RTOS如何保证实时性
  • React 入门:环境搭建、JSX、组件、事件与状态管理
  • 云原生攻防6(Kubernetes扩展知识)
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第五天(jQuery函数库)
  • 官宣朱珠成为集团品牌代言人,转转推动二手消费新风尚
  • Linux-Day02.Linux指令
  • 如何设计和实施高效的向量化数据检索解决方案
  • Apache IoTDB(3):时序数据库 IoTDB Docker部署实战
  • 大模型部署、nvidia-smi、token数
  • Linux服务器管理MySQL数据库的常见命
  • 09 Linux基础(8.4)
  • git 项目拉取 SSH密钥配置
  • ESDocValues机制
  • CCES软件的Workspace设置问题
  • 牛客网之华为机试题:HJ24 合唱队(动态规划)
  • HFSS许可监控与分析
  • 向量空间模型
  • day23-线程篇(一)
  • 什么是内容管理系统?
  • 基于实时音视频技术的远程控制传输SDK的功能设计