一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

空间耦合FEC编码方法和使用GEL码的分量码的设备与流程

2022-07-10 16:01:10 来源:中国专利 TAG:

空间耦合fec编码方法和使用gel码的分量码的设备
技术领域
1.本公开涉及一种数字通信系统中的前向纠错(forward error correction,fec)编码方法,具体地,涉及一种用于低时延、高吞吐量、高速率光学通信的编码/解码方法。为此,本公开提出了一种编码设备、解码设备和对应的方法。


背景技术:

2.数字通信系统的发展与增加通信通道中的数据速率紧密相关。这不可避免地造成大量传输错误的增加。纠错编码旨在将该数字最小化。
3.由于必须同时提供高性能、低时延和低功耗,因此为现代数据传输系统合成纠错码是一项具有挑战性的任务。
4.目前,最著名的fec码中的适用于高性能、高速率应用的fec码是基于空间耦合或连续交织的思想的。空间耦合是个非常笼统的概念。在编码领域,空间耦合或连续交织分组码的集合是数据通信和数据存储中纠错/纠删的原理。它有助于设计一个半无限序列的代码符号,使得该序列的任何代码符号都包含在至少一个有限子序列中,该至少一个有限子序列形成该集合中某个代码的码字。
5.图1示出了一些空间耦合纠错码(spatially coupled error-correcting code,sc ecc),例如,连续交织的博斯-乔赫里-霍克文黑姆(continuously-interleaved bose-chaudhuri-hocquenghem,ci-bch)码、编织分组码(braided block codes)和阶梯(staircase)。这些纠错码以低解码复杂度实现了高性能。通常,为了获得低复杂度的解码过程,将具有小纠错能力的二进制bch码用作空间耦合码的分量码。由于高度瘫痪的解码技术,因此sc ecc适用于高吞吐量的光学通信(例如,400gb/s)。然而,sc ecc的现有代码构造在其特征上具有局限性。现有的错误平层缓解技术非常有限。很难设计非常低时延且高速率的传统sc ecc。技术限于设计具有非常低错误平层(例如,小于1e-15的输出比特误码率(bit error rate,ber)的低时延的空间耦合ecc。
6.因此,需要一种空间耦合fec码的改进设计。


技术实现要素:

7.鉴于上述限制,本公开的实施例旨在改进传统的fec编码方法。目的是提供一种编码设备、解码设备和对应的方法,实现改进的fec编码。具体地,目标是设计合适的空间耦合码,其允许具有低复杂度解码过程的非常低时延、高吞吐量、高速率的应用和低错误平层水平。
8.该目的通过所附的独立权利要求中提供的实施例来实现。从属权利要求中进一步定义了本公开实施例的有利实现。
9.本公开的第一方面提供了一种编码设备,所述编码设备用于使用空间耦合码,对数据符号的流进行编码,其中,至少一个广义误差定位(generalized error location,gel)码用作所述空间耦合码的分量码。
10.通常,空间耦合码字与先前形成的码字和随后形成的码字共享符号。根据本公开的实施例,使用gel码形成用于对数据符号的流进行编码的码字。gel码的结构可以如图4所示。
11.将至少一个gel码用作空间耦合码的分量码能够实现具有低复杂度解码过程的非常低时延、高吞吐量和高速率的应用。它允许设计具有低错误平层水平的fec码。因此,获得了一种实现改进的空间耦合编码方法的改进的编码设备。
12.在第一方面的一种实现形式中,所述编码设备还用于:将所述数据符号的流映射到一序列的符号块中,其中,每个符号块包括l个符号,l为正整数,并且每个符号块中的所述l个符号中的数据符号的数量小于或等于l;以及使用第一块bi的一个或多个符号和一个或多个第二块bj的一个或多个符号,形成所述至少一个gel码的多个码字,其中,i为正整数,并且j为小于i的正整数。
13.可选地,可以将数据符号的流分成相同大小,即长度为l,的一序列的块,并且可以用正整数来枚举块。可能地,符号的一个或多个块可能没有被数据符号的流的数据符号完全填充。可选地,可以使用第一块bi的数据符号和第一块bi的一个或多个先前块,例如,块b
i-1

……
块b
i-m
,的符号来形成gel码的码字,m为小于i的正整数。
14.在第一方面的一种实现形式中,所述至少一个gel码的每个码字包括信息符号和校验符号,以及所述至少一个gel码的每个码字的码长小于或等于m,m为正整数。
15.通常,至少一个gel码的码字可以因此包括两部分:一部分包括信息符号,另一部分包括校验符号。
16.在第一方面的一种实现形式中,所述编码设备还用于:通过使用所述第一块bi的一个或多个数据符号和所述一个或多个第二块bj的一个或多个符号,生成所述至少一个gel码的每个码字的所述校验符号,其中,j《i;以及将生成的所述至少一个gel码的每个码字的所述校验符号存储在所述第一块bi中,其中,所述第一块bi中的生成的所述校验符号和数据符号的总数等于l。
17.在第一方面的一种实现形式中,所述编码设备还用于:将所述第一块bi的一个或多个符号和所述序列的块的其他块中所有选择的符号用作所述至少一个gel码的至少一个码字的信息符号。
18.在第一方面的一种实现形式中,所述第一块bi的所有符号和所述一个或多个第二块bj的一个或多个符号表示为n
×
n矩阵,其中,i、n和n各自为正整数,并且j为小于i的正整数。
19.在第一方面的一种实现形式中,每个gel码的所述多个码字表示为n行且列数小于或等于n的矩阵。
20.在第一方面的一种实现形式中,所述至少一个gel码的多个码字的所有码字的长度之和等于n*n。
21.在第一方面的一种实现形式中,所述编码设备还用于将每个第一块bi分成s个m
×
m矩阵,其中,每个第一块bi表示为(s*m)
×
m矩阵,其中,s和m为正整数。
22.在第一方面的一种实现形式中,所述至少一个gel码的多个码字表示为(2*s*m)
×
m矩阵。
23.在第一方面的一种实现形式中,所述编码设备还用于基于以下m
×
m矩阵,获得所
述至少一个gel码的多个码字的至少一个码字:
24.(i-f(i,1),p(i,1)),(i-f(i,2),p(i,2)),
……
,(i-f(i,s),p(i,s)),(i,1),(i,2),
……
,(i,s),其中,f(x,y)是整数值函数,并且p(x,y)是任何x的排列函数,其中,对于任何正整数i,f(i,1)》f(i,2)》
……
》f(i,s)》0,x和y为正整数,并且所述整数值函数p(x,y)的值域是{1,2,

,s}。
25.在第一方面的一种实现形式中,所述第一块bi的每个符号用作所述至少一个gel码的各个码字的信息符号或校验符号。
26.本公开的第二方面提供了一种解码设备,所述解码设备用于使用空间耦合码,对一序列已编码的符号块进行解码,其中,至少一个广义误差定位gel码用作所述空间耦合码的分量码。
27.根据本公开的实施例,在发送数据之前,发送设备,例如第一方面或第一方面的任何实现形式中提供的编码设备,通过将gel码用作空间耦合构造中的分量码,对数据进行编码。在接收到数据之后,接收设备,例如第二方面中提供的解码设备,通过使用相同的空间耦合gel码,对数据进行解码。值得注意的是,发送设备和接收设备首先可以就空间耦合gel码字结构编码方式打成一致。可替换地,在接收由发送设备发送的数据之前,接收设备首先可以获得发送设备的空间耦合gel码字结构编码方式。
28.将至少一个gel码用作空间耦合码的分量码能够实现具有低复杂度解码过程的非常低时延、高吞吐量和高速率的应用。它允许设计具有低错误平层的fec码。因此,获得了一种改进的解码设备。
29.本公开的第三方面提供了一种编码方法,包括使用空间耦合码,对数据符号的流进行编码,其中,至少一个广义误差定位gel码用作所述空间耦合码的分量码。
30.第三方面的编码方法可以提供有与第一方面的编码设备相似的实现形式。据此,第三方面的编码方法及其实现形式提供了与第一方面的编码设备及其各自的实现形式的上述优点和效果相同的优点和效果。
31.本公开的第四方面提供了一种解码方法,包括使用空间耦合码,对一序列已编码的符号块进行解码,其中,至少一个gel码用作所述空间耦合码的分量码。
32.第四方面的解码方法可以提供有与第二方面的解码设备相似的实现形式。据此,第四方面的解码方法及其实现形式提供了与第二方面的解码设备及其各自的实现形式的上述优点和效果相同的优点和效果。
33.本公开的第五方面提供了一种计算机程序产品,包括程序代码,当所述程序代码在处理器上运行时,执行第一方面及其实现形式或第二方面及其实现形式的方法。
34.须注意,本技术中描述的所有设备、元件、单元和装置可以以软件或硬件元件或其任何类型的组合来实现。本技术中描述的由各种实体执行的所有步骤以及所描述的由各种实体执行的功能旨在表明各个实体适于或用于执行各个步骤和功能。即使在以下对具体实施例的描述中,由外部实体执行的特定功能或步骤未反映在执行该特定步骤或功能的该实体的特定详细元素的描述中,本领域技术人员应该清楚这些方法和功能可以在各自的软件或硬件元件或其任何种类的组合中实现。
附图说明
35.结合附图在下文具体实施例的描述中对本公开的上述方面和实现形式进行说明,其中:
36.图1示出了空间耦合码构造的示例。
37.图2示出了空间耦合分组码的方案。
38.图3示出了对空间耦合码进行滑动窗口解码的解码过程。
39.图4示出了广义误差定位gel码的示例。
40.图5示出了gel码编码过程。
41.图6示出了gel码的解码过程。
42.图7示出了根据本公开实施例的将gel码用作空间耦合构造中的分量码。
43.图8示出了根据本公开实施例的编码设备。
44.图9示出了根据本公开实施例的将gel码用作阶梯构造中的分量码。
45.图10示出了根据本公开实施例的解码设备。
46.图11示出了根据本公开实施例的编码方法。
47.图12示出了根据本公开实施例的解码方法。
48.图13示出了阶梯bch码和阶梯gel码的性能和错误平层水平。
49.图14示出了阶梯gel阶梯与不同分量bch码和不同解码延迟(与解码窗口大小有关)的比较。
50.图15示出了阶梯bch码和阶梯gel码的性能和时延。
具体实施方式
51.参考附图描述了编码/解码方法、编码/解码设备和计算机程序产品的说明性实施例。尽管此描述提供了可能的实施方式的详细示例,但应当注意,这些细节仅是示例性的作用,绝不限制本技术的范围。
52.此外,一个实施例/示例可以涉及其他实施例/示例。例如,在一个实施例/示例中提到的包括但不限于术语、要素、过程、说明和/或技术优势的任何描述适用于其他实施例/示例。
53.图2示出了空间耦合分组码的方案。数据按帧传输。每帧由信息符号和奇偶校验符号组成。信息符号的新部分被放入新的帧中。帧的奇偶校验符号是gel码的码字的奇偶校验符号。可以通过gel码的编码过程来获得gel码的码字。用于gel码的编码过程的信息符号是从一些先前帧的符号和新帧的信息符号中选取的。
54.具体地,空间耦合码可以通过以下过程构造:将数据分成块,其中,每个块由信息符号和校验符号构成;将新的信息符号放入新的块中;通过分组码的编码过程,从先前块的一些符号和新的信息符号中获得新的块的校验符号。
55.该方案的主要部分是分组码和映射器。例如,诸如逐块的编织分组码的阶梯和编织分组码的映射器的输入是新的信息符号和先前块的所有符号。这些类型的代码的区别在于映射器的内部结构。
56.空间耦合的原理不限于图2中呈现的方案。可以考虑实现一个以上的分组码和一个以上的映射器。根据块的索引,块的校验符号可以取决于不同数量的先前块。还可以使用
一些由零或非零符号进行填充。
57.使用“滑动窗口”解码技术来执行空间耦合码的解码。即,接收器从信道和/或从先前处理中收集s个随后的符号块vi,v
i 1

……
,v
i s-1
(窗口)。然后,应用滑动窗口的解码步骤,如图3所示。此后,窗口“位移”并且解码器仅利用以下块v
i 1
,v
i 2

……
,v
i s

58.图3示出了对空间耦合码进行滑动窗口解码的解码过程。
59.现有的空间耦合码构造在其特征上具有局限性。
60.例如,考虑开销oh等于6.67%的阶梯码。可以证明,构建具有相当低的时延、良好性能且低错误平层的阶梯码是不可能的:基于纠正2个错误的bch的代码时延低,但错误平层高。需要某个额外的错误平层缓解技术,即使在此之后,错误平层接近1e-15。相反,基于纠正3个错误的bch的代码性能良好,但时延高得无法接受(如表1所示)。因此,没有“中间”代码,适用于低时延且高性能的情况,同时,错误平层低且解码算法相对简单。
61.表1-具有不同时延且oh等于6.67%的阶梯的性能
[0062][0063]
图4中示出了一类分组码,广义误差定位gel码。通常,gel码字结构包括行代码和列代码,并且通过使用行代码对列代码的奇偶校验位进行编码操作,来获得gel码的校验码。行代码也可以称为外码,列代码也可以称为内码。
[0064]
令为具有q个元素的有限域。令为[n,ki,di]q线性码,i∈{0,1,

,l},使得,l},使得其中,0是长度为n的零向量。因此,我们有n=k0》k1》
……
》k
l
=0。l令hc为以下形式的上的非奇异矩阵:
[0065][0066]
其中,hi是mi×
n子矩阵,且mi=ki–1–ki
,i∈{0,1,

,l};此外,矩阵hi,hi–1,
……
,h形成的奇偶校验矩阵。
[0067]
令为上的[n,ki,di]
qi
线性码,i∈{0,1,

,l},其中,如果c满足以下条件,则上的n
×
n矩阵的线性子空间c被称为gel码,其成分分别为l 1个内码和l个外码
[0068][0069]
关于从到的任何同构(从上的所有s
×
n矩阵的向量空间到上的维度为n的向量空间)。
[0070]
这种构造的最普遍的情况是使用n个不同的嵌套内码,使得这种构造的最普遍的情况是使用n个不同的嵌套内码,使得其中,为线性码,i∈{0,1,

,l}且j∈{1,2,

,n}。在这种情况下,条件(2)可以修改如下:
[0071][0072]
其中,是的对应子矩阵,并且c
(j)
是c的第j列,j∈{1,2,

,n}。
[0073]
具体地,在该实施例中使用了嵌套内码的单个集合。为了得到一种系统编码gel码的简单方法,利用了外码的系统编码和矩阵hc的特殊形式,即:
[0074][0075]
其中,ii是mi×
mi单位矩阵;o
i,j
是mi×
mj零矩阵;并且p
i,j
是上的mi×
mj矩阵。
[0076]
根据矩阵hc的结构和外码的参数,gel码的码字c可以分成大小为mi×ki
或mi×
(n
–ki
)的2l个子矩阵,i∈{0,1,

,l},如下:
[0077][0078]
其中,xi和yi分别为mi×ki
和mi×
(n
–ki
)子矩阵,i∈{0,1,

,l}。
[0079]
图5表示可能的gel编码过程的流程图。
[0080]
输入:上的值(这些值被视为信息符号)
[0081]
输出:c—gel码的码字(上的n
×
n矩阵)
[0082]
1:用零设置矩阵c
[0083]
2:对于i:=1至l执行
[0084]
3:用输入的mi×ki
个信息符号设置c的xi子矩阵
[0085]
4:结束为
[0086]
5:c:=hb·c[0087]
6:对于i:=1至l执行
[0088]
7:通过系统编码器ai对xi进行编码,获得校验符号zi[0089]
8:用zi设置yi子矩阵c
[0090]
9:结束为
[0091]
10:
[0092]
其中,矩阵是hb的标准逆矩阵
[0093]
图6示出了gel码可能的解码过程的流程图。
[0094]
输入:v—来自信道的字
[0095]
输出:c—gel码的码字或更新的字v和解码失败信号
[0096]
1:将已擦除位置的列表l1,l2,
……
,l
l 1
设置为空列表
[0097]
2:对于i:=1至l执行
[0098]
3:获得具有错误为ai:=hi·
v的码字ai[0099]
4:在已擦除位置的列表li的帮助下,通过解码器ai对ai进行解码
[0100]
5:如果观察到字ai解码失败,则完成解码并返回v和解码失败
[0101]
6:否则继续解码
[0102]
7:对于每列对应的错误符号或已擦除符号ai[0103]
8:通过使用解码结果a1,a2,
……
,ai位置中的错误值或擦除值,获得与校验矩阵对应的校验子向量s
[0104]
9:通过解码器bi,获得与向量s对应的错误图案e
[0105]
10:如果观察到解码失败,则将列号添加到列表l
i 1
[0106]
11:否则通过减去图案e,更新v的对应列
[0107]
12:结束为
[0108]
13:结束为
[0109]
14:如果已擦除位置的列表l
l 1
不为空,则完成解码并返回v和解码失败
[0110]
15:否则返回更新的字v为c
[0111]
可以部分地完成gel码的解码。实际上,可以执行信道循环的一些迭代并更新信道的字v。这可能会减少字中错误的数量,但不会纠正所有错误。此类策略可用于空间耦合码的迭代解码,其中,gel码是分量码。
[0112]
为了设计具有高性能的长gel码,需要在大域上使用外码,具有很大的最小距离。此外,现有的gel码不支持迭代解码。因此,本公开建议将gel码作为空间耦合构造中的分量码,如图7所示。
[0113]
图8示出了根据本公开实施例的编码设备100。编码设备100可以包括用于执行、进行或发起本文所述的编码设备100的各种操作的处理电路(未示出)。处理电路可以包括硬件和软件。硬件可以包括模拟电路或数字电路,或模拟电路和数字电路两者皆有。数字电路可以包括专用集成电路(application-specific integrated circuits,asics),现场可编程逻辑门阵列(field-programmable arrays,fpgas),数字信号处理器(digital signal processors,dsps),或多功能处理器等部件。在一个实施例中,处理电路包括一个或多个处理器和连接到一个或多个处理器的非易失性存储器。非易失性存储器可以携带可执行程序代码,当该可执行程序代码由一个或多个处理器执行时,使得编码设备100执行、进行或发起本文所述的操作或方法。
[0114]
根据本公开的实施例,编码设备100用于使用空间耦合码102,对数据符号101的流进行编码。具体地,至少一个gel码用作空间耦合码102的分量码。
[0115]
根据本公开的实施例,将数据流符号分成相同大小的一序列的块,并且用正整数来枚举块。
[0116]
据此,根据本公开的实施例,编码设备100还用于将数据符号101的流映射到一序列的符号块中,其中,每个块包括l个符号,l为正整数,并且每个块中的l个符号中的数据符号的数量小于或等于l。进一步地,编码设备100用于使用块bi的一个或多个数据符号和一个或多个块bj的一个或多个符号,形成至少一个gel码的多个码字,其中,i为正整数,并且j为小于i的正整数。
[0117]
使用块bi和一个或多个先前块bj的符号来形成gel码的码字。不应限制块bj的量。
[0118]
可选地,至少一个gel码的每个码字包括信息符号和校验符号,以及每个码字的码长小于或等于m,m为正整数。
[0119]
根据本公开的实施例,编码设备100可以用于通过使用块bi的一个或多个数据符号和一个或多个块bj的一个或多个符号,生成至少一个gel码的每个码字的校验符号,其中,i和j都为正整数,并且j小于i。编码设备100可以用于将生成的至少一个gel码的每个码字的校验符号存储在块bi中,其中,块bi中的生成的校验符号和数据符号的总数等于l。
[0120]
值得注意的是,当编码设备100将数据符号101的流映射到一序列的符号块中时,不同量的数据符号可以被映射到不同的块中。具体地,一些块可以包含为存储校验符号而保留的空间。据此,一些块可以包含l个数据符号;一些块可以由x个数据符号和l-x个校验符号组成,x为小于l的正整数。
[0121]
可选地,块bi由信息符号,即从数据符号的流映射的数据符号,以及编码设备100生成的校验符号组成。具体地,校验符号可以基于块bi的先前块的符号来生成,并且可以另外基于在块bi的先前块中存储的校验符号来生成。
[0122]
可选地,编码设备100还可以用于将块bi的一个或多个符号以及序列的块的其他块中所有选择的符号用作至少一个gel码的至少一个码字的信息符号。
[0123]
因此,在分开数据符号的流和枚举了块之后,令块bi的所有数据符号和块bj的一些符号表示为长度为k的单个块,其中,i和j均为正整数,k为正整数。令多个gel码中每个gel码的码长最多为k。在将块bj的符号表示为长度为k的单个块的帮助下,生成多个gel码中每个代码的校验符号,其中,j最多为i,其中,块bi的至少一些符号和其他块中所有选择的符号用作至少一个gel码的信息符号。并且,生成的校验符号被存储在块bi中。
[0124]
在本公开的另一个实施例中,块bi的所有数据符号和一个或多个块bj的一个或多个符号可以表示为n
×
n矩阵,n和n为正整数。可选地,每个gel码的多个码字可以表示为n行以及列数小于或等于n的矩阵。根据本公开的实施例,每个gel码的多个码字的所有码字的长度之和可以等于n*n。
[0125]
值得注意的是,在将块bj的符号表示为n
×
n矩阵的帮助下,可以生成多个gel码中每个代码的校验符号,其中,j最多为i,其中,块bi的至少一些符号和其他块中所有选择的符号用作至少一个gel码的信息符号。与先前描述的实施例类似,生成的校验符号被存储在块bi中。
[0126]
可选地,块bi的每个符号可以是多个gel码中至少一个gel码的信息符号或校验符号。可替换地,块bi的每个符号可以是多个gel码中恰好一个gel码的信息符号或校验符号。
[0127]
根据本公开的一个实施例,每个块bi可以表示为(s*m)
×
m矩阵,其中,每个块bi被
(x)
·
(x9 x4 1)
·
(x 1)=x
10
x9 x5 x4 x 1的[340,330,4]2代码,是带有生成多项式g
2(x)
=g1(x)
·
(x9 x6 x4 x3 1)=x
19
x
18
x
16
x
15
x
13
x
12
x
11
x
10
x9 x6 x4 x3 x 1的[340,321,6]2代码,并且,b3是长度为340的二进制零码。
[0148]
令校验矩阵hc为以上讨论的形式(4),即:
[0149][0150]
因此,有m1=10,m2=9,m3=321.。
[0151]
令gel码c的外码为在二进制字段的不同扩展上的长度为170的3个代码。即,是gf(1024)上的零码,是在带有生成多项式的gf(512)上的循环里德所罗门(reed-solomon)码,其中,α是gf(512)的本原元,并且最后一个是cf(2
321
)上的相同代码。可以用作纠错码,对于该码,需要一些非平凡的编码和解码过程。所以,仅出于正式描述的原因,需要和代码。
[0152]
本文中,gel码的每列码字c是通过构造的代码的码字。而且,h2和c矩阵相乘是rs码的码字。
[0153]
对代码c的解码可以分为3个步骤:
[0154]
1、由的解码器对列进行解码;
[0155]
2、通过h2和c矩阵相乘获得的字,然后由的解码器对该字进行解码;
[0156]
3、利用先前步骤的解码结果,由的校验子解码器对一些列进行解码。
[0157]
值得注意的是,第一解码步骤的列的解码失败可以用作信号以擦除与第二解码步骤的解码的列编号相同的符号编号。解码中的错误和/或擦除值是关于h2奇偶校验矩阵的列的校验子值。由于矩阵h2和h1形成代码的奇偶校验矩阵,所以可以使用利用以上呈现的第一和第二解码步骤中的这些矩阵计算出的校验子值来由的校验子解码器对列进行解码。
[0158]
令空间耦合基于阶梯式设计和单块(分量)gel码c。这意味着,考虑170
×
170二进制矩阵的半无限序列使得:
[0159]
1、矩阵b1为零矩阵;
[0160]
2、对于大于1的正整数i,矩阵是代码c的码字;
[0161]
其中,b
t
是b的转置矩阵。
[0162]
对该半无限序列的编码是利用代码c的编码过程,逐矩阵地连续编码。即,将矩阵和有效荷载的26966个比特用作码字的信息比特,然后得到1934个奇偶校验比特。有效荷载比特和所获得的奇偶校验比特可以形成矩阵bi。
[0163]
实施例2:
[0164]
实施例2基于实施例1。
[0165]
里德所罗门[544,514,31]
1024
代码用于不同的标准,也称为kp4代码。令为通过对kp4打孔最后7个校验符号得到的[537,514,25]
1024
代码。
[0166]
考虑集合和实施例1中描述的空间耦合码。该代码可以被认为是170
×
170二进制矩阵的的半有限序列每个块bi由26966个信息比特和1934个奇偶校验比特组成。考虑对代码进行编码可以分两步完成:首先,形成的5个码字并用bi的信息比特填充它们的二进制图像,其余116个比特由零填充;第二,获得如实施例1的1934个奇偶校验比特。不需要通过信道传输116个零信息比特。代码的块的信息比特中丢失的116个零的位置对接收器来说是已知的。
[0167]
实施例三:
[0168]
令gel码c为由4个内码和3个外码构成的在gf(128)上的长度为2646、维数为2573的线性码。代码c的码字c可以被认为是在gf(128)上的126
×
21矩阵。
[0169]
令gel码c的4个内码中的2个码位为在gf(128)上的长度为126的里德所罗门代码,并令其他码相同且为零码。即,是带有生成多项式g0(x)=1的[126,126,1]
128
相同的代码或循环代码;是带有生成多项式的[126,125,4]
128
循环里德所罗门码;是带有生成多项式的[126,124,5]
128
循环里德所罗门代码;并且是在gf(128)上的长度为126的零码,其中,α是gf(128)的本原元。
[0170]
令gel的外码为在gf(128)的不同扩展上的长度为21的代码。即,是在gf(1283)上的零码,是在带有生成多项式的gf(128)上的[21,11,11]
128
循环里德所罗门代码,其中,是gf(128)的本原元,并且最后一个是在gf(128
122
)上的相同代码。可以用作纠错码,对于该码,需要一些非平凡的编码和解码过程。所以,仅出于正式描述的原因,需要和代码。
[0171]
令校验矩阵hc为以上讨论的形式(4),即:
[0172][0173]
因此,有m1=3,m2=1,m3=122。
[0174]
本文中,gel码c的每列码字c是通过构造的代码的码字。而且,h2和gel码字c矩阵相乘是rs码的码字。
[0175]
对代码c的解码可以分为3个步骤:
[0176]
1、由的解码器对列进行解码;
[0177]
2、通过h2和c矩阵相乘获得的字,然后由的解码器对该字进行解码;
[0178]
3、利用先前步骤的解码结果,由的校验子解码器对一些列进行解码。
[0179]
值得注意的是,第一解码步骤的列的解码失败可以用作信号以擦除与第二解码步骤的解码的列编号相同的符号编号。解码中的错误和/或擦除值是关于h2奇偶校验矩阵的列的校验子值。由于矩阵h2和h1形成代码的奇偶校验矩阵,所以可以使用利用以上呈现的第一和第二解码步骤的这些矩阵计算出的校验子值来由的校验子解码器对列进行解码。
[0180]
考虑在gf(128)上的63
×
63矩阵的半无限序列使得
[0181]
1、矩阵b1为零矩阵;
[0182]
2、对于大于1的每个正整数i,矩阵可以分成代码c的3个码字,如下:前21列(从1到21)形成c的第一个码字,第二个21列(从22到42)形成c的第二个码字,矩阵的最后21列(从43到63)形成c的第三个码字;
[0183]
其中,b
t
是b的转置矩阵。
[0184]
以上描述的在gf(128)上的63
×
63矩阵的所有可能的半无限序列形成空间耦合码。考虑对空间耦合码的编码是利用代码c的编码过程,逐矩阵地连续编码。即,矩阵和有效荷载的在gf(128)上的3750(=1250
·
3)个符号用作3个gel码字的信息符号,然后得到对于大于1的任何正整数i的219(=73
·
3)个校验符号。有效荷载和获得的校验符号形成矩阵bi。
[0185]
实施例4:
[0186]
实施例4基于实施例3。
[0187]
令c为实施例3中描述的在gf(128)上的长度为2646、维度为2573的gel码。
[0188]
考虑gf(128)上的63
×
21矩阵的半无限序列将每个矩阵bi分成大小为21的3个矩阵b
i,1
,,b
i,2
和b
i,3
,使得
[0189]
将函数f(x,y)固定如下:对于任何正整数x,f(x,1)=7,f(x,2)=5且f(x,3)=3。对于任何正整数x,固定函数p(x,y),例如p(x,1)=3,p(x,2)=2且p(x,3)=1。然后,空间耦合码构造如下:
[0190]
1、矩阵b1,b2,

