基于FPGA的OQPSK解調(diào)器的設(shè)計與實現(xiàn)
摘要:根據(jù)軟件無線電的思想,以FPGA器件為核心實現(xiàn)了OQPSK的解調(diào),大部分功能由FPGA內(nèi)部資源來實現(xiàn)。整個設(shè)計以Altera公司可編程邏輯芯片F(xiàn)LEX 10K系列芯片為核心實現(xiàn)OQPSK解調(diào)器,具有體積小、功耗低、集成度高、可軟件升級和抗干擾能力強的特點,這樣既提高了通信系統(tǒng)的穩(wěn)定性和靈活性,又便于系統(tǒng)的集成化和小型化,符合未來通信技術(shù)發(fā)展的方向。
關(guān)鍵詞:OQPSK;FPGA;軟件無線電;位同步
1 引言
交錯正交相移鍵控(OQPSK)是繼QPSK之后發(fā)展起來的一種恒包絡(luò)數(shù)字調(diào)制技術(shù),是QPSK的一種改進形式,也稱為偏移四相相移鍵控(offset-QPSK),有時又稱為參差四相相移鍵控(SQPSK)或者雙二相相移鍵控(Double-QPSK)等。它和QPSK有同樣的相位關(guān)系,也是把輸入碼流分成兩路,然后進行正交調(diào)制。與普通的QPSK比較,交錯正交相移鍵控的同相與正交兩支路的數(shù)據(jù)流在時間上相互錯開了半個碼元周期,而不像QPSK那樣I、Q兩個數(shù)據(jù)流在時間上是一致的(即碼元的沿是對齊的)。OQPSK信號中,I(同相)、Q(正交)兩個數(shù)據(jù)流,每次只有其中一個可能發(fā)生極性轉(zhuǎn)換。所以每當(dāng)一個新的輸入比特進入調(diào)制器的I或Q信道時,輸出的OQPSK信號中只有0、90三個相位跳變值,而根本不可能出現(xiàn)180相位跳變。所以頻帶受限OQPSK的信號包絡(luò)起伏比頻帶受限QPSK的信號小,經(jīng)限幅放大后頻帶展寬得少,故OQPSK性能優(yōu)于QPSK。
本設(shè)計中OQPSK解調(diào)器接收端接收的信號是10.7MHz已調(diào)信號,按照軟件無線電的設(shè)計思想,先進行計算機的模擬仿真,充分利用FPGA的特點,成功實現(xiàn)了對的10.7MHz的OQPSK信號差分解調(diào)。解調(diào)器的技術(shù)指標(biāo)為:解調(diào)器輸出碼:256 kb/s 、TTL電平;解調(diào)器輸出時鐘:256 KHz 、占空比50%。
2解調(diào)器的設(shè)計與FPGA實現(xiàn)
2.1總體方案設(shè)計
解調(diào)器前端的載波恢復(fù)部分采用分離元件實現(xiàn),這里不做詳細介紹,大家可以參考經(jīng)典鎖相環(huán)電路進行設(shè)計。本文將詳細介紹解調(diào)器后端的數(shù)字部分(位同步和差分解調(diào))的FPGA實現(xiàn)。解調(diào)器的數(shù)字部分原理框圖如圖1所示。
圖1 數(shù)字部分解調(diào)框圖
位時鐘信號可以由I路信號提取也可以由Q路信號來提取,本設(shè)計中由I路信號來提取。并串變換之后就完成了信號的解調(diào)。后邊的HDB3編碼是為了便于傳輸和其他處理,比如解調(diào)后的信號送計算機處理等等。
2.2位時鐘恢復(fù)電路的設(shè)計
位時鐘恢復(fù)電路由高穩(wěn)定度振蕩器(晶振)、分頻器、相位比較器和控制器所組成。其中,控制器包括扣除門、附加門和“或門”。高穩(wěn)定度振蕩器產(chǎn)生的信號經(jīng)整形電路變成周期性脈沖,然后經(jīng)控制器再送入分頻器,輸出位同步脈沖序列。若接收碼元的速率為F(波特),則要求位同步脈沖的重復(fù)速率也為F(赫)。這里,晶體的振蕩頻率設(shè)計在nF(赫),由晶振輸出經(jīng)整形得到重復(fù)頻率為nF(赫)的窄脈沖,經(jīng)扣除門、或門并n次分頻后,就可得重復(fù)頻率為F(赫)的位同步信號。如果接收端晶振輸出經(jīng)n次分頻后,不能準(zhǔn)確地和收到的碼元同頻同相,這時就要根據(jù)相位比較器輸出的誤差信號,通過控制器對分頻器進行調(diào)整。調(diào)整的原理是當(dāng)分頻器輸出的位同步脈沖超前于接收碼元的相位時,相位比較器送出一超前脈沖,加到扣除門(常開)的禁止端,扣除一個a路脈沖,這樣,分頻器輸出脈沖的相位就推后1/n周期(3600/n);若分頻器輸出的位同步脈沖相位滯后于接收碼元的相位,晶振的輸出整形后除a路脈沖加于扣除門外,同時還有與a路相位相差1800的b路脈沖序列加于附加門。附加門在不調(diào)整時是封閉的,對分頻器的工作不起作用。當(dāng)位同步脈沖相位滯后時,相位比較器送出一滯后脈沖,加于附加門,使b路輸出的一個脈沖通過“或門”,插入在原a路脈沖之間,使分頻器的輸入端添加了一個脈沖。于是,分頻器的輸出相位就提前1/n周期。經(jīng)這樣的反復(fù)調(diào)整相位,即實現(xiàn)了位同步。原理方框圖如圖2所示。
圖2 位同步原理框圖
接收碼元的相位可以從基帶信號的過零點提取(它代表碼元的起始相位),而對數(shù)字信號進行微分就可獲得過零點的信息。具體電路如圖3所示。其中codein輸入端輸入的是I路信號,clkin輸入的是32.0867M的時鐘信號,Clkout輸出同步信號。FredivN分頻器的分頻倍數(shù)為64倍。
圖3 位同步信號提取實現(xiàn)電路
其中codein輸入端輸入的是I路信號,clkin輸入的是32.0867M的時鐘信號,Clkout輸出同步信號。FredivN分頻器的分頻倍數(shù)為64倍。
2.3 差分譯碼電路的設(shè)計
差分譯碼完成的功能就是把相對碼變?yōu)榻^對碼。絕對碼是以基帶信號碼元的電平直接表示數(shù)字信息。如高電平表示“1”,低電平表示“0”;相對碼(差分碼)是用基帶信號碼元的電平相對前一碼元的電平有無變化來表示數(shù)字信息的,假若相對電平有跳變表示“1”,無跳變表示“0”,由于初始參考電平有兩種可能,因此相對碼也有兩種波形,但是不論是那種形式解碼方式都是一樣的。現(xiàn)假設(shè){an}和{bn}分別表示絕對碼和相對碼序列,則差分譯碼器的功能可表示為:an =bn bn-1,其中 表示模二加。原理圖如圖4所示。
圖4 相對碼變絕對碼原理框圖
具體電路如圖5所示:其中b為相對碼,a為絕對碼,clkin為為同步信號時鐘。
圖5 相對碼變絕對碼實現(xiàn)電路
2.4 并串變換電路的設(shè)計
A、B兩路128kb/s的并行輸入信號分別接到數(shù)據(jù)選擇器74153的兩個數(shù)據(jù)輸入端,其中B路信號落后A路信號半個碼元周期。256KHz的位同步信號經(jīng)分頻為128KHz作為數(shù)據(jù)選擇器的一路地址選擇信號,另一路地址選擇信號接地。這樣數(shù)據(jù)選擇器輸出為A、B兩路信號的并路信號,即A1、B1、A2、B2、A3、B3……,速率為256kb/s。具體電路如下圖6所示。
圖6 并串變換電路
2.5 HDB3編碼器的設(shè)計
2.5.1編碼規(guī)則
HDB3碼是AMI碼的改進型,稱為三階高密度雙極性碼.他克服了AMI碼的長連0串現(xiàn)象.
HDB3碼的編碼規(guī)則:
① 將消息代碼變換成AMI碼;
② 檢查AMI碼中的連0情況,當(dāng)無4個或4個以上連0串時,則保持AMI碼的形式不變;若出現(xiàn)4個或4個以上連0串時,則將1后的第四個0變?yōu)榕c前一非0符號(+1或-1)同極性的符號,用V表示(+1記為+V,-1記為-V).
③ 檢查相鄰V符號間的非0符號的個數(shù)是否為偶數(shù),若為偶數(shù),則再當(dāng)前的V符號的前
一非0符號后的第一個0變?yōu)?B或-b符號,且b的極性與前一非0符號的極性相反,并使后面的非0符號從V符號開始再交替變化.
2.5.2建模思想
本設(shè)計沒有象其他設(shè)計那樣將插V補B分開實現(xiàn),而是通過變量的設(shè)置將兩個功能一起實行。
首先判斷前面已存在非0符號的極性,用以判斷后面非0符號的極性。同時通過變量flag的狀態(tài)判斷前面是否已經(jīng)插V,若已經(jīng)插V則再通過變量H的狀態(tài)判斷兩個V之間的非0符號的個數(shù),為偶數(shù)且后面連續(xù)輸入4個以上連0時則插B,為奇數(shù)時則不插B。若尚未插V則不補B。插V和插B的功能由兩個3位移位寄存器的強制輸出實現(xiàn),當(dāng)不需要插V和B的時候則移位寄存器順序輸出。
本設(shè)計在實現(xiàn)過程中將插入的V和B根據(jù)需要直接由+1和-1表示,省去了其他程序中先插入V和B然后再判斷極性的過程。輸出部分由兩路表示,當(dāng)aout和bout分別為0和1時表示輸出-1,為1和0時表示輸出+1,為0和0時表示輸出0。限于篇幅這里就不給出程序清單。
3 部分試驗結(jié)果
系統(tǒng)加入調(diào)制部分后的仿真結(jié)果如下圖7所示。其中indata為調(diào)制器的輸入信號,DATAOUT為解調(diào)輸出,outa2和outb2為DATAOUT的HDB3編碼結(jié)果。OUTCLK為最后的輸出時鐘。
圖7 仿真結(jié)果
4 結(jié)論
隨著FPGA技術(shù)的發(fā)展,大規(guī)模FPGA的容量在不斷增大,價格不斷下降,這使得集成復(fù)雜的算法成為可能。用它將實現(xiàn)連續(xù)相位OQPSK解調(diào)所需的大部分功能封裝于其中,將有利于通信系統(tǒng)實現(xiàn)小型化和集成化,并可提高系統(tǒng)的穩(wěn)定性。另外,由于FPGA器件具有可編程性,可以很方便地進行系統(tǒng)升級和修改,以滿足不同應(yīng)用場合的需要。憂無線SOC開發(fā)平臺豪華的單片機開發(fā)系統(tǒng)S3C44B0 ARM7 開發(fā)板無憂S3C2410 ARM9開發(fā)板單片機以太網(wǎng)開發(fā)板Mini ARM Debugger無憂單片機實驗開發(fā)板無憂單片機學(xué)習(xí)板 無憂無線nRF-9E5模塊
參考文獻
[1]Zeidman Bob. Introduction to Verilog. Piscataway, NJ: Institute of Electrical and Electronic Engineers, 2000
[2]Logic Design Manual for ASICs. Santa Clara, CA: LSI logic Corporation, 1989
[3]段吉海等編著,基于CPLD/FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計。電子工業(yè)出版社,2004
[4]王興亮等編著,數(shù)字通信原理與技術(shù)。西安電子科技大學(xué)出版社,2000
評論