我們從Analog 的“不完美”中學(xué)會(huì)了什么?
在儀器儀表系統(tǒng)中,常常需要將檢測(cè)到的連續(xù)變化的模擬量如:溫度、壓力、流量、速度、光強(qiáng)等轉(zhuǎn)變成離散的數(shù)字量,才能輸入到計(jì)算機(jī)中進(jìn)行處理。這些模擬量經(jīng)過傳感器轉(zhuǎn)變成電信號(hào)(一般為電壓信號(hào)),經(jīng)過放大器放大后,就需要經(jīng)過一定的處理變成數(shù)字量。實(shí)現(xiàn)模擬量到數(shù)字量轉(zhuǎn)變的設(shè)備通常稱為模數(shù)轉(zhuǎn)換器(ADC),簡(jiǎn)稱A/D。
自然界產(chǎn)生的各種信號(hào),都是模擬信號(hào),比如人們說話的聲音,眼睛看到的景色,身體感受到的溫度、濕度、壓力、流速、光、電、風(fēng)以及每個(gè)人的呼吸、血壓、體溫、心跳、體重、血糖,體脂等等,都是一個(gè)連續(xù)的量。而對(duì)于連續(xù)信號(hào),我們必須有一個(gè)通用的標(biāo)準(zhǔn)去測(cè)量它們,這樣就出現(xiàn)了尺子,溫度計(jì)等。這些測(cè)量工具通過把現(xiàn)實(shí)生活中的連續(xù)信號(hào)轉(zhuǎn)換成了離散信號(hào),給了我們一個(gè)數(shù)據(jù),用以比較兩者的關(guān)系。這些模擬信號(hào)最終都需要放在電腦、手機(jī)等數(shù)字領(lǐng)域設(shè)備進(jìn)行處理、存儲(chǔ)或者傳輸,那么如何把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)呢?這就需要一個(gè)轉(zhuǎn)換器芯片,它就是芯片界的翹楚—ADC!ADC (模擬數(shù)字轉(zhuǎn)換器)是連接模擬世界和數(shù)字世界的關(guān)鍵接口。它的核心作用就是把模擬世界的連續(xù)信號(hào),轉(zhuǎn)換成數(shù)字世界的離散信號(hào),然后讓計(jì)算機(jī)處理。因此是連接到現(xiàn)實(shí)世界的任何電子系統(tǒng)的基本部件。它們也是決定系統(tǒng)性能的關(guān)鍵因素。
在傳感器輸入/輸出的模擬世界中,如果您能夠始終如一地實(shí)現(xiàn) 0.1% 的性能(我將在此處使用該術(shù)語(yǔ)作為精度、分辨率和可重復(fù)性的組合),那么您的狀態(tài)就相當(dāng)不錯(cuò)了。
等一下:這只是千分之一,或 10 位,當(dāng)它與 16 至 24 位轉(zhuǎn)換器以及處理 32 位或更多位的處理器一起使用時(shí),這似乎非常粗糙。我可以理解處理器需要更多位,以最大限度地減少各種累積誤差,這些誤差將在重復(fù)計(jì)算步驟中累積。但是模擬方面呢?
現(xiàn)實(shí)情況是,當(dāng)您對(duì)從傳感器到 A/D 轉(zhuǎn)換器的整個(gè)過程進(jìn)行適當(dāng)?shù)恼`差預(yù)算時(shí),考慮到各種模擬信號(hào)鏈組件、噪聲、溫度系數(shù)和時(shí)間漂移、偏置電流以及其他因素,0.1% 大約是你會(huì)得到什么。當(dāng)然,如果你修整信號(hào)通道,并校準(zhǔn)它,你會(huì)做得更好;事實(shí)上,如果您在各種條件和工作點(diǎn)(電壓、溫度)下對(duì)其進(jìn)行校準(zhǔn),您可能會(huì)降低到 0.05%(11 位)甚至 0.025%(12 位)。真的很難做得比這更好,而且很少需要。
看到現(xiàn)實(shí)世界的性能與系統(tǒng)中假定的可用位數(shù)之間的差距,教會(huì)我退后一步并考慮后續(xù)分析。我學(xué)會(huì)問的最重要的問題是:“這個(gè)數(shù)據(jù)/答案/分析有意義嗎?還是根本就沒有意義?” 我學(xué)會(huì)了對(duì)獲得的數(shù)據(jù)和分析保持謙虛和懷疑,因?yàn)楹苋菀妆槐砻嫔系木_所包裹,以至于你錯(cuò)過了更大的圖景,以至于有些事情不太對(duì)勁。
我們都知道算法的首字母縮寫詞 GIGO,是“garbage in, garbage out”的縮寫。但是對(duì)于 GIGO 有一個(gè)很少提及的替代解釋,即“垃圾進(jìn),金出”。換句話說,如果結(jié)果說某事如此這般,那么它一定是這樣——你怎么能懷疑呢?
許多年前,我有一位導(dǎo)師對(duì)我們的告誡很簡(jiǎn)單:“在你計(jì)算之前,停下來思考一下?!? 他堅(jiān)持我們首先要使用合理的近似值,大致確定合理答案和結(jié)論的范圍。他要我們做他所謂的“信封背面”計(jì)算,他非常堅(jiān)持,我什至用信封做了一個(gè)特殊的“堵嘴”墊,以證明我所做的確實(shí)就是這樣一個(gè)快速粗略的計(jì)算。
這個(gè)定制的墊子完全由信封制成,作為一個(gè)明顯的提醒,提醒人們進(jìn)行粗略計(jì)算作為對(duì)精確結(jié)果的初步“完整性檢查”的重要性。我使用這個(gè)定制的“信封背面”墊來提醒我,有時(shí)候我需要先做一個(gè)粗略的計(jì)算。
你是否曾經(jīng)無意中被別人的過分精確誤導(dǎo),當(dāng)他們完全錯(cuò)誤而不是大致正確時(shí)?更糟糕的是,您是否曾經(jīng)通過跳到精確但具有誤導(dǎo)性的結(jié)論來自欺欺人?