何善亮,馬 驍,田 浩,楊洪強
(成都國騰電子技術股份有限公司,成都 610041)
直接數字合成器以數字的方式合成頻率,與傳統的模擬合成鎖相環(Phase Locked Loop,PLL)相比具有合成精度高、合成時間短、相位連續以及結構簡單等特點,其靈活的掃頻,掃相功能廣泛應用于雷達、通信、電子對抗等領域[1]。
DDS在實現上具有多種方式,包括基于 ROM(Read Only Memory)查找表方法、基于坐標旋轉法以及線性近似法等。在不同的應用系統中,根據性能和面積折衷的考慮,各種算法都得到不同程度的應用。基于ROM查找表在硬件實現上簡單,但耗用巨大的查找表資源,工作頻率低;線性近似法硬件實現簡單,耗用資源少,工作頻率高,但SFDR性能較差;坐標旋轉法采用查找表與旋轉坐標近似算法來實現面積、功耗、速度以及性能的優化,獲得了較好的效果,也得到了廣泛的應用。但在現代雷達、通信系統中,對功耗、面積、速度以及性能的追求是無止境的,DDS作為系統的信號源和調制源,占據了系統的核心部分,它的優化設計給整體系統的優化帶來巨大作用,因而,有必要設計一種在功耗、面積、速度以及性能上更優的算法來達到系統的更優化設計。在此,提出了基于二次項逼近的DDS算法。
DDS的基本結構如圖1所示,包括相位累加器、相位加法器、相位到幅度轉換器,幅度調制器以及數字到模擬轉化器(Digital Analog Converter,DAC),其中相位累加器是用于產生相位值。相位加法器對相位累加器產生的相位值進行相位調整,完成調相的作用。相位到幅度轉換器完成從相位到波形幅度的轉換。幅度調制器是在對輸出的波形進行幅度壓縮,DAC模塊將數字信號轉換為模擬信號,完成數字正余弦波形到模擬波形的轉換[1]。

圖1 DDS原理圖Fig.1 Block diagram of DDS
基于二次項逼近DDS算法的基本思路是通過將二次項式運算與三角函數式近似,采用分段算法,得到最優化的基于二次項逼近DDS算法,其設計如下所述。
基于二進制量化的DDS正弦值可由下面的公式表述:

其中,xi=i/2N,i∈{0,2N-1},N表示相位的位寬,R(·)k代表將結果進行二進制k位精度的截位。根據正弦函數的特點,其關于相位π與π/2對稱,我們利用此性質把查找表降為原來的1/4,也即是將一個周期的正弦函數映射到π/2內,也稱為1/4壓縮,壓縮后的正弦函數表述如下:

其中,i∈{0,2N-2-1},相位插入1/2最低有效位以減少硬件。此時,我們采用一個二次項表達式近似Sq(xi),如下:

顯然,直接求算近似誤差很大。為了降低近似誤差,我們把正弦函數進行分段,得到分段二次項逼近算法:把 Sq(xi)分為若干段,每段用一個二次項表達式近似。為了利于硬件實現以及減少資源,各段必須等長,并且段數以2為權數。經上分析,問題簡化為求一組2m個二次項表達式:

其中,j∈{0,2m-1},并用其近似于正弦值 Sq(xj·n+xi),i∈{0,n-1},n=2N-m-2。根據分段二次項表達式近似,可以得到各分段的二次項表達式系數C2、C1、C0。其求解方程如下:

其中:

根據以上方程求解,將得到第J段的二次項系數為C0j、C1j、C2j。而通過該系數,即可求出該段的正弦輸出。
由以上二次項逼近DDS算法推導可知,二次項式與正弦函數是相等的。也就是說,二次項逼近算法不存在運算等式上的近似。相比于文獻[1-2]中坐標旋轉算法的算式近似誤差,二次項逼近DDS算法理論上可以完全無誤差地等價于正弦函數,但實際應用上,由于電路實現時,二次項的運算系數以及運算結果采用的是有限的二進制位寬,因而不可避免引入量化誤差。在計算二次項運算誤差時,主要關注二次項系數位寬的寬度,運算位寬截位以及DDS常規的相位截位與輸出幅度截位誤差。此類誤差在文獻[3-4]中作了詳細分析,在此不再贅述。
下面舉例說明二次項逼近算法。我們以相位尋址位寬寬度為17位、輸出幅度值位寬寬度為14位來分析二次項逼近型算法應用。
根據正弦函數的對稱性以及二次項逼近算法的分段特征,將17位相位字劃分為3部分,高兩位為象限尋址位,不參與二次項表達式的運算,隨后5位作為二次項逼近分段位,即將π/2的相位分為25段,而最后的低10位作為每段的二次項運算數,如圖2所示。

