一种GEL码字结构编码和译码的方法、装置及相关设备与流程

文档序号:12838743阅读:211来源:国知局
一种GEL码字结构编码和译码的方法、装置及相关设备与流程

本申请涉及通信编码领域,尤其是一种广义错误定位(英文全称:generalizederror-locating,英文缩写:gel)码字结构编码和译码的方法、装置及相关设备。



背景技术:

随着数据中心建设的强劲增长,数据中心的建设快速增加,以及相应数据流量也快速增长,这对通信网络,尤其是对光网络市场产生了积极影响,为光网络设备市场注入了新的生命。而数据中心建设的持续增长,使得数据中心互联成为光网络的设备增长最快的应用,但同时也对数据中心互联也提出了新的要求。针对城域超大规模数据中心互联的新兴需求包括:在每比特成本上体积更小、功耗更低;

在现有的gel码字结构中,行码a和列码b分别定义在gf(qa),gf(qb)上,其中,gf是galoisfield的缩写,表示伽罗华域,也称为有限域,gf(qa)表示包含qa个元素的有限域,gf(qb)表示包含qb个元素的有限域。行码a和列码b满足如下约束关系:

qa=2l1,qb=2l2,l1|l2

其中,l1与l2均为整数,l1和l2分别表示gf(2l1)和gf(2l2))中元素的二进制表示的位宽,且l1能被l2整除,因为b码进行译码所需的伴随式是a码的错误值,因此a码的错误值的位宽必须是b码伴随式位宽的整数倍。由于现有的gel码字结构中,对行码与列码所在gf域存在整除约束关系,导致码字构造不灵活,造成了实现复杂度高以及较高的码字开销。



技术实现要素:

本申请实施例提供了一种gel码字结构编码和译码的方法、装置及相关设备,用于降低译码实现复杂度,减少了码字开销。

本申请第一方面提供一种gel码字结构编码的方法,包括:

先将b码的原始校验矩阵hc通过初等变换得到目标校验矩阵hb,再将hb与b码的信息位按照第一运算得到b码的校验位,再将b码的校验位作为a码的信息位对a码进行里所rs编码,得到a码的校验位,再将b码的校验位与a码的校验位按照第二运算得到gel码的校验码,最后增加单比特奇偶校验spc校验位,spc校验位用于在译码时校验a码中第一层的错误位置;

其中,a码为行码,b码为列码,a码定义在有限域gf(2l1)上,b码定义在有限域gf(2l2)上,l1与l2为正整数。

由于在gel码字结构中,译码过程是从第一层开始译码,依次进行第二层到最后一层的译码,每一层在译码时需要从上一层获得先验信息,再根据先验信息进行译码,然而第一层无法得到先验信息,所以只能根据行码和列码的校验码进行译码,由于行码和列码的校验码的译码能力,可能导致第一层译码失败。而在本申请实施例中,在进行gel编码时,增加了spc校验位,所述spc校验位用于在译码时校验a码(即行码)中第一层的错误位置;这样,spc校验位则能够作为第一行a码的先验信息,从而能够根据spc对第一行a码进行译码,提高了第一行a码的译码成功率,从而提升了整个译码过程的效率。

而且,在本申请实施例中的a码定义在有限域gf(2l1)上,b码定义在有限域gf(2l2)上,l1与l2为正整数。这样,l1与l2之间不存在整除的约束关系,因此在gel码字结构设计过程中可以尽可能减小l2,即减少了b码符号的位宽,即降低b码译码实现复杂度,减少了码字开销,且有效提高gel码的性能。这样既满足系统对产品低功耗的要求,同时提升通信传输系统的性能。

本申请第二方面提供一种gel码字结构译码的方法,包括:

先确定每一层a码的先验信息,其中,每一层a码的先验信息是通过上一层进行b码译码时错误的位置,第一层a码的先验信息为spc校验位,spc校验位为发送设备在进行gel编码时增加的校验位,再将通过与发送设备相同的b码校验矩阵hb对每一层a码进行恢复,再将恢复后的每一层a码进行译码,得到错误的b码以及b码的校正子,再通过b码的校正子对错误的b码进行译码,校正所述错误的b码;其中,a码为行码,b码为列码,a码定义在有限域gf(2l1)上,b码定义在有限域gf(2l2)上,l1与l2为正整数。

在进行gel编码时,增加了spc校验位,所述spc校验位用于在译码时校验a码(即行码)中第一层的错误位置;这样,spc校验位则能够作为第一行a码的先验信息,从而能够根据spc对第一行a码进行译码,提高了第一行a码的译码成功率,从而提升了整个译码过程的效率。

本申请第三方面提供一种发送设备,该发送设备具有实现上述第一方面所示的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

本申请第三方面提供的发送设备包括:

变换单元,用于将b码的原始校验矩阵hc通过初等变换得到目标校验矩阵hb

运算单元,用于将所述目标校验矩阵hb与b码的信息位按照第一运算得到b码的校验位;

编码单元,用于将所述b码的校验位作为a码的信息位对a码进行里所rs编码;

所述运算单元还用于,将所述b码的校验位与所述a码进行rs编码后的结果按照第二运算得到gel码的校验码;

增加单元,用于增加单比特奇偶校验spc校验位,所述spc校验位用于在译码时校验a码中第一层的错误位置;

其中,a码为行码,b码为列码,a码定义在有限域gf(2l1)上,b码定义在有限域gf(2l2)上,l1与l2为正整数。

本申请第四方面提供一种接收设备,该接收设备具有实现上述第二方面所示的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

本申请第四方面提供的接收设备包括:

确定单元,用于确定每一层a码的先验信息,其中,每一层a码的先验信息是通过上一层进行b码译码时错误的位置,第一层a码的先验信息为spc校验位,所述spc校验位为发送设备在进行gel编码时增加的校验位;

恢复单元,用于将通过与发送设备相同的b码校验矩阵hb对每一层a码进行恢复;

译码单元,用于将恢复后的每一层a码进行译码,得到错误的b码以及b码的校正子;

校正单元,用于通过所述b码的校正子对错误的b码进行译码,校正所述错误的b码;

其中,a码为行码,b码为列码,a码定义在有限域gf(2l1)上,b码定义在有限域gf(2l2)上,l1与l2为正整数。

本申请第五方面提供一种发送设备,该发送设备具有实现上述第一方面所示的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

本申请第五方面提供的发送设备包括:

存储器、处理器以及收发器,所述存储器、处理器以及收发器之间通过总线互相连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而实现如第一方面所述的gel码字结构编码的方法。

本申请第六方面提供一种接收设备,该接收设备具有实现上述第二方面所示的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

本申请第六方面提供的接收设备包括:

存储器、处理器以及收发器,所述存储器、处理器以及收发器之间通过总线互相连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而实现如上述第二方面所述的gel码字结构译码的方法。

本申请第七方面提供一种存储介质,用于储存为上述发送设备所用的计算机软件指令,其包含用于执行上述方面为发送设备所设计的程序。

本申请第八方面提供一种存储介质,用于储存为上述接收设备所用的计算机软件指令,其包含用于执行上述方面为接收设备所设计的程序。

本申请中,发送设备以及接收设备的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本申请类似,属于本发明权利要求及其等同技术的范围之内。

本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

图1为本申请实施例中发送设备的一个示意图;

图2为本申请实施例中gel码字结构编码的方法的一个示意图;

图3为本申请实施例中gel码字结构的一个示意图;

图4为本申请实施例中gel码字结构编码流程的一个示意图;

图5为本申请实施例中gel码字结构编码方法的另一示意图;

图6为本申请实施例中接收设备的一个示意图;

图7为本申请实施例中gel码字结构译码方法的一个示意图;

图8为本申请实施例中gel码字结构译码流程的一个示意图;

图9为本申请实施例中发送设备的另一示意图;

图10为本申请实施例中接收设备的另一示意图。

具体实施方式

