解码装置、信息传输系统和解码方法与流程

文档序号:11589599阅读:211来源:国知局
解码装置、信息传输系统和解码方法与流程

本发明涉及一种解码装置、信息传输系统和解码方法。



背景技术:

日本专利第5106538号中公开了一种为基于包的数字通信系统生成前向纠错(fec)码的方法,所述方法包括:(a)基于根据不可约多项式生成的汉明码h(x)=x10+x3+1,对第一数据字实施第一编码算法,并基于比特间插奇偶校验(bip)码b(x)=x6+1,对第一数据字实施第二编码算法;(b)为第一数据字生成第一校验位序列;(c)在第一数据字上附加第一校验位序列;(d)在源节点对步骤(c)的结果进行加扰处理;(e)将步骤(d)的结果,通过数据传输链路,从源节点传输到目的节点;(f)在目的节点对传输的数据字进行解扰处理,将第一校验位序列与步骤(e)的传输结果分离,并将结果存储在目的节点;(g)基于传输的数据字生成第二校验位序列;(h)将第一校验位序列与第二校验位序列逐位进行比较,以生成伴随式,所述伴随式以与第二编码算法伴随式连接的第一编码算法伴随式的形式存在;(i)确定接收的数据字是否包含第一位错误;(j)利用第一编码算法伴随式校正第一位错误,利用第二编码算法伴随式校正第一和第二重复位错误。

美国专利第7996747号公开了一种利用自动同步加扰器和解扰器,在串化器/解串器(ser/des)链路上对基于包的数字通信系统生成前向纠错(fec)码的方法,所述方法包括:对第一数据字实施第一编码算法;对第一数据字实施第二编码算法;对第一数据字生成第一校验位序列;在第一数据字上附加校验位序列;在源节点对第一数据字进行加扰;通过数据传输链路将第一数据字从源节点传输到目的节点;在目的节点对传输的第一数据字进行解扰;基于传输的数据字生成第二校验位序列;将第一校验位序列与第二校验位序列相比较;确定接收的数据字是否包含第一位错误;并对第一位错误以及第一和第二重复位错误进行校正。

美国专利第7284184号公开了一种利用截短的单位错误校正/双位错误检测码检测和校正数字传输系统中的随机位错误的方法,其中,对一组数据施加错误检测/校正码之后,对数据进行加扰,所述方法包括:对完全限于一组数据内的成倍错误的所有组合获取唯一伴随式;对出现于这组数据末端,与下一组数据重叠的成倍错误的这些组合获取唯一伴随式;记住末端唯一伴随式类型,以便校正下一组数据;并且,对出现于这组数据开头的成倍错误的所有组合获取伴随式(至少对每种末端类型来说是唯一)。

美国专利第8055984号公开了一种校正数据包中的错误的方法,所述方法包括:为第一数据包计算伴随式,以确定第一数据包内是否存在第一错误;如果第一数据包内存在第一错误,校正第一错误;确定第二数据包中是否存在第二错误,其中,第二错误是第一错误的成倍错误;并且校正第二错误。



技术实现要素:

本发明的目的在于提供一种解码装置、信息传输系统和解码方法,所述解码装置利用n+3位错误校正码校正位错误,所述位错误将通过根据多项式xa+xb+1,对与2n位对应的多个位的传输数据进行解扰而扩散。

根据本发明的第一方面,提供一种解码装置,其接收通过根据多项式xa+xb+1(其中a和b均为整数,a>b,且a≠2b)进行加扰而获得的传输数据。解码装置包括接收单元、检错单元和校正单元。接收单元接收通过对传输数据和已添加到传输数据中的n+3位错误校正码进行加扰而获得的数据,所述传输数据位于与2n或更少位对应的块中,所述n+3位错误校正码根据n+3次循环码生成器多项式来计算,所述多项式预设为对位错误位置的四种错误模式中的每种按每种错误模式生成指示所接收的数据中的位错误位置的2n或更多种类型的连续伴随式,所述位错误位置与通过根据多项式xa+xb+1对所接收的数据进行解扰以获得解扰数据而在所述块中扩散的3位或更少位对应。检错单元根据(2(n+3)-1)种类型的伴随式并基于表格,依据与(2(n+3)-1)种类型的伴随式对应的错误模式的任一种,对解扰数据中的位错误位置进行计算,所述(2(n+3)-1)种类型的伴随式基于来自解扰数据的错误校正码来计算,所述表格指示预先互相关联的伴随式和位错误位置。校正单元对检错单元计算出的错误位置上的解扰数据进行校正。

根据本发明的第二方面,如果(2(n+3)-1)种类型的伴随式中的一个伴随式与表格中对应于四种错误模式的错误位置不相关联,所述检错单元则检测解扰数据中的不可校正错误。

