 
- UID
- 1023229
- 来自
- 中国
|

摘要:m系列具有类似于随机噪声的某些统计特性,并且容易产生和复制,广泛应用于通信领域中的扩频通信、流密码、信道编码等领域。本文主要介绍了m序列,产生m序列的FPGA算法以及其在扰码和解码中的应用。
0 引言
随着我国通信技术的发展与通信网络的普及,人们对于通信质量的要求越来越高。不过在通信系统中的随机噪声会使模拟信号产生失真和使数字信号出现误码,因此人们经常希望消除或者减少噪声。然而,在对通信设备或者系统功能进行测试时,为了实现可靠的保密通信时……人们会希望得到随机噪声。但随机噪声具有随机性和不能重复产生的特点,在通信领域中很少应用,随着技术的发展,满足要求的伪随机噪声得到了广泛的应用。
在实际应用中,通常是一个长周期的伪随机序叠加在输入的信源数字序列上,从而使信道传输的信码随机化,这里要求叠加序列的周期愈长愈好,常用的伪随机序列是m序列。
1 m 序列及其产生方法
1.1 本原多项式
设特征多项式为F(x)=C0+C1 x+c2$) +……+Cn*x^n,其中Ci=0或者1,x没有实际的意义,可以根据F(x1构造相应的线性反馈移位寄存器。其中当F(x)满足以下三个条件时,被称之为本原多项式,可以产生rn序列。
1.1.1 F(x)是不可约的,即不能再分解因式。
1.1.2 F(x)可整除x^m+l,其中rn=2~n一1。
1.1.3 F(x)不能整除x^q+l,这里q<m。</m。
1.2 m序列
m序列又叫做伪随机序列、伪噪声(PN)码或伪随机码,是最长线性反馈移位寄存器序列的简称,它是最常用的一种伪随机序列。通常我们采用反馈移位寄存器来产生伪随机序列。根据其构成结构,它又分为线性反馈移位寄存器和非线性反馈移位寄存器两类,由线性反馈移位寄存器产生的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器序列,简称m序列。由于其理论比较成熟,硬件实现比较简单,所以它是一类有着广泛应用的码。然而,在实际应用中.只有当线性反馈移位寄存器的特征多项式为本原多项式时,产生的才是伪随机m序列,这也是线性反馈寄存器能产生m序列的充分必要条件。
1.3 m序列的性质
1.3.1 由n级移位寄存器产生的m序列,其周期为T=2^ n一1。
1.3.2 均衡性:在m 序列的一个周期中,…1’和…0’的数目基本相等,“1”码只比“0”码多1个。
1.3.3 游程分布:在一个序列中连续出现的相同码称为一个游程,连码的个数称为游程的长度。其中长度为1的游程占游程总数的1/2,长度为2的游程占1/4,长度为3的游程占1/8,以此类推,长度为k(1<=k<=n一1)的游程占1/2^k。
1.3.4 移位相加特性:一个m序列Mp与其经过任意次延迟移位产生的另一个不同序列Mr模2相加,得到的仍是Mp的某次延迟移位序列Ms。
1.4 m序列的产生方法
n级串接的移位寄存器和反馈逻辑线路可组成动态移位寄存器带线性反馈逻辑的移位寄存器设定初始状态(不能为零状态)后 在时钟触发下,每次移位后各级寄存器状态会发生变化。其中任何一级寄存器的输出,随着时钟信号的推移都会产生一个序列,该序列称为移位寄存器序列。为了在实际应用中m序列发生器尽量简单,通常选用只有三项的本原多项式。
对于m序列的产生,我们可以借助EWB软件,使用74194移位寄存器、Word Generator、异或门电路来产生所要求的m序列。本文将用FPGA来产生以F(x1=x^4+x^3+1为本原多项式的m序列。本方法采用Verilog进行编程实现,程序中设置输入:clk,ena;输出端口reset,ranseq—out。编译成功后进行相应的功能仿真。仿真结果如下:当reset为低电平时,移位寄存器复位为1010,则ranseq_ out为0;当ena=1,reset=1时,产生m序列ranseq_ out={1,1,o,o,l,O,O9,l,1,1,1,0,1,0,1,1,0,0,1,0,0,0… … 1,可以看到当满足本原多项式x^4+x^3+1时,产生的m序列的周期为15,实验结果正确。
2 m 序列在扰码和解码中的应用
通信中进行基带信号传输的缺点是其频谱会因数据出现连“1”和连“O”而包含大的低频成分,不适应信道的传输特性。解决办法之一是采用扰码技术,使信号受到随机化处理,变为伪随机序列,又称为“数据随机化”和“能量扩散”处理。
现在常用的扰码技术之一是利用伪随机序列来实现,并且这种技术也是数字信号高保密性传输的重要手段。扰码虽然扰乱了数字信息的原有形式,但是这种扰乱是认为的.有规律的。因为也是可以解除的。一般将信源产生的二进制数字信息和一个周期很长的伪随即序列模2相加,就可将原信息变成不可理解的另一序列。这种信号在信道中传输自然具有高度保密性。在接收端将接收信号再加上(模2和)同样的伪随机序列,就恢复为原来发送的信息。
实现加扰和解扰,需要产生伪随机二进制序列(in序列)再与输入数据逐个比特作运算。in序列与数据码流进行模2加运算后,数据流中的“1”和“0”的连续游程都很短,且出现的概率基本相同。扰码虽然“扰乱”了原有数据的本来规律,但因为是人为的“扰乱”,在接收端很容易去加扰,恢复成原数据流。
扰码和解扰所用的m序列是相同的。设信源发出的序列为A:11001001,用于扰码的m序列为10110100。A与m序列模2加运算得到的序列为B。假设在信道实现无差错传输。序列B到达接收端再与m序列进行模2加运算。即可恢复原信息A。
3 结语
m序列是目前应用广泛的一种伪随机序列。广泛应用于通信
领域的多个方面。本文详细地介绍了m 序列及其产生方法,并分析了其在扰码和解码中的应用,以仿真的方式证明了其正确性及其应用价值。
作者:李欢 河南师范大学计算机与信息技术学院 |
|