CCSDS 链路帧识别技术

2014-08-08 02:15李相迎胡小春甄小龙
遥测遥控 2014年5期
关键词:链路层误码率链路

李相迎, 胡小春, 甄小龙, 陈 平

(1中国人民解放军63610部队 库尔勒 841001 2总装备部再入动力学与目标特性重点实验室 库尔勒 841001)

CCSDS 链路帧识别技术

李相迎1,2, 胡小春1, 甄小龙1, 陈 平1

(1中国人民解放军63610部队 库尔勒 841001 2总装备部再入动力学与目标特性重点实验室 库尔勒 841001)

提出并研究CCSDS链路帧识别技术。分析CCSDS链路层协议特征,提出一种识别流程。对于遥控传输帧,利用基于模式串的匹配算法对命令链路传输单元进行盲同步;对于遥测传输帧,提出采用基于校验多项式的识别方法,在扰码识别后,利用链路层帧长特征对Reed-Solomon编码的交织深度进行初始判别,并采用伽罗华域的傅里叶变换对识别结果进行验证。文中还分析了不同误码率情况下算法的识别性能。实验结果表明,算法可以对CCSDS链路层协议帧进行有效识别。

空间数据系统咨询委员会; 模式匹配; 信道编码; 传输帧

引 言

在空间数据系统咨询委员会CCSDS(Consultative Committee for Space Data Systems)空间数据系统中,数据链路层位于物理层之上,是空间信息获取与分析的关键环节。如果基带数据流遵循CCSDS标准但其具体设计并没有先验信息,则链路层协议识别技术将是对其进行分析并获取信息的基础。

目前对协议识别的研究主要针对地面网络,且集中在应用层[1,2]。从公开发表的文献资料看,尚未见到对CCSDS链路层协议的识别研究。信道编码盲识别技术主要集中在对卷积码的盲识别。根据卷积码的实际应用,其盲识别研究又分为一般卷积码的盲识别研究和删余卷积码的盲识别研究。一般卷积码的盲识别方法主要有基于快速双合冲算法的识别方法[3]和基于欧几里德算法的识别方法[4]。删余卷积码的盲识别主要采用基于生成多项式矩阵等价变换的识别方法[5]。文献[6]通过对截获码序列做Walsh-Hadamard变换进行卷积码的盲识别研究。上述算法大部分只能对某一类编码方式进行识别,且对误码环境下的识别能力分析不够,不能完全适用于CCSDS链路层协议中编码方式的识别。

本文重点研究CCSDS协议中数据链路帧的识别技术和方法。链路层协议涵盖了分包遥控TC (Telecommand)、遥测TM(Telemetry)以及高级在轨数据系统AOS(Advanced Orbiting System)。在分析CCSDS链路层协议特征的基础上,给出了一种实用的帧识别方法。

1 CCSDS链路层协议特征分析

CCSDS空间数据链路协议常被分为两个子层:数据链路协议子层和同步及信道编码子层。其中数据链路协议子层定义了将高层数据单元以帧的形式发送到空间链路的方法,同步及编码子层定义了在空间链路发送传输帧时的同步及信道编码方式。

1.1 TC传输帧链路层特征

遥控的主要任务是从地面站向空间发送控制命令数据。其在链路层的数据封装过程为:上层协议数据首先装入TC传输帧的数据域,并在前端加上长度为5字节的帧导头,其中含有帧版本号、航天器标识、虚拟信道识别字和帧长等信息字段。整个传输帧的最大长度不超过1024字节。然后,一个或多个传输帧被分成长度相等的码块,在编码子层采用(63,56)修正的BCH分组码对遥控数据进行差错保护。码块的同步和界定通过命令链路传输单元(CLTU)完成。CLTU用于运送连续的遥控码块流,其格式如图1所示。CLTU的起始序列标志着编码遥控数据的开始,它由16比特组成,具有自相关旁瓣低的特点,固定为EB90(16进制)。CLTU的尾序列标志着CLTU和译码的结束,长度为64位,固定为C5C5C5C5C5C5C579 (16进制)。当传输帧的数据长度不满足码块长度的要求时,需要在CLTU最后一个码块的最后部分进行填充,填充模式是以“0”开始,“0”、“1”交替。对TC传输帧进行识别的过程可以看作上述数据处理过程的逆序。

