新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的OQPSK解調(diào)器的設(shè)計(jì)與實(shí)現(xiàn)

基于FPGA的OQPSK解調(diào)器的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2007-07-17 來源:網(wǎng)絡(luò) 收藏

摘要:根據(jù)軟件無線電的思想,以器件為核心實(shí)現(xiàn)了的解調(diào),大部分功能由內(nèi)部資源來實(shí)現(xiàn)。整個(gè)設(shè)計(jì)以Altera公司可編程邏輯芯片F(xiàn)LEX 10K系列芯片為核心實(shí)現(xiàn),具有體積小、功耗低、集成度高、可軟件升級(jí)和抗干擾能力強(qiáng)的特點(diǎn),這樣既提高了通信系統(tǒng)的穩(wěn)定性和靈活性,又便于系統(tǒng)的集成化和小型化,符合未來通信技術(shù)發(fā)展的方向。
關(guān)鍵詞;軟件無線電;位同步

1 引言

交錯(cuò)正交相移鍵控(OQPSK)是繼QPSK之后發(fā)展起來的一種恒包絡(luò)數(shù)字調(diào)制技術(shù),是QPSK的一種改進(jìn)形式,也稱為偏移四相相移鍵控(offset-QPSK),有時(shí)又稱為參差四相相移鍵控(SQPSK)或者雙二相相移鍵控(Double-QPSK)等。它和QPSK有同樣的相位關(guān)系,也是把輸入碼流分成兩路,然后進(jìn)行正交調(diào)制。與普通的QPSK比較,交錯(cuò)正交相移鍵控的同相與正交兩支路的數(shù)據(jù)流在時(shí)間上相互錯(cuò)開了半個(gè)碼元周期,而不像QPSK那樣I、Q兩個(gè)數(shù)據(jù)流在時(shí)間上是一致的(即碼元的沿是對(duì)齊的)。OQPSK信號(hào)中,I(同相)、Q(正交)兩個(gè)數(shù)據(jù)流,每次只有其中一個(gè)可能發(fā)生極性轉(zhuǎn)換。所以每當(dāng)一個(gè)新的輸入比特進(jìn)入調(diào)制器的I或Q信道時(shí),輸出的OQPSK信號(hào)中只有0、90三個(gè)相位跳變值,而根本不可能出現(xiàn)180相位跳變。所以頻帶受限OQPSK的信號(hào)包絡(luò)起伏比頻帶受限QPSK的信號(hào)小,經(jīng)限幅放大后頻帶展寬得少,故OQPSK性能優(yōu)于QPSK。

本設(shè)計(jì)中OQPSK接收端接收的信號(hào)是10.7MHz已調(diào)信號(hào),按照軟件無線電的設(shè)計(jì)思想,先進(jìn)行計(jì)算機(jī)的模擬仿真,充分利用FPGA的特點(diǎn),成功實(shí)現(xiàn)了對(duì)的10.7MHz的OQPSK信號(hào)差分解調(diào)。的技術(shù)指標(biāo)為:解調(diào)器輸出碼:256 kb/s 、TTL電平;解調(diào)器輸出時(shí)鐘:256 KHz 、占空比50%。

2解調(diào)器的設(shè)計(jì)與FPGA實(shí)現(xiàn)

2.1總體方案設(shè)計(jì)

解調(diào)器前端的載波恢復(fù)部分采用分離元件實(shí)現(xiàn),這里不做詳細(xì)介紹,大家可以參考經(jīng)典鎖相環(huán)電路進(jìn)行設(shè)計(jì)。本文將詳細(xì)介紹解調(diào)器后端的數(shù)字部分(位同步和差分解調(diào))的FPGA實(shí)現(xiàn)。解調(diào)器的數(shù)字部分原理框圖如圖1所示。

圖1 數(shù)字部分解調(diào)框圖

位時(shí)鐘信號(hào)可以由I路信號(hào)提取也可以由Q路信號(hào)來提取,本設(shè)計(jì)中由I路信號(hào)來提取。并串變換之后就完成了信號(hào)的解調(diào)。后邊的HDB3編碼是為了便于傳輸和其他處理,比如解調(diào)后的信號(hào)送計(jì)算機(jī)處理等等。

2.2位時(shí)鐘恢復(fù)電路的設(shè)計(jì)

