摘 要:介紹了一種新型直接數字頻率合成技術,根據遺傳算法確定的近似多項式直接產生數字正弦波,這種方法擺脫了ROM容量對DDS設計的限制。多項式近似方法采用流水線結構,并利用Xilinx公司的FPGA器件(XC2V3000-ff1152-4)進行設計實現。該方法的無雜散動態范圍約為-83 dB,相對于傳統方法FPGA資源消耗大大降低,僅為傳統方法的40%。
關鍵詞:直接數字頻率合成器;FPGA;Rom-less;多項式近似
中圖分類號:TN91 文獻標識碼:B
文章編號:1004-373X(2008)11-135-03
The New Design of a Rom-less Pipelining DDS
WANG Hongyuan,YANG Gang,ZHANG Changge
(Beijing Institute of Remote Sensing Equipment,Beijing,100039,China)
Abstract:This paper describes the design of a Rom-less Direct Digital Frequency Synthesizer.This design dispenses with Rom,which mainly limits the design of DDS,but use SIN function polynomial approximation directly generating.Realizes the design of Rom-less DDS in Xilinx′s FPGA(XC2V3000-ff1152-4),the digital part of it can be pipelined,and this method attaches the Spurious Free Dynamic Rang (SFDR) about -83 dBc.Comparing with the traditional method,the new design uses only 40% of FPGA resources.
Keywords:direct digital frequency synthesizer;FPGA;Rom-less;polynomial approximation
1 引 言
直接數字頻率合成技術[1](Direct Digital Frequency Synthesizer,DDS)由美國學者J.Tiercy,C.M.Rade和B.Gold于1971年提出,近幾年來該技術得到飛速發展。DDS是一種將先進的數字處理理論與方法引入信號合成領域的新型頻率合成技術,具有頻率分辨率較高,輸出相位連續,頻率、相位、幅度均可實現數控調制等優點。DDS作為一種先進的信號產生技術已經廣泛應用于信號源儀器、測量分析儀器、通信、數字信號處理、工業控制和軟件無線電等領域。
傳統的DDS數字正弦函數產生是基于ROM查表實現的,這種技術的主要缺點是為了得到高純凈的頻譜就需要加大ROM存儲容量,成為DDS發展的瓶頸。如今出現避免使用ROM實現DDS(Rom-less)的方法,如CORDIC算法[2]等。本文介紹一種新型的利用多項式近似的Rom-less設計方法產生數字正弦波。
2 傳統DDS實現方法
傳統DDS技術是在參考時鐘fc的控制下,頻率控制字K由累加器累加得到相應的相位數據,此相位值在每個時鐘周期內應用于正弦查找表中,正弦查找表將相位信息轉換為相應的幅度值,數字正弦波經D/A轉換器轉化為模擬波形,最后經過低通濾波器進一步平滑并濾掉帶外雜散,得到所需信號波形[3]。DDS原理框圖如圖1所示。
圖1 傳統DDS原理框圖
如圖1所示傳統DDS主要由相位累加器、波形存儲器ROM、數模轉換器D/A和低通濾波器組成。參考時鐘是一個穩定的晶體振蕩器,用它來同步整個合成器的各個部分。
N位相位累加器輸出的二進制轉換成相位值公式為:
n=θ2π#8226;2N[JY](1)
為了說明正弦波一個完整周期內相位0~2π的變化用相位圓表示,其幅度與相位一一對應,如圖2所示。
3 多項式近似的設計方法
傳統的DDS用相位尋址的方法得到幅度值,多項式近似的方法是利用一個近似的多項式方程直接將輸入的相位計算得出近似的正弦幅度值。下面從多項式近似出發首先得出近似多項式方程,然后介紹這種Rom-lessDDS的設計方法。
圖2 DDS相位碼與幅度碼對應關系
3.1 多項式方程的選擇
當相位在(1~0.5π)之間,正弦曲線可以用多項式近似方程表示:
sin(α)(α+a1α3+a2α5)[JY](2)
有很多方法可以求得正弦曲線的近似多項式,如拋物線逼近法、泰勒展開式法、8倍角法、遺傳算法等,這樣的近似多項式也有無數個,例如利用8倍角法[4]求得的近似多項式為:
sin(α)α-0.164 062 5α3+0.006 836 α5[JY](3)
利用遺傳算法[5]可求得另一個近似多項式:
sin(α)α-0.165 86α3+0.007 58α5[JY](4)
在(0~0.5π)區間,正弦波曲線與這兩個近似多項式曲線的對比如圖3所示。
圖3 正弦波與近似多項式曲線對比圖
圖4為8倍角法與遺傳算法得出的近似多項式與正弦曲線的誤差,最大誤差分別為:1.5e-3,4.4709e-004。由圖4可以看出遺傳算法得出的近似多項式明顯好于8倍角法得出的近似多項式,因此我們選擇用遺傳算法得到的近似多項式方程進行多項式方程數字實現的推導。[LL]
圖4 誤差比較圖
3.2 多項式方程的數字實現
為了滿足頻率分辨率,需要設定較高位數的相位控制字,然后再截取高P位作為相幅轉換字。本文設定相位控制字位數為32位,截取高16位進行相幅轉換,下面進行將近似多項式推導為可以利用FPGA實現的形式。
在(0~π/2)內相位的數字表示與實際表示之間的關系為:
α=nπ/22P-2=π2#8226;n214,n≤214-1[JY](5)
將式(5)代入式(4),并乘以(214-1),得:
sin(n)[WB]=(214-1)sin(α)=(214-1)#8226;nπ215#8226;
[DW] 1-n2π2230(0.165 86-0.007 58n2π2230)
[DW]π2#8226;n2148 192-n2228(3 352-378#8226;n2228)[JY](6)
用π/2歸一化式(6),得:
sin(n)=n2148 192-n2228(3 352-378#8226;n2228)
=n2148 192-n2228(3 352-n2(1220+1221-1226-1227))[JY](7)
根據正弦曲線的象限對稱性,只需求出第一象限的曲線值,再根據相位的高兩位確定象限,經過轉換便可以得到完整的正弦曲線。
3.3 Rom-less 流水線DDS的硬件實現
相位累加器產生一個數字掃描信號相位,多項式發生器將其轉換化為(0~0.5π)之間的正弦信號幅度,經過次高位求補后通過多項式發生器轉化為(0~π)之間的正弦幅度,再通過高位求補求出(0~2π)之間的正弦幅度[6]。近似多項式法實現DDS的框圖和多項式發生器結構框圖如圖5、圖6所示。
4 仿真結果分析
系統時鐘信號頻率100 MHz,產生的正弦波信號頻率為0.610 352 4 MHz,累加器位數32位,截取高16位進行相幅轉換,FPGA芯片選用Xilinx公司的XC2V3000-ff1152-4。為了評估這種Rom-less DDS 的性能,只對數字部分進行仿真,并與傳統方法產生同樣的正弦信號進行頻譜與資源利用率的對比。
圖5 DDS的實現框圖
圖6 多項式發生器結構
4.1 數字部分仿真
利用Matlab對數字部分仿真,時域結果如圖7所示,頻域結果如圖8所示。從圖8中可以看到Rom-less DDS產生正弦信號的SFDR約為-83 dB,諧波分量略高于傳統方法產生的頻譜的SFDR。
圖7 時域仿真結果
圖8 頻域仿真結果
4.2 FPGA資源利用率對比
FPGA資源對比表如表1所示。
表1 FPGA資源對比
由表1可以看出Rom-less DDS所需RAMB16s為0,表明實現波形過程中沒有用到ROM,消耗SLICEs也僅僅是傳統方法產生正弦信號的40%,比傳統方法減少了6%,極大地減小了FPGA消耗的資源。
5 結 語
本文介紹一種新型Rom-less DDS設計方法,利用多項式近似直接產生數字正弦波。給出了詳細的設計過程,并對數字部分進行了仿真,通過與傳統方法產生的正弦波的比較,表明這種方法比傳統DDS設計方法產生的雜散略大,但是卻可以大大節省FPGA資源,只占傳統DDS方法資源的40%,同時擺脫了ROM容量對DDS設計的限制。
參 考 文 獻
[1]安建平.DDS/PLL頻率合成技術的研究\\[D\\].北京:北京理工大學,2004.
[2]Wang C C,She H C,Hu R.A Rom-less Direct Digital Frequency Synthesizer by Using Trigonometric Quadruple Angle Formola\\[J\\].IEEE Solid-State Circuits,2002,38:65-68.
[3]黃愛蓉.高性能DDS信號產生器的設計研究\\[J\\].微機計算信息,2005,21(22):153-156.
[4]Ayatollahi A,Jafari H.A Low Power,High SFDR,Rom-less Direct Digital Frequency Synthesizer.IEEE International Frequency Cotrol Symposium and PDA Exhibition,2006:654-661.
[5]蒲錦先.一種DDS中節省ROM資源的實用方法[J].無線電通信技術,2002,28(5):19-22.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。