图1 CLTU数据结构

1.2 TM及AOS传输帧链路层特征

TM及AOS使用相同的同步及信道编码子层,并且帧字段中都含有需要识别的传输帧版本号、飞行器ID及虚拟信道ID等参数,所以本文的识别方法对两种帧格式同时适用。对于两种帧格式的详细说明,请参照文献[7,8]。

同步及信道编码子层实现帧同步及信道纠错编码。链路层传输帧同步字(ASM)固定为32位二进制串,用16进制表示为“1ACFFC1D”。在遥测数据进行传输时,首先进行RS(255,223)或RS (255,239)编码(可能存在交织,交织深度为I=1,2,3,4,5或8)。在一次任务周期内,码块长度是固定不变的,例如,当交织深度I=5时,码块长度为1275字节(无虚拟填充位时)。编码后可以选择是否对数据进行伪随机化,然后,在帧头添加ASM。CCSDS规定可以采用RS作为外码、卷积码作为内码的级联编码方式,以同时增强信道抗随机错误和抗突发干扰的能力。对于卷积编码,采用(2,1,6)卷积编码或其删余模式,删余模式规定的码率通常为1/2、2/3、3/4、5/6、7/8。最后,编码数据送到物理层经调制后向空间发送。

1.3 识别思路

对于TC,识别的第一步是解析和提取输入数据流中的CLTU,识别依据是起始序列标志“EB90”。这个过程可以用模式串匹配的方法实现。一般情况下,该过程用硬件实现,如要用软件实现,则必须选择一种高效算法。第二步是对CLTU中的码块进行BCH(63,56)译码,译码结果为顺序排列的TC传输帧,但可能属于不同的虚拟信道。根据帧长字段可以界定每个传输帧的边界,最后完成帧特征提取。

对于TM或AOS,因为在数据通信时采用一种编码或级联编码是可选的,在没有先验知识的前提下,若要对截获的二进制基带数据进行识别,则首先要判断是否采用了卷积编码。若判断为未采用,则进行RS编码识别;若判断为采用,则进行卷积编码的识别与节点同步,同步后进行Viterbi译码。译码后还要判断是否对数据进行了加扰处理,随后进入RS编码的识别过程。对于RS编码的识别,同样要进行“有”或“无”的识别。若判断为“有”,则需要进一步识别交织深度,识别正确后进行RS译码,对传输帧字段进行特征分析。若判断为“无”,则直接提取传输帧的特征字段,识别过程结束。

TC、TM和AOS链路帧的识别过程可以用图2和图3所示的流程图表示。

图2 TC链路帧识别过程

值得指出的是,上述两个识别过程可以组合在一起进行综合识别,方法是将图2中的“其它处理”作为图3的输入。

图3 TM及AOS链路帧识别过程

2 TC传输帧的识别

2.1 模式串匹配

模式串匹配算法是基础算法,目前已经有上百种算法。模式串匹配算法不仅仅局限于字符串,它可以进一步扩展到二进制串、数串或者更大的有复杂结构的信息单元。模式串匹配算法按功能可分为三类:精确匹配算法、近似匹配算法和正则表达式匹配算法。这三类算法的产生与具体应用领域的需求直接相关。本文利用实验研究了精确模式串匹配算法中的KMP算法、BM算法、BMH算法和QS算法的适用性,各算法的实现思想可参阅相关文献。

2.2 BCH译码

对CLTU定界之后,协议识别的下一步是对获取的码块数据进行BCH译码。遥控码块是长度固定的系统,前56位比特为信息码,差错控制码放在最后一个字节,该字节的前7位是校验码,最后一位是填充位,始终保持为“0”,这样,每个遥控码块的长度固定为8字节。CCSDS规定采用(63,56)修改的BCH码,其产生多项式为:g(X)=X7+X6+X2+1。由BCH(63,56)码的纠错特性可知,根据获取的校验子可以对一个码位错误进行纠正,对两个码位错误进行检测。根据研究需要,我们编制了BCH(63,56)的编译码程序用于测试和验证。

3 TM及AOS传输帧的识别

3.1 卷积码及其删余模式的识别

