新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 數(shù)字差分BPSK擴頻接收機的設(shè)計與FPGA實現(xiàn)

數(shù)字差分BPSK擴頻接收機的設(shè)計與FPGA實現(xiàn)

作者: 時間:2007-07-31 來源:網(wǎng)絡(luò) 收藏
摘要:本文提出了一種全方案,通過Simulink仿真驗證了該方案具有較低的誤碼率。然后利用Verilog硬件描述語言編程,通過了綜合和仿真驗證,最后在Xilinx公司了整個系統(tǒng)。該系統(tǒng)經(jīng)過優(yōu)化,具有易于硬件,占用芯片資源少等優(yōu)點,對實際工程有一定的指導(dǎo)意義。
關(guān)鍵字,,同步

1引言

隨著軟件無線電技術(shù)的發(fā)展,傳統(tǒng)的基于復(fù)雜模擬硬件的接收設(shè)備逐漸向數(shù)字IC產(chǎn)品過渡,而作為ASIC產(chǎn)品原型的可編程邏輯器件,以其豐富的邏輯資源和可重新配置的優(yōu)勢,成為人們前期研究與開發(fā)的重要手段。因此,在可編程邏輯器件上實現(xiàn)數(shù)字關(guān)鍵技術(shù)進行研究,具有重要的應(yīng)用價值。

本文給出了一種直接序列擴頻的方案,并通過simulink進行了仿真,同時本文深入探討了方案中的關(guān)鍵技術(shù)在FPGA中的實現(xiàn)結(jié)構(gòu),在保證系統(tǒng)穩(wěn)定性,和不影響系統(tǒng)性能的前提下降低硬件復(fù)雜度的問題上提出了FPGA實現(xiàn)方案,并最終在Xilinx XC2V500 FPGA上實現(xiàn)了整個系統(tǒng),對工程實踐有一定的指導(dǎo)意義。

2. 擴頻接收機的結(jié)構(gòu)與實現(xiàn)

數(shù)字BPSK擴頻接收機原理圖見圖1,系統(tǒng)主要可以分為三個部分:解調(diào)電路、PN碼捕獲電路和PN碼跟蹤電路。

圖1 數(shù)字差分BPSK擴頻接收機原理圖

*本文工作得到國家自然科學(xué)基金資助(批準號:60171037)


通過Simulink仿真該系統(tǒng),同時結(jié)合Xilinx公司FPGA特點,對硬件電路實現(xiàn)進行探討,在保證系統(tǒng)性能的前提下,減小硬件實現(xiàn)復(fù)雜度。 下面將具體介紹電路各部分原理與硬件實現(xiàn)。

2.1 數(shù)字解調(diào)

BPSK信號的解調(diào)通常采用相干解調(diào)的方式,已經(jīng)證明跟蹤低信噪比的抑制載波信號的最佳裝置是Costas環(huán)及平方環(huán)[1],并且這兩種結(jié)構(gòu)是等效的,在數(shù)字域中通常采用Costas環(huán)實現(xiàn)載波同步。

Costas環(huán)電路結(jié)構(gòu)見圖1解調(diào)電路,電路各部分實現(xiàn)如下。

(1)數(shù)控振蕩器(NCO)

數(shù)控振蕩器采用查找表結(jié)構(gòu),即預(yù)先將正弦信號樣本存儲在ROM中,通過相位進行累加,將結(jié)果作為ROM地址信號進行查表,得到的輸出即為正弦信號,此處的ROM可由FPGA中的塊RAM實現(xiàn)。

(2)解擴單元

直擴通信中,需要先解擴才能使Costas環(huán)正常工作,下變頻后的數(shù)據(jù)先利用已經(jīng)同步的PN碼進行解擴處理。解擴過程并不需要乘法器,可以利用異或邏輯完成。本系統(tǒng)實現(xiàn)中將PN碼事先存入FPGA的基本單元-查找表(LUT)中,令LUT實現(xiàn)移位寄存器功能,利用跟蹤單元生成的同步PN碼時鐘進行移位,移位輸出的PN碼與輸入信號進行異或,完成解擴。

(3)積分清零器(I-D)

積分清零器對一個PN碼周期的數(shù)據(jù)進行累加,輸出與信息碼元相同速率的比特流,完成相關(guān)運算,同時起到低通濾波的作用。

(4)環(huán)路低通濾波器

乘法鑒相器的輸出經(jīng)過環(huán)路濾波器后,去修正數(shù)字控制振蕩器的頻率控制字,完成閉環(huán)控制。Costas環(huán)采用二階環(huán)路,對應(yīng)一階環(huán)路濾波器,濾波器的傳輸方程為[2]

其中系數(shù)C1,C2可以由理論推導(dǎo)得出,實際應(yīng)用中也經(jīng)常采用經(jīng)驗比值 ,具體數(shù)值根據(jù)實際仿真結(jié)果選擇。

