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