??? 摘 要:提出了OQPSK調(diào)制器的全數(shù)字實現(xiàn)方案,基于DSP Builder 完成了方案的建模仿真并進(jìn)行了硬件驗證,實驗表明,所設(shè)計的調(diào)制器工作穩(wěn)定、可靠, 達(dá)到設(shè)計要求。
??? 關(guān)鍵詞:OQPSK;FPGA;DDS;DSP Builder
?
??? OQPSK調(diào)制技術(shù)是一種恒包絡(luò)調(diào)制技術(shù),受系統(tǒng)非線性影響小,具有較高的帶寬利用率和功率利用率,廣泛應(yīng)用于衛(wèi)星通信和移動通信領(lǐng)域。隨著數(shù)字調(diào)制技術(shù)的出現(xiàn),在有限的帶寬內(nèi)傳輸高速的數(shù)據(jù)已成為可能,并且比過去使用的模擬調(diào)制,如調(diào)幅(AM)和頻移鍵控(FSK)、開關(guān)鍵控(OOK)、脈寬調(diào)制(PWM)、脈位調(diào)制(PPM)、脈幅調(diào)制(PAM)等技術(shù)相比有更高的可靠性和抗擾性。目前國內(nèi)多速率/多制式智能調(diào)制解調(diào)器己有一些研究成果和芯片問世。但是,國內(nèi)的產(chǎn)品大多基于通用DSP實現(xiàn),支持的速率比較低。由于運算量較大和硬件參數(shù)的限制,采用通用DSP或普通算法無法勝任高速率調(diào)制解調(diào)的任務(wù)。而用可編程器件實現(xiàn)的全數(shù)字調(diào)制器則可以說是一種用戶全定制的調(diào)制方案,所有的參數(shù)都可以按照每個特定的用戶來修改,做到最優(yōu)化。此外,F(xiàn)PGA還具有靜態(tài)可重復(fù)編程和動態(tài)系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣編程修改,極大地提高了電子系統(tǒng)設(shè)計的靈活性和通用性。
1 OQPSK調(diào)制原理[1]
??? OQPSK也稱為偏移正交相移鍵控(Offset-QPSK),是QPSK的改進(jìn)型,OQPSK信號實際上是兩路正交雙邊帶信號,與QPSK有同樣的相位關(guān)系,也是把輸入碼流分成兩路,然后進(jìn)行正交調(diào)制[2]。與QPSK相比,OQPSK的不同點在于它將同相和正交兩支路的碼流在時間上錯開了半個碼元周期,由于兩支路碼元半周期的偏移,每次只有一路可能發(fā)生極性翻轉(zhuǎn),不會發(fā)生兩支路碼元極性同時翻轉(zhuǎn)的現(xiàn)象。因此,OQPSK信號相位只能跳變0°和±90°,不會出現(xiàn)180°的相位跳變,具有恒包絡(luò)特性,受系統(tǒng)非線性影響小,所以頻帶受限的OQPSK信號包絡(luò)起伏比頻帶受限的QPSK信號經(jīng)限幅放大后頻帶展寬得少,故OQPSK性能優(yōu)于QPSK。
??? 常用的多相制信號的產(chǎn)生方法主要有直接調(diào)相法、脈沖插入法、相位選擇法等。本設(shè)計采用相位選擇法,即直接用數(shù)字信號選擇所需相位的載波以產(chǎn)生多相制信號。OQPSK的方框圖如圖1所示。在這種調(diào)制器中,輸入碼元經(jīng)串并轉(zhuǎn)換后分為I、Q兩路信號,兩路共有00、01、10、11共四種狀態(tài)。其中I路經(jīng)過半碼元周期的延遲后與Q路信號共同作為選相電路的輸入。載波發(fā)生器產(chǎn)生四種相位的載波,邏輯選相電路根據(jù)輸入信息每次選擇其中一種相移的載波作為輸出,然后經(jīng)過帶通濾波器濾除高頻分量,得到調(diào)制好的信號。該方法更適合全數(shù)字調(diào)制在FPGA內(nèi)的實現(xiàn)。
?
2 OQPSK數(shù)字調(diào)制器實現(xiàn)
??? DSP Builder是一個系統(tǒng)級(或算法級)設(shè)計工具,它架構(gòu)在多個軟件工具之上,并把系統(tǒng)級(算法仿真建模)和RTL(硬件實現(xiàn))兩個設(shè)計領(lǐng)域的設(shè)計工具連接起來,都放在了MATLAB/Simulink圖形設(shè)計平臺上,而將QuartusⅡ作為底層設(shè)計工具置于后臺,最大程度發(fā)揮了各種工具的優(yōu)勢。除了圖形化的系統(tǒng)建模外,DSP Builder還可以自動完成大部分的設(shè)計過程和仿真,直至把設(shè)計文件下載至FPGA開發(fā)板上。本設(shè)計完全基于FPGA實現(xiàn),該調(diào)制器采用DSP Builder的圖形化設(shè)計,通過Simulink的圖形化界面進(jìn)行建模、系統(tǒng)級仿真,并調(diào)用QuartusⅡ進(jìn)行綜合、網(wǎng)表生成和適配,最后完成向FPGA的配置下載過程。整個設(shè)計思路靈活,圖形界面簡單直觀,硬件實現(xiàn)部分采用Altera 公司開發(fā)的Cyclone系列EP1C6Q240C8。系統(tǒng)模型由共分時鐘、串并轉(zhuǎn)換、四相制載波產(chǎn)生、相位選擇等電路組成,如圖2所示。該模型的系統(tǒng)級仿真結(jié)果如圖3所示,I、Q對應(yīng)為串并轉(zhuǎn)換并延遲后的碼元,輸出為調(diào)制后的載波。
?
?
2.1 時鐘、串/并轉(zhuǎn)換、相位選擇模塊的實現(xiàn)[3]
??? 時鐘模塊調(diào)用Simulink中的鎖相環(huán)模型,對輸入時鐘進(jìn)行分頻與倍頻。輸出兩路時鐘信號,分別用作延遲時鐘與載波信號產(chǎn)生模塊的時鐘。在串并轉(zhuǎn)換中輸入的信息碼元經(jīng)過串并轉(zhuǎn)換器,變成速率減半的雙比特序列。具體實現(xiàn)是采用計數(shù)器對輸入時鐘計數(shù),計數(shù)輸出作為D觸發(fā)器的使能輸入,通過使能信號控制輸入碼元在輸出端的輸出以實現(xiàn)對數(shù)據(jù)的串并轉(zhuǎn)換。
??? 在DDS模塊中的相位調(diào)制精度設(shè)置為10, 所以相位選擇器輸入代碼的寬度也相應(yīng)設(shè)置成10位, 相應(yīng)的相位調(diào)制輸入值對應(yīng)關(guān)系為: 相位輸出Ф0 =π/4 時相位控制字的輸入值對應(yīng)為128, 3π/4 時對應(yīng)384為調(diào)制輸入值, 5π/4 時對應(yīng)640 為調(diào)制輸入值, 7π/4時對應(yīng)896為調(diào)制輸入值,其計算公式如式(1)所示。相位選擇模塊采用四路復(fù)用器根據(jù)輸入I、Q兩路信號做選通信號,實現(xiàn)對相位控制字的選擇。
???
2.2 載波發(fā)生器的實現(xiàn)
??? 四相載波發(fā)生器采用直接數(shù)字合成器實現(xiàn),它是采用數(shù)字技術(shù)的一種新型頻率合成技術(shù),通過控制頻率、相位增量的步長,產(chǎn)生各種不同頻率的信號。它具有一系列的優(yōu)點:較高的頻率分辨率;可以實現(xiàn)快速的頻率切換;在頻率改變時能夠保持相位的連續(xù);很容易實現(xiàn)頻率、相位和幅度的數(shù)控調(diào)制等。
??? 基于DSP Builder的子系統(tǒng)如圖4所示,DDS子系統(tǒng)Subsystem有3個輸入,分別為Freqword(32位控制字)、phaseword(10位相位控制字)、Amp(10 位控制字);1個輸出,即10位OQPSK輸出。2個累加器分別為相位累加器和相位調(diào)制器,LUT為正弦ROM查找表。頻率控制字的計算公式如式(2)所示,在式中fclk是系統(tǒng)時鐘,N是相位累加器的數(shù)據(jù)位寬,也是頻率輸入字的數(shù)據(jù)位寬。相位控制字接收相位選擇其提供的輸入數(shù)據(jù)。幅度控制字也可以根據(jù)輸出幅度的需要進(jìn)行設(shè)定,在仿真中幅度控制值設(shè)定為1。
?
???
2.3 OQPSK的FPGA實現(xiàn)[4]
??? 通過Matlab/Simulink對已經(jīng)設(shè)計好的OQPSK模型進(jìn)行編譯,再調(diào)用DSP Builder的Signal Compiler工具直接生成QuartusⅡ工程文件,再調(diào)用QuartusⅡ完成綜合、網(wǎng)表生成和適配,直至完成FPGA的配置下載過程。
??? 本設(shè)計方案采用的FPGA芯片是Altera公司的Cyclone系列芯片EP1C6Q240C8,其容量6000個邏輯宏單元(LE),等效于標(biāo)準(zhǔn)15萬邏輯門電路,速度為-8,可通過單片芯片電路實現(xiàn)DDS,相位累加和相位調(diào)制器分別為32位和10位,正弦ROM查找表存儲1 024×10 bit波形數(shù)據(jù),利用FPGA可以根據(jù)需要方便地實現(xiàn)OQPSK全數(shù)字調(diào)制,且具有浪費的實時性。在轉(zhuǎn)換后的源代碼通過功能仿真與時序仿真測試后,再經(jīng)過QuartusⅡ軟件綜合生成EDF格式的網(wǎng)表文件,得到的波形如圖5所示。圖中,clock為系統(tǒng)時鐘, Fword為頻率控制字,Datain為輸入碼元,Sel為串并轉(zhuǎn)換后的兩路碼元信號,OQPSK為調(diào)制后輸出信號。QuartusⅡ中的仿真結(jié)果與Matlab/Simulink中的仿真結(jié)果在相位,頻率和幅度上基本一致。利用FPGA能輸出較高質(zhì)量的信號,雖然內(nèi)部數(shù)字信號有一定的抖動,但通過采用抖動注入技術(shù)、延時疊加法等方法,通常也能將誤差保持在允許范圍之內(nèi)。
?
??? 通過Matlab對調(diào)制后數(shù)據(jù)進(jìn)行頻譜分析,分析結(jié)果如圖6所示。由圖可以看出,OQPSK信號具有恒包絡(luò)特性,沒有出現(xiàn)180°的相位跳變;對其做1 024點FFT,并進(jìn)行譜運算,得到信號頻譜,帶寬為1.2 MHz,載波頻率為2.8 MHz(采樣頻率為9.6 MHz),達(dá)到設(shè)計要求。
?
?
??? 本文利用QuartusⅡ和Matlab/Simulink之間的接口工具DSP Builder來設(shè)計整個OQPSK系統(tǒng),DSP Builder具備一個友好的開發(fā)環(huán)境,并且和QuartusⅡ交互性強,易于使用。設(shè)計者只需簡單了解VHDL描述語言,就可以直接調(diào)用已經(jīng)建立好的Matlab和Simulink設(shè)計流程,通過Simulink的圖形化界面進(jìn)行建模、系統(tǒng)級仿真,并子對調(diào)用QuartusⅡ進(jìn)行綜合、網(wǎng)表生成和適配,最后完成向FPGA的配置下載過程。整個設(shè)計思路靈活,圖形界面簡單直觀,開發(fā)周期短。仿真結(jié)果表明,該設(shè)計方案原理正確,行之有效。根據(jù)Nyquist定律,只要輸出信號的最高頻率分量小于或等于fclk/2,就可以實現(xiàn)。而實際中由于受LPF設(shè)計及雜散分布的限制,僅能做到40%左右。所以采用DDS,可合成幾乎從直流到0.4 fclk的頻率。且在系統(tǒng)晶振頻率一定的情況下,系統(tǒng)時鐘可用FPGA內(nèi)部的鎖相環(huán)進(jìn)行倍頻、分頻,以實現(xiàn)載波頻率的任意調(diào)整。
參考文獻(xiàn)
[1]?張學(xué)平,王應(yīng)平,鄒傳云. 基于FPGA的OQPSK解調(diào)器的設(shè)計與實現(xiàn)[J]. 微計算機信息, 2005,23(1).
[2]?郭培源,李煥杰. 基于FPGA的QPSK調(diào)制設(shè)計與實現(xiàn)[J]. 北京:北京工商大學(xué)學(xué)報(自然科學(xué)版), 2004,24(03).
[3]?王亮興,達(dá)新宇. 數(shù)字通信原理與技術(shù). 西安:西安電子科技大學(xué)出版社,2003.
[4]?潘松,黃繼業(yè). EDA技術(shù)與VHDL. 北京:清華大學(xué)出版社,2007.流程,通過Simulink的圖形化界面進(jìn)行建模、系統(tǒng)級仿真,并子對調(diào)用QuartusⅡ進(jìn)行綜合、網(wǎng)表生成和適配,最后完