本申请实施例提供了一种gel码字结构编码和译码的方法、装置及相关设备,用于降低实现的复杂度,提高gel码的性能,且提升译码的效率。

前向纠错也叫前向纠错码(英文全称:forwarderrorcorrection,英文缩写:fec),是一种增加数据通讯可信度的方法,它具备对数据进行纠错的功能。在单向通讯信道中,一旦错误被发现,其接收设备将无权再请求传输。所以当传输中出现错误,接收设备则可以通过fec对错误数据进行纠正。在fec中,gel码字结构是一种常用的编码结构以及译码结构,gel码字结构包括行码和列码,通过行码对列码的校验位进行编码运算得到gel码的校验码,从而完成对数据的编码。发送设备在发送数据之前,通过gel码字结构对数据进行编码,接收设备在接收到数据后,通过gel码字结构对数据进行译码,并纠正错误的数据。发送设备与接收设备在进行数据交互之前,先约定好gel码字结构的编码方式,或者接收设备在接收到发送设备发送的数据之前,先获取发送设备的gel码字结构的编码方式。

图1为本申请实施例提供的一种发送设备100,发送设备100包括存储器101、处理器102以及收发器103,所述存储器101、处理器102以及收发器103之间通过总线104互相连接,所述发送设备100还可以包括通信接口105。

其中,处理器102、存储器101、收发器103和通信接口105可以通过总线104实现彼此之间的通信连接,也可以通过无线传输等其它手段实现通信。

存储器101可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如只读存储器(英文:read-onlymemory,缩写:rom),快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solidstatedrive,缩写:ssd);存储器101还可以包括上述种类的存储器的组合。在通过软件来实现本申请提供的技术方案时,用于实现本申请图2提供的gel码字结构编码的方法中所需要执行的步骤,计算机指令保存在存储器101中,并由处理器102来执行,发送设备100的接收和发送功能由处理器102调度存储器101中的计算机指令控制收发器103实现。

本申请还提供了一种gel码字结构编码的方法,图1中发送设备100在运行时执行该方法,该方法应用于发送设备,其流程示意图如图2所示。

201、将b码的原始校验矩阵hc通过初等变换得到目标校验矩阵hb

在本申请实施例中,b码为列码,首先则需要将b码的原始校验矩阵hc通过初等变换得到目标校验矩阵hb,用于后续分层获取b码的校验位。

hc的矩阵表达式为:

其中α为gf(2^l2)域中的本原元。

hb的矩阵表达式为:hb=g*hc其,中g为nb*nb的行初等变换矩阵。

202、将所述目标校验矩阵hb与b码的信息位按照第一运算得到b码的校验位;

可选的,第一运算公式为:

其中,表示gel码字结构中第l层的b码的编码矩阵,rj表示b码信息位,kal表示第l层a码的信息位。

203、将所述b码的校验位作为a码的信息位对a码进行里所rs编码;

在gel码字结构中,a码(在本申请实施例中为行码)与b码(列码)进行交错编码以及交错译码,所以将计算得到后的b码的校验为作为a码的信息位对a码进行rs编码。

可选的,rs编码公式为:

其中,r(x)表示a码的校验位,k(x)表示a码的信息位,g(x)表示rs编码的生成多项式。

204将所述b码的校验位与所述a码进行rs编码后的结果按照第二运算得到gel码的校验码;

可选的,第二运算为:

其中,parityl表示第l层gel码的校验码。

205、增加spc校验位,所述单比特奇偶校验(英文全称:singlebitparitycheck,英文缩写:spc)校验位用于在译码时校验a码中第一层的错误位置;

为了提高译码时第一层a码的效率,所以在整个gel码字结构中增加spc校验位,用于接收设备在译码过程中根据spc校验位先校验第一层a码的错误位置。

需要说明的是,a码定义在有限域gf(2l1)上,b码定义在有限域gf(2l2)上,l1与l2为正整数。这样,l1与l2之间不存在整除的约束关系,l1与l2两者的值可以相近或者相等,那么a码的有限域与b码的有限域则可以相近或者相等,从而降低了实现复杂度,且有效提高gel码的性能。这样既满足系统对产品低功耗的要求,同时提升通信传输系统的性能。

