基于gpu的弹载sar前斜视成像方法
【专利摘要】本发明属于弹载SAR成像【技术领域】,特别涉及基于GPU的弹载SAR前斜视成像方法。其具体步骤为:在CPU端设置合成孔径雷达的工作参数,将合成孔径雷达的工作参数存储于GPU中,将SAR原始回波数据以矩阵的形式存储于GPU中;在GPU端,对SAR原始回波数据矩阵作距离向处理,得出距离方位二维时域数据;步骤3,在GPU端,将距离方位二维时域数据矩阵沿方位向进行补零扩展,得出大小为Na′×Nr的方位向补零扩展后的距离方位二维时域数据矩阵;步骤4,在GPU端,对方位向补零扩展后的距离方位二维时域数据矩阵依次进行方位向处理,得出聚焦后的SAR图像数据。
【专利说明】基于GPU的弹载SAR前斜视成像方法
【技术领域】
[0001] 本发明属于弹载SAR成像【技术领域】,特别涉及基于GPU的弹载SAR前斜视成像方 法。
【背景技术】
[0002] 随着合成孔径雷达成像技术的发展,将合成孔径雷达(SAR)与精确制导技术相结 合的弹载SAR已成为近年的研宄热点。由于弹载SAR需要高分辨率以获得更多的目标信息, 使目标的形状和精细结构更清晰地呈现出来,从而大大提高对目标的识别能力和精确打击 能力;而在军事上,弹载SAR通常在侦查完后还需完成攻击,为了保证导弹具备一定的转弯 机动时间,弹载SAR -般需在前斜视的情况下成像。因此对弹载SAR前斜视的成像研宄具 有重要意义。目前的弹载SAR前斜视并行成像处理大部分基于DSP和FPGA等平台,不仅导 致系统并行结构复杂,而且硬件成本高。
【发明内容】
[0003] 本发明的目的在于提出基于GPU的弹载SAR前斜视成像方法。
[0004] 为实现上述技术目的,本发明采用如下技术方案予以实现。
[0005] 基于GPU的弹载SAR前斜视并行成像方法包括以下步骤:
[0006] 步骤1,在CPU端设置合成孔径雷达的工作参数,并获取SAR原始回波数据,所述合 成孔径雷达的工作参数包括合成孔径雷达方位向采样点数Na、合成孔径雷达距离向采样点 数队;CPU将合成孔径雷达的工作参数存储于GPU中,将SAR原始回波数据以矩阵的形式存 储于GPU中;
[0007] 步骤2,在GPU端,对SAR原始回波数据矩阵作距离向处理,得出距离方位二维时域 数据;所述对SAR原始回波数据矩阵作距离向处理的过程为:针对SAR原始回波数据矩阵 依次进行距离向傅里叶变换、距离向脉冲压缩、进行距离走动校正及多普勒中心补偿、方位 向傅里叶变换、距离弯曲校正、二次距离向脉冲压缩、距离向逆傅里叶变换和方位向逆傅里 叶变换;
[0008] 步骤3,在GPU端,将距离方位二维时域数据矩阵沿方位向进行补零扩展,得出大 小为NJ X凡的方位向补零扩展后的距离方位二维时域数据矩阵,为大于Na的自然 数;
[0009] 步骤4,在GPU端,对方位向补零扩展后的距离方位二维时域数据矩阵依次进行方 位向傅里叶变换、转置,得出转置后的方位向傅里叶变换后数据矩阵;在方位频域,针对转 置后的方位向傅里叶变换后数据矩阵每个元素,计算对应的高次相位补偿函数和高次相位 滤波函数,将转置后的方位向傅里叶变换后数据矩阵每个元素依次乘以对应相位补偿函数 和相位滤波函数,得出相位补偿及相位滤波后的方位频域数据;所述相位补偿函数用于对 转置后的方位向傅里叶变换后数据矩阵对应的元素进行四次相位补偿和五次相位补偿,所 述相位滤波函数用于对转置后的方位向傅里叶变换后数据矩阵对应的元素进行二次相位 校正和三次相位校正;在得出相位补偿及相位滤波后的方位频域数据之后,在GPU端,对相 位补偿及相位滤波后的方位频域数据进行方位向逆傅里叶变换,得出相位补偿及相位滤波 后的方位时域数据;在方位时域针对相位补偿及相位滤波后的方位时域数据,补偿由相位 滤波函数引入的高次相位,得出残余高次相位补偿后的方位时域数据;对残余高次相位补 偿后的方位时域数据进行方位deramp处理,对方位deramp处理后的方位时域数据进行方 位向傅里叶变换,得到聚焦后的SAR图像数据。
[0010] 本发明的有益效果为:本发明充分挖掘了弹载SAR前斜视成像算法的并行性,不 以损失分辨率或精度为代价,有效减少了成像时间。同时由于GPU造价较便宜,能大量减少 硬件成本。
【专利附图】
【附图说明】
[0011] 图1为本发明的基于GPU的弹载SAR前斜视成像方法的流程图;
[0012] 图2为GPU端进行距离向处理时核函数的线程分配方式示意图;
[0013] 图3为本发明实施例中频域匹配滤波的参考函数与距离频域方位时域数据矩阵 的相乘运算的过程的示意图;
[0014] 图4为GPU端进行方位向处理时核函数的线程分配方式示意图;
[0015] 图5a为仿真实验中利用本发明得出的五个点目标的成像结果示意图;
[0016] 图5b为仿真实验中利用本发明得出位于合成孔径雷达的边缘的第一个点目标的 等尚线图;
[0017] 图5c为仿真实验中利用本发明得出位于合成孔径雷达的边缘的第二个点目标的 等尚线图;
[0018] 图5d为仿真实验中利用本发明得出位于合成孔径雷达的边缘的第三个点目标的 等尚线图;
[0019] 图5e为仿真实验中利用本发明得出位于合成孔径雷达的边缘的第四个点目标的 等尚线图。
[0020] 图6a为仿真实验中包含五个点目标的原始场景图;
[0021] 图6b为仿真实验中利用本发明得出的五个点目标回波的成像结果示意图。
【具体实施方式】
[0022] 下面结合附图对本发明作进一步说明:
[0023] 参照图1,为本发明的基于GPU的弹载SAR前斜视成像方法的流程图。本发明实施 例中,成像的主要处理步骤都在GPU上进行,距离向的处理包括距离向脉冲压缩、距离走动 校正和多普勒中心补偿、距离弯曲校正、二次距离脉冲压缩,方位向的处理包括补偿方位向 非空变的高次相位、高次相位滤波、补偿残余高次相位、乘以Deramp函数。这些处理在GPU 端的4个核函数中完成,其中第1核函数和第2核函数主要负责距离向的处理,第3核函数 3和第4核函数主要负责方位向的处理。在进行成像处理时,将原始回波数据复制到GPU 端的全局内存上,通过调用4个核函数完成以上步骤的处理,得到聚焦图像,再将成像结果 复制到CPU的内存上。处理过程中核函数需要的一些计算量较小的数据放在CPU端计算后 再复制到GPU端,而对回波数据的处理都在GPU端进行。回波数据在GPU端存储为矩阵。 在调用核函数处理回波矩阵时,每个线程块处理矩阵的一行数据,其中每个线程通过while 循环处理一行的多个元素,不同的处理步骤循环中的计算任务不同。
[0024] 步骤1,在CPU端设置合成孔径雷达的工作参数,并获取SAR原始回波数据;CPU将 合成孔径雷达的工作参数存储于GPU中,将SAR原始回波数据以矩阵的形式存储于GPU中; 在GPU端,为SAR原始回波数据矩阵的每一行划分对应的一个线程块。
[0025] 其具体子步骤为:
[0026] (I. 1)在CPU端,将合成孔径雷达的工作模式设为条带成像模式。在CPU端设置 雷达的工作参数。上述合成孔径雷达的工作参数包括合成孔径雷达的常量参数和合成孔径 雷达的工作向量。合成孔径雷达的常量参数包括:合成孔径雷达方位向采样点数凡、合成孔 径雷达距离向采样点数队、合成孔径雷达距离向采样率F s、合成孔径雷达发射信号的线性 调频率γ、合成孔径雷达发射信号的脉冲宽度Tp、合成孔径雷达发射信号的载频频率f。、合 成孔径雷达斜视角S tl、弹体飞行速度v、合成孔径雷达波束中心线扫过目标时的斜距Rci、多 普勒中心频率f d。、光速c等,合成孔径雷达的工作向量包括距离时间向量tp方位时间向量 I、距离向频率向量f;、方位向频率向量fa、各距离单元对应的斜距组成的向量R。
[0027] 由于上述雷达的常量参数的总存储量(所占空间)较小,并且在后续处理的GPU 并行实现中,大量并行的线程需要读取相同的雷达参数进行计算,所以在CPU端设置雷达 的工作参数之后,将雷达的工作参数复制到GPU的常量内存上。相比于复制到GPU的全局 内存,复制到GPU的常量内存上时能大幅提高线程读取雷达的工作参数的速度。而对于雷 达的工作向量(离散的向量),大量线程需要读取向量不同地址位置的值,如果使用常量内 存程序并不能获得有效的加速,而且常量内存的空间有限,因此在本发明中,在CPU端设置 雷达的工作参数之后,利用CPU将雷达的工作向量复制到GPU的全局内存上。
[0028] 利用CPU接收原始回波数据(例如原始回波数据预先存储于与CPU连接的内存 中,利用CPU调用来自内存的原始回波数据)。CPU在接收到原始回波数据之后,将原始回 波数据复制到GPU。具体地说,CPU接收的原始回波数据表现为一维数组,由于原始回波数 据沿方位向存储,也就是将N a条距离线的回波依次存放,每条距离线长度为Ny所以CPU可 以将接收的原始回波数据以原始回波数据矩阵的形式存储于GPU中,该矩阵的行数为N a,列 数为队;也就是说,CPU每读取N ^个数值,便将这\个数值存储在原始回波数据矩阵的对应 的行中。
[0029] (1. 2)在子步骤(I. 1)之后,需要为实现距离向处理的核函数分配线程网格。对 线程划分具体的方式在距离向和方位向处理中略有不同。由于本发明中较多的FFT(傅里 叶变换)操作要求各个数组之间地址连续,所以距离向处理的过程中回波数据沿方位向存 储,方位向处理时数据沿距离向存储,实现距离向处理和方位向的核函数也就要以不同的 线程块网格执行。
[0030] 在GPU端,使用两个核函数实现距离向处理,其中,第1核函数实现距离向脉冲压 缩、距离走动校正和多普勒中心补偿,第2核函数实现距离弯曲校正和二次距离脉冲压缩, 都是距离向的处理,它们的线程组织方式如图2所示。参照图2,为GPU端进行距离向处理 时核函数的线程分配方式示意图。图2中,Block(0, 1)至Block(0,Na)分别表示凡个线程 块,ThreadO至Thread255分别表示256个线程。
[0031] 对于距离向的处理而言,GPU端调用核函数前只要保证回波数据沿方位向存储,那 么回波矩阵中一行就是一条距离线的数据。因此,在子步骤(I. 1)之后,设置Na个线程块, 在Na个线程块中,第i个线程块用于对原始回波数据矩阵的第i行进行处理,i取1至N a, Na为方位向采样点数。也就是说,Na个线程块中的每个线程块可以处理一个方位向采样点 处的数据,N a个线程块就可以处理N a个方位向采样点处的数据,也就是回波矩阵的N a行。 以此线程网格执行第1核函数和第2核函数,便于线程对全局内存的合并访问和提高流处 理器的占用率,本发明中单个线程块均设为行连续的256个线程。每个线程通过循环处理 多个距离单元,使线程负责足够多的计算以保证核函数的效率。
[0032] 步骤2,在GPU端,对SAR原始回波数据矩阵作距离向处理,得出距离方位二维时域 数据;所述对SAR原始回波数据矩阵作距离向处理的过程为:针对SAR原始回波数据矩阵 依次进行距离向傅里叶变换、距离向脉冲压缩、进行距离走动校正及多普勒中心补偿、方位 向傅里叶变换、距离弯曲校正、二次距离向脉冲压缩、距离向逆傅里叶变换和方位向逆傅里 叶变换。
[0033] 其具体子步骤为:
[0034] (2. 1)在GPU端,对全局内存中的SAR原始回波数据矩阵做距离向傅里叶变换,得 到距离频域方位时域数据矩阵,距离频域方位时域数据矩阵是大小为N aX队的矩阵。
[0035] 具体地说,CUDA (Compute Unif ied Device Architecture,统一计算设备架构)开 发环境提供的库函数可以对大小为NaX队的矩阵的每一行并行做^点傅里叶变换(FFT)。 因此对全局内存中的回波数据做距离向傅里叶变换时,利用CUDA开发环境提供的库函数 对原始回波数据矩阵的每一行并行做队点傅里叶变换,得到距离频域方位时域数据。由于 SAR原始回波数据沿方位向存储,Na个方位向采样点处的数据对应与矩阵的心行,借助CUDA 库函数可以方便的实现回波矩阵的距离向FFT。
[0036] 为了保证对原始回波数据矩阵作傅里叶变换后距离频域方位时域数据的中心对 应频谱的中心频率,本发明中需要在每一次FFT运算的前后进行傅里叶变换。即GPU使用 每个线程块并调用第1核函数对原始回波数据矩阵的对应的一行做队点傅里叶变换,实现 对原始回波数据矩阵的每一行的傅里叶变换的并行处理。在此过程中,一个线程块产生搬 移后的一个复数元素,由于傅里叶变换是原数据内部的搬移,为了避免对全局内存的读写 冲突,在对全局内存中的原始回波数据矩阵做距离向傅里叶变换时,第1核函数直接在另 一块与原数据同样大小的全局内存上产生搬移结果,而不在原数据上进行操作。对原始回 波数据矩阵的每一列做纵向的傅里叶变换比较简单,通过将数据的前后两半存储区域交换 实现。此处的傅里叶变换是对矩阵做横向的傅里叶变换,以实现距离向傅里叶变换。
[0037] (2. 2)在GPU端,对距离频域方位时域数据矩阵进行距离向匹配滤波处理,实现距 离向脉冲压缩,得出距离向脉冲压缩后数据,距离向匹配滤波处理的过程包括构造频域匹 配滤波的参考函数、以及频域匹配滤波的参考函数与距离频域方位时域数据的相乘运算。
[0038] 具体地说,构造频域匹配滤波的参考函数需要使用合成孔径雷达距离向采样率 Fs、合成孔径雷达发射信号的线性调频率γ、以及合成孔径雷达发射信号的脉冲宽度Tp。频 域匹配滤波的参考函数与方位向相关参数无关,并且频域匹配滤波的参考函数对各个距离 线都是相同的。因此,如果利用第1核函数对每个线程都计算参考函数的值,那将会产生大 量重复计算。而第1核函数中每个线程计算的队点参考函数值计算量很小,因此本发明在 构造频域匹配滤波的参考函数后,调用第1核函数由线程读取每点回波和它对应的参考函 数值做复数乘法。
[0039] 频域匹配滤波的参考函数与距离频域方位时域数据矩阵的相乘运算的过程如图3 所示。参照图3,为本发明实施例中频域匹配滤波的参考函数与距离频域方位时域数据矩阵 的相乘运算的过程的示意图。在本发明中,在进行频域匹配滤波的参考函数与距离频域方 位时域数据矩阵的相乘运算时,将距离频域方位时域数据矩阵沿着方位向逐次进行相乘, 实际上是每个距离线与频域匹配滤波的参考函数进行对应位置相乘。按照子步骤(1. 2)划 分线程网格的方式,使用每个线程块的256个线程处理距离频域方位时域数据矩阵的一条 距离线(对应于队个数值)。具体的任务划分是,一个线程通过循环处理回波数据中一条 距离线上的多个单元,循环的每次迭代读取该回波对应距离位置的参考函数值并和该回波 做复乘。
[0040] (2. 3)在GPU端,在距离频域对距离向脉冲压缩后数据进行距离走动校正及多普 勒中心补偿,得出距离走动校正及多普勒中心补偿后数据。
[0041] 具体地说,在弹载SAR处于斜视的情况下,在进行距离走动校正的同时还要进行 多普勒中心补偿,这个过程在Kernel中通过回波数据和对应校正项和的乘法运算实现。距 离走动校正和多普勒中心补偿的校正项H mc(f;,tj是一个距离向频率f;和方位时间t 的 函数:
【权利要求】
1. 基于GPU的弹载SAR前斜视并行成像方法,其特征在于,包括以下步骤: 步骤1,在CPU端设置合成孔径雷达的工作参数,并获取SAR原始回波数据,所述合成 孔径雷达的工作参数包括合成孔径雷达方位向采样点数Na、合成孔径雷达距离向采样点数 队;CPU将合成孔径雷达的工作参数存储于GPU中,将SAR原始回波数据以矩阵的形式存储 于GPU中; 步骤2,在GPU端,对SAR原始回波数据矩阵作距离向处理,得出距离方位二维时域数 据;所述对SAR原始回波数据矩阵作距离向处理的过程为:针对SAR原始回波数据矩阵依 次进行距离向傅里叶变换、距离向脉冲压缩、进行距离走动校正及多普勒中心补偿、方位向 傅里叶变换、距离弯曲校正、二次距离向脉冲压缩、距离向逆傅里叶变换和方位向逆傅里叶 变换; 步骤3,在GPU端,将距离方位二维时域数据矩阵沿方位向进行补零扩展,得出大小为 N: X队的方位向补零扩展后的距离方位二维时域数据矩阵,Na'为大于Na的自然数; 步骤4,在GPU端,对方位向补零扩展后的距离方位二维时域数据矩阵依次进行方位向 傅里叶变换、转置,得出转置后的方位向傅里叶变换后数据矩阵;在方位频域,针对转置后 的方位向傅里叶变换后数据矩阵每个元素,计算对应的高次相位补偿函数和高次相位滤波 函数,将转置后的方位向傅里叶变换后数据矩阵每个元素依次乘以对应相位补偿函数和相 位滤波函数,得出相位补偿及相位滤波后的方位频域数据;所述相位补偿函数用于对转置 后的方位向傅里叶变换后数据矩阵对应的元素进行四次相位补偿和五次相位补偿,所述相 位滤波函数用于对转置后的方位向傅里叶变换后数据矩阵对应的元素进行二次相位校正 和三次相位校正;在得出相位补偿及相位滤波后的方位频域数据之后,在GPU端,对相位补 偿及相位滤波后的方位频域数据进行方位向逆傅里叶变换,得出相位补偿及相位滤波后的 方位时域数据;在方位时域针对相位补偿及相位滤波后的方位时域数据,补偿由相位滤波 函数引入的高次相位,得出残余高次相位补偿后的方位时域数据;对残余高次相位补偿后 的方位时域数据进行方位deramp处理,对方位deramp处理后的方位时域数据进行方位向 傅里叶变换,得到聚焦后的SAR图像数据。
2. 如权利要求1所述的基于GPU的弹载SAR前斜视并行成像方法,其特征在于,在步骤 1中,在CPU端设置雷达的工作参数;所述合成孔径雷达的工作参数包括合成孔径雷达的常 量参数和合成孔径雷达的工作向量,所述合成孔径雷达的常量参数包括:合成孔径雷达方 位向采样点数Na、合成孔径雷达距离向采样点数队、合成孔径雷达距离向采样率Fs、合成孔 径雷达发射信号的线性调频率y、合成孔径雷达发射信号的脉冲宽度Tp、合成孔径雷达发 射信号的载频频率f。、合成孔径雷达斜视角0 〇、弹体飞行速度V、合成孔径雷达波束中心线 扫过目标时的斜距&、多普勒中心频率fd。、光速c,所述合成孔径雷达的工作向量包括距离 时间向量仁、方位时间向量乜、距离向频率向量f;、方位向频率向量fa。
3. 如权利要求2所述的基于GPU的弹载SAR前斜视并行成像方法,其特征在于,在步骤 1之后,设置凡个线程块,在Na个线程块中,第i个线程块用于对原始回波数据矩阵的第i 行进行距离向处理,i取1至Na,Na为方位向采样点数。
4. 如权利要求2所述的基于GPU的弹载SAR前斜视并行成像方法,其特征在于,所述步 骤2的具体子步骤为: (2. 1)在GPU端,对全局内存中的SAR原始回波数据矩阵做距离向傅里叶变换,得到距 离频域方位时域数据矩阵,距离频域方位时域数据矩阵是大小为NaX队的矩阵; (2. 2)在GPU端,对距离频域方位时域数据矩阵进行距离向匹配滤波处理,实现距离向 脉冲压缩,得出距离向脉冲压缩后数据,距离向匹配滤波处理的过程包括构造频域匹配滤 波的参考函数、以及频域匹配滤波的参考函数与距离频域方位时域数据的相乘运算; (2. 3)在GPU端,在距离频域对距离向脉冲压缩后数据进行距离走动校正及多普勒中 心补偿,得出距离走动校正及多普勒中心补偿后数据; (2.4)在GPU端,对距离走动校正及多普勒中心补偿后数据进行方位向傅里叶变换,得 出距离方位二维频域数据; (2. 5)在GPU端,对距离方位二维频域数据进行距离弯曲校正和二次距离向脉冲压缩, 得到二次距离向脉冲压缩数据; (2. 6)对距离方位二维频域数据依次进行距离向逆傅里叶变换和方位向逆傅里叶变 换,得出距离方位二维时域数据,距离方位二维时域数据以矩阵的形式进行存储,距离方位 二维时域数据矩阵是大小为NaX队的矩阵。
5. 如权利要求2所述的基于GPU的弹载SAR前斜视并行成像方法,其特征在于,在步 骤3中,在GPU端,从距离方位二维时域数据矩阵的第1行向上扩展至少一行长度为队的 全零向量,并从距离方位二维时域数据矩阵的最后1行向下扩展至少一行长度为队的全零 向量,得出大小为Na' X队的方位向补零扩展后的距离方位二维时域数据矩阵。
6. 如权利要求2所述的基于GPU的弹载SAR前斜视并行成像方法,其特征在于,所述步 骤4的具体子步骤为: (4. 1)对方位向补零扩展后的距离方位二维时域数据矩阵进行方位向傅里叶变换,得 出方位向傅里叶变换后数据矩阵,对方位向傅里叶变换后数据矩阵进行转置,得出转置后 的方位向傅里叶变换后数据矩阵; (4. 2)设置队个线程块,在^个线程块中,第j个线程块用于对转置后的方位向傅里 叶变换后数据矩阵的第j行进行方位向处理,j取1至队; (4. 3)在GPU端,在方位频域,针对转置后的方位向傅里叶变换后数据矩阵每个元素, 计算对应的高次相位补偿函数和高次相位滤波函数,将转置后的方位向傅里叶变换后数据 矩阵每个元素依次乘以对应相位补偿函数和相位滤波函数,得出相位补偿及相位滤波后的 方位频域数据;所述相位补偿函数用于对转置后的方位向傅里叶变换后数据矩阵对应的元 素进行四次相位补偿和五次相位补偿,所述相位滤波函数用于对转置后的方位向傅里叶变 换后数据矩阵对应的元素进行二次相位校正和三次相位校正; (4. 4)在GPU端,对相位补偿及相位滤波后的方位频域数据进行方位向逆傅里叶变换, 得出相位补偿及相位滤波后的方位时域数据;在方位时域针对相位补偿及相位滤波后的方 位时域数据,补偿由相位滤波函数引入的高次相位,得出残余高次相位补偿后的方位时域 数据;对残余高次相位补偿后的方位时域数据进行方位deramp处理,对方位deramp处理后 的方位时域数据进行方位向傅里叶变换,得到聚焦后的SAR图像数据。
【文档编号】G06F19/00GK104459693SQ201410719487
【公开日】2015年3月25日 申请日期:2014年12月1日 优先权日:2014年12月1日
【发明者】梁毅, 邢孟道, 杜凡, 李震宇 申请人:西安电子科技大学