·上一文章:FPGA和ARM的Profibus-DP主站通信平台设计
·下一文章:ISPl362在基于FPGA的红外成像系统中的应用
图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子序列也具有优良的伪随机特性,从而验证了该算法的正确性。