摘 要:主要介紹了直接數字頻率合成器的原理和特點,研究了用DSP Builder實現正弦信號發生器的設計方法,繼承了傳統DDS信號源調頻、調相迅速的優點,給出了查找表壓縮優化方法。并應用Altera公司推出的DSP Builder和QuartusⅡ進行了仿真實現。實際結果表明,此設計方法在節約芯片資源的基礎上達到了較高了精度。
關鍵詞:正弦信號源;直接數字頻率合成;壓縮存儲查找表;現場可編程門陣列
中圖分類號:TN911 文獻標識碼:B
文章編號:1004-373X(2008)11-029-02
Design of an Optimized Sine-wave Generator Based on DSP
Builder and Its Implementation with FPGA
YANG Yingqiong,LI Ming
(National Key Lab of Radar Signal Processing,Xidian University,Xi′an,710071,China)
Abstract:This paper mainly describes the principle and features of Direct Digital Frequency Synthesizer(DDS),studies ways of designing DDS based on DSP Builder,inherits the virtue of fast transition of frequency and phase,which is possessed by traditional DDS.Meanwhile,puts forward the optimized method of look-up table compression,besides,implements the simulation through DSP Builder and QuartusⅡ born from Altera Company.The actual results show that a system designed by this method is resource-saved and of a favorable precision.
Keywords:sine-wave generator;DDS;look-up table compression;FPGA
實現信號源常用的方法是頻率合成法,其中直接數字頻率合成法是繼直接頻率合成法和間接頻率合成法之后,隨著電子技術迅速發展的第三代頻率合成技術。DDS是一種全數字技術,它從相位概念出發直接合成所需頻率,它具有頻率轉換時間短,頻率分辨率高,相位變化連續,低相位噪聲和低漂移,易于集成、調整、實現正交輸出等優點。近年來,DDS技術在頻率合成、通信、雷達、電子對抗、儀器測試等領域均有廣泛的應用。目前專用的DDS芯片產生的信號波形、功能和控制方式固定,常不能滿足具體需要。現場可編程門陣列(FPGA)器件具有規模大、工作速度快及可編程的硬件特點,并且開發周期短,易于升級,因此非常適用于實現DDS。
1 DDS的基本原理
DDS的結構由相位累加器,相位調制器,波形存儲ROM和D/A轉換器組成,是Tierney,Rader和Gold于1971年提出[1]。一個正弦信號發成器結構圖如圖1所示。
相位累加器是整個DDS的核心,完成相位累加運算,它輸入的是相位增量BΔθ。相位累加器每溢出一次,就代表輸出ROM內的一個完整波形。相位調制器接收相位累加器的相位輸出,加上一個相位偏移量,用于信號的相位調制。正弦ROM查找表完成相位到幅度的轉換,它的輸入是相位調制器的輸出,也就是ROM的地址。
圖1 DDS結構圖
fo為輸出頻率,fo的值由fclk和BΔθ共同決定:fo=fclk×BΔθ/2N。根據Nyquist采樣定律,最高的輸出頻率是時鐘頻率的一半,即fo=fclk/2。實際應用中,一般取fo≤40%fclk。DDS的頻率分辨率Δf用頻率輸入值步進一個最小間隔對應的頻率輸出變化量來衡量,即Δf=fclk/2N \\[2\\](默認情況下,ROM存儲整個周期信號波形)。可見,Δf越小,DDS輸出精度越高。
2 DDS精度改進方案
ROM查找表實際上是一個存儲了正弦信號抽樣點幅度編碼的只讀存儲器,將輸入的序列轉換為正弦信號的幅度編碼。ROM查找表地址位數M越靠近相位累加器的位數N,相位尋址時舍去的位數就越小,相位舍位誤差也就越小,但ROM表的大小會隨地址位數M的增加成指數遞增關系[3]。因此,為了使用較小的ROM而滿足信號性能,必須采用優化方法壓縮ROM。
2.1 正弦波特點
已知正弦波存在下面的關系:
sin(α+π)=-sin α
sin(π-α)=sin α
可見,\\[π,2π\\]區間的波形可以通過\\[0,π\\]區間波形轉化得到。進一步,由于[0,π/2]和[π/2,π]區間波形關于α=π/2對稱,則[π/2,π],[π,3π/2],[3π/2,2π]三個區間波形都可以通過[0,π/2]區間的波形轉化得到。
2.2 基于DSP Builder的ROM優化方案
從上面對正弦波特點的分析可得出,查找表ROM中只存儲\\[0,π\\]或[0,π/2]區間的波形就可得完整周期的正弦信號。這樣就有效地利用了ROM存儲完間,提高了存儲效率。對于ROM中存儲[0,π]區間波形的情況,可以利用相位調制器輸出的最高位作為符號位,將正弦波合成到[0,2π]區間。而對于ROM中存儲[0,π/2]區間波形的情形,利用相位調制器輸出的次高位判斷象限,將正弦波合成到[0,π]區間;最高位作為符號位,將正弦波合成到[0,2π]區間。圖2給出了ROM中存儲[0,2π],[0,π],[0,π/2]區間波形時,用DSP Builder實現正弦信號發生器的系統模型。
圖2 具有不同ROM的正弦信號發生器系統模型
其中,PWORD為相位字輸入,其值設置為0;FWORD為頻率字輸入,其值設置為9000000;AWORD為幅度控制輸入,其值設置為50;adder為相位累加器;adder1為相位調制器。LUT1,LUT2,LUT3分別為存儲[0,2π],[0,π],[0,π/2]區間正弦信號的具有相同存儲空間的ROM,它們模塊參數“MATLAB Array”分別設置為:
1 023*sin([0:2*pi/(2^11):2*pi])
1 023*sin([0:pi/(2^11):pi])
1 023*sin([0:pi/(2^12):pi/2])
另外,需注意的是,子系統controller的作用是,判斷象限,將LUT3中正弦波合成到[0,π]范圍。
2.3 仿真分析
圖3給出了圖2系統模型中3個輸出OUT1,OUT2,OUT3的波形。由圖3可見,OUT2的頻率是OUT1的1/2,而OUT3的頻率是OUT2的1/2。這表明,OUT3的頻率分辨率最高,OUT2次之,OUT1最低。由此可得出,有著相同地址輸入的ROM,在存儲空間大小相同情況下,存儲正弦波區間越小,輸出正弦信號的頻率分辨率越高,即輸出精度越高。所以,用相同的ROM,當存儲1/4周期正弦信號時,合成的正弦信號有著較高的精度。
圖3 DDS輸出波形
3 信號源的FPGA實現
Matlab/Simulink對設計好的DDS系統進行編譯,通過調用DSP Builder的SignalCompiler工具可直接生成QuartusⅡ的工程文件,再調用QuartusⅡ完成綜合、網表生成和適配,直至完成FPGA的配置下載過程。
[JP2]本設計方案采用的FPGA芯片是APEX20K系列器件EP20K200FC484。所得結果中的數字輸出可以輸出到SRAM芯片中,然后上載到計算機進行數字信號分析,模擬輸出則通過HP示波器測試。圖4給出了用QuartusⅡ的仿真結果。圖中,clock為系統時鐘,sclrp為高電平復位信號,PWORD,FWORD,AWORD的值分別設為十進制數0,9000000和50。仿真得到的3個輸出OUT1,OUT2和OUT3與Matlab/Simulink中的仿真結果在相位、頻率和幅度上基本一致。實驗表明,利用FPGA所計設的DDS在滿足性能的條件下,節約了芯片資源,提高了輸出的精度。[JP]
圖4 QuartusⅡ仿真時序圖
4 結 語
本文介紹了一種改進了的基于DSP Builder的正弦信號發生器設計方法,應用APEX20K系列FPGA芯片實現。繼承了傳統DDS設計中調頻、調相迅速的優點,同時,采用了查找表壓縮方案,使芯片在節約資源的基礎上達到了較高的輸出精度。[LL]
參 考 文 獻
[1][JP2]Sutherland D A,Strauch R A,Wharfield S S.CMOS/SOS Frequency Synthesizer LSI Circuit for Spectrum Communications [J].IEEE Solid State Circuit,1984,19(8):497-505.[JP]
[2]潘松,黃繼業.EDA技術與VHDL\\[M\\].2版.北京:清華大學出版社,2007.
[3]張厥勝,曹麗娜.鎖相與頻率合成技術 [M].成都:電子科技大學出版社,1995.
作者簡介
楊應瓊 男,1983年出生,碩士研究生。主要研究方向為實時信號處理。
李 明 男,1964年出生,教授,博士生導師。目前主要從事雷達系統設計、雷達信號處理與檢測、高速實時信號處理等方向的研究。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。