摘 要:介紹了一種新型直接數(shù)字頻率合成技術(shù),根據(jù)遺傳算法確定的近似多項式直接產(chǎn)生數(shù)字正弦波,這種方法擺脫了ROM容量對DDS設計的限制。多項式近似方法采用流水線結(jié)構(gòu),并利用Xilinx公司的FPGA器件(XC2V3000-ff1152-4)進行設計實現(xiàn)。該方法的無雜散動態(tài)范圍約為-83 dB,相對于傳統(tǒng)方法FPGA資源消耗大大降低,僅為傳統(tǒng)方法的40%。
關鍵詞:直接數(shù)字頻率合成器;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 引 言
直接數(shù)字頻率合成技術(shù)[1](Direct Digital Frequency Synthesizer,DDS)由美國學者J.Tiercy,C.M.Rade和B.Gold于1971年提出,近幾年來該技術(shù)得到飛速發(fā)展。DDS是一種將先進的數(shù)字處理理論與方法引入信號合成領域的新型頻率合成技術(shù),具有頻率分辨率較高,輸出相位連續(xù),頻率、相位、幅度均可實現(xiàn)數(shù)控調(diào)制等優(yōu)點。DDS作為一種先進的信號產(chǎn)生技術(shù)已經(jīng)廣泛應用于信號源儀器、測量分析儀器、通信、數(shù)字信號處理、工業(yè)控制和軟件無線電等領域。
傳統(tǒng)的DDS數(shù)字正弦函數(shù)產(chǎn)生是基于ROM查表實現(xiàn)的,這種技術(shù)的主要缺點是為了得到高純凈的頻譜就需要加大ROM存儲容量,成為DDS發(fā)展的瓶頸。如今出現(xiàn)避免使用ROM實現(xiàn)DDS(Rom-less)的方法,如CORDIC算法[2]等。本文介紹一種新型的利用多項式近似的Rom-less設計方法產(chǎn)生數(shù)字正弦波。
2 傳統(tǒng)DDS實現(xiàn)方法
傳統(tǒng)DDS技術(shù)是在參考時鐘fc的控制下,頻率控制字K由累加器累加得到相應的相位數(shù)據(jù),此相位值在每個時鐘周期內(nèi)應用于正弦查找表中,正弦查找表將相位信息轉(zhuǎn)換為相應的幅度值,數(shù)字正弦波經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)化為模擬波形,最后經(jīng)過低通濾波器進一步平滑并濾掉帶外雜散,得到所需信號波形[3]。DDS原理框圖如圖1所示。
圖1 傳統(tǒng)DDS原理框圖
如圖1所示傳統(tǒng)DDS主要由相位累加器、波形存儲器ROM、數(shù)模轉(zhuǎn)換器D/A和低通濾波器組成。參考時鐘是一個穩(wěn)定的晶體振蕩器,用它來同步整個合成器的各個部分。
N位相位累加器輸出的二進制轉(zhuǎn)換成相位值公式為:
n=θ2π#8226;2N[JY](1)
為了說明正弦波一個完整周期內(nèi)相位0~2π的變化用相位圓表示,其幅度與相位一一對應,如圖2所示。
3 多項式近似的設計方法
傳統(tǒng)的DDS用相位尋址的方法得到幅度值,多項式近似的方法是利用一個近似的多項式方程直接將輸入的相位計算得出近似的正弦幅度值。下面從多項式近似出發(fā)首先得出近似多項式方程,然后介紹這種Rom-lessDDS的設計方法。
圖2 DDS相位碼與幅度碼對應關系
3.1 多項式方程的選擇
當相位在(1~0.5π)之間,正弦曲線可以用多項式近似方程表示:
sin(α)(α+a1α3+a2α5)[JY](2)
有很多方法可以求得正弦曲線的近似多項式,如拋物線逼近法、泰勒展開式法、8倍角法、遺傳算法等,這樣的近似多項式也有無數(shù)個,例如利用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π)區(qū)間,正弦波曲線與這兩個近似多項式曲線的對比如圖3所示。
圖3 正弦波與近似多項式曲線對比圖
圖4為8倍角法與遺傳算法得出的近似多項式與正弦曲線的誤差,最大誤差分別為:1.5e-3,4.4709e-004。由圖4可以看出遺傳算法得出的近似多項式明顯好于8倍角法得出的近似多項式,因此我們選擇用遺傳算法得到的近似多項式方程進行多項式方程數(shù)字實現(xiàn)的推導。[LL]
圖4 誤差比較圖
3.2 多項式方程的數(shù)字實現(xiàn)
為了滿足頻率分辨率,需要設定較高位數(shù)的相位控制字,然后再截取高P位作為相幅轉(zhuǎn)換字。本文設定相位控制字位數(shù)為32位,截取高16位進行相幅轉(zhuǎn)換,下面進行將近似多項式推導為可以利用FPGA實現(xiàn)的形式。
在(0~π/2)內(nèi)相位的數(shù)字表示與實際表示之間的關系為:
α=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)
根據(jù)正弦曲線的象限對稱性,只需求出第一象限的曲線值,再根據(jù)相位的高兩位確定象限,經(jīng)過轉(zhuǎn)換便可以得到完整的正弦曲線。
3.3 Rom-less 流水線DDS的硬件實現(xiàn)
相位累加器產(chǎn)生一個數(shù)字掃描信號相位,多項式發(fā)生器將其轉(zhuǎn)換化為(0~0.5π)之間的正弦信號幅度,經(jīng)過次高位求補后通過多項式發(fā)生器轉(zhuǎn)化為(0~π)之間的正弦幅度,再通過高位求補求出(0~2π)之間的正弦幅度[6]。近似多項式法實現(xiàn)DDS的框圖和多項式發(fā)生器結(jié)構(gòu)框圖如圖5、圖6所示。
4 仿真結(jié)果分析
系統(tǒng)時鐘信號頻率100 MHz,產(chǎn)生的正弦波信號頻率為0.610 352 4 MHz,累加器位數(shù)32位,截取高16位進行相幅轉(zhuǎn)換,F(xiàn)PGA芯片選用Xilinx公司的XC2V3000-ff1152-4。為了評估這種Rom-less DDS 的性能,只對數(shù)字部分進行仿真,并與傳統(tǒng)方法產(chǎn)生同樣的正弦信號進行頻譜與資源利用率的對比。
圖5 DDS的實現(xiàn)框圖
圖6 多項式發(fā)生器結(jié)構(gòu)
4.1 數(shù)字部分仿真
利用Matlab對數(shù)字部分仿真,時域結(jié)果如圖7所示,頻域結(jié)果如圖8所示。從圖8中可以看到Rom-less DDS產(chǎn)生正弦信號的SFDR約為-83 dB,諧波分量略高于傳統(tǒng)方法產(chǎn)生的頻譜的SFDR。
圖7 時域仿真結(jié)果
圖8 頻域仿真結(jié)果
4.2 FPGA資源利用率對比
FPGA資源對比表如表1所示。
表1 FPGA資源對比
由表1可以看出Rom-less DDS所需RAMB16s為0,表明實現(xiàn)波形過程中沒有用到ROM,消耗SLICEs也僅僅是傳統(tǒng)方法產(chǎn)生正弦信號的40%,比傳統(tǒng)方法減少了6%,極大地減小了FPGA消耗的資源。
5 結(jié) 語
本文介紹一種新型Rom-less DDS設計方法,利用多項式近似直接產(chǎn)生數(shù)字正弦波。給出了詳細的設計過程,并對數(shù)字部分進行了仿真,通過與傳統(tǒng)方法產(chǎn)生的正弦波的比較,表明這種方法比傳統(tǒng)DDS設計方法產(chǎn)生的雜散略大,但是卻可以大大節(jié)省FPGA資源,只占傳統(tǒng)DDS方法資源的40%,同時擺脫了ROM容量對DDS設計的限制。
參 考 文 獻
[1]安建平.DDS/PLL頻率合成技術(shù)的研究\\[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信號產(chǎn)生器的設計研究\\[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中節(jié)省ROM資源的實用方法[J].無線電通信技術(shù),2002,28(5):19-22.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。