基于多核DSP的雷达信号分选设计与实现
2020-06-16秦令令陆满君张文旭
秦令令, 陆满君, 陈 涛,3, 张文旭,3,4
(1.哈尔滨工程大学信息与通信工程学院,黑龙江 哈尔滨150001;2.上海无线电设备研究所,上海201109;3.哈尔滨工程大学工业和信息化部先进船舶通信与信息技术重点实验室,黑龙江 哈尔滨150001;4.南京航空航天大学电磁频谱空间认知动态系统工信部重点实验室,江苏 南京211106)
0 引言
雷达信号分选是从随机交错的信号流中分选出不同雷达的脉冲信号,并给出不同雷达信号的相关参数,为后续识别雷达信号的类型、用途、威胁程度等提供帮助的过程。随着雷达技术发展越来越完善,环境中雷达信号数量不断增多,各种复杂调制的雷达信号充斥空间,电磁环境也越发复杂,这给雷达信号分选带来了巨大的挑战。
通常雷达信号分选是由预分选和主分选两部分构成的[1]。预分选通常使用聚类算法对脉冲描述字(PDW)中的载频(CF)、脉宽(PW)、到达角(DOA)等参数进行聚类,得到多个脉冲序列,从而稀释脉冲流,降低主分选压力。常用的聚类算法有K均值(K-means)聚类算法[2-4]、模糊C均值聚类算法[5-6]、网格聚类法[7-8]、基于密度的聚类方法(density based spatial clustering of application with noise,DBSCAN)[9]及其相关改进算法等。主分选则是利用脉冲序列的到达时间(TOA)信息估计脉冲重复间隔(PRI),进而达到信号分选的目的。主分选的算法主要有直方图法[10]、PRI变换算法[11]、平面变换法[12]等。其中,常用的直方图法包括累积差值直方图法(cumulative difference histogram,CDIF)和在CDIF基础上改进的序列差值直方图法(sequence difference histogram,SDIF)。
在实际应用中,雷达信号分选需要在硬件平台上实现对脉冲的实时处理。信号密度不断增大的同时,也要求信号分选拥有更高的效率,处理更多的脉冲。
王洪迅等[13]为减少信号分选所用时间,提出一种流水的信号分选计算方式。该方法先输入较短时间长度的脉冲,将PRI较小的雷达信号先分选出来,同时进行时间上的累积,累积到一定长度,再继续分选PRI大的雷达信号。王春芸[14]提出利用数字信号处理器(DSP)芯片TMS320C6678实现雷达信号分选的并行处理方法,使用DSP中的两个核,0核进行脉冲预分选,并将预分选结果传输给1核进行主分选,两核采用数据流模式进行并行处理。可以看出TMS320C6678的八个核没有完全使用,计算能力开发也不充分。吕新正等[15]提出一种新的应用于硬件的信号分选方法。主分选同时利用直方图法和PRI变换法,采用四片DSP并行处理来提高运算速度,其中一片DSP用于预分选,其余用于主分选。但是多片DSP并行处理需要不断进行数据搬移,且DSP之间通信也比DSP内部通信更耗费时间。
本文提出一种以八核 DSP芯片TMS320C6678作为主处理器,实现雷达信号分选的多核并行处理架构,尽可能使用更多的核,实现快速信号分选。
1 信号分选算法
1.1 预分选
如今电磁环境中脉冲数量激增,在时域、频域和空域上严重交叠,若直接进行主分选,则主分选的压力太大,无法及时有效地获取辐射源信息。因此,在进行主分选前,需要对脉冲流进行稀释,即对脉冲流进行聚类。本文使用动态K-means算法对PDW中的DOA、CF和PW三类信息进行三级聚类预分选。
动态K-means聚类算法不需要预先规定聚类个数,而是以第一个脉冲数据作为第一个簇中心。假设脉冲样本集X={xi,i=1,2,…,N},N为脉冲个数,xi∈R,R为实数集;现有簇中心集合C={ck,k=1,2,…,M},M为现有类中心个数,ck∈R。 计算脉冲xi与簇中心ck的欧氏距离
将距离在容差范围内的脉冲归为一类,若该脉冲与现有簇中心的距离均较远,则将其划分为新类,并将其作为新的簇中心,直到所有数据点聚类完成,最后舍弃脉冲数过少的类别,剔除脉冲数据中的孤立点。
设脉冲样本xi的参数为{θA,i,tw,i,fc,i},分别是其到达角、脉宽和载频,形成一个脉冲描述字。第k个簇中心也可表示为 {θA,k,tw,k,fc,k}。
判断脉冲样本xi是否属于第k类的逻辑判据为
式中:LA,i,k,Lw,i,k,Lc,i,k分别为第i个脉冲的到达角、脉宽和载频与第k个聚类中心中对应参数的欧氏距离;αA,αw,αc分别为设定的到达角、脉宽、载频阈值。若F为1,则表示脉冲样本xi属于第k类,否则,不属于该类。
算法流程如图1所示。
图1 动态K-means聚类预分选流程图
1.2 主分选
主分选采用PRI变换算法。PRI变换算法是基于自相关函数的一种求取脉冲重复间隔的方法。因为PRI调制的雷达信号属于周期信号,所以其自相关函数值也是周期性的。但是利用自相关的方法会出现真实PRI值倍数的谐波,为抑制谐波的产生,PRI变换算法在自相关函数的基础上引入了指数因子。
脉冲信号流可表示为
式中:δ(t)代表t时刻的单位冲激函数;tn为第n个脉冲的到达时间;N为脉冲总数。对s(t)进行自相关变换,并引入指数因子,得到脉冲信号流的PRI变换表达式为
式中:τ为相邻两脉冲的到达时间的差值。
将式(3)代入式(4),可得
式中:n和m为脉冲编号;exp(2πj tn/(tn-tm))是相位因子,用来解决谐波问题。
根据设置的参数,利用各脉冲的到达时间序列计算脉冲重复间隔范围 [τmin,τmax],其中τmin和τmax分别为脉冲重复间隔的最小值和最大值。将脉冲重复间隔范围平均分为K个区间,每个区间表示一个PRI箱,PRI箱的宽度
PRI变换的谱图可以用Dk的幅值来表示,在真实的PRI处将出现峰值。
按照上述算法估计PRI时,若PRI的抖动量较大且超过PRI箱的宽度,脉冲会分散在以平均PRI为中心的PRI箱的附近箱中,使得PRI谱无明显的峰值,从而无法得到真实的PRI值。
为了适应PRI抖动过大的情况,必须使PRI箱的覆盖范围超过PRI的抖动幅度,尽量使得抖动的PRI落在一个PRI箱中。所以在计算出TOA差所属PRI箱后,以该箱为中心,同时将该脉冲装入左右各两个箱内,共计五个箱,即若计算得到该TOA差落在第k个PRI箱中,则重新计算k-2,k-1,k,k+1和k+2箱的谱值,这样可使分散的PRI得到集中,PRI谱图中出现峰值,得到真实PRI值。
1.3 脉间调制类型识别
常见的脉间调制雷达类型有常规雷达、重频抖动雷达、重频参差雷达、重频滑变雷达、重频组变雷达,可以根据其脉间调制特性进行识别。
(1)常规雷达
常规雷达信号的CF,PW和PRI是固定的,其中PRI的抖动范围一般在1%以内,所以在识别时,若脉冲序列PRI的抖动率小于1%,即可判定为常规雷达信号。
(2)重频抖动雷达
重频抖动雷达信号的CF、PW是固定不变的,但PRI值是在PRI中心值上下浮动的,抖动率一般为(10~30)%。PRI变化规律满足
式中:τi为脉冲序列中第i个脉冲间隔;τcent为PRI中心值;αi为当前脉冲间隔的抖动量。
对重频抖动雷达信号进行识别时,需要统计其脉冲序列的脉冲间隔抖动率,计算公式为
式中:r为抖动率;tDTOA为脉冲序列的TOA的一级差;tDTOA,max和tDTOA,min分别为一级差的最大值和最小值;mean(·)为求平均函数。若r超过设定的阈值,即可判定为重频抖动雷达信号。
(3)重频参差雷达
重频参差雷达信号也是一种PRI调制雷达信号,它的一个帧周期内存在多个子周期,且子周期的顺序不变。脉冲序列的脉冲间隔是以帧周期进行循环的,其PRI调制规律满足
式中:τframe为帧周期,由p个子周期构成;τl为第l个子周期。
因为参差雷达的脉冲是以帧周期进行循环的,所以利用PRI变换算法得出的最高谱值对应的是参差雷达信号的帧周期。序列搜索时,利用帧周期进行多次搜索,直到搜索不到有效脉冲序列,即可得到与子周期个数相同的脉冲序列。所以,当利用一个PRI搜索出多个脉冲序列时,就需要进行参差雷达信号的识别。
假设一个脉冲序列的到达时间为A={ai,i=1,2,…,n},n为脉冲个数,与另一脉冲序列的到达时间B={bi,i=1,2,…,n}进行参差校验。表达式为
式中:uAB为对应脉冲TOA差的平均值;σAB为对应脉冲TOA差的标准差。
若A和B对应的两个脉冲序列为PRI相同的两个独立信号,则TOA差的标准差σAB与脉冲序列PRI的抖动量相近;若这两个信号为同一部参差雷达的脉冲序列,则σAB远小于PRI抖动量。
(4)重频滑变雷达
重频滑变雷达信号的PRI值是按照一定规律在变化范围内连续变化的,变化范围一般为PRI中心值的(20~30)%。其中线性滑变雷达信号是较为特殊的一种,其PRI在变化范围内单调递增或递减,调制规律满足
式中:β为PRI增量;m为滑动步数。
线性滑变雷达信号识别方法与参差雷达相似,进行PRI变换得到m步滑动的PRI和,经过序列搜索得到m个脉冲序列,同样进行参差校验,确定多个脉冲序列是否来自同一部雷达。将多个脉冲序列的脉冲按TOA进行排序,计算子周期,对子周期求取一级差,若一级差相近,则为线性滑变雷达信号,否则为参差雷达信号。
(5)重频组变雷达
重频组变雷达信号包含多个固定PRI的脉冲组,各脉冲组的PRI进行迅速转换,CF和PW则是固定的。
PRI变换可依次得到各脉冲组的PRI,序列搜索时,每次都会得到一个常规雷达信号。全部分选完成后,若多组脉冲序列被认为是常规雷达信号,则进行组变雷达信号的判定。
判断方法是将多个脉冲序列按照起始脉冲TOA排序,为了防止搜索过程中存在误差,一般偏移几个脉冲作为起始脉冲进行排序;取出对应序列结尾脉冲的TOA值,判断这些脉冲序列时域上是否存在接续关系;将存在接续关系的脉冲序列定为同一部重频组变雷达的信号,记录雷达信号相关参数,其余则判定为常规雷达信号。
2 DSP多核并行处理技术
本文以TMS320C6678为主处理器实现雷达信号分选的多核并行处理。TMS320C6678芯片是基于Keystone架构的多核数据处理器,内置八个DSP核,每个核最高支持1.25 GHz的数据处理速度,并支持浮点运算。同时,该芯片内置大量的通信接口,支持核间、核与外设、核与输入/输出(I/O)端口的通信。
2.1 并行处理模式
TMS320C6678多核DSP提供两种任务并行处理模式:主从(master slave)模式和数据流(data flow)模式。
主从模式一般将0核作为主核,其它作为从核。主核对DSP的任务流程及数据分发和整合的过程进行控制,并给从核分配对应的任务。从核处理完成后,主核统一将从核的处理结果整理输出。该模式适用于可分割在单核独立运行的任务。
数据流模式则是一种分段流水式的工作模式,多个核的地位相同,每个核负责一部分数据处理工作,且各核的数据具有递进性,即前一个核的处理结果将传递到下一个核进行后续处理。
如今大部分信号分选多核并行实现都选用数据流模式,只用多个核中的两个核来分别进行预分选和主分选,没有充分发挥多核DSP的运算能力。本文选取主从模式,0核控制任务流程并进行一部分数据处理,从核根据主核的指令完成对应的操作,使用尽可能多的核来完成信号分选工作。
2.2 核间同步方式
进程间通信(IPC)组件是SYS/BIOS操作系统处理核间通信的组件,本文采用最小使用方式来实现主从模式的多核并行处理。这种方式是通过核间的通知机制来实施的,携带的信息量很少,只有32 bits,一般用于核间的简单同步。核间同步的具体通信流程为:
a)在“.cfg”文件中进行配置,配置的内容包括设置使用的DSP核和应用模式,开启IPC Notify传输,创建信号量;
b)在八个核的主函数中调用函数IPC_start()进行IPC通信的默认配置;
c)各核利用函数注册事件,并表明其反馈函数;
d)主核利用发送事件函数依次给各从核发送事件,触发从核的反馈函数,其中,发送事件函数中应包含接收事件的从核的核号和需要发送给从核的信息;
e)从核完成工作后向主核发送事件,触发主核的反馈函数,主核的反馈函数统计完成工作的从核数量,并在七个从核全部完成工作后,抛出信号量,主核处理线程接收到信号量,整合从核的输出结果。
图2为主从模式下,利用最小使用模式,主核和一个从核之间核间通信的流程示意图。
图2 主从模式核间通信流程示意图
2.3 软件架构设计
雷达信号分选首先对脉冲序列进行分类,然后对各类中的脉冲序列的TOA值进行进一步的计算,实现去交错,并最终得到雷达辐射源信号。综合信号分选的流程,采用主从模式进行分选。图3为信号分选的流程图。
如图3所示,0核作为主核,首先接收PDW数据,并利用动态K-means聚类算法稀释脉冲流,形成若干PDW分组。由于聚类的各个输出之间是独立的,可以由0核将聚类的输出以类为单位平均分配给各从核,并通过发送事件函数通知各从核需要处理的PDW分组个数。从核接收到反馈函数抛出的信号量后进行PRI变换,根据估计出的PRI值进行脉冲序列搜索,并在完成脉冲序列脉间调制类型识别后发送事件给主核。主核统计完成运算的从核数量,若七个从核全部完成运算,则对分选结果进行整合并输出。
3 仿真实验
假设同时输入六部雷达信号,雷达的参数如表1所示。
表1 雷达参数设置
采用本文提出的雷达信号分选并行处理架构,以主从模式实现多核并行处理,信号分选耗时29.45 ms,分选结果如表2所示。可知,该方法可以有效分选这六部雷达信号,同时信号载频误差在(-1~+1)MHz范围内,脉宽误差在(-1~+1)μs范围内,到达角误差在-0.5°~+0.5°范围内,脉冲到达间隔误差在(-1~+1)μs范围内,分选结果较为准确。
表2 信号预处理分选结果
采用相同的输入雷达信号,以数据流模式实现多核并行处理,信号分选耗时43.24 ms。可知,与数据流模式相比,采用主从模式进行信号分选可以节省时间,脉冲数量越多,节省的时间也相应增多。
4 结论
本文根据实际需求,以TMS320C6678多核DSP为平台,采用预分选和主分选相结合的信号分选结构,以主从模式实现多核并行处理。充分利用DSP处理器多核资源,实现了雷达信号分选的并行处理。与数据流模式相比,有效缩短了信号分选所用时间。