APP下载

基于置信度的S 模式信号随机多位纠错技术*

2015-12-25唐小明

电讯技术 2015年9期
关键词:置信度强力校验

张 涛,唐小明,金 林,2

(1.海军航空工程学院,山东 烟台 264000;2.南京电子技术研究所,南京21009)

1 引言

为改善传统A/C 模式存在的有限的信息编码以及易受到窜扰和混扰影响的不足而提出的S 模式已被国际民航组织(International Civil Aviation Organization,ICAO)接受作为二次监视雷达的行业标准,并在世界范围内得到了广泛的应用。飞机的S模式应答采用脉冲位置调制方式(Pulse- position Modulation,PPM),其抗干扰能力较弱,仅比脉冲调制稍好。在复杂的电磁环境中,S 模式应答报文很容易受到干扰而产生误码,其中A/C 模式应答信号就是一个重要的干扰源。日益繁忙的空中交通运输需要对飞机进行连续实时的监视,这对S 模式接收解码的纠错能力提出了要求。S 模式应答报文中包含24 位循环冗余校验(Cyclical Redundancy Check,CRC)码来对报文进行检错,但基本不具有纠错能力。文献[1]阐述了纠正小于24 位突发错误的保守纠错技术及纠正汉明距离小于6 的随机错误的强力纠错技术。文献[2-5]在纠错技术上并没有对文献[1]所阐述的技术进行实质上的突破,仅进行了应用拓展,或将两种纠错技术结合进行使用。文献[1]中的纠错技术是两个独立的技术,两者结合使用并不能对突发错误和随机错误并存的报文进行纠错,而这种突发误差叠加上随机错误的情形在现实中却是普遍存在的。本文针对文献[1-5]中纠错位数及纠错跨度的不足研究针对多位随机错误的强力纠错技术,并给出工程可应用的保守-强力联合纠错处理流程。

2 S 模式应答信号校验码

航空器上的S 模式应答机在收到询问信号后以1090 MHz的频率发送应答信号。S 模式使用24 位CRC 校验码来保护数据,校验码用前32 b(56 b数据块)或88 b(112 b数据块)根据式(1)生成放在AP(Address Position)字段中。接收方在收到信息后解出报文并根据校验码判断是否正确接收,如果发生错误,可采用纠错技术进行报文作纠错处理[5-6]。

3 置信度判定法则

在对目前主流纠错技术进行对比研究后发现:不论是保守纠错技术还是强力纠错技术,都是在对数据位的置信度准确判定的前提下进行的,所以一个好的置信度判定法则对纠错性能的影响至关重要。经典的判定方法是基线多样点算法,文献[7]分析了其不足并进行了改进。本文采用多样点判定的思想,在信号数字化后进行多点采样分析进行置信度判定。

根据S 模式应答信号的特点,采用主流8 MHz时钟采样,由于应答信号的数据率为1 Mb/s,那么每个信息位将有8个采样值(1 或0);将这8个采样值分为两组,前4个采样值和后4个分别为一组,分别对应前一个chip 和后一个chip;一组采样值中如果1 的个数大于等于3个,则判定其对应的chip 的值为1,否则为0;那么一个信息bit 前后两个chip 的值可能出现四种情况,对这四种情况的判定准则如表1 所示。

表1 置信度判定准则Table 1 Bit and confidence declaration rule

为了评估置信度判定准则的有效性,我们接收空中的真实ADS-B[1]信号对其进行验证。验证的思路为:对低置信度比特的所有可能组合做CRC 校验,如果某种组合校验成功且在解析出的航迹上不出现野值,则说明该报文被成功纠错,以成功纠错的比例来评估该法则的有效性。

我们利用自研的ADS-B 接收机(接收S 模式应答DF17 号报文,可以得到目标位置等信息,方便验证;性能和国际上主流ADS-B 接收机(SBS-3)相当)接收空中真实的信号,将检测到的ADS-B 报文根据置信度判定准则对每一个比特都打上置信度标记,然后将报文和置信度一起传送到上位机。上位机根据置信度对低置信度位数小于18 位(考虑到处理能力和时间)的10 000条报文进行了强力纠错,成功纠错的报文为9824 条,比例为98.24%。实验结果表明该置信度判定法则实用有效。

4 CRC 校验纠错方法

