王 寧,王 梅,鄭麗娟
(河北科技大學(xué) 信息科學(xué)與工程學(xué)院,河北 石家莊 050000)
?
基于FPGA的DDS信號(hào)源研究
王寧,王梅,鄭麗娟
(河北科技大學(xué) 信息科學(xué)與工程學(xué)院,河北 石家莊 050000)
摘要:文中詳細(xì)闡述了基于FPGA利用Quartus II實(shí)現(xiàn)DDS(直接數(shù)字頻率合成器)模塊的方法。根據(jù)DDS原理對(duì)其進(jìn)行系統(tǒng)建模,采用verilog HDL語(yǔ)言實(shí)現(xiàn)各個(gè)模塊的功能,并且在開發(fā)環(huán)境下進(jìn)行了仿真。該信號(hào)源可以輸出方波、三角波以及正弦波三種波形,其與傳統(tǒng)的信號(hào)源相比較,具有波形質(zhì)量好、精度高、設(shè)計(jì)方案簡(jiǎn)潔、易于實(shí)現(xiàn)、便于擴(kuò)展與維護(hù)的特點(diǎn)。
關(guān)鍵詞:直接數(shù)字頻率合成器;信號(hào)源;現(xiàn)場(chǎng)可編程門陣列
頻率合成技術(shù)是將一個(gè)或者多個(gè)基準(zhǔn)頻率轉(zhuǎn)換成另一個(gè)或多個(gè)合乎質(zhì)量要求的所需頻率的技術(shù)。近幾年隨著FPGA等技術(shù)的發(fā)展使得DDS這種獨(dú)特的結(jié)構(gòu)得到了飛速的發(fā)展,并且在通信、雷達(dá)、導(dǎo)航等眾多領(lǐng)域都有了廣泛的應(yīng)用[1]。DDS是以一個(gè)固定的頻率精度的時(shí)鐘作為參考時(shí)鐘源通過數(shù)字信號(hào)處理技術(shù)產(chǎn)生一個(gè)頻率和相位可調(diào)的輸出信號(hào),具有頻率切換時(shí)間短、頻率分辨率高、易于調(diào)整和實(shí)現(xiàn)等優(yōu)點(diǎn)[2]。隨著微電子技術(shù)和數(shù)字集成電路的飛速發(fā)展,以及電子工程領(lǐng)域的實(shí)際需要使得DDS逐步成為現(xiàn)代頻率合成技術(shù)的佼佼者,具有廣闊的應(yīng)用前景。本文所使用的Verilog HDL是其中一種標(biāo)準(zhǔn)化的硬件描述語(yǔ)言。
假設(shè)一個(gè)純凈的單頻信號(hào)可以表示為:
(1)
只要它的幅度U和初始相位θ0不變,它的頻譜就是位于f0的一條譜線。為了簡(jiǎn)化表示可令U=1,θ0=0,當(dāng)然這也不會(huì)影響對(duì)頻率的研究。即:
(2)
如果對(duì)此信號(hào)進(jìn)行采樣,采樣周期為Tc,則可以得到離散的波形序列:
(3)
相應(yīng)的離散相位序列為:
(4)
(5)
相應(yīng)的模擬信號(hào)為:
(6)
DDS實(shí)現(xiàn)頻率合成主要是通過查找表方式進(jìn)行的[3],如圖1所示為DDS的原理圖。DDS系統(tǒng)核心包括相位累加器和存儲(chǔ)器,其中相位累加器由1個(gè)加法器和1個(gè)32位的相位寄存器組成,主要是用來(lái)實(shí)現(xiàn)線性數(shù)字信號(hào)的逐級(jí)累加;波形存儲(chǔ)器中存儲(chǔ)的主要是輸出波形的幅度值,通過尋址讀出數(shù)據(jù)進(jìn)行波形的相位與幅度值的轉(zhuǎn)換,從而完成信號(hào)的相位序列到幅度序列的轉(zhuǎn)化。
圖1 DDS原理框圖
當(dāng)頻率合成器正常工作時(shí),在標(biāo)準(zhǔn)頻率參考源控制下,相位累加器則以步長(zhǎng)K進(jìn)行線性累加,輸出的N位二進(jìn)制碼作為波形存儲(chǔ)器的地址,對(duì)波形進(jìn)行尋址,波形存儲(chǔ)器輸出的幅碼經(jīng)過數(shù)模轉(zhuǎn)換器變成階梯波形,在經(jīng)過低通濾波器后得到平滑的波形。實(shí)際應(yīng)用中,相位累加器的所有輸出位并沒有全部送到波形存儲(chǔ)器中,一般只是截取了高幾位,這樣減少了查找表的規(guī)模又不影響系統(tǒng)的頻率分辨率,但是會(huì)帶來(lái)一定的雜散干擾。
本文采用Altera公司的Quartus II軟件進(jìn)行設(shè)計(jì),該軟件根據(jù)設(shè)計(jì)者需要提供了一個(gè)完整的多平臺(tái)開發(fā)環(huán)境并且支持多種設(shè)計(jì)方式。Quartus II支持的輸入方式包括:原理圖輸入方式、網(wǎng)表文件輸入方式以及文本輸入方式。其中文本輸入方式支持AHDL、VHDL和Verilog HDL 3種硬件描述語(yǔ)言,本文所用Verilog HDL語(yǔ)言具有行為描述的特點(diǎn)。
相位累加器主要是用來(lái)實(shí)現(xiàn)線性數(shù)字信號(hào)的逐級(jí)累加,如圖2所示為相位累加器的模塊符號(hào)。為了獲得較高的頻率分辨率,相位累加器的字長(zhǎng)一般都比較大,而所采用的波形存儲(chǔ)器的數(shù)據(jù)寬度一般為8位到16位,本文采用的是10位的數(shù)據(jù)寬度,因此波形存儲(chǔ)器內(nèi)存大小設(shè)置為1 024×10 bit,存儲(chǔ)器模塊如圖3所示。波形存儲(chǔ)器采用的是Altera公司提供的IP核(或稱庫(kù)函數(shù)),ROM的數(shù)據(jù)經(jīng)過mif文件導(dǎo)入存儲(chǔ)。存儲(chǔ)好的數(shù)據(jù)通過程序中的相位累加器的累加、尋址讀出。如圖4為得到DDS的模塊符號(hào)。
本文設(shè)置的時(shí)鐘脈沖是500 ns,顯示出的方波、正弦波和三角波等三種波形如圖5。
圖2 相位累加器的模塊符號(hào)
圖3 ROM存儲(chǔ)器
圖4 DDS的模塊符號(hào)
圖5 時(shí)鐘脈沖為500ns的仿真波形
從圖5可以看出通過讀取ROM中的數(shù)據(jù)生成的波形中有很多毛刺,不平滑,這都是DDS雜散帶來(lái)的影響,所以消除雜散也是研究的重要問題。
DDS的一個(gè)缺點(diǎn)就是較高的雜散電平。由于DDS采用的是全數(shù)字結(jié)構(gòu),不可避免地引入了雜散[4,5],其來(lái)源主要有:
(1)相位累加器相位舍位誤差造成的雜散。如果將相位累加器的輸出直接作為波形存儲(chǔ)器的查找地址,那么存儲(chǔ)器容量將非常大,在硬件上實(shí)現(xiàn)就會(huì)比較困難,所以采用了取高位輸出低位舍去的方法,因此必然會(huì)造成誤差。
(2)幅度量化誤差造成的雜散。在實(shí)際設(shè)計(jì)中一個(gè)模擬量不可能用一串二進(jìn)制代碼來(lái)精確表示,而只能用N位二進(jìn)制來(lái)表示近似值,這樣就會(huì)產(chǎn)生幅度量化誤差。
(3)DAC非理想特性造成的雜散。在實(shí)現(xiàn)過程中DAC存在非線性特性,輸出信號(hào)就會(huì)產(chǎn)生諧波分量,導(dǎo)致頻譜雜散的產(chǎn)生。
基于FPGA實(shí)現(xiàn)的DDS易于維護(hù),實(shí)現(xiàn)方便,可以簡(jiǎn)單地完成幾種波形的輸出,通過改變頻率控制字可以改變輸出波形的頻率,得到所需要的各種不同頻率的波形。
參考文獻(xiàn):
[1]戎強(qiáng).基于DDS/FPGA的多波形信號(hào)源的研究[D].哈爾濱:哈爾濱工程大學(xué),2008.
[2]高琴,姜壽山,魏忠義.基于FPGA的DDS信號(hào)源設(shè)計(jì)與實(shí)現(xiàn)[J].西安工程科技學(xué)院學(xué)報(bào),2006,(2):210-214.
[3]鐘蔚杰,蔣壘,劉耀應(yīng).基于VHDL編程的DDS設(shè)計(jì)[J].艦船電子對(duì)抗,2007,(30):102-105.
[4]湯汗屏.直接數(shù)字頻率合成雜散抑制方法的研究[J].電線技術(shù),2008,(5):10-14.
[5]王曉音,聶裕平,龐偉正.輸出頻譜雜散的抑制[J].電子對(duì)抗技術(shù),2008,(11):25-28.
王梅(1962-),河北科技大學(xué)副教授,研究方向?yàn)閿?shù)字交換與傳輸;
鄭麗娟(1988-),碩士研究生,研究方向?yàn)閿?shù)字交換與傳輸。
研制開發(fā)
Study of DDS Signal Source Based on FPGA
WANG Ning,WANG Mei ,ZHENG Li-juan
(College of Information Science and Engineering, Hebei University of Science and Technology, Shijiazhuang 050000, China)
Abstract:This paper expounds the method of implementing DDS (direct digital frequency synthesizer) module by use of Quartus II based on FPGA. System modeling is firstly conducted according to the principle of DDS. The function of each module is then realized using verilog HDL language. And simulation under development environment is also done. The signal source can output square wave, triangle wave and sine wave, and have features of better wave quality, higher precision, more simple scheme, easier implementation, more convenient expansibility and maintenance when compared with traditional signal sources.
Key words:direct digital frequency synthesizer (DDS); signal source; Field-Programmable Gate Array(FPGA)
中圖分類號(hào):TN74
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3664(2015)02-0038-02
作者簡(jiǎn)介:王寧(1989-),碩士研究生,研究方向?yàn)閿?shù)字交換與傳輸;