色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>太秀了!單片機內置ADC實現高分辨率采樣?

太秀了!單片機內置ADC實現高分辨率采樣?

2021-01-25 | pdf | 278.09KB | 次下載 | 2積分

資料介紹

相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現較高分辨率時,第一時間會想到采用一個較高位數的外置ADC去實現。可是高分辨率外置ADC往往價格都不便宜,這就帶來一對矛盾:高指標與低成本。其實利用單片機片上的ADC利用過采樣技術就能很好的解決這樣一對矛盾體,本文來聊聊這個話題

什么是過采樣?

信號處理中,過采樣是指以明顯高于奈奎斯特速率的采樣頻率對信號進行采樣。從理論上講,如果以奈奎斯特速率或更高的速率進行采樣,則可以完美地重建帶寬受限的信號。奈奎斯特頻率定義為信號帶寬的兩倍。過采樣能夠提高分辨率和信噪比SNR,并且通過放寬抗混疊濾波器的性能要求,有助于避免混疊和相位失真。

在很多項目應用中,需要測量信號的動態范圍較大,且需要參數的微小變化。例如,ADC需要測量很大的溫度范圍(比如工業中甚至要求從-200℃~500℃),但仍要求系統對小于1度的變化做出響應。常見的單片機片上ADC位數為12位,如要實現高于12位分辨率要怎么做呢?我們知道奈奎斯特-香農采樣定理可知:

其中:

  • 為輸入待采樣信號最高頻率
  • 為奈奎斯特頻率。

如果實際采樣頻率高于奈奎斯特頻率,即為過采樣。那么低于奈奎斯特采樣頻率進行采樣就稱為欠采樣,如下圖:

或許你會問,常規的應用都是過采樣,怎么也沒見分辨率提高了呀?如果僅僅過采樣,要實現更高分辨率顯然是不夠的,那么要怎么利用過采樣實現更高的分辨率呢?要知道所采用的ADC硬件核分辨率是固定的,難道還會變不成?
過采樣提高分辨率

如果對一模擬信號,采用過采樣,然后再進行一定的軟件后處理,理論上是可以得到更高分辨率的:

為增加有效位數(ENOB :effective number of bits),對信號進行過采樣,所需的過采樣率可以由下面公式確定(省略理論推導,過于枯燥):

其中:

  • 為過采樣頻率
  • 產品所需實際采樣頻率
  • W為額外所需增加的分辨率位數

假設系統使用12位ADC每100 ms輸出一次采樣值也即(10 Hz)。為了將測量的分辨率提高到16位,我們按上述公式計算過采樣頻率:

因此,如果我們以對信號進行過采樣,然后在所需的采樣周期內收集足夠的樣本以對它們進行平均,現在可以將16位輸出數據用于16位測量。

具體怎么做呢?

  • 首先將256個連續采樣累加
  • 然后將總數除以16(或將總數右移4位)。該過程通常稱為抽取,也即將速率采樣。
  • 在類似進行下一次16位樣本處理

注意:用于累積過采樣數據并執行除法抽取數據類型必須具有足夠的字節寬度,以防止溢出和截斷錯誤。比如這里累積和可以采樣32位無符號整型。

由上面公式可得出一個重要結論:每提高W位分辨率,需要提高采樣率4W倍。

過采樣提高ADC的信噪比

ADC測量的SNR理論極限基于量化噪聲,這是基于在沒有過采樣和平滑濾波情況下模數轉換過程中固有的量化誤差所致。而量化誤差取決于ADC分辨率的位數,其中N為ADC的位數,Vref為參考電壓。

SNR理論情況下極限值的計算方式是數據轉換的有效位數,如下所示:

這個公式沒必要去記,用到的時候參考計算一下即可。從公式中可看出,要提升一個模數轉換器的理論SNR的一種可行方案可以通過提升采樣位數,但是需要注意的是這里的信噪比是度量模數轉換器本身的,就一個真實系統的信噪比還與整個信號鏈相關!

從上式中不難算出,12位ADC的理論SNR極限值為74dB,而通過過采樣提升4位分辨率后,其SNR理論極限提高至96 dB!

到底怎么實現呢?

這里以偽代碼的方式給出編程思路:

void init_adc(void)
{
    /*配置ADC的采樣率為過采樣率連續中斷模式*/
}

void start_adc(void)
{
   /*控制ADC啟動采樣*/
}

/*不同的開發平臺中斷函數寫法略有差異,比如51需要指定向量   */
/*OVERSAMPLE_FACTOR=4^RSHIFT_BITS 下面兩個宏一起修改 */
#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轉換結果寄存器,不同平臺名稱不同*/ 
    accumulator += ADC_REG; 
    adc_index--;
    if( adc_index==0 )
    {
        /* 加和按因子抽取 */
        adc_result  = accumulator>>RSHIFT_BITS;
        accumulator = 0;
        adc_index   = OVERSAMPLE_FACTOR;
    }
}

該方案有一個缺陷,就是每次ADC中斷都需要CPU參與,在過采樣率很高的情況下,上述方案消耗很多CPU資源,那么如果單片機內存資源足夠的情況下可以考慮采用DMA模式,采集很多數據并將數據暫存下來,然后再做累加平均抽取。這是空間換時間的策略的體現。這個編代碼也很容易,只需要申請一片內存區,內存區的大小可以定為256的倍數,這是因為在提升4位分辨率情況下,一個16位的輸出樣本需要256個12位樣本。

總結一下

在成本受限的情況下,可以通過單片機片內ADC過采樣以及累積抽取的技術來提升采樣分辨率,這種技術的特點:

  • 可以使用過采樣和平均來提高測量分辨率,而無需增加昂貴的片外ADC。
  • 過采樣和加和抽取將以提高CPU利用率和降低吞吐量為代價來提高SNR和測量分辨率。
  • 過采樣和加和抽取可以改善白噪聲的信噪比。

本文轉載自:嵌入式客棧微信公眾號(作者: 逸珺)


免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 果冻传媒mv国产陈若瑶主演| 国产精品伦一区二区三级视频| 色婷婷AV国产精品欧美毛片| 男人扒开添女人下部口述| 精品国产福利在线视频| 国产欧美精品一区二区三区-老狼 国产欧美精品国产国产专区 | 快播电影网址| 久久婷婷五月综合色精品首页| 韩日午夜在线资源一区二区| 国产亚洲日韩另类在线播放| 国产欧美一区二区三区在线看| 国产精品成人观看视频免费| 国产精品久久久久成人免费| 国产精品国产三级国产an| 国产精品久久久亚洲偷窥女厕| 国产极品美女视频福利| 国产精品亚洲AV色欲在线观看| 国产日韩欧美高清免费视频| 国拍自产精品福利区| 国精产品一区一区三区有| 狠狠色狠狠色综合系列| 九九视频在线观看视频6| 久久99热成人精品国产| 久久夜色撩人精品国产| 男男免费看| 秋霞三级理伦免费观看| 日本最新免费区中文| 忘忧草秋观看未满十八| 亚洲国产欧美国产综合在线| 一区三区三区不卡| 97国产成人精品视频| 爆乳啪啪无码成人二区亚洲欧美| 国产 交换 丝雨 巅峰| 国产亚洲精品久久久999密臂 | 亚洲国产精品一区二区久久第| 一亲二脱三插| 99视频精品在线| 福利片福利一区二区三区| 国产永久视频| 麻豆区蜜芽区| 色偷偷爱偷偷要|