DDS信號源的FPGA實現(xiàn)
1 引言
目前直接數(shù)字頻率合成DDS專用器件大多采用先進(jìn)特定工藝技術(shù),并具有高性能,多功能,且其內(nèi)部數(shù)字信號抖動?。敵鲂盘柕馁|(zhì)量高等特點,諸如Qualcomm公司的Q2230、Q2334,Analog Device公司的AD9955、AD9850等。這些DDS器件可滿足電路設(shè)計的多種需求。但其控制方式固定.在某些系統(tǒng)應(yīng)用中其功能與系統(tǒng)要求還有一定差距,因此需要與高性能的FPGA器件相結(jié)合設(shè)計符合某個特定要求的系統(tǒng)。DDS專用器件可重配置性結(jié)構(gòu)方便的實現(xiàn)了各種復(fù)雜的調(diào)制功能,具有良好的實用性和靈活性。因此,這里給出DDS信號源的FPGA設(shè)計方案。
2 DDS的工作原理和基本結(jié)構(gòu)
直接數(shù)字頻率合成技術(shù)DDS(Direct Digital Frequency Synthesis)是一種從相位出發(fā)直接合成所需波形的頻率合成技術(shù)。它是以一個固定頻率精度的時鐘作為參考時鐘源,通過數(shù)字信號處理技術(shù)產(chǎn)生一個頻率與相位可調(diào)的輸出信號。實質(zhì)上.它是由設(shè)置的二進(jìn)制控制字對參考時鐘做除法運(yùn)算??刂谱忠话闶?4~48位字長,因此可認(rèn)為DDS是數(shù)字信號處理理論的延伸,是數(shù)字信號中信號合成的硬件實現(xiàn)。
2.1 DDS的工作原理
設(shè)一路頻率為f的余弦信號:
現(xiàn)以采樣頻率fc對該路信號采樣,得到離散序列為:
式中:Tc=1/fc為采樣周期。
式(2)所對應(yīng)的相位序列為:
該相位序列的顯著特性就是線性,即相鄰樣值之間的相位增量是一常數(shù),且僅與信號頻率f有關(guān),即相位增量為:
由于頻率.廠與參考源頻率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):
該信號頻率為:
式(11)是DDS方程,在實際的DDS中,一般取M=2N,N為正整數(shù),于是DDS方程可寫成:
通過分析,DDS可由下列兩次變換實現(xiàn):
(1)變量K產(chǎn)生量化的相位序列 該過程一般由一個以上作時鐘的Ⅳ位相位累加器實現(xiàn),如圖1所示。
(2)離散量化相位序列產(chǎn)生正弦信號離散幅度序列 該過程是由式(8)的映射關(guān)系所構(gòu)成的波形ROM尋址完成的,如圖2所示。把量化的數(shù)字波形經(jīng)模數(shù)轉(zhuǎn)換,再通過低通濾波器LPF得到頻率為fc的余弦信號。變量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.2 DDS的基本結(jié)構(gòu)
DDS包括數(shù)字和模擬兩部分,其主要由相位累加器、ROM波形查詢表、數(shù)模轉(zhuǎn)換器和低通濾波器LPF構(gòu)成。DDS的基本結(jié)構(gòu)如圖3所示,其中K為頻率控制字、f為時鐘頻率,N為相位累加器的字長,D為ROM數(shù)據(jù)位數(shù)及D/A轉(zhuǎn)換器的字長。相位累加器在時鐘fc/2的控制下以步長K為累加,輸出N位二進(jìn)制碼作為波形ROM的地址.對波形ROM尋址,波形ROM輸出的幅值碼S(n)經(jīng)數(shù)模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號后再經(jīng)LPF輸出。
3 應(yīng)用設(shè)計
該系統(tǒng)設(shè)計是針對DDS的基本結(jié)構(gòu),以FPGA為核心,并與外圍電路而實現(xiàn)的。
3.1 相位累加器
相位累加器由8位加法器與8位寄存器級聯(lián)構(gòu)成。累加器將加法器在上一個時鐘作用后所產(chǎn)生的相位數(shù)據(jù)反饋到加法器的輸入端;使加法器在下一個時鐘作用下繼續(xù)與頻率控制字(K)相加,實現(xiàn)相位累加,當(dāng)相位累加器累加結(jié)果等于或大于256時,則產(chǎn)生一次溢出,返回到初始狀態(tài),完成一個周期波形輸出。該相位累加器采用VHDL語言設(shè)計實現(xiàn)。
3.2 波形存儲器
以相位累加器輸出數(shù)據(jù)作為波形存儲器的取樣地址。進(jìn)行波形的相位一幅碼轉(zhuǎn)換,即可在給定的時間上確定輸出的波形的抽樣幅碼。Ⅳ位的尋址RAM相當(dāng)于把0°~360°的正弦信號離散成具有2個樣值的序列,若波形存儲器有D位數(shù)據(jù)位,則各樣值的幅碼以D位二進(jìn)制數(shù)值保存在該模擬ROM(FlexlOKl0的RAM)中,按照不同地址輸出相應(yīng)相位的正弦信號的幅碼數(shù)值。
DDS中的波形存儲器模塊用Ahera的F3exl OK系列中的RAM實現(xiàn),選用Flexl0K10,F(xiàn)lexl0K10中共有3塊RAM,每塊大小為2 K位,可構(gòu)成2 048x1,1 024×2,512x4,256x84種類型。該設(shè)計取N=8,D=8,波形數(shù)據(jù)運(yùn)用高級語言C編制,相應(yīng)數(shù)據(jù)保存于FPGA的RAM中。
3.3 D/A轉(zhuǎn)換電路的實現(xiàn)
D/A轉(zhuǎn)換器的作用是把已合成的正弦波的數(shù)字量轉(zhuǎn)換成模擬量。正弦幅度量化序列經(jīng)D/A轉(zhuǎn)換后變成包絡(luò)為正弦波的階梯波s(t)。
該單元選用數(shù)模轉(zhuǎn)換器DAC0832,使其工作于雙緩沖器方式,并強(qiáng)制片選信號(Cs)、寫信號1(R1)、寫信號2(R2)、數(shù)據(jù)傳送信號(XFER)為低電平,將F:PGA輸出的數(shù)據(jù)轉(zhuǎn)換成相應(yīng)模擬量。
3.4 低通濾波器設(shè)計
對D/A轉(zhuǎn)換輸出的階梯波s(t)進(jìn)行頻譜分析,可知s(t)中除主頻fc外,還存在分布在fc、2fc…,兩邊±fc處的非諧波分
量,幅值包絡(luò)為辛格函數(shù),因此為了取出主頻fc,必須在D/A轉(zhuǎn)換器的輸出端接人截止頻率為f/2的低通濾波器。
4 結(jié)語
采用直接頻率合成技術(shù)和FPGA設(shè)計的信號發(fā)生器具有不同于傳統(tǒng)頻率合成方法的全數(shù)字結(jié)構(gòu),輸出分辨率高等特點,其相位累加器在基準(zhǔn)時鐘頻率和相位累加器的位寬達(dá)到一定要求時,輸出分辨率更小,可達(dá)到微赫茲級;頻率變化快,頻率控制字的傳輸時間以及器件響應(yīng)時間很短,使得系統(tǒng)的頻率切換時間可達(dá)納秒級;頻率變化時輸出相位連續(xù),在頻率改變時只是改變頻率控制字,而無需改變原有的累加值;但由于這種結(jié)構(gòu)存在相位累加器的輸出有限位數(shù)產(chǎn)生相位截斷誤差,以及ROM存儲的幅度值量化有限樣點值產(chǎn)生量化誤差等問題,從而DDS的雜散抑制較差,因此采取相應(yīng)措施對其抑制。在需要可變頻率或經(jīng)常改變波形各個參數(shù)的實驗中.采用FPGA實現(xiàn)的DDS信號發(fā)生器較靈活,并具有絕對優(yōu)勢。