前言
在數字信號處理時我們經常會用到數字變頻,包數字下變頻(DDC)和數字上變頻(DUC),這其中會用到Xilinx公司的DDS IP核或者Altera公司的NCO IP核來產生本振頻率,以現數字域信號頻譜搬移。本文我們通過例化Xilinx公司的DDS IP核來產生混頻器本振輸入頻率,並給出Modelsim仿真測試結果。
1、Xilinx DDS IP簡介
Xilinx公司的DDS IP核使用AXI4接口實現高性能、優化的相位產生和正弦波電路。
在圖1中我們看到DDS IP核主要包括5部分組成,其中DDS核心為相位累加器(標記1所示)和LUT查找表(標記2所示)。相位累加器實現查找表地址的產生,LUT查找表用來存儲輸出波形。圖1標記3部分為抖動產生器和泰勒級數矯正產生模塊,主要用來改善SFDR,兩者改善的效果、使用的邏輯資源存在差異。標記4部分則為AXI4接口,實現相位累加字配置,多通道配置,相位累加器輸出和波形數據輸出。標記5部分則在多通道DDS輸出時使用。 DDS IP核可以配置為三種模式:相位產生器、SIN/COS LUT或者相位累加器和SIN/COS LUT(即DDS)。
2、DDS IP核工程例程及仿真測試
本例程例化兩個IP,一個實現單通道DDS輸出,一個實現4通道DDS輸出,用於對比測試單通道和多通道DDS IP差異以及瞭解如何進行參數配置。參數配置表如下所示。
|IP核模式 | 系統時鐘 | SFDR | 頻率分辨率 | 輸出頻率 | 相位累加器 |
| 單通道 | 100MHz | 110dB | 0.4Hz | 1MHz | Fixed |
| 四通道 | 100MHz | 110dB | 0.4Hz | 1MHz | Programable |
2.1 單通道DDS IP核參數配置
2.2 四通道DDS IP核參數配置
2.3 Vivado 工程建立及FPGA代碼編寫
DDS測試FPGA工程結構及部分代碼如圖11、12所示。
2.4 Vivado仿真測試文件編寫
仿真文件代碼編寫
2.5 Modelsim仿真測試
利用Modelsim軟件聯合Vivado軟件仿真,測試結果如圖所示。
3、總結
Xilinx DDS核經常在數字變頻及軟件無線電調製解調中應用,我們可以利用IP核來實現,也完全可以自己編寫HDL語言來實現複雜波形的產生。對於DDS的實現原理,網絡有非常豐富的資料可以查找學習,本文不再詳細闡述。
閱讀更多 通信圖像FPGA工程師 的文章