專利名稱:一種前向糾錯的編解碼的方法、裝置和系統的制作方法
技術領域:
本發明涉及電子技術領域,尤其涉及一種前向糾錯的編解碼的方法、裝 置和系統。
背景技術:
前向糾錯算法是在數據發送端按照一定的編碼規則在數據流中增加一定
的稱為parity (校驗比特)的冗余數據,在數據的接收端對接收到包含信息比 特和校驗比特的數據進行解碼的一種算法,前向糾錯算法能夠降低傳輸中的 誤碼率,從而達到糾錯的功能。
EFEC ( Enhanced Forward Error Correction,增強型前向纟"i錯)是一種 增強型前向糾錯算法,被廣泛應用于光傳送系統中,為光傳送系統提供高性 能的誤碼糾錯能力,提高了系統的可靠性和傳送距離。
現有的一種前向糾錯算法為一種采用級聯BCH ( Bose-Chaudhuri-Hocquenghem, 一種循環碼)碼的前向糾錯算法,其開銷冗余率為7。/。。該編 碼方法首先采用BCH (3860, 3824)碼進行編碼(即第一次編碼),可糾 3bit誤碼,再采用采用BCH (2040, 1930)碼進行編碼(即第二次編碼), 可糾10bit誤碼。該解碼方法首先采用BCH (2040, 1930)碼進行解碼(即第 一次解碼),再采用BCH (3860, 3824)碼進行解碼(即第二次解碼)。 BCH(3860,3824)碼字由3824bit信息位,即凈荷數據長度與36bit校驗位構 成,該BCH碼的總數據長度為3860bit。可以將對數據進行第一次編碼或第二 次解碼所采用的碼字作為第一碼字(也可以稱作外碼,即現有技術中的BCH(3860, 3824)碼),將對數據進行第二次編碼或第一次解碼所采用的碼字 作為第二碼字(也可以稱作內碼,即現有技術中的BCH (2040, 1930 ) 碼)。為了增強FEC算法的糾錯性能,可以在兩次編解碼之間插入交織或解 交織功能,形成增強型前向糾錯算法。該現有技術中開銷冗余為7% 。
但是,現有的EFEC算法的開銷冗余率為7。/。。糾錯能力有限,只適用于標 準的OTU2幀,不能應用于擴展型開銷冗余率為其他值的OTU2V幀結構,不 能用來進一步提高光傳送通道的可靠性。
發明內容
本發明實施例的前向糾錯的編解碼的方法、裝置和系統,可以滿足多種 開銷冗余率的應用需求。
本發明實施例是通過以下技術方案實現的
本發明實施例提供一種前向糾錯的編碼的方法,包括:
根據開銷冗余率,將數據通過預先確定的第一碼字進行編碼處理,然后 進行第一交織處理;
將第一交織處理后的數據,通過預先確定的第二碼字進行編碼處理并發送。
本發明實施例提供一種前向糾錯的解碼的方法,包括 將接收到的數據通過所述預先確定的第二碼字進行解碼處理后,進行解 交織處理;
將解交織處理后的數據,通過所述預先確定的第一碼字進行解碼處理后 輸出。
本發明實施例提供一種前向糾錯的編碼裝置,包括
第一編碼單元,用于根據開銷冗余率,將數據通過預先確定的第一碼字
進行編碼處理后輸出;
10第一交織單元,用于將所述第一編碼單元輸出的數據進行第一交織處理
后輸出;
第二編碼單元,用于將所述第一交織單元輸出的數據,通過預先確定的 第二碼字進行編碼處理并發送。
本發明實施例提供一種前向糾錯的解碼裝置,包括
第二解碼單元,用于將接收到的數據通過預先確定的第二碼字進行解碼
處理后輸出;
解交織單元,用于將第二解碼單元輸出的數據進行解交織處理后輸出;
第一解碼單元,用于將解交織單元輸出的數據,通過預先確定的第一碼 字進行解碼處理后輸出。
本發明實施例提供一種前向糾錯的編解碼系統,包括前向糾錯的編碼 裝置和前向糾錯的解碼裝置,
所述編碼裝置根據開銷冗余率,將數據通過預先確定的第一碼字進行編 碼處理,然后進行第一交織;將第一交織處理后的數據,通過預先確定的第 二碼字進行編碼處理并發送;
所述解碼裝置將接收到的數據通過所述預先確定的第二碼字進行解碼處 理后,進行解交織處理;將解交織處理后的數據,通過所述預先確定的第一 碼字進行解碼處理后輸出。
由上述本發明實施例提供的技術方案可以看出,本發明實施例采用根據 開銷冗余率,通過預先確定的第一碼字和第二碼字對數據進行編碼處理的技 術方案,可以更好的兼容現有技術,以便使用比較少的資源,實現各種開銷 冗余率的應用需求,從而進一步提高了光傳輸通道的可靠性及應用的靈活 性。
ii圖1為本發明實施例的方法的流程圖2為本發明實施例的采用第 一碼字BCH(3908,3824)對光傳輸數據進行
編碼后的幀結構;
圖3為本發明實施例的采用第二碼字BCH(2374,1954)對交織處理后的數 據進行編碼后的幀結構;
圖4為本發明實施例所示的并行編碼結構示意圖; 圖5為本發明實施例的交織/解交織處理過程; 圖6為本發明實施例的交織和解交織數據存儲實現方法; 圖7為本發明實施例的系統的結構圖。
具體實施例方式
本發明實施例的方法如圖1所示,包括如下步驟 步驟1:預先確定編解碼碼型。
具體可以通過對現有的編解碼碼型進行擴展而確定滿足預先設置的開銷 冗余率要求的編解碼碼型。
在碼型擴展過程中,由于交織處理的主要作用是使誤碼分布更趨向均勻 分布化,交織和解交織的粒度對編解碼整體糾錯性能有影響,但對編解碼的 糾錯能力沒有影響。在選擇碼型的時候,可以不考慮改變交織粒度的大小。 因此,碼型擴展方法主要有兩種增加碼字長度和改變碼字數量。
在本發明實施例中,將對數據進行第 一次編碼或第二次解碼所采用的碼 字作為第一碼字(也可以稱作外碼),將對數據進行第二次編碼或第一次解 碼所采用的碼字作為第二碼字(也可以稱作內碼)。
一、增加碼字長度的碼型擴展方法
增加碼字長度的碼型擴展方法是保持現有算法碼字數量和交織粒度,根 據預先設置的開銷冗余率大小設置碼型的開銷冗余區域大小,這樣,合理地增加了第一碼字和第二碼字的長度,即可擴展成實現各種開銷冗余率(比如
開銷冗余率為n。/。)的FEC算法的碼型。
由于每個碼字凈荷長度保持不變,只根據預先設置的開銷冗余率增長了 碼字的開銷冗余區域,從而,增強了每個碼字的糾錯能力,相應地增強了擴 展后碼型的整體糾錯能力。在數據幀凈荷數據字節長度為M,開銷冗余字節 長度為L,開銷冗余字節數L與整個幀數據字節數M+L比值為開銷冗余率n。/。的 情況下,增加碼字長度得到第二碼字BCH (m2, p2)和第一碼字BCH
(m1, p1 ),其中,m1和m2指示對應碼型的總數據長度,p1和p2指示對應 碼型的凈荷數據長度,m1-p1指示對應碼型的校驗位數據長度,m2-p2指示對 應碼型的校驗位數據長度。該第二碼字BCH (m2, p2)和第一碼字BCH
(m1, p1)可以滿足:(m1-p1 ) x8+ (m2-p2) x16小于或等于2L, p1x8bit 等于2Mbit, m2x16bit等于或小于(M+L) x2 bit 。
對于固定幀長度和開銷冗余區域的幀結構,可以通過增長第一碼字和第 二碼字的長度的方式增長碼字的開銷冗余區域,來擴展生成實現開銷冗余率 為n。/。的FEC算法的碼型。典型開銷冗余率為25。/。的擴展碼型有第一碼字 BCH (3860, 3824 )和第二碼字BCH ( 2374, 1930)、第一碼字BCH
(3908, 3824)和第二碼字BCH (2374, 1954)、第一碼字BCH (3956, 3824)和第二碼字BCH (2374, 1978)、第一碼字BCH (4004, 3824)和 BCH (2374, 2002 )、第一碼字BCH ( 4052, 3824 )和第二碼字BCH
方法生成。
二、改變碼字數量的碼型擴展方法
對于任意開銷冗余率為n。/。的編解碼,改變碼字數量的碼型擴展方法可以
包括改變第一碼字的碼字數量,或改變第二碼字的碼字數量,或第一碼字 和第二碼字的碼字數量。
13在數據幀凈荷數據字節長度為M,開銷冗余字節長度為L,開銷冗余字節
數L與整個幀數據字節數M+L比值為開銷冗余率n。/。的情況下,改變碼字數量 得到Z個第一碼字BCH (m1, p1 )和Y個第二碼字BCH (m2, p2),其中, 該Z個第一碼字BCH (m1, p1)和Y個第二碼字BCH (m2, p2 )可以滿足 m 1和m2指示對應碼型的總數據長度,p 1和p2指示對應碼型的凈荷數據長 度,(m1畫p1 ) xZ+ (m2-p2) xY小于或等于2L, p1xZbit等于2M bit, m2x丫bit等于或小于(M+L) x2 bit 。
通常,第二碼字的糾錯能力要比第一碼字強,第二碼字碼字的變化對碼 型整體糾錯能力的影響程度比第一碼字碼字的變化影響程度大。這樣,為了 最大限度地增強擴展碼型的糾錯能力,可以選擇改變第二碼字的碼字數量。 對于固定幀長度和開銷冗余區域的幀結構,可以通過改變第二碼字的碼字數 量,擴展生成實現開銷冗余率為n。/。的FEC算法的碼型。典型開銷冗余率為 25%的擴展碼型有第一碼字BCH ( 3920, 3824 )和第二碼字BCH (4752, 3920)、第一碼字BCH (3920, 3824)和第二碼字BCH (1178, 980)、第一碼字BCH (3920, 3824)和第二碼字BCH (590, 490),其他
比如在預先設置的開銷冗余率為25。/。的情況下,可以選擇BCH (3908, 3824)作為第一碼字,BCH(2374, 1954)作為第二碼字,可以 將BCH (3908, 3824)和BCH (2374, 1954)按照如下方式定義
GF(2")域上的BCH(3908,3824)和BCH(2374,1954)碼生成多項式為
G(x) = M(;c)Af30)A^(Jc)…M2,— 札(x)《(x —
其中M'W為最小多項式,a為本原多項式xi2 + x11+X8 + X6 +1的根,, 為可糾錯最大bit數。
BCH(3908,3824)碼字由3824bit信息位與84bit校驗位構成,可以糾7bit的錯誤。BCH(2374,1954)碼字由1954bit信息位與420bit校驗位構成,可以糾 35bit的錯誤。
步驟2:將光傳輸數據通過確定的第一碼字進行編碼處理。該編碼處理的 方法具體可以包括首先,將光傳輸數據按照預先設置的第一碼字長度拆分 成數個碼字;其次,將所述的碼字按照預先確定的第一碼字進行編碼處理。 比如采用第一碼字BCH(3908,3824)對光傳輸數據進行編碼后的幀結構如圖 2所示,圖中數據傳輸方式為從上至下,從左到右。包括首先,將 0TU2V幀的每行按bit間插的方式拆成圖2中的8個碼字弁code1 —弁code8,每 個碼字長度為3908bit;其次,將拆分后的各個碼字進行BCH(3908,3824)的編 碼處理,這樣得到圖2所示的這8個碼字在OTU2V行中的位置關系在一個 OTU2V幀的一行中,前30592bit為8個碼字的凈荷數據,接著的640bit是8個 碼字的前80bit parity (校驗)數據,后面的128bit依次為8個碼字的剩余4bit parity數據和12bit dummy (填充)數據,該剩余4bit parity數據和12bit dummy數據的組成方式為2bit parity + 6bit dummy形式,共16個字節。其 中,2bit parity可以4立于2bit parity + 6bit dummy形式中的8bit凄t寺居中的4壬^H立 置。圖中dummy data位置將填充預先確定的第 一 碼字(比如 BCH(3908,3824))的校驗位。
步驟3:將步驟2中編碼處理后的數據傳輸給第一交織單元進行第一交織 處理。具體可以采用多種交織處理方式,如波浪式交織法、增加交織深度的 交織方法,或者減小交織粒度的交織方法。比如
步驟4:將第一交織單元處理后的數據,通過確定的第二碼字進行編碼處 理后傳輸給接收端。該編碼處理的方法具體可以包括首先,將接收到的數 據按照預先設置的第二碼字長度拆分成數個碼字;其次,將所述的碼字按照 預先確定的第二碼字進行編碼處理。比如采用第二碼字BCH(2374,1954)對 交織處理后的數據進行編碼后的幀結構如圖3所示,圖中數據傳輸方式為從
15上至下,從左到右。交織后的數據每行由16個BCH(2374,1954)碼字構成,將 每行按128bit的塊展開成如圖所示構成16個BCH(2374,1954)碼字,其編碼的 效數據包含凈荷數據和第一碼字的parity數據,共1954bit,剩余的部分填充 BCH(2374,1954)碼的parity數據和2bit dummy數據,該2bit dummy數據可以
位于第二碼字數據中的任何位置。
步驟5:接收端將接收到的數據通過確定的第二碼字進行解碼處理后,發 送給解交織單元。
步驟6:解交織單元將接收到的數據進行解交織處理,將解交織處理后的 數據通過確定的第一碼字進行解碼處理后輸出。
在本發明實施例中,為了通過多次迭代,交織和解交織,使誤碼均勻 化,提高編解碼的糾錯性能,可以執行步驟7:將步驟6輸出的數據經第二交 織單元進行第二交織處理后,使得在第一次交織中未被糾錯的誤碼均勻化, 經迭代路徑輸出給確定的第二碼字進行解碼處理,之后傳輸給解交織單元, 執行步驟6。
為了提高編解碼的糾錯性能,可以重復執行該步驟6和步驟7。
本發明實施例對第 一碼字或第二碼字的編解碼的過程中,可以采用將碼 字進行并行編碼的方法對第一碼字或第二碼字進行編碼處理。如圖4所示的并 行編碼結構示意圖,包括首先將待編碼的串行數據通過串并轉換得到數個 并行數據,將得到的所述數個并行數據分別進行編碼處理后,再將得到的經 編碼處理后的并行數據通過并串轉換得到串行數據。
比如第一碼字由8個BCH (3908, 3824)碼字構成的情況下,為了最 小化編碼延時,采用8個碼字并行編碼方案實現編碼。在第二碼字由16個BCH (2374, 1954)構成的情況下,對于第二碼字的編碼,由于16個碼字是間插 排列,可以復用這組編碼器進^"編碼。
在本發明實施例中的交織和解交織的具體實現方法可以采用如下方法
16根據預先設置的塊的具體大小,將待交織數據分成K個塊(symbol),每 個塊的具體大小即為交織的最小粒度,每個塊的具體大小可以根據第二碼字 的個數來確定,比如將每個塊的大小設置為第二碼字的個數x8bit。
根據預先設置的交織深度H將這些塊分成N個組,滿足要求HxN二K,將每 組的各個塊再劃分成H個子組,每個子組的編號分別為1, 2...H-1。
在交織的情況下,將待交織數據分別輸入所述K個塊中,在每個塊中,采 用交織深度H與所述子組數量相同的模H計數器對輸入的數據進行計數處理; 在計數器為預先設置的特定值(比如為最小值)時直接輸出數據,而為其 他值時,將數據保存在存儲編號與計數器相等的子組中,每個子組中的數據 按照先進后出的方式輸出。
在解交織的情況下,將待解交織數據分別輸入所述K個塊中,在每個塊 中,采用交織深度H與所述子組數量相同的模H計數器對輸入的數據進行計數 處理;當計數器為預先設置的特定值(比如最大值)時將輸入數據直接輸 出,當計數器值為其他值時,從子組對應編號為從大到小的存儲空間中讀取 數據,每個子模塊中的數據按照先進后出的方式輸出。
在本發明實施例中,也可以在步驟12中將計數器為最大值時直接輸出數 據,則這樣在步驟13中需要在計數器為最小值時直接輸出數據。容易理解的 是,這是由于交織和解交織是對應的兩個過程而導致的。
比如將OTU2V幀每行38016bit分為297個塊(symbol),每個塊 128bit,每個塊寫入到先進先出存儲單元,然后延時一定時間后讀取數據組成 新的數據輸出,交織/解交織處理過程如圖5所示,由圖5可知,翁:據在交織/解 交織中要延時OTU2V幀7行的時間。
交織和解交織數據處理過程
步驟1:首先將存儲空間劃分38組,每組包含28個symbol的數據存儲單 元,并劃分成7個子字塊,分別由1, 2, 3, 4, 5, 6, 7個symbol組成,存儲 塊編號分別為1,2...7。
17步驟2:對輸入的待交織的數據,采用模n計數(n表示交織深度,此處深 度為8),計數器為"0"時數據直接輸出,而為其他非"0"值時,保存于存 儲編號與計數器相等的存儲單元中,每個子模塊中的數據存儲方式保持順序 存取。
步驟3:讀取側,當計數器為"0"時,輸入數據直接輸出;當計數器為 非"0"時,則從存儲編號與當前計數器相等的存儲塊中讀取數據,讀取按照 先進后出的原則。
對于解交織,實現方式與交織類似,讀寫次序相反。包括
步驟1: 對于輸入的待解交織的數據,采用模n計數(n表示解交織深 度,此處為8),計數器為0,1…6時,分別寫入存儲塊編號對應為7,6,.1的存 儲塊的存儲單元中。每個子模塊中,數據存儲方式保持順序存取。
步驟2:讀取側,當計數器為"7"時,輸入數據直接輸出,當計數器值 為0,1…6時,從存儲塊對應編號為7,6…1的存儲空間中讀取,讀取按照先進 后出的原則。
如圖5所示,在整個交織和解交織過程,并不需要存取每行所有的數據, 對于任意8個碼字,只需要保存38組,每組包含28個symbol的數據,詳細存 儲結構如圖6所示。
數據緩存使用兩個1064x64bit的存儲空間,每個存儲空間分成38組,每 組大小為28x64bit,分別由1x64bit、 2x64bit、 3x64bit、 4x64bit、 5x64bit、 6x64bit、 7x64bit7塊組成。
在本發明實施例中,解碼處理主要采用并行伴隨式、BM和chien搜索計 算,采用了并行方法,縮短了編解碼的時間。BCH編碼的解碼器可以包括 伴隨式計算、BM迭代、CHIEN搜索電路組成,碼字解碼器的伴隨式計算可 以由8個計算電路實現,其中第二碼字16個碼字復用此8個計算電路。BM迭代 電路只有兩組,分別依次對第一碼字第二碼字進行BM迭代計算。CHIEN搜索 電路共8組,當計算第二碼字時,第二碼字16個碼字復用此8組CHIEN搜索電路。
本發明實施例還提供一種前向糾錯的編解碼的系統,如圖7所示,包括 前向糾錯的編碼裝置1和前向糾錯的解碼裝置2,其中,該前向糾錯的編
碼裝置1包括第一纟肩碼單元11,用于根據開銷冗余率,將數據通過預先確定
的第一碼字進行編碼處理后輸出;
第一交織單元12,用于將所述第一編碼單元11輸出的數據進行第一交織
處理后輸出;
第二編碼單元13,用于將所述第一交織單元12輸出的數據,通過預先確 定的第二碼字進行編碼處理并發送。
該前向糾錯的解碼裝置2包括第二解碼單元21,用于將所述第二編碼單 元13發送的數據,通過所述預先確定的第二碼字進行解碼處理后輸出;
解交織單元22,用于將第二解碼單元21輸出的數據進行解交織處理后輸
出;
第一解碼單元23,用于將解交織單元22輸出的數據,通過所述預先確定 的第 一碼字進行解碼處理后輸出。
為了預先確定第一碼字或第二碼字,所述系統還可以包括
碼型確定單元(未圖示),用于根據預先設置的開銷冗余率,增加碼字 長度或改變碼字數量,得到所述預先確定的第一碼字和/或第二碼字,所述預 先確定的第一碼字和第二碼字的開銷冗余區域與所述開銷冗余率匹配。
該碼型確定單元可以位于系統中的前向糾錯的編碼裝置和/或前向糾錯的 解碼裝置中,也可以位于該系統中的其他位置。
所述碼型確定單元確定的第 一碼字和第二碼字包括數據幀凈荷數據字 節長度為M,開銷冗余字節長度為L,開銷冗余字節數L與整個幀數據字節數 M+L比值為開銷冗余率n。/c),增加碼字長度得到總數據長度為m2,凈荷數據長 度為p2的作為第二碼字的BCH碼,以及總數據長度為m1,凈荷數據長度為p1 的作為第一碼字的BCH碼,所述作為第二碼字的BCH碼用BCH (m2, p2)表示,所述作為第一碼字的BCH碼用BCH ( m1, p1 )表示,(m1-p1 ) x8+ (m2-p2 ) x16小于或等于2L, p1x8bit等于2M bit, m2x16bit等于或小于 (M+L) x2 bit;或,
數據幀凈荷數據字節長度為M,開銷冗余字節長度為L,開銷冗余字節數 L與整個幀數據字節數M+L比值為開銷冗余率n。/。,改變碼字數量得到Z個總數 據長度為m1,凈荷數據長度為p1的作為第一碼字的BCH碼,以及Y個總數據 長度為m2,凈荷數據長度為p2的作為第二碼字的BCH碼,所述作為第二碼字 的BCH碼用BCH (m2, p2 )表示,所述作為第 一碼字的BCH碼用BCH (m1, p1 )表示,(m1-p1 ) xZ+ (m2隱p2) xY小于或等于2L, p1xZbit等于 2Mbit, m2xYbit等于或小于(M+L) x2bit。
為了通過多次迭代,交織和解交織,使誤碼均勻化,提高編解碼的糾錯 性能,所述系統中的前向糾錯的解碼裝置2還可以包括
第二交織單元24,將所述第 一解碼單元23輸出的數據進行第二交織處理 后輸出給所述第二解碼單元21處理。
為了最小化編碼延時,所述系統中的前向糾錯的編碼裝置1還可以包括 串并轉換單元(未圖示),用于與所述第一編碼單元11相連,將數據通過串 并轉換得到數個并行數據,再將得到的數個并行數據分別輸出給第一編碼單 元11處理;或,用于與所述第二編碼單元13相連,將數據通過串并轉換得到 數個并行數據,再將得到的數個并行數據分別輸出給第二編碼單元13處理; 或,用于與所述第一編碼單元11相連,將數據通過串并轉換得到數個并行數 據,再將得到的數個并行數據分別輸出給第一編碼單元11處理,以及用于與 所述第二編碼單元13相連,將數據通過串并轉換得到數個并行數據,再將得 到的數個并行數據分別輸出給第二編碼單元13處理。
為了最小化編碼延時,所述系統中的前向糾錯的解碼裝置2還可以包括 并串轉換單元(未圖示),用于與所述第一解碼單元23相連,將數個并行數 據通過并串轉換得到 一組串行數據,再將得到的所述串行數據輸出給第 一解
20碼單元23處理;或,用于與所述第二解碼單元21相連,將數個并行數據通過 并串轉換得到 一組串行數據,再將得到的所述串行數據輸出給第二解碼單元 21處理;或,用于與所述第一解碼單元23相連,將數個并行數據通過并串轉 換得到 一組串行數據,再將得到的所述串行數據輸出給第 一解碼單元23處 理,以及用于與所述第二解碼單元21相連,將數個并行數據通過并串轉換得 到 一組串行數據,再將得到的所述串行數據輸出給第二解碼單元21處理。
現有算法和本發明算法主要應用于OTN領域,特別本發明算法和擴展碼 型都是基于OTN幀結構設計而成,在實際應用中,本發明算法除可應用于 OTN領域外,也可以應用于其他任何領域,只需要數據幀滿足或可整理成如 下格式
payload = M bit
parity = N bit
其中,payload為凈荷數據,parity為校驗比特。其中,要求M《30592, N>2048 ,如果payload的長度小于30592bit,則可以采用本發明算法的截短 碼來實現。
本發明實施例實現一種可以滿足開銷冗余率為n。/。的應用需求的EFEC算 法,同時,可以更好的兼容現有技術,以便使用比較少的資源,實現開銷冗 余率為7。/o和n。/。兩種算法,從而,進一步提高了光傳輸通道的可靠性及應用 的靈活性。
以上所述,僅為本發明較佳的具體實施方式
,但本發明的保護范圍并不 局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可 輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明 的保護范圍應該以權利要求書的保護范圍為準。
2權利要求
1、一種前向糾錯的編碼的方法,其特征在于,包括根據開銷冗余率,將數據通過預先確定的第一碼字進行編碼處理,然后進行第一交織處理;將第一交織處理后的數據,通過預先確定的第二碼字進行編碼處理并發送。
2、 如權利要求1所述的方法,其特征在于,預先確定第一碼字或第二碼 字的方法包括根據預先設置的開銷冗余率,增加碼字長度或改變碼字數 量,得到所述預先確定的第一碼字或第二碼字,所述預先確定的第一碼字的 開銷冗余區域與所述開銷冗余率匹配,所述預先確定的第二碼字的開銷冗余 區域與所述開銷冗余率匹配,所述預先確定的第一碼字和第二碼字的開銷冗 余區域與所述開銷冗余率匹配。
3、 如權利要求2所述的方法,其特征在于,預先確定第一碼字或第二碼 字的方法具體包括數據幀凈荷數據字節長度為M,開銷冗余字節長度為L, 開銷冗余字節數L與整個幀數據字節數M+L比值為開銷冗余率,增加碼字長度 得到總數據長度為m2,凈荷數據長度為p2的作為第二碼字的BCH碼,以及總 數據長度為m1,凈荷數據長度為p1的作為第一碼字的BCH碼,所述作為第二 碼字的BCH碼用BCH (m2, p2)表示,所述作為第一碼字的BCH碼用BCH(m1 , p1 )表示,并且滿足(m1畫p1 ) x8+ ( m2-p2) x16 S 2L, p1x8=2M, m2x16, (M+L) x2 bit 。
4、 如權利要求3所述的方法,其特征在于,在開銷冗余率為25。/。的情況 下,所述第二碼字和第一碼字包括第一碼字為總數據長度為3860比特,凈荷數據長度為3824比特,校驗位 為36比特的BCH碼,第二碼字為總數據長度為2374比特,凈荷數據長度為 1930比特,校驗位為444比特的BCH碼;或者,第一碼字為總數據長度為3908比特,凈荷數據長度為3824比特,校驗位 為84比特的BCH碼,第二碼字為總數據長度為2374比特,凈荷數據長度為 1954比特,校驗位為420比特的BCH碼;或者,第一碼字為總數據長度為3956比特,凈荷數據長度為3824比特,校驗位 為132比特的BCH碼,第二碼字為總數據長度為2374比特,凈荷數據長度為 1978比特,校驗位為396比特的BCH碼;或者,第一碼字為總數據長度為4004比特,凈荷數據長度為3824比特,校驗位 為180比特的BCH碼,第二碼字為總數據長度為2374比特,凈荷數據長度為 2002比特,校驗位為372比特的BCH碼;或者,第一碼字為總數據長度為4052比特,凈荷數據長度為3824比特,校驗位 為228比特的BCH碼,第二碼字為總數據長度為2374比特,凈荷數據長度為 2026比特,校驗位為348比特的BCH碼。
5、 如權利要求2所述的方法,其特征在于,預先確定第一碼字或第二碼 字的方法具體包括數據幀凈荷數據字節長度為M,開銷冗余字節長度為L, 開銷冗余字節數L與整個幀數據字節數M+L比值為開銷冗余率,改變碼字數量 得到Z個總數據長度為m1,凈荷數據長度為p1的作為第一碼字的BCH碼,以 及Y個總數據長度為m2,凈荷數據長度為p2的作為第二碼字的BCH碼,所述 作為第二碼字的BCH碼用BCH (m2, p2)表示,所述作為第一碼字的BCH碼 用BCH(m1, p1)表示,并且滿足(m1誦p1 ) xZ+ ( m2-p2 ) xY ^ 2L, p1xZbit = 2M bit, m2xY, ( M+L) x2 bit 。
6、 如權利要求5所述的方法,其特征在于,在開銷冗余率為25%的情況 下,所述第二碼字和第一碼字包括第一碼字為總數據長度為3920比特,凈荷數據長度為3824比特,校驗位 為96比特的BCH碼,第二碼字為總數據長度為4752比特,凈荷數據長度為 3920比特,校驗位為832比特的BCH碼;或者,第一碼字為總數據長度為3920比特,凈荷數據長度為3824比特,校驗位 為96比特的BCH碼,第二碼字為總數據長度為1178比特,凈荷數據長度為 980比特,校驗位為198比特的BCH碼;或者,第一碼字為總數據長度為3920比特,凈荷數據長度為3824比特,校驗位 為96比特的BCH碼,第二碼字為總數據長度為590比特,凈荷數據長度為490 比特,校驗位為100比特的BCH碼。
7、 如權利要求1-6任一項所述的方法,其特征在于,進行交織處理的方 法包括將待交織數據分別輸入預先設置的K個塊中,在每個塊中,采用交織 深度H與預先設置的子組數量相同的模H計數器對輸入的數據進行計數處理; 在計數器為預先設置的特定值時直接輸出數據,而為其他值時,將數據保存 在存儲編號與計數器相等的預先設置的子組中,每個子組中的數據按照先進 后出的方式輸出;所述預先設置K個塊是根據預先設置的塊的具體大小,將待交織數據分成 的K個塊,每個塊的具體大小為交織的最小粒度,每個塊的具體大小根據第二 碼字的個數確定;所述預先設置的子組按照如下方法劃分根據預先設置的 交織深度H將K個塊分成N個組,滿足要求HxN二K,將每組的各個塊再劃分成 H個子組,并對每個子組依次編號。
8、 如權利要求1-6任一項所述的方法,其特征在于,進行編碼的方法包 括將數據通過串并轉換得到數個并行數據,將得到的所述數個并行數據分 別進行編碼處理后,再將得到的經編碼處理后的并行數據通過并串轉換得到 串行數據。
9、 一種前向糾錯的解碼的方法,其特征在于,包括 將接收到的數據通過所述預先確定的第二碼字進行解碼處理后,進行解交織處理;將解交織處理后的數據,通過所述預先確定的第一碼字進行解碼處理后輸出。
10、 如權利要求9所述的方法,其特征在于,所述方法還包括將通過所 述預先確定的第 一碼字進行解碼處理后的數據進行第二交織處理后,分別經 預先確定的第二碼字進行解碼處理、解交織處理,再輸出給預先確定的第一 碼字進行解碼處理后輸出。
11、 如權利要求10所述的方法,其特征在于,進行交織處理的方法包 括將待交織數據分別輸入預先設置的K個塊中,在每個塊中,采用交織深度 H與預先設置的子組數量相同的模H計數器對輸入的數據進行計數處理;在計 數器為預先設置的特定值時直接輸出數據,而為其他值時,將數據保存在存 儲編號與計數器相等的預先設置的子組中,每個子組中的數據按照先進后出 的方式輸出;所述預先設置K個塊是根據預先設置的塊的具體大小,將待交織數據分成 的K個塊,每個塊的具體大小為交織的最小粒度,每個塊的具體大小根據第二 碼字的個數確定;所述預先設置的子組按照如下方法劃分根據預先設置的 交織深度H將K個塊分成N個組,滿足要求HxN-K,將每組的各個塊再劃分成 H個子組,并對每個子組依次編號。
12、 如權利要求9或10或11所述的方法,其特征在于,進行解交織處理 的方法包括進行解交織的方法包括將待解交織數據分別輸入預先設置K個塊中,在 每個塊中,采用交織深度與預先設置的子組數量相同的模H計數器對輸入的數 據進行計數處理;當計數器為預先設置的特定值時將輸入數據直接輸出,當 計數器值為其他值時,從子組對應編號為從大到小的存儲空間中讀取數據, 每個子模塊中的數據按照先進后出的方式輸出;所述預先設置K個塊是根據預先設置的塊的具體大小,將待交織數據分成 的K個塊,每個塊的具體大小為交織的最小粒度,每個塊的具體大小4艮據第二碼字的個數確定;所述預先設置的子組按照如下方法劃分根據預先設置的交織深度H將K個塊分成N個組,滿足要求HxN-K,將每組的各個塊再劃分成 H個子組,并對每個子組依次編號。
13、 如權利要求9或10或11所述的方法,其特征在于,進行解碼的方法 包括將數據通過串并轉換得到數個并行數據,將得到的所述數個并行數據 分別進行解碼處理后,再將得到的經解碼處理后的并行數據通過并串轉換得 到串行數據。
14、 一種前向糾錯的編碼裝置,其特征在于,包括 第一編碼單元,用于根據開銷冗余率,將數據通過預先確定的第一碼字進4亍編碼處理后輸出;第一交織單元,用于將所述第一編碼單元輸出的數據進行第一交織處理 后輸出;第二編碼單元,用于將所述第一交織單元輸出的數據,通過預先確定的 第二碼字進行編碼處理并發送。
15、 如權利要求14所述的裝置,其特征在于,所述裝置還包括 碼型確定單元,用于根據預先設置的開銷冗余率,增加碼字長度或改變碼字數量,得到所述預先確定的第一碼字和/或第二碼字,所述預先確定的第 一碼字和第二碼字的開銷冗余區域與所述開銷冗余率匹配。
16、 如權利要求15所述的裝置,其特征在于,所述碼型確定單元確定的 第一碼字和第二碼字包括數據幀凈荷數據字節長度為M,開銷冗余字節長 度為L,開銷冗余字節數L與整個幀數據字節數M+L比值為開銷冗余率,增加 碼字長度得到總數據長度為m2 ,凈荷數據長度為p2的作為第二碼字的BCH 碼,以及總數據長度為m1,凈荷數據長度為p1的作為第一碼字的BCH碼,所 述作為第二碼字的BCH碼用BCH (m2, p2)表示,所述作為第一碼字的BCH 碼用BCH(m1, p1)表示,(m1畫p1 ) x8+ (m2-p2) x16小于或等于2L,p1x8bit等于2M bit, m2x16bit等于或小于(M+L) x2 bit;或,數據幀凈荷數據字節長度為M,開銷冗余字節長度為L,開銷冗余字節數 L與整個幀數據字節數M+L比值為開銷冗余率,改變碼字數量得到Z個總數據 長度為m1,凈荷數據長度為p1的作為第一碼字的BCH碼,以及Y個總數據長 度為m2,凈荷數據長度為p2的作為第二碼字的BCH碼,所述作為第二碼字的 BCH碼用BCH (m2, p2)表示,所述作為第一碼字的BCH碼用BCH (m1, p1 )表示,(m1-p1) xZ+ ( m2-p2 ) xY小于或等于2L, p1xZbit等于2M bit, m2xYbit等于或小于(M+L) x2 bit。
17、 如權利要求14或15或16所述的裝置,其特征在于,所述裝置還包括串并轉換單元,用于與所述第一編碼單元相連,將數據通過串并轉換得 到數個并行數據,再將得到的數個并行數據分別輸出給第一編碼單元處理; 或,用于與所述第二編碼單元相連,將數據通過串并轉換得到數個并行數 據,再將得到的數個并行數據分別輸出給第二編碼單元處理。
18、 一種前向糾錯的解碼裝置,其特征在于,包括第二解碼單元,用于將接收到的數據通過預先確定的第二碼字進行解碼 處理后輸出;解交織單元,用于將第二解碼單元輸出的數據進行解交織處理后輸出; 第一解碼單元,用于將解交織單元輸出的數據,通過預先確定的第一碼 字進行解碼處理后輸出。
19、 如權利要求18所述的裝置,其特征在于,所述裝置還包括 第二交織單元,將所述第一解碼單元輸出的數據進行第二交織處理后輸出給所述第二解碼單元處理。
20、 如權利要求18或19所述的裝置,其特征在于,所述裝置還包括 并串轉換單元,用于與所述第一解碼單元相連,將數個并行數據通過并串轉換得到 一組串行數據,再將得到的所述串行數據輸出給第 一解碼單元處 理;或,用于與所述第二解碼單元相連,將數個并行數據通過并串轉換得到 一組串行數據,再將得到的所述串行數據輸出給第二解碼單元處理。
21、 一種前向糾錯的編解碼系統,其特征在于,包括前向糾錯的編碼 裝置和前向糾錯的解碼裝置,所述編碼裝置根據開銷冗余率,將數據通過預先確定的第一碼字進行編 碼處理,然后進行第一交織;將第一交織處理后的數據,通過預先確定的第 二碼字進行編碼處理并發送;所述解碼裝置將接收到的數據通過所述預先確定的第二碼字進行解碼處 理后,進行解交織處理;將解交織處理后的數據,通過所述預先確定的第一 碼字進行解碼處理后輸出。
22、 如權利要求21所述的系統,其特征在于,預先確定第一碼字或第二 碼字的方法包括根據預先設置的開銷冗余率,增加碼字長度或改變碼字數 量,得到所述預先確定的第一碼字或第二碼字,所述預先確定的第一碼字的 開銷冗余區域與所述開銷冗余率匹配,所述預先確定的第二碼字的開銷冗余 區域與所述開銷冗余率匹配,所述預先確定的第 一碼字和第二碼字的開銷冗 余區域與所述開銷冗余率匹配。
全文摘要
一種前向糾錯的編解碼的方法、裝置和系統,該方法包括根據開銷冗余率,將數據通過預先確定的第一碼字進行編碼處理,然后進行第一交織處理;將第一交織處理后的數據,通過預先確定的第二碼字進行編碼處理并發送;接收端將接收到的數據通過所述預先確定的第二碼字進行解碼處理后,進行解交織處理;將解交織處理后的數據,通過所述預先確定的第一碼字進行解碼處理后輸出。本發明實施例采用根據開銷冗余率,通過預先確定的第一碼字和第二碼字對數據進行編碼處理的技術方案,可以更好的兼容現有技術,以便使用比較少的資源,實現各種開銷冗余率的應用需求,從而進一步提高了光傳輸通道的可靠性及應用的靈活性。
文檔編號H04L12/56GK101686104SQ20081022284
公開日2010年3月31日 申請日期2008年9月22日 優先權日2008年9月22日
發明者程功寶 申請人:華為技術有限公司