圖2 相位信息示意圖Fig.2 Information of phase
高兩位與正弦波的象限對應關系如表1所示。

表1 象限映射Table 1 Quadrant map
第一象限表示0~π/2的正弦輸出。根據對稱性,其他3個象限正/余弦值可以通過高兩位相位值將第一象限的正/余弦值映射得到,如圖3所示。

圖3 象限映射示意圖Fig.3 Quadrant map
相位映射位后的5位為二次項逼近分段位,也即是即將π/2的相位分為25段,其原理如圖4所示。

圖4 算法原理示意圖Fig.4 DDS algorithm based on quadratic approximation
每段對應各自的二次項系數 C0j、C1j、C2j,也就是對應32組系數。此32組系數可以通過式(5)求算得到,x1x2…xi表示每段內的運算數,作為段內運算相位。
由此得到二次項逼近算法的實現結構,即通過5位分段位相位對二次項系數進行尋址,得到 C0、C1、C2系數輸出,然后各個系數與低10位的段內相位值(x1x2…xi)進行二次項運算,經過運算后得到第一象限內的幅度值,再通過象限映射將第一象限的幅度值映射到其他3個象限中,由此即可實現二次項逼近算法。
本節詳細描述二次項逼近算法的電路實現。
選取相位累加器位寬為32位、相位尋址位寬為17位、DAC精度為14位的DDS為參考設計,得到圖5中的基于二次項逼近DDS算法的相位到幅度轉換結構,其中包括相位壓縮模塊、延遲匹配模塊、二次項系數查找表、二次項運算模塊以及輸出處理模塊。各模塊的具體電路如圖5所述。

圖5 二次項算法電路結構Fig.5 Block diagram of DDS circuit based on quadratic approximation
相位壓縮模塊是根據正余弦的對稱原則將0~2π的相位值壓縮到0~π/2的象限中,這樣可以減少運算邏輯;延遲匹配模塊用于匹配延遲運算的流水級數;二次項系數查找表用于存儲各分段的二次項系數C0、C1、C2,將分段相位值作為地址對系數查找表進行讀取;二次項運算是用于進行二次項式c2·x2+c1·x+c0的運算,即系數與相位的運算。輸出處理模塊映射0~π/2正余弦值到其他3個象限中,使最后輸出形成完整的正余弦波形。
相位壓縮模塊如圖6所示。

圖6 相位壓縮模塊Fig.6 Circuit of phase compression
該電路由選擇器和反相器組成,通過相位高位的第二位作為選擇器的選擇端來控制輸出相位是當前輸入的相位值或是取反后的相位值,使輸出的相位在進行幅度轉換后總是能滿足當前象限的幅度變化趨勢。
二次項系數查找表電路用于存儲二次項系數,采用常用的ROM查找表電路。查找表地址共有5位,總共32組系數值,其存儲值如表2所示,其中C0系數位寬為16位,C1系數位寬為10位,C2系數位寬為5位,總的查找表占用資源為992 bit。

表2 ROM查找表值Table 2 Data of ROM
二次項運算電路模塊用于進行二次項式 c2·x2+c1·x+c0的運算,從式中可以看出,二次項式運算包括了3個乘法運算和兩個加法運算,得到如圖7所示的運算電路。

圖7 二次項運算模塊Fig.7 Circuit of quadratic approximation operation
以上電路使用了3個乘法器,占用較多的資源,為減少運算所產生的資源,我們試圖將表達式變化為(c2·x+c1)·x+c0,由該變化后的式子可知,所用到的運算資源為兩個乘法器和一個加法器,減少了一個乘法器的資源。在此,選用此改進后的結構實現二次項式的運算,其電路結構如圖8所示。

