一种高分辨率合成孔径雷达并行成像实现
摘 要:并行处理是快速处理合成孔径雷达数据(SAR),实现实时处理的有效途径。本文采用 了一种细粒度的并行算法实现SAR成像,将原始数据划分为子孔径数据,并分配给并行机的各节 点,使用针对子孔径的CS处理和方位向子孔径算法,对各节点的数据进行处理。通过在并行机SGI Origin2000平台上的实验证明,该算法与中粒度并行cS成像算法相比,能有效地减少通信量,有 利于成像处理的并行扩展, 同时获得更好的分辨率。
SAR成像处理具有数据量和运算量大的特点【l】,为了提高运算速度,实现实时成像,通常采用并行计算机进 行并行处理。SAR的成像处理具有潜在的并行性,能较为容易地并行化I2】。在并行处理的数据划分方面,中粒度 划分和粗粒度划分是较为常用的方法。
文献【3.4】介绍了SAR原始数据数据粗粒度划分的处理方法。每个处理器 得到一帧回波数据,独立完成整帧图像的处理过程,各处理器是独立的,彼此之间没有通信。粗粒度并行减少了 系统的通信需求,但由于各节点的数据量大,对节点的运算能力和存储能力要求高。数据的中粒度划分方式在
文 献【2,5】中进行了讨论,这是目前典型的SAR并行处理方式,能获得较好的并行效率。它将一帧数据再进行划分 并分配给并行系统的各处理器,每块数据分别依照成像算法的步骤进行处理。 在中粒度并行成像算法中,并行机各节点间通常需要通信。以CS算法的中粒度并行化为例【2】。由于在距离 徙动校正上避免了插值,并能获得很高的成像精度,CS算法已成为目前流行的SAR成像算法【6】。在并行处理中, CS算法需要进行3次数据矩阵的转置,会带来3次并行机各节点间的通信 】,需要消耗大量的时间。 同时,对中粒度并行Cs算法而言,如果为了提高运算速度,采用具有更多节点的并行机,就会导致分配到 各节点上的数据小于一个孔径【引,并会造成图像分辨率的明显下降。因此SAR 的中粒度并行算法不利于并行扩 展,增大并行度就会影响到图像质量。 本文对SAR 的原始数据进行细粒度划分,将子孔径数据分配给各节点,采用针对子孔径的Cs处理和方位 向子孔径算法实现成像。 l 子孔径的CS处理和方位子孔径处理 中粒度并行cS算法[21中,对整块原始数据进行cS变换,3次矩阵转置就带来了3次所有节点间的通信。 cS处理利用发射信号是线性调频信号的性质,通过改变信号相位中心,实现对距离徙动曲线的尺度变换,使不 同距离上的曲线弯曲程度一致【9】。这里将原始数据划分为子孔径,每个子孔径数据含有一定数量的线型调频脉冲 信号。根据线型调频信号的性质,我们可以对每块子孔径数据分别进行cs处理,从而避免了各节点间的通信。 以场景中心点为参考点(参考点可随意选取),它与雷达间的最小距离 为参考距离。先对子孔径数据进行方位 向FFT,然后与CS因子相乘: (f,f; )=exp{一jrLK(f; )X (厂)X【t一2RX(厂; )/c】 ) (1) 式中: C (,)= 一1;K (,; = . .2 c等 每 。 【l一( ) 】 ;R(厂; )= 【l+C (厂)】; 厂为方位向频率;K为发射信号的调频率;v为雷达载机速率; ,.为距离变量。然后在节点内转置,进行距离向 FFT,并乘上距离压缩和徙动校正因子: ( ,厂; )=exp{_j 2 ’×exp【 4x CJ(厂)】 式中 为距离向频率。方位向压缩则采用子孔径处理的方式: 图1数据划分和子孔径处理 N N N I N l 厂d( )= 三Ⅳ ,( ) , Ⅳ ,( )=, ⅣLEja,( ) ,( J , [ aN+Sa(i-I)( Ⅳ+1)(r)+.. Ⅳ-1)( )] (2) (3) 式中:厂d(f)为方位压缩的结果; (f)为方位向子孔径数据; (f)为与之对应的参考函数。子孔径处理需要子 孔径数据间的相互重叠 】,在本文提出的算法中,为了避免在cs处理步骤上对数据的重复处理,将数据划分为 子块,分配给各节点,分别进行cS处理后,再通过各节点间的一次通信,两个子块组成一个子孔径数据(图l(a)), 从而完成方位压缩。即采取子孔径间重叠50%的划分方式。根据文献【l0】和后面的实验,这样做是可取的。方位 向处理如图1(b)所示,其中“rf’’是参考函数的缩写。
2 实验结果
2.1在SGI Origin2000上的实验结果 实验所用的平台为SGI Origin2000,是一种对称处理并行机。 其硬件配置如表1所示: 本文所采取的细粒度并行成像方法在SGI Origin2000上的运 算结果如表2所示。由于并行机上共有8个处理器,因此采用2,4 和8个处理器分别实现来观察结果。实验数据为雷达实测数据,参 数:矩阵点数16 384~8 192(方位×距离,含有两个全孔径数据),波 长3 cm,分辨率1 mxl m(方位×距离)。表中详细列出了CS处理和 方位向子孔径处理的各个步骤运算时间。 表l SGI Origin2000的硬件配置 表2细粒度并行方法在SGI Origin2000上的实验结果 从运算结果上看,随着处理器个数的增加,成像处理的时间明显减少,用于CS处理和方位压缩的时间也成 比例地减少。但是,由于通信量随着处理器个数而变化(处理器越多,划分的数据块越小,参与通信的节点也越 多),且系统的通信性能相比运算性能要弱得多,因此花在通信上的时间并没有减少。这就导致了效率随着处理 器个数增加而下降。如果采用通信性能更好的并行系统,如MPP,这一点可以得到改善。
2.2并行效率比较 根据文献【2】中的中粒度并行cs算法流程,本文所采取的方法与其相比,有两点不同: 1)通信次数不同。中粒度并行cS算法中含有3次矩阵转置,需要3次所有节点间的通信;本文的方法只 需要1次通信,在方位压缩之前; 2)方位压缩的运算量不同。中粒度并行cs算法采用普通的方位压缩,而本文采用了子孔径处理,根据式(3), 方位压缩的运算量要大一些。 由于条件限制,我们将文献【2】中的中粒度并行CS算法移植到当前平台上。实验数据仍然采用2.1中的实测 数据。设原始数据的距离向点数为Ⅳ,,方位向点数为Ⅳ ,子孔径的方位向点数为Ⅳ ,每块全孔径数据划分为P 个子块,则中粒度并行CS算法方位压缩的运算量为: l ‰ =Ⅳ甜×Ⅳ,+ ×Ⅳ,×log2Ⅳ珊 (4) Z 本文方法的方位压缩运算量为: Sr8=2×(P一1)× ×Ⅳ,+(P+1)×Ⅳ甜×,v,×log2Ⅳm (5) 运算效率的计算可参考文献【8】。两种算法的通信时间见图2(a)。方位压缩时间见图2(b),而各种情况下算法 的效率见图2(c)。
中粒度并行cS算法的通信时间较长,而本文的方法花在方位压缩上的时间较长,总的来说, 两种算法效率相当。 虽然本文的方法在运算量上较中粒度并行CS算法有所增加,但在通信方面有所改善。对于目前的计算机系 统来说,通信性能明显弱于计算性能,且通信性能的改善也比计算性能的改善要困难一些。因此,该方法在通信 量上的减少,更有利于算法性能的进一步提高。中粒度并行CS算法与本文方法的比较 2.3 并行扩展性比较 考虑到图像的质量,本文的方法比中粒度并行CS算法有着更好的并行扩展度,更有利于获得高分辨率图像。 采用上面的数据,矩阵大小取32 768x8 192(4个全孔径数据)。图3显示了在4个处理器和8个处理器的情况下, 中粒度并行CS算法的成像结果。对于4个处理器,每个节点上分配1个全孔径数据;而对于8个处理器,子数 据块就只包含1/2个合成孔径,这将导致分辨率的下降。图3的结果说明了这一点。对中粒度并行CS算法而言, 更大规模的并行化将明显影响到图像质量。 图4显示了在4个处理器和8个处理器的情况下,本文方法的成像结果。由于子孔径的划分具有一定灵活度, 根据文献[10】,全孔径数据可以划分为4~16子孔径,子数据块的大小在一定范围内的变化不会明显影响到结果, 因此两幅图像几乎没有差别。如果要求获得高分辨率图像,本文的方法更有利于更大规模的并行化。 (a)Oil4processors (b)Oil 8 processors Fig.3 Imaging results(part1 ofmedium·grained CS algorithm Oil diferent scale ofparallel systems 图3中粒度并行CS算法在不同规模并行机上的成像结果(部分)
3 结论
上面的实验结果说明,与中粒度并行CS算法相比,本文所采取的细粒度并行处理方法有效地降低了通信量, 并具有更好的并行扩展度。同时由于采取了子孔径算法,更有利于高分辨率SAR进行并行处理。本文的子孔径 算法为基本子孔径处理,还可以考虑文献[i11提出的改进子孔径算法,甚至Step变换,对本文的方法进行改进。 此外,如果具有更好的硬件条件,如MPP并行机,应能取得更好的效果。