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