基于FPGA的偽隨機序列發(fā)生器設(shè)計
現(xiàn)以本原多項式所對應(yīng)的移位寄存器為出發(fā)點,以周期29-1的某一m子序列為例,給移位寄存器賦以初始值{000000001},并在此交換兩對共軛狀態(tài)的后繼,其中;

那么,由布爾函數(shù)理論及式(1)和式(2)有:m子序列移位寄存器反饋邏輯為:

,
若將線性m序列和非線性m子序列整合在一起,那么,在Quartus中生成的序列發(fā)生器模塊如圖3所示。本文引用地址:http://m.ptau.cn/article/191753.htm
圖3中,L_prsg模塊是線性偽隨機序列發(fā)生器(m序列發(fā)生器),NL_prsg模塊是非線性偽隨機序列發(fā)生器(m子序列發(fā)生器)。時鐘clk選用2 MHz。根據(jù)SEL[0..2]端子可選擇不同周期的序列,m序列發(fā)生器中R序列周期可選;m子序列發(fā)生器中的序列周期可選。若N_L_SEL端子取1,則選擇非線性偽隨機序列發(fā)生器,SEL[0. .2]端子取101,則選擇周期是29-1的m子序列。圖4所示是序列發(fā)生器模塊的仿真波形圖。
比較周期是29-1的某一m子序列與同一周期的m序列可知,其兩者具有相同的周期、平衡性、相近的自相關(guān)性以及不同的局部游程和不同的線性復(fù)雜度。QUARTUS中的仿真報告表明,L_prsg模塊將耗費96個Logic Elements,NL_prsg模塊則耗費35個Logic Elements。
3 結(jié)束語
偽隨機序列在通信、密碼學(xué)、雷達、導(dǎo)航、芯片內(nèi)建自測試方面具有廣泛的應(yīng)用,本文給出了線性m序列和基于m序列的m子序列的FPGA實
現(xiàn)方法。本方法應(yīng)用移位寄存器理論。從m序列的本原多項式出發(fā),其算法核心是找到m序列本原多項式與線性m序列和m子序列移位寄存器反
饋邏輯式之間的關(guān)系,然后采用VHDL語言編程,并借助Qualt usⅡ開發(fā)平臺實現(xiàn)序列。
文中通過對偽隨機性分析表明:其所產(chǎn)生的序列符合m序列的統(tǒng)計特性。m子序列也具有優(yōu)良的偽隨機特性,從而驗證了該算法的正確性。
評論