CN115720700A - 用于光通信系统的前向纠错的功率高效设计的方法和装置 - Google Patents

用于光通信系统的前向纠错的功率高效设计的方法和装置 Download PDF

Info

Publication number
CN115720700A
CN115720700A CN202180046168.4A CN202180046168A CN115720700A CN 115720700 A CN115720700 A CN 115720700A CN 202180046168 A CN202180046168 A CN 202180046168A CN 115720700 A CN115720700 A CN 115720700A
Authority
CN
China
Prior art keywords
memory
bits
layer
error correction
symbols
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180046168.4A
Other languages
English (en)
Inventor
M·托尔巴蒂安
A·尼古列斯库
H·H·孙
M·德黑兰尼
K-T·吴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yingfeilang Co
Original Assignee
Yingfeilang Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yingfeilang Co filed Critical Yingfeilang Co
Publication of CN115720700A publication Critical patent/CN115720700A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • H03M13/235Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2921Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2742Irregular interleaver wherein the permutation pattern is not obtained by a computation rule, e.g. interleaver based on random generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Optical Communication System (AREA)

Abstract

根据本公开的另一方面,先前编码的数据被存储在存储器中,并且编码器访问输入数据和先前编码的数据以生成新的编码数据或新的码字。每个码字都存储在存储器的一行中,并且对于每个新生成的码字,每个先前存储的码字都被移位到存储器的相邻行。在一个示例中,存储器被描绘为包括位的行和列的多个块。当生成新的码字时,从存储器的随机选择的块中读取存储器中随机选择的位列并提供给编码器。以这种方式减少了访问存储器的次数并且降低了功耗。

Description