可选的,所述a码的子码约束关系以及b码的子码约束关系包括:

其中,na表示a码的码长,nb表示b码的码长,kai表示第i行a码的信息位,kbi表示第i行b码的信息位,dai表示第i行a码的最小码距,rai表示第i行a码的校验位长度,rbi表示第i行b码的校验位长度;每一层a码以及b码的信息位都预先设计好,每一层a码以及b码的最小码距也都预先设计好,而且第一层a码的最小码距大于或等于第二层a码的最小码距,第二层a码的最小码距大于或等于第三层a码的最小码距,依次类推;而第一层b码的最小码距小于或等于第二层b码的最小码距,第二层b码的最小码距小于或等于第三层b码的最小码距,依次类推,使得在完成整个gel编码后,使得gel码字结构中每一层的校验能力都相当。b码的每一层都是从属关系,第一层属于第二层,第二层属于第三层,以此类推。

通过本申请实施例所述的gel码字结构编码的方法所得到的gel码字结构如图3所示,图3为一个四层gel码字结构,本申请实施例所述的gel码字结构编码的方法不限制在四层gel码字结构,可以适用于两层或两层以上的gel码字结构。其中,每一行代表a码,每一列代表b码,b码为矩阵形式,a码包括信息位与校验位,通过b码运算得到的校验位作为a码的信息位,通过a码信息位进行rs编码得到的a码校验位与计算得到的b码的校验位相加得到gel的校验码。

参照图4所示,本申请实施例中gel码字结构编码的方法的编码顺序是从最后一层开始编码,直到增加spc校验码。图4所示为对一个三层gel码字结构进行编码,则首先进行第三层编码,在进行第二层的编码,再进行第一层的编码。每一层的编码顺序是先进行当前层的b码校验位的计算,再进行b码校验码的检查,再进行当前层a码的编码。

图5为结合了图2的gel码字结构的编码方法的流程以及图3所示的gel码字结构示意图。其中,i代表信息位,p代表校验位,i11与i12表示第三层的信息位的位置,i21表示第二层的信息位的位置,p21表示第二层的校验位的位置,以此类推。k(x)表示a码的信息位,r(x)表示a码的校验位,b码的校验位由上述步骤202所述的hb*r得到。

图6为本申请实施例提供的一种接收设备600,接收设备600包括存储器601、处理器602以及收发器603,所述存储器601、处理器602以及收发器603之间通过总线604互相连接,所述接收设备600还可以包括通信接口605。

其中,处理器602、存储器601、收发器603和通信接口605可以通过总线604实现彼此之间的通信连接,也可以通过无线传输等其它手段实现通信。

存储器601可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;存储器601还可以包括上述种类的存储器的组合。在通过软件来实现本申请提供的技术方案时,用于实现本申请图7提供的gel码字结构译码的方法中所需要执行的步骤,计算机指令保存在存储器601中,并由处理器602来执行,接收设备600的接收和发送功能由处理器602调度存储器601中的计算机指令控制收发器603实现。

本申请还提供了一种gel码字结构译码的方法,图6中接收设备600在运行时执行该方法,该方法应用于接收设备,其流程示意图如图7所示。

701、确定每一层a码的先验信息,其中,每一层a码的先验信息是通过上一层进行b码译码时错误的位置,第一层a码的先验信息为spc校验位,所述spc校验位为发送设备在进行gel编码时增加的校验位;

在本申请的gel码字结构中,在发送设备对数据进行编码时,在gel码字结构中增加了spc校验位,该spc校验位是用于译码时作为第一层a码的先验信息。而在译码过程中,是从第一层开始译码,并进行纠错,依次进行第二层译码与纠错,直到最后一层译码纠错完成,而每一层译码时需要得到先验信息,该先验信息一般是上一层进行b码译码时错误的位置,然而第一层a码不存在上一层,所以在本申请实施例中,该gel码字结构在编码时增加了spc校验位,使得在译码时使用scp校验位作为第一层a码的先验信息。

