m序列码产生电路设计与仿真

简介: ⭐本专栏针对FPGA进行入门学习,从数电中常见的逻辑代数讲起,结合Verilog HDL语言学习与仿真,主要对组合逻辑电路与时序逻辑电路进行分析与设计,对状态机FSM进行剖析与建模。
🔥文章和代码已归档至【Github仓库: hardware-tutorial】,需要的朋友们自取。或者关注公众号【AIShareLab】,回复 FPGA 也可获取。

m 序列又叫做伪随机序列、伪噪声(pseudo noise,PN)码或伪随机码,是一种可以预先确定并可以重复地产生和复制、又具有随机统计特性的二进制码序列。

伪随机序列一般用二进制表示,每个码元(即构成m序列的元素)只有“0”或“1”两种取值,分别与数字电路中的低电平或高电平相对应。

m 序列是对最长线性反馈移位寄存器序列的简称,它是一种由带线性反馈的移位寄存器所产生的序列,并且具有最长周期。

图所示是一种3位m序列产生器,它将1,3两级触发器的输出通过同或门反馈到第一级的输入端。

其工作原理是:在清零后,3个触发器的输出均为0,于是同或门的输出为1,在时钟触发下,每次移位后各级寄存器状态都会发生变化。

分析该电路得到如图所示的仿真波形图,其中任何一级触发器(通常为末级)的输出都是一个周期序列(或者称为m序列),但各个输出端的m序列的初始相位不同。m序列的周期不仅与移位寄存器的级数有关,而且与线性反馈逻辑和初始状态有关。

此外,在相同级数的情况下,采用不同的线性反馈逻辑所得到的周期长度是不同的。

该电路的状态转换图如图所示。

共有$2^3-1=7$个状态

三位m序列状态转换图

通常,将类似于图所示结构的m序列产生器称为简单型码序列发生器(Simple Shift Register Generator,SSRG),它的一般结构如下图所示。

图中,各个触发器ai(i=1,2,…r)构成移位寄存器,代表异或运算,C0、C1、C2、……、Cr是反馈系数,也是特征多项式的系数。系数取值为1表示反馈支路连通,0表示反馈支路断开。

SSRG电路的结构

对于SSRG结构的m序列发生器,其特征多项式的一般表达式为

$$ f(x)=C_{0} x^{0}+C_{1} x^{1}+C_{2} x^{2}+\cdots+C_{r} x^{r} $$

特征多项式系数决定了一个m序列的特征多项式,同时也就决定了一个m序列。

下表给出了部分m序列的反馈系数,系数的值是用八进制数表示的。

根据多项式的系数可以产生m序列。

例如,想要产生一个码长为31的m序列,寄存器的级数r = 5,从表中查到反馈系数有三个,分别为45、67、75,可以从中选择反馈系数45来构成m序列产生器,因为使用45时,反馈线最少,构成的电路最简单。

45为八进制数,写成二进制数为100101,这就是特征多项式的系数,即 C5 C4 C3 C2 C1 C0=100101

表明C5、C2、C0三条反馈支路是连通的,另外三条反馈支路C4、C3、C1是断开的,其电路如图所示。

五位 m 序列产生器

Verilog HDL程序如下:

module m5(CLK, CLRN, OUT);
    input CLK, CLRN;   //输入端口
    output OUT;        //输出端口
    reg[4:0] Q;        //中间节点
    wire C0;
assign C0 = ~(Q[4] ^ Q[1]);  //反馈
assign OUT = Q[4];           //输出信号
always@(posedge CLK or negedge CLRN)
begin
    if(!CLRN )
         Q[4:0] <= 5'b00000;    //异步清零
    else
         Q[4:0] <= {Q[3:0],C0}; //移位
end
endmodule

仿真波形(m序列长度为31):


欢迎关注公众号【AIShareLab】,一起交流更多相关知识,前沿算法,Paper解读,项目源码,面经总结。

