基于线性同余法的突发误码产生技术﹡

2013-09-25 02:14胡庆锋
通信技术 2013年8期
关键词:误码均匀分布量级

胡庆锋, 钟 良

0 引言

抗误码性能是通信设备一个非常重要的指标。信道中除了多径衰落外还存在电离层闪烁引起的衰落,即信道中随机误码与突发误码并存,且突发误码产生的时刻及持续的时间是随机的。通信设备一般通过接收端的去交织器将衰落造成的集中误码转换为离散误码,再由译码器纠正误码,保证信息可靠传输。

为了能够对通信设备抗突发误码性能进行测试,需要模拟信道中的突发误码。产生突发误码的方式有多种,较为简单普遍的方式可以通过所设置的突发长度手动单次产生,这种方式产生的突发误码不具备随机性,且不能确定误码量级。文中将研究一种产生突发误码的新方法。

文中介绍了一种伪随机数发生器,该发生器产生的伪随机数用来确定突发误码产生时的随机时刻或位置。在技术实现上,采用高性能DSP[1]技术模拟产生任意持续时间(或突发长度)的突发误码。确保产生突发误码的时刻是随机的,且对整个模拟过程来说,误码量级可以在M×10-N(M和N为1~9的正整数)内任意设置。该方法所需硬件资源少,产生误码精确,能模拟实际信道中突发误码的相关随机性。

1 线性同余法的原理及性能模拟仿真

产生伪随机数的方法有多种,线性同余法[2-4](以下简称同余法)作为最为广泛的伪随机数产生方法,具有产生速度较快、节省内存、输出序列周期长、统计特性较好、产生方法简单等优点。常用的同余法包括加同余法、除同余法、乘同余法、混合同余法,其中乘同余法和混合同余法的性能更好,更常用。

混合同余法是Lehmer在1951年推算出的,其递推公式为[4]:

式(1)和式(2)中,mod表示求余函数,A、B、C均为正整数。其中A是乘数,B是模数,C是增量,X0是种子(初始值)。如果这些参数和种子都确定,随机序列就确定了。序列{Xi}是在区间(0,B)上均匀分布U(0,B)的随机数,序列{Yi}为区间(0,1)上均匀分布U(0,1)的随机数。

式(1)中,当C=0时,称此算法为乘同余法。当C取不为零的适当数值时,有一些优点,但优点并不突出,故常取C=0的乘同余法产生随机数。

文中选用乘同余法。由上可见乘同余法产生的随机数也是均匀分布的。为了证明其随机性,文中采用MATLAB仿真[5]。编程如下(程序运行结果如图1所示):

A=8; C=0; x0=1;

B=511; i=100;

for g=1:i

x1=A*x0;

x2=mod (x1,B);

d1=x2/512;

d(:,g)=d1;

x0=x2;

d0=d1;

end

d2=d

g1=g;

g=1:g1;

plot(g,d,g,d,'r');

xlabel('g'), ylabel('d');

title(‘(0,1)上均匀分布的随机数’)

实际应用中,式(1)和式(2)中的 X0、A、B的取值并不是随意的(C=0),还必须考虑如下几点:

1)为了产生的随机数更“随机”,初始值X0要能任意取值。

2)序列周期要尽量大。常见B为素数,此时取A为B的原根,则随机数序列周期T=B-1,为使随机数序列的周期(不可能大于B)尽可能大,B应尽可能大,普遍原则是选B接近等于计算机能表示的最大整数,如接近或等于231。

3)序列具有较好的统计品质。

满足以上三个条件的乘同余法递推公式可以如下

式(3)是一个十分著名的伪随机数发生器,其中A=16 807,B=231-1,16 807是231-1的一个原根,B为素数;X0可以在(0,B)内任意取值;且经过验证式(3)和式(4)产生的序列有较好的统计品质,即式(3)和式(4)的序列为均匀分布的随机数。

图1 乘同余法产生的均匀分布的随机数仿真

2 随机数的产生和处理

文中采用式(3)的随机数产生器完成随机数的产生,由上可见,产生的随机数满足区间(0,231-1)上的均匀分布。用产生的初始随机数通过相应变换后得到的新的随机数,新随机数再用来确定突发误码产生时的随机时刻或位置,初始随机数的变换对其随机分布特性影响不大。

假设需在速率为V kb/s的数据流中产生持续时间为t ms的突发误码[6-7],每次突发的时刻是随机的,且在整个数据流中误码量级为M×10-N(M和N均为1~9的正整数),则突发误码长度 L=V×t(bit)。为了在数据流中精确的产生此量级的突发误码,可在L×10N位数据流中,随机产生M次突发误码,每次产生的突发误码长度为L,这样算出的误码率也满足M×10-N。因此,需在L×10N位数据中,产生M个随机数。

在软件编程实现时,利用随机数产生子程序每次产生M个初始随机数,首先对M个初始随机数进行取模 L×10N运算,再对取模后的随机数剔除相等数,若存在相等的数,则需重新运行随机数产生子程序,再取模,直到产生M个互异数为止,最后将取模后新的M个互异随机数按从小到大顺序排列。取 L×10N的模运算是为了得到定位于 L×10N区间内的随机数,剔除相等数是因为在相同的起始位置上制造两次突发误码是不可能的,顺序排列则是为了求得误码插入的位置之差,其中第一个位置差值为第一个随机数加上L×10N减去上一次产生的M个互异随机数中排序最大者。其中差值:

