本發(fā)明涉及以太網(wǎng)通信領(lǐng)域,具體涉及一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)系統(tǒng)、方法及編碼、解碼裝置。
背景技術(shù):
以太網(wǎng)是一項(xiàng)被廣泛應(yīng)用的技術(shù),絕大多數(shù)的局域網(wǎng)均采用以太網(wǎng)標(biāo)準(zhǔn)。并且近些年來(lái),隨著以太網(wǎng)傳輸速率和傳輸距離的提升,越來(lái)越多的廣域網(wǎng)也開始采用以太網(wǎng)標(biāo)準(zhǔn)。高速率、長(zhǎng)距離的信息傳輸對(duì)物理信道提出了較高的要求,但是由于噪聲、色散和衰減等原因會(huì)造成以太網(wǎng)傳輸誤碼率的提升。
技術(shù)實(shí)現(xiàn)要素:
(一)要解決的技術(shù)問(wèn)題
本發(fā)明的目的在于提供一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)系統(tǒng)、方法及編碼、解碼裝置,以解決上述的至少一項(xiàng)技術(shù)問(wèn)題。
(二)技術(shù)方案
本發(fā)明的一方面提供了一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼裝置,包括:
第一編碼器和第二編碼器,用于對(duì)x組k字節(jié)的第一數(shù)據(jù)組交替進(jìn)行前向糾錯(cuò)編碼處理,得到x組對(duì)應(yīng)的n-k字節(jié)的第一校驗(yàn)位,其中,所述第一數(shù)據(jù)組由第一以太網(wǎng)數(shù)據(jù)幀分組得到,x、k和n均為正整數(shù),且n>k;
第一先進(jìn)先出緩存器,與所述第一編碼器和第二編碼器電性連接,用于緩存第一編碼器和第二編碼器輸出的第一校驗(yàn)位;以及
數(shù)據(jù)輸出選擇控制器,電性連接第一編碼器、第二編碼器和第一先進(jìn)先出緩存器,用于選擇、控制輸出第一編碼器和第二編碼器輸出的第一數(shù)據(jù)組和第一校驗(yàn)位,同時(shí)得到第一編碼數(shù)據(jù)幀。
可選地,該系統(tǒng)還包括:第三先進(jìn)先出緩存器和第四先進(jìn)先出緩存器,分別與第一編碼器和第二編碼器電性連接,用于交替緩存并分別輸出所述k字節(jié)的第一數(shù)據(jù)組至所述第一編碼器和第二編碼器。
本發(fā)明的另一發(fā)明,還提供了一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼裝置,包括:一第二先進(jìn)先出緩存器、第一解碼器和第二解碼器,其中,
該第二先進(jìn)先出緩存器,與第一解碼器和第二解碼器電性連接,用于緩存外部輸入的第二編碼數(shù)據(jù)幀,并輸出x組n字節(jié)的第二編碼數(shù)據(jù)組至第一解碼器和第二解碼器,其中,所述x組第二編碼數(shù)據(jù)組由所述第二編碼數(shù)據(jù)幀剔除幀結(jié)束符后分組得到;以及
第一解碼器和第二解碼器,用于交替對(duì)所述第二編碼數(shù)據(jù)組剔除n-k字節(jié)的第二校驗(yàn)位,得到x組k字節(jié)的第二數(shù)據(jù)組,并將所述第二數(shù)據(jù)組進(jìn)行組合得到第二以太網(wǎng)數(shù)據(jù)幀,其中,x、k和n均為正整數(shù),且n>k。
本發(fā)明的又一方面,還提供了一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)系統(tǒng),第一編碼器、第二編碼器、第一先進(jìn)先出緩存器、數(shù)據(jù)輸出選擇控制器、一第二先進(jìn)先出緩存器、第一解碼器和第二解碼器,其中,
第一編碼器和第二編碼器,用于對(duì)x組k字節(jié)的第一數(shù)據(jù)組交替進(jìn)行前向糾錯(cuò)編碼處理,得到x組對(duì)應(yīng)的n-k字節(jié)的第一校驗(yàn)位,其中,所述第一數(shù)據(jù)組由第一以太網(wǎng)數(shù)據(jù)幀分組得到,x、k和n均為正整數(shù),且n>k;
第一先進(jìn)先出緩存器,與所述第一編碼器和第二編碼器電性連接,用于緩存第一編碼器和第二編碼器輸出的第一校驗(yàn)位;
數(shù)據(jù)輸出選擇控制器,電性連接第一編碼器、第二編碼器和第一先進(jìn)先出緩存器,用于選擇、控制輸出第一編碼器和第二編碼器輸出的第一數(shù)據(jù)組和第一校驗(yàn)位,同時(shí)得到第一編碼數(shù)據(jù)幀;
第二先進(jìn)先出緩存器,與所述第一解碼器和第二解碼器電性連接,用于緩存外部輸入的第二編碼數(shù)據(jù)幀,并輸出x組n字節(jié)的第二編碼數(shù)據(jù)組至第一解碼器和第二解碼器,其中,所述x組第二編碼數(shù)據(jù)組由所述第二編碼數(shù)據(jù)幀剔除幀結(jié)束符后分組得到;以及
第一解碼器和第二解碼器,用于交替對(duì)所述第二編碼數(shù)據(jù)組剔除n-k字節(jié)的第二校驗(yàn)位,得到x組k字節(jié)的第二數(shù)據(jù)組,并將所述第二數(shù)據(jù)組進(jìn)行組合得到第二以太網(wǎng)數(shù)據(jù)幀。
可選地,所述前向糾錯(cuò)編碼與前向糾錯(cuò)解碼采用rs碼,所述rs碼為rs(255,239)碼,所述k為239,所述n為255。
可選地,所述第一編碼數(shù)據(jù)幀依次為x組第一數(shù)據(jù)組、x組第一校驗(yàn)位和幀結(jié)束符;或者所述第一編碼數(shù)據(jù)幀依次為第一組第一數(shù)據(jù)組和第一校驗(yàn)位、第二組第一數(shù)據(jù)組和第一校驗(yàn)位,至第x組第一數(shù)據(jù)組和第一校驗(yàn)位,以及幀結(jié)束符;
所述第二編碼數(shù)據(jù)幀依次為x組第二數(shù)據(jù)組、x組第二校驗(yàn)位和幀結(jié)束符;或者所述第二編碼數(shù)據(jù)幀依次為第一組第二數(shù)據(jù)組和第二校驗(yàn)位、第二組第二數(shù)據(jù)組和第二校驗(yàn)位,至第x組第二數(shù)據(jù)組和第二校驗(yàn)位,以及幀結(jié)束符。
可選地,所述以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)系統(tǒng)基于fpga芯片。
本發(fā)明的又一方面,還提供了一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼方法,包括步驟:
對(duì)第一以太網(wǎng)數(shù)據(jù)幀分組,得到x組k字節(jié)的第一數(shù)據(jù)組;
交替處理所述第一數(shù)據(jù)組,得到x組對(duì)應(yīng)的n-k字節(jié)的第一校驗(yàn)位,其中,x、k和n均為正整數(shù),且n>k;以及
將所述第一數(shù)據(jù)組尾后依次加入所述第一校驗(yàn)位以及幀結(jié)束符,得到并輸出第一編碼數(shù)據(jù)幀,完成以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼。
可選地,對(duì)于長(zhǎng)度不足k字節(jié)的第一數(shù)據(jù)組,在其組尾填充0,直至該組數(shù)據(jù)的長(zhǎng)度為k字節(jié),且對(duì)于填充0的第一數(shù)據(jù)組,在編碼結(jié)束后丟棄其中填充的0。
本發(fā)明的再一方面,還提供了一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼方法,其中,包括步驟:
對(duì)外部輸入的第二編碼數(shù)據(jù)幀分組,得到x組n字節(jié)的第二編碼數(shù)據(jù)組;
交替對(duì)第二編碼數(shù)據(jù)組剔除n-k字節(jié)的第二校驗(yàn)位,得到x組k字節(jié)的第二編碼數(shù)據(jù)組,其中,x、k和n均為正整數(shù),且n>k;以及
將所述第二數(shù)據(jù)組進(jìn)行組合得到第二以太網(wǎng)數(shù)據(jù)幀,完成以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼。
(三)有益效果
本發(fā)明相較于現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):
1、本發(fā)明將fec編解碼技術(shù)與以太網(wǎng)技術(shù)融合,并提出利用乒乓操作和fifo緩存,解決因冗余校驗(yàn)位造成的傳輸速率不匹配的問(wèn)題。通過(guò)對(duì)以太網(wǎng)數(shù)據(jù)幀應(yīng)用fec編解碼技術(shù),有效降低了高速率、長(zhǎng)距離通信對(duì)物理信道的要求,實(shí)現(xiàn)通信雙方的可靠通信。
2、本發(fā)明通過(guò)實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼和前向糾錯(cuò)解碼,減少了數(shù)據(jù)的出錯(cuò)率,提高了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
3、本發(fā)明可有效降低通信對(duì)物理信道的要求,提高通信的可靠性。
4、本發(fā)明所有的編碼和解碼處理均是在物理層完成,容易實(shí)現(xiàn)。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼裝置編碼時(shí)速率匹配結(jié)構(gòu)的示意圖;
圖3為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼裝置解碼時(shí)速率匹配結(jié)構(gòu)的示意圖;
圖4為本發(fā)明實(shí)施例的k字節(jié)的數(shù)據(jù)組的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例的編碼數(shù)據(jù)幀結(jié)構(gòu)示意圖;
圖6是本發(fā)明實(shí)施例的典型應(yīng)用場(chǎng)景示意圖;
圖7為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼方法步驟流程圖;
圖8為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼方法步驟流程圖。
具體實(shí)施方式
現(xiàn)有的多種以太網(wǎng)標(biāo)準(zhǔn)內(nèi)均未包含信道編解碼的內(nèi)容,由此,本發(fā)明提出一種包含前向糾錯(cuò)內(nèi)容的以太網(wǎng)數(shù)據(jù)幀結(jié)構(gòu),將fec(前向糾錯(cuò))編解碼技術(shù)與以太網(wǎng)技術(shù)融合。因?yàn)閒ec編碼后會(huì)增加校驗(yàn)位,從而造成傳輸速率的不匹配。本發(fā)明基于乒乓操作,將數(shù)據(jù)交替存入存儲(chǔ)器中,保持?jǐn)?shù)據(jù)能夠不間斷地得到處理(例如采用了兩個(gè)編碼器和兩個(gè)解碼器)和fifo(先進(jìn)先出)緩存的結(jié)構(gòu),可以通過(guò)多占用資源,從而解決因冗余校驗(yàn)位造成的傳輸速率不匹配的問(wèn)題。通過(guò)對(duì)以太網(wǎng)數(shù)據(jù)幀應(yīng)用fec編解碼技術(shù),有效降低了高速率、長(zhǎng)距離通信對(duì)物理信道的要求,實(shí)現(xiàn)通信雙方的可靠通信。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
圖1為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)系統(tǒng)的結(jié)構(gòu)示意圖,如圖1所示,本發(fā)明實(shí)施例的一方面,提供了一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)系統(tǒng)1,包括以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼裝置101和以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼裝置102。
本發(fā)明實(shí)施例的另一方面,提供了一種前向糾錯(cuò)編碼裝置101(請(qǐng)參照?qǐng)D1),包括:第一編碼器(編碼器1)、第二編碼器(編碼器2)、第一先進(jìn)先出緩存器(fifo緩存器1)和數(shù)據(jù)輸出選擇控制器。
第一編碼器和第二編碼器用于對(duì)x組k字節(jié)的第一數(shù)據(jù)組交替進(jìn)行前向糾錯(cuò)編碼處理,得到x組對(duì)應(yīng)的n-k字節(jié)的第一校驗(yàn)位,其中,所述x組k字節(jié)的第一數(shù)據(jù)組由第一以太網(wǎng)數(shù)據(jù)幀分組得到,x、k和n均為正整數(shù),且n>k;
第一先進(jìn)先出緩存器,與所述第一編碼器和第二編碼器電性連接,用于緩存第一編碼器和第二編碼器輸出的第一校驗(yàn)位;
數(shù)據(jù)輸出選擇控制器,電性連接第一編碼器、第二編碼器和第一先進(jìn)先出緩存器,用于選擇、控制輸出第一編碼器和第二編碼器輸出的k字節(jié)的第一數(shù)據(jù)組和第一校驗(yàn)位,同時(shí)得到第一編碼數(shù)據(jù)幀。數(shù)據(jù)輸出選擇器可以控制數(shù)據(jù)輸出的順序及速率,從而保證數(shù)據(jù)的輸出順序,避免數(shù)據(jù)傳輸?shù)奈蓙y。
在本實(shí)施例中,第一編碼數(shù)據(jù)幀依次為x組第一數(shù)據(jù)組、x組第一校驗(yàn)位和幀結(jié)束符;或者所述第一編碼數(shù)據(jù)幀依次為第一組第一數(shù)據(jù)組和第一校驗(yàn)位、第二組第一數(shù)據(jù)組和第一校驗(yàn)位、至第x組第一數(shù)據(jù)組和第一校驗(yàn)位,以及幀結(jié)束符。
在本實(shí)施例中,為了進(jìn)一步保證數(shù)據(jù)不間斷地得到處理,從而解決速率不匹配的問(wèn)題,也采取了第三先進(jìn)先出緩存器(fifo緩存器3)和第四先進(jìn)先出緩存器(fifo緩存器4),分別與編碼器1與編碼器2電性相連,用于交替緩存并分別輸出所述k字節(jié)的第一數(shù)據(jù)組至所述編碼器1和編碼器2。
本發(fā)明實(shí)施例的另一方面,還提供了一種前向糾錯(cuò)解碼裝置102(請(qǐng)參照?qǐng)D1),包括:第二先進(jìn)先出緩存器(fifo緩存器2)、第一解碼器(解碼器1)和第二解碼器(解碼器2)。
第二先進(jìn)先出緩存器(fifo緩存器2),與兩個(gè)解碼器電性連接,用于緩存外部輸入的第二編碼數(shù)據(jù)幀,并輸出x組n字節(jié)的第二編碼數(shù)據(jù)組至兩個(gè)解碼器,其中,所述x組第二編碼數(shù)據(jù)組由所述第二編碼數(shù)據(jù)幀剔除幀結(jié)束符后分組得到,且該第二編碼數(shù)據(jù)幀的數(shù)據(jù)排列方式可以與第一編碼數(shù)據(jù)幀相同,也可以不同。
兩個(gè)解碼器(解碼器1和解碼器2),用于對(duì)所述第二編碼數(shù)據(jù)組交替進(jìn)行前向糾錯(cuò)解碼處理:剔除其中的第二校驗(yàn)位,得到x組k字節(jié)的第二數(shù)據(jù)組,并將所述k字節(jié)的第二數(shù)據(jù)組進(jìn)行組合得到第二以太網(wǎng)數(shù)據(jù)幀。其中,x、k和n均為正整數(shù),且n>k。
由此可見(jiàn),通過(guò)本發(fā)明提供的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)系統(tǒng)1,可以實(shí)現(xiàn)數(shù)據(jù)在兩個(gè)編碼器和兩個(gè)解碼器中的交替處理,加快了以太網(wǎng)數(shù)據(jù)幀前向糾錯(cuò)的進(jìn)程。此外,該系統(tǒng)還包括前向糾錯(cuò)編碼裝置101和解碼裝置102,實(shí)現(xiàn)了以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼和前向糾錯(cuò)解碼,減少了數(shù)據(jù)傳輸?shù)某鲥e(cuò)率,提高了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,若錯(cuò)誤在可糾范圍內(nèi),通過(guò)譯碼檢查并糾正錯(cuò)誤,可以抵抗信道帶來(lái)的干擾,提高通信系統(tǒng)的可靠性。
根據(jù)本發(fā)明的一種實(shí)施方式,該系統(tǒng)可以基于fpga芯片,因?yàn)閒pga芯片并行處理能力強(qiáng)、具有靈活可開發(fā)的性質(zhì)(通過(guò)改變其加載程序),本發(fā)明提供的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)系統(tǒng)基于乒乓操作和fifo結(jié)構(gòu),可通過(guò)多占用fpga資源來(lái)解決數(shù)據(jù)傳輸速率不匹配的問(wèn)題,同時(shí)實(shí)現(xiàn)數(shù)據(jù)流的高速處理、流水線式算法以及數(shù)據(jù)的無(wú)縫緩沖和處理。
圖2為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼裝置編碼時(shí)速率匹配結(jié)構(gòu)的示意圖,如圖2所示,在前向糾錯(cuò)編碼過(guò)程中,第一以太網(wǎng)數(shù)據(jù)幀先經(jīng)過(guò)分組,得到x組k字節(jié)的第一數(shù)據(jù)組。根據(jù)本發(fā)明的一種實(shí)施例,為了進(jìn)一步解決數(shù)據(jù)處理速率不匹配的問(wèn)題,采取了第三先進(jìn)先出緩存器(fifo緩存器3)和第四先進(jìn)先出緩存器(fifo緩存器4),分別與編碼器1與編碼器2電性相連接,用于交替緩存并分別輸出所述k字節(jié)的第一數(shù)據(jù)組至所述編碼器1和編碼器2。
編碼器1將fifo緩存器3輸出的當(dāng)前第一數(shù)據(jù)組進(jìn)行前向糾錯(cuò)解碼處理,得到該數(shù)據(jù)組對(duì)應(yīng)的n-k字節(jié)的校驗(yàn)位,與此同時(shí)下一組k字節(jié)的第一數(shù)據(jù)組緩存至fifo緩存器4。當(dāng)前k字節(jié)的第一數(shù)據(jù)組前向糾錯(cuò)編碼完成之后,將編碼器1中的n-k字節(jié)的第一校驗(yàn)位緩存入fifo緩存器1。同時(shí)下一個(gè)第一數(shù)據(jù)組由該fifo緩存器4輸出至編碼器2進(jìn)行編碼,編碼結(jié)束后編碼器2中的第一校驗(yàn)位依次緩存入fifo緩存器1。當(dāng)下一組數(shù)據(jù)來(lái)臨時(shí),編碼器1已經(jīng)處于閑置狀態(tài),可以對(duì)新的第一數(shù)據(jù)組進(jìn)行編碼。當(dāng)所有第一數(shù)據(jù)組均編碼完成后,將fifo緩存器1內(nèi)的校驗(yàn)位全部輸出。
在本發(fā)明實(shí)施例中,該系統(tǒng)中的前向糾錯(cuò)編碼采用rs碼,所述rs碼為rs(255,239)碼,所述k為239,所述n為255,也就是說(shuō),第一以太網(wǎng)數(shù)據(jù)幀經(jīng)過(guò)分組得到的第一數(shù)據(jù)組為239個(gè)字節(jié),第一校驗(yàn)碼為16個(gè)字節(jié),第一編碼數(shù)據(jù)組為255個(gè)字節(jié)。在其他實(shí)施例中,第一校驗(yàn)碼還可以為32個(gè)字節(jié),n為255,k為223。
圖3為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼裝置解碼時(shí)速率匹配結(jié)構(gòu)的示意圖,如圖3所示,在前向糾錯(cuò)解碼裝置解碼過(guò)程中,先將外部發(fā)送的第二編碼數(shù)據(jù)幀緩存在fifo緩存器2中,解碼器1和解碼器2交替接收第二編碼數(shù)據(jù)組,進(jìn)行前向糾錯(cuò)解碼處理,并剔除第二編碼數(shù)據(jù)組中的第二校驗(yàn)位,得到x組k字節(jié)的第二數(shù)據(jù)組,并將所述k字節(jié)的第二數(shù)據(jù)組進(jìn)行組合得到第二以太網(wǎng)數(shù)據(jù)幀,從而完成以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼。由于解碼延時(shí)的存在,在一組數(shù)據(jù)幀和校驗(yàn)位輸入解碼器1后,開始將下一組數(shù)據(jù)幀和校驗(yàn)位輸入解碼器2進(jìn)行解碼處理。這樣在解碼器1解碼完成,解碼后數(shù)據(jù)輸出完成之時(shí),解碼器2解碼完成開始輸出數(shù)據(jù)。這樣可以實(shí)現(xiàn)連續(xù)解碼后數(shù)據(jù)的輸出,恢復(fù)出編碼前以太網(wǎng)數(shù)據(jù)幀,實(shí)現(xiàn)前向糾錯(cuò)的編解碼過(guò)程,降低出錯(cuò)率,保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
圖4為本發(fā)明實(shí)施例的k字節(jié)的數(shù)據(jù)組的結(jié)構(gòu)示意圖,如圖4所示,以k字節(jié)為單位對(duì)以太網(wǎng)數(shù)據(jù)幀進(jìn)行分組,得到x組k字節(jié)的數(shù)據(jù)組,其中每組數(shù)據(jù)組包括:前導(dǎo)碼1、幀開始符2、目的地址3、源地址4、數(shù)據(jù)長(zhǎng)度5、數(shù)據(jù)類型6、數(shù)據(jù)和填充7和幀校驗(yàn)序列8。圖5為本發(fā)明實(shí)施例的編碼數(shù)據(jù)幀結(jié)構(gòu)示意圖,如圖5所示,編碼數(shù)據(jù)幀分為第一編碼數(shù)據(jù)幀和第二編碼數(shù)據(jù)幀,其中的字段1~8與圖2中的k字節(jié)的數(shù)據(jù)組的定義一致,字段8之后增加的字段9為校驗(yàn)位,字段10為編碼數(shù)據(jù)的幀結(jié)束符。
在以太網(wǎng)數(shù)據(jù)幀分組時(shí),由于以太網(wǎng)數(shù)據(jù)幀中數(shù)據(jù)長(zhǎng)短不固定,分組時(shí)尾組可能會(huì)出現(xiàn)長(zhǎng)度不足k字節(jié)的情況。這種情況下對(duì)尾組數(shù)據(jù)進(jìn)行0填充,即填充數(shù)據(jù)0至數(shù)據(jù)幀達(dá)到k字節(jié)。對(duì)分組后的數(shù)據(jù)幀進(jìn)行fec編碼處理,每個(gè)數(shù)據(jù)幀經(jīng)過(guò)編碼后可以得到n-k字節(jié)的校驗(yàn)位。尾組數(shù)據(jù)如有0填充,則在編碼結(jié)束后將填充的數(shù)據(jù)去除。此外,前向糾錯(cuò)解碼方式應(yīng)與前向糾錯(cuò)編碼采取的編碼方式相對(duì)應(yīng)。
圖6為本發(fā)明實(shí)施例的典型應(yīng)用場(chǎng)景示意圖,如圖6所示,在該典型應(yīng)用場(chǎng)景中,作為編碼端的計(jì)算機(jī)設(shè)備,計(jì)算機(jī)1向以太網(wǎng)交換機(jī)1發(fā)射要傳送的電信號(hào)數(shù)據(jù),以太網(wǎng)交換機(jī)1將所述電信號(hào)數(shù)據(jù)轉(zhuǎn)換成以太網(wǎng)數(shù)據(jù)幀(光信號(hào)),再將該以太網(wǎng)數(shù)據(jù)幀輸出至前向糾錯(cuò)編解碼器1進(jìn)行前向糾錯(cuò)編碼處理,得到編碼數(shù)據(jù)幀。在解碼端,前向糾錯(cuò)編解碼器2接收通過(guò)光纖傳輸?shù)木幋a數(shù)據(jù)幀,并進(jìn)行前向糾錯(cuò)解碼處理,得到以太網(wǎng)數(shù)據(jù)幀,并輸出至以太網(wǎng)交換機(jī)2。最后,以太網(wǎng)交換機(jī)2將該以太網(wǎng)數(shù)據(jù)幀轉(zhuǎn)換成電信號(hào)傳輸至計(jì)算機(jī)2,從而完成以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)。此外,該應(yīng)用場(chǎng)景的信號(hào)傳輸通道也是可逆的,也就是說(shuō),計(jì)算機(jī)1、以太網(wǎng)交換機(jī)1和前向糾錯(cuò)編解碼器1可以作為解碼端,計(jì)算機(jī)2、以太網(wǎng)交換機(jī)2和前向糾錯(cuò)編解碼器2可以作為編碼端。
本發(fā)明實(shí)施例的又一方面,還提供了一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼方法,圖7為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼方法步驟流程圖,如圖7所示,在本實(shí)施例中,該方法基于fpga芯片,包括步驟:
s701、對(duì)第一以太網(wǎng)數(shù)據(jù)幀分組,得到x組k字節(jié)的第一數(shù)據(jù)組;
其中,在分組時(shí),對(duì)于長(zhǎng)度不足k字節(jié)的第一數(shù)據(jù)組,在其組尾填充0,直至該組數(shù)據(jù)的長(zhǎng)度為k字節(jié),且對(duì)于填充0的第一數(shù)據(jù)組,在編碼結(jié)束后丟棄其中填充的0。
s702、交替處理所述第一數(shù)據(jù)組,得到x組對(duì)應(yīng)的n-k字節(jié)的第一校驗(yàn)位,其中,x、k和n均為正整數(shù),且n>k;
具體地,前向糾錯(cuò)編碼可以采用rs碼,所述rs碼為rs(255,239)碼。第一數(shù)字組的字節(jié)長(zhǎng)度k選擇239,第一編碼數(shù)據(jù)幀的字節(jié)長(zhǎng)度n為255,校驗(yàn)位的字節(jié)長(zhǎng)度n-k為16。另外,在其他實(shí)施例中,n-k也可以32,同時(shí)n與k作相對(duì)修改,n為255,k為223。
s703、將所述第一數(shù)據(jù)組尾后依次加入所述第一校驗(yàn)位以及幀結(jié)束符,得到并輸出第一編碼數(shù)據(jù)幀,完成以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼;
得到的第一編碼數(shù)據(jù)幀有兩種排列方式,依次可以為第一x組數(shù)據(jù)組、x組第一校驗(yàn)位和幀結(jié)束符;或者依次為第一組第一數(shù)據(jù)組和第一校驗(yàn)位、第二組第一數(shù)據(jù)組和第一校驗(yàn)位,……,第x組第一數(shù)據(jù)組和第一校驗(yàn)位,以及幀結(jié)束符。
本發(fā)明實(shí)施例的再一方面,還提供了一種以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼方法,圖8為本發(fā)明實(shí)施例的以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼方法步驟流程圖,如圖8所示,包括步驟:
s801、對(duì)外部輸入的第二編碼數(shù)據(jù)幀分組,得到x組n字節(jié)的第二編碼數(shù)據(jù)組;
其中,第二編碼數(shù)據(jù)組可以與第一編碼數(shù)據(jù)組的排列方式相同,也可以不一致。
s802、交替對(duì)第二編碼數(shù)據(jù)組剔除n-k字節(jié)的第二校驗(yàn)位,得到x組k字節(jié)的第二編碼數(shù)據(jù)組,其中,x、k和n均為正整數(shù),且n>k。
s803、將所述第二數(shù)據(jù)組進(jìn)行組合得到第二以太網(wǎng)數(shù)據(jù)幀,完成以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)解碼;
為與前述前向糾錯(cuò)編碼方式保持一致,前向糾錯(cuò)解碼可以采用rs碼,所述rs碼為rs(255,239)碼。第二數(shù)字組的字節(jié)長(zhǎng)度k選擇239,第二編碼數(shù)據(jù)幀的字節(jié)長(zhǎng)度n為255,第二校驗(yàn)位的字節(jié)長(zhǎng)度n-k為16。另外,在其他實(shí)施例中,n-k也可以32,同時(shí)n與k作相對(duì)修改,n為255,k為223。
一般來(lái)說(shuō),若錯(cuò)誤在可糾范圍內(nèi),通過(guò)譯碼檢查并糾正錯(cuò)誤,可以抵抗信道帶來(lái)的干擾,提高通信系統(tǒng)的可靠性。同時(shí)也實(shí)現(xiàn)了以太網(wǎng)數(shù)據(jù)幀的前向糾錯(cuò)編碼和前向糾錯(cuò)解碼,降低了數(shù)據(jù)傳輸?shù)某鲥e(cuò)率,提高了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
使用協(xié)議| 關(guān)于我們| 聯(lián)系X技術(shù)
? 2008-2024 【X技術(shù)】 版權(quán)所有,并保留所有權(quán)利。津ICP備16005673號(hào)-2