根据本发明的第三方面,在m种类型的伴随式与错误位置pm互相关联的表格中不存在所述伴随式的情况下,所述检错单元基于计算出的伴随式,并根据预设表达式,对伴随式计算进行迭代直至表格中出现伴随式为止,并基于伴随式、伴随式计算的迭代次数k和表格中的关联位错误位置pm,检测解扰数据中的错误位置。

根据本发明的第四方面,在伴随式计算的迭代次数k大于预定值的情况下,所述检错单元则检测解扰数据中的不可校正错误。

根据本发明的第五方面,提供一种信息传输系统,所述信息传输系统包括根据第一方面的解码装置和编码装置。编码装置包括:转换单元,向传输数据添加根据预设n+3次循环码生成器多项式计算的错误校正码,并对传输数据和错误校正码进行加扰;以及传输单元,对由转换单元已进行了加扰的加扰传输数据和错误校正码进行传输。

根据本发明的第六方面,提供一种解码方法,包括:接收通过根据多项式xa+xb+1(其中a和b均为整数,a>b,且a≠2b)对传输数据和已添加到传输数据中的n+3位错误校正码进行加扰而获得的数据,所述传输数据位于与2n或更少位对应的块中,所述n+3位错误校正码根据n+3次循环码生成器多项式来计算,所述多项式预设为对位错误位置的四种错误模式中的每种按每种错误模式生成指示所接收的数据中的位错误位置的2n或更多种类型的连续伴随式,所述位错误位置与通过根据多项式xa+xb+1对所接收的数据进行解扰以获得解扰数据而在所述块中扩散的3位或更少位错误对应;根据(2(n+3)-1)种类型的伴随式并基于表格,依据与(2(n+3)-1)种类型的伴随式对应的错误模式的任一种,对解扰数据中的位错误位置进行计算,所述(2(n+3)-1)种类型的伴随式基于来自解扰数据的错误校正码来计算,所述表格指示预先互相关联的伴随式和位错误位置;并且,对计算出的所述错误位置上的所述解扰数据进行校正。

根据本发明的第一方面,利用n+3位错误校正码校正位错误,所述位错误将通过根据多项式xa+xb+1(其中a和b均为整数,a>b,且a≠2b),对与2n位对应的多个位的传输数据进行解扰而扩散。

根据本发明的第二方面,检测出不可校正错误。

根据本发明的第三方面,减少了用于将位错误位置与伴随式互相关联的信息量,并校正了通过对传输数据进行解扰而扩散的位错误。

根据本发明的第四方面,减少了用于将位错误位置与伴随式互相关联的信息量,并检测到通过对传输数据进行解扰而扩散的不可校正错误。

根据本发明的第五方面,利用n+3位错误校正码对位错误进行校正,所述位错误将通过对与2n位对应的多个位的传输数据进行解扰而扩散。

根据本发明的第六方面,利用n+3位错误校正码对位错误进行校正,所述位错误将通过对与2n位对应的多个位的传输数据进行解扰而扩散。

附图说明

将基于下列附图详细说明本发明的示例性实施例,其中:

图1示意性示出根据本发明的第一示例性实施例的信息传输系统的示例性配置;

图2是根据第一示例性实施例的编码装置的示例性配置的框图;

图3示出示例前向纠错(fec)帧;

图4a示出fec块,图4b示出错误校正码的生成;

图5是示出根据第一示例性实施例的解码装置的示例性配置的框图;

图6示出错误校正码和伴随式的计算;

图7示出错误模式;

图8示出错误位置;

图9示出错误位置;

图10示出根据第一示例性实施例的编码装置执行的编码例程的细节;

图11示出根据第一示例性实施例的解码装置执行的解码例程的细节;

图12是示出根据第二示例性实施例的编码装置的示例性配置的框图;

图13示出根据第二示例性实施例的示例性表格;

图14示出根据第二示例性实施例的伴随式的计算;

图15a和15b均示出根据第二示例性实施例的另一个示例性表格;

图16示出检错处理和缓存器的示例性配置;

图17示出根据第二示例性实施例的解码装置执行的解码例程的细节;以及

图18示出十三次循环码生成器多项式的其他变形例。

具体实施方式

下面参照附图对本发明的示例性实施例进行详细说明。以下说明示出了以下情况:本发明的示例性实施例应用于信息传输系统,在该系统中,信息是通过串行传输在两个装置之间传输和接收的。

第一示例性实施例

信息传输系统

首先将对根据本发明的第一示例性实施例的信息传输系统的示例性配置进行说明。图1示意性示出根据本发明的第一示例性实施例的信息传输系统的示例性配置。如图1所示,信息传输系统10包括传输信息的编码装置12和接收信息的解码装置14。

