"); //-->
本文將探討資料轉換器(data converter)在製造商所提供的技術資料(datasheet)中,所提及的規格意義,並說明在使用資料轉換器設計產品時,需考慮的事項。其中包含會改變裝置的理想功能成為實際特性的錯誤來源。
理想的轉換函數
理論上,類比/數位轉換器(ADC)的理想轉換函數是一條直線,然而,實際上,理想轉換函數是一個有規律特性的階梯,如圖1所示;理論上,類比/數位轉換器(DAC)的理想轉換函數也是一條含有無限個階梯的直線,但實際上,卻是一連串落在理想直條上的點,如圖2所示。
圖1 ADC轉換函數
圖2 DAC轉換函數
類比/數位轉換器
理想的類比/數位轉換器(ADC)能奇特地使用有限的數位輸出碼,代表在特定的範圍內之所有類比輸入訊號。如圖1中所示,每一個數位碼代表著類比輸入的全部範圍中的一部分。因為類比範圍是連續的,當數位碼不連續(或稱作離散,discrete)時,就會在量化過程中產生誤差。當不連續的數位碼之數目增加時,則相對應的階梯寬度變得愈小,並且轉換函數會逼近理想的直條。此階梯被設計成具有瞬間效應,就好像每一個階梯的中點對應到理想直線上的一個點。
每一個階梯寬度被定義為一個最小有效位元(LSB),在資料轉換器的規格中,這是一個常被其它數量使用的參考單位,而且,它也是轉換器的一種解析度測量單位,因為它定義出分量(division)或類比範圍的單位。因此,1/2 LSB表示一個類比量等於半個類比解析度。
ADC的解析度通常是以數位輸出碼之位元數量表示。例如:n位元解析度的ADC,具有2n個可能的數位碼,也就是定義為2n階層。但是,因為第一階(零階)和最後一階,只有全寬度的一半,所以,標度的全部範圍(full-scale range;FSR)被區分為2n-1個階寬。因此,1 LSB = FSR/(2n-1),是對一個n位元的轉換器而言。
數位/類比轉換器
數位/類比轉換器(DAC)是以相對應的一串不連續之類比輸出值,來表示一個固定數量的一串不連續之數位輸入碼,所以,DAC的轉換函數是一連串不連續的點,如圖2所示。對一個DAC而言,1 LSB相當於類比連續輸出之間的一個階梯高度,其數值的定義方法與ADC相同。DAC可以被視為「數位控制式電位計(potentiometer)」,其輸出是由數位輸入碼決定的所有類比輸出電壓的一部分。
靜態誤差來源
靜態誤差(static error)就是當在轉換靜態(DC)訊號時,影響轉換器精確度的誤差。此靜態誤差可被四個項式完整地描述出來,它們是:偏移誤差(offset error)、增益誤差(gain error)、積分非線性(integral nonlinearity)和微分非線性(differential nonlinearity)。每一個誤差可用LSB為單位表示或有時可用FSR的百分比表示。例如:一個8位元轉換器的1/2 LSB誤差相當於FSR的0.2%
偏移誤差
如圖3所示,偏移誤差之定義為名義上的偏移點與實際上的偏移點之間的差。對ADC而言,偏移點是當數位輸出為0時之階梯中間值(midstep value);對DAC而言,偏移點是當數位輸入為0的階梯值。此誤差是以相同的數量改變所有的數位碼,通常能夠藉由一個修整過程(trimming process)獲得補償。假使無法修整,此錯誤就是「零標度錯誤(zero-scale error)」。
圖3 偏移誤差
增益誤差
如圖4所示,增益誤差之定義為當偏移誤差被修正為零以後,在轉換函數上,名義上的增益點與實際上的增益點之間的差。就ADC而言,當數位輸出為標度的全部(full scale)時,增益點為階梯中間值;對DAC而言,當數位輸入為標度的全部時,增益點為階梯值。此誤差表示出,實際的轉換函數和理想的轉換函數在斜率上的差異,並且對應到每一個階梯上的相同百分比誤差(percentage error),通常這個誤差能藉由修整調整至零。
圖4 增益誤差
微分非線性誤差
如圖5所示(有時被視為簡化的微分線性),對ADC而言,微分非線性誤差(differential nonlinearity(DNL)error)是指一個實際的階梯寬度和理想的1 LSB階梯寬度之間的差;對DAC而言,它是指一個實際的階梯高度和理想的1 LSB階梯高度之間的差。因此,若階梯寬度或高度正好是1 LSB,則微分非線性誤差就等於零,倘若DNL大於1 LSB,則轉換器有可能成為非單調(nonmonotonic)函數。這表示當輸入的振幅增加時,輸出的振幅會變小,ADC也有可能會遺失數位碼,亦即在2n個二進制碼中,可能有一個或更多個數位碼無法被輸出。
圖5 微分非線性誤差
積分非線性誤差
如圖6所示(有時被視為簡化的線性錯誤),積分非線性誤差(integral nonlinearity(INL) error)是實際的轉換函數與理想直線之間的偏差值。這條直線也許是能夠降低這些偏差值的最佳直線;或者是連接轉換函數首尾兩端點的直線,當增益誤差和偏移誤差被消除時。第二個方法稱之為端點線性(end-point linearity),是經常被採用的定義,因為它可以更直接地被驗證。
圖6 積分非線性誤差
對ADC而言,偏差值是從一個階梯轉換到下一個階梯的瞬間被測得;對DAC而言,偏差值則是在每一個階梯上被測得。「積分非線性」的名稱來自於一個事實,即從底層到上層一個特定階梯的微分非線性之總和,可以決定在那特定階梯上的積分非線性的值。
絕對準確值(總和)誤差
如圖7所示,ADC絕對準確值誤差(absolute accuracy(total) error)或總和誤差是類比值和理想的階梯中間值之間的最大差值。這包括偏移誤差、增益誤差、積分線性誤差和ADC的量化誤差(quantization error)。
圖7 絕對準確值誤差
孔徑誤差
如圖8所示,孔徑誤差(aperture error)是因為從取樣模式(sample mode)到保存模式(hold mode) 的取樣(sample)/保存(hold)時間不確定所致。這個變動是因為時脈的雜訊或輸入訊號所引起的。孔徑誤差所產生的效應是對輸入正弦波(sine wave)的最大頻率(maximum frequency)設定了另一個限制,因為它對輸入訊號定義了最大的迴轉率(maximum slew rate)。一輸入正弦波,其輸入V值是被定義為:
圖8 孔徑誤差
最大迴轉率發生在零交叉點(zero crossing point),表示成:
假使孔徑誤差不會影響轉換器的準確值(accuracy),則在最大迴轉率這一點上,孔徑誤差必須小於1/2 LSB。因此對n位元的轉換器而言:
代入上式:
所以最大頻率如下:
量化效應
在現實世界裡,ADC的類比輸入是一個具有無限多個可能狀態的連續訊號,然而數位輸出天生就是一個不連續的函數,它具有許多不同狀態,這些狀態是由ADC的解析度決定的。由此得知,從一個形式轉換成另一個形式(form)時,類比訊號的某些部分,之前由輸入端的不同電壓來代表,轉換成現在由輸出端的相同數位碼來表示。部分資訊已經遺失,而且訊號已經失真。這就是量化雜訊(quantization noise)。
對ADC的理想型階梯轉換函數而言,假使輸入訊號是隨機的,實際輸入與其本身的數位形式之間的誤差,具有平均分佈(uniform)的機率密度函數(probability density function)之特性。它的變動範圍在±1/2 LSB或者±q/2,而q是一個階梯的寬度,如圖9所示。
圖9 量化效應
誤差在第j個階梯:
Ej=(Vj-Vl)
否則p(ε)=0
在一個階梯上,誤差的平均雜訊功率(noise power,是一個均方值(mean square))的公式如下:
整個轉換區域的均方誤差(mean square error)N2,是每個量化等級的均方與和其相關的機率相乘之總和。假設轉換器是理想的,每一個數位碼階梯的寬度是相同的,所以會有相同的機率。故此理想實例的公式為:
設振幅為A的輸入正弦波(sine wave)F(t),F(t)=Asinωt,有一個均方值F2(t)
,這是訊號功率。因此訊雜比(Signal to Noise Rate;SNR)的公式如下:
但是,
將q代入,
這是n位元轉換器的理想值,並顯示出每多1位元的解析度,SNR大約可提高6dB。其實,在前面提及的非線性誤差會降低這個值。1/2 LSB微分線性誤差(differential linearity error)的最壞狀況是會遺失數位碼,這等同於降低了1位元的解析度,因此SNR也降低了6dB。對一個具有1/2 LSB線性誤差的n位元轉換器而言,最壞情況下的SNR值是:
SNR(最壞情況) = 6.02n+1.76-6 = 6.02n-4.24 dB
因此,我們已經為轉換器的解析度之選擇原則,根據所需的SNR等級,建立起邊界條件(boundary conditions)。
理想的取樣
將連續的時間訊號轉換成不連續的(discrete)數位形式,這就是取樣作業,它是基本且必須的過程。在理想的情況下,取樣作業是利用一連串的脈衝(impulses)完成的,它們的時脈週期非常短,但是具有固定的單位大小。兩脈衝之間的時間的倒數稱之為取樣率,透過真正的頻寬限制,輸入訊號被理想化。在它的頻譜上,高出某頻率以上,就不包含任何成份(compoment),見圖十。
圖10 理想的取樣
理想的取樣條件可以在頻域(frequency domain)和時域(time domains)上表示出來。時域取樣的效應是會產生調幅的脈衝串,表示輸入訊號在取樣時的值。在頻域裡,脈衝串的頻譜是一連串不連續的頻率,這些頻率值是取樣率的倍數。取樣作業是利用脈衝串在輸入訊號的頻譜上做迴旋運算(convolution),產生組合的頻譜。其結果是,雙邊頻帶(double sidebands)圍繞著每一個由調幅產生的不連續頻率,其效應是,部分高頻會折返(fold back),因此它們會在低頻處產生干擾。這種干擾會造成失真(distortion),稱之為「假頻 (aliasing)」。
假使輸入訊號的頻帶限制是F1,取樣頻率是Fs,如圖10所示,重疊(overlap)和假頻不會發生的條件是:
f1< fs - f1 亦即,2f1 < fs
所以,取樣頻率必須比輸入訊號裡的最大頻率的兩倍還要大,才不會產生假頻,而且所有訊號資訊都能被取出。這就是所謂的「Nyquist取樣理論」,此理論為取樣率的選擇提供了準則,取樣率是轉換器在處理一個具特定頻寬的輸入訊號時所必須的要件。
實際的取樣
脈衝的概念對簡化取樣分析是非常有用的。然而,它是學理上的理想,我們可以盡量追求它,但實際上是無法達到的,相反的,實際訊號是一連串的脈波,其週期(period)等於取樣頻率的倒數。對這一連串脈波做取樣的結果是一連串的調幅波(amplitude modulated pulses),見圖11。
圖11 實際的取樣
觀察方波(square wave)的頻譜,會發現一連串的不連續頻率,它們類似脈衝串(impulses train),但是這些頻率的振幅,是由(sin x)/x(有時寫成sinc(x))定義的「封套(envelope)」去調變的,此處x是πfs。振幅為A的方波,其頻譜上的「封套」之定義如下:
封套
由此得到的誤差結果,可以被一個對sinc封套做補償的濾波器(filter)所控制。它可以是一個數位濾波器,使用數位訊號處理器(DSP)來實現;或使用傳統的類比技術來實現。
假頻效應
沒有一個訊號是屬於真正的可決定性(deterministic)信號,因此實際上任一訊號都具有無限頻寬。然而,屬於高頻成份的頻率愈高時,其能量就愈少,因此當能量小到某一個值時,是可以被忽略的。能夠被考量到特定數值變得互不相干,這個值是一種選擇,系統設計者必須決定。
如圖12所示,假頻的量是受到取樣頻率、輸入訊號的頻寬和必須的濾波所影響,最後是由系統的解析度來決定有多少假頻能被容許。若此系統的解析度較低,則其雜訊基準(noise floor)已相對地高,且假頻不具影響力。然而,在高解析度的系統中,假頻會使雜訊基準大幅地增加,因此假頻必須被完全控制。
圖12 假頻效應
防止假頻產生的唯一方法,就是增加取樣率,如圖12所示。但是,頻率受到轉換器類型的限制,同時也被數位處理器傳收數據的最大時脈率(clock rate)限制。因此,為了降低假頻的影響,使其在可接受的範圍之內,必須使用類比濾波器來改變輸入訊號的頻譜,詳見圖12
濾波器的選擇
與前面介紹的取樣作業一樣,濾波器的選擇也包含一個理想的解決方案和一個實際的折衷實現方案。理想的濾波器就是所謂的「磚牆濾波器(brickwall filter)」,它在帶通區域(passband),沒有訊號衰減(attenuation);接著在截通區域(stopband),頻率立即截止,訊號無限制地衰減。實際上,在帶通區域,濾波器會引起訊號衰減,它有一個有限的下降率(rolloff),會將部分頻率帶往截通區域,且會引起相位失真和振幅失真。濾波器的次元(order)和類型的選擇,取決於能否滿足系統的需求
濾波器的類型
為了比較,將適合設計者使用的濾波器之基本類型簡單地介紹於後:
Butterworth濾波器
Butterworth(最平坦)濾波器是最常見的通用型濾波器。此濾波器有一個固定的帶通區域(passband),當訊號衰減至3-dB,此處稱作自然頻率(natural frequency)。不管濾波器的次元是多少,此頻率都是固定的,但是,若增加濾波器的次元,帶通區域裡的下降率(roll off)將會更接近自然頻率,而且在自然頻率和截通區域之間的轉換區域裡的下降率也會變得更陡峭(sharper)。
Chebyshev濾波器
Chebyshev均波濾波器(equal ripple filter)將下降率分散到整個帶通區域。它雖然會在帶通區域帶來更多的紋波(ripple),但可以在轉換區域提供一個更陡峭的下降率。這種濾波器具有較差的瞬間響應(transient response)和步階響應(step response),因為它在各濾波階段(stages)的Q值比較高。
反向Chebyshev濾波器
Butterworth和Chebyshev兩個濾波器在轉換區域和截通區域是單調的(monotonic)。因為紋波被允許可以在截通區域存在,這使得下降率可能會更陡峭。這是反向Chebyshev濾波器的原理,是根據Chebyshev濾波響應的角頻率(angular frequency)之倒數而來。此濾波器在帶通區域是單調的,而且比Butterworth濾波器更平坦,比Chebyshev濾波器提供更大的初始下降率。
Cauer濾波器
Cauer(橢圓,Elliptic)濾波器在帶通區域和截通區域裡是非單調的,但在任何標準的濾波組態(configuration)中,提供最大的下降率。
Bessel-Thomson濾波器
以上所提到的所有類型,都會將非線性帶到輸入頻譜的不同頻率間之相位關係中。當訊號被重組時,會對一些應用造成問題。Bessel-Thomson濾波器或線性延遲濾波器(linear delay filter)是為了不產生相位失真而設計的,但這會犧牲掉振幅響應。
一般而言,上述所有類型的濾波器性能,可以藉由增加階段(stages)的數目來提昇,亦即增加濾波器的次元(級數,order)。當然如此做的缺點是會增加元件的成本,且電路板需要較大的空間,因為這個原因,使用一種整合方案----利用切換式電容濾波器建構方塊(building blocks),可以提供與利用離散元件構成的方案一樣好的性能,其合適的工作頻率範圍是從大約1kHz到100kHz,這也為設計者帶來一個輕巧且成本效益高的方案
反假頻(Anti-Aliasing)Butterworth濾波器
反假頻第四次元Butterworth濾波器具有下列的特點:
‧時脈對截止頻率(cutoff frequency)的誤差低......0.8%
‧只根據外部時脈的穩定性來截止
‧截止範圍在0.1Hz至30kHz之間
‧工作電壓是5-V至12-V
‧自供時脈,或與TTL和COS兩者相容。
如先前敘述的Butterworth濾波器,一般而言,它可以為濾波器組態提供最佳的折衷方案,並且是目前最容易設計的濾波器。Butterworth濾波器的特性是以一個圓為根據,當設計濾波器時,所有濾波階段都具有相同的自然頻率,如此能簡化濾波器的設計工作。現代大部分使用運算放大器(operational amplifier)來設計的電路,是植基於以一連串的第二次元分子和分母階段(一個Biquad階段)來建構全部的轉換函數。當使用這些階段,可以簡化Butterworth濾波器的設計,因為每一個階段都具有相同的自然頻率,這可以很容易地被轉換成「切換式電容濾波器(switched capacitor filter;SCF)」。SCF具有非常好的電容匹配(capacitor matching)特性和精準的合成式RC時間常數(constant)。
切換電容技術(switched capacitor technique)如圖13之說明。兩個時脈在相同的頻率下運作,但是彼此相位相反,C2交替地與運算放大器的輸入端及反相輸入(inverting input)端連結。在Φ1期間,流往電容的電荷Q等於VIC2。假設切換開關是理想的,因此沒有串聯電阻和電容的瞬間充電。在Φ2期間,開關改變方向,所以C2現在連接到運算放大器輸入端的虛擬(virtual)接地上,它會瞬間放電,釋放之前所儲存的電荷Q。
圖13 反假頻Butterworth濾波器
平均電流I****是依據時脈T的頻率而定,公式如下:
所以,切換電容器看起來像是一個電阻:
此技術的優點是積分器(integrator)的時間常數是可程式化的(programmmable),這是藉由改變這個等效電阻值而達到;而且只要簡單地改變時脈頻率,就可以改變此等效電阻值。這決定了濾波器設計的精確度,因為時間常數是根據兩電容的比率而定的,而這兩個電容可以用矽製造,兩者緊密地跟隨著電壓和溫度的變化。此分析是假設VI為常數,因此對一個交流訊號而言,時脈頻率必須比輸入頻率高出許多。
反假頻Butterworth濾波器是一個可內部設定,支援Butterworth低通濾波響應的元件,它的截止頻率是由一個數位時脈控制。截止頻率可以簡單地以時脈頻率設定,所以時脈對截止頻率的比率是50:1,準確度為0.8%,這能夠使濾波器的截止頻率與取樣率一致,因此,對整個系統而言,只需要一個基本的時脈訊號。SCF技術的另一個優點是,只要使用一個晶片,就可以完成第四次元濾波器,而且更容易控制它們。
一個n次元Butterworth濾波器的響應是以下列方程式表示:
下列表列出利用反假頻Butterworth技術實現第四次元濾波器的數值:
FREQUENCY |
ATTENUATION(FACTOR) |
ATTENUATION(dB) |
PHASE(DEGREE) |
FC/2 |
0.998 |
0.02 |
26.6 |
FC |
0.707 |
3 |
45 |
2FC |
0.0624 |
24 |
63.4 |
4FC |
0.00391 |
48 |
76 |
8FC |
0.000244 |
72 |
82.9 |
12FC |
0.000048 |
86 |
85.2 |
16FC |
0.000015 |
96 |
86.4 |
上表的意思是,在8倍於截止頻率的頻率(8Fc)上取樣時,輸入訊號對假頻訊號的比值是72dB,比10位元的量化雜訊失真來的小
結語
使用運算放大器來連結ADC或DAC時,將會遇到許多問題。因此必須審慎選擇運算放大器和其它配合元件,以求得最佳的系統性能。這需要考慮:頻寬、解析度、類比式輸入驅動電路、電源供應。本文只談論與ADC和DAC規格相關之內容,下回有機會筆者將針對資料轉換用的運算放大器之選擇策略做進一步探討
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。