基于多处理板联合SAR成像的分布式计算模拟系统研究 您所在的位置:网站首页 分布式数据处理将负担过重的计算机所处理的任务 基于多处理板联合SAR成像的分布式计算模拟系统研究

基于多处理板联合SAR成像的分布式计算模拟系统研究

2023-09-21 11:12| 来源: 网络整理| 查看: 265

合成孔径雷达(SAR)以其独特的优势引起了雷达领域专家学者的广泛关注[1]。它可以全天时、全天候工作, 具有高分辨率和远距离成像的特点。SAR作为一种微波主动成像系统, 在军事和民用领域都显示出了卓越的价值。随着信息技术的不断发展和信号处理硬件设备的不断完善, 合成孔径雷达系统得到了迅速发展。合成孔径雷达成像技术的研究越来越受到人们的重视。

SAR卫星轨道高, 运行稳定, 无运动误差[2], 不受国家空域和气候的限制[3]。由于这些优势, 星载SAR已成为各国研究和开发的遥感技术。自第一颗SAR卫星成功进入轨道以来, SAR卫星已经发展了几十年。其观测能力也有了很大的提高。例如, 覆盖范围从几十公里扩大到几百公里[4-5], 分辨率从几十米提高到几米甚至不到1 m。中国于2016年发射的GF-3是一颗C波段多极化高分辨率遥感卫星, 具有12种工作模式, 分辨率可达1 m[6]。高分辨率卫星成像模式包括传统的条带成像模式和扫描成像模式, 以及海洋应用的波成像模式和全球观测成像模式[7-9]。GF-3卫星是一种高分辨率遥感卫星, 其主要技术指标达到或超过同类卫星的水平。因此GF-3数据的处理已成为近年来研究的热点。

由于SAR卫星需要具有高时效性、广覆盖、高分辨率等特性, 因此其信息量大, 数据流密集[10]。到目前为止, SAR卫星在探测和实时数据处理方面还存在一系列问题。例如, SAR卫星的角速度可能与地球自转的角速度不同。当SAR卫星探测地球的目标场景时, 星载雷达可能无法探测到该区域。

因此, SAR卫星的全轨道利用率较小, 限制了其探测任务的效率。此外, 由于卫星的大小、重量和功率的限制, 单个卫星的计算和存储资源有限, 抑制了卫星的实时数据处理能力。近年来, 提高卫星数据处理能力和全轨道利用率已成为星载SAR实时成像亟待解决的问题。文献[10]和[11]通过单板实现了数据的实时处理。文献[12]构建了一种使用多个现场可编程门阵列(FPGA)芯片作为多个数据处理单元的星载实时成像系统, 每个处理单元处理一块数据。该方法采用并行处理的方法对数据进行处理, 减少了SAR成像的时间。然而, 一个携带多个数据处理单元的单一卫星将增加它的体积、重量和功率。此外, 该系统不能提高卫星全轨道利用率。即将发射的“深圳一号”商业联网卫星采用激光通信实现数据传输, 这样可以实现网络化卫星之间的协同工作, 因此提高每颗卫星的检测响应能力和效率具有重要的研究意义。针对这些情况, 有必要基于多处理板联合的数据处理方法研究一种分布式计算模拟系统, 以验证多处理板联合的数据处理方法在高效利用卫星计算与存储资源、提升单个卫星全轨利用率等方面的优点。

目前的星间高速激光数据通信技术尤其是双星间高速激光数据通信技术已经日趋成熟[13]。并且, 采用较少的卫星构建的分布式系统稳定性较高, 总能找到一颗卫星作为主处理卫星。因此本文构建的分布式计算模拟系统采用3颗卫星联合的数据处理方法, 其中一颗卫星接收原始回波数据, 并在预处理后将处理任务分配给多个卫星, 图 1为三卫星联合的数据处理系统工作示意图。

图 1 三卫星联合数据处理系统工作示意图 Fig. 1 Schematic diagram of joint data processing system for three satellites 图选项

本文构建的分布式计算模拟系统, 采用由1个FPGA芯片与两组64位的DDR3存储器互联而成的处理板, 每个板代表一个数据处理单元。将被处理的数据按照分布式计算原则合理分配到多个数据处理单元, 那么每个数据处理单元的处理任务小, 以便节省计算和存储资源。采用分布式处理, 节省了处理数据的时间, 缩短了图像数据处理周期[14-15]。多卫星分布式处理方法避免了各卫星计算资源的闲置, 实现了数据的快速处理。此外, 该系统还可以提高每颗卫星的全轨道利用率。同时, 本文选择了适用于多卫星分布式计算模拟系统的距离多普勒(range Doppler, RD)算法, 将子孔径分割与数据分布式处理相结合, 提出了一个实用的实时操作流程。