编码装置12和解码装置14通过传输路径16互相连接。传输路径16用于通过串行传输将信息从编码装置12传输到解码装置14。

编码装置

接下来将对编码装置12的配置进行说明。图2是示出编码装置12的示例性配置的框图。如图2所示,编码装置12包括数据接收单元120、转换单元122和传输单元132。编码装置12由电路(集成电路(ic)),例如,现场可编程门阵列(fpga)、专用集成电路(asic)或门阵列执行。编码装置12中包括的上述每个功能单元可由包括中央处理器(cpu)、随机存取存储器(ram)、只读存储器(rom)等的计算机实现,每个功能单元的每个功能可由执行rom中存储的对应程序的cpu执行。

数据接收单元120接收并行传输数据。本示例性实施例对使用1008位并行传输块数据的情况作为示例进行了说明。

转换单元122获取数据接收单元120接收的并行传输块数据。转换单元122随后向获取的传输数据添加错误校正码(ecc),并对64位传输数据进行编码,以生成66位编码数据。如图2所示,转换单元122包括ecc计算单元124、加扰单元126、64b/66b编码单元128和并串(p/s)转换单元130。

ecc计算单元124根据数据接收单元120接收的并行传输数据和预设的循环码生成器多项式计算将要添加到传输数据中的错误校正码。图3示出根据本示例性实施例的传输数据和错误校正码的示例。如图3所示,错误校正码由ecc计算单元124添加到传输数据中,稍后将对此进行说明。

在本示例性实施例中,循环码生成器多项式预设为对对应于2n位的多位传输数据的以下四种错误模式中的每种生成指示位错误位置的2n或更多种类型的伴随式。在四种错误模式的每种中,根据多项式xa+xb+1(其中a和b均为整数,a>b,且a≠2b)进行解扰,从而扩散位错误。另外,稍后将在解码装置的描述中对通过解扰而扩散的四种错误模式的位错误进行说明。另外,将根据本示例性实施例的循环码生成器多项式预设为2n位数据的n+3次循环码生成器多项式。

图4a示出前向纠错(fec)块,图4b示出错误校正码的生成。在本示例性实施例中,如图4a所示,错误校正码(13位)根据1008位(126字节)传输数据来计算。fec帧总共有1024位(128字节),包括3位虚拟位“000”。由于本示例性实施例中的数据大小是210位(1024位),根据十三次循环码生成器多项式计算错误校正码。另外,fec帧是块的一个示例。

例如,如图4b所示,ecc计算单元124用传输数据位流除以下列表达式(1)表示的十三次循环码生成器多项式g(x)来计算余数,作为错误校正码。

g(x)=x13+x12+x11+x10+x8+x7+x6+x5+x3+x+1(1)

图4b示出输入到16位单元中的ecc计算单元124中的1008位传输数据。具体地,ecc计算单元124通过根据以下表达式(2)进行六十三次计算,并输入均设为零的16位进行最终计算,从而计算错误校正码。

c13=a12+a11+a10+a9+a8+a7+a5+a3+a1+b14+b13

c12=a12+a6+a5+a4+a3+a2+a1+b16+b14+b12

c11=a13+a12+a10+a9+a8+a7+a4+a2+b16+b15+b14+b11

c10=a13+a10+a6+a5+b15+b10

c9=a12+a9+a5+a4+b14+b9

c8=a13+a12+a10+a9+a7+a5+a4+a1+b14+b8

c7=a10+a7+a6+a5+a4+a1+b16+b14+b7

c6=a12+a11+a10+a8+a7+a6+a4+a1+b16+b15+b14+b6

c5=a13+a12+a8+a6+a1+b16+b15+b5

c4=a13+a12+a11+a7+a5+b16+b15+b14+b4

c3=a9+a8+a7+a6+a5+a4+a3+a1+b15+b3

c2=a8+a7+a6+a5+a4+a3+a2+b16+b14+b2

c1=a13+a12+a11+a10+a9+a8+a6+a4+a2+b15+b14+b1(2)

表达式(2)用于计算16位输入的错误校正码,其中,bxx表示传输数据的输入中的第xx位,cxx表示错误校正码的输出中的第xx位,axx表示错误校正码的前一个输出中的第xx位。另外,此处的符号“+”指示异或(xor)运算。

加扰单元126接收传输数据和已添加到传输数据中的错误校正码,所述传输数据已由数据接收单元120接收,并对传输数据和错误校正码进行加扰。

例如,加扰单元126根据以下表达式(3)对传输数据和已添加到传输数据中的错误校正码进行加扰。

g(x)=x58+x39+1(3)