目录
相关文章
|
7月前
|
数据采集 机器学习/深度学习 运维
量化合约系统开发架构入门
量化合约系统核心在于数据、策略、风控与执行四大模块的协同,构建从数据到决策再到执行的闭环工作流。强调可追溯、可复现与可观测性,避免常见误区如重回测轻验证、忽视数据质量或滞后风控。初学者应以MVP为起点,结合回测框架与实时风控实践,逐步迭代。详见相关入门与实战资料。
|
10月前
|
存储 消息中间件 NoSQL
体育赛事直播系统中基于 WebSocket 实现的聊天室与弹幕模块设计与实践
本文详解东莞梦幻网络科技体育直播系统中「聊天室+弹幕」模块的实时通信技术实现,涵盖 WebSocket 架构、连接池管理、多房间逻辑、消息转发与并发控制等核心要点,助力构建高并发、低延迟的直播互动体验。
|
机器学习/深度学习 人工智能 并行计算
图机器学习调研洞察:PyG与DGL
图神经网络(GNN)是人工智能领域的研究热点,广泛应用于社交网络、电商推荐、欺诈检测等。主流开源图学习引擎如DGL、PyG、GraphScope等在性能和社区活跃度上各有优劣。基于ogbn-products数据集的测试显示,DGL性能最优、内存占用最低,PyG次之。在AI for Science领域,PyG应用更广泛,尤其在小分子和晶体结构预测中表现突出。DGL采用Graph Centric方式,保留图结构;PyG则采用Tensor Centric方式,适合小图场景。
|
算法 异构计算
基于FPGA的4ASK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的4-ASK调制解调系统的算法仿真效果、理论基础及Verilog核心程序。仿真在Vivado2019.2环境下进行,分别测试了SNR为20dB、15dB、10dB时的性能。理论部分概述了4-ASK的工作原理,包括调制、解调过程及其数学模型。Verilog代码实现了4-ASK调制器、加性高斯白噪声(AWGN)信道模拟、解调器及误码率计算模块。
544 8
|
存储 固态存储 安全
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
阿里云4核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
|
传感器 物联网 人机交互
物联网:物联网,作为新一代信息技术的重要组成部分,通过智能感知、识别技术与普适计算等通信感知技术,将各种信息传感设备与互联网结合起来而形成的一个巨大网络,实现了物物相连、人物相连,开启了万物互联的新时代。
在21世纪,物联网(IoT)作为新一代信息技术的核心,正以前所未有的速度重塑生活、工作和社会结构。本文首先介绍了物联网的概念及其在各领域的广泛应用,强调其技术融合性、广泛的应用范围以及数据驱动的特点。接着,详细阐述了物联网行业的现状和发展趋势,包括政策支持、关键技术突破和应用场景深化。此外,还探讨了物联网面临的挑战与机遇,并展望了其未来在技术创新和模式创新方面的潜力。物联网行业正以其独特魅力引领科技发展潮流,有望成为推动全球经济发展的新引擎。
|
Android开发 iOS开发 UED
安卓与iOS的较量:谁才是智能手机市场的王者?
本文将深入探讨安卓和iOS两大智能手机操作系统之间的竞争关系,分析它们各自的优势和劣势。通过对比两者在市场份额、用户体验、应用生态等方面的表现,我们将揭示出谁才是真正的市场领导者。无论你是安卓粉丝还是iOS忠实用户,这篇文章都将为你提供一些有趣的观点和见解。
|
前端开发 Python
Python烟花秀
Python烟花秀
440 1
|
传感器 编解码 算法
ALOHA协议仿真模拟
用python实现纯ALOHA协议和时隙ALOHA协议仿真。
702 1
ALOHA协议仿真模拟
|
JavaScript 前端开发 算法
设计一个JavaScript版的“俄罗斯方块”游戏
【5月更文挑战第14天】设计一个JavaScript版的“俄罗斯方块”游戏,涉及的主要逻辑包括:初始化游戏环境(创建容器,设定变量,加载音效)、生成及控制方块、处理方块碰撞与消除、游戏结束判断以及游戏循环与状态管理。伪代码展示了游戏循环中的关键步骤,如生成方块、移动、锁定、碰撞检测、行消除和游戏结束条件。实际实现需考虑更多细节,如方块形状、移动逻辑、碰撞算法、分数计算,以及动画和音效等。
384 1

热门文章

最新文章