0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

過采樣4:提高ADC分辨率實例(終篇)

工程師看海 ? 來源:硬件工程師看海 ? 作者:硬件工程師看海 ? 2021-04-14 09:14 ? 次閱讀

原文來自公眾號:硬件工程師看海

公眾號后臺回復(fù):過采樣有更多資料

這應(yīng)該是過采樣系列的最后一篇文章,經(jīng)常有同學(xué)在使用FPGA單片機或者DSP進(jìn)行過采樣時沒有正確設(shè)計代碼,導(dǎo)致結(jié)果異常,有些結(jié)果看似正常,而實際卻沒有意義。

這篇文章涉及到簡單的整型數(shù)據(jù)和算術(shù)運算,希望能有所幫助,僅供參考。

舉栗子,理想的8 bit ADC,編碼范圍是0-255,在參考電壓是255mV的情況下,分辨率是1mV。

對一個理想的9.6mV直流電壓進(jìn)行采樣,ADC無法分辨小數(shù)點后的0.6mV,采樣結(jié)果會被編碼為10,即10mV。

過采樣有效是有前提條件的,在這里是對9.6mV的直流電壓加隨機噪聲。

過采樣

對疊加噪聲后的信號進(jìn)行4次采樣,理論上應(yīng)該得到[9.8, 9.6, 10.4, 9.6]4個離散的樣本點,而受到ADC分辨率的限制,實際只能得到[10, 10, 10, 10]4個編碼樣本,所有樣本點都只能分布在。。。8、9、10。。。整數(shù)上。

接下來就對這4個樣本點詳細(xì)介紹,直觀的感受過采樣的原理。

假設(shè)信號帶寬為B,我們分別分析采樣頻率F為2B sps/S和8B sps/S兩種情況。

當(dāng)采樣頻率為2B時,過采樣率OSR1=F/(2B)=1;

當(dāng)采樣頻率為8B時,過采樣率OSR4=F/(2B)=4;

OSR4/OSR1=4,即過采樣率提高了4倍(注意:是提高了4倍),其分辨率應(yīng)該會增加1bit。

過采樣系列一:采樣定理與過采樣率

繼續(xù)以上面采樣9.6mV信號舉栗子。

當(dāng)以采樣頻率F=1采樣時,采集的結(jié)果是[10, 10,10, 10]中的任意一個,對應(yīng)二進(jìn)制(0000 1010)。

當(dāng)以采樣頻率F=4采樣時,采集的結(jié)果是[10, 10,10, 10]4個序列。

下面對F=4的4個數(shù)據(jù)進(jìn)行下抽處理(降采樣),可以減少計算量增加分辨率。

抽取

ADC是8bit的分辨率,但是在過采樣計算時,不能定義并初始化一個8bit的整形數(shù)據(jù),如果初始化8bit的數(shù)據(jù),計算過程會溢出,最終結(jié)果的位寬還是8bit,并沒有增加分辨率,在這里我們定義一個16bit的數(shù)據(jù),預(yù)留了足夠的buffer。

對采樣得到的4個8bit數(shù)據(jù)求和運算,需要計算最大位寬,求和后的最大位寬為8+2=10bit,相當(dāng)于左移了2bit,變?yōu)?0bit。

如果只是簡單的求平均,求和后的結(jié)果再除以采樣個數(shù)4的話,則數(shù)據(jù)其實是右移2bit,又變回原來的8bit位寬,并沒有增加分辨率。

在這里我們選擇下抽方法是求和后除以2,即右移1bit,則數(shù)據(jù)從10bit變?yōu)?bit,相比于原始的8bit,增加了1bit分辨率(過采樣容易理解,更重要的是下抽)。

過采樣系列二:量化誤差與過采樣率

過采樣率為4時,采樣的4個數(shù)據(jù)序列[10, 10,10, 10]求和后是40,對應(yīng)二進(jìn)制(00 0010 1000),右移1bit后變?yōu)?0,對應(yīng)二進(jìn)制(0 0001 0100)

255mV參考電壓下,原始的8bit ADC,分辨率為1mV,采集的數(shù)據(jù)是9(0000 1001),即9mV;

過采樣率增加4倍后:

255mV參考電壓下,9bit ADC,分辨率為0.5mV,采集的數(shù)據(jù)是20(0 0001 0100),即10.0(9.98)mV;

過采樣率增加4倍的前提下,只提高了1bit分辨率,效果不是很明顯,繼續(xù)在9.6mV基礎(chǔ)上添加隨機噪聲,這次過采樣率再增加4倍,達(dá)到16倍,即采樣速率F=16,對16個采樣序列進(jìn)行計算舉例。

