本申請(qǐng)涉及通信編碼領(lǐng)域,尤其是一種廣義錯(cuò)誤定位(英文全稱:generalizederror-locating,英文縮寫:gel)碼字結(jié)構(gòu)編碼和譯碼的方法、裝置及相關(guān)設(shè)備。
背景技術(shù):
隨著數(shù)據(jù)中心建設(shè)的強(qiáng)勁增長(zhǎng),數(shù)據(jù)中心的建設(shè)快速增加,以及相應(yīng)數(shù)據(jù)流量也快速增長(zhǎng),這對(duì)通信網(wǎng)絡(luò),尤其是對(duì)光網(wǎng)絡(luò)市場(chǎng)產(chǎn)生了積極影響,為光網(wǎng)絡(luò)設(shè)備市場(chǎng)注入了新的生命。而數(shù)據(jù)中心建設(shè)的持續(xù)增長(zhǎng),使得數(shù)據(jù)中心互聯(lián)成為光網(wǎng)絡(luò)的設(shè)備增長(zhǎng)最快的應(yīng)用,但同時(shí)也對(duì)數(shù)據(jù)中心互聯(lián)也提出了新的要求。針對(duì)城域超大規(guī)模數(shù)據(jù)中心互聯(lián)的新興需求包括:在每比特成本上體積更小、功耗更低;
在現(xiàn)有的gel碼字結(jié)構(gòu)中,行碼a和列碼b分別定義在gf(qa),gf(qb)上,其中,gf是galoisfield的縮寫,表示伽羅華域,也稱為有限域,gf(qa)表示包含qa個(gè)元素的有限域,gf(qb)表示包含qb個(gè)元素的有限域。行碼a和列碼b滿足如下約束關(guān)系:
qa=2l1,qb=2l2,l1|l2
其中,l1與l2均為整數(shù),l1和l2分別表示gf(2l1)和gf(2l2))中元素的二進(jìn)制表示的位寬,且l1能被l2整除,因?yàn)閎碼進(jìn)行譯碼所需的伴隨式是a碼的錯(cuò)誤值,因此a碼的錯(cuò)誤值的位寬必須是b碼伴隨式位寬的整數(shù)倍。由于現(xiàn)有的gel碼字結(jié)構(gòu)中,對(duì)行碼與列碼所在gf域存在整除約束關(guān)系,導(dǎo)致碼字構(gòu)造不靈活,造成了實(shí)現(xiàn)復(fù)雜度高以及較高的碼字開銷。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例提供了一種gel碼字結(jié)構(gòu)編碼和譯碼的方法、裝置及相關(guān)設(shè)備,用于降低譯碼實(shí)現(xiàn)復(fù)雜度,減少了碼字開銷。
本申請(qǐng)第一方面提供一種gel碼字結(jié)構(gòu)編碼的方法,包括:
先將b碼的原始校驗(yàn)矩陣hc通過初等變換得到目標(biāo)校驗(yàn)矩陣hb,再將hb與b碼的信息位按照第一運(yùn)算得到b碼的校驗(yàn)位,再將b碼的校驗(yàn)位作為a碼的信息位對(duì)a碼進(jìn)行里所rs編碼,得到a碼的校驗(yàn)位,再將b碼的校驗(yàn)位與a碼的校驗(yàn)位按照第二運(yùn)算得到gel碼的校驗(yàn)碼,最后增加單比特奇偶校驗(yàn)spc校驗(yàn)位,spc校驗(yàn)位用于在譯碼時(shí)校驗(yàn)a碼中第一層的錯(cuò)誤位置;
其中,a碼為行碼,b碼為列碼,a碼定義在有限域gf(2l1)上,b碼定義在有限域gf(2l2)上,l1與l2為正整數(shù)。
由于在gel碼字結(jié)構(gòu)中,譯碼過程是從第一層開始譯碼,依次進(jìn)行第二層到最后一層的譯碼,每一層在譯碼時(shí)需要從上一層獲得先驗(yàn)信息,再根據(jù)先驗(yàn)信息進(jìn)行譯碼,然而第一層無法得到先驗(yàn)信息,所以只能根據(jù)行碼和列碼的校驗(yàn)碼進(jìn)行譯碼,由于行碼和列碼的校驗(yàn)碼的譯碼能力,可能導(dǎo)致第一層譯碼失敗。而在本申請(qǐng)實(shí)施例中,在進(jìn)行g(shù)el編碼時(shí),增加了spc校驗(yàn)位,所述spc校驗(yàn)位用于在譯碼時(shí)校驗(yàn)a碼(即行碼)中第一層的錯(cuò)誤位置;這樣,spc校驗(yàn)位則能夠作為第一行a碼的先驗(yàn)信息,從而能夠根據(jù)spc對(duì)第一行a碼進(jìn)行譯碼,提高了第一行a碼的譯碼成功率,從而提升了整個(gè)譯碼過程的效率。
而且,在本申請(qǐng)實(shí)施例中的a碼定義在有限域gf(2l1)上,b碼定義在有限域gf(2l2)上,l1與l2為正整數(shù)。這樣,l1與l2之間不存在整除的約束關(guān)系,因此在gel碼字結(jié)構(gòu)設(shè)計(jì)過程中可以盡可能減小l2,即減少了b碼符號(hào)的位寬,即降低b碼譯碼實(shí)現(xiàn)復(fù)雜度,減少了碼字開銷,且有效提高gel碼的性能。這樣既滿足系統(tǒng)對(duì)產(chǎn)品低功耗的要求,同時(shí)提升通信傳輸系統(tǒng)的性能。
本申請(qǐng)第二方面提供一種gel碼字結(jié)構(gòu)譯碼的方法,包括:
先確定每一層a碼的先驗(yàn)信息,其中,每一層a碼的先驗(yàn)信息是通過上一層進(jìn)行b碼譯碼時(shí)錯(cuò)誤的位置,第一層a碼的先驗(yàn)信息為spc校驗(yàn)位,spc校驗(yàn)位為發(fā)送設(shè)備在進(jìn)行g(shù)el編碼時(shí)增加的校驗(yàn)位,再將通過與發(fā)送設(shè)備相同的b碼校驗(yàn)矩陣hb對(duì)每一層a碼進(jìn)行恢復(fù),再將恢復(fù)后的每一層a碼進(jìn)行譯碼,得到錯(cuò)誤的b碼以及b碼的校正子,再通過b碼的校正子對(duì)錯(cuò)誤的b碼進(jìn)行譯碼,校正所述錯(cuò)誤的b碼;其中,a碼為行碼,b碼為列碼,a碼定義在有限域gf(2l1)上,b碼定義在有限域gf(2l2)上,l1與l2為正整數(shù)。
在進(jìn)行g(shù)el編碼時(shí),增加了spc校驗(yàn)位,所述spc校驗(yàn)位用于在譯碼時(shí)校驗(yàn)a碼(即行碼)中第一層的錯(cuò)誤位置;這樣,spc校驗(yàn)位則能夠作為第一行a碼的先驗(yàn)信息,從而能夠根據(jù)spc對(duì)第一行a碼進(jìn)行譯碼,提高了第一行a碼的譯碼成功率,從而提升了整個(gè)譯碼過程的效率。
本申請(qǐng)第三方面提供一種發(fā)送設(shè)備,該發(fā)送設(shè)備具有實(shí)現(xiàn)上述第一方面所示的方法的功能。該功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊。
本申請(qǐng)第三方面提供的發(fā)送設(shè)備包括:
變換單元,用于將b碼的原始校驗(yàn)矩陣hc通過初等變換得到目標(biāo)校驗(yàn)矩陣hb;
運(yùn)算單元,用于將所述目標(biāo)校驗(yàn)矩陣hb與b碼的信息位按照第一運(yùn)算得到b碼的校驗(yàn)位;
編碼單元,用于將所述b碼的校驗(yàn)位作為a碼的信息位對(duì)a碼進(jìn)行里所rs編碼;
所述運(yùn)算單元還用于,將所述b碼的校驗(yàn)位與所述a碼進(jìn)行rs編碼后的結(jié)果按照第二運(yùn)算得到gel碼的校驗(yàn)碼;
增加單元,用于增加單比特奇偶校驗(yàn)spc校驗(yàn)位,所述spc校驗(yàn)位用于在譯碼時(shí)校驗(yàn)a碼中第一層的錯(cuò)誤位置;
其中,a碼為行碼,b碼為列碼,a碼定義在有限域gf(2l1)上,b碼定義在有限域gf(2l2)上,l1與l2為正整數(shù)。
本申請(qǐng)第四方面提供一種接收設(shè)備,該接收設(shè)備具有實(shí)現(xiàn)上述第二方面所示的方法的功能。該功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊。
本申請(qǐng)第四方面提供的接收設(shè)備包括:
確定單元,用于確定每一層a碼的先驗(yàn)信息,其中,每一層a碼的先驗(yàn)信息是通過上一層進(jìn)行b碼譯碼時(shí)錯(cuò)誤的位置,第一層a碼的先驗(yàn)信息為spc校驗(yàn)位,所述spc校驗(yàn)位為發(fā)送設(shè)備在進(jìn)行g(shù)el編碼時(shí)增加的校驗(yàn)位;
恢復(fù)單元,用于將通過與發(fā)送設(shè)備相同的b碼校驗(yàn)矩陣hb對(duì)每一層a碼進(jìn)行恢復(fù);
譯碼單元,用于將恢復(fù)后的每一層a碼進(jìn)行譯碼,得到錯(cuò)誤的b碼以及b碼的校正子;
校正單元,用于通過所述b碼的校正子對(duì)錯(cuò)誤的b碼進(jìn)行譯碼,校正所述錯(cuò)誤的b碼;
其中,a碼為行碼,b碼為列碼,a碼定義在有限域gf(2l1)上,b碼定義在有限域gf(2l2)上,l1與l2為正整數(shù)。
本申請(qǐng)第五方面提供一種發(fā)送設(shè)備,該發(fā)送設(shè)備具有實(shí)現(xiàn)上述第一方面所示的方法的功能。該功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊。
本申請(qǐng)第五方面提供的發(fā)送設(shè)備包括:
存儲(chǔ)器、處理器以及收發(fā)器,所述存儲(chǔ)器、處理器以及收發(fā)器之間通過總線互相連接,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)指令,所述處理器通過執(zhí)行所述計(jì)算機(jī)指令,從而實(shí)現(xiàn)如第一方面所述的gel碼字結(jié)構(gòu)編碼的方法。
本申請(qǐng)第六方面提供一種接收設(shè)備,該接收設(shè)備具有實(shí)現(xiàn)上述第二方面所示的方法的功能。該功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的模塊。
本申請(qǐng)第六方面提供的接收設(shè)備包括:
存儲(chǔ)器、處理器以及收發(fā)器,所述存儲(chǔ)器、處理器以及收發(fā)器之間通過總線互相連接,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)指令,所述處理器通過執(zhí)行所述計(jì)算機(jī)指令,從而實(shí)現(xiàn)如上述第二方面所述的gel碼字結(jié)構(gòu)譯碼的方法。
本申請(qǐng)第七方面提供一種存儲(chǔ)介質(zhì),用于儲(chǔ)存為上述發(fā)送設(shè)備所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面為發(fā)送設(shè)備所設(shè)計(jì)的程序。
本申請(qǐng)第八方面提供一種存儲(chǔ)介質(zhì),用于儲(chǔ)存為上述接收設(shè)備所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述方面為接收設(shè)備所設(shè)計(jì)的程序。
本申請(qǐng)中,發(fā)送設(shè)備以及接收設(shè)備的名字對(duì)設(shè)備本身不構(gòu)成限定,在實(shí)際實(shí)現(xiàn)中,這些設(shè)備可以以其他名稱出現(xiàn)。只要各個(gè)設(shè)備的功能和本申請(qǐng)類似,屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi)。
本發(fā)明的這些方面或其他方面在以下實(shí)施例的描述中會(huì)更加簡(jiǎn)明易懂。
附圖說明
圖1為本申請(qǐng)實(shí)施例中發(fā)送設(shè)備的一個(gè)示意圖;
圖2為本申請(qǐng)實(shí)施例中g(shù)el碼字結(jié)構(gòu)編碼的方法的一個(gè)示意圖;
圖3為本申請(qǐng)實(shí)施例中g(shù)el碼字結(jié)構(gòu)的一個(gè)示意圖;
圖4為本申請(qǐng)實(shí)施例中g(shù)el碼字結(jié)構(gòu)編碼流程的一個(gè)示意圖;
圖5為本申請(qǐng)實(shí)施例中g(shù)el碼字結(jié)構(gòu)編碼方法的另一示意圖;
圖6為本申請(qǐng)實(shí)施例中接收設(shè)備的一個(gè)示意圖;
圖7為本申請(qǐng)實(shí)施例中g(shù)el碼字結(jié)構(gòu)譯碼方法的一個(gè)示意圖;
圖8為本申請(qǐng)實(shí)施例中g(shù)el碼字結(jié)構(gòu)譯碼流程的一個(gè)示意圖;
圖9為本申請(qǐng)實(shí)施例中發(fā)送設(shè)備的另一示意圖;
圖10為本申請(qǐng)實(shí)施例中接收設(shè)備的另一示意圖。
具體實(shí)施方式
本申請(qǐng)實(shí)施例提供了一種gel碼字結(jié)構(gòu)編碼和譯碼的方法、裝置及相關(guān)設(shè)備,用于降低實(shí)現(xiàn)的復(fù)雜度,提高gel碼的性能,且提升譯碼的效率。
前向糾錯(cuò)也叫前向糾錯(cuò)碼(英文全稱:forwarderrorcorrection,英文縮寫:fec),是一種增加數(shù)據(jù)通訊可信度的方法,它具備對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)的功能。在單向通訊信道中,一旦錯(cuò)誤被發(fā)現(xiàn),其接收設(shè)備將無權(quán)再請(qǐng)求傳輸。所以當(dāng)傳輸中出現(xiàn)錯(cuò)誤,接收設(shè)備則可以通過fec對(duì)錯(cuò)誤數(shù)據(jù)進(jìn)行糾正。在fec中,gel碼字結(jié)構(gòu)是一種常用的編碼結(jié)構(gòu)以及譯碼結(jié)構(gòu),gel碼字結(jié)構(gòu)包括行碼和列碼,通過行碼對(duì)列碼的校驗(yàn)位進(jìn)行編碼運(yùn)算得到gel碼的校驗(yàn)碼,從而完成對(duì)數(shù)據(jù)的編碼。發(fā)送設(shè)備在發(fā)送數(shù)據(jù)之前,通過gel碼字結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行編碼,接收設(shè)備在接收到數(shù)據(jù)后,通過gel碼字結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行譯碼,并糾正錯(cuò)誤的數(shù)據(jù)。發(fā)送設(shè)備與接收設(shè)備在進(jìn)行數(shù)據(jù)交互之前,先約定好gel碼字結(jié)構(gòu)的編碼方式,或者接收設(shè)備在接收到發(fā)送設(shè)備發(fā)送的數(shù)據(jù)之前,先獲取發(fā)送設(shè)備的gel碼字結(jié)構(gòu)的編碼方式。
圖1為本申請(qǐng)實(shí)施例提供的一種發(fā)送設(shè)備100,發(fā)送設(shè)備100包括存儲(chǔ)器101、處理器102以及收發(fā)器103,所述存儲(chǔ)器101、處理器102以及收發(fā)器103之間通過總線104互相連接,所述發(fā)送設(shè)備100還可以包括通信接口105。
其中,處理器102、存儲(chǔ)器101、收發(fā)器103和通信接口105可以通過總線104實(shí)現(xiàn)彼此之間的通信連接,也可以通過無線傳輸?shù)绕渌侄螌?shí)現(xiàn)通信。
存儲(chǔ)器101可以包括易失性存儲(chǔ)器(英文:volatilememory),例如隨機(jī)存取存儲(chǔ)器(英文:random-accessmemory,縮寫:ram);存儲(chǔ)器也可以包括非易失性存儲(chǔ)器(英文:non-volatilememory),例如只讀存儲(chǔ)器(英文:read-onlymemory,縮寫:rom),快閃存儲(chǔ)器(英文:flashmemory),硬盤(英文:harddiskdrive,縮寫:hdd)或固態(tài)硬盤(英文:solidstatedrive,縮寫:ssd);存儲(chǔ)器101還可以包括上述種類的存儲(chǔ)器的組合。在通過軟件來實(shí)現(xiàn)本申請(qǐng)?zhí)峁┑募夹g(shù)方案時(shí),用于實(shí)現(xiàn)本申請(qǐng)圖2提供的gel碼字結(jié)構(gòu)編碼的方法中所需要執(zhí)行的步驟,計(jì)算機(jī)指令保存在存儲(chǔ)器101中,并由處理器102來執(zhí)行,發(fā)送設(shè)備100的接收和發(fā)送功能由處理器102調(diào)度存儲(chǔ)器101中的計(jì)算機(jī)指令控制收發(fā)器103實(shí)現(xiàn)。
本申請(qǐng)還提供了一種gel碼字結(jié)構(gòu)編碼的方法,圖1中發(fā)送設(shè)備100在運(yùn)行時(shí)執(zhí)行該方法,該方法應(yīng)用于發(fā)送設(shè)備,其流程示意圖如圖2所示。
201、將b碼的原始校驗(yàn)矩陣hc通過初等變換得到目標(biāo)校驗(yàn)矩陣hb;
在本申請(qǐng)實(shí)施例中,b碼為列碼,首先則需要將b碼的原始校驗(yàn)矩陣hc通過初等變換得到目標(biāo)校驗(yàn)矩陣hb,用于后續(xù)分層獲取b碼的校驗(yàn)位。
hc的矩陣表達(dá)式為:
hb的矩陣表達(dá)式為:hb=g*hc其,中g(shù)為nb*nb的行初等變換矩陣。
202、將所述目標(biāo)校驗(yàn)矩陣hb與b碼的信息位按照第一運(yùn)算得到b碼的校驗(yàn)位;
可選的,第一運(yùn)算公式為:
其中,
203、將所述b碼的校驗(yàn)位作為a碼的信息位對(duì)a碼進(jìn)行里所rs編碼;
在gel碼字結(jié)構(gòu)中,a碼(在本申請(qǐng)實(shí)施例中為行碼)與b碼(列碼)進(jìn)行交錯(cuò)編碼以及交錯(cuò)譯碼,所以將計(jì)算得到后的b碼的校驗(yàn)為作為a碼的信息位對(duì)a碼進(jìn)行rs編碼。
可選的,rs編碼公式為:
其中,r(x)表示a碼的校驗(yàn)位,k(x)表示a碼的信息位,g(x)表示rs編碼的生成多項(xiàng)式。
204將所述b碼的校驗(yàn)位與所述a碼進(jìn)行rs編碼后的結(jié)果按照第二運(yùn)算得到gel碼的校驗(yàn)碼;
可選的,第二運(yùn)算為:
其中,parityl表示第l層gel碼的校驗(yàn)碼。
205、增加spc校驗(yàn)位,所述單比特奇偶校驗(yàn)(英文全稱:singlebitparitycheck,英文縮寫:spc)校驗(yàn)位用于在譯碼時(shí)校驗(yàn)a碼中第一層的錯(cuò)誤位置;
為了提高譯碼時(shí)第一層a碼的效率,所以在整個(gè)gel碼字結(jié)構(gòu)中增加spc校驗(yàn)位,用于接收設(shè)備在譯碼過程中根據(jù)spc校驗(yàn)位先校驗(yàn)第一層a碼的錯(cuò)誤位置。
需要說明的是,a碼定義在有限域gf(2l1)上,b碼定義在有限域gf(2l2)上,l1與l2為正整數(shù)。這樣,l1與l2之間不存在整除的約束關(guān)系,l1與l2兩者的值可以相近或者相等,那么a碼的有限域與b碼的有限域則可以相近或者相等,從而降低了實(shí)現(xiàn)復(fù)雜度,且有效提高gel碼的性能。這樣既滿足系統(tǒng)對(duì)產(chǎn)品低功耗的要求,同時(shí)提升通信傳輸系統(tǒng)的性能。
可選的,所述a碼的子碼約束關(guān)系以及b碼的子碼約束關(guān)系包括:
其中,na表示a碼的碼長(zhǎng),nb表示b碼的碼長(zhǎng),kai表示第i行a碼的信息位,kbi表示第i行b碼的信息位,dai表示第i行a碼的最小碼距,rai表示第i行a碼的校驗(yàn)位長(zhǎng)度,rbi表示第i行b碼的校驗(yàn)位長(zhǎng)度;每一層a碼以及b碼的信息位都預(yù)先設(shè)計(jì)好,每一層a碼以及b碼的最小碼距也都預(yù)先設(shè)計(jì)好,而且第一層a碼的最小碼距大于或等于第二層a碼的最小碼距,第二層a碼的最小碼距大于或等于第三層a碼的最小碼距,依次類推;而第一層b碼的最小碼距小于或等于第二層b碼的最小碼距,第二層b碼的最小碼距小于或等于第三層b碼的最小碼距,依次類推,使得在完成整個(gè)gel編碼后,使得gel碼字結(jié)構(gòu)中每一層的校驗(yàn)?zāi)芰Χ枷喈?dāng)。b碼的每一層都是從屬關(guān)系,第一層屬于第二層,第二層屬于第三層,以此類推。
通過本申請(qǐng)實(shí)施例所述的gel碼字結(jié)構(gòu)編碼的方法所得到的gel碼字結(jié)構(gòu)如圖3所示,圖3為一個(gè)四層gel碼字結(jié)構(gòu),本申請(qǐng)實(shí)施例所述的gel碼字結(jié)構(gòu)編碼的方法不限制在四層gel碼字結(jié)構(gòu),可以適用于兩層或兩層以上的gel碼字結(jié)構(gòu)。其中,每一行代表a碼,每一列代表b碼,b碼為矩陣形式,a碼包括信息位與校驗(yàn)位,通過b碼運(yùn)算得到的校驗(yàn)位作為a碼的信息位,通過a碼信息位進(jìn)行rs編碼得到的a碼校驗(yàn)位與計(jì)算得到的b碼的校驗(yàn)位相加得到gel的校驗(yàn)碼。
參照?qǐng)D4所示,本申請(qǐng)實(shí)施例中g(shù)el碼字結(jié)構(gòu)編碼的方法的編碼順序是從最后一層開始編碼,直到增加spc校驗(yàn)碼。圖4所示為對(duì)一個(gè)三層gel碼字結(jié)構(gòu)進(jìn)行編碼,則首先進(jìn)行第三層編碼,在進(jìn)行第二層的編碼,再進(jìn)行第一層的編碼。每一層的編碼順序是先進(jìn)行當(dāng)前層的b碼校驗(yàn)位的計(jì)算,再進(jìn)行b碼校驗(yàn)碼的檢查,再進(jìn)行當(dāng)前層a碼的編碼。
圖5為結(jié)合了圖2的gel碼字結(jié)構(gòu)的編碼方法的流程以及圖3所示的gel碼字結(jié)構(gòu)示意圖。其中,i代表信息位,p代表校驗(yàn)位,i11與i12表示第三層的信息位的位置,i21表示第二層的信息位的位置,p21表示第二層的校驗(yàn)位的位置,以此類推。k(x)表示a碼的信息位,r(x)表示a碼的校驗(yàn)位,b碼的校驗(yàn)位由上述步驟202所述的hb*r得到。
圖6為本申請(qǐng)實(shí)施例提供的一種接收設(shè)備600,接收設(shè)備600包括存儲(chǔ)器601、處理器602以及收發(fā)器603,所述存儲(chǔ)器601、處理器602以及收發(fā)器603之間通過總線604互相連接,所述接收設(shè)備600還可以包括通信接口605。
其中,處理器602、存儲(chǔ)器601、收發(fā)器603和通信接口605可以通過總線604實(shí)現(xiàn)彼此之間的通信連接,也可以通過無線傳輸?shù)绕渌侄螌?shí)現(xiàn)通信。
存儲(chǔ)器601可以包括易失性存儲(chǔ)器,例如隨機(jī)存取存儲(chǔ)器;存儲(chǔ)器也可以包括非易失性存儲(chǔ)器,例如只讀存儲(chǔ)器,快閃存儲(chǔ)器,硬盤或固態(tài)硬盤;存儲(chǔ)器601還可以包括上述種類的存儲(chǔ)器的組合。在通過軟件來實(shí)現(xiàn)本申請(qǐng)?zhí)峁┑募夹g(shù)方案時(shí),用于實(shí)現(xiàn)本申請(qǐng)圖7提供的gel碼字結(jié)構(gòu)譯碼的方法中所需要執(zhí)行的步驟,計(jì)算機(jī)指令保存在存儲(chǔ)器601中,并由處理器602來執(zhí)行,接收設(shè)備600的接收和發(fā)送功能由處理器602調(diào)度存儲(chǔ)器601中的計(jì)算機(jī)指令控制收發(fā)器603實(shí)現(xiàn)。
本申請(qǐng)還提供了一種gel碼字結(jié)構(gòu)譯碼的方法,圖6中接收設(shè)備600在運(yùn)行時(shí)執(zhí)行該方法,該方法應(yīng)用于接收設(shè)備,其流程示意圖如圖7所示。
701、確定每一層a碼的先驗(yàn)信息,其中,每一層a碼的先驗(yàn)信息是通過上一層進(jìn)行b碼譯碼時(shí)錯(cuò)誤的位置,第一層a碼的先驗(yàn)信息為spc校驗(yàn)位,所述spc校驗(yàn)位為發(fā)送設(shè)備在進(jìn)行g(shù)el編碼時(shí)增加的校驗(yàn)位;
在本申請(qǐng)的gel碼字結(jié)構(gòu)中,在發(fā)送設(shè)備對(duì)數(shù)據(jù)進(jìn)行編碼時(shí),在gel碼字結(jié)構(gòu)中增加了spc校驗(yàn)位,該spc校驗(yàn)位是用于譯碼時(shí)作為第一層a碼的先驗(yàn)信息。而在譯碼過程中,是從第一層開始譯碼,并進(jìn)行糾錯(cuò),依次進(jìn)行第二層譯碼與糾錯(cuò),直到最后一層譯碼糾錯(cuò)完成,而每一層譯碼時(shí)需要得到先驗(yàn)信息,該先驗(yàn)信息一般是上一層進(jìn)行b碼譯碼時(shí)錯(cuò)誤的位置,然而第一層a碼不存在上一層,所以在本申請(qǐng)實(shí)施例中,該gel碼字結(jié)構(gòu)在編碼時(shí)增加了spc校驗(yàn)位,使得在譯碼時(shí)使用scp校驗(yàn)位作為第一層a碼的先驗(yàn)信息。
702、將通過與發(fā)送設(shè)備相同的b碼校驗(yàn)矩陣hb對(duì)每一層a碼進(jìn)行恢復(fù);
703、將恢復(fù)后的每一層a碼進(jìn)行譯碼,得到錯(cuò)誤的列以及b碼的校正子;
在根據(jù)校驗(yàn)矩陣hb完成每一層a碼的恢復(fù)后,再對(duì)帶有先驗(yàn)信息的a碼進(jìn)行譯碼,a譯碼得到的錯(cuò)誤值即是b碼的校正子。最后由b碼的校正子與變換矩陣g計(jì)算出b碼的原始校正子,b碼的原始校正子的作用是給b碼譯碼提供相應(yīng)的錯(cuò)誤情況信息,b碼利用原始校正子計(jì)算得出錯(cuò)誤位置。其中b碼的原始校驗(yàn)矩陣hc、目標(biāo)校驗(yàn)矩陣hb與變換矩陣g的關(guān)系為hc=g*hb。
704、通過所述b碼的校正子對(duì)錯(cuò)誤的b碼進(jìn)行譯碼,校正所述錯(cuò)誤的b碼;
其中,a碼為行碼,b碼為列碼,a碼定義在有限域gf(2l1)上,b碼定義在有限域gf(2l2)上,l1與l2為正整數(shù)。
可選的,當(dāng)上一層進(jìn)行b碼譯碼錯(cuò)誤時(shí),在當(dāng)前層的b碼譯碼過程中,先回退上一層的b碼糾錯(cuò),再進(jìn)行當(dāng)前層b碼的譯碼。
譯碼過程具體舉例如下說明。
圖8為以gel碼字結(jié)構(gòu)為三層碼字結(jié)構(gòu)為例進(jìn)行的一個(gè)譯碼示意圖,具體譯碼方式為:
第一層譯碼過程如下:
第一步:計(jì)算spc校驗(yàn)位(作為a碼先驗(yàn)信息),同時(shí)進(jìn)行第一層a碼恢復(fù);
第二步:對(duì)第一層a碼進(jìn)行譯碼,從而得到錯(cuò)誤的b碼的位置(列位置)以及對(duì)應(yīng)的第一層b碼校正子;
第三步:通過所述第一層b碼的校正子對(duì)錯(cuò)誤的b碼進(jìn)行譯碼,校正所述錯(cuò)誤的b碼;
第二層譯碼過程如下:
第一步:收集第一層b碼譯碼錯(cuò)誤位置(作為第二層a碼的先驗(yàn)信息),進(jìn)行第二層a碼恢復(fù);
第二步:對(duì)第二層a碼進(jìn)行譯碼,從而得到錯(cuò)誤的b碼的位置以及對(duì)應(yīng)的第二層b碼校正子;
第三步:當(dāng)?shù)谝粚舆M(jìn)行b碼譯碼錯(cuò)誤時(shí),先對(duì)第一層b碼的糾錯(cuò)進(jìn)行回退,然后通過所述第二層b碼的校正子對(duì)錯(cuò)誤的b碼進(jìn)行譯碼,校正所述錯(cuò)誤的b碼;
.........
第m層譯碼過程如下:
第一步:收集bm-1碼譯碼錯(cuò)誤位置(作為第m層a碼的先驗(yàn)信息),進(jìn)行第m層a碼恢復(fù);
第二步:對(duì)第m層am碼進(jìn)行譯碼,從而得到錯(cuò)誤的b碼的位置以及對(duì)應(yīng)的第m層b碼的校正子;
第三步:當(dāng)?shù)趍-1層進(jìn)行b碼譯碼錯(cuò)誤時(shí),先對(duì)m-1層b碼的糾錯(cuò)進(jìn)行回退,然后通過所述第m層b碼的校正子對(duì)錯(cuò)誤的b碼進(jìn)行譯碼,校正所述錯(cuò)誤的b碼;
當(dāng)完成所有層的gel譯碼后,整個(gè)譯碼過程結(jié)束。
本申請(qǐng)還提供了一種發(fā)送設(shè)備900,該設(shè)備可以通過圖1所示的發(fā)送設(shè)備100實(shí)現(xiàn),還可以通過專用集成電路(英文:application-specificintegratedcircuit,縮寫:asic)實(shí)現(xiàn),或可編程邏輯器件(英文:programmablelogicdevice,縮寫:pld)實(shí)現(xiàn)。上述pld可以是復(fù)雜可編程邏輯器件(英文:complexprogrammablelogicdevice,縮寫:cpld),現(xiàn)場(chǎng)可編程邏輯門陣列(英文全稱:fieldprogrammablegatearray,英文縮寫:fpga),通用陣列邏輯(英文:genericarraylogic,縮寫:gal)或其任意組合。該發(fā)送設(shè)備900用于實(shí)現(xiàn)圖2所示的發(fā)送設(shè)備所執(zhí)行的方法。通過軟件實(shí)現(xiàn)圖2所示的發(fā)送設(shè)備所執(zhí)行的方法時(shí),該發(fā)送設(shè)備900也可以為軟件模塊。
發(fā)送設(shè)備900的組織結(jié)構(gòu)示意圖如圖9所示,包括:變換單元901、運(yùn)算單元902、編碼單元903以及增加單元904。其工作時(shí),執(zhí)行圖2所示的gel碼字結(jié)構(gòu)編碼的方法中發(fā)送設(shè)備所執(zhí)行的方法。
本申請(qǐng)還提供了一種接收設(shè)備1000,該設(shè)備可以通過圖6所示的接收設(shè)備600實(shí)現(xiàn),還可以通過asic實(shí)現(xiàn),或pld實(shí)現(xiàn)。上述pld可以是cpld,fpga,gal或其任意組合。該接收設(shè)備1000用于實(shí)現(xiàn)圖7所示的接收設(shè)備所執(zhí)行的方法。通過軟件實(shí)現(xiàn)圖2所示的接收設(shè)備所執(zhí)行的方法時(shí),該接收設(shè)備1000也可以為軟件模塊。
接收設(shè)備1000的組織結(jié)構(gòu)示意圖如圖10所示,包括:確定單元1001、恢復(fù)單元1002、譯碼單元1003、校正單元1004以及回退單元1005。其工作時(shí),執(zhí)行圖7所示的gel碼字結(jié)構(gòu)譯碼的方法中接收設(shè)備所執(zhí)行的方法。
本申請(qǐng)實(shí)施例還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,該計(jì)算機(jī)存儲(chǔ)介質(zhì)可存儲(chǔ)有程序,該程序執(zhí)行時(shí)包括上述方法實(shí)施例中記載的gel碼字結(jié)構(gòu)的編碼和譯碼方法的部分或全部步驟。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本申請(qǐng)的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本申請(qǐng)進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本申請(qǐng)各實(shí)施例技術(shù)方案的精神和范圍。