基于FPGA直接序列擴頻系統(tǒng)的設(shè)計
摘要 針對一般無線通信系統(tǒng)抗干擾、抗噪聲以及抗多徑性能力差的缺點,提出了一種基于FPGA的直接序列擴頻系統(tǒng)設(shè)計。該設(shè)計采用63位的pn碼作為擴頻調(diào)制的碼序列,在發(fā)送端,對信息碼進行擴頻調(diào)制;在接收端,對收到的擴頻調(diào)制信號進行解擴,增強了系統(tǒng)的抗干擾性和可靠性。同時在Altera公司的QuartusⅡ軟件中,使用硬件描述語言VHDL和原理圖相結(jié)合的方法進行了電路的設(shè)計實現(xiàn)。通過把電路下裁到Altera公司的CycloneIII的EP3C10E144C8N芯片中調(diào)試,驗證了擴頻系統(tǒng)的可行性。
關(guān)鍵詞 擴頻;pn碼;FPGA
由于擴頻通信系統(tǒng)具有抗干擾性好、抗多徑衰落能力強,可高精度測量、多址復(fù)用等優(yōu)良特性,多年來得到了迅速發(fā)展和廣泛應(yīng)用。
1 直擴系統(tǒng)基本原理
直接擴頻通信就是在發(fā)射端利用高速率擴頻序列去擴展信息數(shù)據(jù)的頻譜,包括偽碼調(diào)制和載波調(diào)制這兩個過程。與一般常見的窄帶通信方式不同,主要體現(xiàn)在信息數(shù)據(jù)經(jīng)擴展頻譜以后成為寬帶信號,再經(jīng)過相關(guān)處理恢復(fù)成窄帶信號后解調(diào)出信息數(shù)據(jù),因此它具有信號相關(guān)處理和偽隨機編碼調(diào)制兩大特點。
直接擴頻通信系統(tǒng)組成原理如圖1所示,在發(fā)端輸入的信息先經(jīng)信息調(diào)制成為數(shù)字信號,然后由擴頻碼發(fā)生器產(chǎn)生的擴頻碼序列調(diào)制數(shù)字信號以展寬信號的頻譜。展寬后的信號再調(diào)制到射頻發(fā)送出去。在接收端將收到的寬帶射頻信號,變頻至中頻,然后由本地產(chǎn)生的與發(fā)端相同的擴頻碼序列去相關(guān)解擴,再經(jīng)信息解調(diào)、恢復(fù)成原始信息輸出。
2 系統(tǒng)總體方案
在發(fā)射系統(tǒng)中,首先產(chǎn)生8位的串行信息碼data_in,然后與來自pn碼發(fā)生器的擴頻偽碼序列進行模2加,完成信號的頻譜擴展,得到擴頻信號data_kuo。在接收端經(jīng)過pn碼同步捕獲后,將擴頻調(diào)制信號與本地同步擴頻序列進行異或運算,得到解擴信號data_jie,比較data_ kuo與data_jie波形圖,從而驗證系統(tǒng)擴頻解擴的效果與可行性。
3 系統(tǒng)模塊化設(shè)計
3. 1 信息碼輸入模塊的產(chǎn)生
該模塊功能是利用8位移位寄存器,在時鐘信號的控制下移位輸出8位信息碼。clr為裝載信號,當clr=0時,從撥碼開關(guān)并行讀入8位信息碼,裝入到內(nèi)部8位寄存器中,當clr=1時,將輸入的8位信息碼在時鐘信號的控制下實現(xiàn)串行移位輸出。
仿真結(jié)果如圖2所示,擴頻前的數(shù)據(jù)信息為11000110B。
3. 2 pn碼發(fā)生器的數(shù)字化設(shè)計
由前所述,本系統(tǒng)的pn碼發(fā)生器采用m序列發(fā)生器,n級線性移位寄存器的反饋邏輯可用特征多項式f(x)=c0+c1x+c2x2+…+cnxn表示,m序列發(fā)生器選用6級移位寄存器,即n=6,查表得到的反饋系數(shù)為103,因此其對應(yīng)的特征多項式為f(x)=x6+x+1,由第1級和第6級引回反饋,移位寄存器反饋原理圖如圖3所示。
6級m序列發(fā)生器可產(chǎn)生周期為63的pn碼序列,寄存器起始序列若為全零,輸出序列也將為全零,這樣會造成pn碼發(fā)生器進入死鎖狀態(tài)。因此要使pn碼發(fā)生器可以正常工作,產(chǎn)生預(yù)期的pn序列,必須保證在起始時寄存器中至少有一個為1。63位pn碼仿真圖如圖4所示。
3.3 擴頻調(diào)制及解調(diào)模塊綜合仿真
在實際應(yīng)用中,為達到數(shù)據(jù)符號擴頻的目的,通常的做法就是用一擴頻碼序列與待發(fā)射的信號相乘,并且擴頻序列具有比數(shù)據(jù)比特窄得多的時寬,從而使擴頻序列具有比數(shù)據(jù)序列高得多的頻帶。
系統(tǒng)總體設(shè)計的原理圖如圖5所示,在本次系統(tǒng)的設(shè)計中,發(fā)射端和接收端都工作在數(shù)據(jù)符號同步調(diào)制模式,也就是說,pn碼序列與數(shù)據(jù)符號電平變化沿對齊,且每個符號重復(fù)一次;在接收端,也是通過一個數(shù)據(jù)符號時間內(nèi)同步一個pn碼序列,在捕獲一個pn碼序列的同時,實現(xiàn)了數(shù)據(jù)符號的同步。這樣不但可以縮短捕獲時間,而且還可以省去一般窄帶數(shù)字通信中由鎖相環(huán)構(gòu)成的時鐘同步系統(tǒng),簡化了系統(tǒng)設(shè)計。
在本次設(shè)計中,一個數(shù)據(jù)符號是同步一個63位的pn碼序列,pn就是pn碼發(fā)生器模塊產(chǎn)生的63位m序列,data_in是信息碼輸入模塊產(chǎn)生的串行信息碼,在此圖中為11000110數(shù)據(jù)符號,data_kuo是本擴頻模塊的輸出。在發(fā)送端,擴頻的結(jié)果實際上是對兩者進行時域相乘,或者是模二和,并且實現(xiàn)了一個數(shù)據(jù)符號同步一個63位的pn碼序列,完成了符號同步調(diào)制模式,然后與來自pn碼發(fā)生器的偽碼序列進行模2加,完成信號的頻譜擴展。在接收端,data_kuo與本地同步pn碼模二和后,成信號的解擴,解擴輸出信號為data_jie。
擴頻解擴綜合仿真圖如圖6所示。其中data_in為串行輸入的二進制數(shù)11000110,信息碼輸入的時鐘信號為clk,pn碼發(fā)生器的時鐘信號為elk1,pn是產(chǎn)生的63位pn碼序列,data_kuo為擴頻后的碼序列,data_jie解擴后的信號,實現(xiàn)了信號的解擴。
4 系統(tǒng)的FPGA實現(xiàn)
系統(tǒng)選擇Ahera公司生產(chǎn)的CycloneIII系列的FPGA(EP3C10E144C8N)。Ahera公司的這款CycloneIII FPGA比上一代FPGA的功耗低75%,共有144個引腳組成,這些I/O引腳支持6種單端信號標準、8種差分標準,含有10 kbit邏輯單元(LE),23個數(shù)字信號處理(DSP)乘法器,存儲器達400 kbit,CycloneIII系列比前一代產(chǎn)品每邏輯單元成本降低20%,使設(shè)計人員能夠更多地在成本敏感的應(yīng)用中使用FPGA。
將VHDL源程序通過JTAG口下載到FPGA中,配置好FPGA引腳后,用排針將FPGA的引腳引出,將FPGA的輸出引腳分別與示波器的輸入相連接,觀察系統(tǒng)波形如圖7所示。從圖中可以看出FPGA輸出波形圖與仿真圖吻合,從而驗證了系統(tǒng)VHDL程序的正確性與可行性。另外,由于系統(tǒng)時鐘頻率較高,波形存在較為較為明顯的過沖現(xiàn)象。
5 結(jié)束語
提出了一種基于FPGA的直接序列擴頻系統(tǒng)的設(shè)計,旨在使無線通信系統(tǒng)具有較強的抗干擾性和可靠性。在Altera公司的Quartus II軟件平臺上,利用了硬件描述語言VHDL和原理圖相結(jié)合的方法進行了電路的設(shè)計實現(xiàn),并將程序下載到FPGA中,利用示波器觀察輸出波形,通過輸出波形結(jié)果觀察本系統(tǒng)的擴頻解擴性能。