MSP430單片機(jī)A/D過采樣率的問題
對于MSP430單片機(jī)中的A/D過采樣率的理解一直比較模糊,今天認(rèn)真的研究了一下,終于弄清楚了,
現(xiàn)在寫出來,歡迎大家前來拍磚。
===============================================================================
MSP430單片機(jī)中有很多A/D采樣模塊使用的是具有∑-△結(jié)構(gòu)的SD16或者SD16_A模塊,該模塊中具有過
采樣率(OSR,Oversampling ratio)的設(shè)置寄存器。這個(gè)寄存器不同的設(shè)置值在A/D采樣的過程中到
底會產(chǎn)生怎樣的影響呢?
在TI的手冊中我們可以知道,OSR是SINC3梳狀濾波器的一個(gè)參數(shù),首先,來學(xué)習(xí)一下梳狀濾波器。
1、 梳狀濾波器的定義:是由許多按一定頻率間隔相同排列的通帶和阻帶,只讓某些特定頻率范圍的
信號通過。梳狀濾波器其特性曲線像梳子一樣,故稱為梳狀濾波器。
2、 梳狀濾波器是一種最簡單的FIR濾波器,其單位脈沖響應(yīng)h(n)全為1,
h(n)=1 ,0≤n≤N-1;0 其它
傳輸函數(shù)的Z變換形式: H(z)=∑z^-n=(1-z^-N)/(1-z^-1) ,n=0...N-1
上式中,N為濾波器的節(jié)數(shù)。
這樣得到的濾波器阻帶衰減較小,不能滿足實(shí)際的需要。為了提高濾波器的阻帶衰減,可采用修正的
梳狀濾波器形式: H(z)=((1-z^-N)/(N*(1-z^-1)))^k
上式中,N為濾波器的節(jié)數(shù),K為濾波器的階數(shù)。引入K以后,其阻帶衰減特性成K倍增大,而且阻帶邊
緣變得更為陡峭,使濾波器的特性變得更好。
3、 在∑-△A/D轉(zhuǎn)換器中,∑-△調(diào)制器的輸出經(jīng)梳狀濾波器濾波抽取后量化噪聲的頻譜密度保持了
沒有抽取前的形式,即保持了∑-△調(diào)制器噪聲成型的頻譜特性。但采樣間隔增大的N倍(即數(shù)據(jù)率減
少了N倍),等效量化臺階減少了NK倍。若N為2的整數(shù)冪N=2m,則相當(dāng)于經(jīng)過濾波抽取后,其分辨率由
輸入的1bit變成了mK bit。
4、 梳狀濾波器的設(shè)計(jì):梳狀濾波器是一種固定形式的濾波器,它包括以下三個(gè)參數(shù)的選擇:1)單
級濾波器的節(jié)數(shù)N;2)濾波器的階數(shù)K;3)濾波器系數(shù)及運(yùn)算的有限字長。
單級濾波器的節(jié)數(shù)N:等于∑-△A/D中的第一級的抽取率。
濾波器的階數(shù)K:等于∑-△調(diào)制器的回路數(shù)。
濾波器系數(shù)及運(yùn)算的有限字長:若不計(jì)歸一化因子N-K,則濾波器系數(shù)均為正整數(shù),且∑h(n)=N^K
,n=0...N-1
因此可用
b=K*log2N=Km
位的二進(jìn)制碼來表示濾波器的系數(shù)。同時(shí),若∑-△調(diào)制器的輸出為1bit數(shù)(僅0,1兩個(gè)狀態(tài)),則
濾波器輸出 y(n)=∑h(m)x(n-m) ,m=0...N-1
顯示有 0≤y(n)≤N^K
因此上式的濾波器運(yùn)算亦可用mK位的二進(jìn)制進(jìn)行,不會出現(xiàn)截尾誤差和溢出。
綜上,可以選擇濾波器的有效字長為mK。實(shí)際這也就是梳狀濾波器輸出的有效分辨率。
現(xiàn)在我們言歸正傳。
在TI的手冊中我們可以知道,從∑-△調(diào)制器的1bit數(shù)據(jù)流通過SINC3梳狀濾波器進(jìn)行濾波。OSR是
SINC3梳狀濾波器的一個(gè)參數(shù),該濾波器的Z變換形式為: H(z)=( (1-z^-OSR)/(OSR*(1-z^-1)) )^3
對比上面的公式易知,OSR=N=2^m,K=3。
當(dāng)OSR=256=28時(shí),梳狀濾波器輸出的有效分辨率長度為: b=Klog2N=Km=3*8=24
當(dāng)OSR=1024=210時(shí),梳狀濾波器輸出的有效分辨率長度為b=3*10=30bit。
由此可見,OSR的值影響A/D采樣后的輸出結(jié)果的有效分辨率長度,即精度。因此,可以在不增加A/D
前端復(fù)雜程度的基礎(chǔ)上,通過增加OSR的值達(dá)到提高輸出精度的目的。
在SD16中,OSR的取值為{32,64,128,256},所以SD16的濾波器輸出精度最高為24bit,最低為
15bit。
在SD16_A中,OSR的值為{32,64,128,256,512,1024},所以SD16_A的濾波器輸出精度最高為
30bit。
由于SD16和SD16_A的輸出寄存器均為16bit,對于濾波器輸出精度高于16bit的,根據(jù)寄存器的設(shè)置,
截取濾波器輸出結(jié)果的16bit;濾波器輸出精度不足16bit的,根據(jù)寄存器的設(shè)置,對不足的位補(bǔ)0。
綜上,過采樣率OSR在SD16或SD16_A的A/D采樣模塊中,能夠影響轉(zhuǎn)換結(jié)果的精度,OSR值越大,輸出
結(jié)果精度越高,反之,精度越低。
(由于原文是在word中編排,有很多公式復(fù)制后不能正常顯示)
參考文獻(xiàn):梳狀濾波器在∑-△ A/D中的應(yīng)用
擴(kuò)展閱讀:MSP430-AD12的個(gè)人深入了解
編輯:admin 最后修改時(shí)間:2018-05-19