張博,張斌
空軍工程大學信息與導航學院,陜西西安 710077
基于FPGA的數(shù)字頻率合成器設計與實現(xiàn)
張博,張斌
空軍工程大學信息與導航學院,陜西西安 710077
直接數(shù)字頻率合成器(direct digital synthesizers,DDS)是通信、雷達、儀器儀表、空間電子設備和電視等現(xiàn)代電子系統(tǒng)的心臟,其好壞直接影響電子系統(tǒng)的性能指標。提出了MATLAB與FPGA交互的方法,在FPGA設計與實現(xiàn)之前進行了電路的MATLAB仿真,用于驗證整個FPGA電路的工作過程及輸出結果是否滿足要求;最后,在硬件上進行了實現(xiàn),性能測試驗證了設計的正確性和可行性。
DDS原理;MATLAB仿真;DDS核;FPGA;電子系統(tǒng)
頻率合成器是通信、雷達、儀器儀表、空間電子設備和電視等現(xiàn)代電子系統(tǒng)的心臟,其好壞直接影響電子系統(tǒng)的性能指標。鎖相環(huán)頻率合成(PLL)和直接數(shù)字頻率合成(direct digital frequency synthe-sis,DDS或DDFS)是目前產生頻率源的2種主要技術。DDS代表了頻率合成領域新興的發(fā)展方向。由于它具有相位連續(xù)、頻率分辨率高、頻率切換速度快和數(shù)字化實現(xiàn),體積小、功耗低等優(yōu)點,在頻率源的設計中得到了廣泛應用。目前實現(xiàn)DDS的技術方案主要有2種:一是采用高性能DDS芯片的解決方案;二是基于FPGA技術實現(xiàn)DDS的方案。文中提出了MATLAB與FPGA交互的方法,在FPGA設計與實現(xiàn)之前,首先進行電路的MATLAB仿真,用于驗證整個FPGA電路的工作過程及輸出結果是否滿足要求。
DDS的基本工作原理是利用采樣定理,通過查表法產生波形。其基本工作原理如圖1所示。
圖1 DDS基本工作原理框圖
由圖可以看出,DDS主要由相位累加器、正弦查表ROM、D/A和低通濾波器LPF幾個基本單元組成。相位累加器在每個時鐘周期內累加上由頻率控制字K設定的相位增量;累加的相位量在ROM中進行查表,得到數(shù)字正弦采樣值;然后通過D/A變換為數(shù)字階梯波;最后,經過低通濾波器LPF實現(xiàn)平滑輸出。具體工作原理介紹如下:
設相位累加器的字長為N,則其共有2N個狀態(tài)。在每個時鐘周期內,相位累加器的輸出就增加一個步長的相位增量(頻率控制字K),當相位累加到滿量程時便產生一次溢出,完成一個周期信號的輸出。DDS輸出信號的頻率與時鐘頻率之間的關系為
這樣就可以通過改變頻率控制字K來改變輸出頻率。從原理中可以看出,DDS能產生的最小頻率為f0/2N,這個頻率被稱為是DDS的分辨率。提高相位累加器的位數(shù)可以產生更小頻率的信號,提高頻率的分辨率。根據(jù)采樣定理,最高的基波合成頻率為
這說明了在DDS中參考時鐘頻率總是比基波合成頻率高的原因。
首先,根據(jù)DDS的基本原理,搭建DDS仿真模塊,如圖2所示。
圖2 DDS仿真模塊
圖2中,Pulse Generator模塊為系統(tǒng)提供穩(wěn)定的時鐘信號;Reshape模塊完成數(shù)據(jù)類型及向量維數(shù)的轉換;Continuous Time-VCO模塊實現(xiàn)DDS功能,產生頻率變化的載波,設置輸出信號幅度為1 V,輸出頻率為10 200 kHz,,輸出信號靈敏度為0.25 Hz/V,初始相位為0;zero-order Hold模塊完成采樣保持,采樣時間設為1/120 000 000 s。LPF:Analog Filter Design模塊用于實現(xiàn)數(shù)字階梯波平滑輸出為正弦波波形,濾波器的階數(shù)設為8,截止頻率為120 000 000πrad/s.
DDS仿真模塊波形如2圖所示,系統(tǒng)仿真是由MATLAB7.8.0(R2009a)軟件實現(xiàn)的。
圖3顯示的是DDS合成器輸出正弦波波形,其頻率為10 200 000 Hz;圖4顯示的是經過零階采樣保持模塊zero-order Hold后的輸出波形,為一周期性的數(shù)字階梯波;圖5顯示的是數(shù)字階梯波經過低通濾波器模塊Analog Filter Design平滑輸出后的輸出波形,為正弦波波形;圖6顯示的是經過方波轉換模塊Relational Operator后的輸出波形,為方波波形;圖7顯示的是DDS單通道輸出信號頻譜圖。
圖3 DDS合成器輸出正弦波波形
圖4 輸出數(shù)字階梯波波形
圖5 輸出正弦波波形
圖6 輸出方波波形
圖7 DDS單通道輸出信號頻譜
分析階梯波的頻譜組成:由于巴特沃斯濾波器在通帶以內幅頻曲線的幅度最平坦,由通帶到阻帶衰減陡度較緩,截止頻率以后的衰減速率為6 ×106dB/倍頻程,相頻特性非線性,濾波效果較好。所以應當選取截止頻率比較低的低通濾波器使得平滑效果較好,但選取的截止頻率又必須保證輸出信號能夠順利通過。根據(jù)采樣定理,輸出信號的頻率最大值為fout=f0/2,故選擇最佳截止頻率為f0/2,能夠保證對于不同的頻率控制字K,電路都能正常工作。在此仿真模塊的基礎上,根據(jù)實際需要還可以在做出一些改進。比如,改變ROM存儲的幅度值,可以實現(xiàn)鋸齒波和三角波等不同類型信號的輸出;增加移相的子模塊,可以研究如何用DDS實現(xiàn)調頻信號發(fā)生器;增加用于截短二進制碼的子模塊和頻譜分析子模塊,觀測各級控制字的截短對DDS輸出相位舍位噪聲和有限字長效應噪聲帶來的影響。在DDS仿真模塊中,由于ROM相對昂貴,所以ROM的字節(jié)數(shù)往往小于2N。這意味著相位輸出的低N-(K+2)有效位不會在合成頻率中使用,從而產生一個相位量化誤差。
但是,DDS合成器在跳頻處沒有雜散幅度和頻率成分。利用現(xiàn)有的最新技術,這種合成器的切換時間可以做到小于1μs,當產生小的頻率步進時,這也是最便宜的一種方法。
現(xiàn)在這種合成器輸出的帶內雜散信號電平在1~2 MHz時為-50 dBc。這就需要一個分頻器來提供必要的濾波以滿足更嚴格的需求,它也會更進一步地減小輸出頻率和輸出頻率的范圍。但它在設計高頻快速切換頻率合成中仍起著重要作用。依現(xiàn)在的經驗來看,人們相信在不遠的將來可以用同樣的性能得到5~25 MHz的頻率。
DDS技術的實現(xiàn)依賴于高速、高性能的數(shù)字器件。FPGA技術的出現(xiàn),使得頻率合成器的實現(xiàn)更加容易。Xilinx公司作為世界上最大的FPGA/CPLD生產商之一,多年來一直占據(jù)行業(yè)領先的地位。Xilinx的FPGA/CPLD具有高性能、高集成度和高性價比的優(yōu)點,而且它還提供了功能全面的開發(fā)工具和豐富的IP核、宏功能等。ISE(intergrated synthesis environment)是Xilinx FPGA/CPLD的綜合性集成設計平臺,利用該平臺可完成從設計輸入、仿真、邏輯綜合、布局布線與實現(xiàn)、時序分析、程序下載與配置、功耗分析等整個FPGA/CPLD的開發(fā)過程,其最新版本為ISE14.7 Suit系列。ISE 13.1提供了十分易于使用的DDS核DDS Compiler v4.0。DDS核實例化后,即可以使用。在IP核生成界面依次單擊“View by Function→Digital Signal Processing→Modulation→DDSCompiler v4.0”,即可進入DDS核參數(shù)設置界面,如圖8所示。
圖8 DDS核參數(shù)配置界面
DDS的設計比較簡單,直接采用ISE提供的DDS核即可。設計者需要確定的主要參數(shù)有DDS相位累加字位寬(頻率字位寬)BDDS、驅動時鐘頻率fCLK、輸出數(shù)據(jù)位寬A等參數(shù)。環(huán)路中,DDS的輸出數(shù)據(jù)位數(shù)A通常與輸入數(shù)據(jù)位數(shù)Bdata相同,即A=Bdata。當然,DDS的輸出數(shù)據(jù)位數(shù)也可以根據(jù)實際情況進行調整,DDS的輸出數(shù)據(jù)位數(shù)越多,則本地振蕩器輸出信號的旁瓣抑制比(spurious free dynam-ic range,SFDR)性能越好,系統(tǒng)所耗費的硬件資源也越多。DDS的旁瓣抑制滿足A/D轉換的字長效應,輸出波形的位寬每增加1 bit,其旁瓣抑制比就提升6 dB。即FPGA內部的任何一點信號,每多用1 bit,其信噪比提升6 dB。DDS的驅動時鐘頻率fCLK通常與輸入數(shù)據(jù)采樣速率fs相同,即fCLK=fs。相位累加字位寬不僅影響到整個環(huán)路的總增益,更重要的是直接決定了更新頻率字所能達到的頻率分辨率,工程上通常需要頻率分辨率小于1 Hz。其中頻率字Δθ、輸出頻率fout、頻率字位寬BDDS之間的關系為
這樣就可以通過改變頻率控制字Δθ來改變輸出頻率。從原理中可以看出,DDS所能產生的最小頻率為
這個頻率被稱為是DDS的分辨率。顯然,增加頻率字位數(shù)BDDS,可以產生更小頻率的信號,提高頻率的分辨率。在設計整個載波同步環(huán)路時,環(huán)路的總增益是一個非常重要的參數(shù),而其中DDS的增益KDDS為
式中TDDS為DDS頻率字更新周期。顯然,頻率字位數(shù)越多,DDS的增益越??;頻率字更新周期越長,DDS增益越大。假設DDS相位累加字位寬(頻率字位寬)BDDS=29,系統(tǒng)時鐘頻率fCLK=32 MHz,要求輸出6 MHz的頻率,則可計算出DDS的初始頻率字(相位增量)為
利用DDS核產生正弦和余弦信號,要求頻率分辨率Δf=0.25 Hz,旁瓣抑制比(動態(tài)無雜散范圍)大于96 dB,量化相位誤差φ=±π/4 rad/s,fout=10.2 MHz。為便于在FPGA電路板上觀察顯示結果,將輸入的10.2 MHz信號進行10 200 000分頻處理,驅動電路板上的LED燈顯示。FPGA目標芯片為Virtex5系列的xc5vlx30-3 ff324。假設系統(tǒng)時鐘頻率為fCLK=120 MHz。
這時,可通過修改下面相關參數(shù)來實現(xiàn),具體方法如下:
WE:寫頻率/相位字允許信號,當需要在運行過程中修改頻率/相位時,選擇此信號;
REG_SELECT:頻率/相位寄存器選擇信號,為0表示寫頻率字,為1表示寫相位字,此信號只有當頻率/相位字均可編程時才有效;
DATA:頻率/相位字輸入數(shù)據(jù),其位數(shù)與頻率字位寬BDDS相同。
根據(jù)DDS設計要求,DDS IP核的驅動時鐘頻率為120MHz,頻率分辨率=0.25 Hz,SFDR=96 dB,輸出頻率為10.2 MHz,詳見圖8DDS核參數(shù)設置界面。
圖9為系統(tǒng)設計在Xilinx ISE開發(fā)平臺下實現(xiàn)后的仿真波形。系統(tǒng)仿真是由Modelsim10.1a軟件實現(xiàn)的。從Modelsim 10.1a的波形界面中雖然能查看信號的仿真波形,但想要對數(shù)據(jù)進行進一步詳細分析,比如查看信號的頻譜等,就顯得無能為力了。這一部分工作正好用MATLAB軟件來完成,DDS單通道輸出信號頻譜如圖9所示。
圖9 DDS仿真波形
FPGA實現(xiàn)后,可以在ISE界面十分方便地查看到整個系統(tǒng)所占用的硬件資源及最高系統(tǒng)運算速度。其中,Slice Registers(寄存器資源)使用了251個,占1%;Slice LUTs(查找表資源)使用了290個,占1%;BlockRAM/FIFO使用了2個,占6%;BUFG/BUFGCTRLs(全局時鐘資源)使用了1個,占3%。Minimum period:1.927ns{1}(Maximum frequency:518.941 MHz)最高系統(tǒng)時鐘頻率可達518.941 MHz,顯然滿足設計實例中要求的120 MHz。FPGA實現(xiàn)后,可以看到電路板上2個LED燈均以1 Hz的頻率閃爍。
DDS技術是一種具有廣泛應用前景的頻率合成技術。由于具有相位連續(xù)、頻率分辨率高、頻率切換速度快和數(shù)字化實現(xiàn),體積小、功耗低等優(yōu)點,DDS在通信、雷達、儀器儀表等很多領域得到了廣泛的應用。但是由于DDS本身輸出頻率低、輸出雜散大等局限性,它一般都與其他技術相結合來實現(xiàn)頻率更高的頻率合成器。在FPGA實現(xiàn)中,通常采用ISE工具提供的DDS核來實現(xiàn)。DDS的旁瓣抑制滿足A/D轉換的字長效應,輸出波形的位寬每增加1 bit,其旁瓣抑制比就提升6 dB。當SFDR的需求高于80 dB時,建議開啟噪聲抑制功能。DDS的輸出數(shù)據(jù)位數(shù)越多,輸出信號的旁瓣抑制比性能越好,系統(tǒng)所耗費的硬件資源也就越多。
[1]白居憲.直接數(shù)字頻率合成[M].西安:西安交通大學出版社,2007:1-101.
[2]MANASSEWITSCH V.頻率合成原理與設計[M].何松柏,宋亞梅,鮑景富,等譯.北京:電子工業(yè)出版社,2008:300-360.
[3]楊路剛,劉宏波,李麗華.Simulink在“頻率合成”課程自主性實驗中的應用[J].電氣電子教學學報,2010,32(3):71-74.
[4]杜勇.數(shù)字通信同步技術的MATLAB與FPGA實現(xiàn)[M].北京:電子工業(yè)出版社,2013:55-68.
[5]趙剛.擴頻通信系統(tǒng)實用仿真技術[M].北京:國防工業(yè)出版社,2009:30-63.
[6]鈔鋒,邱迎鋒,牛萌.直接數(shù)字頻率合成在軟件無線電中的應用[J].微計算機信息,2007,23(8):187-190.
[7]李琳,張爾楊.直接數(shù)字頻率合成技術及其應用[J].電聲技術,1999(9):33-36.
[8]Xilinx IP核數(shù)據(jù)手冊.DDSCompiler v4.0[EB/OL].[2014-03-09].www.Xilinx.com.
Design and imp lementation of direct digital synthesizers based on FPGA
ZHANG Bo,ZHANG Bin
Information and Navigation College,Air Force Engineering University,Xi’an 710077,China
A direct digital synthesizer(DDS)plays a vital role inmodern electronic systems,including communica-tion system,radar system,instrument and electronic equipment system,spatial electronic equipment,TV,etc.DDS greatly affects the performance of electronic systems.In this paper,a MATLAB and FPGA interacted method is proposed.It simulated the circuitwith MATLAB before design and implementation of FPGA,for the purpose of validating if the working process and output resultof thewhole FPGA circuitmeet the requirement.At last,the de-sign was implemented on hardware,and the performance was tested,proving the design is correct and feasible.
DDSprinciple;MATLAB simulation;DDS core;FPGA;electronic system
TN74
:A
:1009-671X(2015)01-028-04
10.3969/j.issn.1009-671X.201405014
http://www.cnki.net/kcms/detail/23.1191.U.20150112.1501.003.htm l
2014-06-05.
日期:2015-01-12.
國家自然科學基金資助項目(61273049).
張博(1989-),男,碩士研究生張斌(1968-),男,教授,博士生導師.
張斌,E-mail:.zhangbin5037@163.com.