用于光通信系统的前向纠错的功率高效设计的方法和装置
相关申请的交叉引用
本申请根据35U.S.C.第119(e)节要求于2020年5月21日提交的美国临时申请序号63/028,449的权益,其全部内容通过引用并入本文。
背景技术
前向纠错(FEC)是一种减少通过不可靠和/或嘈杂的通信信道传输数据时的错误的方法。例如,光通信系统使用前向纠错来减少传输错误。前向纠错涉及通过向数据添加冗余来编码数据以便在通信信道上传输。前向纠错技术可能涉及:(1)接收用于通过通信信道传输的数据位;(2)通过使用纠错码对数据位进行编码以从数据位生成奇偶校验位;以及(3)通过通信信道传输数据位和奇偶校验位二者。由于奇偶校验位是从数据位生成的,因此数据位和奇偶校验位的传输一起提供了传输信息中的一定程度的冗余,这又允许从传输期间可能发生的错误中恢复。
以前,“无错误传输”等同于大约1e-15的误码率。然而,光通信系统的最新进展已使数据速率高达每波长每秒800吉比特。在这样的速率下,并且在误码率为1e-15的情况下,平均每20分钟可能出现一个误码,这在许多应用中可能是不可接受的。因此,可能需要具有低错误底限(error floor)的更强的FEC来保证在合理的时间间隔内稳定且可靠的连接。
此外,纠错码性能通常基于以下程度来确定:码促进数据速率在线性加性白高斯(AWGN)信道或光纤上接近香农极限并因此最大化信号范围的程度。尽管光纤链路被认为是一种非线性通信介质,但出于评估纠错码的目的,所有线性和非线性损伤(impairment)都假定在信号所携带的数据序列到达FEC解码器之前得到均衡或补偿。
除了上述两个性能度量之外,低FEC功耗通常是一个期望的特征,因为FEC在相干传输芯片中可能消耗大量功率。
实现低功耗和良好性能通常难以实现。
发明内容
根据本公开的一个方面,提供了一种包括存储器的前向纠错编码器。存储器的第一部分被描绘成包括多个块,使得多个块中的每一个都包括多个列的第一位,并且存储器的第二部分包括多个行。多个行中的每一行包括第二位。此外,前向纠错编码器包括编码器电路,其可操作以基于第一位中的所选择的第一位、第二位中的所选择的第二位和提供给前向纠错编码器的输入数据位来生成奇偶校验位,其中第一位中的所选择的第一位存储在多个列中的随机选择的列中,多个列中的随机选择的列在多个块中的随机选择的块中。
应当理解,前面的一般描述和下面的详细描述都只是示例性和解释性的,而不是对要求保护的本发明的限制。
包含在本说明书中并构成本说明书的一部分的附图图示了一个(多个)实施例并且与说明书一起用于解释本发明的原理。
附图说明
图1a说明了与本公开的一个方面一致的光通信系统的框图;
图1b说明了与本公开的另一方面一致的可替代的光通信系统的框图;
图2a说明了与本公开的一个方面一致的发射器的示例;
图2b说明了与本公开的另一方面一致的表示光副载波(subcarrier)的功率谱密度图的示例;
图3是与本公开一致的数字信号处理器的框图;
图4是线性块码的示意图;
图5示出了与本公开的一个方面一致的第1层和第2层符号的示例;
图6示出了与本公开的另一方面一致的第1层和第2层符号的另一个示例;
图7-9示出了与本公开的附加方面一致的存储器的示例;
图10示出了与本公开的另一方面一致的FEC编码器的示例;以及
图11示出了与本公开的附加方面一致的存储器和相关联的转置电路的示例。
具体实施方式
根据本公开的一个方面,提供了一种纠错码,其具有通用乘积码(generalizedproduct codes,GPC)的特征等,以实现良好的性能但具有合理的复杂性。此处公开的码的最小汉明距离的下限有助于更容易的码设计以实现期望的错误底限水平。可以在卷积格式中采用迭代解码以提供接近香农极限的改进的阈值性能。解码器也可以变得不那么复杂,因为优化或阈值性能通常在几次迭代内获得。
根据本公开的另一方面,先前编码的数据存储在存储器中,并且编码器访问输入数据和先前编码的数据二者以生成新的编码数据(encoded data)或新的码字。每个码字都存储在存储器的一行中,并且对于每个新生成的码字,每个先前存储的码字都被移位到存储器的相邻行。在一个示例中,存储器被描绘为包括位的行和列的多个块。当生成新的码字时,从随机选择的存储器块中读取存储器中的随机选择列的位并将其提供给编码器。以这种方式减少了访问存储器的次数并且降低了功耗。
现在将详细参考本公开的当前实施例(示例性实施例),其示例在附图中示出。在可能的情况下,贯穿附图将使用相同的附图标记来指代相同或相似的部分。
在讨论与本公开一致的编码器和存储器之前,接下来将参考图1a、图1b、图2a、图2b和图3描述其中可以采用这种编码器和存储器的光通信系统的示例。
图1a是说明性光通信系统100的框图,在此描述的技术的一些实施例可以在其中运行。光通信系统100可以被配置为高速传输数据。例如,在一些实施例中,光通信系统100可以配置成以高达100Gb/s、200Gb/s、400Gb/s、600Gb/s、800Gbs、1Tb/s、2Tb/s、5Tb/s、10Tb/s的速率、或在100Gb/s和10Tb/s之间的任何速率传输数据。
光通信系统100包括传输节点108,其被配置为:(1)接收用于传输的数据;(2)使用前向纠错对数据进行编码以得到编码数据;以及(3)通过光通信路径111传输编码数据(例如,通过使用适当的调制方案)。传输节点108可以以任何合适的方式执行前向纠错编码,并且在一些实施例中,可以根据此处描述的技术的一些实施例执行前向纠错。
光通信系统100还包括接收器109,其被配置为:(1)通过光通信路径111接收数据(例如,至少部分地通过解调传输的数据);(2)对编码后的数据进行解码以得到数据;以及(3)输出解码后的数据。
图1b说明了与本公开一致的聚合网络101的示例,其中主节点110可以与多个次节点112-j到112-m通信,这些次节点有时可以单独地称为次节点112或统称为次节点112。在一个示例中,次节点112远离主节点110。主节点110可以在下行方向上将光副载波(如下面更详细地描述)传输到光通信路径111上,该光通信路径111就像每个光通信路径113-j至113-m一样可以包括一段或多段光纤,以及一个或多个光放大器、可重配置分插复用器(reconfigurable add-drop multiplexer,ROADM)或其他光纤通信设备。分离器(splitter)114可以耦合到光通信路径111的一端以接收光副载波并且经由光通信路径113-j到113-m中的相应一个将每个副载波的功率分离部分提供给次节点112-j至112-m中的对应一个。
如图1b进一步所示,主节点110具有接收n Gbit/s数据(例如,数据流)以传输到次节点112的数据容量。每个次节点112可以接收主节点110的数据输入的一部分并将其输出给用户或客户。在这个示例中,次节点112-j、112-k、112-1和112-m分别输出j Gbit/s、kGbit/s、lGbit/s和m Gbit/s的数据(数据流),由此j、k、l和m的总和可以等于n(其中j、k、l、m和n是正数)。
图2a说明了发射器202,其可以在发射节点108或主节点110中提供以向一个或多个接收器提供光信号,如上所述。发射器202包括发射器DSP(TX DSP)902和D/A和光学块901。在该示例中,DSP 902接收输入数据流D0至D7,尽管可以提供很少或更多的输入数据流。基于输入数据流,DSP 902可以向D/A和光学块901提供多个输出,包括数模转换(DAC)电路904-1至904-4,其将从DSP 902接收的数字信号转换成对应的模拟信号。D/A和光学块901还包括驱动电路(driver circuit)906-1到906-2,它们从DAC 904-1到904-4接收模拟信号,并调整其电压或其他特性,以将驱动信号提供给调制器910-1至910-4中的对应的调制器。
D/A和光学块901还包括调制器910-1至910-4,例如,调制器中的每一个可以是马赫-曾德尔调制器(MZM),其调制来自激光器908的光输出的相位和/或幅度。如图2a进一步所示,从激光器908输出的光(也包括在块901中)被分离,使得光的第一部分被提供给第一MZM对,包括MZM 910-1和910-2,光并且的第二部分被提供给第二MZM对,包括MZM 910-3和910-4。光的第一部分进一步分离为第三部分和第四部分,使得第三部分由MZM 910-1调制以提供调制光信号的X(或TE)偏振分量的同相(I)分量,并且第四部分由MZM 910-2调制并馈送到移相器912-1以将这种光的相位移动90度,以便提供调制的光信号的X偏振分量的正交(Q)分量。类似地,光的第二部分进一步分为第五部分和第六部分,使得第五部分由MZM910-3调制以提供调制光信号的Y(或TM)偏振分量的同相(I)分量,并且第六部分由MZM910-4调制并馈送到移相器912-2以将这种光的相位移动90度以提供调制的光信号的Y偏振分量的正交(Q)分量。
MZM 910-1和910-2的光输出被组合以提供包括I分量和Q分量的x偏振的光信号,并被馈送到方框901中提供的偏振光束组合器(PBC)914。此外,MZM 910-3和910-4的输出被组合以提供被馈送到进一步在方框901中提供的偏振旋转器(polarization rotator)913的光信号,偏振旋转器913旋转这种光信号的偏振以提供具有Y(或TM)偏振的调制的光信号。Y偏振的调制的光信号也被提供给PBC 914,PBC 914组合x和Y偏振的调制的光信号以将偏振复用(“双偏振(dual-pol)”)调制光信号提供到光纤916上,例如,光纤916可以被包括作为光通信路径111中的一段光纤。
在一个示例中,从D/A和光学块401输出的偏振复用的光信号包括副载波SC0-SC07(参见图2b),使得每个副载波具有x和Y偏振分量以及I和Q分量。此外,每个副载波SC0到SC7可以关联于或对应于DSP输入D0到D7中的相应一个。每个光副载波可以是奈奎斯特副载波,它是一组光信号,每个都携带数据,其中(i)组内每个这样的光信号的频谱充分地不重叠,使得光信号在频域中保持彼此可区分,并且(ii)这组光信号是通过调制来自单个激光器的光而生成的。通常,每个副载波可以具有至少等于奈奎斯特频率的光谱带宽,如由这样的副载波的波特率所确定的。
图3更详细地显示了DSP 902。在一个示例中,DSP 902包括多个FEC编码器1002-0到1002-7,每个FEC编码器接收输入数据流D0到D7中的对应一个。FEC编码器1002-0到1002-7中的每一个都可以基于本文公开的技术对接收到的数据流进行编码,以将编码数据提供给处理电路3004,处理电路3004又将输出提供给DAC 904。每个光副载波SC0到SC7都承载指示来自FEC编码器1002-0到l002-7的编码输出的数据。
接下来将参考图4-11描述与本公开的一个方面一致的FEC编码。
考虑具有n、k和t参数的线性块码C(n,k,t),,如图4所示,它说明了乘积码的一般结构。n是码字的长度,k是输入符号序列的长度,并且d是码的最小汉明距离。乘积码(PC)由两个线性分量块码Cv(nv,kv,tv)和Ch(nh,kh,th)组成,它们在垂直方向和水平方向二者上保护大小为kv×kh的信息符号块。Cv首先应用于信息块的每一列,以构建大小为nv×kh的扩展符号块。然后将Ch应用于新块的每一行,以构建大小为nv×nh个符号的PC的最终码字。可以首先应用水平编码,然后应用垂直编码。结果不会有任何差异。在一个示例中,相同的分量码可以用于垂直方向和水平方向二者上。在一个示例中,所得乘积码(PC)的最小汉明距离等于两个分量码的汉明最小距离的乘积dmin=dv×dh
当应用行和列的迭代解码时,Turbo乘积码(TPC)(或块Turbo码(BTC))是PC的简单扩展。TPC是相干光通信中已经使用的主要的码类别之一。
编织块码(braided block code)可能是通过连续块/码字的空间耦合的PC到卷积结构的第一扩展,同时保留了PC的主要特性。这可能会提高性能并将最小汉明距离增加到超越其他PC可达到的距离。此外,它们实现在两个分量码字之间设计不同的交织器(interleaver)。交织器增益有助于提高阈值性能并进一步缩紧与香农极限的间隙(gap)。
关于连续交织的BCH(CI-BCH)码,输出码字播放(play)的一半符号构成垂直码字,并且水平符号构成输出码字的剩余符号。接下来将参照图5描述CI-BCH码。
假设0为当前时钟周期,-1代表早一个时钟周期,并且-2代表-1之前的时钟周期。对于时钟周期0中的码字,一半符号来自同一时钟周期,而另一半来自于:来自较早时钟周期的编码符号。因此,每个分量码字包括两部分。第一部分来自存储,由已经编码一次的符号组成(从时钟周期-1到-(L-1)),因此当前码字是它们的第二层保护。我们称这些为“第2层”符号。每个码字的第二部分包括新的信息符号和生成的奇偶校验位。我们将这部分称为“第1层”符号,因为它们在当前码字编码之前只受到一次保护。编码过程完成后,第1层符号作为时钟周期0中的编码符号存储在存储器中。它们将在以后的时钟周期中用作第2层符号。错误!未找到参考源。图6图示了CI-BCH码族的码字的结构。
与本公开一致,第1层和第2层符号之间的交织被设计为最小化硬件实现的复杂性,例如特别是为了便于向外部存储器读取以及从外部存储器写入。
在此处公开的代码结构中,每个位由两个分量码字保护,并且在编码器中进行的编码基于广义卷积乘积(GCPC)码。分量码可以是任何线性块代码,例如来自Bose-Chaudhuri-Hocquenghem(BCH)码族的码。任何两个分量码字的交集至多为一位,以保证像TPC码那样的最小性能度量。每个分量码字包括两部分。第一部分来自已被编码符号的存储器,并且因此当前的码字是它们的第二层保护,“第2层”符号。每个码字的第二部分包括新的信息符号和生成的奇偶校验,“第1层”符号。在编码过程完成之后,然后可以将第1层符号存储在存储器中。在一个示例中,可以实施以下标准:
(1)两个码字的交集至多为一个符号。因此,码字第2层中的每个符号都应来自已存储在存储器中的不同码字。如果第1层符号按行存储在存储器中,则应以从每行读取最多一个符号的方式从存储器中读取第2层符号。例如,通过从存储器按列读取位,第2层的每个单独符号都来自不同的第1层符号序列。
(2)每个符号仅由两个不同的码字保护。因此,每个符号在一个码字中应该作为第1层符号只出现一次,并且其在另一个码字中应该作为第2层符号只出现一次,该另一个码字与第一码字没有共有的其他符号。
在另一示例中,可以最小化具有最小汉明权重的错误模式的多样性。
与本公开的另一方面一致,提供了一种架构,该架构简化了将数据馈送到编码器的存储结构或存储器并且最小化了对这种存储器的数据访问率。
考虑速率R和开销等于(l/R-1)的码,以及任意线性块分量码C(n,k,d),其中d是码的最小汉明距离。如果每个码字的一半编码符号取自存储器(第2层符号),则码率和开销百分比计算如下
Figure BDA0004022540270000041
如图7所示,提供了具有足以存储L×(n/2)个符号的大小的存储结构或存储器700。L是码的存储器长度,使得先前编码的码字的跨度涉及当前码字的编码。L>n/2满足交织器设计要求。n是以符号表示的码字长度,并且n/2是用于存储码字的第1层符号的存储结构或存储器的宽度。存储器可以被描绘成P(行)×Q(列)个象限或块B,每个象限或块具有大小W×W个符号,使得每个块的宽度和长度在该示例中是w个符号。因此,n/2=Q×W,且L=P×W。
存储器700的每一行可以包括W×n/2个符号并且与在一个时钟周期中处理的W个分量码字相关联。在每个时钟周期中,从输入序列或流(例如D0)接收编码W个分量码字所需的新数据符号,并与W×(n/2)个第2层符号配对。
接下来将描述与本公开一致的第1层和第2层符号的选择。令c表示从0到W-1的数字的随机排列。c(i),i=0,...,W-1,是c的第i个条目。对于码字i,i=0,...,W-1,可以执行以下步骤:
步骤1:可以在0到P-2范围内随机选择Q个不同的数字。这些数字将用作最终选定象限或块的行索引。
步骤2:然后选择数字0,...,Q-1的随机排列。这些数字将用作最终选定象限的列索引。
步骤3:将第一随机集合中的数字和第二随机集合中的数字随机配对,以提供Q对随机数,表示P×Q象限存储结构中Q个随机象限或块B的笛卡尔坐标。
步骤4:然后可以选择Q个选定象限的长度为W个符号的列c(i)并将其连结以形成第2层符号。
步骤5:第2层符号和来自输入序列的新符号被馈送到编码器电路以生成奇偶校验符号。新符号加上来自第1层符号的所生成的奇偶校验位作为行块P-1的第i行存储到存储器700(参见图7)中。
尽管步骤1中的随机集数在0到P-2的范围内,但第2层符号可以从较小的集合中选择,以强制第1层和第2层符号之间的最小固定距离。这可以通过以下方式来完成:从存储器700的顶部X(X<P-2)行(TR)块中选择第2层符号,同时第1层符号被放置在存储器700的底部行(BR)块(P-l)中。在这种情况下,第1层和第2层符号之间将存在P-X行块间隙。
在一个示例中,存储器700以环绕方式实现,并且使用读取指针和写入指针来跟踪第1层和第2层符号的位置。这样执行是为了避免每个时钟周期都将存储结构的所有符号在一个方向上移位,这会消耗更多的功率。
以下示例说明了本公开的概念。
示例1:假设Q=1,P=2,L=n,并且W=n/2。作为第1层符号的每一行i,i=L/2,...L-1,与存储器700上半部分的一列j=0,...n-1配对。见图8。
示例2:假设W=31,n=248,P=9,并且Q=4,下表1示出了第2层符号的位置。表1的每一行对应于一个码字i-cw=0,...,30。每个条目都包含三元对数字(a triple pair ofnumbers)。前两对是存储器700中31x31块B中的选定的一个块B的行和列索引。第三个条目是选定块B内的列索引。每个码字的编码完成后,第1层符号和相关联的奇偶校验或奇偶校验位或符号存储到存储器700中。下面的表2列出了每个码字的第1层符号的位置。表2的每一行对应于一个码字i_cw=0,…,30。表2的每个条目还包括三元对数字。在这里,每个条目中的前两个数字指向所选象限的坐标。第三个指向所选象限内行的索引。在这个示例中,假设第2层符号是从存储器结构的4个连续行块中选择的。由于P=9,因此有4个行块,它们构成了第1层和第2层符号之间的间隙。图9图示了与本公开一致的存储器700和第1层和第2层符号的随机布置的进一步示例。从0到30的码字对应于具有不同灰色阴影的线。例如,第2层位被安排在随机分布的列中,其中一些列在图9中被标记为“CB”。如上所述,这些列包含在存储器700的各个块B中。另一方面,第1层位在行中提供,例如存储器700的行IR。这样的第1层位被馈送到编码器。此外,来自随机选择的块中随机选择的列的第2层位以及输入数据位被馈送到编码器,如下面更详细地讨论的。
Figure BDA0004022540270000061
接下来将参照图10描述与本公开一致的一个FEC编码器1002的操作。应当理解,每个FEC编码器1002可以具有与图10中所示的结构类似的结构。在图10所示的示例中,X2位是包含在数据流D0中的位,并作为新符号输入到编码器1022。此外,编码器1022从例如存储器700的行R1到R4之一接收第1层符号。第1层符号包括X个数据位和相关联的P个奇偶校验位,它们是在前一个时钟周期期间生成的。在此示例中,第1层符号存储在行R1到R4中的相应行中,使得整行位被读出作为一些读出位RB。换言之,第1层符号从存储器700按行输出。
如图10进一步所示,第2层符号也被馈送到编码器1022。第2层符号包括随机选择的块B内的随机选择的位列C的位。在图10所示的示例中,随机选择的位列C1、C2和C3分别从随机选择的位块B1、B2和B3中提供,作为数据位XR,并且从随机选择的块B4中的列C4中随机选择的位作为第2层符号的奇偶校验位输出。应当理解,来自存储器700的或多或少的列和块的或多或少的数据位和奇偶校验位可以作为第1层和第2层符号输出。
基于第1层符号、第2层符号和新符号(X2位),新奇偶校验位P2与新符号(X2位)一起从编码器输出。X2位和P2位共同构成提供给图3的处理电路3004的码字。
如图10进一步所示,从编码器1022输出的连续生成的码字被馈送到写电路W,写电路W将码字作为写位(WB)提供给存储器700的一行。在一个示例中,初始码字可以在第一个时钟周期写入行R1,并且在下一个时钟周期,从编码器1022输出的下一个(或第二)码字被写入行R1并且初始码字在存储器700中被向上移位并存储在行R2中。从编码器l022输出的第三码字然后被写入行R1,第二码字被移位到行R2,并且初始码字被移位到行R3。因此,随着新的码字被添加到存储器700的行R1,先前存储的码字在存储器700中逐行向上移位。一旦位行或码字被移位到行R5和更高的行中,这样的码字可以包括位,如上所述,它们被随机选择为输出到编码器1022的第2层符号的一部分。这种选择可以由读取电路R中的随机数生成器RNG电路执行,该随机数生成器RNG电路在存储器700中提供随机生成的地址RA以用于访问第2层符号的位。可替代地,可以采用伪随机数生成器电路(PNRG)来选择构成第2层符号的位地址。第2层符号的位也可以构成从存储器700读出的一些位RB。在该示例中,由于第2层符号是从位列输出的,所以这些位被认为是按列输出的。
虽然如果满足要求的条件,第2层符号的位可以从存储器700中的任何位置输出,但是在任意设计和其中考虑实现方面的设计之间实现复杂度和功耗存在大的差异。存储器700可以使用移位寄存器或随机门来实现。然而,在接收器中提供的解码器中针对需要多次迭代的码具体使用移位寄存器或随机门可能会增加成本。
可替代地,存储器700可以实现为随机存取存储器(RAM)。在这种情况下,如果第1层和第2层符号被安排,使得每次访问存储器700时,一组符号(不仅仅是一个)从存储器700读取或写入存储器700,则可以减少消耗的功率量。这是因为RAM的功耗与对RAM的访问速率直接相关。它也是读取/写入RAM的符号宽度的函数,但访问速率是确定RAM功耗的主要因素。
在某些情况下,存储在二维RAM 700中的符号是按行访问的。例如,对于大小为L×W个符号的RAM 700(参见图7),在行方向上一次(每次访问存储器)只能读取或写入几组(N)W个符号。因此,如果期望在列方向上的W个符号,则需要对RAM进行W/N次单独访问以收集所有需要的符号。
存储器700中的第2层符号通常不以与第1层符号相同的方向存储。如果第1层符号是行方向的,第2层符号是按列方向存储的。这在某些情况下可能会出现问题,因为可能需要W/N次单独调用或访问RAM来收集第2层符号的每个部分。然而,根据本公开的另一方面,优选地将第1层符号的位按列写入RAM 700。因此,当这些位被称为第2层符号时(在随后的行向上移位之后,如上所述),在一次调用中从RAM 700读取包括W个符号的每个部分。相应地,如图11所示,提供大小为W×(N×W)的转置缓冲电路1102以首先存储在当前时钟周期接收到的第1层符号,并且在每个时钟周期在行方向上写入到转置缓冲电路1102。一旦缓冲电路1102被填满,转置电路1103以按列的方式从缓冲电路1102中读取并且(转置的)数据或位从电路1103输出并写入到RAM 700。
评估前向纠错码性能的标准度量是净译码增益(NCG)。假设在加性高斯白噪声信道上进行二进制相移键控(BPSK)调制,NCG使用设计的码测量未译码传输和译码传输之间所需的Eb/N0的差异。对于码率R和二进制对称信道上的期望输出BER pout并且交叉概率为pin,以dB为单位的NCG定义为
NCG=dB10((Q-1(pout))2)-dB10((Q-1(pin))2)+dB10(R)
其中,dB10(·)=10log10(·),且
Figure BDA0004022540270000081
对于示例2中表示的特定码设计,W=31,L=279,n=248。二进制BCH码(255,239,5)扩展为(256,239,6)并缩短为(248,231,6)。FEC率为0.8629,并且FEC开销为15.89%。对于此FEC,当使用1、2和3次软解码迭代时,在1e-15的输出BER处分别实现10.5、11和11.2dB的NCG。在每种场景中,最后一个软解码器的输出都经过4次硬解码器迭代,以清除剩余的错误位。通过识别和去除停止集或停顿错误模式(stall error pattern),可以提高错误底限性能。
可以部署二进制块码的任何标准软解码技术。也可以部署两个纠错二进制BCH码的基于标准查找表的硬解码,并且可以使用扩展的奇偶校验位来降低误纠的概率。
考虑到说明书,其他实施例对于本领域技术人员将是显而易见的。说明书和实施例旨在仅被视为示例性的,其中本发明的真实范围和精神由所附权利要求指示。
以下是本文公开的发明构思的非限制性说明性实施例的多个列表:
1.一种前向纠错编码器,包括:
具有第一部分和第二部分的存储器,所述存储器的所述第一部分被描绘成包括多个块,所述多个块中的每一个包括多个列的第一位,并且所述存储器的所述第二部分包括多个行,所述多个行中的每一个包括第二位;以及
编码器电路,其能够操作以基于所述第一位中的所选第一位、所述第二位中的所选第二位和提供给所述编码器电路的输入数据位来生成奇偶校验位,
其中,所述第一位中的所选第一位存储在所述多个列中的随机选择的列中,所述多个列中的所述随机选择的列在所述多个块中的随机选择的块内。
2.根据说明性实施例1的前向纠错编码器,还包括随机数生成器,所述随机数生成器提供与所述多个列中的所述随机选择的列和所述多个块中的所述随机选择的块相关联的地址。
3.根据说明性实施例1的前向纠错编码器,还包括伪随机数生成器,所述伪随机数生成器提供与所述多个列中的所述随机选择的列和所述多个块中的所述随机选择的块相关联的地址。
4.根据说明性实施例1-3中任一个的前向纠错编码器,其中,所述编码器基于广义卷积乘积码(GCPC)生成所述奇偶校验位。
5.根据说明性实施例1-4中任一项所述的前向纠错编码器,还包括:
缓冲器,其存储所述第二位并且将所述第二位提供给多个转置电路,所述多个转置电路将所述第二位提供给所述存储器。
6.根据说明性实施例1-5中任一个的前向纠错编码器,其中,所述存储器包括随机存取存储器(RAM)。
7.根据说明性实施例1-6中任一个的前向纠错编码器,其中,所述输入数据位和奇偶校验位存储在所述存储器中。
本公开包括所描述的方面和优选特征的组合,除非明显不允许或明确避免这样的组合。

