新聞中心

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

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

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

1引言

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

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

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

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

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

*本文工作得到國(guó)家自然科學(xué)基金資助(批準(zhǔn)號(hào):60171037)


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

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

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

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

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

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

(2)解擴(kuò)單元

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

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

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

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

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

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

2.2 PN碼捕獲

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

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

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

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

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

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

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

2.3 PN碼跟蹤

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

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

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

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

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

鑒別器輸出=

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

(2)NCO

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

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

3 仿真結(jié)果

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

l PN碼長(zhǎng)度:15

l PN碼碼片速率:5Mbps

l 載波頻率:10MHz

l 采樣頻率:40MHz

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

圖3 Simulink仿真結(jié)果

4 FPGA實(shí)現(xiàn)

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

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

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

基本單元

Slice

IO

BRAM

MULT18X18

GCLK

DCM_ADV

使用數(shù)量

451

19

1

9

7

2

5結(jié)論

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

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

6參考文獻(xiàn)

[1] 張欣 著. 擴(kuò)頻通信數(shù)字基帶信號(hào)處理算法及其VLSI實(shí)現(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實(shí)現(xiàn)數(shù)字匹配濾波器的優(yōu)化方法. 微計(jì)算機(jī)信息. 2004年第20卷第11期.

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



評(píng)論


相關(guān)推薦

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

關(guān)閉