64b/66b编码单元128根据预定编码方案对加扰单元126加扰的传输数据进行编码,并对位数进行转换。本示例性实施例示出了根据64b/66b编码方案进行编码(位数已转换)的情况作为示例。

并串(p/s)转换单元130将64b/66b编码单元128进行转换而获得的66位并行数据,通过并串(p/s)转换的方式,转换成串行位流。在本示例性实施例中,fec帧(在每个帧中,虚拟位(3位)和错误校正码(13位)已添加到传输数据(1008位)中)先后进行64b/66b转换和并串转换,然后由传输单元132作为数据传输,稍后将对此进行说明。

传输单元132向传输路径16输出通过并串(p/s)转换单元130进行转换而获得的串行数据。传输单元132可与光电转换器(未示出)连接,以将电输出转换成光输出。这种情况下,传输路径16由光纤等构成。

解码装置

接下来将对解码装置14的配置进行说明。图5是示出了解码装置14的示例性配置的框图。如图5所示,解码装置14包括接收单元140、串并(s/p)转换单元142、64b/66b解码单元144、解扰单元146、错误校正单元148、错误输出单元160和数据输出单元162。解码装置14由电路(集成电路(ic)),例如,现场可编程门阵列(fpga)、专用集成电路(asic)或门阵列执行。解码装置14中包括的上述每个功能单元可由包括中央处理器(cpu)、随机存取存储器(ram)、只读存储器(rom)等的计算机实现,每个功能单元的每个功能可由执行rom中存储的对应程序的cpu执行。

接收单元140接收从编码装置12通过传输路径16传输的串行数据。在接收光输出的情况下,接收单元140与光电转换器(未示出)连接,接收从光输出转换的电输出,作为串行数据。

串并(s/p)转换单元142将接收单元140接收的串行数据转换成并行数据。

64b/66b解码单元144根据转换了位数的64b/66b编码方案,对串并(s/p)转换单元142获得的并行数据进行解码,并将所得数据作为接收数据和错误校正码输出。

解扰单元146对64b/66b解码单元144解码的接收数据和错误校正码进行解扰。另外,解扰根据上述表达式(3)表示的多项式来进行。另外,解扰单元146使所得解扰数据和错误校正码存储在缓存器150中,稍后将对此进行说明。

错误校正单元148包括缓存器150、ecc计算单元152、ecc比较单元154、检错单元156和校正单元158。

缓存器150存储通过解扰单元146获得的解扰数据和错误校正码。

ecc计算单元152获取缓存器150中存储的解扰数据,基于获取的解扰数据,根据上述表达式(1)表示的循环码生成器多项式g(x)计算错误校正码。具体地,与ecc计算单元124同样,ecc计算单元152用解扰数据位流除以上述表达式(1)表示的循环码生成器多项式g(x)来计算余数,作为错误校正码。

ecc比较单元154基于缓存器150中存储的错误校正码和ecc计算单元152计算的错误校正码计算伴随式。

图6示出ecc计算单元152和ecc比较单元154进行的处理的细节。如图6所示,ecc比较单元154根据ecc计算单元152计算的错误校正码c[12:0]和添加到解扰数据中的错误校正码c'[12:0]计算伴随式s[12:0]。计算伴随式的表达式用以下表达式(4)表示:

s[12:0]=c[12:0]⊕c'[12:0](4)

其中,符号⊕指示每位的异或(xor)运算。

根据ecc比较单元154计算的伴随式,基于伴随式与位错误位置预先互相关联的表格,检错单元156根据与上述伴随式对应的错误模式检测位错误位置。

具体地,基于对应于位错误位置的伴随式编号与代表伴随式的字地址预先互相关联的表格,除ecc比较单元154计算的伴随式均为零值的情况之外,检错单元156检测传输路径上的位错误。随后,检错单元156指出错误模式。

图7示出传输路径上出现1位错误时获得的示例错误模式。如图7所示,传输路径上的1位错误通过解扰扩散到另一个位或其他位上,1位错误造成3位或3位以下的错误。

在本示例性实施例中,伴随式编号与代表伴随式的字地址在表格中预先互相关联。如图7所示,在错误模式1中,fec帧包含1位错误,伴随式编号p处于0至1023的范围内,并与错误位置p直接对应。第p个伴随式指示为αp,伴随式编号p与实际位错误位置p互相对应。

另一方面,在错误模式2至4中,伴随式编号p与错误位置p互相不对应。由此,错误位置p根据伴随式编号p来获得。

例如,在错误模式2中,伴随式编号p处于1191至2214的范围内,其中的编号均大于数据位的数量(1023)。因此,伴随式编号p与错误位置p互相不对应。此处,在错误模式2中,如果fec帧包含2位错误,并且伴随式指示为αp+1191,错误位置则为p和p+39。