在本文的引言部分提到,多数卷积码的识别算法仅适用于某一种码率的卷积编码参数识别,而CCSDS中采用的卷积码编码多项式为(171,133),包括1/2码率及其删余模式的多种码率形式的编码方式,因此需要寻找一种普适的识别方法。本文采用基于校验多项式的综合识别方法,它具有一定的抗误码性能。

CCSDS采用多项式为(171,133)的(2,1,6)卷积编码,其校验矩阵为

因为rHT∞=0,所以在任意时刻有=0,其中h∞=[11 01 00 11 11 10 11 00…]。由于h∞的14bit之后的码均为0,因此要识别接收序列是否为该方式的卷积码,只需h∞的截短向量h=[11 01 00 11 11 10 11]即可。设接收序列r∞=[(r0,i,r1,i+1),(r0,i+2,r1,i+3),(r0,i+4,r1,i+5),…],识别时用一个长度为7个码字(14bit)的滑动窗,从r0,i开始,依次取出有限序列˜r,窗口沿序列每次滑动一个子码,则对所有的i都有。否则,序列编码方式不是该种形式的卷积码。实际应用中,由于传输存在干扰,接收序列中会有一些差错,使得不是所有的Ti都等于0,可以根据接收序列的误码率确定一个门限,当Ti中等于0的元素数量大于该门限时,可以确定序列采用了目标卷积编码。识别过程中同时还要考虑子码不同步的情况。

根据以上识别思想,对于(2,1,6)卷积编码的删余模式也采用基于校验多项式的识别方法。表1给出了不同码率时各种编码方式的校验多项式。

表1 不同删余码率的校验多项式

3.2 扰码识别

遥测接收端为了保持比特同步,需要接收序列具有一定的比特跳变密度。在CCSDS中采用伪随机化的方法增强序列的比特跳变,从密码学的角度看,即数据加扰。随机化的方法是将传输帧或码块的每一比特与一个标准的伪随机序列进行异或。伪随机化在RS码之后、卷积码之前进行,而传输帧的同步头不在伪随机化范围之内。伪随机序列的周期为255,其生成多项式为h(X)=X8+X7+X5+X3+1,序列发生器在工作的起始初始化为全“1”。发生器产生的序列也称m序列。

设序列发生器的输出为zi,信道数据序列为mi,则加扰后的序列为ci=zi+mi,i=1,2,…。一般来说,根据编码和语言统计特性,数据序列0、1具有不平衡性,例如,0的个数可能占总数的1/2+ε(0<ε<1/2)。也就是说,ci与zi有ε的符合优势。所以,对于加扰后的数据,统计它的多个位置差相对固定的位置上的信号和,在满足m序列递推关系的位置上必然出现较高的优势。对于h(X)=X8+X7+X5+X3+1来说,ci+ci+3+ci+5+ci+7+ci+8=1的概率必然较高(相对于其它位置的模2加运算而言),因而会造成运算输出结果中0、1数目的不平衡。假设该序列中0的个数为N0,1的个数为N1,计算优势值T=,对应不同的抽头组合得到的输出序列的优势值不同,当抽头位置恰好与序列发生器的抽头位置重合时,优势值最大。运用这种方法可以识别出扰码的连接多项式。对于CCSDS而言,也即判断出了是否采用了加扰处理,从而为下一步的RS编码识别奠定了基础。

3.3 RS编码及交织深度识别

CCSDS使用交织深度I=1,2,3,4,5和8的Reed-Solomon(255,223)或Reed-Solomon(255,239)编码,交织的采用是为了应对信道中的突发错误。下面给出本文识别方法所涉及的几个概念。

定义1[9]设GF(p)上的多项式为

则它在GF(pm)上的谱多项式(或称为Matttson-Solomon(MS)多项式):

引理1[9]多项式a(x)以αj为根的充要条件是其MS多项式A(z)的系数Aj=a(αj)=0。

定理1[9]对任一距离为δ的RS码字做有限域FFT变换,A(z)中至少有δ-1个连零。

根据定理1,将收到的N组码序列做伽罗华域傅里叶变换GFFT,当发现对r(r≤N)组码字做同一GFFT变换具有相同的连零位置且个数相同时,则判断此时选取的本原多项式为该码字的本原多项式,亦即采用了某种特定形式的RS编码。CCSDS建议中的RS编码参数为:

①m=8,每个符号的信息位数;

②n=28-1=255(符号),码组长;

③T=2E(符号),校验位数;

④E=8或16,纠错能力;

⑤GF(28)上的域生成多项式为

⑥码生成多项式为

由以上参数可知,经过卷积译码和帧同步后,数据可能存在RS编码或相反。若采用了RS(255,223)或RS(255,239)编码,则TM传输帧的长度为255的倍数(无虚拟填充位时),倍数的大小等于交织深度;若编码时有虚拟填充位,则长度不定,但必然能整除交织深度。基于以上特点,识别时先根据帧长判断RS译码的交织深度,在解交织后再利用伽罗华域傅里叶变换进行验证。一般来说,连零的个数等于其纠错能力。由于实际接收的数据存在误码,因此当对N组码字进行处理并判断结果是否正确时,需要设定一个判决门限。设H0表示多个码字样本经GF上的傅里叶变换后产生位置、个数均相同的连零事件,H1表示变换后不产生位置、个数均相同的连零事件,从信号产生理论和概率论的角度分析,对误码率为Pe的RS码序列,如果要达到90%的识别概率,其近似门限t[10]为

由式(6)可知,门限t依赖于码序列的误码率及码长的变化,为保证低虚警率,可取r>0.1N,且N>50。对于RS(255,223)或RS(255,239),取N=255。

4 实验结果及讨论

4.1 TC帧的识别实验

运行时间是衡量模式串匹配算法和协议识别性能的重要指标。我们利用2.1节提到的四种模式串匹配算法(KMP算法、BMH算法、QS算法和BM算法)对输入数据中的CLTU起始序列标志进行匹配识别,并对匹配时间进行统计和比较,结果如表2所示。

各算法均在WindowsXP环境下用Visual C++实现,主机CPU主频为2.33GHz,内存大小为3GB。从表2分析可知,BMH算法和QS算法性能接近,但QS算法效率更高,体现了这种算法对小模式串的匹配具有明显优势,因而更适合于CCSDS链路层协议中TC传输帧的识别。根据CCSDS规定的链路层协议有关帧格式要求,用计算机仿真产生了识别输入数据,除了固定不变的信息字段外,其它如虚拟信道标识、帧长度、CLTU个数以及每个CLTU所包含的TC帧数等都由系统随机产生。设定数据大小为5M字节。误码率变化范围为10-5~10-2,与无误码时的统计结果作比较,关键特征的识别正确率如图4所示。当误码率为10-3时,系统识别结果如表3所示。表中的时间包含了模式串匹配所花费的时间。

表2 算法匹配时间(单位:μs)

图4 不同误码率下的正确识别率

表3 TC传输帧识别结果

4.2 TM(AOS)帧的识别实验

按照CCSDS建议的链路层数据帧格式,在不同误码率时各生成1000组数据,设定误码率变化范围为10-5~10-2,利用校验多项式对数据是否采用了某种码率的卷积码进行判断。限于篇幅,这里只给出了码率为1/2时校验多项式的匹配结果,如图5所示。

图5 不同误码率时Ti=0的匹配率

由图5看出,在误码率为10-2时,校验式的截短向量窗口在整个滑动周期内Ti=0的平均匹配率可达80%以上。这也说明了对于接收数据是否采用了(2,1,6)形式的卷积编码比较容易判定。

对于扰码的识别,采用前文提到的组合枚举优势值的方法。对0~8位置中的5个位置进行穷举,共得到126种组合,用1000组数据进行统计。由于扰码的识别基于源数据的0、1不平衡性,所以,当0、1个数基本对称时无法对扰码进行有效识别。本文的实验结果表明,该方法适用的临界值为:0(或1)在数据序列中的比重为70%左右;同时还得到,误码率对于识别结果影响较小。图6给出了在临界值70%、误码率为10-3时的识别结果。

从图6中看出,索引值为64的组合最大优势值出现的频数最多,其抽头位置正好是0,3,5,7和8,与伪随机序列的生成多项式一致。