本文在第1节中首先对两种高效星载成像算法进行了比较。并描述了RD算法在各阶段的任务。在2.1节中, 根据分布式计算模拟系统各模块的功能描述了系统的设计。在第2.2节中分析了每个处理阶段的数据流。第2.3节详细计算了各阶段的处理时间, 验证了系统性能的有效性。第3节描述了在分布式计算模拟系统上处理GF-3数据的结果, 并将结果与通用64位计算机进行比较, 以验证方法以及模拟系统的有效性。与单板处理相比, 处理时间和资源的占用减少。

1 分布式数据处理算法

在选择星载实时SAR成像算法时, 不仅要考虑分辨率的精度[16], 还要考虑计算量。较少的计算复杂度可以有效地缩短数据成像处理时间, 提高分布式数据处理系统的性能。此外, 单颗卫星还存在载荷有限、处理资源利用率低等问题。多卫星分布式数据处理系统可以克服这些限制。因此, 在构建分布式计算模拟系统时有必要选择一种适合于多卫星分布式数据处理方法的成像算法。

SAR信号的点目标回波是距离向与方位向耦合的曲线。二维耦合对SAR成像处理的影响主要体现在距离徙动和聚焦深度两个方面。它需要对二维耦合进行解耦。通过调整方位匹配滤波器的参数, 可以克服聚焦深度的影响。距离徙动使点目标回波轨迹不在同一距离单元上, 而是沿曲线轨迹形成二维数据矩阵。曲线轨迹也随着距离的变化而变化。星载高分辨率SAR实时成像算法采用子孔径处理技术。数据积累不需要达到一个完整的合成孔径, 当一个子孔径数据积累到一定数量时就可以开始处理, 比全孔径处理更具实时性。ω-k算法和RD算法是高分辨率成像中常用的算法。

ω-k算法可以在二维频域内直接进行脉冲压缩、相位补偿和Stolt变换[17]。该方法不需要距离徙动校正, 图像质量较好。但是在Stolt变换过程中需要进行额外的插值, 这也增加了计算量, 降低了成像精度。

RD算法适用于星载SAR具有距离徙动的成像处理[18-21], RD算法流程图如图 2所示。

图 2 RD成像算法流程图 Fig. 2 Flow diagram of RD imaging algorithm 图选项

在RD算法中引入徙动校正, 对距离徙动进行处理。该算法不需要插值处理, 算法结构简单。通过复杂乘法和快速傅里叶变换(FFT)/快速傅里叶逆变换(IFFT)就可以完成精确的成像处理。计算量大大减少。硬件系统采用实时RD算法进行多卫星分布式SAR成像处理, 避免了数据的二维耦合。便于在多个处理节点之间实现数据流的分布式处理。由于RD算法操作规则简单, 分布式数据处理系统采用RD算法作为成像算法。

由于硬件系统对数据进行连续处理, 将RD算法按不同补偿函数可分为三个阶段。第一阶段分别对方位数据执行FFT操作, 结束后, 将数据按方位向分配给多个数据处理单元; 第二阶段是使用多个处理单元进行距离FFT, 通过乘以补偿项H21和H22完成脉冲压缩和距离徙动校正, 然后进行距离向IFFT操作, 结束后, 将每块数据在距离向上分成3部分; 为了保证方位向图像的连续, 第三阶段根据分布式原理重新分配到多个处理单元中, 每个处理单元通过在方位向中乘以一个补偿项H3来执行方位脉冲压缩。最后, 进行方位IFFT生成最终图像。此时完成整个RD算法流程, 系统进行图像采集。

2 分布式计算模拟系统的实现 2.1 系统结构设计

为了实现实时处理, 系统的处理单元需要具有较高的计算能力[22-29]。在SAR实时成像的实际工程应用中, FPGA具有高性能计算、易于并行化处理的特点[30-35]。该系统有3个FPGA板, 代表 3颗卫星的SAR数据处理单元。每个板的核心是一个XC7 VX690T FPGA芯片, 该芯片具有450个乘法器, 52 Mb RAM, 3 600个DSP48, 80个高速收发器。丰富的计算资源可以满足实时成像的要求。两组64位宽、2 GB容量的DDR3存储器与FPGA芯片并行连接。数据通过光纤通信模块在不同的板间传输, 传输速率可达10 Gbps。目前卫星星间高速激光通信速率可以达到10 Gbps, 而最新的OMG5光纤传输速率可达100 Gbps, 因此在本模拟系统中采用光纤来模拟星间激光通信的方法是完全可行的。