Claims (7)

1.一种前向纠错编码器,包括:
具有第一部分和第二部分的存储器,所述存储器的所述第一部分被描绘成包括多个块,所述多个块中的每一个包括多个列的第一位,并且所述存储器的所述第二部分包括多个行,所述多个行中的每一个包括第二位;以及
编码器电路,所述编码器电路能够操作以基于所述第一位中的所选第一位、所述第二位中的所选第二位和提供给所述编码器电路的输入数据位来生成奇偶校验位,
其中,所述第一位中的所选第一位存储在所述多个列中的随机选择的列中,所述多个列中的所述随机选择的列在所述多个块中的随机选择的块内。
2.根据权利要求1所述的前向纠错编码器,还包括随机数生成器,所述随机数生成器提供与所述多个列中的所述随机选择的列和所述多个块中的所述随机选择的块相关联的地址。
3.根据权利要求1所述的前向纠错编码器,还包括伪随机数生成器,所述伪随机数生成器提供与所述多个列中的所述随机选择的列和所述多个块中的所述随机选择的块相关联的地址。
4.根据权利要求1所述的前向纠错编码器,其中,所述编码器基于广义卷积乘积码(GCPC)生成所述奇偶校验位。
5.根据权利要求1所述的前向纠错编码器,还包括:
缓冲器,所述缓冲器存储所述第二位,并且将所述第二位提供给多个转置电路,所述多个转置电路将所述第二位提供给所述存储器。
6.根据权利要求1所述的前向纠错编码器,其中,所述存储器包括随机存取存储器(RAM)。
7.根据权利要求1所述的前向纠错编码器,其中,所述输入数据位和所述奇偶校验位存储在所述存储器中。
CN202180046168.4A 2020-05-21 2021-05-21 用于光通信系统的前向纠错的功率高效设计的方法和装置 Pending CN115720700A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063028449P 2020-05-21 2020-05-21
US63/028,449 2020-05-21
PCT/US2021/033656 WO2021237090A1 (en) 2020-05-21 2021-05-21 Methods and apparatus for power efficient design of forward error correction for optical communication systems