在RS编码识别时,要先根据同步字之间的距离判定码块长度。对解扰后数据的判定结果为距离765字节,初步判断RS编码交织深度为3,然后选取N=255组、长度为255个符号的数据序列,构成255× 255识别矩阵,再通过伽罗华域傅里叶变换进行验证,结果如图7所示。图7中纵轴为位置和个数均相同的连零事件出现的平均比率(N=255)。由图7可知,对于式(6)设定的门限,当误码率等于10-3时,t=0.1143,此时可满足90%的识别概率;但当误码率大于2×10-3时,不能有效判断是否采用了RS编码。设定误码率为10-3,经过上述识别过程,最后的传输帧识别结果与识别正确率如表4所示。

图6 扰码识别结果

图7 连零事件在不同误码率下出现的平均比率

表4 TM传输帧识别结果

5 结束语

对CCSDS链路层协议的识别是一个全新的研究领域,它对于国际空间合作及空间信息对抗都具有十分重要的意义。本文通过实验分析了所提识别方法在不同误码率下的识别性能。实验结果表明,本文识别方法可以在较高误码率的情况下对CCSDS链路帧进行有效识别。

[1] 陈 亮,龚 俭,徐 选.基于特征串的应用层协议识别[J].计算机工程与应用,2006,(24):16~19.

[2] 陈曙晖,苏金树.基于内容分析的协议识别研究[J].国防科技大学学报,2008,30(4):82~87.

[3] 邹 艳,陆佩忠.关键方程的新推广[J].计算机学报,2006,29(5):711~718.

[4] Wang Fenghua,Huang Zhitao.A Method for Blind Recognition of Convolution Code Based on Euclidean Algorithm [C].IEEE International Conference on Wireless Communication Networking and Mobile Computing,Shanghai,China,21-25 Sept,2007:1414~1417.

[5] 陆佩忠,沈 利.删除卷积码的盲识别[J].中国科学:E辑,信息科学,2005,35(2):173~185.

[6] 刘 健,王晓君,周希元.基于Walsh-Hadamard变换的卷积码盲识别[J].电子与信息学报,2010,32(4):884~888.

[7] CCSDS.132.0-B-1.Blue Book.TM Space Data Link Protocol[S].CCSDSPress,2003:4.1~4.3.

[8] CCSDS.732.0-B-2.Blue Book.AOSSpace Data Link Protocol[S].CCSDSPress,2006:4.1~4.3.

[9] 刘玉君.信道编码[M].郑州:河南科学技术出版社,2007.

[10] 张永光,楼才义.信道编码及其识别分析[M].北京:电子工业出版社,2010.

Recognition Technology for CCSDSData Link Frame

Li Xiangying, Hu Xiaochun, Zhen Xiaolong, Chen Ping

The recognition technology for CCSDSdata link frame is proposed.Characteristics of data link protocolare analyzed and a recognition flowsheet is given.To the telecommand transfer frame,a blind synchronizationmethod based on patternmatching is introduced for Communications Link Transmission Unit.To the telemetry and Advanced Orbiting System transfer frame,a recognition and synchronization algorithm based on syndrome is examined.After the discrimination of the disturbed code,the frame length is used to roughly judge the interleaving depth of Reed-Solomon code,and then the Galoias Field Fourier Transform is employed to verify the recognition results.Under different bit error rates conditions the simulations are exhibited which prove that themethod is effective for the CCSDS data link protocol.

CCSDS; Patternmatching; Channel coding; Transfer frame

TP391;TP393

A

CN11-1780(2014)05-0054-07

李相迎 1970年生,高级工程师,研究方向为信号处理、目标识别。

胡小春 1964年生,高级工程师,大校主任,研究方向为航天测控。

甄小龙 1976年生,工程师,研究方向为遥测信息处理。

陈 平 1973年生,工程师,研究方向为雷达信号处理。

2014-01-23 收修改稿日期:2014-02-27

猜你喜欢
链路层误码率链路
面向通信系统的误码率计算方法
天空地一体化网络多中继链路自适应调度技术
基于多空间内存共享的数据链路层网络包捕获方法
卫星网络中的TCP 跨层技术研究
基于星间链路的导航卫星时间自主恢复策略
一种基于PCI接口的1394B总线的设计与实现
一种快速同步统计高阶调制下PN 码误码率的方法∗
浅谈数字通信系统中误码率的估计方法
IEEE 1394事务层接口的设计与实现
基于3G的VPDN技术在高速公路备份链路中的应用