另外,在错误模式3中,伴随式编号p处于2271至3294的范围内。如果fec帧包含2位错误,并且伴随式指示为αp+2271,错误位置则为p和p+19。

另外,在错误模式4中,伴随式编号p处于3807至4830的范围内。如果fec帧包含3位错误,并且伴随式指示为αp+3807,错误位置则为p、p+19和p+58。

如图7所示,利用上述表达式(1)表示的循环码生成器多项式g(x),对四种错误模式中的每种生成了210种类型的伴随式。

图8示出了伴随式编号p与代表伴随式的字地址预先互相关联的示例性表格。例如,如图8所示,13位伴随式用0至8191的字地址表示,并准备了存储器(图中省略),字地址和伴随式编号p互相关联地存储在存储器中。图8所示的表格中的字地址是与伴随式的二进制数对应的十进制数。

例如,如图9所示,如果计算的伴随式是“1100100100101”,则伴随式“1100100100101”用图8中的字地址“6437”表示。由此,应理解的是,伴随式编号p是“2418”。

根据伴随式编号p,确定错误模式。例如,如果计算的伴随式编号p处于0至1023的范围内,则其错误模式与错误模式1对应。如果计算的伴随式编号p处于1191至2214的范围内,则其错误模式与错误模式2对应。如果计算的伴随式编号p处于2271至3294的范围内,则其错误模式与错误模式3对应。如果计算的伴随式编号p处于3807至4830的范围内,则其错误模式与错误模式4对应。这样,在每种错误模式中,连续的伴随式编号p与位错误位置关联,且每种错误模式与210种类型的伴随式关联。

随后,检错单元156根据确定的错误模式确定实际位错误位置,并将位错误位置输出给校正单元158。

例如,如果错误模式是错误模式1,实际位错误位置与计算的伴随式编号p相同。

如果错误模式是错误模式2,实际位错误位置是用计算的伴随式编号p减去“1191”得出的值p,以及将值p与“39”相加所得的值。

如果错误模式是错误模式3,实际位错误位置是用计算的伴随式编号p减去“2271”得出的值p,以及将值p与“19”相加所得的值。

如果错误模式是错误模式4,实际位错误位置是用计算的伴随式编号p减去“3807”得出的值p,将值p与“19”相加所得的值,以及将值p与“58”相加所得的值。

概括而言,每种错误模式中的位错误位置如下。

错误模式1:错误位置是p

错误模式2:错误位置是p和p+39

错误模式3:错误位置是p和p+19

错误模式4:错误位置是p、p+19和p+58

如果ecc比较单元154计算的伴随式在表格(包含13位表示的8191种模式中的上述4096(=1024×4)种模式)中不存在,检错单元156检测传输路径上的2位或更多位的错误,并将指示传输路径上的2位或更多位的错误的信息输出给错误输出单元160。

校正单元158在存储于缓存器150的解扰数据中,根据从检错单元156输出的信息转换与错误位置对应的位,从而校正解扰数据中的位错误。

如果检错单元156已输出指示传输路径上的2位或更多位错误的信息,错误输出单元160则将指示传输路径上的2位或更多位错误的信息作为不可校正错误输出。

在完成错误校正之后(包括无错误的情况),数据输出单元162按顺序输出存储于缓存器150中的解扰数据。另外,本示例性实施例中的等待时间总共是66次循环(105.6ns),包括除了缓存器进行错误校正所需的64次循环,还有从存储器中读取错误位置的处理和进行错误校正的处理。

信息传输系统的运行

下面将对信息传输系统10的运行进行说明。如上所述,信息传输系统10的运行包括编码装置12侧的处理和解码装置14侧的处理。

编码装置侧的处理

下面首先说明对编码装置12侧执行的处理。

图10是示出编码装置12执行的编码例程的示例性程序的流程图。收到要编码的并行数据时,编码装置12执行图10所示的编码例程。

在步骤s100中,数据接收单元120接收并行传输数据。

在步骤s102中,ecc计算单元124基于数据接收单元120接收的并行传输数据,并根据上述表达式(1)表示的循环码生成器多项式计算将要添加到传输数据中的错误校正码。

在步骤s104中,加扰单元126根据上述表达式(3)对在步骤s100中接收的传输数据和在步骤s102中计算的错误校正码进行加扰。

在步骤s106中,64b/66b编码单元128根据64b/66b编码方案对步骤s104中加扰的传输数据进行编码,并对位数进行转换。

在步骤s108中,并串(p/s)转换单元130将通过步骤s106中的转换获得的并行数据转换成串行位流。

在步骤s110中,传输单元132将通过步骤s108中的转换获得的串行数据输出到传输路径16,并结束编码例程。