圖8 改進二次項運算電路模塊Fig.8 Circuit of improved quadratic approximation operation
結果處理電路模塊如圖9所示。該電路由選擇器和反相器組成,通過高兩位作為選擇器的選擇端來判斷是否將運算的余弦值進行符號取反,用以將第一象限的幅度值映射到其他3個象限中去。

圖9 結果處理模塊Fig.9 Circuit of end process
象限映射表如表3所示。

表3 結果處理中象限映射表Table 3 Quadrant map of end process
對第4節實現的電路進行性能分析,即相位尋址采用17位輸入、輸出14位幅度寬度的余弦波形。使DDS電路工作在1GHz工作頻率下,配置DDS輸出典型頻率點的余弦波形,截取輸出的14位寬總線數據進行頻譜分析,得到DDS的SFDR性能指標,其中10 MHz、100 MHz,200 MHz以及 400 MHz頻率輸出SFDR如圖10所示。

圖10 不同頻率時SFDR分析結果Fig.10 SFDR of 10MHz,100 MHz,200 MHz and 400 MHz output
由以上典型頻點輸出的SFDR仿真分析可知,最差的SFDR為-105.1 dBc。與已有算法進行性能以及面積的比較,結果如表4所示。

表4 性能比較Table 4 Performance comparison
從表中可以看出,本算法的性能指標中SFDR略小于文獻[1](-106 dBc),而面積上只采用了兩個乘法器、兩個加法器以及992比特的查找表,與文獻[1]的27個高比特位寬(22位)加法器相比,雖然乘法器與加法器不能直接對等比較,但顯然,高比特位的加法器與低比特位的乘法器具有相當的資源損耗,因而,在資源損耗上本算法相對于文獻[1]有至少一半以上的減少,資源上的優化相對于性能上的減少具有明顯的優勢。
本算法對比于其他文獻算法[2,5-6],在性能上有5 dB以上(對比文獻[2])的改善,在資源上有1/3以上(對比文獻[6])的改善,性能及資源優化都得到明顯提高。
考慮在相同設計工藝、相同工作頻率下面積的減少必然會帶來功耗的降低。因而,相比于已有算法,從性能、面積以及功耗的綜合對比下,本算法具有較為明顯的優勢。
本文詳細設計了基于二次項逼近的DDS算法,并給出了算法的電路實現。通過仿真分析表明,該DDS算法在17位相位尋址、14位幅度輸出的電路仿真中,得到的SFDR高達-105.1 dBc,而面積上只用了兩個乘法器、兩個加法器以及992比特的查找表,相比于現有的算法,在性能、面積以及功耗上得到了明顯的改善。該算法能夠給現有雷達、通信系統中的信號源、調制源提供更優化設計,可廣泛應用于具有高要求的雷達、通信及信號源等系統。
[1] 何善亮,馬驍.一種高性能DDS的算法研究和實現[C]//四川省電子學會半導體與集成技術專委會2008年度學術年會論文集.成都:四川省電子學會半導體與集成技術專委會,2008:311-316.HE Shan-liang,MA Xiao.An Improved DDS algorithm and its implementation[C]//Proceedings of The 2008 Annual Conference Proceedings of Semiconductor and Integration Technology Special Committee of Electronics Association of Sichuan.Chengdu:Semiconductor and Integration Technology Special Committee of Electronics Association of Sichuan,2008:311-316.(in Chinese)
[2] Madisetti A,Kwentus A Y,WillsonA N.A 100MHz,16-b,direct digital frequency synthesizerwith a 100-dBc spuriousfree dynamic range[J].IEEE Jounal of Solid State Circuit,1999,34(8):1034-1043.
[3] Goldberg B G.Digital Frequency Synthesis Demystified[M].VA,USA:LLH Technology Publishing,1999.
[4] Vankka J.Digital Synthesizers and Transmitters for Software Radio[D].Helsinki,Finland:Helsinki University of Technology,2005.
[5] Jafari H,Ayatollahi A,Mirzakuchaki S.A low power high sfdr ROM-Less direct digial frequency synthesizer[C]//Proceedings of the 17th International Conference on Microellectronics.[S.l.]:Microelectronics,2005:13-15.
[6] Ashrafi A,PanZ,Adhami R,et al.A novel ROM-Less direct di-gital frequency synthesizer based on Chebyshev polynomial interpolation[C]//Proceedings of the 36th Southeastern Symposium on System Theory.[S.l.]:System Theory,2004.