對采樣得到的16個8bit數(shù)據(jù)求和運算,最大位寬是8+4=12bit。

求和:10*8+9*7+11=154,對應(yīng)二進(jìn)制是(0000 1001 1010),再右移2bit,則變?yōu)?0bit的38(00 0010 0110),(再次強調(diào),不能簡單的求和然后求平均)。

9.6mV加噪信號:

1、255mV參考電壓下,原始的8bit ADC,分辨率為1mV,采集的數(shù)據(jù)是9(0000 1001),即9mV

2、過采率為4后:

255mV參考電壓下,9bit ADC,分辨率為0.5mV,采集的數(shù)據(jù)是20(0 0001 0100),即10.0(9.98)mV;

3、過采率為16后:

255mV參考電壓下,10bit ADC,分辨率為0.25mV,采集的數(shù)據(jù)是38(00 0010 0110),即9.47mV;

從列舉的例子可以看出,過采樣率是可以提高分辨率的,但是提高采樣速率來提高分辨率的代價是巨大的(牛頓第三定律:得到點東西時總要舍棄點什么^_^)。

感謝轉(zhuǎn)發(fā)、贊賞、分享。

分享,讓知識更簡單。

---------------------分割線---------------------

公眾號往期干貨:

華為海思軟硬件開發(fā)資料

電感參數(shù)有哪些?怎么選擇電感?

工程師必須知道的LDO工作原理

怎么選擇BUCK降壓電源的電感?

電源模塊可以并聯(lián)使用嗎?!

你知道電感和磁珠的6大區(qū)別嗎?

一文理解電荷泵電源原理

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    551

    文章

    7828

    瀏覽量

    346983
  • adc
    adc
    +關(guān)注

    關(guān)注

    97

    文章

    6314

    瀏覽量

    542572
  • 分辨率
    +關(guān)注

    關(guān)注

    2

    文章

    1008

    瀏覽量

    41751
  • 采樣
    +關(guān)注

    關(guān)注

    1

    文章

    116

    瀏覽量

    25479
