張 成,鄭明輝
(江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
DDS(直接數(shù)字合成技術(shù))是一種新型的數(shù)字頻率合成技術(shù),它具有頻率分辨率高、頻率切換快、頻率切換時(shí)相位連續(xù)、穩(wěn)定度高、可編程、全數(shù)字化、易集成等突出優(yōu)點(diǎn)[1],因而得到廣泛的應(yīng)用。而FPGA器件具有高性能、高集成度的特點(diǎn),使用FPGA可以設(shè)計(jì)開發(fā)出性能優(yōu)良的DDS系統(tǒng),成為DDS實(shí)現(xiàn)的常用方法。
但是,由于DDS數(shù)字化實(shí)現(xiàn)的固有特點(diǎn),決定了其輸出信號頻譜雜散較大。如何抑制DDS輸出頻譜中的雜散就成為了研究的熱點(diǎn)。文中總結(jié)了雜散噪聲的來源,深入分析了幅度量化雜散并提出了使用FPGA實(shí)現(xiàn)抑制幅度量化雜散的有效方法。
DDS(Direct Digital Synthesizer)技術(shù)是一種把一系列數(shù)字量形式的信號通過高速數(shù)模轉(zhuǎn)換器轉(zhuǎn)換成模擬量形式的信號合成技術(shù)[2]。目前使用最廣泛的一種DDS方式是利用高速存儲器作為波形數(shù)據(jù)查找表,然后通過某種方式把存儲的數(shù)據(jù)輸出并通過高速DAC把數(shù)字形式的正弦波轉(zhuǎn)換為模擬量輸出[3]。
其中fc為參考時(shí)鐘(常數(shù)),K為頻率控制字,N為相位累加器位數(shù);
DDS的原理框圖如圖1所示。
圖1 DDS原理框圖Fig.1 DDS functional block diagram
FPGA即現(xiàn)場可編程門陣列,它是作為專用集成電路領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)[4]。FPGA具有高集成度、高可靠性、可反復(fù)使用、配置靈活方便等特點(diǎn),F(xiàn)PGA最大的特點(diǎn)是使用靈活,可以定制各種電路,并且FPGA的時(shí)鐘頻率可以使用分頻器或鎖相環(huán)修改,這給DDS信號發(fā)生器的設(shè)計(jì)帶來了方便,本文即利用此特點(diǎn)提出了針對DDS信號發(fā)生器的幅度量化雜散的兩種抑制方法。
方法一:使用單片機(jī)控制頻率控制字和相位控制字從而實(shí)現(xiàn)調(diào)頻和調(diào)相,并且單片機(jī)還可以驅(qū)動顯示模塊作為人機(jī)界面;使用FPGA器件的高性能、高集成度的特性可以實(shí)現(xiàn)累加器、加法器和波形ROM并把數(shù)字形式的波形數(shù)據(jù)輸出到外接的高速D/A,從而設(shè)計(jì)開發(fā)出性能優(yōu)良、界面友好和便于控制的DDS系統(tǒng)。
方法二:方法一同時(shí)使用了單片機(jī)和FPGA,因此需要實(shí)現(xiàn)兩者之間的通信,從而增加了復(fù)雜度并降低了系統(tǒng)的穩(wěn)定性。因此可以只用FPGA實(shí)現(xiàn)簡易的信號發(fā)生器,其中的頻率和相位控制部分可以通過FPGA外擴(kuò)按鍵的方法實(shí)現(xiàn)。
DDS合成信號頻率切換時(shí)間短、頻率分辨率高、頻率切換時(shí)相位連續(xù);可以輸出寬帶正交信號;輸出相位噪聲低,對參考頻率源的相位噪聲有改善作用;可以產(chǎn)生任意波形;全數(shù)字化實(shí)現(xiàn),便于集成,體積小,重量輕等優(yōu)點(diǎn)。 在各行各業(yè)的測試應(yīng)用中,信號源扮演著極為重要的作用。雖然信號源具有許多不同的類型,不同類型的信號源在功能和特性上各不相同,但是信號源中采用DDS技術(shù)在當(dāng)前的測試測量行業(yè)已經(jīng)逐漸稱為一種主流的做法。
DDS數(shù)字頻率合成的固有特點(diǎn),決定了其必然存在輸出信號頻譜雜散,DDS的雜散誤差來源主要有以下幾個(gè)方面:
2.2.1 輸出頻率穩(wěn)定性
DDS輸出頻率的穩(wěn)定性取決于參考時(shí)鐘頻率的穩(wěn)定性,也就是說只要保證了參考時(shí)鐘的穩(wěn)定,就可以保證輸出頻率的穩(wěn)定[2]。
2.2.2 相位截?cái)嗾`差
DDS的相位累加器的位數(shù)大于ROM中的尋址位數(shù)P,在尋址的時(shí)候,就只能采用相位累加器的高P位去尋址ROM中的數(shù)據(jù),此時(shí)就會有N-P位的低位被舍去,這就造成了相位截?cái)嗾`差,因此,使相位累加器的位數(shù)和ROM的尋址位數(shù)相同時(shí),就可以避免相位截?cái)嗾`差[2]。
2.2.3 幅度量化誤差
ROM中存儲值是量化值(數(shù)字值)而非模擬值,任何一個(gè)幅度值需要用無限位二進(jìn)制才能精確示[5];DDS是由已抽樣數(shù)字信號先經(jīng)過二次抽取過程,再經(jīng)過高速D/A轉(zhuǎn)換及后級的 LPF重建原始信號的過程[6],其中頻率控制字K對頻率的調(diào)節(jié)就是基于對ROM中的數(shù)據(jù)進(jìn)行的抽取,而且頻率控制字K越大幅度量化誤差也越大,因此幅度量化誤差是數(shù)字頻率合成技術(shù)固有的無法完全消除的缺點(diǎn),只能通過限制頻率控制字K不能太大來避免DDS出現(xiàn)明顯失真。圖2所示的是每周期抽樣點(diǎn)數(shù)分別是6 000和12時(shí)由抽樣得到的數(shù)字信號所恢復(fù)的模擬信號對比圖(N代表每周期抽樣點(diǎn)數(shù))。
圖2 抽樣信號對比Fig.2 Comparison of sampling signal
從以上對比中可以得出結(jié)論:如圖2中左圖所示,當(dāng)N的值比較大(對應(yīng)頻率控制字K比較?。r(shí),DDS輸出信號雖然也存在幅度量化誤差,但是由于誤差很小,用肉眼無法覺察出明顯失真。但隨著N值的減小 (對應(yīng)頻率控制字K增大),幅度量化誤差也逐漸增大,如圖2中右圖所示,當(dāng)N的值太?。▽?yīng)頻率控制字K太大)時(shí)由數(shù)字信號恢復(fù)的模擬信號會出現(xiàn)明顯的失真,實(shí)際上隨著N值的減小失真度是處在一個(gè)逐漸增大的過程,不同的頻率點(diǎn)對應(yīng)不同的失真度,實(shí)際上輸出信號的失真問題主要體現(xiàn)在高頻部分。為此文中提出以下兩種改進(jìn)方法:方法1的基本原理是控制頻率控制字K的范圍并相應(yīng)地改變參考頻率值,使K值范圍內(nèi)產(chǎn)生的幅度量化誤差是可以接受的;方法2的基本原理是直接改變參考頻率值,而累加器的遞增值是固定的。
通過以上分析,可以認(rèn)為DDS的調(diào)頻過程也是一個(gè)信號抽取頻率逐漸變化的過程,只有當(dāng)抽取頻率太低(N太?。r(shí)才會發(fā)生明顯失真,因此在抽取頻率太低時(shí)可以提高參考時(shí)鐘頻率,并相應(yīng)地增大一個(gè)周期內(nèi)采樣點(diǎn)數(shù)(或抽取頻率)。因?yàn)閰⒖紩r(shí)鐘頻率提高后單位時(shí)間內(nèi)累加器的累加運(yùn)算次數(shù)、加法器的運(yùn)算次數(shù)及波形ROM內(nèi)數(shù)據(jù)的抽取次數(shù)都相應(yīng)的提高,如果改變時(shí)鐘頻率的同時(shí)降低頻率控制字的大小,這樣ROM內(nèi)波形數(shù)據(jù)的抽取頻率降低,既保證了輸出信號頻率連續(xù),也有效解決了波形失真問題,對解決高頻信號的失真問題有明顯效果。
此方法適用于基于FPGA實(shí)現(xiàn)的DDS信號發(fā)生器。FPGA具有時(shí)鐘頻率高和方便可調(diào)的特點(diǎn),在輸出信號的低頻段需要對時(shí)鐘頻率分頻后可以作為DDS的參考頻率,而在高頻段可以很容易的通過降低分頻系數(shù)來提高參考時(shí)鐘頻率,同時(shí)限定K值不能太大。具體做法是設(shè)定最大的頻率控制字Km(保證信號不會產(chǎn)生明顯失真),當(dāng)K≥Km時(shí),把外接時(shí)鐘信號的分頻系數(shù)及頻率控制字K同時(shí)降為原來的n分之一即可,n的值根據(jù)實(shí)際情況而定,并且分頻系數(shù)和K值可以降低多次,直到時(shí)鐘頻率作為DDS的參考頻率為止,因此稱為階梯分頻法。這樣可以避免高頻段的信號失真并且還可以提高輸出信號的頻率范圍。
其中參考時(shí)鐘頻率fc會隨K發(fā)生變化,不再是常數(shù)。
階梯分頻法僅能實(shí)現(xiàn)信號無明顯失真,但在不同頻率點(diǎn)上信號的失真度仍然是不同的,為了實(shí)現(xiàn)輸出信號在不同的頻率點(diǎn)上有相同的失真度,可以直接改變參考時(shí)鐘的頻率而讓累加器的累加值為常數(shù)1,這樣輸出信號的每個(gè)周期都有相同數(shù)量的采樣點(diǎn)數(shù)或量化值,失真情況也就是確定的了。
此方法也適用于基于FPGA實(shí)現(xiàn)的DDS信號發(fā)生器。此方法可以定義新的頻率控制字M,M實(shí)際上是用來控制參考信號的分頻系數(shù)。因?yàn)镕PGA外接時(shí)鐘信號頻率可達(dá)幾百M(fèi)HZ,假定ROM為10位也就是1 024個(gè)量化值,那么DDS輸出最高頻率可達(dá)幾百kHz,仍然可以滿足低頻信號發(fā)生器的輸出頻率范圍的要求,而假如外接時(shí)鐘信號先經(jīng)過倍頻后再分頻,那么DDS輸出信號的頻率范圍還可以進(jìn)一步擴(kuò)大,因此此方法特別適合外接時(shí)鐘頻率較大的情況,并且此方法可以保證高頻信號也不會發(fā)生明顯的失真。
其中fosc為晶振頻率,K為分頻系數(shù)。
MATLAB語言具有高效、可視化及推理能力強(qiáng)等特點(diǎn),是工程界流行最廣的科學(xué)計(jì)算語言[7],使用MATLAB可以方便的對數(shù)字信號進(jìn)行仿真,MATLAB仿真是驗(yàn)證新理論、新方法的有效手段之一,以下是對本文提出的兩種抑制DDS雜散方法的頻譜仿真。
圖3表示的是采用階梯分頻法的DDS信號發(fā)生器在參考時(shí)鐘頻率倍頻前后的頻譜變化情況,可以看出當(dāng)輸出高頻信號時(shí),倍頻前幅度譜與相位譜存在明顯失真,倍頻后幅度譜及相位譜的失真度明顯降低。
圖4所示的是采用直接分頻法的DDS信號發(fā)生器的幅度譜與相位譜,在不同的頻率點(diǎn),輸出信號具有相同的頻率譜和相位譜,并且頻譜失真度很小或近于理想,其微弱的失真甚至可以忽略不計(jì)。
圖3 階梯分頻法仿真結(jié)果Fig.3 Simulation results of ladder frequency method
圖4 直接分頻法仿真結(jié)果Fig.4 Simulation results of direct frequency method
文中介紹了DDS的基本原理與實(shí)現(xiàn)方法,從DDS數(shù)字化實(shí)現(xiàn)的固有特點(diǎn)出發(fā),深入分析了幅度量化雜散帶來的誤差,提出了基于FPGA實(shí)現(xiàn)的兩種幅度量化雜散的抑制方法,通過MATLAB仿真可以驗(yàn)證,改進(jìn)方法較好的抑制了幅度量化雜散,減小了誤差。
[1]夏金環(huán).DDS工作原理及性能分析[J].中國科技論文在線,2006(5):1-4.
XIA Jin-huan.The analysis of the principle and performance of the DDS device[J].Science Papers Online of China,2006(5):1-4.
[2]劉蘭坤,潘明海.DDS的雜散分析及降低雜散的方法[J].電子器件,2007(2):4.
LIU Lan-kun,PAN Ming-hai.DDS spurious analysis and improvement methods[J].Chinese Journal of Electron Devices,2007(2):4.
[3]戴逸民.頻率合成與鎖相技術(shù)[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社,1995.
[4]徐志軍,徐光輝.CPLD/FPGA的開發(fā)與應(yīng)用[M].北京,電子工業(yè)出版社,2002.
[5]張麗芝,王森章.DDS波形發(fā)生器幅度量化誤差的分析及其抑制[J].微處理機(jī),2006(4):1-2.
ZHANG Li-zhi,WANG Sen-zhang.Amplitude quantization spurious analysis and improvement of DDS[J].Microprocessor,2006(4):1-2.
[6]田新廣,張爾揚(yáng),羅倫,等.DDS的幅度量化雜散分析[J].無線電工程,1999(4):57-60.
TIAN Xin-guang,ZHANG Er-yang,LUO Lun,et al.Amplitude quantization spurious analysis of DDS[J].Radio Engineering,1999(4):57-60.
[7]陳懷琛,吳大正,高西全.Matlab及在電子信息課程中的應(yīng)用[M].北京:電子工業(yè)出版社,2002.