資料介紹
相信ADC的應(yīng)用或多或少都會(huì)用到,在很多場(chǎng)合都有分辨率要求,要實(shí)現(xiàn)較高分辨率時(shí),第一時(shí)間會(huì)想到采用一個(gè)較高位數(shù)的外置ADC去實(shí)現(xiàn)。可是高分辨率外置ADC往往價(jià)格都不便宜,這就帶來(lái)一對(duì)矛盾:高指標(biāo)與低成本。其實(shí)利用單片機(jī)片上的ADC利用過(guò)采樣技術(shù)就能很好的解決這樣一對(duì)矛盾體,本文來(lái)聊聊這個(gè)話題。
什么是過(guò)采樣?
在信號(hào)處理中,過(guò)采樣是指以明顯高于奈奎斯特速率的采樣頻率對(duì)信號(hào)進(jìn)行采樣。從理論上講,如果以奈奎斯特速率或更高的速率進(jìn)行采樣,則可以完美地重建帶寬受限的信號(hào)。奈奎斯特頻率定義為信號(hào)帶寬的兩倍。過(guò)采樣能夠提高分辨率和信噪比SNR,并且通過(guò)放寬抗混疊濾波器的性能要求,有助于避免混疊和相位失真。
在很多項(xiàng)目應(yīng)用中,需要測(cè)量信號(hào)的動(dòng)態(tài)范圍較大,且需要參數(shù)的微小變化。例如,ADC需要測(cè)量很大的溫度范圍(比如工業(yè)中甚至要求從-200℃~500℃),但仍要求系統(tǒng)對(duì)小于1度的變化做出響應(yīng)。常見的單片機(jī)片上ADC位數(shù)為12位,如要實(shí)現(xiàn)高于12位分辨率要怎么做呢?我們知道奈奎斯特-香農(nóng)采樣定理可知:
![](https://file.elecfans.com/web1/M00/DC/09/pIYBAGAJPBqAABayAAADZWxN_1w613.png)
其中:
為輸入待采樣信號(hào)最高頻率
為奈奎斯特頻率。
如果實(shí)際采樣頻率高于奈奎斯特頻率,即為過(guò)采樣。那么低于奈奎斯特采樣頻率進(jìn)行采樣就稱為欠采樣,如下圖:
![](https://file.elecfans.com/web1/M00/DB/8A/o4YBAGAJPVKAHDg6AAETon94mTY993.png)
或許你會(huì)問(wèn),常規(guī)的應(yīng)用都是過(guò)采樣,怎么也沒(méi)見分辨率提高了呀?如果僅僅過(guò)采樣,要實(shí)現(xiàn)更高分辨率顯然是不夠的,那么要怎么利用過(guò)采樣實(shí)現(xiàn)更高的分辨率呢?要知道所采用的ADC硬件核分辨率是固定的,難道還會(huì)變不成?
過(guò)采樣提高分辨率
如果對(duì)一模擬信號(hào),采用過(guò)采樣,然后再進(jìn)行一定的軟件后處理,理論上是可以得到更高分辨率的:
![](https://file.elecfans.com/web1/M00/DB/8A/o4YBAGAJPZGAARhnAAFEemdkJsY714.png)
為增加有效位數(shù)(ENOB :effective number of bits),對(duì)信號(hào)進(jìn)行過(guò)采樣,所需的過(guò)采樣率可以由下面公式確定(省略理論推導(dǎo),過(guò)于枯燥):
![](https://file.elecfans.com/web1/M00/DC/09/pIYBAGAJPdCAcHoyAAADqV1TCxM137.png)
其中:
為過(guò)采樣頻率
產(chǎn)品所需實(shí)際采樣頻率
- W為額外所需增加的分辨率位數(shù)
假設(shè)系統(tǒng)使用12位ADC每100 ms輸出一次采樣值也即(10 Hz)。為了將測(cè)量的分辨率提高到16位,我們按上述公式計(jì)算過(guò)采樣頻率:
![](http://mouser.eetrend.com/files/2020-10/%E5%8D%9A%E5%AE%A2/100054663-108159-10.png)
因此,如果我們以對(duì)信號(hào)進(jìn)行過(guò)采樣,然后在所需的采樣周期內(nèi)收集足夠的樣本以對(duì)它們進(jìn)行平均,現(xiàn)在可以將16位輸出數(shù)據(jù)用于16位測(cè)量。
具體怎么做呢?
- 首先將256個(gè)連續(xù)采樣累加
- 然后將總數(shù)除以16(或?qū)⒖倲?shù)右移4位)。該過(guò)程通常稱為抽取,也即將速率采樣。
- 在類似進(jìn)行下一次16位樣本處理
注意:用于累積過(guò)采樣數(shù)據(jù)并執(zhí)行除法抽取數(shù)據(jù)類型必須具有足夠的字節(jié)寬度,以防止溢出和截?cái)噱e(cuò)誤。比如這里累積和可以采樣32位無(wú)符號(hào)整型。
由上面公式可得出一個(gè)重要結(jié)論:每提高W位分辨率,需要提高采樣率4W倍。
過(guò)采樣提高ADC的信噪比
ADC測(cè)量的SNR理論極限基于量化噪聲,這是基于在沒(méi)有過(guò)采樣和平滑濾波情況下模數(shù)轉(zhuǎn)換過(guò)程中固有的量化誤差所致。而量化誤差取決于ADC分辨率的位數(shù),其中N為ADC的位數(shù),Vref為參考電壓。
![](http://mouser.eetrend.com/files/2020-10/%E5%8D%9A%E5%AE%A2/100054663-108161-12.png)
SNR理論情況下極限值的計(jì)算方式是數(shù)據(jù)轉(zhuǎn)換的有效位數(shù),如下所示:
![](http://mouser.eetrend.com/files/2020-10/%E5%8D%9A%E5%AE%A2/100054663-108162-13.png)
這個(gè)公式?jīng)]必要去記,用到的時(shí)候參考計(jì)算一下即可。從公式中可看出,要提升一個(gè)模數(shù)轉(zhuǎn)換器的理論SNR的一種可行方案可以通過(guò)提升采樣位數(shù),但是需要注意的是這里的信噪比是度量模數(shù)轉(zhuǎn)換器本身的,就一個(gè)真實(shí)系統(tǒng)的信噪比還與整個(gè)信號(hào)鏈相關(guān)!
從上式中不難算出,12位ADC的理論SNR極限值為74dB,而通過(guò)過(guò)采樣提升4位分辨率后,其SNR理論極限提高至96 dB!
到底怎么實(shí)現(xiàn)呢?
這里以偽代碼的方式給出編程思路:
void init_adc(void) { /*配置ADC的采樣率為過(guò)采樣率連續(xù)中斷模式*/ } void start_adc(void) { /*控制ADC啟動(dòng)采樣*/ } /*不同的開發(fā)平臺(tái)中斷函數(shù)寫法略有差異,比如51需要指定向量 */ /*OVERSAMPLE_FACTOR=4^RSHIFT_BITS 下面兩個(gè)宏一起修改 */ #define RSHIFT_BITS (4) #define OVERSAMPLE_FACTOR (256) static unsigned short adc_result=0U; void adc_isr(void) { static unsigned short adc_index = OVERSAMPLE_FACTOR; static unsigned int accumulator = 0U; /*ADC_REG ADC轉(zhuǎn)換結(jié)果寄存器,不同平臺(tái)名稱不同*/ accumulator += ADC_REG; adc_index--; if( adc_index==0 ) { /* 加和按因子抽取 */ adc_result = accumulator>>RSHIFT_BITS; accumulator = 0; adc_index = OVERSAMPLE_FACTOR; } }
該方案有一個(gè)缺陷,就是每次ADC中斷都需要CPU參與,在過(guò)采樣率很高的情況下,上述方案消耗很多CPU資源,那么如果單片機(jī)內(nèi)存資源足夠的情況下可以考慮采用DMA模式,采集很多數(shù)據(jù)并將數(shù)據(jù)暫存下來(lái),然后再做累加平均抽取。這是空間換時(shí)間的策略的體現(xiàn)。這個(gè)編代碼也很容易,只需要申請(qǐng)一片內(nèi)存區(qū),內(nèi)存區(qū)的大小可以定為256的倍數(shù),這是因?yàn)樵谔嵘?位分辨率情況下,一個(gè)16位的輸出樣本需要256個(gè)12位樣本。
總結(jié)一下
在成本受限的情況下,可以通過(guò)單片機(jī)片內(nèi)ADC過(guò)采樣以及累積抽取的技術(shù)來(lái)提升采樣分辨率,這種技術(shù)的特點(diǎn):
- 可以使用過(guò)采樣和平均來(lái)提高測(cè)量分辨率,而無(wú)需增加昂貴的片外ADC。
- 過(guò)采樣和加和抽取將以提高CPU利用率和降低吞吐量為代價(jià)來(lái)提高SNR和測(cè)量分辨率。
- 過(guò)采樣和加和抽取可以改善白噪聲的信噪比。
本文轉(zhuǎn)載自:嵌入式客棧微信公眾號(hào)(作者: 逸珺)
![](http://mouser.eetrend.com/files/2020-07/%E5%8D%9A%E5%AE%A2/100049745-101639-er_wei_ma_.jpg)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理。
- 過(guò)采樣ADC12以獲得更高分辨率
- 太秀了!單片機(jī)內(nèi)置ADC實(shí)現(xiàn)高分辨率采樣?
- 太秀了!單片機(jī)內(nèi)置 ADC 實(shí)現(xiàn)高分辨率采樣?
- 太秀了!單片機(jī)內(nèi)置ADC實(shí)現(xiàn)高分辨率采樣?
- 單片機(jī)內(nèi)置ADC如何實(shí)現(xiàn)高分辨率采樣?
- 結(jié)合CLC和NCO實(shí)現(xiàn)高分辨率PWM 17次下載
- 高分辨率ADC的板布線分析 0次下載
- 高分辨率信號(hào)空調(diào)系統(tǒng)的淺析 22次下載
- 一種基于參考高分辨率圖像的視頻序列超分辨率復(fù)原算法 5次下載
- 垂直分辨率與使用高分辨率示波器測(cè)量微小信號(hào)的介紹 22次下載
- 基于FPGA的高分辨率圖像DCT域增強(qiáng) 4次下載
- 如何優(yōu)化高分辨率DAC的DC測(cè)量
- 超低頻高分辨率信號(hào)源的設(shè)計(jì)
- 超高分辨率圖像實(shí)時(shí)顯示系統(tǒng)設(shè)計(jì)
- 高速高分辨率數(shù)據(jù)采集系統(tǒng)
- 高分辨率音頻和傳統(tǒng)音頻區(qū)別 763次閱讀
- 使用傅里葉疊層成像對(duì)運(yùn)動(dòng)物體進(jìn)行高分辨率成像 1182次閱讀
- 關(guān)于峰峰值分辨率還是有效分辨率你了解了么? 742次閱讀
- YOLOv8版本升級(jí)支持小目標(biāo)檢測(cè)與高分辨率圖像輸入 1.2w次閱讀
- 了解模數(shù)轉(zhuǎn)換器中的噪聲、ENOB和有效分辨率 6850次閱讀
- 用于高分辨率1Msps ADC的μModule隔離解決方案 2402次閱讀
- 低噪聲、精密運(yùn)算放大器驅(qū)動(dòng)高分辨率SAR ADC 2103次閱讀
- 設(shè)計(jì)一個(gè)U形高分辨率網(wǎng)絡(luò)(U-HRNet) 2054次閱讀
- 如何通過(guò)過(guò)采樣的方式提高有效位分辨率 6523次閱讀
- 高分辨率ADC應(yīng)用中的閉環(huán)增益誤差和閉環(huán)帶寬限制的考慮 3109次閱讀
- 基于FPGA的高分辨率高刷新率圖像采集系統(tǒng)設(shè)計(jì) 1250次閱讀
- digilent高分辨率便攜式數(shù)據(jù)記錄器介紹 1697次閱讀
- 使用TensorFlow生成的高分辨率抽象藝術(shù)圖片的實(shí)現(xiàn)解析 5623次閱讀
- 電壓基準(zhǔn)噪聲對(duì)于增量-累加ADC分辨率的影響 3443次閱讀
- 基于FH8735的高分辨率圖形圖像壓縮技術(shù) 2214次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論