传统的保守纠错技术可对由A/C 应答交叠引起的突发错误进行有效纠错。单个A/C 应答持续时间20.75 μs对S 模式应答造成干扰引起的误码的跨度最多为21 b,小于24 b,且造成的低置信度比特个数一般都小于12个,根据文献[3]的保守纠错技术,只要低置信度判定准确,保守技术就能够找出错误图样,完成纠错。而文献[1]中的强力纠错方法考虑到纠错的唯一性以及纠错处理能力,只对随机分布不超过(d-1)b 的错误图样,d=6 表示汉明距离。我们通过接收实验做了统计,结果表明:在真实环境中,低置信度比特个数超过6 位的情况是非常频繁的。对实际应用来说,这样的纠错能力并不能很好地满足要求。

统计实验(真实环境):接收S 模式DF17 号报文,对满足报头检测且数据块(112 b)中低置信度小于30 b的10 000条报文进行统计,结果为既不能采用保守技术纠错也不能采用传统强力技术纠错的报文数量占总报文数的40.65%。这个数据给了我们改进纠错算法的空间。如何在应对突发错误之外增加对随机多位纠错的能力是本文研究的重点。

对上述10 000条报文作误码统计如图1 所示。解码完全正确的只有33.88%,低置信度比特数在10个及以下的占69.81%,而低置信度比特数在20个及以下的占86.31%。

图1 S 模式应答报文低置信度统计Fig.1 Statistics of low confidence bits with mode S reply

统计数据表明,如果能增加对随机误码比特的检纠错能力(至10 位以上),将大大增加对S 模式应答信号的解码率。但每增加一位的纠错能力将花费2 倍的时间,实时纠错要求在一个报文的时间内(短报文时间长度为64 μs,长报文时间长度为120 μs)完成。所以随机多位误码纠错的瓶颈是处理时间的限制,如何加快处理速度是提升纠错能力的关键。

每一个错误位置对应一个单位校正子,对这些单位校正子进行组合以后得到一个组合的校正子。如果已经正确地完成了置信度判定,那么数据里所有可能的错误应该只出现在低置信度位上。于是将校正子对应的低置信度位作取反处理,进行CRC 校验,对所有校正子处理(假设只有一个成功匹配),把这个校正子对应的位取反,则完成纠错[2]。如果接收报文中有n个低置信度比特,则校正子的个数为。这意味着每增加一位的纠错能力,将付出2 倍的计算量。如果要实现20 位的纠错能力,将有210×210=1 048 576次取反并进行CRC 校验的运算量,在实时处理的要求下,需要在一条S 模式报文的时间内完成,这样的运算量对于现在的硬件处理来说是无法完成的(1 ns内运算10 次)。

本文所述方法的思路是避开保守纠错的原理限制,同时寻求强大硬件的支持提高纠错运算的速度,并对可能引入的CRC 正确的伪报文在航迹上作滤除处理以保证在多位随机纠错情况下的正确性。本文采用的方法是利用高速显卡上图形处理器(Graphics Processing Unit,GPU)强大的并行处理能力,将上述运算量分配到具有多个英伟达公司于2007 年发布、可使用类C 语言进行通用计算的计算统一设备架构(Compute Unified Device Architecture,CUDA)核心运算单元上作取反和CRC 校验处理。具体方法是:CPU 根据报文中低置信度比特的个数n 计算纠错的运算量(2n 次取反和CRC 校验),将计算任务提交给GPU,GPU 自动将计算任务分配给CUDA 核心,若某一个核心将报文的某几位低置信度比特取反后通过了CRC 校验,则向指定的内存写入那几位低置信度比特的标记。在GPU 完成计算任务后,CPU 检查指定的内存,若为空白,则表明纠错未能成功;若有低置信度的标记,则将对于位置取反,以完成纠错。采用496个CUDA 核心可对18 位随机错误码进行实时纠错,按上述统计结果,通过强力纠错处理可实现高达83.37%的解码率,较文献[1]中的纠错方法提高了23.72%。

目前,英伟达已推出了GTX980,包含2048个CUDA 核心,速度更快,可以完成更高位数的实时强力纠错处理。值得注意的是,并非所有情况都适合GPU 进行处理:在低置信度比特个数小于某个数N时(基于本文所采用的硬件,N=8),采用CPU 纠错速度更快,因为采用GPU 纠错会涉及到CPU、GPU、内存、显存之间的相互通信,通信的时间会抵消掉并行运算所节省的时间。所以应根据实际情况动态调整纠错运算单元的配置:在n≤N 时,仅用CPU 纠错;在n >N 时,再采用GPU 纠错。

