1 引 言 直接數字頻率合成技術(Direel Digital FrequencySynthesis,DDS)稱為第三代頻率合成技術,他利用正弦信號的相位與時間呈線性關系的特性,通過查表的方式得到信號的瞬時幅值,從而實現頻率合成。這種方法不僅可以產生不同頻率的正弦波,而且具有超寬的相對帶寬,超高的變頻速率,超細的分辨率以及相位的連續性和產生任意波形(AWG)的特點。 目前所使用的大部分DDS結構,在相位累加模塊和相位幅度轉換模塊均采用了流水線技術和某些壓縮算法等,但都不能從根本上解決DDS的輸出頻率受外部時鐘頻率約束的瓶頸以及波形的輸出質量受查找表容量限制的問題。因此在對DDS的結構進行深入研究的基礎上,我們在相位累加器部分以并行結構來實現,在相位幅度轉換模塊的設計采用了QLA(Quad Line Approximation)技術結合改善的Sunderland法,最后在FPGA(Field Programmable Gate Array)中進行驗證,無雜散動態范圍(Spur Free Dynamic Range,SFDR)可達63 dBc,3.3 V下總功耗僅為170 mw,大大提高了輸出頻率和頻譜純度,降低了功耗。 2 DDS工作原理 DDS[1,2]主要由相位累加器、波形存儲模塊和數模轉換器等組成。在外部參考時鐘作用下,相位累加器以步長增加,輸入到波形存儲模塊內,波形存儲模塊包含一個周期正弦波的數字幅度信息,每個地址對應正弦波中0~360°范圍的一個相位點,波形存儲模塊把輸入的地址相位信息映射成正弦波幅度的數字量信號,驅動數模轉換器輸出模擬量,當相位累加器累加滿量時就會產生一次溢出,這樣就完成了DDS輸出信號的一個頻率周期。設相位累加器的位寬為N,時鐘頻率為FeKn為步長,則產生信號頻率為KnFc/2N,可得到相位累加器的輸出狀態為。 3 DDS具體結構實現及優化 3.1 相位累加器的設計 相位累加器通常采用流水線技術來提高累加速度,但是以犧牲邏輯資源為代價。因此為能節省資源的同時又保證加法器的運算速度,本文使用了Progression-ofstates技術,他可具體描述為幾個加法器并行執行的結構。由累加器的輸出狀態Am可得到相位累加器輸出的連續4個狀態: 其中Am為加法器前一時鐘周期輸出的狀態,Km+1為每次輸入的頻率字。因此Am+1,Am+2,Am+3,Am+4四個連續的狀態就被Am和Km+1兩個狀態表示出來。如圖1所示,輸入Km+1首先分別被1,2,3,4相乘之后送入加法器,再和Am相加后就產生4個連續的狀態,每個狀態之間的差值都為Km+1。Am+2狀態和Am+4狀態的輸出在數字電路中可用移位方法實現,即左移1位和左移2位,每個狀態移位后產生的空位由低級輸入的頻率字最高位依次移位進行填補,考慮到Am+3狀態根據公式可表示為:Am+3=Am+3Km+1=Am+2Km+1+Km+1=Am+2+Km+1,因此可直接由Am+2加上Km+1產生。這種結構的優點是把相位累加器的內部工作時鐘降低為fc/4,反過來也就是提高了4倍的時鐘頻率,在每輸入一個頻率字的狀態下,4個加法器可同時輸出4個連續的狀態,經過多路復用器進行選通,保證了在外部每個fc的情況下都可輸出一個值,這樣大幅降低了流水線累加器在高速時鐘信號下工作所產生的功耗,并且拉高了整個系統時鐘的工作頻率,提高了DDS的輸出頻率。 3.2 相位幅度轉換模塊的設計 DDS中的相位到波形的轉換通常是靠ROM表的查詢來實現的。本文設計的是14位地址線的ROM查找表,輸出12位的數據,則需要214×12 b的ROM空間,這不僅耗用大量的邏輯資源,還導致功耗升高和DDS工作時鐘的下降,因此必須壓縮ROM的容量。通常先根據正弦波的對稱性,只儲存第一周期內的波形可壓縮4倍的容量,之后要進一步使用一些壓縮算法。考慮到需要保證DDS的高速性,最好避免乘法器的使用,我們采用了Sunderland[3,4]結構,并采用內插法對其進行了改進。設相位累加器的輸出θ=a+β+γ,定義A,B,C為a,β,γ),的字長,則[0,π/2]內的波形可看為被A,B,C逐級內插分割。實際定義分割值為[4.4.4],這樣粗表內儲存的取樣值就可表示為: 而細表內存儲的取樣值可表示為: 這樣粗表容量為28×9 b,細表容量為28×4 b,比經過4倍壓縮的ROM提高了13.53倍,最后只要一個加法器進行重構。觀察粗表量化幅度仍為9 b,進一步采用QLA技術進行壓縮。首先將ROM中存儲的正弦函數變為 ,其次在 內看成由4條不同斜率的直線組成,方程表示如下: 設粗表ROM存儲的取樣值為W,則表示為在每π/8區間內, ,由于 ,可看出QLA方法可壓縮正弦幅度4 b的字長,額外需要3個加法器和兩個減法器,但壓縮比得到了很大的提高,表1把幾種常用的壓縮算法和本文的算法作了比較。具體設計中壓縮后的精粗ROM采用的是LPM ROM功能模塊,他已被Altera很好地時序優化,且可以方便地定義地址和數據位寬度,內部數據采用Mif文件導入。 本文驗證器件選用Altera公司的CYCLONE系列FPGA,DDS系統用VHDL語言結合原理圖來描述,用Quartus4.2軟件進行綜合。參考時鐘由外部晶振輸入到FPGA的內部PLL倍頻,下位數模轉換器使用的是AD9742。圖2依次列出工作在時鐘頻率為160 MHz,數模轉換器輸出分別為702 kHz和44.92 MHz的頻譜圖,顯示示波器為Fektronix公司的TDS3032型雙通道示波器,當輸出頻率超過45 MHz時,諧波雜散分量較多,振幅衰減較大,且考慮到Nyquist定理,因此實際應用中輸出頻率只取小于參考頻率的1/4。圖3依次給出了輸出頻率為41 MHz下,不同ROM壓縮算法下的頻譜圖,顯然采用正弦近似法的圖3(a)的2次和3次以上的高次雜散諧波明顯,并且靠近主頻區,使得后面的濾波器設計比較困難,而采用本文壓縮算法的圖3(b)諧波分量很少,且離中心頻率區較遠,很容易通過帶通濾波器消除,并且基底噪聲也比圖3(a)低5 dB左右,這都得益于大容量ROM的壓縮算法。 4 結 語 本文從數學方法上詳細描述了一種新穎的并行結構的DDS的沒計路徑.并在FPGA中得到驗證。結構設計使用了先進的PPA結構和QLA結合內插的技術,大幅降低功耗和提高輸出頻率和頻譜純度,并減少邏輯資源,比專用的DDS芯片減少了近一半的PCB板面積,且能隨時在線調試和修改,實現任意頻率相位振幅的正弦輸出,可廣泛應用于雷達、信號發生器、示波器、激光測距、便攜儀器、手機等,應用前景十分廣闊。 |