在大多數(shù)情況下,10位的分辨率就足夠了。但在某些情況下需要更高的精度。采用特殊的信號(hào)處理技術(shù)可以提高測(cè)量的分辨率。通過使用一種稱為“過采樣和抽取”的方法,可以實(shí)現(xiàn)更高的分辨率,而不使用外部ADC。此應(yīng)用程序說明說明了該方法,以及需要滿足哪些條件才能使該方法正常工作。
下面的例子和數(shù)字是為自由運(yùn)行模式下的單端輸入計(jì)算的。沒有使用ADC降噪模式。這種方法在其他模式中也是有效的,盡管下面例子中的數(shù)字會(huì)有所不同。ADC參考電壓和ADC分辨率定義ADC步長。ADC的參考電壓VREF可以選擇為內(nèi)部2.56V / 1.1V的參考電壓AVCC或AREF引腳的參考電壓。較低的VREE提供較高的電壓精度,但最小化了輸入信號(hào)的動(dòng)態(tài)范圍。如果選擇2.56V VREE,則在轉(zhuǎn)換結(jié)果上給用戶-2.5mV的精度,被測(cè)的最高輸入電壓為2.56V。或者,可以考慮使用ADC輸入通道與增益級(jí)。這將給用戶以ADCs動(dòng)態(tài)范圍為代價(jià),以更好的電壓精度測(cè)量模擬信號(hào)的可能性。如果用動(dòng)態(tài)范圍來換取更好的電壓分辨率是不可接受的,可以選擇用信號(hào)的過采樣來換取更好的分辨率。但該方法受到ADC特性的限制:使用過采樣和抽取只會(huì)降低ADC的量化誤差,而不能補(bǔ)償ADC的積分非逼近性。
尼奎斯特定理指出,采樣信號(hào)的速度必須至少是信號(hào)帶寬的兩倍,才能精確地重構(gòu)波形;否則,高頻內(nèi)容將在感興趣的頻譜(通帶)內(nèi)的頻率混疊。根據(jù)奈奎斯特定理,所需的最小采樣頻率為奈奎斯特頻率。
其中fsianal為輸入信號(hào)中感興趣的最高頻率。fnvauist以上的采樣頻率稱為“過采樣”。然而,這個(gè)采樣頻率,只是一個(gè)理論上的絕對(duì)最小采樣頻率。在實(shí)踐中,用戶通常希望得到盡可能高的采樣頻率,以便在時(shí)域中得到被測(cè)信號(hào)的最佳表示??梢哉f在大多數(shù)情況下輸入信號(hào)已經(jīng)被過采樣了采樣頻率是CPU時(shí)鐘預(yù)調(diào)的結(jié)果;較低的預(yù)壓因子可得到較高的ADC時(shí)鐘頻率。在某一時(shí)刻,較高的ADC時(shí)鐘會(huì)隨著有效位元數(shù)(ENOB)的減少而降低轉(zhuǎn)換的精度。所有的ADC都有帶寬限制,mcu ADC也不例外。根據(jù)數(shù)據(jù)表,要得到一個(gè)10位分辨率的轉(zhuǎn)換結(jié)果,ADC時(shí)鐘頻率應(yīng)該是50kHz -200kHz。當(dāng)ADC時(shí)鐘為200kHz時(shí),采樣頻率為15kSPS,限制了被采樣信號(hào)的上頻率為7.5kHz。根據(jù)數(shù)據(jù)表,ADC時(shí)鐘可以驅(qū)動(dòng)頻率高達(dá)1Mhz,盡管這將降低ENOB
“過采樣和抽取”背后的理論是相當(dāng)復(fù)雜的,但使用這種方法是相當(dāng)容易的。這項(xiàng)技術(shù)需要更多的樣品。這些額外的采樣可以通過對(duì)信號(hào)進(jìn)行過采樣來實(shí)現(xiàn)。對(duì)于每增加一比特的分辨率n,信號(hào)必須被過采樣四次。對(duì)輸入信號(hào)采樣的頻率由下面公式給出。為了得到模擬輸入信號(hào)的最佳可能的表示,有必要將信號(hào)過采樣這么多,因?yàn)樵谄骄鶗r(shí),更大數(shù)量的樣本會(huì)給輸入信號(hào)更好的表示。這將被認(rèn)為是本應(yīng)用說明的主要成分,并將通過下面的理論和例子進(jìn)一步解釋。
要使此方法正常工作,感興趣的信號(hào)組件不應(yīng)該在轉(zhuǎn)換期間發(fā)生變化。然而,成功增強(qiáng)分辨率的另一個(gè)標(biāo)準(zhǔn)是輸入信號(hào)在采樣時(shí)必須有所變化。這看起來可能有些矛盾,但在這種情況下,變體僅意味著少量LSB。這種變化應(yīng)該被看作是信號(hào)的噪聲成分。當(dāng)信號(hào)過采樣時(shí),必須存在噪聲以滿足信號(hào)微小變化的要求。ADC的量化誤差至少為0.5LSB。因此,噪聲振幅必須超過0.5 LSB才能切換LSB。1-2 LSB的噪聲幅值更好,因?yàn)檫@將確保多個(gè)樣本最終不會(huì)得到相同的值。噪聲的標(biāo)準(zhǔn),當(dāng)使用抽取技術(shù):
在轉(zhuǎn)換期間,感興趣的信號(hào)組件不應(yīng)發(fā)生顯著變化。
信號(hào)中應(yīng)該存在一些噪聲。
噪聲的振幅應(yīng)至少為1 LSB。
通常在轉(zhuǎn)換過程中會(huì)出現(xiàn)一些噪聲。噪聲可以是熱噪聲,來自CPU核心的噪聲,I/ o端口的切換,電源的變化等。這種噪音在大多數(shù)情況下足以使這種方法工作。但在特定情況下,可能需要在輸入信號(hào)中添加一些人工噪聲。這種方法稱為抖動(dòng)。下圖A顯示了測(cè)量電壓值介于兩個(gè)量化步驟之間的信號(hào)的問題。對(duì)四個(gè)樣本進(jìn)行平均是沒有用的,因?yàn)榻Y(jié)果將是相同的低值。它可能只有助于減弱信號(hào)的波動(dòng)。圖B顯示,在輸入信號(hào)中加入一些人工噪聲,轉(zhuǎn)換結(jié)果的LSB會(huì)發(fā)生切換。增加四個(gè)這樣的樣本一半量化步驟,產(chǎn)生的結(jié)果給出了更好的輸入值表示,如圖C所示。adc的虛擬分辨率從10位增加到11位。這種方法稱為抽取,將在下面進(jìn)一步說明
使用這種方法的另一個(gè)原因是為了提高信噪比。提高有效位元數(shù)(ENOB)將使噪聲擴(kuò)散到更大的二進(jìn)制數(shù)上。噪聲對(duì)每個(gè)二進(jìn)制數(shù)字的影響減小。將采樣頻率加倍可以將帶內(nèi)噪聲降低3dB,并將測(cè)量的分辨率提高0.5位。
均值的傳統(tǒng)意義是將m個(gè)樣本相加,然后除以m,稱為正態(tài)均值。平均ADC測(cè)量的數(shù)據(jù)相當(dāng)于一個(gè)低通濾波器,具有衰減信號(hào)波動(dòng)或噪聲,平坦輸入信號(hào)中的峰值的優(yōu)點(diǎn)。移動(dòng)平均法經(jīng)常被用來做這個(gè)。這意味著取m個(gè)讀入值,將它們放入一個(gè)循環(huán)隊(duì)列中,然后對(duì)最近的m個(gè)讀入值進(jìn)行平均。這將會(huì)有一點(diǎn)時(shí)間延遲,因?yàn)槊總€(gè)樣本都是最后m個(gè)樣本的表示。這可以在窗口重疊或不重疊的情況下完成。下面顯示7 (Av1-Av7),獨(dú)立移動(dòng)平均結(jié)果,不重疊。
重要的是要記住,正常平均不會(huì)增加轉(zhuǎn)換的分辨率。抽取,或插值,是平均方法,結(jié)合過采樣,以提高分辨率。對(duì)信號(hào)進(jìn)行過采樣和低通濾波器的數(shù)字信號(hào)處理通常稱為插值。在這個(gè)意義上,插值被用來產(chǎn)生新的樣本,作為一個(gè)“平均”更大數(shù)量的樣本。平均樣本數(shù)越高,低通濾波器的選擇性越強(qiáng),插值效果越好。通過對(duì)信號(hào)進(jìn)行過采樣得到的額外樣本m被加起來,就像在日常取平均值中一樣,但結(jié)果不像在日常平均值中一樣除以m。相反,結(jié)果是向右移動(dòng)n,其中n是想要的額外的分辨率位,以縮放正確的答案。向右移動(dòng)二進(jìn)制數(shù)一次等于二進(jìn)制數(shù)除以2。從上面說到過的公式可以看出,將分辨率從10位增加到12位需要16個(gè)10位值的總和。16個(gè)10位值的和生成一個(gè)14位的結(jié)果,其中最后兩位不期望包含有價(jià)值的信息。為了回到12位,有必要衡量結(jié)果。由式下圖給出的標(biāo)度因子sf是4個(gè)樣本的和要除以的因子,以適當(dāng)?shù)貥?biāo)度結(jié)果。n是所需的額外比特?cái)?shù)。
通常一個(gè)信號(hào)包含一些噪聲,這種噪聲通常具有高斯噪聲的特征,通常稱為白噪聲或熱噪聲,被廣泛的頻譜識(shí)別,總能量在整個(gè)頻率范圍內(nèi)平均分配。在這些情況下,“過采樣和抽取”的方法將工作,如果噪聲的振幅足以切換ADC轉(zhuǎn)換的LSB在其他情況下,可能需要在輸入信號(hào)中加入人工噪聲信號(hào),這種方法稱為抖動(dòng)。這種噪聲的波形應(yīng)該是高斯噪聲,但周期波形也可以工作。這個(gè)噪聲信號(hào)的頻率取決于采樣頻率。經(jīng)驗(yàn)法則是:“添加m個(gè)樣本時(shí),噪聲信號(hào)的周期不應(yīng)超過m個(gè)樣本的周期”。噪聲的振幅應(yīng)至少為1 LSB。在給信號(hào)添加人工噪聲時(shí),要記住噪聲的平均值為零;過采樣不足因此可能會(huì)造成偏移,如下圖所示
點(diǎn)畫線說明了鋸齒信號(hào)的平均值。圖A將引起一個(gè)負(fù)偏移。B將導(dǎo)致正偏移。在圖C采樣充分,避免偏移。為了制造人工噪聲信號(hào),可以使用計(jì)數(shù)器。由于計(jì)數(shù)器和ADC使用相同的鎖源,這就提供了同步噪聲和采樣頻率以避免偏移的可能性。
都柏林的一位釀酒大師想要測(cè)量他的釀酒廠的溫度。一個(gè)緩慢變化的信號(hào)表示溫度測(cè)量,其環(huán)境溫度的標(biāo)稱電壓為2.5 V。下圖顯示了該測(cè)溫裝置的特性。
主機(jī)不想將輸入信號(hào)的動(dòng)態(tài)范圍最小化,選擇了一個(gè)5V的ADC參考電壓。在這種情況下,10位ADC不能提供足夠精確的轉(zhuǎn)換結(jié)果。因?yàn)榻Y(jié)果的LSB表示一個(gè)-5mV的'step'。這是不可接受的,因?yàn)檫@會(huì)導(dǎo)致結(jié)果可能高達(dá)0.25℃的偏差。釀造主希望結(jié)果有0.1℃的精度,這要求電壓分辨率低于2mV。如果測(cè)量用12位ADC表示,表示LSB的電壓“step”將下降到~1.22mV。主機(jī)需要做的是將10位ADC轉(zhuǎn)換為虛擬的12位ADO,輸入信號(hào)變化非常緩慢;因此,不需要很高的采樣頻率。根據(jù)數(shù)據(jù)表,ADC時(shí)鐘頻率應(yīng)在50kHz - 200kHz之間,以確保10位的有效分辨率。因此50kHz ADC時(shí)鐘頻率。然后采樣頻率變成-3800 SPS。在某一點(diǎn),代表測(cè)量溫度的直流值為2.4729V。下表給出了Vin=2.4729V和VREF= 5V時(shí)測(cè)量該值的不同分辨率選項(xiàng)。
一次轉(zhuǎn)換的結(jié)果是505,乍一看似乎是正確的。但是這個(gè)二進(jìn)制數(shù)也對(duì)應(yīng)于例如2。4683v。這使得用戶不確定,并導(dǎo)致溫度測(cè)量中的錯(cuò)誤。在某些情況下,這可能是至關(guān)重要的。得出結(jié)論之前;信號(hào)通常包含足夠的噪聲,使抽取方法可行。
為了增加1位的分辨率,從相同的“鄰域”添加了四個(gè)樣本。由于噪聲的影響,這些樣本的值之間存在一些LSB值的差異。添加四個(gè)樣品:508+ 507 + 505 + 505 = 2025。根據(jù)抽取原理,答案現(xiàn)在需要縮小到11位。它需要右移n次,n是額外的比特?cái)?shù)。結(jié)果是1012。提高分辨率后,突然之間就有可能實(shí)現(xiàn)原始量化步驟之間的采樣。盡管如此,信號(hào)被過度采樣以進(jìn)一步提高分辨率,達(dá)到12位。添加16個(gè)10位的樣本并右移結(jié)果2次就可以做到這一點(diǎn)。結(jié)果是2025年。這個(gè)數(shù)字更可靠,因?yàn)槭褂靡粋€(gè)12位的結(jié)果,誤差范圍減少到1.22mV。這個(gè)例子表明,開始時(shí)信號(hào)是慢變的,每秒采樣3800 imes,電壓精度為5mV,現(xiàn)在每秒采樣240個(gè),分辨率為12位,電壓精度為~1.22mV。
用戶可能仍然希望通過平均16個(gè)12位樣本(傳統(tǒng)方法)來平衡信號(hào)波動(dòng)。方法是將16個(gè)樣本相加,然后除以16。最后,用戶有15個(gè)SPS,平均16個(gè)12位相鄰樣本。
正常平均將減少隨機(jī)噪聲的后果,“過采樣和抽取”將利用噪聲來提高分辨率。
為了證明該方法的有效性,下面的例子將表明,不必使用外部ADC來獲得更高的精度。信號(hào)發(fā)生器用于產(chǎn)生從OV到5V的線性斜坡信號(hào)。在“低噪音”環(huán)境中,信號(hào)發(fā)生器和控制器插在STK500板中,可能沒有足夠的噪音切換10位信號(hào)的最后幾個(gè)位。因此有必要在輸入信號(hào)中加入人為的“噪聲”,使LSB開關(guān)。成功使用了四種方法:
將信號(hào)發(fā)生器產(chǎn)生的噪聲直接加到輸入信號(hào)上。用單片機(jī)產(chǎn)生噪聲,使用PWM,并將其添加到輸入信號(hào)當(dāng)使用AVCC作為VREF時(shí),添加由單片機(jī)生成的噪聲到AREF當(dāng)使用AREF作為VREF時(shí),添加由mcu生成的噪聲到AREF。
當(dāng)VCC =5V時(shí),濾波后的AREF引腳信號(hào)在計(jì)數(shù)器脈寬為0%時(shí)為2.5V,在計(jì)數(shù)器脈寬為100%時(shí)為5V。本例中pwm信號(hào)占空比為50%,基頻為~3900Hz。10kS電位器是用來調(diào)整這種紋波。該P(yáng)WM-信號(hào)要么作為參考電壓的ADC在AREF,或作為噪聲發(fā)生器連接到AREF引腳。設(shè)AVCC為ADC參考電壓。其思想是,在不干擾輸入信號(hào)的情況下,參考電壓的微小變化將產(chǎn)生與輸入信號(hào)的微小變化相同的效果。
下圖顯示了當(dāng)AREF為ADC參考電壓時(shí)輸入信號(hào)的12位離散表示,并且AREF加了一些LSB噪聲。上面的公式,每個(gè)12位結(jié)果由16個(gè)10位樣本組成。對(duì)ADC偏移量進(jìn)行調(diào)整,根據(jù)應(yīng)用說明,增益誤差也需要調(diào)整。以下圖片顯示了輸入信號(hào)的14位離散表示,以下圖片顯示了輸入信號(hào)的16位離散表示。測(cè)量信號(hào)含有噪聲時(shí),或者當(dāng)參考電壓變化在這個(gè)例子中,重要的是要記住,頂部和底部值減少了相同的值作為噪聲信號(hào)的振幅,給予輕微的減少被測(cè)信號(hào)的動(dòng)態(tài)范圍。在這種情況下,作為安全余量,偏移量被調(diào)整為100mV。
我們可以很容易地看到,通過使用過采樣和抽取方法,有可能大大提高分辨率。
當(dāng)ADC采樣一個(gè)信號(hào)時(shí),它對(duì)信號(hào)進(jìn)行離散量化。這就引入了一些誤差,通常稱為量化誤差。正常平均只會(huì)均勻信號(hào)波動(dòng),而抽取會(huì)增加分辨率。在一個(gè)4。時(shí)間過采樣信號(hào),四個(gè)相鄰數(shù)據(jù)點(diǎn)的平均值產(chǎn)生nev數(shù)據(jù)點(diǎn)。信號(hào)過采樣的頻率可由公式上面說過的公式計(jì)算。加上這些額外的樣本,然后將結(jié)果右移一個(gè)因子n。產(chǎn)生分辨率增加n位的結(jié)果。平均四個(gè)模數(shù)轉(zhuǎn)換器的結(jié)果得到一個(gè)新的模數(shù)轉(zhuǎn)換器的結(jié)果是相同的,如果模數(shù)轉(zhuǎn)換器采樣率為14,但也有平均量化噪聲的效果,提高信噪比。這將增加ENOB,減少量化誤差。隨著更快的adc的可用性和低內(nèi)存成本,過采樣的優(yōu)點(diǎn)是經(jīng)濟(jì)有效和可取的。
信號(hào)中必須存在一些噪聲,至少1 LSB。
如果噪聲幅度不夠大,就給信號(hào)加噪聲。
積累4個(gè)10位的樣本,其中n是在分辨率中需要的額外比特?cái)?shù)。
對(duì)累積的結(jié)果進(jìn)行縮放,右移n次。
根據(jù)應(yīng)用說明MCU補(bǔ)償錯(cuò)誤。
看一下程序 此處ADC為10bit
#pragma vector=ADC_vect
__interrupt void ADCinterrupt(void)
{
accumulator += ADC;//adc合 double
samples++;//采樣計(jì)數(shù) short
}
在這里進(jìn)行采樣和記錄采樣的次數(shù)
主要流程為
while(1) // Eternal loop
{
if(samples>4095)//如果到了過采樣的臨界點(diǎn)
{
oversampled(); //進(jìn)行相應(yīng)的過采樣計(jì)算
}
}
void oversampled(void)
{
__disable_interrupt();
accumulator += 5150; // 抵消誤差補(bǔ)償 這里可以用最小二乘法校正
accumulator *= 0.9993; // 增益誤差補(bǔ)償
temp=(int)accumulator%64; //做四舍五入
accumulator/=64; // 舍棄掉沒用 這里除掉的是2的6次方,增加幾位就是幾次方
if(temp>=32)
{
accumulator += 1;
}
Vin = (accumulator/65536)*4.910; //計(jì)算實(shí)際電壓值
samples = 0;
accumulator = 0;
__enable_interrupt();
}
————————————————
-
adc
+關(guān)注
關(guān)注
98文章
6498瀏覽量
544684 -
信號(hào)處理
+關(guān)注
關(guān)注
48文章
1029瀏覽量
103286 -
信號(hào)
+關(guān)注
關(guān)注
11文章
2791瀏覽量
76777
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論