如何處理 AD 轉(zhuǎn)換器數(shù)據(jù)流的介紹
掃描二維碼
隨時(shí)隨地手機(jī)看文章
如果我們已經(jīng)設(shè)置了 A/D 轉(zhuǎn)換器或智能傳感器,并且主機(jī)處理器正在從讀數(shù)中獲取數(shù)據(jù),這是第一步。對(duì)于某些應(yīng)用程序,按需讀取一次可能很有用。許多應(yīng)用程序要求對(duì)讀數(shù)流進(jìn)行一些計(jì)算。
信號(hào)處理是一個(gè)深?yuàn)W的話題,但我們將為制造商保持簡(jiǎn)單。這里有一些關(guān)于處理 A/D 數(shù)據(jù)流的基礎(chǔ)知識(shí)。
1. 時(shí)間是一個(gè)重要的維度
分析二維 (2D) 數(shù)據(jù),例如來(lái)自圖像傳感器的像素?cái)?shù)據(jù),要復(fù)雜得多。為此,我們假設(shè)我們正在處理來(lái)自每個(gè)傳感器的連續(xù)、實(shí)時(shí)的一維 (1D) 時(shí)間序列。時(shí)間序列就是它聽起來(lái)的樣子:在連續(xù)時(shí)間點(diǎn)采集的樣本,從最早到最近。
使分析更容易的是一致間隔的 A/D 樣本。理想情況下,樣本具有恒定的輸出數(shù)據(jù)速率 (ODR),以設(shè)定的頻率觸發(fā)讀數(shù)。無(wú)論主機(jī)何時(shí)讀取數(shù)據(jù),樣本間距都是已知且一致的。例如,20 Hz 的 ODR 意味著樣本相隔 50 毫秒。雖然可以為不規(guī)則樣本加上時(shí)間戳并計(jì)算出間距,但這需要更多的存儲(chǔ)和更多的處理。
1. 本地決策可以提供幫助
另一個(gè)簡(jiǎn)化來(lái)自理解應(yīng)用程序和解釋數(shù)據(jù)及其意義。這是邊緣計(jì)算的關(guān)鍵原則之一——不要將原始數(shù)據(jù)發(fā)送到云端進(jìn)行處理,這并不有趣。本地決策有助于減少網(wǎng)絡(luò)擁塞和云存儲(chǔ)需求。
幾個(gè)例子可能有助于說(shuō)明這一點(diǎn)。假設(shè)傳感器正在監(jiān)測(cè)泵電機(jī)的溫度。您需要查看完全正常的讀數(shù)嗎?不,您想知道傳感器是否正常工作,它會(huì)在溫度升高并接近過(guò)熱時(shí)提醒您。
另一個(gè)例子是模型火箭高度計(jì)。當(dāng)它坐在發(fā)射臺(tái)上時(shí),它是靜止的,除了設(shè)置參考零高度之外,讀數(shù)并不是很有趣。從高度計(jì)的角度來(lái)看,“發(fā)射”是在高于閾值(如 5 米)的高度變化加上加速度時(shí)出現(xiàn)的。數(shù)據(jù)收集從那時(shí)開始。
1. 處理的三個(gè)基本方案
制造商可能熟悉一批樣本數(shù)據(jù)的統(tǒng)計(jì)計(jì)算。處理實(shí)時(shí)采樣的 A/D 數(shù)據(jù)流有點(diǎn)不同。流處理有三個(gè)基本動(dòng)機(jī)。
· 降噪:使用平均技術(shù)可以輕松消除均勻分布的“白”噪聲。移動(dòng)平均線試圖平滑信號(hào),取最近的 N 個(gè)樣本并對(duì)它們進(jìn)行平均。當(dāng)下一個(gè)樣本進(jìn)來(lái)時(shí),它與最近的 N-1 個(gè)樣本一起被扔進(jìn)去并再次平均。移動(dòng)平均引入了滯后,隨著周期變大,滯后變大。通常,計(jì)算并比較兩個(gè)移動(dòng)平均線,一個(gè)具有較短周期的 M 個(gè)樣本,另一個(gè)具有較長(zhǎng)周期的 N 個(gè)樣本。
· 預(yù)測(cè):對(duì)于控制系統(tǒng),能夠預(yù)測(cè)或至少對(duì)來(lái)自一組先前樣本的下一個(gè)樣本進(jìn)行有根據(jù)的猜測(cè)是非常有用的。例如,用外力(如工作中的風(fēng)速變化)來(lái)預(yù)測(cè)無(wú)人機(jī)的運(yùn)動(dòng)是一項(xiàng)挑戰(zhàn)。有“過(guò)濾”步驟預(yù)測(cè)器,將不確定性納入最佳新估計(jì)。最常見的是卡爾曼濾波器,通常在罐裝庫(kù)算法中可用。
· 頻域分析:時(shí)間序列可能會(huì)揭示一些信息,但真正的信息往往在于頻域。假設(shè) Nyquist 采樣,快速傅立葉變換 (FFT) 將時(shí)間序列數(shù)據(jù)轉(zhuǎn)換為頻率區(qū)間中的能量。對(duì)于分析音頻數(shù)據(jù)或振動(dòng)模式,使用頻域是必不可少的。
1. 傳感器融合可以提供洞察力
最后,還有傳感器融合的想法。來(lái)自不同類型傳感器的讀數(shù)結(jié)合起來(lái)產(chǎn)生的信息比單獨(dú)一個(gè)傳感器所能提供的信息多。傳感器融合也會(huì)很快變得復(fù)雜。在傳感器之間融合具有不同采樣率和時(shí)間延遲的數(shù)據(jù)變得不切實(shí)際。
簡(jiǎn)化有幫助。讓我們回到我們的模型火箭高度計(jì)示例。好的高度計(jì)同時(shí)具有壓力傳感器和加速度計(jì),并且它們以相同的低采樣率運(yùn)行,因此沒有明顯的相位延遲。我們談到了檢測(cè)“發(fā)射”。僅從壓力讀數(shù)就可以得出近似的最大高度或遠(yuǎn)地點(diǎn)。更準(zhǔn)確的讀數(shù)來(lái)自加速度停止的樣本的相關(guān)性——1 g,直線下降。
傳感器融合在無(wú)人機(jī)和機(jī)器人中廣泛使用的慣性測(cè)量單元 (IMU) 中也很常見。結(jié)合加速度計(jì)、陀螺儀和磁力計(jì)讀數(shù),可以更完整地了解姿勢(shì)。具有集成處理功能的封裝 IMU 可以完成大部分計(jì)算。
重述處理 A/D 數(shù)據(jù)流的步驟
給定關(guān)鍵算法的庫(kù),時(shí)間序列數(shù)據(jù)分析是可行的。以下是步驟的摘要:
· 為傳感器選擇并設(shè)置 ODR,并為任何其他傳感器選擇相同的速率。
· 應(yīng)用本地決策以減少數(shù)據(jù)傳輸、處理和存儲(chǔ)要求。
· 確定應(yīng)用程序需要什么:降噪、預(yù)測(cè)或頻域分析。
· 盡可能從應(yīng)用程序庫(kù)中為更復(fù)雜的算法借用經(jīng)過(guò)驗(yàn)證的代碼。
· 在問(wèn)題得到充分探索且解決方案已知的情況下,利用傳感器融合。
通過(guò)處理 A/D 數(shù)據(jù)流獲得信心可以從數(shù)據(jù)中獲得更多見解。它甚至可能會(huì)激發(fā)您使用自己的傳感器包和算法進(jìn)行創(chuàng)新。