欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1821|回復: 0
打印 上一主題 下一主題
收起左側

AVR121: 使用過采樣增加ADC精度特點

[復制鏈接]
跳轉到指定樓層
樓主
ID:711352 發表于 2020-5-22 09:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
AVR121: 使用過采樣增加ADC精度特點
使用過采樣增加精度
平均和抽取
平均采樣減少噪聲

1 介紹
AtmelAVR單片機提供了10位精度的模擬到數字轉換器。在大多數情況10位精度已經足夠了,但是某些情況下需要更高的精度。特殊的信號處理技術可以用來提高測量的精度。使用一種稱為“過采樣和[size=10.5000pt]抽取”的方法可以得到較高的精度,不需要使用外部的ADC這個應用筆記解釋了這個方法,以及它需要滿足的條件。

1-1. 增加分辨率

file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps1.png[size=10.5000pt]
[size=10.5000pt]
2 操作理論
在閱讀這篇應用筆記其他部分之前,讀者應當先閱讀應用筆記AVR120 - ‘ADC校準AVR數據手冊中ADC的部分。下面的例子和數字是計算單端輸入的連續模式,ADC噪聲減少模式沒有使用。這個方法對其他模式也有效,盡管數字也許會不同。

ADC的參考電壓和ADC的精度決定了ADC的步距。ADC的參考電壓VREF可以選擇使用AVCC,內部的2.56V / 1.1V參考電壓,或者AREF引腳上的電壓。較低的VREF提供了較高的電壓精度但是同時減少了輸入信號的動態范圍。如果2.56VVREF被選擇,它將給用戶大約2.5mV的轉換精度,并且最高的輸入電壓是2.56V。選擇使用ADC輸入通道的增益,這使用戶有更好的精度來測量模擬信號,代價是損失ADC的動態范圍。如果不能接受以動態范圍交換精度,可以采用過采樣來增加精度。這個方法受到ADC的特性限制:使用過采樣和[size=10.5000pt]抽取將降低ADC的量化誤差,但是不能減少ADC的非線性化誤差。

2.1 采樣頻率
Nyquist 定理規定信號的采樣頻率必需至少是信號頻率的兩倍,否則高頻部分將有損失帶通)。最小需要的采樣頻率稱為Nyquist 頻率。
公式 2-1. Nyquist 頻率
f nyquist  > 2 f signal
這里 fsignal 是輸入信號的最高頻率,上面的采樣頻率 fnyquist 稱為過采樣。這個采樣頻率只是理論上的絕對最小頻率,在實際中,用戶通常希望盡可能高的采樣頻率,在時域中獲得最好的效果。這樣有人可能會說在大多數情況下輸入信號已經是過采樣了。

采樣頻率是CPU時鐘的分頻的結果,一個較低的分頻系數給出較高的ADC時鐘頻率。在一個特定點,較高的ADC時鐘將降低轉換的精度,即有效數據位ENOB[size=10.5000pt]Effective Number Of Bits)。所有的ADC都有帶寬限制, AVRADC也不例外,按照數據手冊的說法,要獲得10位轉換精度,ADC時鐘頻率大概在50kHz – 200kHz。當ADC時鐘是200kHz時,采樣頻率大約是15kSPS(次每秒),可以采樣信號的上限大約是~7.5kHz。按照數據手冊,ADC時鐘最高可以到1Mhz,盡管這將降低ENOB

3 理論
3.1 過采樣和抽取
‘過采樣和抽取’理論的背后是非常復雜的,但是的方法卻是比較容易的。這個技術要求大量的采樣,這些額外的采樣完成信號過采樣。每增加額外的一位精度,信號必需過采樣4倍。頻率和輸入信號的關系在公式3-1中。為了盡可能最好的重現信號,這么多次的采樣是必需的,因為大量的采樣平均后可以更好的重現輸入信號。這可以認為是這篇應用筆記的主要內容,下面的理論和例子用來進一步解釋。
公式 3-1. 過采樣頻率
f oversampling = 4n fnyquis