图 3 多卫星SAR分布式数据综合处理系统 Fig. 3 Distributed data processing system for Multi-satellite SAR 图选项

多卫星SAR分布式数据处理系统的模块如图 4所示, 主计算机存储原始的雷达回波数据和处理后的图像数据。使用三块FPGA板对原始数据进行成像处理。每个板由一系列功能模块组成。

图 4 多卫星SAR分布式数据处理系统模块组成 Fig. 4 Distributed data processing module for Multi-satellite SAR 图选项

各FPGA板的模块组成如图 5所示。PCIe卡接收到雷达的原始数据, 发送到DDR3存储模块进行数据转换。经过处理的图像将由PCIe模块传输到主机。数据处理模块对数据流执行三个阶段的处理, 处理过程包括FFT、IFFT和相位补偿。补偿相位存储在数据处理模块的缓冲器中, 它支持原始数据和中间数据的快速转换。光纤通信模块在各FPGA卡之间传输数据。复位模块向系统提供复位信号, 使系统返回到初始状态, 它增加了系统的稳定性。时钟模块为光纤通信模块和DDR3存储模块提供时钟信号。

图 5 FPGA板的模块组成 Fig. 5 The composition of FPGA board 图选项

该系统有3条独立的数据传输线路。一是数据分配线路, 用于将回波数据发送到每个数据处理单元; 二是用于传输成像结果的图像采集线路; 三是系统控制线路, 用于各单元之间的通信和控制。

2.2 系统中的数据流分析

在多卫星SAR数据分布式处理方案的实现中, 任意两板之间的数据传输均可通过高速光纤完成。主计算机通过PCIe将SAR原始数据发送给FPGA板1, FPGA板1接收原始数据后, 经过处理后, 将数据处理任务分配给包括FPGA板1在内的3个数据处理单元, 这3个处理单元的处理任务在原理上是相同的。

第一阶段, FPGA板1接收原始数据, 然后进行方位向的FFT, 在方位向上将数据分为3个部分, 并存储一部分数据。其余两部分的数据通过光纤传输到另外两个FPGA板上。第一个阶段的数据分布如图 6所示。

图 6 第一阶段数据处理流程图 Fig. 6 First stage of data processing 图选项

在第二阶段, 对每个FPGA板中的数据进行距离向的处理。FFT操作在距离向上执行。然后进行距离脉冲压缩和距离徙动校正, 并完成对补偿项H21和H22的相乘。最后, 在距离向执行IFFT。处理任务完成后, 将FPGA板1上8 192×4 096点的数据以及FPGA板2和FPGA板3上8 192×2 048点的数据分别划分为3个范围内的部分。FPGA板的数据处理和划分流程图如图 7所示。

图 7 第二阶段数据处理流程图 Fig. 7 Second stage of data processing 图选项

第二阶段完成后, 对4块板上的数据进行重新分配, 使方位数据在各板上连续完整。经过脉冲压缩和方位向IFFT处理, 完成了数据处理。这一阶段的数据处理和划分流程如图 8所示。

图 8 第三阶段数据处理流程图 Fig. 8 Third stage of data processing 图选项

随后, 经过处理的每个FPGA板的图像数据通过光纤和PCIe卡发送到主计算机, 在主计算机成像。

2.3 数据处理时间消耗分析

利用GF-3卫星3 m分辨率且点数为8 192×8 192点的数据验证分布式计算模拟系统的性能。该系统采用100 MHz时钟, 双通道处理数据, 利用仿真计算各个操作所用的时间。

第一阶段, 所有数据的处理全部在FPGA板1中进行, 此阶段主要工作时方位向的FFT, 所耗费的时间就是FFT IP核进行8 192次8 192点长度FFT转换需要的时间, FFT运算的结果设置为顺序输出, FFT IP核进行一次8 192点的浮点类型数据转换需要32 945个时钟周期, 因此第一阶段FFT运算需要的时间约为2.70 s, 在完成方位向的FFT运算之后, 数据需要被写入到DDR3中进行存储, 方便后续的分布式运算, DDR3的写入速度为11 GB/s, 因此数据全部写入DDR3所需要的时间为0.045 s。由于后续的处理是分布式处理, 所以数据需要采用跳地址的方式从DDR3中读取并且通过光纤传输传送到其余两个子板卡中, DDR3跳地址读取数据的速度为1.1 GB/s, 一半数据采用跳地址读取的方式读取耗费的时间为0.23 s。光纤传输数据的速度为10 Gb/s, 光纤传输的速度不小于DDR3跳地址读取数据的时间, 因此, 数据分发到子板卡的时间为0.23 s。所以, 第一阶段完成处理总耗时约为3 s。

