当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:讨论了应用移位寄存器在Ahera的FPGA芯片中实现线性和非线性伪随机序列的方法,该算法基于m序列本原多项式来获得线性m序列和非线性m子序列移位寄存器的反馈逻辑式。文中给出了以Altera的QuartusⅡ为开发平台,并

摘要:讨论了应用移位寄存器在Ahera的FPGA芯片中实现线性和非线性伪随机序列的方法,该算法基于m序列本原多项式来获得线性m序列和非线性m子序列移位寄存器的反馈逻辑式。文中给出了以Altera的QuartusⅡ为开发平台,并用VHDL语言实现的m序列的仿真波形。
关键词:伪随机序列;m序列;m子序列;移位寄存器;VHDL语言编程

0 引言
    伪随机序列现已广泛应用于密码学、扩频通讯、导航、集成电路的可测性设计、现代战争中的电子对抗技术等许多重要领域。伪随机序列的伪随机性表现在预先的可确定性、可重复产生与处理。伪随机序列虽然不是真正的随机序列,但是当伪随机序列周期足够长时,它便具有随机序列的良好统计特性。在已有的序列中,m序列的应用最为成熟和广泛,为此,本文给出线性m序列和基于m序列的非线性m子序列的FPGA实现方法。由于FPGA的内部逻辑功能是通过向内部静态存储器单元加载配置数据来实现的,其配置文件决定了逻辑单元的逻辑功能以及模块间或与I/O间的连接,故可最终决定FPGA实现的功能。FPGA的这种结构允许多次编程,并享有快速有效地对新设计进行优化的灵活性,为此,本文选用了altera的cyclone系列FPGA芯片。EPlCl2-240PQFP,该芯片内部有12060个逻辑单元、239616 bit RAM、两个锁相环(PLL)。本文应用移位寄存器理论来产生序列,其算法的关键是找到线性m序列和非线性m子序列移位寄存器的反馈逻辑式。

1 m序列的实现
1.1 基于FPGA的m序列实现
    利用反馈移位寄存器产生0、1序列时,其n位反馈移位寄存器的逻辑功能如图1所示。


    图中,xi表示寄存器所处的状态,通常用0和1来代表两个可能的状态,并且把0和1看成是有限域GF(2)的两个元素。f(x0,x1,…,xn-1)刻划了移位寄存器反馈逻辑的功能,它可以看成一个定义在GF(2)上并且在GF(2)中取值的n元函数,当f(x0,x1,…,xn-1)可以表示成一线性齐次函数时,即GF(2),相应的反馈移位寄存器是线性的,而由线性移位寄存器产生的序列就称为线性移位寄存器序列。m序列就是线性移位寄存器序列。
    对于一个n级m序列移位寄存器来说,它在每一时刻的内部状态都可以看做有限域GF(2)上的一个n维向量,而反馈函数就是刻划了从每一时刻的状态到下一时刻状态的转移规律,或者说反馈函数定义了n维向量空间上的一个线性变换。
    通常可以用Vn(F)代表域GF(2)上全体n元数组构成的n维向量空间,a=(a0a1a2…an-1…)代表n级移位寄存器产生的m序列。n级m序列移位寄存器的状态可以看做Vn(F)中的向量。设f(λ)=λn+Cn-1λn-1+…+C0是多项式环F[λ]中的一次n多项式,那么,对于G(f)中的线性移位寄存器序列,从状态(akak+1…ak+n-1)到下一个状态(ak+1ak+2…ak+n)的转移就可以看成是Vn(F)的一个线性变换。由于ak+n=cn-1ak+n-1+cn-2ak+n-2+…+coak,于是,状态转移变换用矩阵写出来就是:

 称为线性移位寄存器的状态转移矩阵,显然,状态转移矩阵T和初始状态完全刻画了线性移位寄存器所产生的序列。它在此建立起了反馈
    =GF(2)之间的关系,这样就可以直接从m序列本原多项式出发,在FPGA中实现m序列移位寄存器结构并产生m序列。

    若本原多项式的m序列移位寄存器反馈逻辑为,则本原多项式的m序列的VHDL语言实现代码如下:

    