3.2 噪聲
為了使這個方法正常工作,信號成分在轉換過程中不能發生變化。但是成功增加精度的另一個標準是輸入信號在采樣時有所變化。這看起來是矛盾的,因為信號的變化意味著較少有效的LSB,變化的信號可以看成是信號的噪聲成分。在信號過采樣時,噪聲使信號產生微小的變化。ADC的量化誤差一般至少是0.5LSB,因此噪聲幅度超過0.5 LSB就改變了LSB。噪聲幅度有1-2 LSB時更好,因為可以保證幾次采樣不會總是相同的值。
使用抽取技術時,噪聲的標準:
l 信號成分在轉換時不能變化。
l 信號上有一定的噪聲。
l 噪聲的幅度至少有1 LSB
通常AD轉換時有一定的噪聲,噪聲可能是熱噪聲、CPU的核心產生的噪聲、I/O端口切換帶來的噪聲、電源變化引起的噪聲(特別是開關電源)等等。這些噪聲在大多數情況下可以使這個方法正常工作了,但是在特殊情況下,需要引入噪聲到輸入信號,這個方法叫抖動。圖 3-1 (a)展示了測量電壓信號的在兩檔之間時,簡單將4次采樣結果平均沒有太大作用,結果可能是同樣的數字,它只能消除信號的波動。圖3-1 (b) 顯示添加人工噪聲到輸入信號后,改變了轉換結果的LSB。添加4次采樣同樣的采樣步驟,產生的結果給出更好的精度,如圖3-1 (c) 所示,ADC“虛擬精度”從10位增加到11位。這個方法就是抽取,在3-3小節會進一步講解。
3-1. 精度從10位增加11
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps2.png
另外使用這個方法的理由是可以增加信噪比,提高有效有效位數ENOB,并將噪聲平展開來,使噪聲對每個二進制數的影響減少。雙倍的采樣頻率將減少帶內噪聲3dB,增加有效測量精度0.5位。

3.3 平均
一般平均就是采樣M次,結果之和在除以M。正常平均時,ADC測量的數據等效于通過了一個低通濾波器,減弱了信號的波動噪聲,并使峰值平緩。滑動平均法經常用來這樣做,讀取M次,將結果放到一個循環隊列,平均最近M次的結果。它有輕微的延時,因為每次的結果都是最后M次采樣的結果。數據窗口可以重疊也可以不重疊,圖 3.2 顯示了 7(Av1-Av7) 獨立的不重疊滑動平均的結果。
3-2. 滑動平均原理
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps3.png

要注意普通平均不會增加轉換的精度,抽樣或插值方法和過采樣一起使用,才能增加精度。數字信號處理過采樣和信號低通濾波經常看成是插值。這時,插值用來產生在大量采樣后的新采樣結果。越多的平均采樣數,越容易選擇低通濾波,插值結果越好。額外的M次采樣,象普通平均那樣累加起來,但是結果不象普通平均那樣除以M。而是結果右移NN是希望增加的額外精度),從而比例化成正確的結果。右移一個二進制數一次等于除以2,。如公式3-1,精度從10位增加到12位需要總共1610位的采樣。這1610位結果產生一個14位計算結果,其中最后兩位是無用的,右移后成為12位結果。比例系數sf 在公式3-2給出,它是總共4n次采樣后的除數,這樣才能得到正確的比例化結果。n 是需要的額外精度。
公式 3-2.
sf = 2n

3.4 “過采樣和抽取”什么時候工作
正常情況下信號包含了一定的噪聲,這個噪聲通常具有高斯噪聲的特性,更常用的名稱是白噪聲或熱噪聲,在寬頻譜中總能量均勻分布在整個頻段范圍。在這些情況下,如果噪聲的幅度可以改變ADCLSB,‘過采樣和抽取’的方法就能夠工作。

