本文为明德扬原创及录用文章,转载请注明出处!
一、M序列简介
M序列是最长线性反馈移位寄存器序列的简称。它是由带线性反馈的移位寄存器产生的周期最长的序列。一般来说,一个n级线性反馈移位寄存器可能产生的最长周期为(2^n-1)。
因为移位寄存器的初始值不能为0,否则不管怎么移,移位寄存器的值都不为0,所以最长周期为(2^n-1)。
二、应用范围
M序列是广泛应用的一种伪随机序列,其在通信领域有着广泛的应用,如扩频通信,卫星通信的码分多址,数字数据中的加密、加扰、同步、误码率测量等领域。
在所有的伪随机序列中,M序列是最重要、最基本的一种伪随机序列。它容易产生,规律性强,有很好的自相关性和较好的互相关性。
三、M序列模型
n级线性移位寄存器结构如下
上图可以转换成数学表达式
其中Ci的取值为0或1,其中C0、Cn-1为1。当此式为本原多项式(只能被1和自身整除,类似于质数)时才能产生M序列。
这里给出2阶到10阶的本原多项式
四、FPGA实现
我们以7阶、8阶本原多项式为例设计两个M序列发生器
1、7阶架构设计
注:⊕ 代表异或
说明:r0异或r4赋值给r6,其它值按位移就可以。
信号说明:
代码如下:
2、8阶架构设计
说明:r0异或r4异或r5异或r6赋值给r7,其它值按位移就可以。
代码如下:
tb文件参考工程文件夹中的sim文件夹
1、7阶仿真波形
五、仿真验证
2、8阶仿真波形