图2所示是该序列在QuaitusⅡ开发平台中的仿真波形。

    
    其中,斜体0、1代码表示序列又一周期的开始,周而复始。
1.2序列伪随机性分析
    对本原多项式是的m序列伪随机性进行分析时,主要是分析其平衡性和游程特性。首先是平衡性。通常在一个周期中,m序列的l出现的次数为2n-1次;0出现的次数2n-1-1次。其次是游程特性。即对于O<k≤n-2,其长度为k的0游程出现2n-k-2次;长度为k的l游程也出现2n-k-2次;长度为n-1的0游程出现1次;长度为n的l游程出现1次。以上就是其中出现的全部游程。
    平衡性和游程特性分析表明该序列符合m序列的统计特性。

2 非线性m子序列实现
    m子序列是与m序列具有同周期、相同平衡性和不同局部游程的序列,m子序列移位寄存器的反馈多项式与m序列移位寄存器的反馈多项式的关系,可以根据m子序列的构造思想来计算,其中交换一对共轭状态的后继意味着反馈函数f(x)在共轭状态处取补,其中s=(s0s1…sn-1),,即f(x)’=f(x)+1。其它状态处反馈函数不变,即f(x)’=f(x)+0。因此,可由布尔函数理论推知:


    
    现以本原多项式所对应的移位寄存器为出发点,以周期29-1的某一m子序列为例,给移位寄存器赋以初始值{000000001},并在此交换两对共轭状态的后继,其中;
那么,由布尔函数理论及式(1)和式(2)有:m子序列移位寄存器反馈逻辑为:

若将线性m序列和非线性m子序列整合在一起,那么,在Quartus中生成的序列发生器模块如图3所示。


    图3中,L_prsg模块是线性伪随机序列发生器(m序列发生器),NL_prsg模块是非线性伪随机序列发生器(m子序列发生器)。时钟clk选用2 MHz。根据SEL[0..2]端子可选择不同周期的序列,m序列发生器中R序列周期可选;m子序列发生器中的序列周期可选。若N_L_SEL端子取1,则选择非线性伪随机序列发生器,SEL[0. .2]端子取101,则选择周期是29-1的m子序列。图4所示是序列发生器模块的仿真波形图。


    比较周期是29-1的某一m子序列与同一周期的m序列可知,其两者具有相同的周期、平衡性、相近的自相关性以及不同的局部游程和不同的线性复杂度。QUARTUS中的仿真报告表明,L_prsg模块将耗费96个Logic Elements,NL_prsg模块则耗费35个Logic Elements。

3 结束语
    伪随机序列在通信、密码学、雷达、导航、芯片内建自测试方面具有广泛的应用,本文给出了线性m序列和基于m序列的m子序列的FPGA
现方法。本方法应用移位寄存器理论。从m序列的本原多项式出发,其算法核心是找到m序列本原多项式与线性m序列和m子序列移位寄存器反
馈逻辑式之间的关系,然后采用VHDL语言编程,并借助Qualt usⅡ开发平台实现序列。
    文中通过对伪随机性分析表明:其所产生的序列符合m序列的统计特性。m子序列也具有优良的伪随机特性,从而验证了该算法的正确性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

Bourns® TLVR1005T 和 TLVR1105T 系列采用双绕组结构和低感值设计,可提供快速瞬态响应,并可依据 CPU、FPGA 和 ASIC 负载要求进行延展

关键字: 数据驱动 电感器 FPGA

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能

武汉2024年5月15日 /美通社/ -- 北京时间4月26日-5月4日,2024 VEX 机器人世界锦标赛于美国得克萨斯州达拉斯市举办。本届 VEX 世锦赛为期九天,设有 VIQRC 小学组/初中组、V5RC 初中组/...

关键字: 机器人 BSP RC POWERED

上海2024年5月15日 /美通社/ -- 由生成式人工智能(AI)驱动的临床阶段生物医药科技公司英矽智能宣布,与复星医药(600196.SH;02196.HK)合作开发的潜在"全球首创"候选药物IS...

关键字: ISM BSP PC 人工智能

用于数字化仪和发生器的高级面向对象Python软件包

关键字: 数字化仪 发生器 Python软件包
关闭
关闭