第二阶段处理中, 相位复乘的时间可以忽略不计, 数据主要进行的是距离向的FFT和IFFT运算处理, 由于主板卡中的数据量最大, 所以耗费的时间也就最多。此阶段, 进行了一次4 096组8 192点数据类型为浮点的FFT, 一次4 096组8 192点数据类型为浮点的IFFT运算, 参考第一阶段可以得出距离向FFT和IFFT运算耗费的时间共为2.70 s。DDR3跳地址写入数据的速度为0.7 GB/s, 数据跳地址写入DDR3中的时间为0.35 s。后续需要进行数据的方位向拼接, 主板卡中的数据量最大, DDR3中跳地址写入数据的总量为128 MB, 需要耗时为0.18 s, DDR3跳地址读取数据的总量为128 MB, 需要耗时为0.12 s。因此, 第二阶段处理总耗时约为3.35 s。

第三阶段的处理中, 同样的主板卡中的数据量最大, 且数据在此阶段的处理为分布式并行处理, 主板卡需要进行4 096组8 192点数据类型为浮点的FFT运算, 参考前面两个阶段可以得出DDR3顺序读取数据需要耗费的时间为0.023 s, FFT运算耗费是时间为1.35 s。随后, 子板卡中的数据需要全部通过光纤传输依次传入主板卡中, 两块子板卡中的DDR3顺序读取数据的速度远大于光纤传输的速度, 因此需要按照光纤传输数据耗费的时间来计算数据拼接耗费的时间, 待拼接的数据量为256 MB, 光纤采用的速度为10 Gb/s, 可以得到数据拼接耗费的时间为0.2 s, 数据上传至主计算机的数据量是512 MB, 耗费的时间为0.4 s。所以, 这一阶段耗费的时间为1.973 s。

综上所述, 每帧图像的数据处理总时间约为8.323 s。由于上述估计没有考虑软件调度对速度的影响, 实际消耗的时间约为8.323~9.235 s。而用一个FPGA板100 MHz时钟处理8 192×8 192点数据时, FFT IP核中数据执行FFT和IFFT操作的时间为2.7 s, 4次FFT运算的总耗时10.8 s, DDR3读写数据的时间为1.23 s。因此, 完成整个算法流程需要的时间为12.03 s。显然, 分布式数据处理方法的加速效果是明显的。

3 实验结果

通过在模拟系统中对512 MB的实测数据进行处理, 得到清晰的图像, 验证了分布式系统的计算性能和稳定性。图 9是通过分布式数据处理系统对GF-3实测数据进行处理的结果。3幅图像包含24.6 km× 24.6 km的场景信息。图 9a为多卫星分布式处理系统处理后的图像。在分布式数据处理过程中, 由于数据从浮点类型转换为定点类型[27]造成了数据准确性的降低, 因此图像中的一些目标点显得有些模糊。图 9b是在64位通用计算机上对同一场景进行成像得到的图像。图 9a虽然是连续累积的, 但颜色要比图 9b深。但是图 9a中的主要目标可以被有效地呈现出来, 验证了多卫星分布式数据处理系统处理数据的有效性和准确性。

图 9 GF-3数据处理结果图 Fig. 9 Data processing results of GF-3 in (a) Distributed computing simulation system and (b) 64-bit computer processing 注: 图像覆盖面积为24.6 km×24.6 km。 图选项 4 结论

本文构建的分布式计算模拟系统按照分布式数据处理原理对星上SAR数据进行处理, 提高了各卫星的全轨道利用率, 大大缩短了数据处理时间。采用多星分布式数据处理系统对GF-3卫星数据进行处理, 得到清晰的SAR图像, 验证了该方法的实时性和高精度。在实际情况中, 空间卫星探测某一区域, 根据分布式原理将数据传输给多颗卫星。这使得无法探测到该区域的卫星能够处理该区域的信号数据。而由于每颗卫星的处理任务较小, 一个网络化的卫星系统可以在每颗卫星携带少量计算和存储资源的情况下完成大量的数据处理工作。系统将流水线处理与并行处理相结合, 将计算任务合理地分配给多个数据处理单元。在不到8.323 s的时间内完成GF-3数据成像覆盖面积24.6 km×24.6 km。使用更少的计算存储资源和更快的数据处理速度, 该系统有利于实现多颗卫星协同成像。它比传统的成像系统具有更广阔的应用前景。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有