基于DSP Builder的正弦信號源優(yōu)化設計
實現信號源常用的方法是頻率合成法,其中直接數字頻率合成法是繼直接頻率合成法和間接頻率合成法之后,隨著電子技術迅速發(fā)展的第三代頻率合成技術。DDS是一種全數字技術,它從相位概念出發(fā)直接合成所需頻率,它具有頻率轉換時間短,頻率分辨率高,相位變化連續(xù),低相位噪聲和低漂移,易于集成、調整、實現正交輸出等優(yōu)點。近年來,DDS技術在頻率合成、通信、雷達、電子對抗、儀器測試等領域均有廣泛的應用。目前專用的DDS芯片產生的信號波形、功能和控制方式固定,常不能滿足具體需要。現場可編程門陣列(FPGA)器件具有規(guī)模大、工作速度快及可編程的硬件特點,并且開發(fā)周期短,易于升級,因此非常適用于實現DDS。
l DDS的基本原理
DDS的結構由相位累加器,相位調制器,波形存儲ROM和D/A轉換器組成,是Tierney,Rader和Gold于1971年提出。一個正弦信號發(fā)成器結構圖如圖1所示。相位累加器是整個DDS的核心,完成相位累加運算,它輸入的是相位增量B△θ。相位累加器每溢出一次,就代表輸出ROM內的一個完整波形。相位調制器接收相位累加器的相位輸出。加上一個相位偏移量,用于信號的相位調制。正弦ROM查找表完成相位到幅度的轉換,它的輸入是相位調制器的輸出,也就是ROM的地址。
fo為輸出頻率,fo的值由fclk和B△θ共同決定:fo=fclk×B△θ/2N。根據Nyquist采樣定律,最高的輸出頻率是時鐘頻率的一半,即fo=fclk/2。實際應用中,一般取fo≤40%fclk。DDS的頻率分辨率△f用頻率輸入值步進一個最小間隔對應的頻率輸出變化量來衡量,即△f=fclk/2N(默認情況下,ROM存儲整個周期信號波形)??梢?,△f越小,DDS輸出精度越高。
2 DDS精度改進方案
ROM查找表實際上是一個存儲了正弦信號抽樣點幅度編碼的只讀存儲器,將輸入的序列轉換為正弦信號的幅度編碼。ROM查找表地址位數M越靠近相位累加器的位數N,相位尋址時舍去的位數就越小,相位舍位誤差也就越小,但ROM表的大小會隨地址位數M的增加成指數遞增關系。因此,為了使用較小的ROM而滿足信號性能,必須采用優(yōu)化方法壓縮ROM。
2.1 正弦波特點
已知正弦波存在下面的關系:
可見,[π,2π]區(qū)間的波形可以通過[0,π]區(qū)間波形轉化得到。進一步,由于[O,π/2]和[π/2,π]區(qū)間波形關于α=π/2對稱,則[π/2,π],[π,3π/2],[3π/2,2π]三個區(qū)間波形都可以通過[0,π/2]區(qū)間的波形轉化得到。
2.2 基于DSP Builder的ROM優(yōu)化方案
從上面對正弦波特點的分析可得出,查找表ROM中只存儲[O,π]或[0,π/2]區(qū)間的波形就可得完整周期的正弦信號。這樣就有效地利用了ROM存儲完間,提高了存儲效率。對于ROM中存儲[O,π]區(qū)間波形的情況,可以利用相位調制器輸出的最高位作為符號位,將正弦波合成到[0,2π]區(qū)間。而對于ROM中存儲[0,π/2]區(qū)間波形的情形,利用相位調制器輸出的次高位判斷象限,將正弦波合成到[O,π]區(qū)間;最高位作為符號位,將正弦波合成到[0,2π]區(qū)間。圖2給出了ROM中存儲[O,2π],[0,π],[O,π/2]區(qū)間波形時,用DSP Builder實現正弦信號發(fā)生器的系統(tǒng)模型。
其中,PWORD為相位字輸入,其值設置為O;FWORD為頻率字輸入,其值設置為9000000;AWORD為幅度控制輸入,其值設置為50;adder為相位累加器;adderl為相位調制器。LUTl,LUT2,LUT3分別為存儲[O,2 π],[O,π],[0,π/2]區(qū)間正弦信號的具有相同存儲空間的ROM,它們模塊參數“MATLAB Array”分別設置為:
另外,需注意的是,子系統(tǒng)controller的作用是,判斷象限,將LUT3中正弦波合成到[0,π]范圍。
2.3 仿真分析
圖3給出了圖2系統(tǒng)模型中3個輸出OUTl,OUT2,OUT3的波形。由圖3可見,OUT2的頻率是OUTl的1/2,而OUT3的頻率是OUT2的1/2。這表明,OUT3的頻率分辨率最高,0UT2次之,OUTl最低。由此可得出,有著相同地址輸入的ROM,在存儲空間大小相同情況下,存儲正弦波區(qū)間越小,輸出正弦信號的頻率分辨率越高,即輸出精度越高。所以,用相同的ROM,當存儲1/4周期正弦信號時,合成的正弦信號有著較高的精度。
3 信號源的FPGA實現
Matlab/Simulink對設計好的DDS系統(tǒng)進行編譯,通過調用DSP Builder的SignalCompiler工具可直接生成QuartusⅡ的工程文件,再調用QuartusⅡ完成綜合、網表生成和適配,直至完成FPGA的配置下載過程。
本設計方案采用的FPGA芯片是APEX20K系列器件EP20K200FC484。所得結果中的數字輸出可以輸出到SRAM芯片中,然后上載到計算機進行數字信號分析,模擬輸出則通過HP示波器測試。圖4給出了用QuartusII的仿真結果。圖中,clock為系統(tǒng)時鐘,sclrp為高電平復位信號,PWORD,FWORD,AWORD的值分別設為十進制數0,9000000和50。仿真得到的3個輸出OUTl,OUT2和OUT3與Matlab/Simulink中的仿真結果在相位、頻率和幅度上基本一致。實驗表明,利用FPGA所計設的DDS在滿足性能的條件下,節(jié)約了芯片資源,提高了輸出的精度。
4 結語
本文介紹了一種改進了的基于DSP Builder的正弦信號發(fā)生器設計方法,應用APEX20K系列FPGA芯片實現。繼承了傳統(tǒng)DDS設計中調頻、調相迅速的優(yōu)點,同時,采用了查找表壓縮方案,使芯片在節(jié)約資源的基礎上達到了較高的輸出精度。
評論