基于FPGA的高階QAM調制器的實現
本設計采用分布式算法(DA)原理,利用FPGA查找表代替乘法器來實現FIR濾波器,其基本思想如下:
假設輸入信號數據位為B位,則濾波器在n時刻的第k個輸入為:
從式(5)可以看出,FIR濾波器中乘加單元的運算是算法核心。如果建立一個查找表(Look Up Table,LUT),表中數據由所有固定系數(h0,h1,…,hN-1)的所有加的組合構成(和用sumb表示,6∈[0,B-1]),那么,用N位輸入數據構成的N位地址去尋址LUT,如果N位都為1,則LUT的輸出是N位系數的和,如果N位中有0,則其對應的系數將從和中去掉。這樣乘加運算就變成了查表操作。整數乘以2b可以通過左移6位實現。
對于本系統,碼元速率為25.92 Mbaud,滾降系數選取為0.5,抽頭個數取N=16,抽頭系數精度取10 b,輸入數據為4 b,輸出精度取9 b。仿真結果如圖2所示。
從圖2可以看出:碼元速率為25.92 Mbaud的基帶信號經成形濾波后,頻譜被限制在20 MHz范圍內。
3.2 正交調制器的設計
經成形濾波后的兩路基帶信號分別對DDS(DirectDigital Synthesizer)產生的兩路正交的載波進行調制,然后進行矢量相加形成調制信號輸出。DDS的FPGA實現框圖如圖3所示。
DDS的基本原理是利用采樣定理,利用查找表法產生波形。相位累加器是DDS系統的核心部分,每來一個時鐘脈沖,累加器將頻率控制字M與相位寄存器輸出的累加相位數據相加,把相加后的結果送至相位寄存器的數據輸入端;相位寄存器將累加器在上一個時鐘作用后所產生的新相位數據反饋到累加器的輸入端,以使累加器在下一個時鐘的作用下繼續與頻率控制數據相加。這樣,相位累加器在參考時鐘的作用下,進行線性相位累加,當累加器累加滿量時就會產生一次溢出,完成一個周期性的動作,這個周期就是DDS合成信號的一個頻率周期,累加器的溢出頻率就是DDS輸出的信號頻率。
評論