細(xì)說模擬信號(hào)采樣與AD轉(zhuǎn)換
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 著名的Nyquist采樣定理
盡管大家都知道,但還是提一提。大牛奧本海姆的《信號(hào)與系統(tǒng)》中是這樣描述的:
Let x(t) be a band-limited signal with X(jw) = 0 for |w|> wM. Then x(t) is uniquely determined by its samples x(nT),n=1,±1,±2,...,if
ws > 2wM where ws = 2 pi/T.Given these samples, we can reconstruct x(t) by generating a periodic impluse train in which successive impluse have amplitudes that are successive sample values. This impluse train is then processed through an ideal lowpass filter with gain T and cutoff frequency greater than wM and less than ws-wM. The resulting output signal will exactly equal x(t).
來捋一捋,幾個(gè)點(diǎn):
- 帶寬有限(band-limited)
- 采樣頻率大于2倍信號(hào)最高頻率后可以無失真的恢復(fù)出原始信號(hào)
實(shí)際中,信號(hào)往往是無線帶寬的,如何保證帶寬有限?所以,我們?cè)?strong>模擬信號(hào)輸入端要加一個(gè)低通濾波器,使信號(hào)變成帶寬有限,再使用2.5~3倍的最高信號(hào)頻率進(jìn)行采樣。關(guān)于此我們下面將模擬數(shù)字轉(zhuǎn)換過程將會(huì)看到。
雖說是不能小于等于2倍,但選2倍是不是很好呢,理論上,選擇的采樣頻率越高,越能無失真的恢復(fù)原信號(hào),但采樣頻率越高,對(duì)后端數(shù)字系統(tǒng)的處理速度和存儲(chǔ)要求也就越高,因此要選擇一個(gè)折中的值。
如果后端數(shù)字信號(hào)處理中的窗口選擇過窄,采樣率太高,在一個(gè)窗口內(nèi)很難容納甚至信號(hào)的一個(gè)周期,這從某方面使得信號(hào)無法辨識(shí)。比如,數(shù)字信號(hào)處理的窗口大小為1024個(gè)點(diǎn),采樣率為50KHz,則窗口最多容納1024*(1/50KHz)=20.48ms的信號(hào)長(zhǎng)度,若信號(hào)的一個(gè)周期為30ms>20.48ms,這就使得數(shù)字信號(hào)的處理窗口沒法容納一個(gè)周期信號(hào),解決的辦法就是在滿足要求的前提下使用減小采樣率或增加窗口長(zhǎng)度。
2 模數(shù)轉(zhuǎn)換
記得有一次參加中科院計(jì)算所的實(shí)習(xí)筆試,里面就有這么一道題:模擬信號(hào)轉(zhuǎn)換到數(shù)字信號(hào)要經(jīng)歷哪兩個(gè)步驟?還好,早有準(zhǔn)備,立刻填上了采樣和量化。我們下面就來詳細(xì)分析下這兩個(gè)過程,但在分析之前,我們先給出一張整個(gè)過程的流圖,您可以先想想為什么需要各模塊。
程控放大器
我們實(shí)際中的模擬信號(hào)都是通過傳感器采集進(jìn)來的,做過單片機(jī)的人應(yīng)該熟知DS18B20溫度傳感器,不好意思,那是數(shù)字傳感器,也就是說人家做傳感器的時(shí)候把AD轉(zhuǎn)換也放到傳感器里面了。但這并不是普遍的情況,因?yàn)闇囟攘渴悄M信號(hào)中最容易測(cè)量的量了,而大多數(shù)的傳感器并沒有集成AD轉(zhuǎn)換過程,如大多數(shù)的加速度傳感器、震動(dòng)傳感器、聲音傳感器、電子羅盤,甚至有的GPS(別懵了,GPS也算是一種傳感器哦)等,都是模擬輸出的。而且由于物理制作的原因,傳感器返回的電信號(hào)非常微小,一般在幾mV(如果是電流,也一般在幾mA),這么微弱的信號(hào),如果經(jīng)過導(dǎo)線或電纜傳輸很容易就湮滅在噪聲中。因此,我們常常見到模擬傳感器的輸出線都會(huì)使用套上一層塑膠的線,叫屏蔽線(如圖)。
屏蔽線只能保證在信號(hào)傳輸?shù)较到y(tǒng)之前受到的干擾最小,但信號(hào)仍要經(jīng)過處理才能為數(shù)字系統(tǒng)使用。在模擬信號(hào)(尤其是高頻信號(hào))的輸入端首先要使用低噪聲放大器對(duì)信號(hào)進(jìn)行放大,這個(gè)放大器有特殊的要求,一定是低噪聲,我們已經(jīng)知道,模擬信號(hào)信號(hào)已經(jīng)非常微弱,如果放大器還存在一定的噪聲,在噪聲疊加之后放大出來的信號(hào)可能已經(jīng)不再是原信號(hào)了。既然說到低噪聲,那么低噪聲是如何衡量的呢?這可以通過放大器噪聲系數(shù)(NF)來定,
噪聲系數(shù)定義為放大器輸入信號(hào)與輸出信號(hào)的信噪比。其物理含義是:信號(hào)通過放大器之后,由于放大器產(chǎn)生噪聲,使信噪比變壞;信噪比下降的倍數(shù)就是噪聲系數(shù)。噪聲系數(shù)通常用dB表示,
實(shí)際中除了考慮低噪聲系數(shù)外,還要考慮放大器的帶寬和頻率范圍以及最重要的放大增益。由于輸入信號(hào)的強(qiáng)度可能時(shí)變,采用程序可控(程控)的放大增益保證信號(hào)能達(dá)到滿度而又不會(huì)出現(xiàn)飽和(實(shí)際中要做到這一點(diǎn)還是很難的)。
低通濾波器
在Nyquist采樣定理中已經(jīng)提過,要滿足采樣定理必須要求信號(hào)帶寬有限,使用大于2倍的最高信號(hào)頻率采樣才能保證信號(hào)的不混疊。低通濾波器的一個(gè)考慮就是使信號(hào)帶寬有限,以便于后期的信號(hào)采樣,這個(gè)低通濾波器是硬件實(shí)現(xiàn)的。另一方面,實(shí)際情況中我們也只會(huì)對(duì)某個(gè)頻頻段的信號(hào)感興趣,低通濾波器的另一個(gè)考慮就是濾波得到感興趣的信號(hào)。比如,測(cè)量汽車聲音信號(hào),其頻率大部分在5KHz以下,我們則可以設(shè)置低通濾波器的截止頻率在7KHz左右。
程控的實(shí)現(xiàn)方法就是使用模擬通道選擇芯片(如74VHC4051等)。
NOTES:
有關(guān)濾波與程控的電路設(shè)計(jì)請(qǐng)參考文獻(xiàn)[1].
在采樣之前的所有電路實(shí)現(xiàn)方案叫信號(hào)調(diào)理電路。這樣,我們就可以根據(jù)這個(gè)詞到處Google/Baidu文獻(xiàn)了。
采樣及采樣保持
采樣貌似有一套完整的理論,就是《數(shù)字信號(hào)處理》書中的一堆公式推導(dǎo),我們這里當(dāng)然不會(huì)那么去說。其實(shí)采樣最核心的問題就是采樣率選擇的問題。
- 根據(jù)實(shí)際,選擇頻率分辨率df
- 選擇做DFT得點(diǎn)數(shù)N,因?yàn)镈FT時(shí)域點(diǎn)數(shù)和變換后頻域點(diǎn)數(shù)相同,則采樣率可確定,F(xiàn)s=N*df
- Fs是否滿足Nyquist的采樣定理?是,OK,否則增加點(diǎn)數(shù)N,重新計(jì)算2。
我們希望df越小越好,但實(shí)際上,df越小,N越大,計(jì)算量和存儲(chǔ)量隨之增大。一般取N為為2的整數(shù)次冪,不足則在尾端補(bǔ)0。
這里給出我的一個(gè)選擇Fs的方案流程圖,僅供參考。
采樣后還有一個(gè)重要的操作是采樣保持(S/H)操作,采樣脈沖采樣后無法立刻量化,這個(gè)過程要等待很短的一個(gè)時(shí)間,硬件上一般0.幾個(gè)us,等待量化器的量化。
注意,在量化之前,所有的信號(hào)都是模擬信號(hào),模擬信號(hào)就有很多干擾的問題需要考慮,這里只是從總體上給出我對(duì)整個(gè)過程的理解。更多細(xì)化的方案還需要根據(jù)實(shí)際信號(hào)進(jìn)行研究。
量化
我們可以先直觀的看一下量化的過程,
量化有個(gè)關(guān)鍵的參數(shù),叫量化位數(shù),在所有的AD轉(zhuǎn)換芯片(如AD7606)上都能看到這個(gè)關(guān)鍵的參數(shù),常見的有8bit,10bit,12bits,16bit和24bit。
如上圖,以AD7606為例,AD7606是16bit的AD芯片,量化位數(shù)指用16bit來表示連續(xù)信號(hào)的幅值。因此,考慮AD的測(cè)量范圍(AD7606有兩種:±5V和±10V),則AD分辨率是
±5V: (5V-(-5V)) / (2^16) = 152 uV
±10V: (10V-(-10V)) / (2^16) = 305 uV
量化位數(shù)越高,AD分辨率越高,習(xí)慣上,AD分辨率用常用LSB標(biāo)示。
因此,AD7606中對(duì)于某個(gè)輸入模擬電壓值,因?yàn)榇嬖谡?fù)電壓,若以0V為中間電壓值,范圍為±5V時(shí)AD轉(zhuǎn)換電壓可計(jì)算為
AD7606若使用內(nèi)部參考電壓,Vref=2.5V。哦對(duì)了,這又出現(xiàn)個(gè)參考電壓。參考電壓與AD量化的實(shí)現(xiàn)方式有關(guān),從速度上分串行和并行,串行包括逐次逼近型,并行方式包括并行比較式,如下圖(左:串行,右:并行)。AD7606是使用逐次逼近型的方式。
AD轉(zhuǎn)換芯片另外兩個(gè)重要參數(shù)是轉(zhuǎn)換時(shí)間(轉(zhuǎn)換速率)。并行AD的轉(zhuǎn)換速率比串行的要高。但并行比較的方式中電阻的精度對(duì)量化有影響。
接著,我們還將介紹一個(gè)重要的概念:量化噪聲。量化噪聲對(duì)應(yīng)量化信噪比,
SNRq = (6.02N + 4.77) dB
其中N為量化位數(shù),且不去管這個(gè)公式是怎么得到的(詳細(xì)推導(dǎo)可參考文獻(xiàn)[2]),對(duì)于
N=12, SNRq ≈ 70dB
N=16, SNRq ≈ 94dB
從中可以看出:每增加1bit量化位數(shù),SNRq將提高6.02dB,在設(shè)計(jì)過程中,如果對(duì)方有信噪比的要求,則在ADC選型時(shí)就要選擇合適位數(shù)的ADC芯片。
明顯的,并不是量化位數(shù)越高越好,量化位數(shù)的提高將對(duì)成本、轉(zhuǎn)換速度、存儲(chǔ)空間與數(shù)據(jù)吞吐量等眾多方面提出更高的要求。同時(shí),我們盡量提高量化噪聲的前提是信號(hào)的SNR已經(jīng)比較低了,如果信號(hào)的SNR比量化噪聲還高,努力提高量化噪聲將是舍本求末的做法。
到最后,給點(diǎn)福利吧,下面是我參考AD7606數(shù)據(jù)手冊(cè)設(shè)計(jì)的原理圖,經(jīng)過實(shí)踐檢驗(yàn)可用: