摘 要:主要介紹了直接數(shù)字頻率合成器的原理和特點,研究了用DSP Builder實現(xiàn)正弦信號發(fā)生器的設(shè)計方法,繼承了傳統(tǒng)DDS信號源調(diào)頻、調(diào)相迅速的優(yōu)點,給出了查找表壓縮優(yōu)化方法。并應(yīng)用Altera公司推出的DSP Builder和QuartusⅡ進(jìn)行了仿真實現(xiàn)。實際結(jié)果表明,此設(shè)計方法在節(jié)約芯片資源的基礎(chǔ)上達(dá)到了較高了精度。
關(guān)鍵詞:正弦信號源;直接數(shù)字頻率合成;壓縮存儲查找表;現(xiàn)場可編程門陣列
中圖分類號:TN911 文獻(xiàn)標(biāo)識碼: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
實現(xiàn)信號源常用的方法是頻率合成法,其中直接數(shù)字頻率合成法是繼直接頻率合成法和間接頻率合成法之后,隨著電子技術(shù)迅速發(fā)展的第三代頻率合成技術(shù)。DDS是一種全數(shù)字技術(shù),它從相位概念出發(fā)直接合成所需頻率,它具有頻率轉(zhuǎn)換時間短,頻率分辨率高,相位變化連續(xù),低相位噪聲和低漂移,易于集成、調(diào)整、實現(xiàn)正交輸出等優(yōu)點。近年來,DDS技術(shù)在頻率合成、通信、雷達(dá)、電子對抗、儀器測試等領(lǐng)域均有廣泛的應(yīng)用。目前專用的DDS芯片產(chǎn)生的信號波形、功能和控制方式固定,常不能滿足具體需要?,F(xiàn)場可編程門陣列(FPGA)器件具有規(guī)模大、工作速度快及可編程的硬件特點,并且開發(fā)周期短,易于升級,因此非常適用于實現(xiàn)DDS。
1 DDS的基本原理
DDS的結(jié)構(gòu)由相位累加器,相位調(diào)制器,波形存儲ROM和D/A轉(zhuǎn)換器組成,是Tierney,Rader和Gold于1971年提出[1]。一個正弦信號發(fā)成器結(jié)構(gòu)圖如圖1所示。
相位累加器是整個DDS的核心,完成相位累加運算,它輸入的是相位增量BΔθ。相位累加器每溢出一次,就代表輸出ROM內(nèi)的一個完整波形。相位調(diào)制器接收相位累加器的相位輸出,加上一個相位偏移量,用于信號的相位調(diào)制。正弦ROM查找表完成相位到幅度的轉(zhuǎn)換,它的輸入是相位調(diào)制器的輸出,也就是ROM的地址。
圖1 DDS結(jié)構(gòu)圖
fo為輸出頻率,fo的值由fclk和BΔθ共同決定:fo=fclk×BΔθ/2N。根據(jù)Nyquist采樣定律,最高的輸出頻率是時鐘頻率的一半,即fo=fclk/2。實際應(yīng)用中,一般取fo≤40%fclk。DDS的頻率分辨率Δf用頻率輸入值步進(jìn)一個最小間隔對應(yīng)的頻率輸出變化量來衡量,即Δf=fclk/2N \\[2\\](默認(rèn)情況下,ROM存儲整個周期信號波形)??梢?,Δf越小,DDS輸出精度越高。
2 DDS精度改進(jìn)方案
ROM查找表實際上是一個存儲了正弦信號抽樣點幅度編碼的只讀存儲器,將輸入的序列轉(zhuǎn)換為正弦信號的幅度編碼。ROM查找表地址位數(shù)M越靠近相位累加器的位數(shù)N,相位尋址時舍去的位數(shù)就越小,相位舍位誤差也就越小,但ROM表的大小會隨地址位數(shù)M的增加成指數(shù)遞增關(guān)系[3]。因此,為了使用較小的ROM而滿足信號性能,必須采用優(yōu)化方法壓縮ROM。
2.1 正弦波特點
已知正弦波存在下面的關(guān)系:
sin(α+π)=-sin α
sin(π-α)=sin α
可見,\\[π,2π\(zhòng)\]區(qū)間的波形可以通過\\[0,π\(zhòng)\]區(qū)間波形轉(zhuǎn)化得到。進(jìn)一步,由于[0,π/2]和[π/2,π]區(qū)間波形關(guān)于α=π/2對稱,則[π/2,π],[π,3π/2],[3π/2,2π]三個區(qū)間波形都可以通過[0,π/2]區(qū)間的波形轉(zhuǎn)化得到。
2.2 基于DSP Builder的ROM優(yōu)化方案
從上面對正弦波特點的分析可得出,查找表ROM中只存儲\\[0,π\(zhòng)\]或[0,π/2]區(qū)間的波形就可得完整周期的正弦信號。這樣就有效地利用了ROM存儲完間,提高了存儲效率。對于ROM中存儲[0,π]區(qū)間波形的情況,可以利用相位調(diào)制器輸出的最高位作為符號位,將正弦波合成到[0,2π]區(qū)間。而對于ROM中存儲[0,π/2]區(qū)間波形的情形,利用相位調(diào)制器輸出的次高位判斷象限,將正弦波合成到[0,π]區(qū)間;最高位作為符號位,將正弦波合成到[0,2π]區(qū)間。圖2給出了ROM中存儲[0,2π],[0,π],[0,π/2]區(qū)間波形時,用DSP Builder實現(xiàn)正弦信號發(fā)生器的系統(tǒng)模型。
圖2 具有不同ROM的正弦信號發(fā)生器系統(tǒng)模型
其中,PWORD為相位字輸入,其值設(shè)置為0;FWORD為頻率字輸入,其值設(shè)置為9000000;AWORD為幅度控制輸入,其值設(shè)置為50;adder為相位累加器;adder1為相位調(diào)制器。LUT1,LUT2,LUT3分別為存儲[0,2π],[0,π],[0,π/2]區(qū)間正弦信號的具有相同存儲空間的ROM,它們模塊參數(shù)“MATLAB Array”分別設(shè)置為:
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])
另外,需注意的是,子系統(tǒng)controller的作用是,判斷象限,將LUT3中正弦波合成到[0,π]范圍。
2.3 仿真分析
圖3給出了圖2系統(tǒng)模型中3個輸出OUT1,OUT2,OUT3的波形。由圖3可見,OUT2的頻率是OUT1的1/2,而OUT3的頻率是OUT2的1/2。這表明,OUT3的頻率分辨率最高,OUT2次之,OUT1最低。由此可得出,有著相同地址輸入的ROM,在存儲空間大小相同情況下,存儲正弦波區(qū)間越小,輸出正弦信號的頻率分辨率越高,即輸出精度越高。所以,用相同的ROM,當(dāng)存儲1/4周期正弦信號時,合成的正弦信號有著較高的精度。
圖3 DDS輸出波形
3 信號源的FPGA實現(xiàn)
Matlab/Simulink對設(shè)計好的DDS系統(tǒng)進(jìn)行編譯,通過調(diào)用DSP Builder的SignalCompiler工具可直接生成QuartusⅡ的工程文件,再調(diào)用QuartusⅡ完成綜合、網(wǎng)表生成和適配,直至完成FPGA的配置下載過程。
[JP2]本設(shè)計方案采用的FPGA芯片是APEX20K系列器件EP20K200FC484。所得結(jié)果中的數(shù)字輸出可以輸出到SRAM芯片中,然后上載到計算機(jī)進(jìn)行數(shù)字信號分析,模擬輸出則通過HP示波器測試。圖4給出了用QuartusⅡ的仿真結(jié)果。圖中,clock為系統(tǒng)時鐘,sclrp為高電平復(fù)位信號,PWORD,F(xiàn)WORD,AWORD的值分別設(shè)為十進(jìn)制數(shù)0,9000000和50。仿真得到的3個輸出OUT1,OUT2和OUT3與Matlab/Simulink中的仿真結(jié)果在相位、頻率和幅度上基本一致。實驗表明,利用FPGA所計設(shè)的DDS在滿足性能的條件下,節(jié)約了芯片資源,提高了輸出的精度。[JP]
圖4 QuartusⅡ仿真時序圖
4 結(jié) 語
本文介紹了一種改進(jìn)了的基于DSP Builder的正弦信號發(fā)生器設(shè)計方法,應(yīng)用APEX20K系列FPGA芯片實現(xiàn)。繼承了傳統(tǒng)DDS設(shè)計中調(diào)頻、調(diào)相迅速的優(yōu)點,同時,采用了查找表壓縮方案,使芯片在節(jié)約資源的基礎(chǔ)上達(dá)到了較高的輸出精度。[LL]
參 考 文 獻(xiàn)
[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]潘松,黃繼業(yè).EDA技術(shù)與VHDL\\[M\\].2版.北京:清華大學(xué)出版社,2007.
[3]張厥勝,曹麗娜.鎖相與頻率合成技術(shù) [M].成都:電子科技大學(xué)出版社,1995.
作者簡介
楊應(yīng)瓊 男,1983年出生,碩士研究生。主要研究方向為實時信號處理。
李 明 男,1964年出生,教授,博士生導(dǎo)師。目前主要從事雷達(dá)系統(tǒng)設(shè)計、雷達(dá)信號處理與檢測、高速實時信號處理等方向的研究。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。