2.2 PN碼捕獲

PN碼捕獲在載波恢復(fù)之前。PN碼同步分為捕獲和跟蹤兩個階段:捕獲完成粗同步,使PN碼同步誤差在一個碼元之內(nèi);跟蹤完成精確同步,使本地PN碼與輸入序列PN碼精確對準。PN碼捕獲存在多種算法,匹配濾波法具有捕獲時間短的特點,因此本文采用這種方法。

匹配濾波器的原理比較簡單(電路見圖1 PN碼捕獲電路),捕獲過程利用本地PN碼對I、Q兩路同時進行相關(guān)處理,然后能量求和后檢測峰值。通常為了降低虛警同步的概率,可以同步狀態(tài)機,當峰值超過某閾值時,認為PN碼達到預(yù)同步,經(jīng)過一個PN碼周期,再檢測閾值,這樣經(jīng)過多次檢測,每次都超過閾值時認為捕獲成功,這樣設(shè)計可以大大減小PN碼捕獲的虛警概率。

傳統(tǒng)的并行數(shù)字匹配濾波器在實現(xiàn)上存在資源占用率大的缺點,本設(shè)計中針對FPGA內(nèi)部特點,采用折疊型匹配濾波器[3]。折疊型濾波器允許使用者更加靈活的從占用芯片資源與芯片處理速度之間做出折衷的選擇,給實際應(yīng)用帶來了很大的方便。

具體地,系統(tǒng)中的PN碼長為15位,4倍過采樣率,對應(yīng)折疊型匹配濾波器結(jié)構(gòu)如下圖。

圖2 折疊型匹配濾波器原理圖

如圖2所示,PN碼折疊存放,因為PN碼長15位,所以圖中的第16位碼并不參加運算。每輸入一個數(shù)據(jù),濾波器以4倍輸入數(shù)據(jù)的時鐘頻率進行處理。在第一個時鐘周期,Code 0,Code 1,Code 2,Code 3與輸入數(shù)據(jù)作相關(guān),并與前一級的SRL輸出相加,此時最左端加法器加0,最后一級SRL的值移至保持寄存器;第二、三個周期操作相同,分別選用接下來的兩組PN碼做相關(guān),最左端的加法器輸入為保持寄存器的數(shù)值,最后一級仍移位至保持寄存器;第四個周期前面操作與第二、三周期相同,最后一級的相關(guān)值并不參加運算,而是上一級SRL的輸出直接移入本級的SRL,同時本級的SRL輸出至相關(guān)輸出寄存器。

其中SRL和存放PN碼的移位寄存器可以用LUT實現(xiàn),這樣就大大節(jié)省了FPGA中相對緊俏的寄存器資源,同時折疊濾波器的處理時鐘需要是輸入數(shù)據(jù)速率的4倍。數(shù)據(jù)位寬是影響資源占用的一個重要因素,設(shè)計中為了兼顧硬件資源和系統(tǒng)精度,截斷數(shù)據(jù)位寬為8bit。

2.3 PN碼跟蹤

當捕獲信號的檢測統(tǒng)計量大于預(yù)先設(shè)定的門限時,跟蹤電路就被開啟。跟蹤的基本方法是利用鎖相環(huán)路來調(diào)整本地時鐘的相位,常用的跟蹤環(huán)路有延遲鎖相環(huán)(Delay locked Loop,DLL)及 抖動鎖相環(huán)(Tau dither Loop,TDL)。本系統(tǒng)采用延遲鎖相環(huán)法。

延遲鎖相環(huán)是一種非相干跟蹤環(huán)路,如圖1 PN碼跟蹤電路所示,相關(guān)原理請查閱參考文獻[4]。

在PN碼捕獲之后,得到了粗同步后的PN碼,然后進入跟蹤環(huán)。其中PN碼發(fā)生器產(chǎn)生超前和滯后1/2PN碼碼元周期的兩個碼組E和L,分別與I、Q兩路進行相關(guān),之后得到四路相關(guān)值記為此部分電路結(jié)構(gòu)與Costas環(huán)中解擴和積分清零相同,不再贅述。

(1)跟蹤環(huán)鑒相器

跟蹤鑒相器存在多種算法[1],本文采用超前減去滯后能量的運算,即

鑒別器輸出=

在 個碼片的輸入誤差范圍內(nèi),它跟超前減去滯后包絡(luò)的運算有相同的DLL鑒別器誤差性能,卻降低了硬件實現(xiàn)的復(fù)雜度。

(2)NCO

