楊柳青
摘 要 本文對(duì)直接頻率合成器(DDS)的基本原理以及基于fpga的設(shè)計(jì)技術(shù)進(jìn)行了研究。原本基于傳統(tǒng)的CORDIC(坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算)方法,它具有消耗硬件資源大,輸出延時(shí)長(zhǎng)等缺點(diǎn),然而查找表技術(shù)與之相比,則具有消耗硬件資源少,結(jié)構(gòu)簡(jiǎn)單和輸出沒(méi)有延遲小等優(yōu)點(diǎn),并且得到了廣泛運(yùn)用。
關(guān)鍵詞 直接頻率合成器(DDS) fpga 頻率分辨率
一、引言
直接數(shù)字頻率合成器(DirectDigitalSynthysizer,DDS)是隨微電子技術(shù)出現(xiàn)的一種新數(shù)字頻率合成技術(shù),它在相對(duì)帶寬、具有調(diào)制功能、相位連續(xù)性、相位噪聲小、高分辨率和集成化等一系列性能指標(biāo)方面超過(guò)了傳統(tǒng)頻率合成技術(shù)。目前,大多任意波形發(fā)生器是基于專(zhuān)用的DDS(直接頻率合成器)芯片設(shè)計(jì)完成,但其芯片固化,靈活性較差。因此,基于上述原因,本文提出基于fpga(現(xiàn)場(chǎng)可編程門(mén)陣列)設(shè)計(jì)任意波形的方案。
二、DDS的工作原理和組成結(jié)構(gòu)
DDS的組成原理
DDS系統(tǒng)的核心是N位相位累加器,即由一個(gè)N位全加器和N位累加寄存器組成。時(shí)鐘脈沖每觸發(fā)一次,累加寄存器就會(huì)將上一時(shí)刻輸出的累加相位數(shù)據(jù)反饋到N位全加器,并和全加器輸入的相位控制字K相加。然后,它把相加結(jié)果送至累加寄存器的數(shù)據(jù)輸入端,使得相位累加器在下一個(gè)時(shí)鐘作用下繼續(xù)與相位控制數(shù)據(jù)相加。其中,每一個(gè)相位在線(xiàn)性查找表中有對(duì)應(yīng)幅值,當(dāng)相位累加器溢出時(shí)便完成一個(gè)周期動(dòng)作,稱(chēng)為DDS合成信號(hào)的一個(gè)頻率周期,同時(shí)相位累加器的溢出頻率就是DDS輸出的信號(hào)頻率。最后,輸出數(shù)據(jù)經(jīng)DAC進(jìn)行D/A變化,并經(jīng)一個(gè)低通濾波器得到完整的正弦(或余弦)波。
每一個(gè)相位都對(duì)應(yīng)一個(gè)特定幅值,當(dāng)相位走完一個(gè)周期后對(duì)應(yīng)的幅度也走完一個(gè)周期,這是DDS的相位與幅值之間的基本原理(如圖2)。DDS波形輸出頻率f0和時(shí)鐘頻率fc和時(shí)鐘控制字k間的關(guān)系為:f0=fc譳。
其中k為頻率控制字,N為相位累加器的輸出寬度,當(dāng)k=1時(shí)可以得到系統(tǒng)的最小輸出頻率公式:△f=譮c?!鱢為DDS的最小分辨頻率,由式可知系統(tǒng)最小分辨頻率與相位累加器輸出位數(shù)寬度N有關(guān),假設(shè)N=32,fc=25hz則系統(tǒng)的最小分辨頻率為0.00582hz。按照抽樣定律,最高輸出頻率為采樣頻率的,但因包括低通濾波器在內(nèi)的各種雜散頻率影響,一般只能達(dá)到40%fc。所以采用DDS技術(shù)幾乎可以合成從直流到0.4fc內(nèi)的所有的頻率。
三、基于fpga的DDS的硬件實(shí)現(xiàn)
1、fir濾波器設(shè)計(jì)
基于以上原理,為更好抑制系統(tǒng)中產(chǎn)生的雜散噪聲,并為獲得更高輸出帶寬,本文在傳統(tǒng)硬件結(jié)構(gòu)基礎(chǔ)上做如下:第一,為得到更高的系統(tǒng)時(shí)鐘在fpga中嵌入PLL(鎖相環(huán)),把輸入頻率提高到100MHZ,作為整個(gè)系統(tǒng)的時(shí)鐘信號(hào);第二,為更好抑制雜散噪聲與簡(jiǎn)化模擬低通濾波器設(shè)計(jì)復(fù)雜度,本文在DAC模塊前,增加一個(gè)21階,截止頻率40MHZ,采用漢明窗技術(shù)設(shè)計(jì)出帶外衰減較大的FIR濾波器模塊。
2、相位累加器及線(xiàn)性查找表設(shè)計(jì)
(1)相位累加器
相位累加器是DDS系統(tǒng)中重要的模塊,可通過(guò)增加相位累加器位數(shù),來(lái)達(dá)到較高精度。但這增加了系統(tǒng)復(fù)雜度,限制整個(gè)系統(tǒng)速度。而流水線(xiàn)技術(shù)是高速電路中常用的技術(shù),利用流水線(xiàn)技術(shù)能夠提高系統(tǒng)轉(zhuǎn)換速率、工作頻率及精度。
流水技術(shù)的主要思想,是把一個(gè)復(fù)雜計(jì)算步驟拆分成多個(gè)簡(jiǎn)單步驟。本文是把一個(gè)32位累加運(yùn)算,拆分為四個(gè)8位累加運(yùn)算,總共形成了四級(jí)流水結(jié)構(gòu)。
(2)線(xiàn)性查找表
理論上,一個(gè)周期內(nèi)采樣點(diǎn)數(shù)越多,輸出波形精度越高。但采樣點(diǎn)數(shù)增加,則需更多存儲(chǔ)空間。為了解決這個(gè)問(wèn)題,人們提出以下兩種方法:一是,利用CORDIC及其改進(jìn)方法設(shè)計(jì)DDS;二是,利用抽樣定理,存儲(chǔ)最少的抽樣點(diǎn)數(shù);三是,利用波形的對(duì)成型只存儲(chǔ)1/4周期的數(shù)據(jù)。因此,它里面存儲(chǔ)的是完整的1/4正弦(余弦)信號(hào)的幅值信息。在這里我們選擇設(shè)計(jì)占用資源較少,輸出波形信號(hào)質(zhì)量較好的方法三。首先利用matlab設(shè)計(jì)出所需幅值數(shù)據(jù),其次把數(shù)據(jù)存儲(chǔ)在存儲(chǔ)單元中。這里我們所設(shè)計(jì)的存儲(chǔ)單元采用的是Altera公司提供的ROM的IP核,設(shè)計(jì)出深度為256,寬度為8的存儲(chǔ)單元。
四、測(cè)試與結(jié)果分析
在完成整個(gè)波形設(shè)計(jì)后,對(duì)整個(gè)系統(tǒng)進(jìn)行功能測(cè)試,測(cè)試選用Tektronix的帶寬為100MHZ的示波器。測(cè)試如下參數(shù):
波形:正弦波。
頻率范圍(正弦波):>20MHZ;
頻率分辨率:0.023HZ;
電壓幅度50mv~5v;
波形幅度分辨率:8比特;
下面波形是通過(guò)Tektronix示波器測(cè)出來(lái)的波形和它們的頻譜(如圖1),可以清晰地看到波形的峰峰值、頻率、幅度和譜線(xiàn)等參數(shù)。
從實(shí)驗(yàn)結(jié)果看,輸出波形在設(shè)定參數(shù)內(nèi)的輸出光滑平整。由此可見(jiàn)設(shè)計(jì)的結(jié)果與理論是接近的,說(shuō)明設(shè)計(jì)結(jié)果正確。
五、結(jié)論
本文從理論和實(shí)踐兩個(gè)方面,對(duì)DDS技術(shù)進(jìn)行了探討和深入研究,并且設(shè)計(jì)出了具有輸出正弦波、方波等波形的信號(hào)發(fā)生器。輸出的正弦波在高達(dá)20MHZ時(shí)沒(méi)有明顯的失真,設(shè)計(jì)的其它波形也符合所設(shè)定的參數(shù)。本文一大特點(diǎn)是內(nèi)嵌一個(gè)高階的數(shù)字濾波器來(lái)化解對(duì)外置高階模擬濾波器的設(shè)計(jì)要求,來(lái)抑制產(chǎn)生的雜散噪聲。所設(shè)計(jì)的各種指標(biāo)都得到驗(yàn)證并符合要求。
(作者單位:東華理工大學(xué)研究生院)