利用上述强力纠错方法虽然可以大大增加信号的解码率,但也将带来一个潜在的问题:对低置信度比特某些位取反且CRC 校验通过并不代表正确地对报文进行了纠错。从理论上来说,当低置信比特数大于汉明距离时采取强力纠错,可能存在多种组合通过CRC 校验的情况,这就使得我们认为的纠错“成功”的报文并不一定是我们期望得到的,这就需要在享受多位强力纠错带来的好处时,来克服其不足。我们采用的方法是利用飞机航迹平稳的特性,在显示记录航迹时对航迹作滤波,剔除掉野值点以去掉那些虽然通过了CRC 校验却不是我们所期望的报文。

具体的做法是:将A/D 数据送入FPGA 进行数字下变频、滤波、求模、求对数、量化等处理,得到数字信号,在此基础上判断报头及DF 字段,在解码的同时形成相同长度的置信度报文,将粗解码报文及置信度报文一起发送给上位机,通过CPU 进行校正子组的划分,调度GPU 核心运算单元进行纠错处理,完成对一条粗解码报文的随机多位强力纠错的实现。具体流程如图2 所示。

图2 强力纠错实现流程Fig.2 Implementation process of brute force technique

在纠错过程中组合校正子产生的步骤如下:假设接收到一条S 模式长报文应答信号,在FPGA 中解出112 位的数据报文和对应的112 位置信度数组,其中有6个低置信度位,分别为8、34、41、73、92、105,那么在上位机先形成一个6个比特长的数组与之对应,并从“000000”开始计数,直到“111111”,每一个数值则对应一个组合校正子。若计数到“000101”,则将“1”所对应的73 及105 位进行取反,并作CRC 校验。通过这样的计数,则将每个组合校正子进行了一次遍历。可以看出,纠错能力的大小取决于上位机计算能力的大小,尤其是GPU 的运算能力。

在某些要求重量和体积的便携式接收终端中,通常不方便安装高速显卡,此时欲达到较好的纠错效果以实现较高的解码率,可以考虑通过在FPGA内部实现纠错,不过纠错能力会受到处理时间的限制。通过快速CRC 校验算法(取反和CRC 检错只需一个时钟周期),在50 MHz时钟下,120 μs时间内可以完成不大于12个低置信度的报文纠错处理,即可以实现汉明距离为13 的随机误码纠错,解码率可达73.66%。用FPGA 实现硬件高速纠错及CRC 校验的核心VHDL 代码如图3 所示,主要完成低置信度比特的取反和CRC 校验。在这之前需要完成低置信度比特的定位及标记。

图3 硬件高速纠错核心代码Fig.3 High speed error correction core code in hardware

采用性能高的FPGA,运行在更高频率的时钟下,同时采用以面积换时间的思路,复制多个纠错模块,可以实现更多位的纠错。

5 联合纠错方法

文献[3]中的保守纠错技术可以对低置信度比特数小于12 且跨度不大于24 b 的报文进行保守纠错。保守纠错的优势是速度较快,劣势是将纠错的范围限定在了跨度为24 b。在很多情况下,低置信度比特的个数很少,但其跨度很大,这就导致保守技术无法发挥作用,而这种情况对于强力纠错来说显得非常轻松。结合保守纠错和强力纠错对报文进行联合纠错,可充分发挥各自的优势,达到最佳纠错效果。

将保守纠错技术和强力纠错技术相结合的一种可用于工程应用的联合纠错流程如图4 所示。在对低置信度比特进行标记的基础上,统计低置信度比特的个数,如果不存在低置信度比特则直接进行CRC 校验,通过后进行解码、显示、记录等;若存在低置信度比特,则判定低置信度比特的个数是否小于12个,在其跨度不超过24 b的情况下采用保守纠错以节约时间;在其他情况下,采用GPU 强大的并行处理能力对报文强力纠错,直到报文通过CRC 校验为止。由于低置信度比特较多,可能导致同一条报文有多种矫正子的组合通过CRC 校验,这需要在上位机中作航迹滤波处理,以避免由于过度纠错而造成的混乱。