碼跟蹤環(huán)的NCO結(jié)構(gòu)比較簡單,容易設(shè)計,通常采用累加器跟一個固定頻率控制字和來自環(huán)路濾波器的誤差控制信號共同構(gòu)成。其中固定的頻率控制字根據(jù)累加器時鐘和PN碼鐘以及累加器所用的位數(shù)計算得出,累加器不斷的進行累加,這樣累加寄存器的最高位不斷的產(chǎn)生“0”“1”變化,從而形成一定周期的脈沖,用此脈沖作為PN碼移位寄存器時鐘。NCO累加器輸入端的誤差控制信號,即環(huán)路濾波器的輸出,可以改變產(chǎn)生的脈沖頻率,從而使本地PN碼更加精確地對準輸入信號PN碼,完成跟蹤。

NCO的跟蹤精度和累加器的累加時鐘以及累加寄存器大小有關(guān),累加時鐘頻率通常較高,可以采用FPGA中時鐘管理單元DCM對低頻時鐘進行倍頻得到。

3 仿真結(jié)果

Simulink仿真所采用的接收機參數(shù)如下:

l PN碼長度:15

l PN碼碼片速率:5Mbps

l 載波頻率:10MHz

l 采樣頻率:40MHz

下面給出了在SNR= -5dB,多普勒頻移100Hz的高斯信道下的Simulink仿真結(jié)果。為了解決BPSK解調(diào)的相位模糊問題,在發(fā)送端對信號進行了差分編碼調(diào)制,在接收端進行差分譯碼。從最后的差分譯碼的結(jié)果可以看出,在經(jīng)過幾個碼元周期后,信號能夠被正確的解調(diào)。仿真結(jié)果表明,誤碼率可以達到10-5以下,滿足系統(tǒng)既定要求。

圖3 Simulink仿真結(jié)果

4 FPGA實現(xiàn)

實驗用電路板上包括Xilinx公司FPGA XC2V500,AD公司的模數(shù)轉(zhuǎn)換器AD9238,同時板上提供了與TI公司C6000系列評估板的接口。中頻信號經(jīng)過AD采樣,利用FPGA實現(xiàn)擴頻系統(tǒng)的解擴和解調(diào)等功能,通過EMIF接口將數(shù)據(jù)傳給DSP,進一步完成通信系統(tǒng)中其他應(yīng)用與設(shè)計,整個系統(tǒng)構(gòu)成軟件無線電通用平臺。

系統(tǒng)采用同步設(shè)計方法,時鐘源由電路板上40MHz石英振蕩器提供。XC2V500高達50萬門,其中集成了大量的乘法器,DCM以及全局時鐘布線資源,給系統(tǒng)實現(xiàn)帶來了很大的方便。系統(tǒng)在實現(xiàn)時需要多個時鐘,主要由DCM分頻和倍頻得到。實現(xiàn)中,除了上述對電路進行的優(yōu)化設(shè)計,在不影響系統(tǒng)性能的情況下,對運算的中間結(jié)果進行尾數(shù)截斷,很大程度提高了硬件資源的利用率。

利用Verilog編程,XST綜合,布局布線后,通過Modelsim后仿真驗證電路的正確性,并最終在FPGA芯片上實現(xiàn)。芯片資源占用如下表,其中使用的Slice占FPGA中Slice總量的14%。

基本單元

Slice

IO

BRAM

MULT18X18

GCLK

DCM_ADV

使用數(shù)量

451

19

1

9

7

2

5結(jié)論

本文作者創(chuàng)新點是提出了一種全數(shù)字差分BPSK擴頻接收機的完整方案,并針對Xilinx公司FPGA特點,對系統(tǒng)電路結(jié)構(gòu)進行優(yōu)化設(shè)計,降低了硬件復(fù)雜度,實現(xiàn)了高速信號傳輸和低誤碼率的擴頻接收機系統(tǒng)。

本中給出了系統(tǒng)的Simulink仿真結(jié)果,以及利用Verilog編程,通過綜合和驗證,在Xilinx XC2C500芯片上實現(xiàn)的結(jié)果,對工程實踐有一定的指導(dǎo)意義。文中討論的方法具有通用性,實際應(yīng)用中可根據(jù)具體情況修改電路參數(shù),以適用不同要求。

6參考文獻

[1] 張欣 著. 擴頻通信數(shù)字基帶信號處理算法及其VLSI實現(xiàn). 科學(xué)出版社. 2004.8.

[2] Jen-Shi Wu, Ming-Luen Liou, Hsi-Pin Ma, and Tzi-Dar Chiueh. A 2.6-V, 44-MHz all-digital QPSK direct-sequence spread-spectrum transceiver IC. IEEE Journal of solid-state circuits, vol. 32 No.10. October 1997

[3] 卿敏,沈業(yè)兵,安建平. 用FPGA實現(xiàn)數(shù)字匹配濾波器的優(yōu)化方法. 微計算機信息. 2004年第20卷第11期.

[4] 鄭繼禹,林基明著. 同步理論與技術(shù). 電子工業(yè)出版社. 2003.3



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