基于CORDIC算法2FSK調制器的FPGA設計
通過頻率控制字,改變相位累加器的步長,這樣即可改變正弦載波的頻率。具體的數學推導如下:
設相位累加器的字長為N,頻率控制字即步長為step,則2N就相當于2π rad,N位中的最低有效位相當于2π/2N rad,即最小的相位增量,step對應的相位為step×(2π/2N)rad,完成一個周期的正弦載波輸出需要2N/step個參考時鐘周期。所以輸出正弦載波的周期為:

可見改變相位累加器的步長step,可以改變正弦載波的頻率;改變相位累加器的字長N,可控制正弦載波的頻率分辨率。在相位累加器后加入相位加法器,通過改變相位控制字P,可以控制輸出信號的相位;通過設置幅度控制字A,可控制最終輸出的正弦載波的幅度大小。因此,通過對相位控制字、頻率控制字或幅度控制字進行多路選擇,可以形成不同進制的調制方式。可以看出,使用該結構可以很容易實現頻率調制、相位調制和幅值調制。
3 2FSK調制器的FPGA設計
圖4為2FSK調制器頂層工程原理圖。該原理圖主要由三個模塊組成:2選1數據選擇器MUX21、相位累加器adder、正弦載波生成模塊eor-dic。其中,clk為系統時鐘信號,rst為系統清零信號,step1,step2為2個不同的頻率控制字,s為系統頻率控制字選通端。2選1數據選擇器的選通端s受基帶信號控制,當基帶信號為‘0’時,選通控制字step1;當基帶信號為‘1’時,選通控制字step2。通過對step1,step2的選擇,可以實現頻率的切換。本文引用地址:http://www.104case.com/article/191186.htm
在QuartusⅡ環境中,三個子模塊均用VHDL語言進行設計,系統頂層工程采用原理圖進行設計,對系統頂層工程進行器件選擇、引腳鎖定、編譯、綜合后下載到Cyclone系列EP1C12Q240C8器件中,通過在頻率控制字的引腳選擇不同參數即可在FPGA器件中完成2FSK調制器的設計。
4 系統硬件實時測試
調制器的輸出信號為數字信號,經D/A轉換后可以通過示波器進行測試,也可以直接采用QuartusⅡ軟件中的嵌入式邏輯分析儀Signal-TapⅡ進行測試。
采用SignalTapⅡ進行芯片測試,用戶無需外接專用儀器,就可以對FPGA器件內部所有信號和節點進行捕獲分析,而又不影響原硬件系統的正常工作。經測試得到的實時波形如圖5所示。測試結果表明,基于FPGA和CORDIC算法的2FSK調制器設計方案是正確可行的,且波形流暢,在轉換處能快速進行切換。
5 結語
用FPGA和CORDIC算法實現信號調制,既克服了傳統方法耗費資源、運行速度低等缺點,還具有靜態可重復編程和動態在系統重構的特性,極大地提高了電子系統設計的靈活性和通用性,大大縮短了系統的開發周期。
評論