解码装置侧的处理

下面将说明对解码装置14侧执行的处理。

图11是示出了解码装置14执行的解码例程的示例性程序的流程图。接收要解码的数据时,解码装置14执行图11所示的解码例程。

在步骤s200中,接收单元140接收从编码装置12通过传输路径16传输的串行数据。

在步骤s202中,串并(s/p)转换单元142将步骤s200中接收的串行数据转换成并行数据。并行数据的字节对齐由64b/66b编码方案进行。

在步骤s204中,64b/66b解码单元144根据转换了位数的64b/66b编码方案,对步骤s202中获得的并行数据进行解码,并将所得数据作为接收数据和错误校正码输出。

在步骤s206中,解扰单元146对步骤s204中解码的接收数据和错误校正码进行解扰。另外,解扰单元146使解码的解扰数据和错误校正码存储在缓存器150中。

在步骤s208中,ecc计算单元152获取缓存器150中存储的解扰数据,基于获取的解扰数据,并根据上述表达式(1)表示的循环码生成器多项式g(x)计算错误校正码。

在步骤s210中,ecc比较单元154基于缓存器150中存储的错误校正码和步骤s208中计算的错误校正码计算伴随式。

在步骤s212中,根据步骤s210中计算的伴随式,并基于伴随式和与位错误位置预先互相关联的表格,检错单元156确定步骤s210中计算的伴随式是否与指示四种模式的错误位置的预设字地址相关联。如果计算的伴随式与预设字地址相关联,处理进入步骤s214。如果计算的伴随式与预设字地址不相关联,处理进入步骤s222。

在步骤s214中,基于伴随式编号p与表示伴随式的字地址预先互相关联的表格,并根据步骤s210中计算的伴随式,检错单元156根据计算的伴随式编号p确定错误模式。

在步骤s216中,根据步骤s214中确定的错误模式,检错单元156确定实际位错误位置,并将指示实际位错误位置的信息输出给校正单元158。

在步骤s218中,校正单元158在存储于缓存器150的解扰数据中,根据步骤s216中输出的信息转换与错误位置对应的位,从而校正解扰数据中的位错误。

在步骤s220中,数据输出单元162输出存储于缓存器150中的解扰数据,并结束解码例程。

在步骤s222中,检错单元156检测传输路径上的2位或更多位的错误,并输出指示传输路径上的2位或更多位的错误的信息。

在步骤s224中,错误输出单元160输出在步骤s222中输出的指示2位或更多位的错误的信息作为不可校正错误输出,并结束解码例程。

这样,预设了2n位数据的n+3次循环码生成器多项式,将n+3位错误校正码添加到2n-(n+3)位的数据中,由此对将通过解扰而扩散的位错误进行校正。例如,将13位错误校正码添加到包括3位虚拟位的1011位数据,由此对将通过解扰而扩散的位错误进行校正。

第二示例性实施例

第一示例性实施例对基于对应于位错误位置的伴随式编号与代表伴随式的字地址预先互相关联的表格检测位错误位置的情况作为示例进行了说明。另一方面,第二示例性实施例将对以下情况作为示例进行说明:如果在m种类型的伴随式与位错误位置pm互相关联的表格中不存在计算的伴随式,则对伴随式计算进行迭代,以基于伴随式计算的迭代次数k和表格中的关联位错误位置pm,检测解扰数据中的位错误位置。另外,与根据上述第一示例性实施例的编码装置12和解码装置14的部件相同或相似的部件,以及与第一示例性实施例中的步骤相同或相似的步骤,用与第一示例性实施例中相同的参考数字表示,并在说明中省略。

解码装置214

图12是示出了根据第二示例性实施例的解码装置214的示例性配置的框图。如图12所示,解码装置214包括接收单元140、串并(s/p)转换单元142、64b/66b解码单元144、解扰单元146、错误校正单元248、错误输出单元160和数据输出单元162。

错误校正单元248包括第一缓存器250、第二缓存器251、第三缓存器252、第四缓存器253、第五缓存器254、ecc计算单元152、ecc比较单元154、检错单元256和校正单元158。

第一缓存器250存储解扰单元146获得的解扰数据和错误校正码。存储于第一缓存器250的解扰数据和错误校正码按顺序传输给第二缓存器251、第三缓存器252、第四缓存器253和第五缓存器254。

本示例性实施例对第一缓存器250、第二缓存器251、第三缓存器252、第四缓存器253和第五缓存器254均有128字节存储容量的情况进行了说明。

如果预定的m种类型的伴随式与位错误位置pm互相关联的表格中不存在ecc比较单元154计算的伴随式,检错单元256基于计算出的伴随式,并根据预设表达式对伴随式计算进行迭代。随后,基于伴随式、伴随式计算的迭代次数k和表格中的关联位错误位置pm,检错单元256检测解扰数据中的错误位置。

