基于FPGA的高階QAM調(diào)制器的分析與設(shè)計
多電平正交幅度調(diào)制MQAM(Multilevel QuadratureAmplitude Modulation)是一種振幅和相位相結(jié)合的高階調(diào)制方式,具有較高的頻帶利用率和較好的功率利用率。
因為單獨使甩振幅和相位攜帶信息時,不能最充分利用信號平面,這可由調(diào)制信號星座圖中信號矢量端點的分布直觀觀察到。多進制振幅鍵控(MASK)調(diào)制時,矢量端點在一條軸上分布;多進制相位鍵控(MPSK)調(diào)制時,矢量點在一個圓上分布。隨著進制數(shù)M的增大,這些矢量端點之間的最小距離也隨之減少。而MQAM采用振幅和相位聯(lián)合鍵控調(diào)制,他能充分利用整個信號平面,將矢量端點重新合理地分布,在不減小最小距離的情況下,增加信號的端點數(shù);在相同信號端點數(shù)的情況下,矢量端點之間的最小距離增加。因此,MQAM是一種高效的調(diào)制方式,被廣泛應(yīng)用于中、大容量數(shù)字微波通信系統(tǒng)、有線電視網(wǎng)絡(luò)高數(shù)據(jù)傳輸、衛(wèi)星通信等領(lǐng)域。本文首先介紹了MQAM調(diào)制解調(diào)的基本原理,然后以64QAM為例,介紹了一種全數(shù)字實現(xiàn)的調(diào)制系統(tǒng)結(jié)構(gòu)方案,并給出了解調(diào)器的具體FPGA實現(xiàn)方法及關(guān)鍵技術(shù)。
2 MQAM調(diào)制原理
所謂正交振幅調(diào)制,就是用兩個獨立的基帶波形對兩個相互正交的同頻載波進行抑制載波的雙邊帶調(diào)制,利用這種已調(diào)信號在同一帶寬內(nèi)頻譜的正交性來實現(xiàn)兩路并行的數(shù)字信息傳輸。MQAM信號的一般表達式為:
式(1)由兩個相互正交的載波構(gòu)成,每個載波被一組離散的振幅{Am),{Bm)所調(diào)制,故稱這種調(diào)制方式為正交振幅 調(diào)制。式中T為碼元寬度,m=1,2,…,L,L為Am和Bm的電平數(shù)。MQAM中Am和Bm振幅可以表示成:
式中:A是固定的振幅,dm,em由輸入數(shù)據(jù)確定,dm,em決定了已調(diào)MQAM信號在信號空間中的坐標點。在調(diào)制過程中,載波的振幅與相位都發(fā)生了變化,因此,已調(diào)信號矢量星座圖中每一個坐標點代表了一種編碼組合,同時也代表了正交信號矢量合成后的不同的相位及電平,第i個信號可用數(shù)學描述為:
因此每一個坐標點也由Ai和φ i惟一確定。
3 64QAM調(diào)制器系統(tǒng)設(shè)計
圖1給出了全數(shù)字實現(xiàn)的64QAM調(diào)制器的電路原理結(jié)構(gòu)。除D/A變換外,每個功能模塊都用FPGA實現(xiàn)。擾碼、串并轉(zhuǎn)換和差分編碼采用原理圖的方法進行設(shè)計,電平轉(zhuǎn)換及星座圖映射采用查表法(LUT)進行設(shè)計。本設(shè)計的難點為成形濾波器和基于DDS的正交調(diào)制器實現(xiàn),下面重點描述成形濾波器和基于DDS的正交調(diào)制器的實現(xiàn)方法。
3.1 成形濾波器的設(shè)計
為了讓信號在帶限的信道中傳輸,提高頻譜利用率,通常在發(fā)送端把信號經(jīng)過成形濾波器進行帶限,由此就會引入碼間干擾。為有效地減少碼間干擾,按照最佳接收理論,收發(fā)基帶濾波器應(yīng)共軛匹配,設(shè)計時收發(fā)基帶濾波器采用均方根升余弦滾降濾波器即能滿足要求。
在實際電路設(shè)計中采用具有線性相位的FIR濾波器來實現(xiàn)均方根升余弦滾降特性的成形濾波器。一個N階FIR濾波器的差分方程表達式為:
線性相位的FIR濾波器的系數(shù)是偶對稱或奇對稱的,利用系數(shù)的對稱性可減少乘法器的數(shù)量,本系統(tǒng)采用N為偶數(shù)且系數(shù)偶對稱的線性相位的FIR濾波器。濾波器系數(shù)是一個固定的值,根據(jù)均方根升余弦的沖擊響應(yīng)特性,利用Matlab軟件可直接生成FIR數(shù)字濾波器系數(shù)hk(k=0,1,…,N-1)。所以濾波器的乘法都是固定系數(shù)的乘法。
本設(shè)計采用分布式算法(DA)原理,利用FPGA查找表代替乘法器來實現(xiàn)FIR濾波器,其基本思想如下:
假設(shè)輸入信號數(shù)據(jù)位為B位,則濾波器在n時刻的第k個輸入為:
從式(5)可以看出,F(xiàn)IR濾波器中乘加單元的運算是算法核心。如果建立一個查找表(Look Up Table,LUT),表中數(shù)據(jù)由所有固定系數(shù)(h0,h1,…,hN-1)的所有加的組合構(gòu)成(和用sumb表示,6∈[0,B-1]),那么,用N位輸入數(shù)據(jù)構(gòu)成的N位地址去尋址LUT,如果N位都為1,則LUT的輸出是N位系數(shù)的和,如果N位中有0,則其對應(yīng)的系數(shù)將從和中去掉。這樣乘加運算就變成了查表操作。整數(shù)乘以2b可以通過左移6位實現(xiàn)。
對于本系統(tǒng),碼元速率為25.92 Mbaud,滾降系數(shù)選取為0.5,抽頭個數(shù)取N=16,抽頭系數(shù)精度取10 b,輸入數(shù)據(jù)為4 b,輸出精度取9 b。仿真結(jié)果如圖2所示。
從圖2可以看出:碼元速率為25.92 Mbaud的基帶信號經(jīng)成形濾波后,頻譜被限制在20 MHz范圍內(nèi)。
經(jīng)成形濾波后的兩路基帶信號分別對DDS(DirectDigital Synthesizer)產(chǎn)生的兩路正交的載波進行調(diào)制,然后進行矢量相加形成調(diào)制信號輸出。DDS的FPGA實現(xiàn)框圖如圖3所示。
DDS的基本原理是利用采樣定理,利用查找表法產(chǎn)生波形。相位累加器是DDS系統(tǒng)的核心部分,每來一個時鐘脈沖,累加器將頻率控制字M與相位寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至相位寄存器的數(shù)據(jù)輸入端;相位寄存器將累加器在上一個時鐘作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到累加器的輸入端,以使累加器在下一個時鐘的作用下繼續(xù)與頻率控制數(shù)據(jù)相加。這樣,相位累加器在參考時鐘的作用下,進行線性相位累加,當累加器累加滿量時就會產(chǎn)生一次溢出,完成一個周期性的動作,這個周期就是DDS合成信號的一個頻率周期,累加器的溢出頻率就是DDS輸出的信號頻率。
用相位累加器輸出的數(shù)據(jù)作為波形存儲器(ROM)的相位取樣地址,這樣就可以把存儲在波形存儲器內(nèi)的波形抽樣值經(jīng)查找表查出,完成相位到幅值轉(zhuǎn)換。ROM設(shè)計的關(guān)鍵問題是進行初始化,就是將正弦波的二進制幅度碼按一定的格式輸入到存儲器初始化(.mif)文件,此文件可以C語言或者Matlab語言程序生成。
DDS系統(tǒng)輸出信號的頻率為f0=fclk×M/2N,頻率分辨率為△f=fclk/2N,當M=2N-1時,DDS最高的基波合成頻率為f0max=fclk/2。對于本系統(tǒng),時鐘頻率fclk=155.520 MHz,N取12。仿真結(jié)果如圖4所示。
由于兩個正交本振的形成是通過Madab運算得到的查找表,所以由DDS得到的載頻不存在幅度差異,理論上其正交性也完全可以得到保證,但由于存儲精度的影響,存在量化誤差。
4 系統(tǒng)設(shè)計與仿真
根據(jù)以上各模塊單元的設(shè)計,構(gòu)成64QAM調(diào)制器的頂層文件如圖5所示。運用QuartusⅡ及Matlab軟件實現(xiàn)64QAM調(diào)制器仿真,仿真結(jié)果如圖6所示。
5 結(jié) 語
本文介紹了用FPGA實現(xiàn)全數(shù)字高階QAM調(diào)制器的思想和方法,采用原理圖和Verilog語言,用可編程芯片StratixⅡ系列中的EP2S30F484C3實現(xiàn)了整個設(shè)計,結(jié)果表明符合設(shè)計要求。為進一步的研究和設(shè)計全數(shù)字高階QAM系統(tǒng)打下了良好的基礎(chǔ)。