毛曉東 永城職業(yè)學(xué)院
實時差錯控制系統(tǒng)的模擬實現(xiàn)與分析
毛曉東 永城職業(yè)學(xué)院
在當(dāng)前的信息化時代中,人們對網(wǎng)絡(luò)所表現(xiàn)出的依賴性越來越明顯,已經(jīng)習(xí)慣了通過網(wǎng)絡(luò)來獲取所需要的信息,而人們在獲取相關(guān)信息的過程中,通過網(wǎng)絡(luò)進(jìn)行的數(shù)據(jù)交換為了保證其的準(zhǔn)確傳輸,差錯控制技術(shù)由此就出現(xiàn)了,即就是以編碼的方式來完成對數(shù)據(jù)傳輸過程中和出現(xiàn)的差錯進(jìn)行檢查和糾正。本文便是從此技術(shù)的具體工作方式、控制編碼、應(yīng)用實現(xiàn)等對此項技術(shù)進(jìn)行了分析,以求推動其對于網(wǎng)絡(luò)通信的優(yōu)化。
計算機 網(wǎng)絡(luò)通信 實時差錯控制 技術(shù)實現(xiàn)
1.1 實時差錯控制技術(shù)的差錯控制方式分析
第一種是前向糾錯(FEC),該種方法作為一種較為常見的方法,在傳輸時若使用這種方法,接受者無需反饋可直接通過譯碼器實現(xiàn)對傳輸中所出現(xiàn)錯誤的糾正。
第二種是重傳反饋(ARQ),該種方式和前向糾錯相比最大的區(qū)別就是其具有反饋機制,而傳輸?shù)倪^程數(shù)據(jù)編碼是由發(fā)送端來完成的,接收端在接收到編碼數(shù)據(jù)之后發(fā)現(xiàn)錯誤的數(shù)據(jù)時向發(fā)送端反饋結(jié)果,發(fā)送端在收到由接收端發(fā)送的反饋結(jié)果之后將會決定是否重新發(fā)送數(shù)據(jù)。
第三種是混合糾錯(FEC/ARQ),該種方法是將前兩種方法結(jié)合在一起使用的方法,糾錯工作是根據(jù)數(shù)據(jù)出現(xiàn)錯誤的具體情況來決定錯誤由誰來糾正,若接收端具有自行糾正錯誤的能力就由其獨自進(jìn)行,若數(shù)據(jù)在傳輸中出現(xiàn)的錯誤過多接收端無法自行處理錯誤,就會將結(jié)果反饋給發(fā)送端由其重新發(fā)送數(shù)據(jù)。
第四種是信息反饋,該種方式作為一種傳統(tǒng)的方式,由于落后使用率低,隨著其他差錯控制技術(shù)的發(fā)展已經(jīng)逐漸淘汰。
1.2 常用的差錯檢測方法分析
目前常用的差錯檢測方法有奇偶校驗、CRC校驗以及校驗和校驗。
其中,奇偶檢驗作為最常用的檢測碼,通過將校驗信息附加在傳輸數(shù)據(jù)的后面,若附加碼字中“1”的數(shù)量為偶數(shù)個則為偶校驗,反之為奇校驗。如果碼字中出現(xiàn)錯誤為奇數(shù)個的情況下是很容易被檢查出來的,但是不具有定位的功能。
CRC校驗具有超前的檢錯能力,所以得到和十分廣泛的應(yīng)用,該種檢錯方法屬于分塊檢驗,編碼中會根據(jù)數(shù)據(jù)的長度進(jìn)而生成相應(yīng)長度的檢驗碼,然后將檢驗碼和原來的信息異同發(fā)給接受端,假如數(shù)的長度為X,所生成校驗碼的長度為Y,那么整個數(shù)據(jù)的長度就位X+Y,當(dāng)前CRC32應(yīng)用的較為廣泛。
校驗和校驗是求數(shù)據(jù)和之后并將其最為校驗碼發(fā)送給接收端,該種方法非常簡單,校驗和中會有不同數(shù)據(jù)塊相同的情況存在,因此是無法保證所傳輸數(shù)據(jù)的準(zhǔn)確性的,若對數(shù)據(jù)準(zhǔn)確性要求較高就無法使用,否則就可以使用。
在計算機網(wǎng)絡(luò)通信過程中,通信差錯多是隨機差錯與突發(fā)差錯兩種差錯同時并存發(fā)生,因此,進(jìn)行計算機網(wǎng)絡(luò)通信的差錯控制,只采用單一糾正碼進(jìn)行差錯的糾正與控制,并不能取得較為良好的計算機網(wǎng)絡(luò)通信差錯糾正與控制效果。RS糾錯碼就是一種能夠?qū)τ谟嬎銠C網(wǎng)絡(luò)通信中的兩種差錯進(jìn)行同時糾正控制實現(xiàn)的一種應(yīng)用最為廣泛的差錯檢測控制糾錯碼,在計算機網(wǎng)絡(luò)通信差錯糾正與控制應(yīng)用中,具有較好的糾錯控制能力和效果。
通常情況下,計算機網(wǎng)絡(luò)通信差錯控制應(yīng)用的RS糾錯碼是一種二進(jìn)制的線性塊編碼,屬于BCH碼的一個重要子類。此外,RS糾錯碼的碼長通常為n=q-1,而RS糾錯碼的監(jiān)督元則可以用n-k=2t進(jìn)行表示,RS糾錯碼的最小距離do則可以用2t+1進(jìn)行表示。在計算機通信應(yīng)用中,使用MS多項式進(jìn)行構(gòu)造的RS糾錯碼是一種非系統(tǒng)碼,而使用BCH碼構(gòu)造方法進(jìn)行構(gòu)造的RS糾錯碼,則是一種系統(tǒng)碼。
在計算機網(wǎng)絡(luò)通信的實際應(yīng)用中,比較常見的計算機網(wǎng)絡(luò)通信丟包信道模型主要有Gilbert信道模型和Brernoulli信道模型、一般Markov信道模型、擴展Gilbert信道模型。下文將應(yīng)用Gilbert信道模型,通過進(jìn)行計算機網(wǎng)絡(luò)通信的丟包信道的模擬實現(xiàn),并利用RS糾錯碼的編碼和解碼糾錯控制方法,實現(xiàn)以FEC差錯控制系統(tǒng)和FEC/ARQ差錯控制系統(tǒng)的計算機網(wǎng)絡(luò)通信實時差錯控制分析。
首先,使用Gilbert信道模型進(jìn)行的丟包信道模擬實現(xiàn)過程如下:①進(jìn)行信道狀態(tài)以及丟失數(shù)據(jù)包率的初始化實現(xiàn);②對于丟包信道模型中的clp以及ulp的參數(shù)值進(jìn)行定義,同時根據(jù)相關(guān)計算公式對于glp的參數(shù)值進(jìn)行計算求得;③進(jìn)行要求范圍內(nèi)的隨機丟包率的生成;④進(jìn)行當(dāng)前丟包信道狀態(tài)的判斷,并根據(jù)判斷結(jié)果進(jìn)行執(zhí)行選擇;⑤對于丟失數(shù)據(jù)包率進(jìn)行判斷,并根據(jù)判斷結(jié)果進(jìn)行執(zhí)行命令選擇。其次,在計算機網(wǎng)絡(luò)通信中,實時差錯控制系統(tǒng)在進(jìn)行包交換網(wǎng)絡(luò)傳輸層以及應(yīng)用層工作運行中,通信傳輸?shù)臄?shù)據(jù)單元就是數(shù)據(jù)包,對于這些數(shù)據(jù)包的通信傳輸與應(yīng)用實現(xiàn),通過RS糾錯碼根據(jù)實時差錯控制技術(shù)的差錯檢測與查找依據(jù),在對于通信傳輸?shù)臄?shù)據(jù)包進(jìn)行編碼、解碼等操作控制下,實現(xiàn)對于丟失數(shù)據(jù)包的恢復(fù)實現(xiàn)。
綜上所述,當(dāng)今人們對計算機網(wǎng)絡(luò)的依賴性越來越高,為了確保計算機網(wǎng)絡(luò)通信的實時準(zhǔn)確,實時差錯控制系統(tǒng)所起到的作用是非常重要的,我們應(yīng)根據(jù)實際情況,設(shè)計出適合的差錯控制系統(tǒng),滿足使用者的要求。
毛曉東,男,1982—,安徽淮北人,講師,碩士學(xué)位,現(xiàn)供職于永城職業(yè)學(xué)院,主要研究方向計算機應(yīng)用。