0 引 言
临近空间作战平台相对于一般飞机和卫星具有飞行高度适中、生存概率高、威胁作用大、部署速度快、机动能力强等独特的优点[1?3]。雷达探测是临近空间目标探测的主要技术手段[4],而多基地雷达探测系统在体制上具有隐蔽性、生存能力、抗干扰能力、反隐反侦察能力、反干扰能力强等技术优势[5]。
工作于UHF/VHF频段的多基地雷达探测系统用于高超音速临近空间目标探测,能够克服临近空间高超音速目标所特有的黑障效应,如果再采用一定形式的扩频技术,例如采用二相编码脉冲信号,则使得敌方侦察雷达探测到发射机的概率进一步下降,从而使探测系统具有卓越的生存能力,是一种典型的低截获概率雷达。但是由于临近空间高超声速目标具有高速、高动态的特性[6],而且在一个天线波束内的驻留时间很短,各接收站必须具备对接收信号进行快速检测的能力,及时发现目标。探测系统的工作实时性是系统需要重点设计和保障的技术指标。基于FFT的多通道频域并行捕获方法,无论是基于FPGA的硬件电路还是基于CPU并行多路FFT的软件实现,效果均不理想。鉴于GPU具有高度并行化的特点,如果对并行算法进行改进后将其应用于多基地雷达高超音速临近空间目标探测系统,则可以实现临近空间高动态回波的快速捕获。
1 GPU用于高速高动态回波捕获的基本原理
GPU是一种拥有极强的计算能力和较高的存储器带宽的多线程多核处理器,GPU于1999年由NVIDIA公司提出,并以大大超过摩尔定律的速度高速发展[7]。2003年,Moreland 等人利用常规算法在GPU上实现了快速傅里叶变换[8](FFT)。NVIDIA推出统一设备架构(Compute Unified Device Architecture,CUDA)后,使其强大性能得到充分的发挥,应用领域也不断扩展。CUDA的架构组成如图1所示[9]。
将GPU应用于信号快速捕获时,采用基于FFT的多通道频域并行捕获方法,将一定时间长度的多通道多普勒补偿后的数据送入GPU显存,利用GPU中的众多多线程处理器进行并行FFT处理及相关计算,将计算结果返回CPU,进行峰值检测,获得多普勒频率和回波延迟时间的估计值,进而完成目标检测和参数估计。
2 基于GPU的回波捕获方案设计
2.1 确定并行通道数目
对于双基地雷达探测系统,目标回波信号的多普勒频率为:
[fd=2vλcosφcos β2] (1)
多普勒变化率为:
[f′d=aλcosφcos β2] (2)
式中:[v]为目标在双基地平面内的运动速度;[a]为加速度;[β]为双基地角;[φ]为目标速度方向与双基地角平分线的夹角。
由式(1),式(2)可见,临近空间高超声速目标的多普勒频率和多普勒变化率不仅与目标有关,还与在双基地雷达中的位置关系有关。
例如,设临近空间高超声速目标在双基地平面内的速度最大值为5.1 km/s,选取探测频率为300 MHz,双基地角[β]的范围是[3°,157°],根据式(1)可得多普勒的捕获空间为[-10,10] kHz。适当增加伪码长度,可以提高伪码捕获增益,增加调制脉冲时长,降低回波信号剧烈波动带来的影响。
一般情况下,当多普勒频率搜索间隔等于一个脉冲时长的倒数时便能满足信号捕获的要求,由于临近空间高动态回波信噪比较低,应减小多普勒搜索步长,选择500 Hz~1 kHz。
2.2 前期处理
将采样后的中频信号分别与各通道的本地复载波相乘,对多普勒频偏进行补偿。产生本地伪码信号,并对其进行内插,使内插后的本地伪码长度与剥离载波后的中频信号采样数据长度一致。然后将补偿后的中频信号和本地伪码信号从CPU内存拷贝到GPU显存中。由于GPU每次只能调用一次CUFFT库,但是在一个CUFFT中可以同时做多个FFT,因此需要将输入信号与不同初相位的PN码对应码位相乘后再进行数据复合,形成串行数据块,以便利用一个CUFFT做多个FFT,实现FFT的并行运算。
2.3 GPU端信号捕获
利用CUFFT库函数实现(D+1)路FFT并行运算,分别对各通道数据与本地伪码信号进行FFT运算[10]。将本地伪码信号FFT处理后的结果取共轭,并分别与FFT处理后的D路并行中频信号相乘,乘法运算可以利用GPU核函数设计的并行算法运算;将频域相乘后的结果再次调用CUFFT,完成IFFT运算,对运算结果并行取模。
2.4 峰值搜索
GPU的逻辑判断执行能力较差,寻找相关峰值、捕获判决的任务由CPU完成。进行捕获判决后,匹配时得到的结果为含有伪码相位信息、具有相关峰值的谱线;而不匹配时的结果相当于对回波信号进行了一次伪码调制,不会得到峰值信息。将相关峰值最大时刻与发送信号的初相位进行比较,即可获得回波信号的伪码粗相位,而由峰值所在的通道数可得到多普勒估计值。
2.5 设计方案
综上所述,可以设计出利用GPU进行高动态回波快速捕获的原理框图,如图2所示。
2.6 软件设计
CUDA编程模型是将进行串行计算和逻辑运算的CPU(主机)和负责高速并行计算的GPU(设备)由PCI?E总线连接。在编程过程中,必须对程序作详细的规划,对串、并行部分进行合理区分,并利用CUDA完成并行执行部分。由于CPU和GPU之间的数据传递需要耗费一定的时间,在进行CUDA编程时,应尽量减少两者之间的数据传递,提高计算效率[10]。理想情况下,CPU串行代码只负责内核函数的启动与清理,而由GPU完成尽量多的计算任务。
软件实现主程序流程如下:
(1) 初始化数据。利用Malloc为内存申请空间,用于存储本地伪码信号、中间处理结果;将回波数据和内插后的本地伪码读入内存,利用cudaMalloc在GPU端申请空间,用于存储由CPU读入的数据和计算结果;
(2) 对CUDA内核的FFT进行初始化,并设置运算点数。设并行通道数为D,每路信号采样点数为N,则运算点数为(D+1)N;
(3) 将CPU内存中多通道多普勒补偿后的数据送入GPU显存;
(4) 调用CUFFT完成多路并行快速傅里叶变换,用乘法核函数完成并行乘法运算,然后对各运算结果并行取模;
(5) 将计算结果读回CPU,完成捕获判决。相关峰最大值低于门限值,判定无目标;相关峰最大值高于门限值,判定有目标,并计算目标的粗多普勒值和码相位。将该值作为载波NCO的初始值,进行精确捕获,则可进行连续跟踪,并获得精确的多普勒频率用于速度解算。
3 方案验证与测试
为了验证方案的可行性,在实际GPU平台上对基于FFT的多通道频域并行捕获的高动态回波捕获性能进行了测试。测试过程中,兼顾搜索效率和参数估计精度,在保证系统工作的实时性和有效性的前提下,提高目标检测概率和参数估计的精度。选择探测系统的探测信号的频率为300 MHz,双基地角[β]的变化范围为[3°,157°],临近空间高超声速目标在双基地平面内的速度最大值为5.1 km/s,根据式(1)可以计算出,多普勒的捕获空间为[-10,10] kHz。 取回波信号的多普勒频率为[fd=]-4 045 Hz,信噪比为-20 dB,搜索通道频率间隔为100 Hz。共测试三组数据,其中一组捕获数据,两组跟踪数据。部分程序代码如图3所示,测试平台、参数和测试结果如表1所示。
码速率:6.138 MCPS,折合6.5采样点/码片,以一个伪码周期为相关积分时间计算测试点数。根据不同阶段进行不同频率的重采样,调节测试数据点数。
测试得到的相关峰值最大值的通道数为141(与理论分析相同),多普勒估计粗值为4 000 Hz。
利用GPU进行400路4 096数据点的并行计算时间可以控制在200 ms内。当数据量较大时,并行运算速度可以达到串行的10倍左右。在进行临近空间高超声速目标检测时,可以适当增加并行通道数,提高捕获精度。利用GPU可以在满足一定精度的前提下快速完成高动态回波信号捕获,充分保证目标探测的实时性。
4 结 语
由于临近空间高超声速目标的特殊性,对探测系统的实时性提出了更高的要求,而对于较长码周期的扩频探测信号就更难实现。本文根据GPU具有高度并行化、多线程多核的硬件结构特点,将其应用于临近空间高动态回波信号的捕获。分析和测试验证表明,利用GPU实现的基于FFT的多通道频域并行捕获方案,可以实现临近空间高动态回波信号的实时捕获,进而完成目标的快速检测与参数估计。
参考文献
[1] DOMINGO M, RIVAS F, PEREZ J, et a1. Computation of the RCS of complex bodies modeled using NURBS surfaces [J]. IEEE Antennas & Propagation Magazine, 1995, 37(6): 36?47.
[2] 佟周.美国关注临近空间作战[J].国际航空杂志,2006(5):60?63.
[3] CHRZANOWSKI E J. Active radar electronic countermeasures [M]. New York: Artech House Publishers, 1990.
[4] 肖松,谭贤四,王红,等.国外临近空间高超声速飞行器探测系统研究[J].飞航导弹,2012(6):28?31.
[5] 廖玉忠,刘付显.临近空间双基地雷达抗干扰能力分析[J].舰船电子对抗,2009,32(5):36?40.
[6] 关欣,赵静,何友.临近空间高超音速飞行器跟踪技术[J].四川兵工学报,2011,32(8):4?6.
[7] 丁鹏.基于GPU的通用并行计算库的设计与实现[D].成都:西南石油大学,2007.
[8] 张舒,褚艳利,赵开勇.GPU高性能运算之CUDA[M].北京:中国水利水电出版社,2012.
[9] 陈源,王元钦,刘莹.基于GPU加速的扩频信号捕获方法[J].中国科学院研究生院学报,2012,29(2):240?245.
[10] SANDERS J, EDWARD K. CUDA by example: An introduce to general?purpose GPU programming [M]. Beijing: China Machine Press, 2011.
[11] MORELAND K, ANGEL E. The FFT on a GPU [C]// Procee?dings of 2003 the ACM Siggraph/Eurographics Conference on Graphics Hardware. San Diego: ACM, 2003: 112?119.