Publications (1)

Publication Number Publication Date
CN115720700A true CN115720700A (zh) 2023-02-28

Family

ID=76502828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180046168.4A Pending CN115720700A (zh) 2020-05-21 2021-05-21 用于光通信系统的前向纠错的功率高效设计的方法和装置

Country Status (6)

Country Link
US (1) US11646753B2 (zh)
EP (1) EP4140041A1 (zh)
CN (1) CN115720700A (zh)
AU (1) AU2021277394A1 (zh)
CA (1) CA3184451A1 (zh)
WO (1) WO2021237090A1 (zh)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849976A (en) * 1987-08-03 1989-07-18 Scs Telecom, Inc. PASM and TASM forward error correction and detection code method and apparatus
DE69223694T2 (de) 1991-07-18 1998-04-23 Canon Kk Kodierungs- und Dekodierungssystem zur Fehlerkorrektur
JPH07262031A (ja) 1994-03-17 1995-10-13 Toshiba Corp 誤り訂正符号化装置および誤り訂正符号化方法
US8103942B2 (en) 2007-05-24 2012-01-24 Fuji Xerox Co., Ltd. Data transmission apparatus, data transmission device, data reception device and data transmission system
JP5354979B2 (ja) 2007-07-12 2013-11-27 パナソニック株式会社 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器
US8065585B1 (en) * 2007-08-30 2011-11-22 L-3 Communications Corporation High data throughput turbo product encoder
KR101503058B1 (ko) 2008-02-26 2015-03-18 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
US8276047B2 (en) 2008-11-13 2012-09-25 Vitesse Semiconductor Corporation Continuously interleaved error correction
US8261167B1 (en) 2009-03-09 2012-09-04 Pmc-Sierra Us, Inc. Cyclically interleaved dual BCH, with simultaneous decode and per-codeword maximum likelihood reconciliation
JP5357993B2 (ja) 2012-03-23 2013-12-04 通研電気工業株式会社 誤り訂正が可能な符号化・復号化方式
US10201026B1 (en) * 2016-06-30 2019-02-05 Acacia Communications, Inc. Forward error correction systems and methods
US11476949B2 (en) * 2018-03-29 2022-10-18 Cable Television Laboratories, Inc. Systems and methods for coherent optics in an access network

