鄧紅玉 童子權 蓋建新 李卓然


摘 要:傳統的方式構建多分量疊加的復雜波形時,需要較大的波形存儲容量和復雜的硬件電路設計。針對這一問題,研究了一種多分量信號的直接波形數據合成方法,該方法充分利用FPGA的硬件資源,建立了基于DDS原理的正弦波、三角波和脈沖波的基礎分量模型,可直接設置每個基礎分量的幅度、頻率、相位和脈寬,然后進行多分量波形數據直接疊加,經數模轉換后產生模擬波形。還對多分量信號直接數字合成相關誤差進行分析,并以單片FPGA為載體設計了28個正弦波分量、2個三角波分量、2個波脈沖分量的直接數字合成電路。該方法的突出優點是可由眾多分量構建復雜波形、參數設置方便、模擬電路簡單。
關鍵詞:多分量信號;直接數字合成;FPGA
DOI:10.15938/j.jhust.2018.04.011
中圖分類號: TH911.7
文獻標志碼: A
文章編號: 1007-2683(2018)04-0059-05
Abstract:With the traditional way to construct the complex waveform of multiple components, the large waveform storage capacity is needed and the design of the hardware circuit is complex. To solve this problem, in this paper, a method of direct waveform data synthesis of multicomponent signals is studied, making full use of the hardware resource of FPGA, and establishes the basic component model of sine wave, triangle wave and pulse wave based on DDS principle, which can directly set the amplitude, frequency, phase and pulse width of each base component. Then, the multicomponent waveform data is directly superimposed, and the analog waveform is generated after the digital analog conversion. Also, the relative error of direct digital synthesis of multi component signals is analyzed, and the direct digital synthesis circuit of 28 sine waves, 2 triangular wave components and 2 pulse components is designed by using single chip FPGA as the carrier. The outstanding advantages of the method are that the complex waveforms can be constructed from many components. The parameters are convenient and the analog circuit is simple.
Keywords:multicomponent signals; direct digital synthesis; FPGA
0 引 言
隨著社會的不斷發展,在通信系統、醫療及科學實驗中,多分量混合信號的應用越來越多[1],比如在通信方面的海洋探測的研究、醫療上的頻譜治療儀以及用于科學實驗的信號發生器等[2]。目前獲得多分量混合信號的方法有兩種,一種是多臺信號發生器或多個通道模擬輸出波形的疊加,另外一種方法是由任意波發生器輸出復雜波形。現在市場上單臺儀器最多能夠實現4通道波形信號輸出,如TEK公司的AWG2005,可通過外部模擬加法電路將多路信號疊加以構建復雜波形,但這種方法的體積大、功耗大,而且不易建立分量間嚴格的時序關系。現在很多電子測量儀器廠家都有任意波發生器產品,可以通過上位機軟件編程任意波形數據,再通過接口傳送給儀器,使儀器產生復雜的波形信號,但任意波發生器構建多分量信號的復雜波形,各分量的參數設置復雜[3],并且波形存儲容量大、實時性差。為彌補以上應用不足,本文研究了一種新的產生多分量混合信號的實現方法,它以基于DDS原理[4]的正弦波、三角波、脈沖波為基礎分量模型,充分利用FPGA資源,對多個分量信號進行直接數字合成,從而解決了傳統多分量信號合成面臨的諸多問題。
1 直接數字合成方法
傅里葉變換理論表明,任何復雜的信號都可以經傅里葉展開為不同頻率的正弦波的疊加,因此可以把正弦信號作為最基礎的分量波形,另一方面,三角波和脈沖波信號是常用的實驗激勵源,因此本文中約定正弦波、三角波、脈沖波作為多分量信號合成的基礎分量。以DDS原理實現的正弦波具有很多優點,其頻率、幅度、相位可以直接數字設定,其他波形也可用類似于DDS方式產生,因此本方法約定基礎分量均以DDS原理實現。
整個多分量信號的數據合成拓撲結構如圖1所示。在硬件電路中,波形幅度的數據合成在FPGA內部完成[5]。首先,多個波形數據分別經過乘法器,然后一起通過加法器完成多分量混合信號的波形幅度數據合成,最后再輸出到DAC,經轉換后變成模擬信號,從而完成波形發生。
構建復雜波形時,分量個數越多其合成的效果越理想,但是,由于 DAC的位數有限,因此,在分量合成時,為了避免截斷誤差的浪費,隨著分量個數的增多,取得的位數也要相應的增加。這里,定義DAC的位數為N位,分量個數是n。n分量進行疊加時,若分量量化位數為M,其對比DAC位數N的增加量為△,則有:
2 幅度權重優化
如表2所示為約定的任意10分量信號的各分量參數,其中10個信號分量分別為6個正弦波分量、2個三角波分量和2個脈沖波分量。約定正弦波形數據表為16k×16bit,頻率控制字為32bit,相位控制字為16bit,脈寬控制字為16bit,系統時鐘為50MHz,DAC分辨率為12bit。分別計算這10個分量的數學運算后的理論量化值與分量量化后直接數字合成值。
通過MATLAB仿真,分別對實際分量和排序優化處理后的分量進行直接數據合成,將不相等的時刻記錄下來,結果顯示二者最大誤差為1,即量子化誤差。這里僅記錄了100個時鐘周期內的二者不等的時刻,如表3所示。
由表3可知,在0到100個時鐘周期內,兩種合成波形方式的波形數據不相等的時刻只有22次,且誤差為1,實際是量化誤差,可忽略不計。
這充分說明將分量信號進行16bit寬波形數據進行合成后舍低4位數據形成的12位數據完全可以替代將混合信號用12bit數據位寬量化后的數據。從而驗證了方法的可行性。
在表述復雜信號的各個分量時,通常按頻率由小到大排序。當受硬件資源容量和DAC的位數的限制,需要對各個分量進行排序和取舍[7],這就需要對各個分量信號按幅度由大到小進行重新排序。
對于表2,10分量的波形合成后的公式為:
S(t)=∑10n=1Sn(t)
假設硬件資源只能通過8路,即DDS只有8路,對表2中的10個分量信號按照幅度大小排序,幅度從大到小排列,序號依次為4、1、10、5、2、8、3、6、9、7。舍去幅度值最小的兩個分量9和7,然后將剩余的8分量合成,即:
S′(t)=∑8n=1Sn(t)
整個計算過程是先對10分量的信號進行直接的數據合成,作為理論合成值。再重新將10路信號分量進行排序優化處理,舍棄幅度較小的2路分量,只對幅度較大的8路分量疊加,生成了新的8路分量合成值。然后對比8路分量和10路分量之間的誤差值。通過MATLAB仿真分析,如表4所示,為10個時鐘周期內的數據合成情況,由表可知,優化處理之后的合成值與全分量合成值的相對誤差小于0.1%,因此,這種通過幅度排序優化的直接數據合成方法在工程上是可行的。
3 邏輯電路實現
現在FPGA資源很多[8],單片FPGA可以實現幾十個分量信號的直接數字合成,本文約定分量個數為32,由28個正弦波分量、2個三角波分量和2個脈沖波信號組成;各分量的頻率控制字為32位,相位、幅度和脈寬控制字均為16位。
在電路設計時,以7個正弦分量波形數據疊加構成一個正弦電路模塊,以2個三角波和2個脈沖波的波形疊加構成一個非正弦電路模塊,然后4個正弦電路模塊的波形數據和一個非正弦電路模塊的波形數據再次疊加便形成整個32分量信號的波形數據。
如圖2、3、4所示,分別為正弦波、三角波、脈沖波這3種基礎分量的波形發生邏輯電路。
選取Cyclone IV代的EP4CE115F29C7N芯片來進行仿真,其邏輯電路的編譯結果如圖5所示。由于FPGA具有重構特性,可以根據實際情況構建特定的分量組合模式。
4 結 論
本文研究表明,在理論上,理論量化值與分量合成值相比,只存在數據計算的量子化誤差,可忽略不計,證明了本文提出的多分量直接數字合成方法可行;當硬件資源受限時,采取對分量的幅度排序和取舍,并進行優化處理的方法在工程上是可行的;此外,單片的FPGA的硬件資源可實現幾十個分量的波形的數據合成,在硬件上也是可行的。
參 考 文 獻:
[1] 童子權,許成鑫.基于單片CPLD的四通道任意波形發生器設計[C].中國儀器儀表學會.2009中國儀器儀表與測控技術大會論文集.中國儀器儀表學會,2009.
[2] SAZHIN S S, ELWARDANY A E, KRUTITSKII P A, et al. Multicomponent Droplet Heating and Evaporation: Numerical Simulation Versus Experimental Data[J]. International Journal of Thermal Sciences, 2011, 50(7): 1164-1180.
[3] 童子權,任麗軍,于曉洋,等.一種多分量混合信號發生器及多分量混合信號發生方法,CN103607182A[P]. 2014.
[4] 何樂生. 基于DDS算法的12導聯心電信號發生器設計[J]. 儀器儀表學報,2010(2):275-280.
[5] PENG Zhuo, DENG Yan, MA Cheng, et al. FPGA Based High Precision Sinusoidal Signal Generator[J]. Journal of Tsinghua University(Science and Technology), 2014, 54(2): 197-201.
[6] WANGRan,JIANG Yicheng. A Realization of TimeFrequency Distributions with Complexlag Argument for Multicomponent Signal[J]. Chinese Journal of Electronics 2012,40(1):60-65.
[7] 田黎育,袁一丹,李曉陽,等.基于FPGA的在線可重配置數字下變頻器的設計與實現[J].北京理工大學學報(自然科學版),2013,33(3):311-317.
[8] 靖固,楊華宇.基于FPGA+DSP實時圖像采集處理系統設計[J].哈爾濱理工大學學報,2016,21(4):40-44.
(編輯:溫澤宇)