在其他情況,就有必要引入人工的噪聲到輸入信號中,這個方法叫做抖動。這個噪聲波形應當是高斯噪聲,不過周期性的噪聲也可以。噪聲信號的頻率和采樣頻率有關,一個原則是:“當添加N次采樣時,噪聲周期不能超過N次采樣的周期”。噪聲的幅度至少需要1 LSB.當添加人工噪聲時,需要記住噪聲的值是0;不充分的過采樣會產生偏差,如圖3-3.
3-3. 不充分采樣造成的偏差
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps4.png[size=10.5000pt]
[size=10.5000pt]
[size=10.5000pt]虛線是鋸齒波信號的平均值, 3-3 (a)將引起負偏差,圖3-3 (b) 引起正偏差,圖3-3(c)的采樣是充分的,就避免了偏差。為了產生人工噪聲信號,可以使用AVR單片機的計數器。因為計數器和ADC使用了相同的時鐘源,這就能使噪聲和采樣頻率同步,避免了偏差。

3.5 例子1
一個都柏林的釀酒師想測量釀酒時的溫度。一個緩慢變化的信號表示了溫度,在這種環境下一般溫度對應的電壓是2.5 V。圖3-4顯示了溫度測量設備的特性。
3-4. 電壓 / 溫度函數
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps5.jpg
釀酒師不希望縮小輸入信號的范圍,選擇5V作為ADC的基準。這時10ADC不能提供足夠精度的轉換結果,因為結果的LSB大約是5mV‘步距’。這個結果會引起0.25°C的誤差,所以不能被接受。釀酒師希望結果有0.1°C的精度,要求電壓的分辨率小于2mV。如果測量使用了12位的ADC,那么電壓步距的LSB將減小到約1.22mV。釀酒師需要的是用10ADC產生虛擬12ADC結果。輸入信號是緩慢變化的,不需要很高的采樣頻率。按照數據手冊,ADC時鐘頻率在50kHz200kHz之間可以保證10位精度,釀酒師因此選擇了50kHzADC時鐘頻率。采樣頻率變為約3800/秒。一個溫度下測量出直流參數是2.4729V,表 3-1 顯示了不同分辨率選項下測量的這個參數,Vin = 2.4729V VREF = 5V
Table 3-1. 分辨率選項
分辨率
電壓分辨率
過采樣
右移
[size=9.0000pt]理想抽取結果

[size=9.0000pt]理想電壓

最大帶寬
10
[size=9.0000pt]~5 mV
[size=9.0000pt]NA
NA
NA
[size=9.0000pt]2.4658V
[size=9.0000pt]~7600Hz [size=9.0000pt](1)
11
[size=9.0000pt]~2.5 mV
[size=9.0000pt]4X
1X
1012
[size=9.0000pt]2.4707V
[size=9.0000pt]~1900Hz [size=9.0000pt](1)
12
[size=9.0000pt]~1.22mV
16X
2X
2025
[size=9.0000pt]2.4719V
~475Hz[size=9.0000pt](1)
13
[size=9.0000pt]~610 uV
64X
3X
4051
[size=9.0000pt]2.4725V
~118Hz[size=9.0000pt](1)
14
[size=9.0000pt]~300 uV
256X
4X
8103
[size=9.0000pt]2.4728V
~29Hz[size=9.0000pt](1)
15
[size=9.0000pt]~150 uV
1024X
5X
16206
[size=9.0000pt]2.4728V
~7Hz[size=9.0000pt](1)
16
[size=9.0000pt]~75 uV
4096X
6X
32413
[size=9.0000pt]2.4729V
~3Hz[size=9.0000pt](1)
注:1. ADC 時鐘 = 200kHz

這個結果單次轉換結果是505,初略看上去結果是正確的,但是這個二進制數字相當于2.4683V,這使用戶不確定溫度測量的誤差,在某些情況下可能是危險的。如前面推斷的,信號通常包含了足夠的噪聲來使用抽取法。

為了增加1位精度,添加4次相鄰的采樣,這些采樣出的值相互之間因為有噪聲存在所以有微小的不同。添加4次采樣:508 + 507 + 505 + 505 = 2025。按照抽取原則,增加n位精度,就需要右移n次。結果右移1位,最后移位后結果是1012。同樣,信號充分過采樣可以進一步提高精度,達到12 位。添加1610位采樣并右移2位結果就能達到,結果是2025。這個數字更可信,因為使用12位結果時誤差已經減少到約1.22mV。這個例子顯示了用戶起初采樣一個緩慢變化信號,采樣速度是 3800次每秒,電壓精度約5mV。現在采樣速度240次每秒,12位精度,電壓精度約1.22mV

