這應該是過采樣系列的最后一篇文章,經常有同學在使用FPGA、單片機或者DSP進行過采樣時沒有正確設計代碼,導致結果異常,有些結果看似正常,而實際卻沒有意義。
這篇文章涉及到簡單的整型數據和算術運算,希望能有所幫助,僅供參考。
舉栗子,理想的8 bit ADC,編碼范圍是0-255,在參考電壓是255mV的情況下,分辨率是1mV。
對一個理想的9.6mV直流電壓進行采樣,ADC無法分辨小數點后的0.6mV,采樣結果會被編碼為10,即10mV。
過采樣有效是有前提條件的,在這里是對9.6V的直流電壓加隨機噪聲。
過采樣
對疊加噪聲后的信號進行4次采樣,理論上應該得到[9.8, 9.6, 10.4, 9.6]4個離散的樣本點,而受到ADC分辨率的限制,實際只能得到[10, 10, 10, 10]4個編碼樣本,所有樣本點都只能分布在。。。8、9、10。。。整數上。
接下來就對這4個樣本點詳細介紹,直觀的感受過采樣的原理。
假設信號帶寬為B,我們分別分析采樣頻率F為2B sps/S和8B sps/S兩種情況。
當采樣頻率為2B時,過采樣率OSR1=F/(2B)=1;
當采樣頻率為8B時,過采樣率OSR4=F/(2B)=4;
OSR4/OSR1=4,即過采樣率提高了4倍(注意:是提高了4倍),其分辨率應該會增加1bit。
繼續以上面采樣9.6mV信號舉栗子。
當以采樣頻率F=1采樣時,采集的結果是[10, 10,10, 10]中的任意一個,對應二進制(0000 1010)。
當以采樣頻率F=4采樣時,采集的結果是[10, 10,10, 10]4個序列。
下面對F=4的4個數據進行下抽處理(降采樣),可以減少計算量增加分辨率。
抽取
ADC是8bit的分辨率,但是在過采樣計算時,不能定義并初始化一個8bit的整形數據,如果初始化8bit的數據,計算過程會溢出,最終結果的位寬還是8bit,并沒有增加分辨率,在這里我們定義一個16bit的數據,預留了足夠的buffer。
對采樣得到的4個8bit數據求和運算,需要計算最大位寬,求和后的最大位寬為8+2=10bit,相當于左移了2bit,變為10bit。
如果只是簡單的求平均,求和后的結果再除以采樣個數4的話,則數據其實是右移2bit,又變回原來的8bit位寬,并沒有增加分辨率。
在這里我們選擇下抽方法是求和后除以2,即右移1bit,則數據從10bit變為9bit,相比于原始的8bit,增加了1bit分辨率(過采樣容易理解,更重要的是下抽)。
過采樣率為4時,采樣的4個數據序列[10, 10,10, 10]求和后是40,對應二進制(00 0010 1000),右移1bit后變為20,對應二進制(0 0001 0100)
255mV參考電壓下,原始的8bit ADC,分辨率為1mV,采集的數據是9(0000 1001),即9mV;
過采樣率增加4倍后:
255mV參考電壓下,9bit ADC,分辨率為0.5mV,采集的數據是20(0 0001 0100),即10.0(9.98)mV;
過采樣率增加4倍的前提下,只提高了1bit分辨率,效果不是很明顯,繼續在9.6mV基礎上添加隨機噪聲,這次過采樣率再增加4倍,達到16倍,即采樣速率F=16,對16個采樣序列進行計算舉例。
對采樣得到的16個8bit數據求和運算,最大位寬是8+4=12bit。
求和:108+97+11=154,對應二進制是(0000 1001 1010),再右移2bit,則變為10bit的38(00 0010 0110),(再次強調,不能簡單的求和然后求平均)。
9.6mV加噪信號:
1、255mV參考電壓下,原始的8bit ADC,分辨率為1mV,采集的數據是10(0000 1001),即10mV
2、 過采率為4后:
255mV參考電壓下,9bit ADC,分辨率為0.5mV,采集的數據是20(0 0001 0100),即10.0(9.98)mV;
3、 過采率為16后:
255mV參考電壓下,10bit ADC,分辨率為0.25mV,采集的數據是38(00 0010 0110),即9.47mV;
從列舉的例子可以看出,過采樣率是可以提高分辨率的,但是提高采樣速率來提高分辨率的代價是巨大的。
審核編輯:劉清
-
adc
+關注
關注
99文章
6538瀏覽量
545942 -
參考電壓
+關注
關注
0文章
27瀏覽量
9092 -
直流電壓
+關注
關注
1文章
300瀏覽量
20219
發布評論請先 登錄
相關推薦
聊一聊手機上LCD的背光驅動芯片
火爆的VR產業背后隱藏的負面影響
【先楫HPM5361EVK開發板試用體驗】PWM輸出
關于CAN FD RX幀接收和接受過濾過程中遇到的疑問求解
![](https://file.elecfans.com/web2/M00/B1/20/poYBAGS2hJCAL0XTAAqHsh6ffIA325.png)
學linux的確是高起點,且不易,求指教?
如何使用Contiki開發程序
直觀感受全球工業互聯網平臺的應用
VR技術新突破,可通過觸覺感受虛擬環境
重新設計驍龍888處理器 第六代高通AI引擎全面提升
STM32基礎入門(一)——STM32概覽
![STM32基礎入門(一)——STM32概覽](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
M6Y2C核心板平臺對輻射測試的影響
![M6Y2C核心板平臺對輻射測試的影響](https://file1.elecfans.com/web2/M00/82/C4/wKgaomRhztaAazvaAAAni2U7UKE331.png)
評論