图4 保守技术和强力技术联合纠错流程Fig.4 The joint correction process with conservative technique and brute force technique

6 结束语

本文分析对比了保守纠错技术和强力纠错技术各自的局限性,提出利用GUP 强大的并行计算能力,通过基于数字化多样点置信度判定准则进行强力纠错技术,可对多达18 的位随机多位误码进行无延时的纠错解码处理。通过对在距离机场30 km处采集的数据进行统计分析后,得出了本文强力纠错技术所能达到的纠错效果(数据采集位置不同,得到的统计数据会有所不同)。最后给出了可应用于工程实际的保守纠错技术和强力纠错技术联合纠错的处理流程。当然,不管是保守纠错技术还是强力纠错技术,都依赖于准确的置信度判定方法,其对错误比特被误判成高置信度的概率要非常低。如果将一个错误比特判断成高置信度,那么信号在此方法下不能被纠错。本文所阐述的强力纠错技术将随着上位机并行处理能力的提升而提升,这对追求高解码率的用户来说,只需要升级GPU 性能即可。本文所述方法对于突发错误有较强纠错能力,但对两个以上信号强度相当的S 模式应答信号大面积交织的情况处理能力有限,需要进一步研究。

[1]DO-260B,Minimum Operational Performance Standards for 1090MHz Extended Squitter ADS-B and TIS-B[S].

[2]陈士毅,李玉柏.基于置信度判定的循环冗余校验纠错技术[J].电讯技术,2007,47(1):175-178.CHEN Shiyi,LI Yubai.Error Correction using Cyclic Redundancy Check Based on Confidence Declaration[J].Telecommunication Engineering,2007,47(1):175-178.(in Chinese)

[3]温成明,张超,曹建蜀.ADS- B 信号保守纠错技术[C]//2011 年青年通信国际会议论文集.杭州:中国通信学会,2011:139-141.WEN Chengming,ZHANG Chao,CAO Jianshu.Conservative Error Correcting Technique of ADS-B Signal[C]//Proceedings of 2011 International Conference of Youth Communication.Hangzhou:China Institute of Communications,2011:139-141.(in Chinese)

[4]李小永,顾春平.S 模式应答的一种纠错算法设计与实现[C]//中国电子学会第十六届信息论学术年会论文集.北京:中国电子学会,2009:36-39.LI Xiaoyong,GU Chunping.Design and Impelmentation of an Error- correcting Algorithm for Mode S Reply[C]//Proceedings of China Electronic Institute 16th Annual Symposium on Information.Beijing:China Institute of Electronics,2009:36-39.(in Chinese)

[5]周建红,刘晓斌,张超.ADS-B 系统应答的一种纠错算法设计与实现[J].火控雷达技术,2011,40(3):91-95.ZHOU Jianhong,LIU Xiaobin,ZHANG Chao.Design and Implementation of An Error- Correcting Algorithm for ADS- B System Responding[J].Fire Control Radar Technology,2011,40(3):91-95.(in Chinese)

[6]王洪,刘昌忠,汪学刚.二次雷达S 模式综述[J].电讯技术,2008,48(7):113-118.WANG Hong,LIU Changzhong,WANG Xuegang.Mode S for Secondary Surveillance Radar(SSR):an Introduction and Overview[J].Telecommunication Engineering,2008,48(7):113-118.(in Chinese)

[7]王洪,刘昌忠,汪学刚,等.强干扰背景下S 模式解码方法[J].电子与信息学报,2009,31(12):2876-2880.WANG Hong,LIU Changzhong,WANG Xuegang,et al.Mode S Decoding Methods in Heavy Jamming Environment[J].Journal of Electronics & Information Technology,2009,31(12):2876-2880.(in Chinese)

猜你喜欢

置信度强力校验
一种基于定位置信度预测的二阶段目标检测方法
通江县:砥砺奋进 强力构建“温暖人社”
硼铝复合材料硼含量置信度临界安全分析研究
70年扶贫开发 脱贫攻坚持续强力推进
基于西门子840Dsl系统的数控强力刮齿加工软件开发
正负关联规则两级置信度阈值设置方法
“强力后勤”入职记
炉温均匀性校验在铸锻企业的应用
结合抓包实例分析校验和的计算
置信度条件下轴承寿命的可靠度分析