位時(shí)鐘恢復(fù)電路由高穩(wěn)定度振蕩器(晶振)、分頻器、相位比較器和控制器所組成。其中,控制器包括扣除門、附加門和“或門”。高穩(wěn)定度振蕩器產(chǎn)生的信號(hào)經(jīng)整形電路變成周期性脈沖,然后經(jīng)控制器再送入分頻器,輸出位同步脈沖序列。若接收碼元的速率為F(波特),則要求位同步脈沖的重復(fù)速率也為F(赫)。這里,晶體的振蕩頻率設(shè)計(jì)在nF(赫),由晶振輸出經(jīng)整形得到重復(fù)頻率為nF(赫)的窄脈沖,經(jīng)扣除門、或門并n次分頻后,就可得重復(fù)頻率為F(赫)的位同步信號(hào)。如果接收端晶振輸出經(jīng)n次分頻后,不能準(zhǔn)確地和收到的碼元同頻同相,這時(shí)就要根據(jù)相位比較器輸出的誤差信號(hào),通過控制器對(duì)分頻器進(jìn)行調(diào)整。調(diào)整的原理是當(dāng)分頻器輸出的位同步脈沖超前于接收碼元的相位時(shí),相位比較器送出一超前脈沖,加到扣除門(常開)的禁止端,扣除一個(gè)a路脈沖,這樣,分頻器輸出脈沖的相位就推后1/n周期(3600/n);若分頻器輸出的位同步脈沖相位滯后于接收碼元的相位,晶振的輸出整形后除a路脈沖加于扣除門外,同時(shí)還有與a路相位相差1800的b路脈沖序列加于附加門。附加門在不調(diào)整時(shí)是封閉的,對(duì)分頻器的工作不起作用。當(dāng)位同步脈沖相位滯后時(shí),相位比較器送出一滯后脈沖,加于附加門,使b路輸出的一個(gè)脈沖通過“或門”,插入在原a路脈沖之間,使分頻器的輸入端添加了一個(gè)脈沖。于是,分頻器的輸出相位就提前1/n周期。經(jīng)這樣的反復(fù)調(diào)整相位,即實(shí)現(xiàn)了位同步。原理方框圖如圖2所示。

圖2 位同步原理框圖

接收碼元的相位可以從基帶信號(hào)的過零點(diǎn)提取(它代表碼元的起始相位),而對(duì)數(shù)字信號(hào)進(jìn)行微分就可獲得過零點(diǎn)的信息。具體電路如圖3所示。其中codein輸入端輸入的是I路信號(hào),clkin輸入的是32.0867M的時(shí)鐘信號(hào),Clkout輸出同步信號(hào)。FredivN分頻器的分頻倍數(shù)為64倍。

圖3 位同步信號(hào)提取實(shí)現(xiàn)電路

其中codein輸入端輸入的是I路信號(hào),clkin輸入的是32.0867M的時(shí)鐘信號(hào),Clkout輸出同步信號(hào)。FredivN分頻器的分頻倍數(shù)為64倍。

2.3 差分譯碼電路的設(shè)計(jì)

差分譯碼完成的功能就是把相對(duì)碼變?yōu)榻^對(duì)碼。絕對(duì)碼是以基帶信號(hào)碼元的電平直接表示數(shù)字信息。如高電平表示“1”,低電平表示“0”;相對(duì)碼(差分碼)是用基帶信號(hào)碼元的電平相對(duì)前一碼元的電平有無變化來表示數(shù)字信息的,假若相對(duì)電平有跳變表示“1”,無跳變表示“0”,由于初始參考電平有兩種可能,因此相對(duì)碼也有兩種波形,但是不論是那種形式解碼方式都是一樣的。現(xiàn)假設(shè){an}和{bn}分別表示絕對(duì)碼和相對(duì)碼序列,則差分譯碼器的功能可表示為:an =bn bn-1,其中 表示模二加。原理圖如圖4所示。

圖4 相對(duì)碼變絕對(duì)碼原理框圖

具體電路如圖5所示:其中b為相對(duì)碼,a為絕對(duì)碼,clkin為為同步信號(hào)時(shí)鐘。

圖5 相對(duì)碼變絕對(duì)碼實(shí)現(xiàn)電路

2.4 并串變換電路的設(shè)計(jì)

A、B兩路128kb/s的并行輸入信號(hào)分別接到數(shù)據(jù)選擇器74153的兩個(gè)數(shù)據(jù)輸入端,其中B路信號(hào)落后A路信號(hào)半個(gè)碼元周期。256KHz的位同步信號(hào)經(jīng)分頻為128KHz作為數(shù)據(jù)選擇器的一路地址選擇信號(hào),另一路地址選擇信號(hào)接地。這樣數(shù)據(jù)選擇器輸出為A、B兩路信號(hào)的并路信號(hào),即A1、B1、A2、B2、A3、B3……,速率為256kb/s。具體電路如下圖6所示。

