[導(dǎo)讀] ?生活環(huán)境周?chē)?a target="_blank">信號(hào)萬(wàn)萬(wàn)千,對(duì)于一個(gè)嵌入式er。我們利用技術(shù)去了解世界、改變世界。而一個(gè)產(chǎn)品要與外界物理環(huán)境打交道,一個(gè)至關(guān)重要的觸角就是采樣真實(shí)模擬世界的信號(hào),翻譯成芯片可理解的數(shù)字信號(hào),進(jìn)而實(shí)現(xiàn)很多為人服務(wù)的應(yīng)用產(chǎn)品。那么提到采樣,ADC技術(shù)你繞不開(kāi),今天總結(jié)分享一下ADC的點(diǎn)點(diǎn)滴滴。
啥是ADC
在現(xiàn)代電子工業(yè)技術(shù)中,模數(shù)轉(zhuǎn)換器(ADC, A/D,或A-to-D)是一種將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的系統(tǒng)。ADC還可以提供隔離的測(cè)量,例如將輸入模擬電壓或電流轉(zhuǎn)換為表示電壓或電流大小的數(shù)字的電子設(shè)備。通常情況下,數(shù)字輸出是一個(gè)與輸入成比例的二進(jìn)制補(bǔ)碼,但也有其他的可能性。舉些栗子:
KTV中麥克風(fēng)將你唱歌的聲音轉(zhuǎn)成數(shù)字音頻信號(hào),經(jīng)由信號(hào)處理,功放再播放出來(lái)
數(shù)碼相機(jī)將物體表面反射的光線(xiàn)轉(zhuǎn)換為數(shù)字信號(hào),從而成像
疫情期間必用物資額溫槍?zhuān)瑢⑷梭w紅外輻射經(jīng)由光電轉(zhuǎn)換成電壓,最終轉(zhuǎn)換為數(shù)字信號(hào)進(jìn)行溫度顯示
.......舉不勝舉。
ADC將連續(xù)時(shí)間和連續(xù)幅度的模擬信號(hào)轉(zhuǎn)換為離散時(shí)間和離散幅度的數(shù)字信號(hào)。轉(zhuǎn)換涉及輸入的量化,因此必然會(huì)引入少量的誤差或噪聲。此外,ADC不會(huì)連續(xù)執(zhí)行轉(zhuǎn)換,而是定期進(jìn)行轉(zhuǎn)換,對(duì)輸入進(jìn)行采樣,從而限制了輸入信號(hào)的允許帶寬。
ADC的性能主要由其帶寬和信噪比(SNR)來(lái)表征。
ADC帶寬?(Band width):ADC的帶寬主要由其采樣率來(lái)表征。
ADC的SNR:SNR(signal noise ratio)是指信噪比,受許多因素影響,包括分辨率,線(xiàn)性度和準(zhǔn)確性(量化級(jí)別與真實(shí)模擬信號(hào)的匹配程度),混疊和抖動(dòng)。ADC的SNR通常以其有效位數(shù)( effective number of bits:ENOB),它返回的每個(gè)度量的位數(shù)平均來(lái)表示,而不是噪聲。理想的ADC的ENOB等于其分辨率。
故,選擇ADC以匹配待數(shù)字化信號(hào)的帶寬和所需的SNR。如果ADC的采樣率大于信號(hào)帶寬的兩倍,那么根據(jù)Nyquist–Shannon采樣定理,就可以實(shí)現(xiàn)完美的重構(gòu)。量化誤差的存在甚至限制了理想ADC的SNR。但是,如果ADC的SNR超過(guò)輸入信號(hào)的SNR,則其影響可能會(huì)被忽略,從而導(dǎo)致模擬輸入信號(hào)的本質(zhì)上是完美的數(shù)字表示。
整這么多文字還是不直觀易懂,到底啥是ADC,來(lái)個(gè)會(huì)動(dòng)的圖吧:
須理解的指標(biāo)
分辨率
ADC看成一個(gè)黑匣子,基本的有一個(gè)模擬輸入及其等效數(shù)字輸出。下圖 所示示例為一個(gè)N位ADC。N通常是6到24之間的任何值,常見(jiàn)的是8、10、12或16位。參考電壓可能為單端電壓,也可能為一個(gè)~,是一個(gè)正負(fù)電壓參考源。
輸入是一個(gè)模擬電壓,范圍從0到參考電壓,參考電壓取決于實(shí)際ADC及外圍電路。?假設(shè)使用N位,則可能有個(gè)可能的數(shù)字輸出值,則1位表示的值為。在很多書(shū)上也稱(chēng)這個(gè)指標(biāo)為L(zhǎng)SB(Least Significant Bit)。
這便是分辨率的概念。模數(shù)轉(zhuǎn)換器的分辨率表示在模擬值范圍內(nèi)它可以產(chǎn)生的離散值的數(shù)量。該分辨率決定了量化誤差的大小,因此決定了不使用過(guò)采樣的理想ADC的最大平均信噪比。
舉個(gè)栗子,如果給定ADC的最大輸入值為5.0V,而ADC為10位類(lèi)型,則每一位表示。這個(gè)ADC的分辨率,或者說(shuō)量化步長(zhǎng),是4.89 mV。這是它的絕對(duì)理論分辨率。在這種特殊情況下,信號(hào)的分辨率不能高于。這個(gè)極限稱(chēng)為量化誤差,所有的ADC,即使是完美的ADC,都有一定程度的量化誤差,具體取決于ADC的分辨率。分辨率的數(shù)學(xué)定義為:
其中及為ADC的參考電壓,M為ADC的量化位數(shù)??梢?jiàn)M越大,Q數(shù)值越小,分辨率越高。
這個(gè)公式簡(jiǎn)單解讀:就是將參考電壓按照進(jìn)行等分,比如10位ADC,就是將參考電壓等分成1024份,輸入電壓與參考電壓之比乘以1024,即為ADC的值。故
量化誤差
量化誤差是由理想ADC中的量化過(guò)程產(chǎn)生的。由于ADC的模擬輸入電壓與輸出數(shù)字化值之間的存在舍入誤差。?在理想的ADC中,量化誤差均勻地分布在和之間,并且信號(hào)具有覆蓋所有量化水平的均勻分布,因此信號(hào)量化噪聲比SQNR(Signal-to-quantization-noise ratio)定義為:
其中,M為ADC的位數(shù),M位數(shù)越大或越高,SQNR也越大。
精度
量化誤差和非線(xiàn)性是模數(shù)轉(zhuǎn)換器所固有的誤差指標(biāo)。用最低有效位(LSB)的單位進(jìn)行度量。比如一個(gè)10位ADC,LSB為。
非線(xiàn)性度
實(shí)際使用的ADC除了上面說(shuō)的量化誤差外,還具有更多的誤差源:
差分非線(xiàn)性誤差DNL(Differential Non-Linearity):當(dāng)ADC輸出在應(yīng)該改變的時(shí)候沒(méi)有改變,就會(huì)出現(xiàn)DNL誤差。例如,假設(shè)給定輸入的當(dāng)前輸出代碼是01101100,并且輸入值增加了半步量化。代碼應(yīng)該是01101100 + 1位,或者01101101。當(dāng)輸入電壓低于當(dāng)前輸入電壓時(shí),也會(huì)發(fā)生相反的情況。此時(shí)由于種種原因,這種情況可能不會(huì)發(fā)生。在本例中,ADC的誤差為±1位DNL。
積分非線(xiàn)性誤差I(lǐng)NL(Integral Non-Linearity):如果量化水平在整個(gè)輸入范圍內(nèi)分布不均勻,就會(huì)出現(xiàn)INL誤差。例如,某ADC具有12位(4096個(gè)計(jì)數(shù))分辨率和4.096V的參考電壓。每個(gè)比特?cái)?shù)正好表示輸入電壓變化的1.000mV,因此,輸入電壓為4096 mV,輸出電壓為1111 1111 1111,即0xFFF。對(duì)于某些adc,輸入4095mV,甚至4094mV,仍然會(huì)得到0xFFF的數(shù)字輸出。實(shí)際情況是,在整個(gè)輸入范圍內(nèi),1位的值發(fā)生了非常微小的變化,比如1.001mV或0.999mV。積累的誤差會(huì)導(dǎo)致一個(gè)或兩個(gè)比特精度的全量程誤差。
在為特定應(yīng)用指定ADC時(shí)必須考慮這些因素。
所有ADC都存在由其物理缺陷引起的非線(xiàn)性誤差,導(dǎo)致其輸出偏離其輸入的線(xiàn)性函數(shù)(或其他函數(shù),在故意使用非線(xiàn)性ADC的情況下)。這些誤差有時(shí)可以通過(guò)校準(zhǔn)來(lái)減輕,或通過(guò)測(cè)試來(lái)避免。所謂校準(zhǔn),比如可以通過(guò)量點(diǎn)線(xiàn)性校準(zhǔn),假定y為ADC數(shù)值,x為輸入模擬電壓:
其中:
應(yīng)用實(shí)施策略:將上述k/b,利用兩個(gè)點(diǎn)進(jìn)行校準(zhǔn),將校準(zhǔn)數(shù)據(jù)k/b存儲(chǔ)在非易失存儲(chǔ)器中。補(bǔ)充說(shuō)一下:工程實(shí)踐中需要校準(zhǔn)的原因還因?yàn)檫x取的外圍電阻、電容器件都有誤差,所以這也是另一個(gè)需要標(biāo)定的重要原因。
采樣率
模擬信號(hào)在時(shí)間上是連續(xù)的,因此有必要將其轉(zhuǎn)換為數(shù)字序列,這是數(shù)字信號(hào)處理的基礎(chǔ)。因此,需要定義從模擬信號(hào)中采樣數(shù)字序列的速率。該速率稱(chēng)為轉(zhuǎn)換器的采樣率或采樣頻率。可以采樣連續(xù)變化的帶限信號(hào),然后可以通過(guò)重構(gòu)濾波器從離散時(shí)間值中再現(xiàn)原始信號(hào)。奈奎斯特-香農(nóng)采樣定理表明,只有當(dāng)采樣率高于信號(hào)最高頻率的兩倍時(shí),才可以忠實(shí)再現(xiàn)原始信號(hào)。個(gè)人在使用時(shí),一般會(huì)選4倍以上。
由于實(shí)際的ADC不能進(jìn)行瞬時(shí)轉(zhuǎn)換,因此在轉(zhuǎn)換器執(zhí)行轉(zhuǎn)換期間(稱(chēng)為轉(zhuǎn)換時(shí)間)輸入值必須保持恒定。一個(gè)被稱(chēng)為采樣保持電路——在大多數(shù)情況下,它使用一個(gè)電容來(lái)存儲(chǔ)輸入端的模擬電壓,并使用一個(gè)電子開(kāi)關(guān)或柵極來(lái)斷開(kāi)電容與輸入端的連接。許多ADC集成電路包括內(nèi)部的采樣保持電路模塊。圖中的T為采樣周期,其倒數(shù)就是采樣頻率。
混疊
ADC通過(guò)在不連續(xù)時(shí)間間隔(離散的含義)內(nèi)對(duì)輸入值進(jìn)行采樣來(lái)工作。假設(shè)以高于奈奎斯特速率的頻率對(duì)輸入進(jìn)行采樣(定義為有用信號(hào)頻率的兩倍),則可以重構(gòu)信號(hào)中的所有頻率。如果對(duì)高于奈奎斯特速率一半的頻率進(jìn)行采樣,則會(huì)將它們錯(cuò)誤地檢測(cè)為較低頻率,這一過(guò)程稱(chēng)為混疊。之所以會(huì)出現(xiàn)混淆,是因?yàn)槊總€(gè)周期對(duì)函數(shù)進(jìn)行兩次或兩次以下的瞬時(shí)采樣會(huì)導(dǎo)致丟失周期,從而出現(xiàn)頻率錯(cuò)誤地降低的情況。例如,以1.5 kHz采樣的2 kHz正弦波將重構(gòu)為500 Hz正弦波。
為了避免混疊,ADC的輸入必須經(jīng)過(guò)硬件低通濾波,最簡(jiǎn)單的實(shí)現(xiàn)形式為一階無(wú)源RC濾波網(wǎng)絡(luò),以去除采樣率一半以上的頻率。這種濾波器被稱(chēng)為抗混疊濾波器,它對(duì)于實(shí)際的ADC系統(tǒng)至關(guān)重要,該系統(tǒng)適用于具有更高頻率內(nèi)容的模擬信號(hào)。在需要防止混疊的應(yīng)用程序中,可以使用過(guò)采樣來(lái)大大減少甚至消除混疊。
例如:六種不同采樣速率采集的數(shù)字序列重建的4種波形。其中兩種波形在采樣率足夠情況下未出現(xiàn)混疊。另外兩個(gè)說(shuō)明了在較低速率下會(huì)失真(混疊增加)。
過(guò)采樣
為了經(jīng)濟(jì)起見(jiàn),通常以所需的最小速率對(duì)信號(hào)進(jìn)行采樣,結(jié)果是引入的量化誤差是白噪聲在轉(zhuǎn)換器整個(gè)通帶上的擴(kuò)散。如果以遠(yuǎn)高于奈奎斯特速率的速率采樣信號(hào),然后進(jìn)行數(shù)字濾波以將其限制為信號(hào)帶寬,則會(huì)產(chǎn)生以下優(yōu)點(diǎn):
過(guò)采樣可以更輕松地實(shí)現(xiàn)模擬抗混疊濾波器
降低的噪聲,尤其是在過(guò)采樣之外還采用噪聲整形處理后。
白噪聲長(zhǎng)啥樣?
過(guò)采樣通常用于音頻ADC中,與典型晶體管電路的時(shí)鐘速度(> 1 MHz)相比,所需的采樣率(通常為44.1或48 kHz)非常低。在這種情況下,可以以很少的成本或不增加成本就可以大大提高ADC的性能。此外,由于任何混疊信號(hào)通常也都在頻帶外,因此使用非常低成本的濾波器通常可以完全消除混疊。下圖比較直觀,可以看出提高采樣頻率,可以更為真實(shí)的重建原始信號(hào),而采樣頻率低些,對(duì)于信號(hào)的細(xì)部則無(wú)法準(zhǔn)確重建。
總結(jié)一下
在單片機(jī)、DSP信號(hào)處理系統(tǒng)中,我們免不了要對(duì)物理信號(hào)進(jìn)行采樣,需要運(yùn)用到模數(shù)轉(zhuǎn)換器件,模數(shù)轉(zhuǎn)換器萬(wàn)萬(wàn)千,那么要用好ADC器件,或者使用單片機(jī)、DSP內(nèi)置ADC,了解這些技術(shù)指標(biāo)以及其描述的真實(shí)含義,是非常必要的。
本文主要參考wikipedia, 加入了個(gè)人的理解,總結(jié)這個(gè)也是出于系統(tǒng)梳理知識(shí)的目的,并分享給小伙伴們,有喜歡的不妨點(diǎn)個(gè)在看,或者轉(zhuǎn)發(fā)給需要的朋友。文中如有錯(cuò)誤,也請(qǐng)聯(lián)系我指出錯(cuò)誤,不勝感激!
編輯:黃飛
評(píng)論
查看更多