摘 要:本文根據線性反饋寄存器可產生偽隨機序列的原理,基于FPGA硬件電路平臺以QuartusⅡ為開發平臺采取了自頂向下的設計方法設計了偽隨機序列調頻系統,將產生的偽隨機序列作為調頻碼反饋回輸入端,通過DDS的方法實現調頻,用來控制正弦波形的輸出頻率。
關鍵詞:偽隨機序列FPGA調頻
中圖分類號:TN919文獻標識碼:A文章編號:1674-098X(2011)08(c)-0080-01
在通信領域,如果一種序列可以預先確定的,即可以重復地生產和復制,同時統計特性方面又具有隨機序列的隨機特性,我們便稱這種序列為偽隨機序列。偽隨機序列現已廣泛地應用于許多重要領域,如密碼學、擴頻通訊、導航、現代戰爭中的電子對抗技術等等。
偽隨機序列的偽隨機性主要是指其預先的確定性以及可重復產生與處理,其發生器通常是通過算法實現的,由于算法是已經確定的,產生器并不能產生真正的隨機序列,生成的序列都具有或長或短的周期,但是當所產生序列的周期足夠大時,便具有了隨機序列的良好統計特性,看起來是隨機的。
偽隨機序列具有良好的相關特性,可以作為雷達測距、同步或是線性系統測量的信號。因為具有偽隨機性,因而它也可用于加密系統和偽隨機調頻等場合,還可用來產生偽隨機數,用來在數字系統中作為誤碼測試信號等。
1 基于FPGA實現偽隨機序列
在很多實際應用場合中,直接利用FPGA產生偽隨機序列的方法可以為系統設計帶來極大的便利。本文給出了一種簡潔而又高效的偽隨機序列產生方法,結合FPGA特有的結構,采用線性反饋寄存器的原理實現偽隨機序列的方法,選用了altera的cyclone III系列FPGA芯片EP3C25作為硬件平臺,該芯片內部有24624個邏輯單元、608256bit的RAM和4個鎖相環。(如圖1)
開發的源程序如下:
module m_sequence (clk,out);
parameter level=3;
parameter [level-1:0] initial_state=3'b111;
input clk;
output[1:0] out;
reg[level-1:0] register;
integer i;
initial register<=initial_state;
always @(posedge clk)
beginregister[0]<=register[level-2] ^ register[level-1]; //
for(i=0;i end assign out[1]=register[0];assign out[0]=register[2]; endmodule 生成的偽隨機序列的結果可以從示波器觀測到,如圖1所示。可以說偽隨機序列是具有某種隨機特性的確定的序列,它們是由移位寄存器產生確定序列,然而他們卻具有某種隨機序列的隨機特性。因為同樣具有隨機特性,無法從一個已經產生的序列的特性中判斷是真隨機序列還是偽隨機序列,只能根據序列的產生辦法來判斷。 2 基于DDS的偽隨機序列調頻 基于DDS數字頻率合成技術,產生標準正弦波的基礎之上,利用波形頻率的可控性,將產生的偽隨機序列反饋回輸入端,使得輸出波形變成調頻波(圖2所示)。 源程序如下: modulepntp(I_24m_clk,In_dat, O_da_clk1,O_da_clk2,PN_dat,O_sin_dat); inputI_24m_clk; input[1:0]In_dat; output O_da_clk1; output O_da_clk2; output[1:0] PN_dat; output[11:0]O_sin_dat; reg[1:0]PN_dat; reg[11:0] O_sin_dat; reg[9:0]i; reg[9:0]R_ram_addr; wire[11:0]W_sin_dat; wire[1:0] W_pndat;// always @ (posedge I_24m_clk) beginR_ram_addr<=R_ram_addr + In_dat+1; i<=i+1; PN_dat<=W_pndat ; O_sin_dat<=W_sin_dat+12'h800; //AD568 data format end m_sequence a(.clk(i[9]),.out(W_pndat)) ;//調用之前的偽隨機序列產生模塊 rom_sin rom_sin_u(.address (R_ram_addr),.clock (I_24m_clk),.q (W_sin_dat )); assignO_da_clk1=I_24m_clk; assignO_da_clk2=I_24m_clk; endmodule 觀察仿真后的資源占用情況,可見該系統消耗的資源很少。邏輯單元只用了37個,占用的系統資源不到1%。理論證明這種簡捷的方法所產生的偽隨機序列不僅可具有很長的周期,而且還具有良好的隨機特性。 3 總結與展望 偽隨機序列系列具有良好的隨機性和接近于白噪聲的相關函數,并且有預先的可確定性和可重復性。這些特性使得偽隨機序列得到了廣泛的應用,特別是在CDMA系統中作為擴頻碼已成為CDMA技術中的關鍵問題。 采用現代電子技術,基于現場可編程門陣列的數字平臺實現調頻系統是一種較為新穎的方法。這種方法設計開發流程比較快,系統較為穩定,也不易受溫度、工作電壓和系統有關參數等其它因素的干擾,同時更方便的進行算法的改進。