【導(dǎo)讀】直接數(shù)字合成技術(shù)(DDS)是一種頻率合成技術(shù),用于產(chǎn)生周期性波形。目前,從低頻到上百MHz的正弦波、三角波產(chǎn)生,絕大多數(shù)采用的是DDS芯片完成,甚至于買來的信號源,皆是采用DDS實現(xiàn)。
直接數(shù)字合成技術(shù)(DDS)是一種頻率合成技術(shù),用于產(chǎn)生周期性波形。目前,從低頻到上百MHz的正弦波、三角波產(chǎn)生,絕大多數(shù)采用的是DDS芯片完成,甚至于買來的信號源,皆是采用DDS實現(xiàn)。
為了便于大家理解,現(xiàn)假設(shè)DDS有一個固定的時鐘MCLK——36MHz,那么每個脈沖的周期則為27.78ns。下面再為大家附上一個正弦波的“相位—幅度”表格,它具有足夠細密的相位步長,比如0.01°,那么一個完整的正弦波表,就需要36000個點。
如下表1所示。N為表格中數(shù)據(jù)點序號,phase為該點對應(yīng)的正弦波相位,Am對應(yīng)該相位處的正弦波計算值,介于-1 ~ +1之間。Data_10為正弦波計算值轉(zhuǎn)換成10位數(shù)字量的10進制表示,用一個10位DAC描述正弦波,sin(0°)應(yīng)為DAC全部范圍的中心,即512。sin(90°)則為最大值1023,而sin(270°)則為最小值0。
表1:相位—幅度
從表1可以看出,在相位從0°開始,一直到第12個點(即序號11,相位為0.11°),雖然正弦波幅度一直在增加,但始終沒有增加到全幅度的1/1024,即2/1024=0.001953125,因此用DAC表達一直為512,直到第13個點(序號12,相位0.12°),正弦波計算值為0.0020944,DAC才變?yōu)?13。這一段的細微變化(即前100個點)在下圖1已給出。盡管管中窺豹,但可以想象,這36000個點記錄了一個標(biāo)準(zhǔn)正弦波的全部。
圖1. DDS表中36000點正弦波的前100點
下面再將此表首尾銜接。假設(shè)相位步長為m=1,則DAC以MCLK為節(jié)拍,依序發(fā)作:第一個CLK時,DAC輸出N=0時對應(yīng)的DATA_OUT,即512,第2個CLK時,DAC輸出N=1時對應(yīng)的DATA_OUT,也是512……,可以想象,36000個CLK后,一個完整的正弦波被輸出了一遍。從36001個CLK開始,又一次循環(huán)開始。如此往復(fù),一個個正弦波接連不斷被發(fā)作出來。
現(xiàn)在算一算,這個發(fā)作正弦波的頻率是多少?顯然,36000個CLK為正弦波的周期,(即1ms)其頻率為1kHz。公式為:
對上式參量的理解極為重要:其中,TMCLK為DDS主振時鐘周期,即1/36MHz,約為27.78ns,Nmax為表格總點數(shù),m為循環(huán)增加中的步長,如果m=1則意味著對表格一個不落的掃一遍,如果m=2,則意味著隔一個掃一遍。m越大間隔越大,掃完需要的時間越短。那么,就代表著完成一次表格的全掃描需要的動作次數(shù)。DDS的核心思想就建立在上述公式上。改變步長m,可以改變輸出頻率:
① 當(dāng)m=1,則輸出最低頻率,即:
②當(dāng)m每增加1,則輸出頻率增加,這也是DDS能夠提供的頻率最小分辨:
③ 當(dāng)m增加到表格點數(shù)Nmax的1/1800,即20時,說明每次DAC發(fā)作,會跳過表格中的20個點,或者說一個掃完一個正弦波全表,只需要1800個點。此時,樣點變化規(guī)則如圖1中的紅色圓點??梢运愠觯@樣輸出正弦波的頻率應(yīng)為:
圖2是三種情況下掃出的正弦波圖,分別是m=1,m=30,m=300,可以看出隨著m的增大,輸出頻率也在同比例增加。
圖2. 三種m獲得的三種頻率正弦波
④ 當(dāng)m增大到全表總數(shù)Nmax的1/4,即9000時,說明只需要4個點就可以掃完正弦波全表,此時DAC輸出的正弦波,其實已經(jīng)不再是正弦波,而是一個標(biāo)準(zhǔn)的三角波了,該波形只有4個相位點,分別是0°,90°,180°,270°。
⑤ 樣點總數(shù)除以m不等于整數(shù)可以嗎?答案是,可以。為了顯示清晰,我們假設(shè)兩種情況,m=40,它可以被36000除盡,為900,即每900個點可以掃描完正弦波表;m=41,不能被36000除盡,為878.0487804878……。由此得到兩組數(shù)據(jù)如下表。
可以看出,對m=40的情況,第900點的相位為360°,即重新開始了又一個正弦波。它的周期為:
而對m=41,第878點,相位為359.98°,屬于第一個周期,第879點,相位為360.39°,開始了一個新周期,但是起點不再是0°,而是0.39°。這樣,它的每個正弦波,與緊鄰的另一個正弦波,其相位都是不同的。但是,這絲毫不會影響總體上呈現(xiàn)出如下頻率:
由此數(shù)據(jù)得到的波形如圖3所示。你能看出41kHz正弦波,其第二個周期與第一個周期有什么不同嗎?你根本看不出。
圖3. m=40和41得到的正弦波
DDS內(nèi)核組成
DDS技術(shù)的核心由相位累加器PA,相位幅度表和數(shù)模轉(zhuǎn)換器DAC組成。以一個28位數(shù)的相位累加器為例,它可以計數(shù)0~228,或者說,它的相位表點數(shù)為228=268435456點,遠比36000樣點多得多,這說明實際的DDS在相位分辨上比前述舉例更加細密。
使用者需要輸入一個計數(shù)步長m,當(dāng)然m一定要小于228,此后外部時鐘MCLK每出現(xiàn)一個脈沖,則PA完成一次累加。如圖4所示,紅色秒針以m為步長,逆時針旋轉(zhuǎn),它完成一個周期360°的旋轉(zhuǎn),需要的時間為:而紅色秒針完成一個周期360°的旋轉(zhuǎn),正好輸出一個完整周期正弦波,因此,正弦波頻率為:當(dāng)m取1時,可以得到最低輸出頻率為:理論上,當(dāng)m取227,可以得到最高輸出頻率為:m每增加1,則會使得輸出頻率獲得一個增量,即為最小輸出頻率:圖4中,內(nèi)部相位累加器具有28位,而外部相位累加器則不需要如此精細,一般僅需要14位即可。這就像你干活掙錢,每件可以掙錢1分,第一天干了272851件,折合272.851元,第二天干了291237件,折合291.237元,這可以精細計數(shù),但到了發(fā)工資的時候,一個月累計6164.875元,可能你會得到6164.9元,就不需要如此精細了,因為這種精細是需要成本的。
圖中的相位幅度表,是靠存儲器實現(xiàn)的,存儲器數(shù)量太大,自然會導(dǎo)致DDS芯片成本升高。而累加器,做成28位,僅僅是多幾個級聯(lián)的計數(shù)器而已。另外,對DDS而言,輸出正弦波采用的DAC,也不需要位數(shù)過高,多數(shù)為10位,也有14位的。
圖4. DDS工作原理
為了用戶使用方便,DDS內(nèi)部還具有相位失調(diào)寄存器,這可以讓DDS輸出從某個規(guī)定相位開始。具體的DDS內(nèi)核組成,還應(yīng)以具體芯片為準(zhǔn),此處不一一贅述。
DDS技術(shù)的優(yōu)勢與弊端
DDS的優(yōu)勢在于可以發(fā)出從極低頻率到極高頻率范圍的正弦波,且頻率增量極低。以AD9834為例,它具有28位的超精細相位累加器,可承受最高75MHz的MCLK,因此,在75MHz主振情況下,它的頻率最小分辨為0.279Hz,可以發(fā)出從0.279Hz到37.5MHz,頻率步長為0.279Hz的正弦波。至于輸出頻率到底是多少,完全取決于使用者設(shè)置的m。在DDS核心技術(shù)中,可以實現(xiàn)如下功能:
可以精細選擇輸出頻率,實現(xiàn)從低到高的頻率選擇。
可以快速跳頻,且能夠保證相位連續(xù),這在模擬信號發(fā)生器中是難以實現(xiàn)的。
可以實現(xiàn)正交輸出,可以實現(xiàn)相位設(shè)置。
可以實現(xiàn)正弦波、三角波,配合比較器可以實現(xiàn)同頻同相方波輸出。
此外,在發(fā)出高質(zhì)量正弦波中,DDS技術(shù)無法實現(xiàn)超低失真度,是其最大的弊端。DDS技術(shù)中采用的DAC最高為14位,其積分非線性INL不可能做到很小。其次,其DAC一般均采用普通DAC,沒有為降低失真度做出更多的考慮。且目前的DDS實現(xiàn)的正弦波輸出,其失真度一般只能做到-80dB左右。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理。
推薦閱讀: