何善亮,馬 驍,田 浩,楊洪強(qiáng)
(成都國(guó)騰電子技術(shù)股份有限公司,成都 610041)
直接數(shù)字合成器以數(shù)字的方式合成頻率,與傳統(tǒng)的模擬合成鎖相環(huán)(Phase Locked Loop,PLL)相比具有合成精度高、合成時(shí)間短、相位連續(xù)以及結(jié)構(gòu)簡(jiǎn)單等特點(diǎn),其靈活的掃頻,掃相功能廣泛應(yīng)用于雷達(dá)、通信、電子對(duì)抗等領(lǐng)域[1]。
DDS在實(shí)現(xiàn)上具有多種方式,包括基于 ROM(Read Only Memory)查找表方法、基于坐標(biāo)旋轉(zhuǎn)法以及線性近似法等。在不同的應(yīng)用系統(tǒng)中,根據(jù)性能和面積折衷的考慮,各種算法都得到不同程度的應(yīng)用?;赗OM查找表在硬件實(shí)現(xiàn)上簡(jiǎn)單,但耗用巨大的查找表資源,工作頻率低;線性近似法硬件實(shí)現(xiàn)簡(jiǎn)單,耗用資源少,工作頻率高,但SFDR性能較差;坐標(biāo)旋轉(zhuǎn)法采用查找表與旋轉(zhuǎn)坐標(biāo)近似算法來(lái)實(shí)現(xiàn)面積、功耗、速度以及性能的優(yōu)化,獲得了較好的效果,也得到了廣泛的應(yīng)用。但在現(xiàn)代雷達(dá)、通信系統(tǒng)中,對(duì)功耗、面積、速度以及性能的追求是無(wú)止境的,DDS作為系統(tǒng)的信號(hào)源和調(diào)制源,占據(jù)了系統(tǒng)的核心部分,它的優(yōu)化設(shè)計(jì)給整體系統(tǒng)的優(yōu)化帶來(lái)巨大作用,因而,有必要設(shè)計(jì)一種在功耗、面積、速度以及性能上更優(yōu)的算法來(lái)達(dá)到系統(tǒng)的更優(yōu)化設(shè)計(jì)。在此,提出了基于二次項(xiàng)逼近的DDS算法。
DDS的基本結(jié)構(gòu)如圖1所示,包括相位累加器、相位加法器、相位到幅度轉(zhuǎn)換器,幅度調(diào)制器以及數(shù)字到模擬轉(zhuǎn)化器(Digital Analog Converter,DAC),其中相位累加器是用于產(chǎn)生相位值。相位加法器對(duì)相位累加器產(chǎn)生的相位值進(jìn)行相位調(diào)整,完成調(diào)相的作用。相位到幅度轉(zhuǎn)換器完成從相位到波形幅度的轉(zhuǎn)換。幅度調(diào)制器是在對(duì)輸出的波形進(jìn)行幅度壓縮,DAC模塊將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),完成數(shù)字正余弦波形到模擬波形的轉(zhuǎn)換[1]。
圖1 DDS原理圖Fig.1 Block diagram of DDS
基于二次項(xiàng)逼近DDS算法的基本思路是通過(guò)將二次項(xiàng)式運(yùn)算與三角函數(shù)式近似,采用分段算法,得到最優(yōu)化的基于二次項(xiàng)逼近DDS算法,其設(shè)計(jì)如下所述。
基于二進(jìn)制量化的DDS正弦值可由下面的公式表述:
其中,xi=i/2N,i∈{0,2N-1},N表示相位的位寬,R(·)k代表將結(jié)果進(jìn)行二進(jìn)制k位精度的截位。根據(jù)正弦函數(shù)的特點(diǎn),其關(guān)于相位π與π/2對(duì)稱,我們利用此性質(zhì)把查找表降為原來(lái)的1/4,也即是將一個(gè)周期的正弦函數(shù)映射到π/2內(nèi),也稱為1/4壓縮,壓縮后的正弦函數(shù)表述如下:
其中,i∈{0,2N-2-1},相位插入1/2最低有效位以減少硬件。此時(shí),我們采用一個(gè)二次項(xiàng)表達(dá)式近似Sq(xi),如下:
顯然,直接求算近似誤差很大。為了降低近似誤差,我們把正弦函數(shù)進(jìn)行分段,得到分段二次項(xiàng)逼近算法:把 Sq(xi)分為若干段,每段用一個(gè)二次項(xiàng)表達(dá)式近似。為了利于硬件實(shí)現(xiàn)以及減少資源,各段必須等長(zhǎng),并且段數(shù)以2為權(quán)數(shù)。經(jīng)上分析,問(wèn)題簡(jiǎn)化為求一組2m個(gè)二次項(xiàng)表達(dá)式:
其中,j∈{0,2m-1},并用其近似于正弦值 Sq(xj·n+xi),i∈{0,n-1},n=2N-m-2。根據(jù)分段二次項(xiàng)表達(dá)式近似,可以得到各分段的二次項(xiàng)表達(dá)式系數(shù)C2、C1、C0。其求解方程如下:
其中:
根據(jù)以上方程求解,將得到第J段的二次項(xiàng)系數(shù)為C0j、C1j、C2j。而通過(guò)該系數(shù),即可求出該段的正弦輸出。
由以上二次項(xiàng)逼近DDS算法推導(dǎo)可知,二次項(xiàng)式與正弦函數(shù)是相等的。也就是說(shuō),二次項(xiàng)逼近算法不存在運(yùn)算等式上的近似。相比于文獻(xiàn)[1-2]中坐標(biāo)旋轉(zhuǎn)算法的算式近似誤差,二次項(xiàng)逼近DDS算法理論上可以完全無(wú)誤差地等價(jià)于正弦函數(shù),但實(shí)際應(yīng)用上,由于電路實(shí)現(xiàn)時(shí),二次項(xiàng)的運(yùn)算系數(shù)以及運(yùn)算結(jié)果采用的是有限的二進(jìn)制位寬,因而不可避免引入量化誤差。在計(jì)算二次項(xiàng)運(yùn)算誤差時(shí),主要關(guān)注二次項(xiàng)系數(shù)位寬的寬度,運(yùn)算位寬截位以及DDS常規(guī)的相位截位與輸出幅度截位誤差。此類誤差在文獻(xiàn)[3-4]中作了詳細(xì)分析,在此不再贅述。
下面舉例說(shuō)明二次項(xiàng)逼近算法。我們以相位尋址位寬寬度為17位、輸出幅度值位寬寬度為14位來(lái)分析二次項(xiàng)逼近型算法應(yīng)用。
根據(jù)正弦函數(shù)的對(duì)稱性以及二次項(xiàng)逼近算法的分段特征,將17位相位字劃分為3部分,高兩位為象限尋址位,不參與二次項(xiàng)表達(dá)式的運(yùn)算,隨后5位作為二次項(xiàng)逼近分段位,即將π/2的相位分為25段,而最后的低10位作為每段的二次項(xiàng)運(yùn)算數(shù),如圖2所示。
圖2 相位信息示意圖Fig.2 Information of phase
高兩位與正弦波的象限對(duì)應(yīng)關(guān)系如表1所示。
表1 象限映射Table 1 Quadrant map
第一象限表示0~π/2的正弦輸出。根據(jù)對(duì)稱性,其他3個(gè)象限正/余弦值可以通過(guò)高兩位相位值將第一象限的正/余弦值映射得到,如圖3所示。
圖3 象限映射示意圖Fig.3 Quadrant map
相位映射位后的5位為二次項(xiàng)逼近分段位,也即是即將π/2的相位分為25段,其原理如圖4所示。
圖4 算法原理示意圖Fig.4 DDS algorithm based on quadratic approximation
每段對(duì)應(yīng)各自的二次項(xiàng)系數(shù) C0j、C1j、C2j,也就是對(duì)應(yīng)32組系數(shù)。此32組系數(shù)可以通過(guò)式(5)求算得到,x1x2…xi表示每段內(nèi)的運(yùn)算數(shù),作為段內(nèi)運(yùn)算相位。
由此得到二次項(xiàng)逼近算法的實(shí)現(xiàn)結(jié)構(gòu),即通過(guò)5位分段位相位對(duì)二次項(xiàng)系數(shù)進(jìn)行尋址,得到 C0、C1、C2系數(shù)輸出,然后各個(gè)系數(shù)與低10位的段內(nèi)相位值(x1x2…xi)進(jìn)行二次項(xiàng)運(yùn)算,經(jīng)過(guò)運(yùn)算后得到第一象限內(nèi)的幅度值,再通過(guò)象限映射將第一象限的幅度值映射到其他3個(gè)象限中,由此即可實(shí)現(xiàn)二次項(xiàng)逼近算法。
本節(jié)詳細(xì)描述二次項(xiàng)逼近算法的電路實(shí)現(xiàn)。
選取相位累加器位寬為32位、相位尋址位寬為17位、DAC精度為14位的DDS為參考設(shè)計(jì),得到圖5中的基于二次項(xiàng)逼近DDS算法的相位到幅度轉(zhuǎn)換結(jié)構(gòu),其中包括相位壓縮模塊、延遲匹配模塊、二次項(xiàng)系數(shù)查找表、二次項(xiàng)運(yùn)算模塊以及輸出處理模塊。各模塊的具體電路如圖5所述。
圖5 二次項(xiàng)算法電路結(jié)構(gòu)Fig.5 Block diagram of DDS circuit based on quadratic approximation
相位壓縮模塊是根據(jù)正余弦的對(duì)稱原則將0~2π的相位值壓縮到0~π/2的象限中,這樣可以減少運(yùn)算邏輯;延遲匹配模塊用于匹配延遲運(yùn)算的流水級(jí)數(shù);二次項(xiàng)系數(shù)查找表用于存儲(chǔ)各分段的二次項(xiàng)系數(shù)C0、C1、C2,將分段相位值作為地址對(duì)系數(shù)查找表進(jìn)行讀取;二次項(xiàng)運(yùn)算是用于進(jìn)行二次項(xiàng)式c2·x2+c1·x+c0的運(yùn)算,即系數(shù)與相位的運(yùn)算。輸出處理模塊映射0~π/2正余弦值到其他3個(gè)象限中,使最后輸出形成完整的正余弦波形。
相位壓縮模塊如圖6所示。
圖6 相位壓縮模塊Fig.6 Circuit of phase compression
該電路由選擇器和反相器組成,通過(guò)相位高位的第二位作為選擇器的選擇端來(lái)控制輸出相位是當(dāng)前輸入的相位值或是取反后的相位值,使輸出的相位在進(jìn)行幅度轉(zhuǎn)換后總是能滿足當(dāng)前象限的幅度變化趨勢(shì)。
二次項(xiàng)系數(shù)查找表電路用于存儲(chǔ)二次項(xiàng)系數(shù),采用常用的ROM查找表電路。查找表地址共有5位,總共32組系數(shù)值,其存儲(chǔ)值如表2所示,其中C0系數(shù)位寬為16位,C1系數(shù)位寬為10位,C2系數(shù)位寬為5位,總的查找表占用資源為992 bit。
表2 ROM查找表值Table 2 Data of ROM
二次項(xiàng)運(yùn)算電路模塊用于進(jìn)行二次項(xiàng)式 c2·x2+c1·x+c0的運(yùn)算,從式中可以看出,二次項(xiàng)式運(yùn)算包括了3個(gè)乘法運(yùn)算和兩個(gè)加法運(yùn)算,得到如圖7所示的運(yùn)算電路。
圖7 二次項(xiàng)運(yùn)算模塊Fig.7 Circuit of quadratic approximation operation
以上電路使用了3個(gè)乘法器,占用較多的資源,為減少運(yùn)算所產(chǎn)生的資源,我們?cè)噲D將表達(dá)式變化為(c2·x+c1)·x+c0,由該變化后的式子可知,所用到的運(yùn)算資源為兩個(gè)乘法器和一個(gè)加法器,減少了一個(gè)乘法器的資源。在此,選用此改進(jìn)后的結(jié)構(gòu)實(shí)現(xiàn)二次項(xiàng)式的運(yùn)算,其電路結(jié)構(gòu)如圖8所示。
圖8 改進(jìn)二次項(xiàng)運(yùn)算電路模塊Fig.8 Circuit of improved quadratic approximation operation
結(jié)果處理電路模塊如圖9所示。該電路由選擇器和反相器組成,通過(guò)高兩位作為選擇器的選擇端來(lái)判斷是否將運(yùn)算的余弦值進(jìn)行符號(hào)取反,用以將第一象限的幅度值映射到其他3個(gè)象限中去。
圖9 結(jié)果處理模塊Fig.9 Circuit of end process
象限映射表如表3所示。
表3 結(jié)果處理中象限映射表Table 3 Quadrant map of end process
對(duì)第4節(jié)實(shí)現(xiàn)的電路進(jìn)行性能分析,即相位尋址采用17位輸入、輸出14位幅度寬度的余弦波形。使DDS電路工作在1GHz工作頻率下,配置DDS輸出典型頻率點(diǎn)的余弦波形,截取輸出的14位寬總線數(shù)據(jù)進(jìn)行頻譜分析,得到DDS的SFDR性能指標(biāo),其中10 MHz、100 MHz,200 MHz以及 400 MHz頻率輸出SFDR如圖10所示。
圖10 不同頻率時(shí)SFDR分析結(jié)果Fig.10 SFDR of 10MHz,100 MHz,200 MHz and 400 MHz output
由以上典型頻點(diǎn)輸出的SFDR仿真分析可知,最差的SFDR為-105.1 dBc。與已有算法進(jìn)行性能以及面積的比較,結(jié)果如表4所示。
表4 性能比較Table 4 Performance comparison
從表中可以看出,本算法的性能指標(biāo)中SFDR略小于文獻(xiàn)[1](-106 dBc),而面積上只采用了兩個(gè)乘法器、兩個(gè)加法器以及992比特的查找表,與文獻(xiàn)[1]的27個(gè)高比特位寬(22位)加法器相比,雖然乘法器與加法器不能直接對(duì)等比較,但顯然,高比特位的加法器與低比特位的乘法器具有相當(dāng)?shù)馁Y源損耗,因而,在資源損耗上本算法相對(duì)于文獻(xiàn)[1]有至少一半以上的減少,資源上的優(yōu)化相對(duì)于性能上的減少具有明顯的優(yōu)勢(shì)。
本算法對(duì)比于其他文獻(xiàn)算法[2,5-6],在性能上有5 dB以上(對(duì)比文獻(xiàn)[2])的改善,在資源上有1/3以上(對(duì)比文獻(xiàn)[6])的改善,性能及資源優(yōu)化都得到明顯提高。
考慮在相同設(shè)計(jì)工藝、相同工作頻率下面積的減少必然會(huì)帶來(lái)功耗的降低。因而,相比于已有算法,從性能、面積以及功耗的綜合對(duì)比下,本算法具有較為明顯的優(yōu)勢(shì)。
本文詳細(xì)設(shè)計(jì)了基于二次項(xiàng)逼近的DDS算法,并給出了算法的電路實(shí)現(xiàn)。通過(guò)仿真分析表明,該DDS算法在17位相位尋址、14位幅度輸出的電路仿真中,得到的SFDR高達(dá)-105.1 dBc,而面積上只用了兩個(gè)乘法器、兩個(gè)加法器以及992比特的查找表,相比于現(xiàn)有的算法,在性能、面積以及功耗上得到了明顯的改善。該算法能夠給現(xiàn)有雷達(dá)、通信系統(tǒng)中的信號(hào)源、調(diào)制源提供更優(yōu)化設(shè)計(jì),可廣泛應(yīng)用于具有高要求的雷達(dá)、通信及信號(hào)源等系統(tǒng)。
[1] 何善亮,馬驍.一種高性能DDS的算法研究和實(shí)現(xiàn)[C]//四川省電子學(xué)會(huì)半導(dǎo)體與集成技術(shù)專委會(huì)2008年度學(xué)術(shù)年會(huì)論文集.成都:四川省電子學(xué)會(huì)半導(dǎo)體與集成技術(shù)專委會(huì),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.