圖6 并串變換電路

2.5 HDB3編碼器的設(shè)計(jì)

2.5.1編碼規(guī)則

HDB3碼是AMI碼的改進(jìn)型,稱為三階高密度雙極性碼.他克服了AMI碼的長連0串現(xiàn)象.

HDB3碼的編碼規(guī)則:

① 將消息代碼變換成AMI碼;

② 檢查AMI碼中的連0情況,當(dāng)無4個(gè)或4個(gè)以上連0串時(shí),則保持AMI碼的形式不變;若出現(xiàn)4個(gè)或4個(gè)以上連0串時(shí),則將1后的第四個(gè)0變?yōu)榕c前一非0符號(hào)(+1或-1)同極性的符號(hào),用V表示(+1記為+V,-1記為-V).

③ 檢查相鄰V符號(hào)間的非0符號(hào)的個(gè)數(shù)是否為偶數(shù),若為偶數(shù),則再當(dāng)前的V符號(hào)的前

一非0符號(hào)后的第一個(gè)0變?yōu)?B或-b符號(hào),且b的極性與前一非0符號(hào)的極性相反,并使后面的非0符號(hào)從V符號(hào)開始再交替變化.

2.5.2建模思想

本設(shè)計(jì)沒有象其他設(shè)計(jì)那樣將插V補(bǔ)B分開實(shí)現(xiàn),而是通過變量的設(shè)置將兩個(gè)功能一起實(shí)行。

首先判斷前面已存在非0符號(hào)的極性,用以判斷后面非0符號(hào)的極性。同時(shí)通過變量flag的狀態(tài)判斷前面是否已經(jīng)插V,若已經(jīng)插V則再通過變量H的狀態(tài)判斷兩個(gè)V之間的非0符號(hào)的個(gè)數(shù),為偶數(shù)且后面連續(xù)輸入4個(gè)以上連0時(shí)則插B,為奇數(shù)時(shí)則不插B。若尚未插V則不補(bǔ)B。插V和插B的功能由兩個(gè)3位移位寄存器的強(qiáng)制輸出實(shí)現(xiàn),當(dāng)不需要插V和B的時(shí)候則移位寄存器順序輸出。

本設(shè)計(jì)在實(shí)現(xiàn)過程中將插入的V和B根據(jù)需要直接由+1和-1表示,省去了其他程序中先插入V和B然后再判斷極性的過程。輸出部分由兩路表示,當(dāng)aout和bout分別為0和1時(shí)表示輸出-1,為1和0時(shí)表示輸出+1,為0和0時(shí)表示輸出0。限于篇幅這里就不給出程序清單。

3 部分試驗(yàn)結(jié)果

系統(tǒng)加入調(diào)制部分后的仿真結(jié)果如下圖7所示。其中indata為調(diào)制器的輸入信號(hào),DATAOUT為解調(diào)輸出,outa2和outb2為DATAOUT的HDB3編碼結(jié)果。OUTCLK為最后的輸出時(shí)鐘。

圖7 仿真結(jié)果

4 結(jié)論

隨著FPGA技術(shù)的發(fā)展,大規(guī)模FPGA的容量在不斷增大,價(jià)格不斷下降,這使得集成復(fù)雜的算法成為可能。用它將實(shí)現(xiàn)連續(xù)相位OQPSK解調(diào)所需的大部分功能封裝于其中,將有利于通信系統(tǒng)實(shí)現(xiàn)小型化和集成化,并可提高系統(tǒng)的穩(wěn)定性。另外,由于FPGA器件具有可編程性,可以很方便地進(jìn)行系統(tǒng)升級(jí)和修改,以滿足不同應(yīng)用場(chǎng)合的需要。憂無線SOC開發(fā)平臺(tái)豪華的單片機(jī)開發(fā)系統(tǒng)S3C44B0 ARM7 開發(fā)板無憂S3C2410 ARM9開發(fā)板單片機(jī)以太網(wǎng)開發(fā)板Mini ARM Debugger無憂單片機(jī)實(shí)驗(yàn)開發(fā)板無憂單片機(jī)學(xué)習(xí)板 無憂無線nRF-9E5模塊
參考文獻(xiàn)

[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è)計(jì)。電子工業(yè)出版社,2004
[4]王興亮等編著,數(shù)字通信原理與技術(shù)。西安電子科技大學(xué)出版社,2000



關(guān)鍵詞: OQPSK FPGA 解調(diào)器

評(píng)論


相關(guān)推薦

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

關(guān)閉