,b7是零矩阵;
[0191]
2、对于大于7的每个正整数i,矩阵是c的码字;
[0192]
其中,b
t
是b的转置矩阵。
[0193]
以上描述的在gf(128)上的63
×
21矩阵的所有可能的半无限序列形成考虑的空间耦合码。对代码的编码是利用代码c的编码过程,逐矩阵地连续编码。即,对于大
于7的每个正整数i,矩阵和以及有效荷载的在gf(128)上的1250个符号用作gel码字的信息符号,然后得到73个校验符号。有效荷载和获得的校验符号形成矩阵bi。
[0194]
图10示出了根据本公开实施例的解码设备200。具体地,解码设备200用于使用空间耦合码102,对一序列已编码的符号块201进行解码,其中,至少一个gel码用作空间耦合码102的分量码。
[0195]
解码设备200对接收到的fec已编码的符号块进行解码。使用在编码器侧使用的相同空间耦合码102,对在解码器侧接收到的符号块进行解码。即,至少一个gel码用作空间耦合码102的分量码。应该注意的是,先前描述的两个实施例的解码过程都如图3所示。
[0196]
图11示出了根据本公开实施例的编码方法1100。具体地,方法1100可以由图8所示的编码器设备100执行。编码方法1100包括步骤1101,使用空间耦合码102,对数据符号101的流进行编码,其中,至少一个gel码用作空间耦合码102的分量码。
[0197]
图12示出了根据本公开实施例的解码方法1200。具体地,方法1200可以由图10所示的解码器设备执行。解码方法1200包括步骤1201,使用空间耦合码102,对一序列已编码的符号块201进行解码,其中,至少一个gel码用作空间耦合码102的分量码。
[0198]
基于可以纠正多达2个错误的bch码的传统阶梯具有较高的错误平层。根据gel结构,设计的卷积阶梯状的gel码每列可以纠正多达2个错误,在一些列中可以纠正多达3个错误。
[0199]
如图13所示,得到的fec具有较低的错误平层和更好的性能曲线斜率。注意,两个fec具有相同的开销和时延。错误平层水平与解码算法的时延无关。
[0200]
此外,阶梯gel适用于高速率且非常低时延的构造,这是阶梯bch和gel分别不可达到的。让我们设置以下要求:时延小于174kbit,吞吐量为800gbp,开销为9%,输出比特误码率outber为1e-15。经典的阶梯bch需要较大的窗口尺寸,以避免性能不佳。阶梯gel可以满足所有要求(参见表2和图14)。
[0201]
表2-阶梯bch和阶梯gel的性能和错误平层水平
[0202][0203]
性能是通过输出ber将软件模拟结果外推至1e-11来获得。
[0204]
比较阶梯码和阶梯gel码的其他示例。这些代码的开销约为6.67%。具体地,阶梯gel码是指具有gel分量码的阶梯构造。如表3和图15所示,可以看出,在大多数情况下,阶梯
gel表现出更好的性能。
[0205]
表1-阶梯bch码和阶梯gel码的性能和时延
[0206][0207]
综上所述,本公开的主要思想是使用基于通过至少一个gel码用作分组码(分量码)构造的空间耦合码的前向纠错。可以看出,任何空间耦合gel码都可以被看作是某个空间耦合码的子码,空间耦合的方法和b1与分量码相同。
[0208]
本公开已经结合各种作为示例的实施例以及实现进行了描述。但本领域技术人员通过实践所请求保护的本公开,研究附图、本公开以及独立权项,能够理解并获得其它变体。权利要求和说明书中,术语“包括”不排除其他元件或步骤,并且不定冠词“一”或“一个”不排除多个。单个元件或其他单元可以实现权利要求中记载的若干实体或项目的功能。在相互不同的从属权利要求中记载某些措施这一事实并不表示这些措施的组合不能用于有利的实现中。
[0209]
此外,根据本公开实施例的任何方法可以在具有代码装置的计算机程序中实现,在由处理装置运行时使得该处理装置执行该方法的步骤。该计算机程序包括在计算机程序产品的计算机可读介质中。计算机可读介质可以基本上包括任何存储器,例如,rom(read-only memory,只读存储器)、prom(programmable read-only memory,可编程只读存储器)、eprom(erasable prom,可擦除prom)、闪存、eeprom(electrically erasable prom,电可擦除prom)或硬盘驱动。
[0210]
此外,本领域技术人员认识到,编码设备100的实施例包括以例如功能、装置、单元、元件等形式的必要通信能力,用于执行解决方案。其他此类装置、单元、元件和功能的示例是:处理器、存储器、缓冲器、控制逻辑、编码器、解码器、速率匹配器、降速匹配器、映射单元、乘法器、决策单元、选择单元、开关、交织器、解交织器、调制器、解调器、输入端、输出端、天线、放大器、接收器单元、发射器单元、dsp、格码调制(trellis-coded modulation,tcm)编码器、tcm解码器、电源单元、馈电装置、通信接口、通信协议等,这些均被适当地布置一起用于执行本解决方案。
[0211]
特别地,编码设备100的处理器可以包括例如中央处理单元(central processing unit,cpu)、处理单元、处理电路、处理器、专用集成电路(application specific integrated circuit,asic)、微处理器或者可以解释和执行指令的其他处理逻辑中的一个或多个实例。因此,表述“处理器”可以表示包括多个处理电路的处理电路,例如,上述中的任何、一些或全部处理电路。处理电路还可以执行用于输入、输出和处理数据的数据处理功能,包括数据缓冲和设备控制功能,例如呼叫处理控制、用户界面控制等。
[0212]
最后,应当理解,本公开不限于上述实施例,还涉及和包括所附独立权利要求保护范围内的所有实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献