虛擬儀器的高精度波形發(fā)生器
摘要:一種用于虛擬儀器的高精度數字式的波形發(fā)生器。采用了折線近似逼近方法和三角分解實現方法,給出了硬件電路結構。
本文引用地址:http://www.biyoush.com/article/255626.htm關鍵詞:虛擬儀器 波形發(fā)生器 函數發(fā)生器 折線近似 三角分解 乘法DAC
隨著計算機軟硬件技術的迅速發(fā)展,20世紀90年代以來出現的虛擬儀器技術正日益成為現代電子測試儀器的主流?;赑C總線的虛擬儀器的出現,使得使用者可以按自己的需要設計和構建各種測試分析儀器和系統(tǒng)。現代電子測試儀器進入了使用者也能設計、開發(fā)和構建的個人儀器時代。
虛擬儀器的通用硬件模塊主要有:高速數據采集卡、信號發(fā)生卡和邏輯分析采集卡等。本文主要討論虛擬儀器信號發(fā)生卡中(任意)波形產生的技術。
采用數字方法或計算機技術逼近任意波形的原理如下:DAC將數據發(fā)生器送出的數據轉換為模擬信號(電池或電壓),掃描頻率發(fā)生器控制數據發(fā)生器送出數據的步長。數據發(fā)生器大致分為兩類:存儲式和實時運算式。存儲式是將預先計算的波形采樣數據放在存儲器中,這種方式適用于周期性的或者預定的波形發(fā)生,可以達到很高的重復頻率。實時運算式則由計算機或微處理器實時計算波形采樣數據,這種方式適用于非周期性的或者無法預定的波形發(fā)生。掃描頻率發(fā)生器通常用數字鎖相環(huán)或者數字頻率合成器構成。
所產生的模擬波形的失真度主要取決于逼近波形的方法、數據點步長(掃描頻率、采樣周期或數據點密度)、數據的分辨率(DAC的分辨率)。
改善產生波形的失真度的一個途徑是采用高階的波形逼近方法。本文主要介紹采用折線近似逼近任意波形的方法(一階波形逼近方法)及其實現。
1 折線近似逼近任意波形方法的原理
連續(xù)的時間函數f(t)可以用函數空間的基函數的線性組合逼近:
函數空間的基函數選為自然基組{1,t,t 2,…},則有:
采用計算機技術實現連續(xù)時間函數f(t)的逼近時,采用等間隔T(等采樣周期)給出數據點的方法,即:
實現時,在(3)式中只能取有限項來逼近。實際上,階梯波逼近方法只取了零次項,即:
fo(t)→f(t),f0(t)=f(k),kT≤t(k+1)T (4)
近線近似逼近方法取了零次項和一次項,即:
f1(t)→f1(t),f1=f(k)+[f(k+1)-f(k)/T](t-kT),
kT≤t(k+1)T (5)
因此階梯波逼近方法可以稱為零階逼近方法,折線近似逼近方法可以和為一階逼近方法。當然還可以構造二階、三階逼近方法,達到更高的精度和失真度。但是高階逼近方法需要更復雜的電路結構,實現起來也更困難。
從原理從,一階逼近方法比零階逼近方法有更好的精度和失真度,如圖2所示。顯然,用折線f1(1)逼近所需波形f(t)比用階梯波f0(t)逼近所需波形有更好的失真度。但折線f1(t)不能直接實現,常用的方法是分解為矩形和斜坡(對應(5)式中的零次項和一次項)f10(t)和f11(t),分別由階梯波發(fā)生器和鋸齒波發(fā)生器產生,再合成為折線逼近波形f1(t)。這種方法在每一時鐘分點(采樣點)需要兩個數據,實際電路中容易在采樣點出現波形銜接間斷的現象。
曾經提出過一種如圖3所示的鋸齒分解方法來實現折線逼近波形,將每一采樣周期的波形分解為兩個直角三角形(鋸齒波),分別由兩個齒波發(fā)生器產生再合成為折線逼近波形。由于需要其中一個鋸齒波發(fā)生器產生倒鋸齒波,涉及到積分器的初值問題,電路實現存在困難。這種方法至今未見實際應用。
本文提出一種新的三角分解和實現方法來實現任意波形的折線近似逼近。該方法簡述如下:首先用等距分點的折線逼近所需波形,將每一采樣周期內的梯形分解為兩個三解形;然后用兩個峰值分別為所需波形奇數分點值和偶數分點值的三角波f11(t)和f12(t)疊加形成折線逼近波形f1(t)。兩個三角波分別由數字式三角波發(fā)生器產生。由于在每一時間分點上只需輸入一個新數據,因此該方法即可用于存儲式數字波形發(fā)生器又可用于實時運算式數字式波形發(fā)生器。由圖4可見該方法的正確性,本文不再作繁瑣的數字推導和證明了。
該方法具有以下明顯的優(yōu)點:
(1)數據量小,每一時間分點只需一個數據。矩形一斜坡法則需要兩個數據。
(2)數字噪聲小,一般無需后接濾波器。
2 折線近似逼近任意波形的實現
本文實現折線近似逼近的波形發(fā)生器電路結構如圖5所示。圖5中DAC1、OP1、CMP1與CMP2、RS觸發(fā)器、模擬開關MS1構成一個可編程重復頻率的等幅三角波發(fā)生器,所產生的等幅三角波(幅度為VREF)與經倒相器OP2產生的倒相等幅三角波分別供給DAC3和DAC2作為參考電壓。波形發(fā)生器的采樣頻率是等幅三角波重復頻率的兩倍,DAC1的編程數據就是波形發(fā)生器的采樣頻率數據,RS觸發(fā)器產生的同頻率方波供給時序邏輯控制單元作為參考信號以產生波形發(fā)生器所需要的各個控制脈沖。乘法DAC3和DAC2(Multiplying DAC)分別產生前述的奇數分點值三角波和偶數分點值三角波,輸出三角波的幅值由其編程數據決定,它們分別在奇數采樣點和偶數采樣點更新編程數據。兩三角波經加法器OP3疊加后形成所需波形。輸出波形的幅度最終由后接數字編程增益放大器(DPGA)(圖中未畫出)的編程數據決定。
圖5中DAC3和DAC2采用兩級數據鎖存以減小采樣時刻數據轉換所產生的數字噪聲。
波形發(fā)生器的實現應當注意一個重要問題:時間比例尺設置和幅度比例尺設置的獨立性和分離性,即二者的設置(或編程)應當不相關聯(lián)。階梯波逼近方法中不存在這個問題,而在折線近似逼近方法中,由于產生波形在兩個采樣數據點間的幅度與實際時間相關(見(5)式),需要采用比較特殊的電路解決這個問題。本文折線近似逼年的電路比較好解決了時間比例尺和幅度比例尺設置(編程)的獨立性問題。時間比例尺由DAC1的編程數據決定。幅度比例尺由后接數字編程增益放大器的編程數據決定。DAC3和DAC2的編程數據只依賴于所需波形的標化數據(波形各采樣點幅值的相對比值),而與時間比例尺和幅度比例尺無關。加法器輸出的合成波形是標化波形。
本文提出的采用新的三角分解方法實現任意波形的折線近似逼近及其電路結構已在所研制的虛擬儀器通用信號發(fā)生卡中得到應用。樣機測試結果表明,基于該方法的波形發(fā)生器具有較高的精度和良好的噪聲性能。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論