MSP430單片機中有很多A/D采樣模塊使用的是具有∑-△結構的SD16或者SD16_A模塊,該模塊中具有過采樣率(OSR,Oversampling ratio)的設置寄存器。這個寄存器不同的設置值在A/D采樣的過程中到底會產生怎樣的影響呢?
在TI的手冊中我們可以知道,OSR是SINC3梳狀濾波器的一個參數,首先,來學習一下梳狀濾波器。
1、 梳狀濾波器的定義:是由許多按一定頻率間隔相同排列的通帶和阻帶,只讓某些特定頻率范圍的信號通過。梳狀濾波器其特性曲線像梳子一樣,故稱為梳狀濾波器。
2、 梳狀濾波器是一種最簡單的FIR濾波器,其單位脈沖響應h(n)全為1,h(n)=1 ,0≤n≤N-1;0 其它傳輸函數的Z變換形式: H(z)=∑z^-n=(1-z^-N)/(1-z^-1) ,n=0..N-1
上式中,N為濾波器的節數。
這樣得到的濾波器阻帶衰減較小,不能滿足實際的需要。為了提高濾波器的阻帶衰減,可采用修正的梳狀濾波器形式: H(z)=((1-z^-N)/(N*(1-z^-1)))^k
上式中,N為濾波器的節數,K為濾波器的階數。引入K以后,其阻帶衰減特性成K倍增大,而且阻帶邊緣變得更為陡峭,使濾波器的特性變得更好。
3、 在∑-△A/D轉換器中,∑-△調制器的輸出經梳狀濾波器濾波抽取后量化噪聲的頻譜密度保持了沒有抽取前的形式,即保持了∑-△調制器噪聲成型的頻譜特性。但采樣間隔增大的N倍(即數據率減少了N倍),等效量化臺階減少了NK倍。若N為2的整數冪N=2m,則相當于經過濾波抽取后,其分辨率由輸入的1bit變成了mK bit。
4、 梳狀濾波器的設計:梳狀濾波器是一種固定形式的濾波器,它包括以下三個參數的選擇:1)單級濾波器的節數N;2)濾波器的階數K;3)濾波器系數及運算的有限字長。
單級濾波器的節數N:等于∑-△A/D中的第一級的抽取率。
濾波器的階數K:等于∑-△調制器的回路數。
濾波器系數及運算的有限字長:若不計歸一化因子N-K,則濾波器系數均為正整數,且∑h(n)=N^K,n=0...N-1
因此可用b=K*log2N=Km位的二進制碼來表示濾波器的系數。同時,若∑-△調制器的輸出為1bit數(僅0,1兩個狀態),則濾波器輸出 y(n)=∑h(m)x(n-m) ,m=0...N-1
顯示有 0≤y(n)≤N^K
因此上式的濾波器運算亦可用mK位的二進制進行,不會出現截尾誤差和溢出。
綜上,可以選擇濾波器的有效字長為mK。實際這也就是梳狀濾波器輸出的有效分辨率。
現在我們言歸正傳。
在TI的手冊中我們可以知道,從∑-△調制器的1bit數據流通過SINC3梳狀濾波器進行濾波。OSR是SINC3梳狀濾波器的一個參數,該濾波器的Z變換形式為: H(z)=( (1-z^-OSR)/(OSR*(1-z^-1)) )^3
對比上面的公式易知,OSR=N=2^m,K=3。
當OSR=256=28時,梳狀濾波器輸出的有效分辨率長度為: b=Klog2N=Km=3*8=24。
當OSR=1024=210時,梳狀濾波器輸出的有效分辨率長度為b=3*10=30bit。
由此可見,OSR的值影響A/D采樣后的輸出結果的有效分辨率長度,即精度。因此,可以在不增加A/D前端復雜程度的基礎上,通過增加OSR的值達到提高輸出精度的目的。
在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的,根據寄存器的設置,截取濾波器輸出結果的16bit;濾波器輸出精度不足16bit的,根據寄存器的設置,對不足的位補0。
綜上,過采樣率OSR在SD16或SD16_A的A/D采樣模塊中,能夠影響轉換結果的精度,OSR值越大,輸出結果精度越高,反之,精度越低。
-
單片機
+關注
關注
6039文章
44583瀏覽量
636501 -
濾波器
+關注
關注
161文章
7846瀏覽量
178410
發布評論請先 登錄
相關推薦
評論