另外,检错单元256在并行的多片传输数据中检测位错误位置。

在第二示例性实施例中,某些伴随式与位错误位置预先互相关联。图13示出指示某些伴随式与位错误位置预先互相关联的组合的示例性表格。

图13示出了16种模式的伴随式与位错误位置预先互相关联的示例性表格。在图13所示的表格中,位错误位置根据16种模式的伴随式和迭代次数来确定。

图14示出了检错单元256进行的处理。如图14所示,如果表格中不存在计算的伴随式s[12:0],检错单元256基于计算出的伴随式,并根据以下预设表达式(5)对伴随式计算进行迭代。

se1=s4+s8+s9+s10+s11+s12+s13

se2=s1+s4+s5+s8

se3=s1+s2+s5+s6+s9

se4=s1+s2+s3+s4+s6+s7+s8+s9+s11+s12+s13

se5=s2+s3+s4+s5+s7+s8+s9+s10+s12+s13

se6=s1+s3+s5+s6+s12

se7=s1+s2+s6+s7+s8+s9+s10+s11+s12

se8=s1+s2+s3+s4+s7

se9=s1+s2+s2+s5+s9+s10+s11+s12+s13

se10=s1+s2+s3+s4+s6+s10+s11+s12+s13

se11=s1+s2+s3+s5+s7+s8+s9+s10

se12=s2+s3+s6+s12+s13

se13=s3+s7+s8+s9+s10+s11+s12(5)

以上表达式用于13位的输入,其中,sxx表示通过进行与上一个时钟对应的计算而获得的伴随式中的第xx位,sexx表示通过在当前迭代中进行计算而获得的伴随式中的第xx位。另外,此处的符号“+”指示异或(xor)运算。

具体地,如果计算出的错误伴随式s[12:0]包括在图13的表格中的se列中,错误位置是0至15的任何数字。另一方面,如果计算出的错误伴随式s[12:0]并不在图13的表格的se列之内,则根据上述表达式(5)对计算进行迭代。随后,根据迭代次数,并基于图13的表格,确定错误位置。

另外,虽然预先在图13所示的表格中记录了16种模式的伴随式,但也可如图15a和15b所示,预先记录32种模式的伴随式或64种模式的伴随式。如果预先在表格里记录32种模式的伴随式或64种模式的伴随式,与预先记录16种模式的伴随式的情况相比,伴随式计算的迭代次数减少。

下面将对检错单元256对存储于第一缓存器250至第五缓存器254的数据进行的处理进行说明。另外,下面将预先在表格中记录32种模式的伴随式的情况作为示例进行说明。

图16示出了检错单元256进行的处理与存储于每个缓存器的数据之间的关系的示例。图16所示的每个框代表检错单元256所需的处理时间或每个缓存器。

本示例性实施例描述了每个缓存器的存储容量为128字节的情况。如果每个缓存器的存储容量是128字节,如图16所示,则以64次循环,以16位模式进行该处理。如果利用记录了32种模式的伴随式的表格进行匹配,检错单元256以大约150次循环计算错误位置。由此,检错单元256利用图16所示的五个缓存器,进行计算并行位错误位置的三个处理,从而完成位错误校正。

例如,如图16所示,在将数据b01存储到第一缓存器250时,以64次循环进行处理。随后,检错单元256在第一缓存器250中读取数据b01。将数据b01传输到第二缓存器251。随后,将下一数据b02存储在第一缓存器250中。

检错单元256对读取数据b01与ecc比较单元154获取的伴随式和表格进行匹配处理。该匹配处理以大约150次循环来进行。在完成检错单元256进行的匹配处理时,将数据b01存储在第五缓存器254中,因此,根据检错单元256获取的结果,校正单元158对数据b01进行校正处理。

在相关技术中,需要利用2048字节的存储器确定位错误位置,而在根据本示例性实施例的方法中,利用640字节的缓存器确定位错误位置。因此,位错误校正所需的存储量减少至相关技术中的存储量的三分之一或更少。另外,通过使用五个缓存器(=64×5+2),本示例性实施例中的等待时间是322次循环(515.2ns)。

信息传输系统的运行

下面将对根据第二示例性实施例的信息传输系统的运行进行说明。如上所述,根据第二示例性实施例的信息传输系统的运行包括编码装置12侧的处理和解码装置214侧的处理。

解码装置侧的处理

图17是示出了解码装置214执行的解码例程的示例性程序的流程图。接收要解码的数据时,解码装置214执行图17所示的解码例程。

