ADTF過(guò)濾器全面解析:構(gòu)建、配置與數(shù)據(jù)處理應(yīng)用
在ADTF (Automotive Data and Time-Triggered Framework)中,過(guò)濾器(Filter)扮演著數(shù)據(jù)處理的核心角色。過(guò)濾器是處理數(shù)據(jù)流的基本單元,它們接收、處理并發(fā)送數(shù)據(jù)。接下來(lái),將分享ADTF中創(chuàng)建和使用過(guò)濾器,包括設(shè)置輸入輸出針腳(Pins)、配置觸發(fā)器(Triggers)以及處理數(shù)據(jù)樣本(Samples)。
一、過(guò)濾器基礎(chǔ)
過(guò)濾器是ADTF中用于數(shù)據(jù)處理和轉(zhuǎn)換的小型處理單元,可以通過(guò)特定的接口接收和發(fā)送數(shù)據(jù),如圖1所示。
圖1 Filter
過(guò)濾器核心能力如下:
1. 數(shù)據(jù)接收:通過(guò)輸入引腳(In Pins)和對(duì)應(yīng)的樣本讀取器(Sample Reader)接收數(shù)據(jù)。
2. 數(shù)據(jù)發(fā)送:通過(guò)輸出引腳(Out Pins)和對(duì)應(yīng)的樣本寫入器(Sample Writer)發(fā)送數(shù)據(jù)。
3. 數(shù)據(jù)處理:在運(yùn)行器(Runners)(也稱為觸發(fā)上下文、可運(yùn)行對(duì)象或可調(diào)用對(duì)象)的上下文中處理數(shù)據(jù)。
在進(jìn)行過(guò)濾器的設(shè)計(jì),考慮將數(shù)據(jù)傳輸與運(yùn)行時(shí)行為分離。因此引入了觸發(fā)機(jī)制,包括數(shù)據(jù)觸發(fā)和時(shí)間觸發(fā)。
1. 數(shù)據(jù)觸發(fā): 功能在傳入數(shù)據(jù)事件上運(yùn)行。
2. 時(shí)間觸發(fā): 功能在傳入時(shí)間事件上運(yùn)行。
通過(guò)這種設(shè)計(jì)支持構(gòu)建一個(gè)強(qiáng)大且可適應(yīng)的系統(tǒng),使用過(guò)濾器可以輕松集成和定制。比如在數(shù)采系統(tǒng)中,通過(guò)不同的時(shí)間觸發(fā)設(shè)計(jì),以適應(yīng)不同頻率的傳感器數(shù)據(jù)采集。或者利用cDataTriggerHint類來(lái)確保當(dāng)車輛傳感器數(shù)據(jù)(如攝像頭圖像)到達(dá)時(shí),觸發(fā)相應(yīng)的數(shù)據(jù)處理算法運(yùn)行,從而實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)流的高效響應(yīng)和處理。
二、創(chuàng)建過(guò)濾器
通常,在ADTF中濾波器會(huì)被打包成一個(gè)插件。通過(guò)ADTF 的插件機(jī)制使其能夠在 ADTF 的運(yùn)行時(shí)加載。在濾波器中,可以通過(guò)可以創(chuàng)建輸出引腳或輸入引腳,這里我們以輸出引腳為例。引腳傳輸出去的數(shù)據(jù),在ADTF中稱為樣本(Sample)。其代碼案例如下,創(chuàng)建一個(gè)濾波器并添加一個(gè)輸出引腳及樣本數(shù)據(jù)。
三、 樣本(Sample)
樣本(Sample)是 ADTF中用于數(shù)據(jù)傳輸?shù)幕締卧K鼈儾粌H包含數(shù)據(jù)本身,還包含與數(shù)據(jù)流相關(guān)的元信息,如圖2所示。
圖2 Sample
一般來(lái)說(shuō),樣本通過(guò) streaming::ISample 接口進(jìn)行操作。其樣本組成包含以下內(nèi)容:
1. 時(shí)間戳(Timestamp):為每個(gè)數(shù)據(jù)提供時(shí)間關(guān)聯(lián)。
2. 樣本緩沖區(qū)(SampleBuffer):通常是一個(gè)內(nèi)存塊的引用,包含用戶數(shù)據(jù)。
3. 樣本信息(Sample Info)(可選):提供額外的元數(shù)據(jù)。
4. 子流 ID(Substream Id)(可選):用于標(biāo)識(shí)特定的數(shù)據(jù)子流。
比如我們可以輕易實(shí)現(xiàn)將內(nèi)存緩沖區(qū)內(nèi)容復(fù)制到樣本中,實(shí)現(xiàn)數(shù)據(jù)傳輸。
四、過(guò)濾器應(yīng)用
ADTF過(guò)濾器的應(yīng)用場(chǎng)景廣泛,它們不僅能夠處理和轉(zhuǎn)換數(shù)據(jù),還能夠根據(jù)特定的需求定制功能。在圖3所示,在人臉識(shí)別算法工程中,過(guò)濾器被用于處理從攝像頭捕獲的視頻流。
首先,一個(gè)過(guò)濾器用于解碼視頻流,將原始數(shù)據(jù)轉(zhuǎn)換為圖像幀。接下來(lái),通過(guò)一個(gè)復(fù)雜的過(guò)濾器(OpenCV Face Detector Filter)實(shí)現(xiàn)人臉識(shí)別算法,識(shí)別并跟蹤視頻中的人臉。通過(guò)這些過(guò)濾器的協(xié)同工作,系統(tǒng)能夠?qū)崟r(shí)處理視頻數(shù)據(jù),并提供有用的輸出,如安全監(jiān)控或人流量統(tǒng)計(jì)。
圖3 人臉識(shí)別算法工程
此外,過(guò)濾器可用于多種用途,包括但不限于:
1. 解碼來(lái)自CAN、MOST或FlexRay等設(shè)備的流源數(shù)據(jù)。
2. 預(yù)處理傳入數(shù)據(jù),為算法實(shí)現(xiàn)做準(zhǔn)備。
3. 通過(guò)復(fù)雜的算法實(shí)現(xiàn)重新計(jì)算和合并傳入數(shù)據(jù)。
4. 實(shí)現(xiàn)循環(huán)控制器。
5. 接收傳入數(shù)據(jù)并進(jìn)行數(shù)據(jù)可視化。
五、總結(jié)
ADTF過(guò)濾器提供了一個(gè)靈活且強(qiáng)大的平臺(tái),用于構(gòu)建和集成數(shù)據(jù)處理流程。無(wú)論是在汽車、工業(yè)自動(dòng)化等領(lǐng)域,過(guò)濾器都能夠提供定制化的解決方案,滿足特定的技術(shù)需求。通過(guò)合理設(shè)計(jì)和配置過(guò)濾器,可以大大提高數(shù)據(jù)處理的效率和可靠性。
相關(guān)產(chǎn)品
免責(zé)聲明
- 凡本網(wǎng)注明“來(lái)源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來(lái)源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其他來(lái)源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。