張衛(wèi)清,譚劍美,陳 菡
華東電子工程研究所,安徽合肥 230031
基于FPGA的并行掃頻DDS的實現(xiàn)
張衛(wèi)清,譚劍美,陳 菡
華東電子工程研究所,安徽合肥 230031
本文介紹了直接數(shù)字合成技術(DDS)的工作原理,深入分析了結構組成,在傳統(tǒng)串行DDS結構的基礎上,提出了一種具有掃頻功能的并行DDS結構,同時對居于CORDIC算法的相幅變換方法進行了詳細敘述,最后對提出的并行DDS結構進行了理論仿真和硬件實現(xiàn),證明了該結構在不提高DDS工作時鐘的情況下可獲得較高的輸出信號。
直接數(shù)字頻率合成器;CORDIC;并行DDS
直接數(shù)字合成技術(Direct Digital Synthesis,DDS)是由美國學者J.Tierney等在1971年提出的,它是一種全數(shù)字頻率合成技術,是一種新型的頻率、相位波形合成技術。它充分利用了目前大規(guī)模集成電路的快速、低功耗、大容量、體積小等特點。與傳統(tǒng)的頻率合成器相比,具有相位噪聲低、頻率分辨率高、轉換迅速等優(yōu)點,它的頻率、相位變化連續(xù)性可以用于相位及頻率調制,快速頻率變換特性可用于頻率捷變和擴頻系統(tǒng)[1,2]。因此,DDS可廣泛地應用于雷達、電子對抗、移動通信等領域。隨著大規(guī)模集成電路在工藝和材料上的不斷創(chuàng)新和近年來對其算法的不斷改進,DDS越來越因其明顯的優(yōu)勢而倍受矚目。
一個具備掃頻功能的DDS典型結構如圖1所示,其主要由頻率累加器、相位累加器、相-幅轉換器、DAC及相應的濾波器(低通或帶通)組成。DDS的工作原理為:對于一個給定的系統(tǒng)工作時鐘fC相位累加器在每一個時鐘上升沿與頻率控制字(K)累加一次,當累加器完成2N(N為累加器的長度)次運算后,相位累加器相當于做了一次模余運算。正弦查找表在每一個時鐘周期內,根據(jù)送給ROM的地址取出存儲在ROM表中與該地址對應的正弦幅值,最后將該值送給DAC與LPF實現(xiàn)量化幅值到一個純凈的正弦信號間的轉換,同時正弦信號的相位及幅度可以根據(jù)需要分別進行控制。相位累加器的作用是根據(jù)從步進寄存器輸入的頻率控制字,以系統(tǒng)時鐘頻率fC為采樣率,在2π周期內對相位進行采樣。如果步長為K,采樣點數(shù)為
從而改變頻率控制字K就可以精確地改變頻率,從式(1)可知,可變的最小頻率間隔,即最小頻率分辨率Δfmin為:
圖1 掃頻DDS原理框圖
由DDS的原理我們知道,DDS輸出最高頻率為fC/2,因此要想獲得較高的輸出頻率,必須提高DDS系統(tǒng)工作時鐘fC,然而通常情況下受器件限制,fC不可能很高,尤其是在用FPGA實現(xiàn)DDS的情況下,因此有必要尋求另一種方法,在不顯著提高fC的情況下,獲得較高頻率的輸出信號。
讓我們再次回顧圖1所示的掃頻DDS結構,在系統(tǒng)時鐘fC的作用下,fC每觸發(fā)一次,相位累加器輸出一個N bit的相位值,我們不妨列出起始時刻相位累加器的輸出狀態(tài):
上式X(0)~X(11)為相位累加器從起始時刻開始連續(xù)12個狀態(tài)的輸出,我們可以把相位累加器輸出的值分為兩部分,一部分只與頻率字有關(記為Xk),另一部分只與斜率字有關(記為Xd),因此可以得出以下規(guī)律,
其中4n*K為加法器前一個時鐘輸出的狀態(tài),K為輸入的頻率字,因此Xk(4n),Xk(4n+1),Xk(4n+2),Xk(4n+3)四個連續(xù)的狀態(tài)就被4n*K和K兩個狀態(tài)表示出來,因此Xk的累加過程可以用圖2所示的結構來表示
圖2 頻率字并行累加結構框圖
同理,對于Xd(n)可以進一步推導出以下公式:
其中Xd(4n-1)+4n*D為加法器前一個時鐘輸出的狀態(tài),D為輸入的掃頻斜率字,因此Xd(4n),Xd(4n+1),Xd(4n+2),Xd(4n+3)四個連續(xù)的狀態(tài)就被4n*D和D兩個狀態(tài)表示出來,因此Xd可以用圖3所示的結構來表示
圖3 斜率字并行累加結構框圖
因此,如圖1所示的DDS結構中的頻率累加器和相位累加器可由圖2和圖3兩結合的結構組成,新的并行DDS結構如圖4所示。
圖4 掃頻并行DDS結構框圖
我們可以看到這種結構的優(yōu)點是把相位累加器和頻率累加器的內部工作時鐘降低為fC/4,反過來也就是提高了4倍的時鐘頻率,在每輸入一個頻率字和斜率字的狀態(tài)下,4個加法器同時輸出4個連續(xù)的狀態(tài),經(jīng)過多路復用器進行選通,保證了在外部每個fC的情況下都可以輸出一個值,這樣大幅度降低了流水線累加器在高速時鐘信號下工作所產生的功耗,并且提高了整個系統(tǒng)時鐘工作的頻率,提高了DDS的輸出頻率。
相位-幅度轉換方法主要有查找表,多項式展開法以及Cordic算法,查表法通過事先計算好正弦或余弦值,將其存儲在只讀存儲器中,然后將相位累加器輸出的相位作為地址從ROMA中通過查表獲取正弦或余弦值,其缺點是ROM要專用大量的片內資源,Sunderland提出的粗、細ROM結構[4]及其修改形式,其最高壓縮比為59:1,文獻[5]提出的Nicholas結構算法是一種基于數(shù)字化優(yōu)化的方法,可以根據(jù)實際參數(shù)優(yōu)化計算出粗、細ROM的容量及數(shù)據(jù)位數(shù),其壓縮比可以達到128:1。多項式展開法是利用泰勒級數(shù)展開來實現(xiàn)相位幅度的轉換,取Taylor級數(shù)前三項分別賦予不同的權值后存于3個ROM,最后由運算電路合成,這種方法可以得到64:1的壓縮比,但要獲得較高的精度,需要使用較高的階數(shù),電路實現(xiàn)比較復雜。CORDIC算法則是一種純算術的三角函數(shù)計算方法,它能通過簡單移位、加法等多次迭代給出精確結果,比較適合位數(shù)大于14位的DDS,同時也特別適合FPGA實現(xiàn)。CORDIC,又名坐標旋轉數(shù)字計算,是J. Voider等人于1959年在設計美國航空導航控制系統(tǒng)的過程中提出來的一種算法[78]。下面就簡要地介紹一下CORDIC算法的基本數(shù)學思想。
圖5 向量旋轉坐標圖
不考慮常量C,那么式(26)可以簡化為
上式Sn={-1,1},再次回到圖5,我們假定:
起始向量OA為[Xi,Yi,θi]=[1,0,0]
終止向量 OB 為[Xj,Yj,θj]=[cosθ,sinθ,θ]
經(jīng)過一系列特定角度θn的依次旋轉,由矢量OA旋轉到矢量OB即可得到cosθ,可見,CORDIC算法是通過將一個初始位置與X軸重合、方向與X軸一致、起點為原點、終點在單位圓上的向量繞原點作一系列特定角度的順時針或逆時針旋轉疊加來漸進逼近輸入角度,從而計算出輸入角余弦值。
為了驗證本文推導的具有掃頻功能的并行DDS結構的正確性,先利用matlab對算法進行了仿真,同時用硬件描述語言Verilog對算法進行了實現(xiàn),最后導入ModemSim對該結構進行了仿真,仿真參數(shù)設置信號中心頻率223MHz,帶寬2.5MHz,時寬40us,DDS工作時鐘(fc)為600MHz,仿真結果如下:
圖6 線性調頻仿真結果圖
采用FPGA+DAC硬件平臺驗證本文推導的并行DDS,F(xiàn)PGA為ALTERA 公司StratixⅡ 系列,型號:EP2SEF1020C4;DAC為ADI公司14位轉換率1.2GHz的器件,型號:AD9736。FPGA內部各累加器及相幅轉換器工作時鐘為150MHz,利用FPGA內部高速并串轉換模塊對四路相幅轉換器的輸出進復用,實現(xiàn)了利用600MHz工作時鐘直接產生中心頻率為223MHz,帶寬2.5MHz,時寬40us的線性調頻信號,測試結果如圖7所示。
圖7 DAC輸出頻域信號圖
本文提出了一種新型掃頻并行DDS結構,很好地解決了在FPGA內部采用低速時鐘產生高頻率信號輸出的難題,同時利用CORDIC方法實現(xiàn)了相幅轉換。本文提出的并行DDS結構非常適合FPGA實現(xiàn),在直接信號產生和任意波形產生等系統(tǒng)中可以廣泛應用。
[1]TierneyJ,Rader C,Gold B.A digital frequency sysnthesizer[J].IEEE Trans Audio Electroacoust,1971,54(19):48-56.
[2]VankkaJ,Halonen K.Direct digital Synthesizers theory,design and applications[M].NorwellKluwer Academic,2001:337-402.
[3]Tso-Bing Juang,Shen-Fu,Ming-Yu Tsai.Para- CORDIC:Parallel CORDIC Rotation Algorithm.IEEE,2004; 51(8).
[4]H.T.Nicholas,Ⅲ H.Samueli,B.Kim. The optimization of direct frequency synthesizer performance in the presence of finite word length effects,IEEE Proc 42th AFCS,1988:357-18.
[5]L.J.Kuhner,M.T. A in sworth. A spurious reduction technique for high-speed direct digital synthesizers,IEEE Proc 50th AFCS,1996:920-927
[6]Uwe Meyer-Baese著.數(shù)字信號處理的FPGA實現(xiàn)[M].劉凌,胡永生,譯.北京:清華大學出版社,2003:55-63.
[7]耿丹.CORDIC算法研究與實現(xiàn)[J].遙測遙控,2007,28 (11):40.
[8]姚亞峰,付東兵.基于CORDIC改進算法的高速DDS電路設計 [J].華中科技大學學報,2009,37(2):26-27.
The Implementation of Parallel Sweep DDS Based on FPGA
ZHANG Weiqing,TAN Jianmei,CHEN Han
East China Research of Electronic Engineering
direct digital synthesizer; digital array module; Digital Array Radar
TN941.3
A
1674-6708(2010)22-0203-03
AbsractIn this paper we firstly introduce the concept,architecture of the Direct Digital Synthesizer. Then Base on traditional serial DDS,a parallel architecture DDS wich frequency sweep function was bring forward ,F(xiàn)inally the theory simulation and hardware implementation was given for the parallel structure of DDS,higher output signal can be obtained base on this parallel DDS architecture in condition of lower DDS system clock。