用戶可以按慣例平均1612位采樣結果以消除波動,這就是把16次采樣結果加起來在除以16,最終用戶得到的是15 SPS 12位采樣。(15 16 16 = 3840)
l 普通平均將減少隨機噪聲
l 過采樣和抽取將利用噪聲增加精度

3.6 例子2
為了展示這個方法,,下面的例子將顯示怎樣不需要使用外部的ADC獲取更高的精度。一個信號發生器用來產生0V5V的線性斜坡信號。在一個‘低噪聲’環境下,一個信號發生器和一個AVR單片機連接到STK500開發板,這可能沒有足夠大的噪聲來影響10位的信號。這就需要引入人工噪聲信號到輸入的信號。有4種方法被成功使用:
l 添加信號發生器產生的噪聲,直接連到輸入信號。
l 使用AVRPWM產生噪聲。
l 當使用AVCC作為VREF時,使用AVR產生的噪聲添加到AREF
l 當使用AREF作為VREF時,添加AVR產生的噪聲到AREF
最容易的方法是直接添加白噪聲到信號,但在大多數情況用戶沒有或者不希望有這種噪聲。一個更可行的方法是使用AVR單片機產生一個PWM信號,然后低通濾波這個‘噪聲’成直流,并且紋波的峰值達到LSB,一個這樣的例子在圖 3-5中展示。
3-5. LP-濾波
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps6.png[size=10.5000pt]
如果VCC = 5V,濾波的信號在 AREF 引腳有2.5V,當計數器的占空比是0%時;當占空比是100%就是5V。在這個例子,占空比是50%,基本頻率大約是3900Hz10kΩ的電位器用來調節紋波。PWM信號即作為ADC的參考電壓,也作為噪聲發生器(AVCC作為ADC的參考電壓)。這個方法認為參考電壓的微小變化和輸入信號的微小變化結果是相同的,這就不用干擾輸入信號了。

3-6顯示測量線性斜坡信號。圖3-7顯示10位離散化的輸入斜坡信號,測量沒有添加人工噪聲,量化步距是很明顯的。為了增加精度,就要減少量化步距。

3-8顯示出輸入信號12位離散化結果(AREF作為ADC的參考電壓,AREF添加了噪聲)。按照公式3-1,每12位結果需要1610位采樣。ADC偏差調整和應用筆記AVR120一致,增益誤差也需要調整。圖3-9顯示14位離散化結果,圖3-10顯示16位的結果。當測量信號包含噪聲,或者參考電壓象這個例子的,要注意頂端和底端的值要減去噪聲信號的幅度,稍微減少了測量信號的動態范圍。在某些情況下,作為安全邊界,偏差是100mV

3-6. 斜坡信號0-5V 100% 同步
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps7.png


3-7. 10位精度量化的信號
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps8.png


3-8. 12位精度量化
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps9.png


3-9. 14位精度量化的信號
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps10.png


3-10. 16位精度量化的信號
file:///C:\Users\50368\AppData\Local\Temp\ksohtml19440\wps11.png
你可以清除看到過采樣和抽取法顯著增加了精度。

總結
ADC采樣一個信號時,不連續的量化信號會引入一些誤差,通常稱為量化誤差。一般平均的只能消除信號的波動,但抽取法可以提高精度。對一個4倍過采樣的信號,4個相鄰的數據點平均產生一個新的數據點。過采樣頻率的計算參考公式3-1。添加額外的采樣并右移結果系數n產生提高n位精度的結果。平均4ADC采樣的結果獲得新ADC的結果是同樣ADC采樣速率的¼,但是同時平均了量化噪聲,改善了SNR,這將增加ENOB并減少量化誤差。快速的ADC和低內存消耗,使得過采樣的優點是顯著的。
l 增加一些噪聲到信號,至少 1 LSB
l 如果噪聲的幅度不夠,添加噪聲到信號。
l 累計4n10位采樣,這里 n 是希望得到的額外精度。
l 右移n次,比例累計的結果。
l 按照應用筆記AVR120補償誤差。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表