收藏 人收藏

    評論

    相關(guān)推薦

    通過ADC采樣提高測量的分辨率

    在大多數(shù)情況下,10位的分辨率就足夠了。但在某些情況下需要更高的精度。采用特殊的信號處理技術(shù)可以提高測量的分辨率。
    發(fā)表于 07-03 09:54 ?1534次閱讀
    通過<b class='flag-5'>ADC</b>的<b class='flag-5'>過</b><b class='flag-5'>采樣</b><b class='flag-5'>提高</b>測量的<b class='flag-5'>分辨率</b>

    ADC的噪聲、ENOB及有效分辨率

    噪聲計數(shù)。同樣,采用相同的無噪聲分辨率值,該例可得218.9,合489178個無噪聲計數(shù)?! ˇ?ΣADC采樣  Δ-Σ ADC采用一種
    發(fā)表于 11-26 16:48

    ADC分辨率可以通過采樣的方式提高嗎?

    ADC分辨率是16位,用過采樣的方式將分辨率提高到20位。ADC最大的
    發(fā)表于 11-30 10:33

    怎樣通過單片機ADC采樣來提升采樣分辨率

    什么是采樣呢?怎么利用過采樣實現(xiàn)更高的分辨率呢?怎樣通過單片機ADC
    發(fā)表于 02-28 09:12

    如何實現(xiàn)STM32 MCU的16位ADC分辨率

    STM32 MCU 具有 12 位 ADC 分辨率,但一些 MCU 聲稱“高達(dá) 16 位硬件采樣”。當(dāng)我在 STMCubeMX 中設(shè)置 ADC
    發(fā)表于 12-01 06:11

    通過過采樣提高SOC單片機片內(nèi)A_D分辨率

    敘述了基于采樣技術(shù),使用軟件方法提高單片機片內(nèi)A/ D 分辨率的基本原理及實現(xiàn)方法。給出了一個實現(xiàn)示例,將C8051F040 片內(nèi)12 位分辨率
    發(fā)表于 03-20 14:07 ?18次下載

    利用過采樣技術(shù)提高ADC測量分辨率

    提出了用過采樣技術(shù)使在有用的測量頻帶內(nèi)的信噪比得到改善, 從而提高ADC 測量的分辨率。并利用Matlab 對其結(jié)論進(jìn)行仿真, 且在TMS320L F2407 DSP 上予以實現(xiàn),結(jié)果
    發(fā)表于 03-20 14:09 ?41次下載
    利用過<b class='flag-5'>采樣</b>技術(shù)<b class='flag-5'>提高</b><b class='flag-5'>ADC</b>測量<b class='flag-5'>分辨率</b>

    單片機內(nèi)置ADC實現(xiàn)高分辨率采樣

    [導(dǎo)讀] 相信ADC的應(yīng)用或多或少都會用到,在很多場合都有分辨率要求,要實現(xiàn)較高分辨率時,第一時間會想到采用一個較高位數(shù)的外置ADC去實現(xiàn)。 可是高
    的頭像 發(fā)表于 10-14 14:48 ?2634次閱讀
    單片機內(nèi)置<b class='flag-5'>ADC</b>實現(xiàn)高<b class='flag-5'>分辨率</b><b class='flag-5'>采樣</b>?

    利用單片機片內(nèi)ADC實現(xiàn)較高分辨率采樣

    [導(dǎo)讀] 相信ADC的應(yīng)用或多或少都會用到,在很多場合都有分辨率要求,要實現(xiàn)較高分辨率時,第一時間會想到采用一個較高位數(shù)的外置ADC去實現(xiàn)??墒歉?b class='flag-5'>分
    的頭像 發(fā)表于 10-19 17:15 ?3233次閱讀
    利用單片機片內(nèi)<b class='flag-5'>ADC</b>實現(xiàn)較高<b class='flag-5'>分辨率</b><b class='flag-5'>采樣</b>

    單片機內(nèi)置ADC實現(xiàn)高分辨率采樣

    相信ADC的應(yīng)用或多或少都會用到,在很多場合都有分辨率要求,要實現(xiàn)較高分辨率時,第一時間會想到采用一個較高位數(shù)的外置ADC去實現(xiàn)??墒歉?b class='flag-5'>分辨率
    的頭像 發(fā)表于 02-09 14:40 ?2118次閱讀
    單片機內(nèi)置<b class='flag-5'>ADC</b>實現(xiàn)高<b class='flag-5'>分辨率</b><b class='flag-5'>采樣</b>

    太秀了!單片機內(nèi)置ADC實現(xiàn)高分辨率采樣?

    相信ADC的應(yīng)用或多或少都會用到,在很多場合都有分辨率要求,要實現(xiàn)較高分辨率時,第一時間會想到采用一個較高位數(shù)的外置ADC去實現(xiàn)??墒歉?b class='flag-5'>分辨率
    發(fā)表于 01-25 06:58 ?8次下載
    太秀了!單片機內(nèi)置<b class='flag-5'>ADC</b>實現(xiàn)高<b class='flag-5'>分辨率</b><b class='flag-5'>采樣</b>?

    AD9260:2.5 MHz輸出字下16位分辨率的高速采樣CMOS ADC數(shù)據(jù)表

    AD9260:2.5 MHz輸出字下16位分辨率的高速采樣CMOS ADC數(shù)據(jù)表
    發(fā)表于 04-17 17:07 ?14次下載
    AD9260:2.5 MHz輸出字<b class='flag-5'>率</b>下16位<b class='flag-5'>分辨率</b>的高速<b class='flag-5'>過</b><b class='flag-5'>采樣</b>CMOS <b class='flag-5'>ADC</b>數(shù)據(jù)表

    如何通過過采樣的方式提高有效位分辨率

    位(比特)分辨率采樣率是模數(shù)轉(zhuǎn)換器(ADC)最重要的兩個參數(shù)。高位分辨率ADC可以有效地減少由采樣
    的頭像 發(fā)表于 01-21 14:20 ?6111次閱讀
    如何通過過<b class='flag-5'>采樣</b>的方式<b class='flag-5'>提高</b>有效位<b class='flag-5'>分辨率</b>

    通過ADC采樣提高測量分辨率的方法

    在大多數(shù)情況下,10位的分辨率就足夠了。但在某些情況下需要更高的精度。
    的頭像 發(fā)表于 07-03 09:49 ?3117次閱讀
    通過<b class='flag-5'>ADC</b>的<b class='flag-5'>過</b><b class='flag-5'>采樣</b><b class='flag-5'>提高</b>測量<b class='flag-5'>分辨率</b>的方法

    STM32的12位ADC采樣實現(xiàn)16位分辨率

    采樣技術(shù)是一種以犧牲采樣速度來提高ADC分辨率的技術(shù)。部分STM32單片機是支持硬件
    的頭像 發(fā)表于 10-12 10:19 ?7392次閱讀
    STM32的12位<b class='flag-5'>ADC</b><b class='flag-5'>過</b><b class='flag-5'>采樣</b>實現(xiàn)16位<b class='flag-5'>分辨率</b>