直接數字合成
直接數字合成(Direct Digital Synthesizer,簡稱DDS)是一種數字電子方式,它從一個單一(或混合)的頻率源中產生任意波形和頻率。
概述
編輯一個基本的DDS電路包括電子控制器、隨機存取記憶體(RAM)、頻率參考源(通常是晶振)、計數器和數位類比轉換器(DAC)。要使DDS系統工作需要兩個操作階段:我們稱之為編程和運行。
編程
編輯在編程這一階段裡,電子控制器把數據載入至存儲器中。數據的每一個單元是一個用來表示當前時刻信號幅度的二進制數。存儲器中這些數據的排列(數組)構成一張振幅表,表示每一時刻當前波形的振幅。舉個例子,在一張振幅表中,前一半的數全為0,後一半全為波形振幅的最大值(100%),這些數據就表示「方波」了。任何波形都可以通過簡單地改變這些數據來產生。
運行
編輯在運行這一階段中,計數器(又稱之為相位累加器)受頻率參考源的指示,在每一個頻率的上升沿或下降沿自增。相位累加器的輸出(相位)通常就是數組中依次輸出的各個數據。最後會被DAC依次轉換成模擬波形。
為了產生周期波形,電路被設計成每一個參考頻率周期的時間片讀取振幅表中的一個數據。舉個例子,如果參考頻率是1MHz,而且振幅表中包含1000個數據,以自增1的方式讀完整個振幅表需要1000 / 1 MHz = 1 ms,所以最後輸出波形的頻率為1/(1 ms) = 1 kHz。
要想使系統產生更高的輸出頻率,可以簡單地增加相位自增速度,從而使計數器能更快地讀完一遍振幅表。在上面的那個例子中,相位自增的幅度是1,所以如果自增的幅度設為2,則輸出波形的頻率將提高一倍。為了能較好地控制頻率,可將標準的相位自增幅度設為10。這樣微調輸出頻率。舉個例子,如果將相位自增幅度提至11則會增加10%的輸出頻率。當將相位自增幅度減至9時,輸出頻率會相應地減小。為了獲得更加精確的輸出頻率,需用計數器和DAC擁有較多的位數。
執行細節
編輯實際執行中通常在32位的相位累加器和相位自增中設置查找表在大小為2的n次方。通常計數器的高位8或10比特用作查找表的索引(查找表的大小通常為256或1024)。剩餘的低位比特可被作為參數或索引,用來竄改查找表中鄰近的數據。經常用線性插值法來實現。頻率源通常由一個1MHz至100MHz的晶振產生。 最高頻率產生的方式取決於查找表的大小和(頻率源的)頻率。為了能產生清晰的波形,(查找表中)必須擁有最少的採樣點。如果相位自增幅度太大,計數器閱遍查找表太快從而導致輸出信號的失真。 DDS的實現有軟件與硬件兩種。由於DDS的實時性,軟件的實現通常只用於聲音頻率的產生。
參考
編輯論文
編輯- Tierney, J., Rader, C.M., and Gold, B. "A Digital Frequency Synthesizer," IEEE Transactions on Audio and Electroacoustics AU-19:1, March 1971, 48-56
圖書
編輯- Goldberg, Bar-Giora, Digital Techniques in Frequency Synthesis, New York: McGraw-Hill, 1996. ISBN 0-07-024166-X
外部連結
編輯- Direct and Indirect Frequency Synthesis in the 0.5–20GHz Frequency Range (頁面存檔備份,存於網際網路檔案館) (Slides from a talk)
- Direct Digital Synthesis Primer (Viewgraphs) (頁面存檔備份,存於網際網路檔案館)
- Tutorial on Digital Signal Synthesis (Essay) (頁面存檔備份,存於網際網路檔案館)
- Ph.D. Thesis: "High-Speed Digital and Mixed-Signal Components for X- and Ku-Band Direct Digital Synthesizers in Indium Phosphide DHBT Technology"
- Another thesis on high speed DDS (French) (頁面存檔備份,存於網際網路檔案館)