本發(fā)明涉及一種用于重構(gòu)錯誤接收的數(shù)據(jù)包的方法,該數(shù)據(jù)包在無線傳感器網(wǎng)絡(luò)中由無線電節(jié)點發(fā)送至接收單元。
背景技術(shù):
為了控制、調(diào)節(jié)、監(jiān)控機器、如生產(chǎn)機器、機動車、操作機器(機器手)等或設(shè)備、如生產(chǎn)設(shè)備、制造設(shè)備、用于車輛或車輛部件的測試臺等,使用各種傳感器來檢測不同的測量參數(shù)并且將檢測到的測量參數(shù)的測量值發(fā)送至相配的控制單元。同樣,這種機器和設(shè)備也包括多個致動器,以便借此在控制單元的控制下控制機器或設(shè)備。例如現(xiàn)代車輛包括不同的控制單元、如發(fā)動機控制單元(ecu)、變速器控制單元(tcu)、混合動力控制單元(hcu)、制動控制單元(bcu)等,它們接收并處理來自各種安裝在車輛上的傳感器的所有不同測量值?;谶@些測量值,借助同樣安裝的致動器對車輛或車輛部件進行不同干預(yù)、如基于廢氣中的當(dāng)前co-、co2或nox含量調(diào)整空氣燃料比。安裝的傳感器和致動器的整體或其一部分稱為傳感器網(wǎng)絡(luò)。
但許多傳感器和致動器必須與控制單元連接,這引起布線。在此常常使用,借助所述現(xiàn)場總線,i/o單元和控制單元通過數(shù)據(jù)總線、如can、lin、flexray、以太網(wǎng)等相互連接。傳感器和致動器與i/o單元連接,i/o單元作為總線參與者連接到數(shù)據(jù)總線上。此外,還有硬連線系統(tǒng),在其中傳感器與相配的控制單元通過單獨的電纜硬連線。這導(dǎo)致高布線成本、高錯誤可能、高安裝成本,高維護費用以及高重量。
與這種有線傳感器網(wǎng)絡(luò)相反,越來越多地使用無線傳感器網(wǎng)絡(luò),在其中無線傳感器/致動器(在下文稱為無線電節(jié)點)通過無線數(shù)據(jù)連接與相配的控制單元交換數(shù)據(jù)。由此至少部分省卻了目前為此所需的布線費用。這種無線傳感器網(wǎng)絡(luò)包括多個無線電節(jié)點,它們與相配的基站通信。在此當(dāng)然也可設(shè)置多個基站,其分別與多個無線電節(jié)點連接。
但是在無線傳感器網(wǎng)絡(luò)中也產(chǎn)生一系列問題。無線傳感器網(wǎng)絡(luò)的工業(yè)環(huán)境常常是粗糙的且對于無線數(shù)據(jù)通信有許多干擾可能性(如電磁干擾源、信號屏蔽、信號反射等)。此外,無線傳感器網(wǎng)絡(luò)通常也必須與其它無線通信系統(tǒng)、如wlan或藍牙共享傳輸信道(尤其是特定頻率范圍),這也可造成干擾。最后,無線傳感器/致動器的能源供應(yīng)也是個大問題,因為對于工業(yè)應(yīng)用要求無線電節(jié)點具有足夠長的壽命。然而尤其是無線數(shù)據(jù)傳輸需要大量電能,從而無線電節(jié)點的電池壽命可能會是問題。另外,在數(shù)據(jù)傳輸時還必須實現(xiàn)足夠低的數(shù)據(jù)傳輸錯誤率以及高的數(shù)據(jù)傳輸率,以便能夠在工業(yè)環(huán)境中使用無線傳感器網(wǎng)絡(luò)。
原則上存在在數(shù)字數(shù)據(jù)傳輸技術(shù)中已知的錯誤檢測和錯誤糾正機制,其也可用于無線傳感器網(wǎng)絡(luò)中。這些機制在傳輸之前將現(xiàn)有信息編碼,其隨后以數(shù)據(jù)的形式被傳輸,由此,所述信息在傳輸和接收時不再直接存在,而是必須首先在接收器上解碼。但這種錯誤檢測和錯誤糾正機制包括相當(dāng)復(fù)雜的計算,其在無線傳感器網(wǎng)絡(luò)的情況下必須在發(fā)送的無線電節(jié)點中進行,但這是消耗能量的。這在接收器側(cè)當(dāng)然也同樣增加了計算工作,因為必須首先根據(jù)錯誤檢測和錯誤糾正機制將編碼的數(shù)據(jù)解碼。因此這種方法幾乎不能用于工業(yè)環(huán)境中的無線傳感器網(wǎng)絡(luò)。
因此,近年來對無線傳感器網(wǎng)絡(luò)進行了大量的研究和開發(fā)工作,以便解決與此相關(guān)的問題。
為了減少數(shù)據(jù)傳輸錯誤率,已經(jīng)開發(fā)了合乎于無線傳感器網(wǎng)絡(luò)要求的策略,以便檢驗和校正數(shù)據(jù)。在e.uhlemann等人的“用于工業(yè)無線繼網(wǎng)絡(luò)的硬決定數(shù)據(jù)包合并方法”(通信和電子,2008.ic-ce2008。第二屆國際通信和電子會議,2008年4月-六月,第104-108頁)中說明了如何基于crc(循環(huán)冗余碼)校正接收器中接收到的數(shù)據(jù)。為此不丟棄借助crc確定的、錯誤接收的數(shù)據(jù)包,而是將其存儲于緩存器中。再次由發(fā)送器發(fā)送錯誤接收的數(shù)據(jù)包。如果crc的校驗結(jié)果仍然是錯誤的數(shù)據(jù)傳輸,則逐位分析先前緩存的信息和新接收的信息并且嘗試由其重構(gòu)正確的數(shù)據(jù),其方式是:迭代這兩個數(shù)據(jù)包的不相同位置中的位并且在此分別檢驗crc。該方法被稱為組合測試。當(dāng)數(shù)據(jù)包不能被重構(gòu)時,可請求再一次重傳數(shù)據(jù)包。由此,能夠減少數(shù)據(jù)傳輸錯誤率和所需的數(shù)據(jù)傳輸數(shù)量。類似方法也可由us8,327,232b2獲知。
這種方法的缺點在于,始終需要為此重傳錯誤接收的數(shù)據(jù)包,但這在發(fā)送的無線電節(jié)點中出于有限的既有電能是不希望的,因為由此減少電池的壽命。
技術(shù)實現(xiàn)要素:
現(xiàn)在本發(fā)明的任務(wù)在于提供一種用于在無線傳感器網(wǎng)絡(luò)的接收單元中重構(gòu)錯誤接收的數(shù)據(jù)包的方法,該方法可減少數(shù)據(jù)包重傳的數(shù)量。
所述任務(wù)通過一種方法來解決,在該方法中,在接收單元中實施用于重構(gòu)錯誤接收的數(shù)據(jù)包的第一方法和第二方法,在第一步驟中使用用于重構(gòu)錯誤接收的數(shù)據(jù)包的第一方法并且在此檢驗數(shù)據(jù)包是否已借此被重構(gòu)并且當(dāng)錯誤接收的數(shù)據(jù)包沒有借助第一方法被重構(gòu)時,在隨后的第二步驟中使用用于重構(gòu)錯誤接收的數(shù)據(jù)包的第二方法并且在此檢驗數(shù)據(jù)包是否已借此被重構(gòu)。
在本發(fā)明的一種變型方案中,在接收單元中通過使用預(yù)先已知的不同數(shù)據(jù)區(qū)的內(nèi)容和/或可通過數(shù)據(jù)包特定位推導(dǎo)出的信息實施用于重構(gòu)錯誤接收的數(shù)據(jù)包的第一和第二方法。在此利用所發(fā)送數(shù)據(jù)包的數(shù)據(jù)區(qū)包含預(yù)先已知的內(nèi)容(信息)。由預(yù)先已知的信息推導(dǎo)出的信息也被視為已知信息。
由于實施不同的重構(gòu)方法,因此可使用復(fù)雜度不同的方法,其需要不同的計算工作并保證不同的成功概率。這使得在第一步驟中可針對錯誤接收的數(shù)據(jù)包使用簡單的第一方法,該第一方法優(yōu)選具有很少的計算工作。如果第一方法成功,即可成功重構(gòu)數(shù)據(jù)包,也就沒有必要使用第二方法或甚至請求重傳數(shù)據(jù)包。借助第二方法也可在無需重傳數(shù)據(jù)包的情況下重新嘗試重構(gòu)錯誤接收的數(shù)據(jù)包。在此優(yōu)選需要較少計算工作的方法。內(nèi)在想法在于,基于所實施的數(shù)據(jù)傳輸協(xié)議,在錯誤傳輸時在必須請求重傳數(shù)據(jù)包之前只有有限的時間可用。因此可用于重構(gòu)嘗試的時間有限。因此有利的是以需要較少計算工作的方法開始,由此仍有足夠時間用于實施第二方法的可能性較大。依次使用用于重構(gòu)錯誤接收的數(shù)據(jù)包的不同方法在整體上提高了在無需重傳的情況下重構(gòu)錯誤接收的數(shù)據(jù)包的可能性。
由無線電節(jié)點發(fā)送的數(shù)據(jù)包包括具有數(shù)據(jù)的數(shù)據(jù)區(qū),其直接包含信息(即未編碼,未通過錯誤檢測和錯誤糾正機制編碼)。也就是說,信息在未使用常見錯誤檢測和錯誤糾正機制的情況下直接作為數(shù)據(jù)包含在數(shù)據(jù)區(qū)中。這與在前向糾錯范圍內(nèi)借助已知的錯誤檢測和錯誤糾正機制編碼的信息相反。在后一種情況下,在傳輸和接收時在數(shù)據(jù)區(qū)中僅包含這樣的數(shù)據(jù),其必須在接收器上解碼,以便獲得信息。在此也避免了在接收單元中必須使用功率極強的硬件、如大ram、高速處理器、高度并行計算機(多核)等。否則這些硬件將為信息解碼所需。當(dāng)然也可使用非常復(fù)雜的重構(gòu)方法,但為此沒有可用的標準硬件作為接收單元。與此相反,本發(fā)明能夠在盡可能低的硬件成本下實現(xiàn)盡可能高的重構(gòu)成功概率。
因此,在不依賴于目前常見的、復(fù)雜的錯誤檢測和錯誤糾正機制的情況下可在不重傳的情況下或至少通過較少的重傳實現(xiàn)錯誤接收的數(shù)據(jù)包的重構(gòu)。
該方法可以下述方式有利地擴展,即,當(dāng)錯誤接收的數(shù)據(jù)包沒有借助第二方法被重構(gòu)時,在至少另一接下來的步驟中,使用在接收單元中實施的、用于重構(gòu)錯誤接收的數(shù)據(jù)包的另一方法,并且在此檢驗數(shù)據(jù)包是否已借此被重構(gòu)。使用其它重構(gòu)方法進一步提高了在無需重傳的情況下重構(gòu)錯誤接收的數(shù)據(jù)包的可能性。
一種特別簡單的、能以較少計算工作實施的第一方法在于,數(shù)據(jù)包的數(shù)據(jù)區(qū)的至少一個位的值是已知的并且在錯誤接收的數(shù)據(jù)包中改變所述至少一個位并且在此檢驗數(shù)據(jù)包是否已借助該改變被重構(gòu)。在此可利用關(guān)于數(shù)據(jù)包結(jié)構(gòu)的先驗已知信息來迅速檢查數(shù)據(jù)包特定位的可能的錯誤。
在一種有利的第二方法中使用可通過數(shù)據(jù)包推導(dǎo)出的后驗信息,在此從錯誤接收的數(shù)據(jù)包中推導(dǎo)出數(shù)據(jù)區(qū)的至少一個位的期望值并且在錯誤接收的數(shù)據(jù)包中改變所述至少一個位并且在此檢驗數(shù)據(jù)包是否已借助該改變被重構(gòu)。在該方法中由數(shù)據(jù)中包含的已知信息推導(dǎo)出其它信息,因此該信息也是已知信息。
在此,計算工作略高于第一方法,因為必須首先檢查數(shù)據(jù)包,但這始終可在標準硬件上足夠快地進行。
為了進一步提高修復(fù)概率,如果前兩種方法都沒有成功,可實施用于重構(gòu)錯誤接收的數(shù)據(jù)包的另一方法,該方法必要時在第二方法之后進行。在此有利的另一方法在于,具有位長度的錯誤塊逐步地在錯誤接收的數(shù)據(jù)包的至少一部分上移動,并且在每一步中反置所有位于錯誤塊中的位,并且在每一步中檢驗數(shù)據(jù)包是否已借助該改變被重構(gòu)。在所述另一方法的一種可能的適應(yīng)方案中,可在每一步中迭代位于錯誤塊中的位并且在此分別檢驗數(shù)據(jù)包是否已借助該改變被重構(gòu),這進一步提高了重構(gòu)概率。
如果在不重傳的情況下無法重構(gòu)數(shù)據(jù)包,可規(guī)定,使用其它基于數(shù)據(jù)包重傳的方法。一種可能方法在于,對至少兩個錯誤接收的數(shù)據(jù)包進行相互比較并且確定這兩個數(shù)據(jù)包的不相同的位位置并且逐步地迭代在至少一個所述位位置上的位,并且在此在每一步中檢驗數(shù)據(jù)包是否已借助該改變被重構(gòu)。在此也可規(guī)定,關(guān)于所述位位置定義包括在位位置前面的多個位和在位位置后面的多個位的位區(qū)域并且逐步地迭代該位區(qū)域中的位。
附圖說明
下面參考附圖1至11詳細說明本發(fā)明,所述附圖示例性、示意性并且不起限制作用地示出本發(fā)明的有利方案。在附圖中:
圖1為無線傳感器網(wǎng)絡(luò)的常見配置;
圖2為按照同步時分多址法的數(shù)據(jù)傳輸;
圖3為用于重傳數(shù)據(jù)包的示意圖;
圖4為包含不同數(shù)據(jù)區(qū)的數(shù)據(jù)包的結(jié)構(gòu);
圖5和6為關(guān)于特定數(shù)據(jù)區(qū)內(nèi)容的先驗已知信息的示例
圖7和8為用于重構(gòu)錯誤接收的數(shù)據(jù)包的一種方法的示例;
圖9和10為用于在請求重傳數(shù)據(jù)包的情況下重構(gòu)錯誤接收的數(shù)據(jù)包的一種方法的示例;并且
圖11為用于重構(gòu)錯誤接收的數(shù)據(jù)包的本發(fā)明方法的一種可能的方法流程。
具體實施方式
圖1示出包括基站bs的無線傳感器網(wǎng)絡(luò)1的常見配置。多個無線電節(jié)點fk1...fkn與相配的基站bs無線連接(以虛線表示)并與基站通過無線數(shù)據(jù)連接交換數(shù)據(jù)?;綽s又與控制單元se連接,在該控制單元上也可連接有多個基站bs,其又分別與多個相配的無線電節(jié)點fk連接?;綽s和控制單元se當(dāng)然也可集成到一個設(shè)備中。在傳感器作為無線電節(jié)點fk時,無線電節(jié)點fk將數(shù)據(jù)(通常為測量參數(shù)的測量值)以數(shù)據(jù)包dp的形式發(fā)送至基站bs,在致動器作為無線電節(jié)點fk時則反向進行,數(shù)據(jù)在此通常包括控制指令。為了實現(xiàn)數(shù)據(jù)傳輸協(xié)議,基站bs也可將數(shù)據(jù)包dp傳輸至一個或所有無線電節(jié)點fk,以便例如在錯誤接收到該數(shù)據(jù)包時請求重傳特定的數(shù)據(jù)包dp。但應(yīng)指出,具體的數(shù)據(jù)傳輸協(xié)議對于本發(fā)明而言并不重要,因此僅在理解本發(fā)明所需的范圍內(nèi)對其進行描述。
應(yīng)注意,數(shù)據(jù)包dp在不同數(shù)據(jù)區(qū)df中包含信息。數(shù)據(jù)區(qū)df包括直接(即未編碼)信息。這些信息以數(shù)據(jù)區(qū)df中的數(shù)據(jù)的形式從無線電節(jié)點fk傳輸至接收單元2。在本發(fā)明中不應(yīng)使用提前編碼的信息,其例如在常見的錯誤檢測和錯誤糾正機制中被傳輸。
根據(jù)無線傳感器網(wǎng)絡(luò)1的拓撲結(jié)構(gòu),代替基站bs也可設(shè)置另一網(wǎng)絡(luò)參與者、如中繼器(也是這樣作用的無線電節(jié)點),其無線地與多個無線電節(jié)點fk連接。因此在下面以接收單元2概括表示。
對于無線傳感器網(wǎng)絡(luò)1有利的是,根據(jù)同步時分多址法(tdma)實現(xiàn)數(shù)據(jù)傳輸,但本發(fā)明并不局限于此。在tdma法中,在周期重復(fù)的傳輸周期tz中定義m個時隙zsm,在這些時隙中分別允許一個分配的無線電節(jié)點fkn進行發(fā)送。因此,每個無線電節(jié)點fkn在一個傳輸周期tz內(nèi)總是在相同時隙zs中進行發(fā)送。為了減少用于傳輸數(shù)據(jù)所需的能量,可規(guī)定,并非在每個傳輸周期tz中傳輸數(shù)據(jù),而是在無線電節(jié)點fkn中收集數(shù)據(jù)并且僅在每x個傳輸周期tz中將收集的數(shù)據(jù)以一個數(shù)據(jù)包dp發(fā)送出。這在圖2中示意性示出。在傳輸周期tz1中無線電節(jié)點fkn在相配的時隙zs2中向接收單元2發(fā)送數(shù)據(jù)包dp1。在x個傳輸周期tzx后該無線電節(jié)點fkn再次發(fā)送數(shù)據(jù)包dp2。接收單元2在每個傳輸周期tz中、在此分別在最后一個時隙zsm中向無線電節(jié)點fk發(fā)送應(yīng)答,例如通過確認收到數(shù)據(jù)包dp1和/或請求重發(fā)特定數(shù)據(jù)包dp。在重發(fā)時,無線電節(jié)點fkn不會等到下一個傳輸周期tzx,而是已經(jīng)在接下來的傳輸周期tz2中重新發(fā)送數(shù)據(jù)包dp1'。
在一種示例性方案中,傳輸周期tz的長度可以為100ms,其被劃分為長度為10ms的m=10個時隙zsm。因此在一個接收單元上可連接9個無線電節(jié)點fkn(一個時隙zsm用于應(yīng)答信道)。一個無線電節(jié)點fkn每x=10個傳輸周期tz進行發(fā)送。當(dāng)無線電節(jié)點fkn作為傳感器每100ms檢測一次傳感器數(shù)據(jù)(如測量值)時,該無線電節(jié)點fkn可每秒以一個數(shù)據(jù)包dp向接收單元2發(fā)送十個傳感器數(shù)據(jù)sd。
在圖3中示例性示出用于重傳數(shù)據(jù)包dp的示意圖。在第一次傳輸ta1中傳輸一個包括10個長度分別為2字節(jié)的傳感器數(shù)據(jù)sd1...sd10的數(shù)據(jù)包dp1。在重傳ta2中傳感器數(shù)據(jù)sd1...sd10在數(shù)據(jù)包dp1'中于下一傳輸周期tz被重新發(fā)送,并且添加了在此期間新檢測到的測量值作為附加傳感器數(shù)據(jù)sd11。這可重復(fù)直至數(shù)據(jù)包dp1的特定最大長度。在所示示例中允許五次重傳,其分別包括新傳感器數(shù)據(jù)sd11...sd15(數(shù)據(jù)包dp1”)。之后,刪除最早的傳感器數(shù)據(jù),例如從新數(shù)據(jù)包dp1”'中刪除傳感器數(shù)據(jù)sd1,由此可導(dǎo)致數(shù)據(jù)丟失。為了能區(qū)分重傳ta2...ta8,也可在數(shù)據(jù)包dp中定義不同的消息類型msgt。
用于實施本發(fā)明的數(shù)據(jù)包dp結(jié)構(gòu)例如在圖4中示出。數(shù)據(jù)包dp包括不同的數(shù)據(jù)區(qū)df,例如3字節(jié)用于標記邏輯信道k,其主要定義相配的接收單元,1字節(jié)的數(shù)據(jù)包dp長度l、5字節(jié)的數(shù)據(jù)頭h、10-15x2字節(jié)的傳感器數(shù)據(jù)sd和2字節(jié)的校驗值crc。
數(shù)據(jù)頭h又包括不同的數(shù)據(jù)區(qū)df,在此為消息類型msgt、無線傳感器網(wǎng)絡(luò)中的無線電節(jié)點地址sa、作為接收單元2唯一地址的基站地址和2字節(jié)的無線電節(jié)點fk供電電池的當(dāng)前充電狀態(tài)vbatt。2字節(jié)的傳感器數(shù)據(jù)sd分別在高字節(jié)sdhb和低字節(jié)sdlb中被傳輸。類似地,校驗值crc被劃分為高字節(jié)crchb和低字節(jié)crclb,充電狀態(tài)vbatt也是如此。數(shù)據(jù)包dp的這種數(shù)據(jù)結(jié)構(gòu)當(dāng)然只是示例性的并且可任意選擇。
按本發(fā)明的方法現(xiàn)在利用下述事實:特定數(shù)據(jù)區(qū)df的內(nèi)容是預(yù)先已知的,例如基于實現(xiàn)的數(shù)據(jù)協(xié)議或基于對所傳輸數(shù)據(jù)的認識。因此這些特定數(shù)據(jù)區(qū)df的數(shù)據(jù)中的信息是已知的,其中,在數(shù)據(jù)中包含的信息可在接收單元2中直接被分析,因為數(shù)據(jù)由無線電節(jié)點fk未編碼地發(fā)送出。由此可預(yù)計數(shù)據(jù)區(qū)df的特定位值,如下面借助示例所說明的。
長度l數(shù)據(jù)區(qū):
根據(jù)數(shù)據(jù)傳輸協(xié)議,長度l可指數(shù)據(jù)包dp中特定數(shù)據(jù)區(qū)df的長度或數(shù)據(jù)包dp的總長度。當(dāng)例如數(shù)據(jù)包dp的總長度根據(jù)圖4介于31字節(jié)和41字節(jié)之間(根據(jù)傳感器數(shù)據(jù)sd的長度)并且減去附加數(shù)據(jù)、如邏輯信道k、長度l和校驗值crc時,長度l數(shù)據(jù)區(qū)df可表示有效數(shù)據(jù)的長度,其在此包括消息類型msgt、無線電節(jié)點地址sa、基站地址ba和當(dāng)前充電狀態(tài)vbatt。因此,長度l數(shù)據(jù)區(qū)df可僅具有25至35范圍內(nèi)的值、即l=[25,35]、或以二進制表述l=[00011001,00100011],在此,該值僅可增加2,因為傳感器數(shù)據(jù)sd分別包括2個字節(jié)。因此,長度l數(shù)據(jù)區(qū)df的兩個最高位必須始終為0并且最低位始終為1。
基站地址ba:
在無線傳感器網(wǎng)絡(luò)1中接收單元2的基站地址ba被預(yù)先分配并且因此是已知的。當(dāng)例如存在三個具有基站地址ba(十六進制)0x01,0x02,0x03的接收單元2時,基站地址ba數(shù)據(jù)區(qū)df的五個最高位必須始終為0。
消息類型msgt:
可能的消息類型通過實現(xiàn)的數(shù)據(jù)傳輸協(xié)議來確定。根據(jù)圖3的示例中,例如僅可能是下述值(十六進制):msgt=(0x12,0x13,…,0x18)。因此消息類型msgt數(shù)據(jù)區(qū)df的最高四位必須始終為0。
充電狀態(tài)vbatt:
基于對所用無線電節(jié)點fkn的認識已知充電狀態(tài)vbatt以何分辨率被傳輸。當(dāng)例如在無線電節(jié)點中作為充電狀態(tài)vbatt測量電池電壓并且借助10位模擬數(shù)字轉(zhuǎn)換器(adc)將其數(shù)字化時,充電狀態(tài)vbatt數(shù)據(jù)區(qū)df可僅占據(jù)最低10位,由此,最高六位始終是0,如圖5所示。
傳感器數(shù)據(jù)sd:
基于對所用無線電節(jié)點fkn的認識已知測量值以何分辨率被檢測。當(dāng)例如在無線電節(jié)點中測量測量值并且借助10位adc將其數(shù)字化時,傳感器數(shù)據(jù)sd數(shù)據(jù)區(qū)df可僅占據(jù)最低10位,由此,最高六位始終是0,如圖6所示。
因此,在無線傳感器網(wǎng)絡(luò)1中由無線電節(jié)點fk向接收單元2發(fā)送數(shù)據(jù)包dp,該數(shù)據(jù)包dp包含多個數(shù)據(jù)區(qū)df并且至少對于一個數(shù)據(jù)區(qū)df而言該數(shù)據(jù)區(qū)df至少一個位的值是已知的。當(dāng)在接收單元2中接收到數(shù)據(jù)包dp并且例如借助所包含的校驗值crc確定數(shù)據(jù)區(qū)df損壞時,可利用所述信息來嘗試重構(gòu)數(shù)據(jù)包dp,且無須為此重傳數(shù)據(jù)包dp。為此,在接收單元2中可借助已知的期望位值來檢查數(shù)據(jù)包dp的數(shù)據(jù)區(qū)df并且檢驗在期望的位位置上是否包含期望值(0或1)。如不是這種情況,可改變該位的值并且借助校驗值crc檢驗是否已可借此重構(gòu)接收到的數(shù)據(jù)包dp。這可重復(fù)用于數(shù)據(jù)包dp的所有必須具有特定已知值的位。借助該方法常常可在無須為此重傳數(shù)據(jù)包dp的情況下重構(gòu)數(shù)據(jù)包dp。該方法在下面也稱為先驗法(a-priori-verfahren),因為使用了預(yù)先已知的信息。
此外,也可從數(shù)據(jù)包dp本身中推導(dǎo)出可用于重構(gòu)的信息。可推導(dǎo)出的、關(guān)于數(shù)據(jù)包dp特定位的信息也被視為已知信息。在此由數(shù)據(jù)中包含的已知信息推導(dǎo)出其它信息,所述信息因此也是已知信息,并且包含在數(shù)據(jù)中的信息可在接收單元2中直接被分析,因為數(shù)據(jù)由無線電節(jié)點fk未編碼地發(fā)送出。因此對于特定數(shù)據(jù)區(qū)df期望特定內(nèi)容、即特定位值,這借助下述示例來說明。
消息類型msgt:
由包含在數(shù)據(jù)包dp中的傳感器數(shù)據(jù)sd的數(shù)量可推導(dǎo)出消息類型msgt。如圖3所述,數(shù)據(jù)包dp的每次重傳都獲得自身的消息類型msgt。由于傳感器數(shù)據(jù)sd的長度也隨著每次重傳同時增加(每步2個字節(jié)),因此可由傳感器數(shù)據(jù)sd的數(shù)量推導(dǎo)出期望的消息類型msgt。當(dāng)例如接收到11x2個字節(jié)的傳感器數(shù)據(jù)sd時,則期望消息類型msgt0x13(圖3)。
傳感器地址sa:
在使用tdma傳輸法(參見圖2)時可由接收到數(shù)據(jù)包dp的時隙zs推導(dǎo)出期望的傳感器地址sa,因為為每個無線電節(jié)點(具有分配的傳感器地址sa)配置一個時隙zs。當(dāng)具有傳感器地址sa0x01的無線電節(jié)點fk1配置給時隙zs1時,則假設(shè)每個在時隙zs1中接收到的數(shù)據(jù)包dp均源于無線電節(jié)點fk1并且因此在該數(shù)據(jù)包dp中所包含的傳感器地址sa必須是0x01。
因此可再次這樣操作,即在接收到損壞的數(shù)據(jù)包dp時,借助預(yù)先存在的信息改變數(shù)據(jù)包dp的至少一個數(shù)據(jù)區(qū)df的值并且檢驗該改變是否重構(gòu)數(shù)據(jù)包dp。該方法在下面也稱為后驗法(a-posteriori-verfahren),因為信息由接收到的數(shù)據(jù)包dp推導(dǎo)出。
除了使用已知的或可通過數(shù)據(jù)包dp推導(dǎo)出的信息外,也可使用其它機制來嘗試重構(gòu)錯誤接收的數(shù)據(jù)包dp。
在借助圖7所描述的第一個這種方法(也被稱為連續(xù)位法-consecutivebitsverfahren)中,確定位長度為i的錯誤塊fb。錯誤塊fb以1位的步寬在整個數(shù)據(jù)包dp或部分數(shù)據(jù)包dp(如數(shù)據(jù)頭h+傳感器數(shù)據(jù)sd)上移動并且在此反置錯誤塊fb中的每一位并且在每一步中檢驗校驗值crc。在此長度i也可在多次遍歷中增加。該方法基于出現(xiàn)爆炸式干擾并且在此總是干擾多個相鄰位。
在根據(jù)圖7的示例中,長度為i=1的錯誤塊fb首先在數(shù)據(jù)包dp上移動并且在此錯誤塊fb中的相應(yīng)位相對于接收到的數(shù)據(jù)包dp中的相應(yīng)位被反置(0→1,1→0)(在下劃線的位)。在每一步中檢驗校驗值crc并且當(dāng)產(chǎn)生正確的校驗值crc時結(jié)束。如不是這種情況,則錯誤塊fb的長度i增加1,錯誤塊fb再次在數(shù)據(jù)包dp上移動并且再次反置錯誤塊fb中的所有位(在下劃線的位)。這可重復(fù)直至某一預(yù)定的長度i。
借助圖8示出根據(jù)圖7的方法的一種擴展。在此并非簡單地反置錯誤塊fb中的位,而是迭代(durchiterieren)錯誤塊fb中的位,從而檢驗所有可能的位分配。
由此也可在無須重傳數(shù)據(jù)包dp的情況下嘗試數(shù)據(jù)重構(gòu)。當(dāng)借助所述方法無法重構(gòu)錯誤的數(shù)據(jù)包dp時,則可使用其它已知方法、如組合測試(combinatorialtesting),如下面參考圖9所說明的。
在根據(jù)圖9的示例中,接收數(shù)據(jù)包dp1并且通過校驗值crc確定接收到的數(shù)據(jù)包dp1是錯誤的。然后存儲該數(shù)據(jù)包dp1并且請求重傳數(shù)據(jù)包dp1。重傳的數(shù)據(jù)包dp1'再次借助校驗值crc檢驗。當(dāng)數(shù)據(jù)包dp1'正確時,接受該數(shù)據(jù)包并且無需嘗試重構(gòu)。但當(dāng)重傳的數(shù)據(jù)包dp1'錯誤時,使用組合測試。但在此應(yīng)考慮,重傳的數(shù)據(jù)包dp1'有可能包含(參見圖3)附加傳感器數(shù)據(jù)sd11(如圖9所示),有利的是為了組合測試排除該傳感器數(shù)據(jù)。在組合測試中首先確定數(shù)據(jù)包dp1、dp1'的不同的位位置(圖9中的下劃線處)?,F(xiàn)在通過嘗試所有可能的位值分配并且分別計算校驗值crc來迭代這些位位置。如果校驗值crc相匹配,則改變的數(shù)據(jù)包dp1作為正確的數(shù)據(jù)包被傳輸。當(dāng)沒有成功重構(gòu)數(shù)據(jù)包dp1時,存儲第二數(shù)據(jù)包dp1'并且可請求重傳。組合測試可在重傳的數(shù)據(jù)包dp1”進入時應(yīng)用于所有存儲的數(shù)據(jù)包dp1、dp1'、dp1”或任意一對存儲的數(shù)據(jù)包dp1、dp1'、dp1”。
圖10還示出根據(jù)圖9的組合測試的一種可能的適應(yīng)方案。在此在不同位位置(在下劃線)前面和后面增加i位(在圖10中i=1)并且迭代該位區(qū)域bb中所有可能的位分配。在此當(dāng)然也可想到不同的變型方案、如僅在不同位位置前面或僅在其后面擴展或者在不同位位置前面和后面擴展不同數(shù)量的位。
在組合測試的另一種適應(yīng)方案中也可規(guī)定,不立即改變所有不同的位位置,而是根據(jù)一定標準來選擇特定的位位置并且首先改變它們。例如可使用充電狀態(tài)vbatt數(shù)據(jù)區(qū)df,以便在低充電狀態(tài)vbatt下首先檢查數(shù)據(jù)包dp的末端,因為在低充電狀態(tài)vbatt下可假設(shè)基于幾乎空的蓄能器無線電節(jié)點fk的發(fā)送功率突降。也可想到,將先前的重構(gòu)嘗試用作標準并且首先檢查那些在更早的重構(gòu)時被識別出錯誤的位。
當(dāng)然可使用任何已知的方法(如循環(huán)冗余校驗)來確定校驗值crc,當(dāng)校驗值crc的計算工作較少時,這對于在無線傳感器網(wǎng)絡(luò)中的應(yīng)用當(dāng)然是有利的。但模式在此始終相同。由數(shù)據(jù)包dp的特定數(shù)據(jù)區(qū)df計算校驗值crc并且添加到數(shù)據(jù)包中。接收器也根據(jù)同一方法由接收到的數(shù)據(jù)包dp的相同數(shù)據(jù)區(qū)計算校驗值crc并且比較計算出的校驗值和傳輸?shù)男r炛礳rc。在相同時認為傳輸?shù)臄?shù)據(jù)正確并且在不同時認為數(shù)據(jù)被錯誤地傳輸。
因此,一種用于在無線傳感器網(wǎng)絡(luò)1中重構(gòu)錯誤接收的數(shù)據(jù)包的方法例如可如圖11所描述的那樣運行。為了最佳地滿足在無線傳感器網(wǎng)絡(luò)1中的特殊要求,使用適合的彼此相繼的順序的方法進行重構(gòu)。由于必須在下一傳輸周期tz中請求重傳,因此在錯誤地接收數(shù)據(jù)包dp之后必須在預(yù)定時間內(nèi)完成數(shù)據(jù)包dp的重構(gòu)或請求重傳。有利的是以下述方法開始,該方法能夠在盡可能低的計算工作下保證最高的成功概率。之后使用具有次好成功概率和/或次好計算工作的方法。成功概率理解為能夠在可用時間內(nèi)實施重構(gòu)方法的概率。
在步驟s1中,在接收單元2中接收由無線電節(jié)點fkn發(fā)送的數(shù)據(jù)包dp并且檢驗校驗值crc。如果校驗值crc相匹配,則數(shù)據(jù)包dp(或其一部分)被傳輸至上一級應(yīng)用層面、在此例如被傳輸至控制單元se。當(dāng)校驗值crc與數(shù)據(jù)包dp內(nèi)容不一致時,在步驟s2中使用第一方法(先驗法)用于重構(gòu)數(shù)據(jù)包dp,在其中檢驗預(yù)先已知的數(shù)據(jù)區(qū)df內(nèi)容。借助該方法能以較少的計算工作準確地檢驗數(shù)據(jù)包dp的特定位并由此提供很高的成功概率。當(dāng)這不能重構(gòu)數(shù)據(jù)包dp時,可在步驟s3中——如仍留有足夠時間——使用第二方法(后驗法),在其中直接從數(shù)據(jù)包dp的內(nèi)容推導(dǎo)出關(guān)于數(shù)據(jù)區(qū)df的信息。該方法需要略多的計算工作,因為為此必須首先分析特定數(shù)據(jù)區(qū)df。由于先驗法和后驗法是類似的,因此它們也可在一個步驟中實施。如這也未成功,可在步驟s4中——如仍留有足夠時間——使用第三方法(連續(xù)位)。由于要檢驗許多位組合并且要分別計算校驗值crc,這種方法相應(yīng)地需要多的計算工作。當(dāng)這也未成功并且仍留有足夠時間時,在步驟s5中將接收到的數(shù)據(jù)包dp存儲于數(shù)據(jù)包緩存器3中。如果在數(shù)據(jù)包緩存器3中已經(jīng)包括先前從無線電節(jié)點fkn錯誤接收的數(shù)據(jù)包dp'(查詢s6),則可在步驟s7中使用已知的組合測試法。當(dāng)在數(shù)據(jù)包緩存器3中還沒有先前接收到的數(shù)據(jù)包dp'或組合測試法也不成功時,在步驟s8中觸發(fā)數(shù)據(jù)包dp的重傳。在步驟s9中等待重傳的數(shù)據(jù)包dp,在接收到該數(shù)據(jù)包dp后重復(fù)所述過程。
在此當(dāng)然可想到各種變型方案。例如代替后驗法可使用連續(xù)位法作為第二方法,或也可改變第二、第三和其它方法的順序,在此有利的是,待使用的方法按照計算工作進行排序。