桑 峰,张宏伟,张 坤
(上海卫星工程研究所,上海 201109)
基于LabVIEW的帧同步码性能分析
桑 峰,张宏伟,张 坤
(上海卫星工程研究所,上海 201109)
针对不同类型通信系统中对高性能帧同步码需求,给出了一种实用的帧同步码性能分析及高性能帧同步码搜寻的解决方案。结合目前广泛使用的LabVIEW软件,突破了软件自身数据类型的约束,提出了一种LabVIEW软件下任意长度码穷举算法,并以此算法为基础设计性能分析软件,从误同步概率和局部自相关函数2个角度对帧同步码的性能进行了分析。根据分析的结果,给出了2种性能评价准则下的帧同步码的选择方法,并给出了具体范例。
LabVIEW;帧同步码;性能
帧同步在数字通信中具有十分重要的意义,不同类型的通信方式对帧同步具有不同的要求。帧同步码的选择对于通信的可靠性和有效性有着至关重要的影响。LabVIEW作为一个强大的编程软件,可以方便地实现一定长度的帧同步码产生。文献[1]给出了一种基于LabVIEW的帧同步码穷举算法,并搜索到24位以内的所有巴克码组,但其码组产生算法使用整型数,码组具有长度约束。本文提出一种使用数组和递归算法产生码组的方法,避免了文献[1]中算法的码组长度限制。本文根据该穷举算法产生码组,分别设计相关程序,从误同步概率和自相关函数角度对帧同步码进行性能分析和选择。
在固定帧格式通信中,报文类型较少,报文长度变化不大[2],数据帧具有周期性。由于同步校核及同步保护机制的存在,允许一定次数的漏同步和误同步[3],相关的最佳帧同步码的图样也已经获知。而在可变帧格式通信中,报文长度变化大,数据帧具有随机性,此时对同步码的要求较高,需保证极低的误同步概率。典型的帧格式及其相关检测方式[4]如图1所示。
(a)帧格式
(b)帧同步码的相干检测图1 典型的帧同步数据序列及检测方式
对于长度为m的随机序列,若允许产生k个误码,检测的漏同步概率及误同步概率[5]为:
漏同步概率:
(1)
误同步概率:
(2)
式中,p为误比特率。
式(1)和式(2)均是针对长度与帧同步码一致的数据而言,且结果与同步码的码型无关。对于长度为n(n>m)的数据,其中出现帧同步码组的概率则跟码型相关,且计算比较复杂。为了分析不同码型对误同步概率的影响,使用LabVIEW设计程序,依次列出帧同步码和数据段的所有组合,并检索出各个帧同步码下数据段出现帧同步码的所有组合,计算出各个同步码型的误同步概率。
1.1 算法实现
长度为m同步码的所有可能的组合有2m个,长度为n数据段所有可能的组合有2n个。LabVIEW中整型数的最大值是264-1。文献[1]使用整型数来表示帧同步码,因此最多只能表示64位同步码。当n>64时,将无法使用整型数表示。本文解决方案是使用LabVIEW中数组来表示帧同步码和数据段状态,每个数组可以有231-1个整型数元素,每个整型数的取值范围可达0~264-1,总共可以记录(231-1)264-1≈25.7×1020种状态,也即可以表示约5.7×1020位二进制数。通过数组的组合,可以实现任意长度的计数。
使用数组完成所有长度为n的二进制码组穷举算法如下:
第1步:输入数据位数n,生成一个n+1元数组x,数组每个元素初始化为0;
第2步:数组x第1位x(1)←x(1)+1;
第3步:判断x(1)是否为2,若x(1)=2,删除数组x元素x(1),并重新构成数组x,再次从第2步执行,执行完成后在数组x前面插入元素0,重新构成数组x;若x(1)≠2,保持数组x不变;
以上2~3步,构成一个递归算法,每执行一次,取数组x的前n位,即可以组成一个n位二进制码组。
第4步:重复从第2步执行,直至x(n+1)=1,完成所有码组的穷举。
在LabVIEW中采用递归方式实现以上算法,可以避免使用大量FOR-循环。采用递归方式使得程序框图非常简洁,如图2所示。
(a)x(1)≠2时的程序流程
(b)x(1)=2时的程序流程图2 LabVIEW实现任意长度码组穷举程序框图
图2中,程序在条件结构中判断x(1)是否为2。若x(1)=2,开始执行递归调用;若x(1)≠2,保持数组x不变。
实现了码组穷举后,使用LabVIEW进行误同步概率计算的流程如下:
第1步:输入同步码长m,对其采用穷举算法,遍历所有码组组合;
第2步:对于每个同步码组组合,采用穷举算法,遍历长度为n的所有数据序列组合;
第3步:在数据序列组合中搜寻同步码组,记录所有数据序列组合出现同步码组的情形,得出当前同步码下的误同步概率;
第4步:依次执行第2步和第3步,统计所有同步码组的误同步概率。
1.2 结果分析
选择同步码长为8位,数据段长为20位的情形,依照以上算法进行计算,结果表明,当同步码为全1码或者全0码时,误同步概率最低,为2.73%;当同步码A={a1a2…am}具有以下性质时:{a1a2…ak}与{am-k+1am-k+2…am}在任意1≤k 表1 m=8,n=20条件下不同同步码的误同步概率 表1中,序号4的帧同步码10111000为基于覆盖区最小误同步概率的最佳帧同步码[3],该码此情况下却有最高的误同步概率5.06%。相关机理简要分析如下: 所谓的最佳帧同步码,是在覆盖区误同步概率最小的码。最佳帧同步码A={a1a2…am}首先应具有这样的性质,即A平移后的码组Ak与A要避免一致,即{a1a2…ak}与{am-k+1am-k+2…am}在任意1≤k 在本文的情况下,由于此种码型具有平移不重复的性质,数据段出现此种码型的数量最多。具有平移重复性质码组,在数据段可以多个合并出现,从而减少出现同步码型的数据段样本总数。例如对于数据长度为3,同步码长为2的情况,若同步码为00,则出现同步码组的数据组合有000,001,100,其中000合并了2次同步码的情形;若同步码为01,则出现同步码组的数据组合有010,011,001,101。数据段出现01的样本多。 从表1可以看出,m=8,n=20时,虽然全0码和全1码具有最低的误同步概率2.7%,误同步概率对于实际应用仍偏大,且当n变大时,误同步概率也会变大。为了保证数据段完全不出现帧同步码,可以采用类似于HDLC协议的“比特插入/删除”法[6],人为的避免数据段出现同步码的情况,但此种做法是以增加系统的额外开销为代价的。 帧同步码性能的另一个重要指标是局部自相关函数[7],优良的帧同步码组应具有尖锐的局部自相关函数。对于码组A={a1a2…am},局部自相关函数定义为: (3) 式中,ai(i=1,2…,m)为组成同步字的各数据位的双极性表示(±1),τ为位偏移量。 同步字性能的优劣取决与自相关函数的峰值与旁瓣的大小,定义峰值副瓣(PSL)电平如下: (4) 为了获取PPSL较小的码组,使用LabVIEW设计程序,对特定码长的码组进行穷举,并选择PSL较小的码组。 2.1 算法实现 本算法引用了本文1.1节的方法进行码型的穷举。相关算法描述如下: 第1步:根据设定的码长m,使用本文1.1节的方法完成该长度码型的穷举; 第2步:根据式(3)计算自相关函数,采用LabVIEW提供的自相关计算的子VI实现; 第3步:结果处理,对自相关计算的结果除去τ=0的计算值,并进行排序,得出最大的副瓣电平; 第4步:基于最大副瓣电平的约束,选取符合要求的帧同步码并将结果输出,并根据式(4),计算PPSL。 2.2 结果分析 分别设定码长为13,基于副瓣电平不大于1的准则,软件共搜索出了4组码,分别为:0101001100000,0000011001010,1111100110101,1010110011111,其PPSL均为-22.28 dB。可以看出其即为目前已知的4个13位巴克码组[8],验证了该算法的正确性。 设定码长为16,基于副瓣电平不大于2的准则,共找到80个码组,其PPSL均为-18.06 dB。其中部分码组与文献[9]给出的准最佳16位帧同步码相同,进一步验证了该算法的正确性。部分码型及局部自相关函数如图3所示。 图3 m=16,副瓣电平不大于2的部分同步码及自相关函数 设定码长为32,基于副瓣电平不大于3的准则,共找到3 376个码组,其PPSL均为-20.56 dB。m=32,副瓣电平不大于3的部分同步码及自相关函数如图4、图5、图6和图7所示。 图4 00011110001100110101010010010000及其自相关函数 图5 10110001100001011111111001011101及其自相关函数 图6 11100110001101010110110111110000及其自相关函数 图7 00001011010010100010010001000111及其自相关函数 本文使用LabVIEW从不同的角度对帧同步码的性能进行了分析,计算了不同码型的数据段误同步概率的差异,并给出了一种基于局部自相关函数的帧同步码选择方法。本文所设计的算法简单可行,解决了文献[1]的码长限制问题,实用性得以提高,可以实现任意码长的帧同步码性能分析,从而实现性能优良的帧同步码组的选择。以本文的方法为基础,基于其他码性能评价准则[10],也可以快速地设计出符合要求的码组搜索算法。对于获得满足不同通信系统需求的帧同步码有一定的意义。 [1] 高 瑜.基于LabVIEW的帧同步码组穷举算法的实现[J].通信技术,2011,44(5):65-67. [2] 龙在云,武 斌,顾 勇.帧同步码最佳码长在航空通信中的应用分析[J].通信技术,2007,40(8):21-25,36. [3] 张景悦.PCI总线信号数字复接系统—分接子系统设计与实现[D].长沙:国防科技大学,2004. [4] Wern H S,Chih-T S.The Performance Evaluation,Selection,and Design of Unique-Words for Time-Division Multiple Access Systems[J].IEEE Transactions on Vehicular Technology,1995,44(1):111-120. [5] Bernard Sklar.数字通信—基础与应用(第2版)[M].北京:电子工业出版社,2002. [6] 刘文学,郭玉忠,姜琳琳.HDLC协议的FPGA实现方法[J].航空计算技术,2011,41(3):93-96. [7] 朱宏权,王俊峰.一种新的Turbo码同步字模板的性能研究[J].飞行器测控学报,2011,30(增):84-88. [8] 田日才,迟永钢.扩频通信[M].北京:清华大学出版社,2014. [9] 谢求成,雷仲魁.航天遥控系统准最佳地址同步码研究[J].南京航空航天大学学报,1994,26(6):813-821. [10] 白 彧,杨晓静,张 玉.基于高阶统计处理技术的m-序列帧同步码识别[J].电子与信息学报,2012,84(1):33-37. Performance Analysis of Frame Synchronization Codes Using LabVIEW SANG Feng,ZHANG Hong-wei,ZHANG Kun (Shanghai Institute of Satellite Engineering,Shanghai 201109,China) A practical method of performance analysis and searching of high-performance synchronization codes is designed to meet different communication system demands.Based on the widely-used LabVIEW software and breaking through the restriction of its data type,an exhaustive algorithm of generating arbitrary-length codes using LabVIEW is proposed in this paper.Base on this,the software is designed and the performance analysis of frame synchronization codes is carried out from both aspects of false synchronization probability and local autocorrelation function.According to the result,some guides and examples are given in choosing synchronization codes by the two rules. LabVIEW;frame synchronization code;performance 10.3969/j.issn.1003-3114.2017.01.20 桑 峰,张宏伟,张 坤.基于LabVIEW的帧同步码性能分析[J].无线电通信技术,2016,43(1):81-84. 2016-06-17 民用航天“十二五”技术预先研究项目 桑 峰(1986—),男,工程师,主要研究方向:卫星通信系统总体设计。张宏伟(1975—),男,研究员,主要研究方向:卫星总体设计。张 坤(1981—),女,高级工程师,主要研究方向:卫星综合电子技术。 TN911 A 1003-3114(2017)01-81-42 帧同步码的局部自相关函数分析及选择
3 结束语