<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的OQPSK解調器的設計與實(shí)現

基于FPGA的OQPSK解調器的設計與實(shí)現

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

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

1 引言

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

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

2解調器的設計與FPGA實(shí)現

2.1總體方案設計

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

圖1 數字部分解調框圖

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

2.2位時(shí)鐘恢復電路的設計

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

圖2 位同步原理框圖

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

圖3 位同步信號提取實(shí)現電路

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

2.3 差分譯碼電路的設計

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

圖4 相對碼變絕對碼原理框圖

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

圖5 相對碼變絕對碼實(shí)現電路

2.4 并串變換電路的設計

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

圖6 并串變換電路

2.5 HDB3編碼器的設計

2.5.1編碼規則

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

HDB3碼的編碼規則:

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

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

③ 檢查相鄰V符號間的非0符號的個(gè)數是否為偶數,若為偶數,則再當前的V符號的前

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

2.5.2建模思想

本設計沒(méi)有象其他設計那樣將插V補B分開(kāi)實(shí)現,而是通過(guò)變量的設置將兩個(gè)功能一起實(shí)行。

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

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

3 部分試驗結果

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

圖7 仿真結果

4 結論

隨著(zhù)FPGA技術(shù)的發(fā)展,大規模FPGA的容量在不斷增大,價(jià)格不斷下降,這使得集成復雜的算法成為可能。用它將實(shí)現連續相位OQPSK解調所需的大部分功能封裝于其中,將有利于通信系統實(shí)現小型化和集成化,并可提高系統的穩定性。另外,由于FPGA器件具有可編程性,可以很方便地進(jìn)行系統升級和修改,以滿(mǎn)足不同應用場(chǎng)合的需要。憂(yōu)無(wú)線(xiàn)SOC開(kāi)發(fā)平臺豪華的單片機開(kāi)發(fā)系統S3C44B0 ARM7 開(kāi)發(fā)板無(wú)憂(yōu)S3C2410 ARM9開(kāi)發(fā)板單片機以太網(wǎng)開(kāi)發(fā)板Mini ARM Debugger無(wú)憂(yōu)單片機實(shí)驗開(kāi)發(fā)板無(wú)憂(yōu)單片機學(xué)習板 無(wú)憂(yōu)無(wú)線(xiàn)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]段吉海等編著(zhù),基于CPLD/FPGA的數字通信系統建模與設計。電子工業(yè)出版社,2004
[4]王興亮等編著(zhù),數字通信原理與技術(shù)。西安電子科技大學(xué)出版社,2000



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>