m序列

发布时间:2020-04-21 05:41:39   来源:文档文库   
字号:

m序列

基本概念:

M序列(即De Bruijn序列

)又叫做伪随机序列、伪噪声(PN)码或伪随机码。可以预先确定并且可以重复实现的序列称为确定序列;既不能预先确定又不能重复实现的序列称随机序列;不能预先确定但可以重复产生的序列称伪随机序列。

具体解释

于一个n反馈移位寄存器来说,最多可以有2^n 个状态,对于一个线性反馈移位寄存器来说,全“0”状态不会转入其他状态,所以线性移位寄存器的序列的最长周期为 2^n-1。当n级线性移位寄存器产生的序列{ai}的周期为T= 2^n-1时,称{ai}nm序列。 

当反馈函数fa1,a2,a3,…an)为非线性函数时,便构成非线性移位寄存器,其输出序列为非线性序列。输出序列的周期最大可达 2^n ,并称周期达到最大值的非线性移位寄存器序列为

1.m序列的产生原理和结构

m序列是n 级二进制线性反馈移位寄存器除去输出为0的状态外,产生的周期为2 n -1 的最大可能长度序列,又称为最大长度线性反馈移位序列。其产生的原理如图1所示。

PN序列发生器由n级移位寄存器,模二加法器和反馈线三个部分组成。图中,c i ( i =1n ) 为反馈系数,若c i =1,表示有连接,有反馈,若c i =0则表示断开,无反馈。c i 的取值决定了移位寄存器的反馈连接和序列的结构,故是一个很重要的参量。

2.m序列的基本性质

(1) 移位相加特性。一个m序列 与其任意次延迟

移位后产生的另一个不同序列 2相加,得到的仍是

m 序列的延迟移位序列。如,0100111向右移1次产生另

一个序列1010011 ,模2相加后的序列为1110100 ,相当于

原序列右移3次后得到的序列。

(2) 平衡特性。在m序列的每个2n1周期中,"1"码元出现的数目为次,"0"码元出现的数目为2n 1

1 次,即"0"的个数总是比"1"的个数少一个,这表明,序列平均值很小。

(3) 游程特性。"游程"是指在一个序列周期中连续排列的且取值相同的码元的合称,在一个游程中的码元的个数为游程长度。m 序列中共有2n 1个游程。其中长度为的游程数目占总游程数的2k,长度为n的连"1"游程数为1,长度为n1的连"0"的游程数为1

3. m序列的matlab程序仿真和实现

m 序列发生器的设计和实现方法很多,既可以用硬件通过加法器产生,也可以通过编程实现。就目前的趋势来看,更多的研究者偏向于软件,这是因为国内外的软件资源非常丰富,实现起来方便。而matlab除了其强大的科学计算功能外,在信号处理和仿真方面的贡献也不可小觑。下面是产生序列的matlab程序段:

function[out]=mgen(g,state,N)

%输入g:m 序列生成多项式(10进制)

%state: 寄存器初始状态

%N:输入序列长度

%test g=11,state=3,N=15

gen=dec2bin(g)-48;

M=length(gen);

curState=dec2bin(state,M-1)-48;

for k=1:N

out(k)=curState(M-1);

a=rem(sum(gen(2:end).*curState),2);

curState=[a curState(1:M-2)];

end

M序列系统框图

 产生m序列的框图如下

具体应用:

信息安全

主要用在加密解密上面

通信行业

CDMA通信的行业的信息传输;

m序列的产生原理、结构及产生

m序列是最长线性反馈移位寄存器序列的简称,m序列是由带线性反馈的移位寄存器产生的。

n级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。

带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化,其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。

n级线性移位寄存器的如图3.1所示:

图中Ci表示反馈线的两种可能连接方式,Ci=1表示连线接通,第n-i级输出加入反馈中;Ci=0表示连线断开,第n-i级输出未参加反馈。

因此,一般形式的线性反馈逻辑表达式为

------表达式3.1

将等式左边的an移至右边,并将an=C0an(C0=1)带入上式,则上式可以写成

-------表达式3.2

定义一个与上式相对应的多项式

--------表达式3.3

其中x的幂次表示元素的相应位置。该式为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系。当F(x)满足下列三个条件时,就一定能产生m序列:

(1)F(x)是不可约的,即不能再分解多项式;

(2)Fx)可整除xn+1,这里p=2n+1

(3)Fx)不能整除xn+1,这里q

满足上述条件的多项式称为本原多项式,这样产生m序列的充要条件就变成了如何寻找本原多项式。

m序列的基本性质

(1)均衡性。在m序列一个周期中‘1’的个数比‘0’要多1位,这表明序列平均值很小。

(2)m序列与其移位后的序列模2相加,所得的序列还是m序列,只是相位不同而已。例如:1110100与向又移3位的序列1001110相对应模二相加后的序列为0111010,相当于原序列向右移一位后的序列,仍为m序列。

(3)m序列发生器中移位寄存器的各种状态,除全0状态外,其他状态只在m序列中出现一次。

(4)m序列发生器中,并不是任何抽头组合都能产生m序列。理论分析指出,产生的m序列数由下式决定:

--------表达式3.4

其中φ(X)为欧拉数。例如5级移位寄存器产生31m序列只有6个。

(5)m序列具有良好的自相关性,其自相关系数:

-------表达式3.5

m序列的自相关系数可以看出m序列是一个狭义伪随机码

生成m序列的模块

根据m序列的生成原理图,如图3.1所示,由图可知m序列是多级移位寄存器通过线性反馈再进行模二相加产生的,最后一位一位输出观察其波形图。程序中使用的代码如下:

N=2^length(reg1)-1;

for k=1:N

a_n=mod(sum(reg1.*coeff1(1:length(coeff1)-1)),2);

reg1=[reg1(2:length(reg1)),a_n];

out1(k)=reg1(1);

end

其中Nm序列的长度,值为(26-1)。由程序已定义了移位寄存器的初始状态和抽头系数,在此基础上进行反馈,后进行模二加,所得的结果为输出的第一个值,初始状态向左移移位,而所得的输出值填补上变成新的序列,在进行第二次反馈和模二加,依次循环N次,产生m序列

本文来源:https://www.2haoxitong.net/k/doc/675ae88e960590c69ec376af.html

《m序列.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式