Mend为最后一个随机数到边的距离,Mend=L×10N- MM。

同时为了精确实现突发误码的插入,必须满足Ci(i=1,2,…,m)> L,否则需重新产生随机数。随机数产生及处理子程序软件流程如图2所示。

图2 随机数产生及处理流程

3 突发误码的插入

突发误码在实际线路数据中的插入是随机的。图3直观的说明了突发误码插入示意图。b0为开始模拟产生突发误码时的数据流位置,第二个边界开始时数据流位置记为b1,误码率为M×10-N(M和N均为1~9的正整数),突发长度为L(bit),第一个边界内随机数为M1、M2…Mm,第二个边界内随机数为M1'、M2'…Mm’, 第一个边界内位置差值为C1、C2、…Cm,第二个边界内位置差值为C1'、C2'…Cm’,Mend为最后一个随机数到边界的距离,Mend’为第二个边界内最后一个随机数到边界的距离,M1、M2…Mm(或M1'、M2'…Mm’)同时表示在一个边界内每次需插入突发误码处的起始位置。

为了实现突发误码的插入过程,文中采用TMS320C6000系列DSP芯片[8-9],该芯片是以32位双字为基本单位来处理误码插入的。对于一个32位双字来说,突发误码插入的位置有4种情况:①双字的前面部分位取反;②双字的后面部分位取反;③整个双字32位全部取反;④双字的中间部分位取反。其中第四种情况只有在突发长度L小于32 bit时才存在。图4为突发误码插入位置图。b0和b0'为开始模拟时数据流位置,L和L'为突发长度,dw1、dw2、dw3、dw4代表一个32位双字。

图3 突发误码插入示意

图4 突发误码插入的位置

突发误码插入的具体过程为:在调用随机数产生子程序后,得到M个位置差值,先取出第1个位置差值赋值给区间位置计数器,该计数器按照线路数据速率进行减法计数,当计数器减到小于等于0时,将线路数据的后面L位连续数据位全部取反(产生误码),当L位连续位全部取反完成后,将下一个位置差值取出来减去L后赋值给计数器,当M个位置差值取出用完之后,需重新调用随机数产生子程序产生新一轮的位置差值。其软件编程实现流程如图5所示。

图5 突发误码插入软件流程

4 工程实现及仿真结果

文中的突发误码产生技术在工程上已经实现,产生的突发误码经过误码测试仪测试为预期结果。在硬件方面文中选用TI公司的DSP芯片(TMS320C6713),该芯片运行速度快,指令周期5ns,运算能力高达200MIPS。

在模拟仿真时,文中采用输入数据流为全1的形态(如图6所示),设定输入速率为16 kb/s,产生持续时间为0.5 ms的突发误码,产生的误码量级为3×10-2,则每次产生的突发长度为8 bit。经过加误码后的其中一次的输出数据如图7所示。

图6 输入初始数据流

图7 某一次的输出数据流

由图6和图7可见,在800 bit的数据流中,共产生了3次突发误码,每次连续产生8 bit的误码。由于产生突发误码的起始时刻是随机的,所以输出数据流也是随机的。

5 结语

通信设备测试的一个重要指标是其抗误码性能,通信设备也有同步概率、同步码的抗误码性能以及误码扩散性等重要指标的测试,这就需要构建一个适当的误码测试环境。采用基于高性能处理平台(如高速DSP处理技术、嵌入式处理技术或PC机平台等)的软件编程实现方案则能够很好地解决任意量级突发误码的实现。如果采用标准C语言实现,还具有很强的平台移植性。任意量级突发误码技术的实现为通信产品的抗误码性能测试提供了新的测试环境,具有很好的实用性。由于是基于软件编程的实现方案,其数据流处理速度受限于所采用的处理器的性能。

[1] 赵加祥.DSP系统设计和BIOS编程及应用实例[M].北京:机械工业出版社,2008.

[2] 刘芬,马兴兵,曹继华.一种二重线性同余算法的研究[J].信息安全与通信保密,2006(04):89-90,93.

[3] 吴飞.产生随机数的几种方法及其应用[J].数值计算与计算机应用,2006(01):48-51.

[4] 郭凤鸣.一种生成大周期伪随机数的新算法——改进的混合同余法[J].地球科学,1992(06):733-738.

[5] 曾璐,谢晓尧.基于 MATLAB扩频通信系统误码率的研究[J].通信技术,2011,44(11):25-26,29.

[6] 成晓雄,余松煜.数字通信系统中实时误码发生器的一种设计方法[J].通信技术,1997(03):58-63.

[7] 李庭胜,李康辉,刘义铭.一种改进的任意指标随机误码产生方法[J].信息安全与通信保密,2009(01):89-90.

[8] 刘伟.DSP原理与应用[M].北京:电子工业出版社,2012.

[9] 李方慧,王飞,何佩琨.TMS320C6000系列DSPs原理与应用 [M].北京:电子工业出版社,2003.

猜你喜欢
误码均匀分布量级
ZPW-2000A电码化轨道电路误码问题分析及解决方案
一种基于CAN总线的误码测试方法
电磁感应综合应用检测题
21连胜
可逆随机数生成器的设计
尼龙纤维分布情况对砂浆性能的影响研究
潘小芳(太原铁路局太原通信段网管中心,太原 030012)