在步骤s200中,接收单元140接收从编码装置12通过传输路径16传输的串行数据。

在步骤s202中,串并(s/p)转换单元142将步骤s200中接收的串行数据转换成并行数据。

在步骤s204中,64b/66b解码单元144根据转换了位数的64b/66b编码方案,对步骤s202中获得的并行数据进行解码,并将所得数据作为接收数据和错误校正码输出。

在步骤s206中,解扰单元146对步骤s204中解码的接收数据和错误校正码进行解扰。另外,解扰单元146使解码的解扰数据和错误校正码存储在缓存器150中。

在步骤s208中,ecc计算单元152获取缓存器150中存储的解扰数据,基于获取的解扰数据,根据上述表达式(1)表示的循环码生成器多项式g(x)计算错误校正码。

在步骤s210中,ecc比较单元154基于缓存器150中存储的错误校正码和步骤s208中计算的错误校正码计算伴随式。

在步骤s312中,检错单元256确定步骤s210中计算的伴随式是否存在于表格内。如果步骤s210中计算的伴随式存在于表格内,处理进入步骤s214。如果步骤s210中计算的伴随式不存在于表格内,处理进入步骤s313。

在步骤s313中,检错单元256确定迭代次数k是否大于或等于预设数。如果迭代次数k大于或等于预设数,处理进入步骤s222。如果迭代次数k小于预设数,处理进入步骤s314。

在步骤s314中,基于上一循环中的步骤s210或步骤s314计算的伴随式,根据上述表达式(5)计算伴随式。

通过以上述方式提供两级或多级缓存器并对计算进行迭代以确定位错误位置,虽然增加了等待时间,但位错误位置与伴随式互相关联的信息的存储量减少。

毫无疑问,上述示例性实施例所述的信息传输系统的配置是示例性配置,只要不脱离本发明的主旨,可对其进行修改。例如,虽然已对分别包括编码装置和解码装置的信息传输系统进行了说明,但也可提供包括编码单元和解码单元的装置,这种装置可在信息传输系统中执行串行传输。位数的转换并不限于64b/66b转换,也可进行位数的其他转换。

上述示例性实施例对使用1024(=210)位数据作为2n位数据的示例,以及使用十三次循环码生成器多项式作为n+3次循环码生成器多项式的示例的情况进行了说明,但2n位数据和n+3次循环码生成器多项式并不限于此。例如,如果数据是1024(=210)位数据,可将具有图18所示的系数的任何十三次循环码生成器多项式作为用于根据表达式(3)加扰的循环码生成器多项式。另外,图18中的每种错误模式中表示的数字代表伴随式编号p。例如,如果循环码生成器多项式中的系数是图18中的加粗框中的系数,与错误模式2对应的伴随式编号p在1191至2214之间,与错误模式3对应的伴随式编号p在2271与3294之间,与错误模式4对应的伴随式编号p在3807与4830之间。图18对应于用于根据表达式(3)进行加扰的示例性十三次循环码生成器多项式。但是,即使加扰根据多项式xa+xb+1(其中a和b是整数,a≠2b)来进行,但是,只要a小于或等于58,一般可采用(209种类型中的)任何十三次循环码生成器多项式。

另外,虽然上述示例性实施例对使用十三次循环码生成器多项式的示例进行了说明,但是,只要2n位数据采用n+3次循环码生成器多项式,所述次数可以是任何次数。例如,211(=2048)位数据可采用十四次循环码生成器多项式,212(=4096)位数据可采用十五次循环码生成器多项式,213(=8192)位数据可采用十六次循环码生成器多项式。

例如,如果循环码生成器多项式的次数增加到十六次,最多可处理8176(=8192-16)位数据。即,配置包含16位错误校正码的8192位fec帧。在相关技术中,在四个fec帧中最多仅能处理3968位数据,另外,四个fec帧需要采用64位错误校正码。

另外,例如,利用十六次循环码生成器多项式,错误校正码的位数可增加到16,从而处理4080位数据。这种情况下,形成包含16位错误校正码的4096位fec帧。

不仅可通过使用通信介质,还可通过将其存储在诸如压缩光盘只读存储器(cdrom)的记录介质中来提供本发明的上述任何示例性实施例。

为了进行图示和说明,以上对本发明的示例性实施例进行了描述。其目的并不在于全面详尽地描述本发明或将本发明限定于所公开的具体形式。很显然,对本技术领域的技术人员而言,可以做出许多修改以及变形。本实施例的选择和描述,其目的在于以最佳方式解释本发明的原理及其实际应用,从而使得本技术领域的其他熟练技术人员能够理解本发明的各种实施例,并做出适合特定用途的各种变形。本发明的范围由与本说明书一起提交的权利要求书及其等同物限定。

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