官方论坛
官方淘宝
官方博客
微信公众号
点击联系吴工 点击联系周老师
您的当前位置:主页-old > 新闻中心 > FPGA技术教程 > 信号处理 >

基于FPGA的M序列发生器设计

发布时间:2020-03-09   作者:admin 浏览量:

本文为明德扬原创及录用文章,转载请注明出处!

一、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阶仿真波形



   拓展阅读