702、将通过与发送设备相同的b码校验矩阵hb对每一层a码进行恢复;

703、将恢复后的每一层a码进行译码,得到错误的列以及b码的校正子;

在根据校验矩阵hb完成每一层a码的恢复后,再对带有先验信息的a码进行译码,a译码得到的错误值即是b码的校正子。最后由b码的校正子与变换矩阵g计算出b码的原始校正子,b码的原始校正子的作用是给b码译码提供相应的错误情况信息,b码利用原始校正子计算得出错误位置。其中b码的原始校验矩阵hc、目标校验矩阵hb与变换矩阵g的关系为hc=g*hb

704、通过所述b码的校正子对错误的b码进行译码,校正所述错误的b码;

其中,a码为行码,b码为列码,a码定义在有限域gf(2l1)上,b码定义在有限域gf(2l2)上,l1与l2为正整数。

可选的,当上一层进行b码译码错误时,在当前层的b码译码过程中,先回退上一层的b码纠错,再进行当前层b码的译码。

译码过程具体举例如下说明。

图8为以gel码字结构为三层码字结构为例进行的一个译码示意图,具体译码方式为:

第一层译码过程如下:

第一步:计算spc校验位(作为a码先验信息),同时进行第一层a码恢复;

第二步:对第一层a码进行译码,从而得到错误的b码的位置(列位置)以及对应的第一层b码校正子;

第三步:通过所述第一层b码的校正子对错误的b码进行译码,校正所述错误的b码;

第二层译码过程如下:

第一步:收集第一层b码译码错误位置(作为第二层a码的先验信息),进行第二层a码恢复;

第二步:对第二层a码进行译码,从而得到错误的b码的位置以及对应的第二层b码校正子;

第三步:当第一层进行b码译码错误时,先对第一层b码的纠错进行回退,然后通过所述第二层b码的校正子对错误的b码进行译码,校正所述错误的b码;

.........

第m层译码过程如下:

第一步:收集bm-1码译码错误位置(作为第m层a码的先验信息),进行第m层a码恢复;

第二步:对第m层am码进行译码,从而得到错误的b码的位置以及对应的第m层b码的校正子;

第三步:当第m-1层进行b码译码错误时,先对m-1层b码的纠错进行回退,然后通过所述第m层b码的校正子对错误的b码进行译码,校正所述错误的b码;

当完成所有层的gel译码后,整个译码过程结束。

本申请还提供了一种发送设备900,该设备可以通过图1所示的发送设备100实现,还可以通过专用集成电路(英文:application-specificintegratedcircuit,缩写:asic)实现,或可编程逻辑器件(英文:programmablelogicdevice,缩写:pld)实现。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld),现场可编程逻辑门阵列(英文全称:fieldprogrammablegatearray,英文缩写:fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。该发送设备900用于实现图2所示的发送设备所执行的方法。通过软件实现图2所示的发送设备所执行的方法时,该发送设备900也可以为软件模块。

发送设备900的组织结构示意图如图9所示,包括:变换单元901、运算单元902、编码单元903以及增加单元904。其工作时,执行图2所示的gel码字结构编码的方法中发送设备所执行的方法。

本申请还提供了一种接收设备1000,该设备可以通过图6所示的接收设备600实现,还可以通过asic实现,或pld实现。上述pld可以是cpld,fpga,gal或其任意组合。该接收设备1000用于实现图7所示的接收设备所执行的方法。通过软件实现图2所示的接收设备所执行的方法时,该接收设备1000也可以为软件模块。

接收设备1000的组织结构示意图如图10所示,包括:确定单元1001、恢复单元1002、译码单元1003、校正单元1004以及回退单元1005。其工作时,执行图7所示的gel码字结构译码的方法中接收设备所执行的方法。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的gel码字结构的编码和译码方法的部分或全部步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1