李平,周原
(黃淮學(xué)院 信息工程學(xué)院,河南 駐馬店 264001)
直接數(shù)字頻率合成技術(shù)DDS(Direct Digital Synthesizer)是一種從相位出發(fā)直接合成所需波形的頻率合成技術(shù),是基于奈奎斯特抽樣定理理論和現(xiàn)代器件生產(chǎn)技術(shù)發(fā)展的一種頻率合成技術(shù)[1]。與第二代基于鎖相環(huán)頻率合成技術(shù)相比,DDS具有頻率切換時間短、頻率分辨率高、相位可連續(xù)變化和輸出波形靈活等優(yōu)點,因此,廣泛應(yīng)用于教學(xué)科研、通信、雷達(dá)、自動控制和電子測量等領(lǐng)域[2]。隨著高速可編程邏輯器件FPGA的發(fā)展,電子工程師可根據(jù)實際需求,在單一FPGA上開發(fā)出性能優(yōu)良的具有任意波形的DDS系統(tǒng),極大限度地簡化設(shè)計過程并提高效率。
DDS主要通過查波形表實現(xiàn)。由奈奎斯特抽樣定理理論可知,當(dāng)抽樣頻率大于被抽樣信號的最高頻率2倍時,通過抽樣得到的數(shù)字信號可通過一個低通濾波器還原成原來的信號。實際上,它是由設(shè)置的二進(jìn)制控制字對參考時鐘做除法運算??刂谱忠话銥?4~48位字長,因此可以認(rèn)為DDS是數(shù)字信號處理理論的延伸,是數(shù)字信號處理的硬件實現(xiàn)[3-5]。
設(shè)一路頻率為的余弦信號:
現(xiàn)以采樣率fc對該路信號采樣,得到離散序列為:
式中:Tc=1/fc為采樣周期。
式(2)中對應(yīng)的相位序列為:
該相位序列的顯著特點就是線性,即相鄰樣值之間的相位增量是一常數(shù),且僅與信號頻率f有關(guān),即相位增量為:
由于頻率f與參考源頻率fc滿足:
式中:K和M為正整數(shù)。
相位增量為:
由式(6)可知,若將2π的相位均勻分為M等分,則頻率f=(K/M)·fc的余弦信號以頻率fc采樣后,其量化序列的樣本之間的量化相位增量為一變值K。
根據(jù)以上原理,用變量K構(gòu)造一個量化序列:
完成 φ(n)到另一序列 s(n)的映射,即由 φ(n)構(gòu)造序列:
式(8)是連續(xù)時間信號s(t)經(jīng)采樣頻率fc采用后的離散時間序列。根據(jù)采樣定理,當(dāng)時,s(n)經(jīng)低通濾波器濾波后,可以唯一的恢復(fù)s(t)??梢?,通過上述系列變換,變量K將唯一確定一個單頻模擬余弦信號s(t):
該信號頻率為:
式(10)是 DDS方程,在實際的 DDS中,一般取 M=2N,N為正整數(shù),于是DDS的方程可寫成:
通過分析,DDS可由下列兩次變換實現(xiàn)。
1)變量K產(chǎn)生量化的相位序列
該過程一般由一個以fc作為時鐘的N位相位累加器實現(xiàn),如圖1所示。
圖1 相位累加器Fig.1 The phase accumulator
2)離散量化相位序列產(chǎn)生正弦信號離散幅度序列
該過程是由(8)式的映射關(guān)系所構(gòu)成的波形ROM尋址完成的,如圖2所示。把量化的數(shù)字波形經(jīng)數(shù)模轉(zhuǎn)換,再通過低通濾波器LPF得到頻率為fo的余弦信號。變量K稱為相位增量(也叫頻率控制字)。當(dāng)K=1時,DDS輸出最低頻率(即頻率分辨率)為fc/2N。因此,只要N足夠大,DDS可以得到很細(xì)的頻率間隔。要改變DDS輸出頻率,只要改變頻率控制字K即可。DDS的最大輸出頻率由Nyquist采樣定理決定,即fc/2,也就是K的最大值為2N-1。
DDS可以很容易實現(xiàn)正弦信號和余弦信號兩路輸出,只需用相位累加器的輸出同時驅(qū)動正弦信號波形的ROM和余弦信號的ROM并各自經(jīng)數(shù)模轉(zhuǎn)換器和低通濾波器輸出即可。
圖2 波形ROM尋址Fig.2 Waveform ROM addressing
DDS包括數(shù)字和模擬兩部分,其中主要是由相位累加器、ROM波形查詢表,數(shù)模轉(zhuǎn)換器和低通濾波器LPF構(gòu)成。DDS的基本結(jié)構(gòu)如圖3所示。
圖3中,K為頻率控制字,fc為時鐘頻率,N為相位累加器字長,D為ROM數(shù)據(jù)庫位及D/A轉(zhuǎn)換器字長。相位累加器在時鐘的fc/2控制下以步長K為累加,輸出N位二進(jìn)制碼作為波形ROM的地址,對波形ROM尋址,波形ROM輸出的幅值碼經(jīng)數(shù)模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號后再經(jīng)LPF輸出[6]。
圖3 DDS基本結(jié)構(gòu)Fig.3 Basic structure of DDS
本設(shè)計所用到的核心器件主要是可編程邏輯器件(FPGA)和D/A轉(zhuǎn)換器。FPGA采用Altera公司的CycloneII系列EP2C35F672C8。該芯片內(nèi)部資源豐富,包含有33 216個邏輯單元,105個M4K RAM模塊,以及35個 18 BIT×18 BIT嵌入式乘法器4個高性能PLL以及多達(dá)475個用戶自定義I/O,因此,能較好滿足該系統(tǒng)設(shè)計要求。
D/A轉(zhuǎn)換器則采用德州儀器公司THS5651。THS5651采用先進(jìn)的高速混合信號CMOS工藝,是一個10位分辨率的數(shù)字到模擬轉(zhuǎn)換器(DAC),專為優(yōu)化數(shù)字?jǐn)?shù)據(jù)傳輸有線和無線通信系統(tǒng)。該THS5651提供優(yōu)越的AC和DC性能,同時支持更新率高達(dá)100MSPS的。
相位累加器主要完成累加,實現(xiàn)輸出波形頻率可調(diào)功能。利用可編程邏輯器件系統(tǒng)開發(fā)工具Quartus II9.0進(jìn)行設(shè)計。在Quartus II9.0軟件中,新建一個工程管理文件,根據(jù)累加器與移位寄存器的工作原理,寫出其對應(yīng)的源代碼并進(jìn)行編譯與仿真。部分源代碼如下:
module adder8(clk,key,s1,s2,nrst,da,ph);
input clk; //模塊時鐘輸入
input[7:0]key; //鍵值輸入
input s1; //步進(jìn)
input s2; //相位
inputnrst; //復(fù)位
output[7:0]da; //步進(jìn)輸出
output[7:0]ph; //相位輸出
reg[7:0]ax;
reg[7:0]da;
reg[7:0]ph;
always@(posedge clk or negedge nrst)
begin
if(!nrst)
begin
da <=8'b0;
ph <=8'b0;
end
else
begin
ax <=key;
if(!s1) da <=ax;
if(!s2) ph <=ax;
end
end
endmodule
為了提高系統(tǒng)的分辨率和降低FPGA資源的利用率,采用基于1/4波形的存儲器設(shè)計技術(shù)[7]。利用正弦波對稱性特點,只要存儲[0~π/2]幅值,可以通過地址和幅值數(shù)據(jù)變換,來得到整個周期內(nèi)的正弦波,其設(shè)計原理如圖4所示。用相位累加器輸出高2位作為波形區(qū)間標(biāo)志位。當(dāng)最高位與次高位都為’0’時,表示輸出正弦波正處在[0~π/2]區(qū)間內(nèi),這時,地址與輸出數(shù)據(jù)都不需要變換;當(dāng)最高位為’0’,次高位為’l’時,輸出正弦波正處在[π/2~π]區(qū)間內(nèi),這時,地址變換器對地址進(jìn)行求補(bǔ)操作,而輸出數(shù)據(jù)不變;當(dāng)最高位為’l’,次高位為’0’時,輸出正弦波正處在[π~3π/2]區(qū)間內(nèi),這時,地址不變,而輸出變換器對輸出數(shù)據(jù)進(jìn)行求補(bǔ)操作;當(dāng)最高位與次高位都為’l’時,輸出正弦波正處在[3π/2~2π]區(qū)間內(nèi),這時,地址和輸出數(shù)據(jù)都進(jìn)行求補(bǔ)操作。
圖4 1/4波形存儲器設(shè)計原理圖Fig.4 The principle diagram of 1/4 waveform storage design
D/A轉(zhuǎn)換單元是繼波形數(shù)據(jù)產(chǎn)生單元之后,將數(shù)字量形式的波形幅值轉(zhuǎn)換成
所要求的合成頻率的模擬量形式信號[8]。DAC輸出信號實際上是階梯模擬信號,數(shù)模轉(zhuǎn)換輸出通過高速運放THS3001放大,然后利用低通濾波器對波形進(jìn)行平滑處理。單元電路如圖5所示。
圖5 D/A轉(zhuǎn)換電路Fig.5 D/A conversion circuit
濾波器是一種能通過有用頻率信號而同時抑制 (或衰減)無用頻率信號的電子裝置。由于運算放大器具有近似理想的特性,且可以省去電感,得到接近理論預(yù)測的頻率響應(yīng)特性。構(gòu)成有源濾波電路后還具有一定的電壓放大和緩沖作用,并能減小體積。綜合考慮,系統(tǒng)采用運算放大器SL560構(gòu)成二階低通濾波器。
頻率控制字的生成直接影響著波形數(shù)據(jù)的尋址,該模塊負(fù)責(zé)快速記錄并實時顯示輸入的頻率數(shù)字,準(zhǔn)確計算得到相應(yīng)的頻率控制字。系統(tǒng)鍵盤為高速動態(tài)掃描(頻率為200 Hz),采用狀態(tài)機(jī)設(shè)計,設(shè)置了按鍵去抖動功能。在FPGA開發(fā)平臺對該模塊進(jìn)行功能驗證,整體無誤操作產(chǎn)生,幾乎沒有時滯效應(yīng),按鍵的防抖動效果也良好,達(dá)到了預(yù)期的目的。
相位累加器用于實現(xiàn)相位累加,并存儲其累加結(jié)果。當(dāng)前,相位累加器的值和時鐘周期到來后的相位累加器的值相差k(k為頻率控制字)。該模塊的仿真波形如圖6所示。
用存儲示波器測量放大器模擬輸出端的正弦波信號、方波信號、三角波信號,測試頻率為100 kHz時候輸出結(jié)果如圖7所示。
表1給出了DDS信號發(fā)生器實測頻率與給定頻率對照表。
檢測輸入頻率為0~1 MHz時,波形形狀均良好,未出現(xiàn)明顯失真。計算理論誤差為0.095%,在實測中發(fā)現(xiàn),波形數(shù)字的誤差相對很小,不足0.2%。符合設(shè)計要求。
圖6 相位累加器仿真結(jié)果Fig.6 Simulation results of phase accumulato
圖7 各種輸出波形Fig.7 A variety of outputwaveform
表1 實測頻率與給定頻率對照表Tab.1 Themeasured frequency table with a given frequency
直接數(shù)字頻率合成(DDS)技術(shù)屬第三代頻率合成技術(shù),與第二代基于鎖相環(huán)頻率合成技術(shù)相比,利用DDS技術(shù)合成的輸出波形具有良好的性能指標(biāo)。本文 介紹了以直接數(shù)字頻率合成技術(shù)為基礎(chǔ)的波形信號發(fā)生器工作原理和設(shè)計過程,并在實驗平臺上設(shè)計實現(xiàn)了滿足各功能指標(biāo)的信號發(fā)生器。本文在DDS技術(shù)工作原理的基礎(chǔ)上,從測試結(jié)果可看出,該系統(tǒng)工作穩(wěn)定、可靠,并具有較好的參考與實用價值。
[1]張濤,陳亮.現(xiàn)代DDS的研究進(jìn)展與概述[J].電子科技,2008,21(3):73-78.ZHANG Tao,CHEN Liang.Overview ofmodern DDSand Its research process[J].Electronic Science and Technology,2008,21(3):73-78.
[2]楊秀增.基于FPGA和DDS的信號源設(shè)計[J].電子設(shè)計工程,2009,17(11):7-9.YANG Xiu-zeng.Design of a signal generator based on FPGA and DDS[J].Electronic Design Engineering,2009,17(11):7-9.
[3]韓喜春,劉柏森.基于FPGA的可重構(gòu)多通道DDS信號發(fā)生器[J].電測與儀表,2007,44(7):50-52.HANXi-chun,LIUBai-sen.The design of reconfigurablemultichannel DDS signal generator based on FPGA[J].Electrical Measurement&Instrumentation,2007,44(7):50-52.
[4]李精華.基于FPGA的DDS波形發(fā)生器設(shè)計[J].柳州師專學(xué)報,2011,26(3):114-116.LIJing-hua.On design of DDSwaveform generator based on FPGA[J].Journal of Liuzhou Teachers College,2011,26(3):114-116.
[5]楊東霞,巨永鋒.基于FPGA和DDS的數(shù)字調(diào)制信號發(fā)生器設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2013,21(6):90-93.YANG Dong-xia,JU Yong-feng.Design and implementation of digital modulation signal generator based on FPGA and DDS[J].Electronic Design Engineering,2013,21(6):90-93.
[6]湯家華,王道德.基于FPGA設(shè)計的采用DDS技術(shù)的任意波形發(fā)生器[J].電子測量技術(shù),2007,30(4):129-131.TANG Jia-hua,WaNG Dao-de.Arbitrary waveform generator based on FPGA by using DDS[J].Electronic Measurement Technology,2007,30(4):129-131.
[7]楊曉慧,楊旭.FPGA系統(tǒng)設(shè)計與實例[M].北京:人民郵電出版社,2010.
[8]高士友,胡學(xué)深.基于FPGA的DDS信號發(fā)生器設(shè)計[J].現(xiàn)代電子技術(shù),2009,303(16):35-37.GAO Shi-you,HU Xue-shen.Design of DDS signal generator gased on FPGA[J].Modern Electronics Technique,2009,303(16):35-37.