Also Published As

Publication number Publication date
EP4140041A1 (en) 2023-03-01
US11646753B2 (en) 2023-05-09
AU2021277394A1 (en) 2023-01-05
CA3184451A1 (en) 2021-11-25
WO2021237090A1 (en) 2021-11-25
US20210367617A1 (en) 2021-11-25

Similar Documents

Publication Publication Date Title
JP6610329B2 (ja) 誤り訂正回路および光伝送システム
US20190149390A1 (en) Distribution matching for probabilistic constellation shaping with an arbitrary input/output alphabet
US20190334623A1 (en) Optical communication interface utilizing n-dimensional double square quadrature amplitude modulation
JP6298058B2 (ja) 部分的な2次符号化を用いる修正ビット・インターリーブ符号化変調を含むシステムおよび方法
US8176381B2 (en) Multidimensional turbo product codes and generalized low-density parity-check codes with component reed-solomon codes for optical transmission
CN105308867B (zh) 用于对数据进行调制以进行光通信的方法和系统
US9166728B2 (en) Nonbinary LDPC coded modulation without bandwidth expansion for high-speed optical transmission
US11038596B2 (en) Nonlinear tolerant super-Gaussian distribution for probabilistic shaping modulation
US9337935B2 (en) Coded modulation for small step-size variable spectral efficiency
CN104115435A (zh) 包括改进位交错编码调制的系统和方法
CN104620521A (zh) 与偏振关联的交织符号的光通信
Yang et al. 1-Tb/s large girth LDPC-coded coherent optical OFDM transmission over 1040-km standard single-mode fiber
JP2019534655A (ja) 可変スペクトル効率のための、円形のコンステレーションを有する振幅及び位相シフトキーイングを用いたコード化変調
US20160315637A1 (en) Turbo product coded modulation
CA2932715A1 (en) Coded modulation for small step-size variable spectral efficiency
CN103067120A (zh) 使用相干解码和交织的相干检测
CN111181651A (zh) 一种提高传输速率的四维编码调制系统
CN105122688A (zh) 使用正交调幅的光学通信接口
Liu et al. LDPC-coded BICM-ID based nonuniform signaling for ultra-high-speed optical transport
US9634803B1 (en) Optical subcarrier multiplex system with joint forward error correction coding
US11646753B2 (en) Methods and apparatus for power efficient design of forward error correction for optical communication systems
EP2341642B1 (en) Method for transmitting data on an optical channel
CN113644980B (zh) 编码调制、解调译码方法、装置及存储介质
US20220247496A1 (en) Super-symbol signaling in optical communication systems
Arabaci et al. Rate-adaptive nonbinary-LDPC-coded modulation with backpropagation for long-haul optical transport networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination