扫一扫,分享给好友
m序列简介
m序列是一种常用的伪随机序列,由具有反馈函数的移位寄存器电路产生,具有周期性,一旦反馈表达式及移位寄存器的初值(又称为种子)给定,就可以重复实现某组确定的序列值。该特点使得m序列在数据传输加密、拓展频谱通信等领域使用广泛。
m序列的工作原理
此处以一个4级的m序列生成电路来介绍m序列的工作原理:
图1.电路实现
图2.移位循环过程
在每个时钟周期,移位寄存器所有位的值右移一位,最左边的寄存器的值由反馈值填充;
输出方式分为并行和串行两种:并行方式以每个寄存器的输出作为输出结果(图1中的A3A2A1A0),每次输出的数据长度即为寄存器的数目n,且寄存器由左到右对应输出结果由MSB到LSB;串行方式以最后一位寄存器的输出作为输出结果(图1中的B),每次输出的数据长度为1;但无论是串行输出还是并行输出,其周期均为 。
反馈函数的确定
图3.多项式查找表
图4.反馈关系图
反馈函数的表达式是由m序列本原多项式决定的,图3为不同级数(级数即为寄存器的数目)的m序列各自对应的本原多项式;图4为移位寄存器间的反馈关系图,其中an-1到a0对应各个寄存器的值,C0至Cn对应本原多项式中至的系数,根据本原多项式的表达式取值成0或1,取值为1代表该条反馈支路存在。
确定反馈函数应分为以下几个步骤:
例如,在构建一个级数n=8的m序列时:
m序列的Verilog实现
源代码:
仿真结果:
设定种子值为1000,得到仿真波形如下,与图2中的手动推算结果一致
在always中对serial_out进行非阻塞赋值的仿真结果:
发布
通信伪随机序列fpga
紫光同创FPGA权威开发指南,原厂携手小眼睛科技威廉希尔官方网站 专家联合编著
AIBOX-3588M,为终端提供算力,基于RK3588平台!
教程!FPGA DDR4读写实验(1)
【有奖提问】关于盘古1K2K开发板你有什么想知道的?一起来留言获取答案吧!
盘古22K开发板
盘古200 pro开发板
盘古50 pro开发板
盘古50K开发板
盘古100 pro开发板
FPGA在图像处理领域的优势有哪些?
电子发烧友网
电子发烧友论坛