CN103959656A - 错误校正器编码和解码 - Google Patents

错误校正器编码和解码 Download PDF

Info

Publication number
CN103959656A
CN103959656A CN201280049940.9A CN201280049940A CN103959656A CN 103959656 A CN103959656 A CN 103959656A CN 201280049940 A CN201280049940 A CN 201280049940A CN 103959656 A CN103959656 A CN 103959656A
Authority
CN
China
Prior art keywords
original
variable
error
constraint
graph
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.)
Granted
Application number
CN201280049940.9A
Other languages
English (en)
Other versions
CN103959656B (zh
Inventor
让-克洛德·盖赫拉
卜拉欣·维斯拉蒂
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.)
Ao Lanzhi
Orange SA
Original Assignee
Ao Lanzhi
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 Ao Lanzhi filed Critical Ao Lanzhi
Publication of CN103959656A publication Critical patent/CN103959656A/zh
Application granted granted Critical
Publication of CN103959656B publication Critical patent/CN103959656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC 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/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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC 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/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
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/613Use of the dual code

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及用于编码和解码包含源数据(S)和冗余数据(R)的经编码数据的方法和装置,所述冗余数据(R)是通过在编码之后将错误校正器码应用到所述源数据上、实施包含采用其系统形式的单位矩阵和用于从源数据转换成冗余数据的可逆矩阵(P)的生成矩阵来获得,所述编码或解码(12)是基于泰纳(Tanner)图,所述泰纳图通过叠加所述错误校正器码的图和所述错误校正器码的对偶码的图将这些图合并在一起。

Description

错误校正器编码和解码
1.技术领域
本发明的领域为使用错误校正码的数据编码和解码。
更具体地说,本发明涉及一种新颖的技术,所述技术用于对源数据进行编码、传递包含源数据和冗余数据的经编码数据包或经编码数据流,所述源数据和冗余数据既定在(例如无线电、光学或电学类型的)传输信道上进行传输或存储在硬件媒体中。本发明还涉及用于解码的对应的技术,所述技术尤其使校正传输信道中固有的传输错误成为可能。
本发明尤其可以应用于以下领域中:
-通过电线电信的信息传输,诸如使用ADSL标准的通信、或通过光纤或自由空间光学的光学电信;
-在空间和地面无线无线电通信中的信息传输,诸如TNT数字电视系统、DAB数字无线电系统、GSM或UMTS电话、WiFi无线电网络以及还有未来通信系统,诸如未来DVB、4G、LTE标准、未来因特网或车辆、物体和通信机器之间的信息的传输等;
-信息源的压缩和解压缩;
-在CDMA系统中被称为扰码序列的序列的生成和检测;
-在用于构成硬盘驱动器或计算机随机存取存储器或USB类型接口记忆棒等的磁性、光学、机械或电学大容量存储器中的信息存储;
-在微处理器的集成电路中或在计算机中的计算期间的信息校正;
-通过基于神经网络的人工智能进行控制的机器人技术;
-等等。
2.背景技术
许多编码技术用于在解码时通过从源数据中生成冗余数据来校正传输错误。
因此,错误校正码通常通过以下进行定义:
-长度n,对应于在编码器的输出处的数据(具有由k个源数据和(n-k)个冗余数据形成的长度n的码字);
-多个有效负载信息位或符号k,对应于在编码器的输入处的数据,所述数据也被称为源数据;以及
-最小距离dmin
码的最小距离dmin对应于两个码字之间的最小距离。它使确定码在一个码字中可以校正的错误的最大数目成为可能。
因此,最小距离dmin越大,错误校正码越好,因为它实现了(dmin-1)个错误符号的检测和的校正(其中运算符指定整数部分)。
在实现传输错误的校正的编码技术中,就对具有较大长度n的码的错误校正来说,涡轮码和LDPC(低密度奇偶校验)码具有较高的性能,其中n约为至少数千位(n>1000)。
相反,涡轮码和LDPC码对于较短的码n具有较低的性能(n<1000)。
这部分由于以下事实:当循环的最小长度减小时,在解码处使用的置信传播算法或此算法的变体变得次优。可以回想起,循环对应于表示约束的泰纳图(Tanner graph)中的闭合路径,字的符号必须满足所述约束以构成码的字。泰纳图的概念是为人所熟知的并且特别在R.M.Tanner(R·M·泰纳)的论文中进行描述,所述论文为“通过图进行分析的最小距离界限”,IEEE信息论会刊,第47卷,2001年2月。
此种置信传播算法因此对具有非常密集的生成矩阵(即,具有许多处于1的位)的码并且因此对具有优良的相对最小汉明距离δ=dmin/n的码是效率不高的。
此外,严格最佳穷举解码算法是难以获得的,因为它具有在O(2k)中的指数复杂性并且因此成本非常高,其中k为码的维度。此外,它不能实现较小长度码的实时编码。
此外,对于工业规模的使用,就硬件的成本和消耗的能量来说,错误校正码的最优化包括编码和解码的复杂性的最小化。现在,当码的长度是从小到平均值时,即约为n<1000时,这些使错误校正码的解码最优化的问题变得更加难以解决。
因此,需要用于对有效错误校正码(即具有尽可能大的最小距离dmin并且尤其具有非常短的循环的错误校正码)进行解码的新颖的技术。
3.发明内容
本发明提出了不具有现有技术的所有这些缺点的新颖方法,所述新颖方法采用用于解码经编码数据的方法的形式,所述经编码数据包含源数据和冗余数据。这些冗余数据是通过在编码时将错误校正码应用到源数据上、实施包含采用其系统形式的单位矩阵和可逆矩阵的生成矩阵来获得,所述可逆矩阵用于从源数据转换成冗余数据。
根据本发明,该方法包含一个用于解码的步骤,所述步骤同时实施被称为原始错误校正码的错误校正码和被称为对偶错误校正码的码,所述对偶错误校正码是原始错误校正码的对偶。
根据本发明,该方法包含用于借助于错误校正码解码经编码数据的步骤,所述步骤同时使用采用其原始形式和采用其对偶形式的错误校正码。
确切地说,采用其两个原始和对偶形式的错误校正码的联合使用减少了在解码处实施的迭代的数目,尤其是对于置信传播类型的算法并且因此对于较小长度码(n<1000)的实时解码。
根据本发明,用于从源数据转换成冗余数据的矩阵P被认为是可逆的。没有其他约束施加到错误校正码上并且尤其到此码的长度或循环的长度上。因此,所实施的错误校正码被认为是准随机的。
本发明因此提供了比现有技术的那些算法更加简单并且更加有效的解码算法,尤其是对于具有较小长度和/或较短循环的码。
根据一个特定实施例,解码步骤实施被称为原始-对偶图的经修改泰纳图,所述经修改泰纳图是通过将被称为原始图的对应于原始错误校正码的泰纳图与被称为对偶图的对应于对偶错误校正码的泰纳图进行叠加而获得,所述叠加由对应于相同源数据的原始图的输入变量与对偶图的输入变量之间的两两连接以及对应于相同冗余数据的原始图的输出变量与对偶图的输出变量之间的两两连接组成。
以此方式,原始-对偶图的每一个输入或输出变量连接到一对约束上,所述约束包含定义了基本树的等式型约束和模2加法型约束。换句话说,所提出的解码结构实现了小基本树的隔离,其中每一个小基本树对应于一段源数据或对应于一段冗余数据。
由于此基本树结构,所获得的原始-对偶图不具有任何环路结构,环路通常被认为是解码中的恶化的原因。换句话说,从树的根到叶子仅存在一条路径,因此在原始-对偶图中仅存在一条传播信息的路。因此,此结构通过最佳利用可获得的信息减少了循环的影响,所述影响在现有技术中造成了一个问题。换句话说,在原始-对偶图中的输入/输出变量的同时处理弥补了所进行的用于传播变量的计算并且因此减少了循环对解码算法的影响。
此外,与经典的“置信传播”类型算法相比,内部变量的传播被修改并且实现了变得更加容易的较小长度码的解码。此基本树状结构使获得每一个树中的源数据的先验传播的平均成为可能。
最后,与存在的经编码数据(源数据和冗余数据)一样多对的约束(或基本树)的存在指定了所有可获得数据的使用,从而提高了解码性能。在原始-对偶图的输入和输出变量上可获得的信息也为现有技术的可获得信息的两倍。
因此,与当前技术相比,原始码的与对偶码的图的叠加通过朝向最靠近接收字的码字提供特别快速的解码算法的收敛而改进了解码性能。它还弥补了关于约束(等式、模2加法)的非线性。
确切地说,因为原始-对偶图的每一个输入或输出变量连接到包含等式型约束和模2加法型约束的一对约束上,所以根据本发明的解码方法包含用于确定原始-对偶图的至少一个内部变量的步骤,所述步骤执行以下操作:
-对于模2加法型约束:
○连接到模2加法型约束上的变量从实数域到复数域的变换步骤;
○在复数域中的加法步骤;
○加法步骤的结果从复数域到实数域的变换步骤;
-对于等式型约束:
○在实数域中的加法步骤。
以此方式,经执行以传播与等式型或模2加法型约束相关的变量的操作通过在复数域中或在实数域中使用加法型运算符而被简化。
确切地说,变换步骤(从实数域到复数域或从复数域到实数域)应用了非线性函数NL,使得:
应注意,此非线性函数等于其自身的反函数:NL[x]=NL-1[x]。
此非线性函数的应用使获得在模2加法(异或运算)型约束的输出处的概率的后验计算等效物成为可能,方法为借助于实数值域中的简单加法和符号的乘法。以此方式,解码的操作复杂性减少。
根据一个特定实施例,因为原始-对偶图的每一个输入或输出变量连接到包含等式型约束和模2加法型约束的一对约束上,所以解码方法实施至少一次解码迭代,包含:
-前向传播阶段,由连接到等式型约束上的原始-对偶图的内部变量的传播组成,以更新连接到模2加法型约束上的原始-对偶图的内部变量,以及
-后向传播阶段,由连接到模2加法型约束上的原始-对偶图的内部变量的传播组成,以更新连接到等式型约束上的原始-对偶图的内部变量。
换句话说,解码迭代包含在所有基本树中源数据的传播的第一阶段以及随后在所有基本树中冗余数据的传播的第二阶段,其中一个阶段将在每一个基本树的输出处获得的值传输给另一个阶段。
与每一对约束相关联的运算符因此同时起作用。
确切地说,前向传播阶段对连接到原始-对偶图的输入或输出变量上的每一对约束实施以下子步骤:
-确定分配给原始-对偶图的输入或输出变量的前向似然值在实数域中实施加法,使得:
v 0 F ( t ) = &Sigma; i = 1 d v i ( t ) d ,
-在从实数域到复数域的变换之后,确定分配给连接到模2加法型约束上的变量的似然值,所述似然值被称为经变换前向似然值,使得:
○原始-对偶图的输入或输出变量在变换之后表示为以下形式: w 0 F ( t ) = NL [ v 0 ( 0 ) + v 0 F ( t ) ] s 0 F ( t ) = sign [ v 0 ( 0 ) + v 0 F ( t ) ] ;
○内部变量在变换之后表示为以下形式:其中l∈{1,...,d};
-更新经变换前向似然值,在复数域实施加法,使得:
w l F ( t + 1 ) = w 0 F ( t ) + &Sigma; i = 1 , i &NotEqual; l d w i F ( t ) d - 1 并且 s l F ( t + 1 ) = &Pi; i = 0 , i &NotEqual; l d s i F ( t )
-更新连接到模2加法型约束上的内部变量的值,实施经更新经变换前向似然值从复数域到实数域的变换,使得:
v l &prime; ( t + 1 ) s l F ( t + 1 ) NL [ w l F ( t + 1 ) ] ,
其中:
-v0(0)为分配给原始-对偶图的输入或输出变量的初始值;
-vi(t)为连接到等式型约束上的内部变量;
-v'l(t)为连接到模2加法型约束上的内部变量;
-d为与原始-对偶图的约束相关联的约束的程度;
-i∈{1,...,d},l∈{1,...,d};
-NL[x]为非线性函数,使得:
后向传播阶段方面对连接到原始-对偶图的输入或输出变量上的每一对约束实施以下子步骤:
-在从实数域到复数域的变换之后,确定分配给连接到模2加法型约束上的变量的似然值,所述似然值被称为经变换后向似然值,使得:
○内部变量在变换之后表示为以下形式:其中l∈{1,...,d};
○原始-对偶图的输入或输出变量在变换之后表示为以下形式: s 0 B ( t ) = ( &Pi; l = 1 d s l B ( t ) ) ;
-在变换之后,确定分配给原始-对偶图的输入或输出变量的后向似然值,实施输入或输出变量从复数域到实数域的变换,使得:
v 0 B ( t ) = s 0 B ( t ) &times; NL [ w 0 B ( t ) ]
-更新连接到等式型约束上的内部变量的值,在实数域中实施加法,使得:
v l ( t + 1 ) = v 0 ( 0 ) + v 0 B ( t ) + &Sigma; i = 1 , i &NotEqual; l d v i ( t ) d - 1 ,
-更新原始-对偶图的输入或输出变量,使得:
v 0 ( t + 1 ) = v 0 F ( t ) + v 0 ( 0 ) + v 0 B ( t ) .
根据本发明的一个特定特征,解码方法包含用于将原始-对偶图的输入变量、输出变量和内部变量初始化为零的预备步骤。
根据本发明的这两个前向和后向传播阶段的实施、以及一组变量的初始化,朝向最靠近接收字的码字给出了非常快速的解码算法的收敛。
根据本发明的另一方面,原始-对偶图的至少两个输入或输出变量连接到包含等式型约束和模2加法型约束的同一对约束上。
因此,有可能多路复用用于传播连接到等式型约束或模2加法型约束上的变量的运算符并且因此减少所需的硬件资源的数量。
根据本发明的一个特定实施例,原始错误校正码具有1/2的比率。换句话说,这是具有参数(n=2k,k,dmin)的准随机码。在此情况下,我们获得与原始-对偶图对称的结构,从而实现此具有1/2的比率的码的简单和最佳解码。
当然地,还可能对具有不同于1/2的比率的错误校正码进行解码。
因此,为了对具有大于1/2的比率的错误校正码进行解码,有可能在连接到原始-对偶图中的两个(或更多个)冗余数据上的两个等式约束(对应地,两个模2加法约束)的输出处添加一个等式约束(对应地,和一个模2加法约束)。
为了对具有低于1/2的比率的错误校正码进行解码,有可能在连接到原始-对偶图中的两个(或更多个)源数据上的两个等式约束(对应地,两个模2加法约束)的输出处添加一个等式约束(对应地,和一个模2加法约束)。
在另一实施例中,本发明涉及用于经编码数据的解码的对应装置。
根据本发明,此装置包含解码模块,所述模块同时实施被称为原始错误校正码的错误校正码和被称为对偶错误校正码的码,所述对偶错误校正码是原始错误校正码的对偶。
此解码装置尤其适合于实施上文描述的解码方法。
此解码器当然可以包含涉及本发明的解码方法的不同特征,所述特征可以结合或分开来看。因而,解码器的特征和优点与解码方法的特征和优点相同,因此不再赘述。
应注意,此解码器可以实施为集成电路的形式、或实施为微处理器型电子组件。因此,根据本发明的解码算法可以用各种方式实施,尤其是采用硬件形式或采用软件形式。
确切地说,有可能使用上文所描述的解码器对经编码数据进行解码或对源数据进行编码。在后一情况下,冗余数据可以设置为零以便能够将解码器用作编码器。
本发明还涉及用于对源数据进行编码从而传递包含源数据和冗余数据的经编码数据的方法。
根据本发明,此编码方法包含编码步骤,所述步骤同时实施:
-被称为原始错误校正码的错误校正码,实施包含采用其系统形式的单位矩阵和可逆矩阵P的生成矩阵,所述可逆矩阵用于从源数据转换成冗余数据,以及
-被称为对偶错误校正码的码,所述码为原始错误校正码的对偶。
本发明因此提出用于借助于错误校正码对源数据进行编码的新颖技术,所述技术同时使用采用其原始形式和采用其对偶形式的错误校正码。
因此,有可能简单地获得新颖码或重建具有任何未指定长度的、通过根据本发明的解码方法容易可解码的现有码。
此编码方法当然可以包含根据本发明的解码方法的不同特征。
在另一实施例中,本发明涉及对应的编码装置。此装置包含编码模块,所述编码模块同时实施:
-被称为原始错误校正码的错误校正码,实施包含采用其系统形式的单位矩阵和可逆矩阵P的生成矩阵,所述可逆矩阵用于从源数据转换成冗余数据,以及
-被称为对偶错误校正码的码,所述码为原始错误校正码的对偶。
此编码装置特别被适配成用于实施上文所描述的编码方法。
同样,此编码器可以实施为集成电路或微处理器型电子组件的形式。因此,根据本发明的编码算法可以用各种方式实施,尤其是采用硬件形式或采用软件形式。
本发明还涉及包含编码和解码模块的用于数据的编码和解码的装置,所述模块同时实施:
-被称为原始错误校正码的错误校正码,实施包含采用其系统形式的单位矩阵和可逆矩阵P的生成矩阵,所述可逆矩阵用于从源数据转换成冗余数据,以及
-被称为对偶错误校正码的码,所述码为原始错误校正码的对偶。
此装置,也被称为编解码器(“编码/解码器”的简称),或编码器/解码器,可以实施为集成电路的形式或实施为微处理器型电子组件。确切地说,编解码器的使用实现了用于编码和解码的硬件资源的集中。例如,此编解码器可以在输入处接收源数据并且在输出处传递经编码数据,或在输入处接收经编码数据并且在输出处传递源数据的估计。
在又一实施例中,本发明涉及包含指令的一个或多个计算机程序,当一个或多个程序由处理器执行时,所述指令用于实施如上文所描述的用于解码的方法或用于编码的方法。此类程序可以被存储在信息媒体中。
4.附图说明
本发明的其他特征和优点通过以下借助于简单的、说明性并且非穷举的实例对特定实施例的描述和附图更加明显地表现出来,在所述附图中:
-图1示出了根据本发明的编码器/解码器所实施的主要步骤;
-图2A、2B和2C对应地图示了根据本发明的具有可逆转换矩阵P的(8,4,4)汉明码的泰纳图、作为(8,4,4)汉明码的对偶的码的泰纳图以及对应的原始-对偶图;
-图3A、3B和3C对应地图示了根据本发明的具有可逆转换矩阵P的(12,6)码的泰纳图、作为此(12,6)码的对偶的码的泰纳图以及对应的原始-对偶图;
-图4为根据本发明的一对约束的详细视图;
-图5A和5B图示了根据本发明的用于确定原始-对偶图的内部变量的非线性NL的函数;
-图6A和6B呈现了根据本发明的一个特定实施例的编码器和解码器的简化结构。
5.具体实施方式
5.1一般原理
本发明的一般原理在于被称为原始码的错误校正码和被称为对偶码的此错误校正码的对偶的同时使用,以便对数据进行编码或解码。
此处,我们考虑对偶性的一般定义,也被称为等对偶性(iso-duality),如在V·S·普莱斯(V.S.Pless)和W·C·霍夫曼(W.C.Huffman)的“编码理论手册”,第I卷,第3章,177到294页中特别表达。此定义没有规定原始码的向量与对偶码的向量之间的正交性的约束。唯一的约束为用于从源数据转换成冗余数据的矩阵为可逆的。
本发明特别地提供了包含k个源数据(也称为符号或信息位)的长度n的错误校正块码的软决策解码的问题的解决方案。确切地说,它提出了对于这些参数n和k,用于具有较大最小距离的错误校正码的最优解码的新颖技术。
例如,本发明提供了一种解码技术,所述解码技术提供了关于有效错误校正码的比现有技术的技术更好的性能,所述错误校正码诸如:经典的代数码,诸如(24,12,8)格雷(Golay)码、(48,24,12)码、里德穆勒(Reed-Müller)(RM)码;涡轮码;LDPC码等。
现在参考图1,我们呈现了根据本发明的通过二进制编码器和/或解码器所实施的主要步骤。这是一个简单的实例,在所述实例中,本发明用于数据的编码和解码。当然地,有可能将提出的编码算法与经典的解码算法一起使用或将提出的解码算法与经典的编码算法一起使用。在后一情况下,编码器上所指定的唯一约束为用于从源数据转换成冗余数据的矩阵应该是可逆的。
因此,根据图1中图示的实施例,根据本发明的编码器输入采用包或连续流的形式的源数据S,并且输出包含源数据S和冗余数据R的经编码数据。这些经编码数据可以通过传输信道进行传送或存储在媒体上,并且随后通过根据本发明的解码器进行解码。
此解码器输入可能错误的包含源数据S和冗余数据R的经编码数据,并且传递源数据的估计
更具体地说,编码器实施编码步骤11,同时实施:
-被称为原始错误校正码CP的错误校正码,实施包含采用其系统形式的单位矩阵和可逆矩阵P的生成矩阵,所述可逆矩阵用于从源数据转换成冗余数据,以及
-被称为对偶错误校正码CD的码,所述码为原始错误校正码的对偶。
以相同的方法,解码器实施用于解码的步骤12,同时实施原始错误校正码CP和对偶错误校正码CD。
应注意,编码步骤11和解码步骤12都使用原始错误-校正码CP和对偶错误校正码CD。编码器和解码器因此可以共享资源,因此就硬件的成本和所消耗的能量来说,减少了编码和解码的复杂性。
5.2原始-对偶泰纳图
根据本发明,编码步骤11和/或解码步骤12实施被称为原始-对偶图的经修改泰纳图,所述泰纳图是通过将被称为原始图的对应于原始码CP的泰纳图与被称为对偶图的对应于对偶码CD的泰纳图进行叠加而获得。
根据本发明的对应于对偶码的泰纳图可以用不同方法获得。
在第一实例中,对偶泰纳图由原始泰纳图构成,方法为用模2加法型约束替代等式型约束并且用等式型约束替代模2加法型约束。
在第二实例中,对偶泰纳图直接由用于从源数据转换成冗余数据的矩阵的逆(表示为P-1)构成。此逆矩阵实际上使从冗余数据中表达源数据成为可能。
下文中,我们描述扩展的(8,4,4)汉明码和具有用于从源数据转换成冗余数据的矩阵P的(12,6)码的此类原始-对偶图的构建的两个实例,所述矩阵P为可逆的。这两个码具有1/2的比率,但如已经指示,还可能通过以下操作对分别具有大于1/2或小于1/2的比率的码进行解码:
-在连接到原始-对偶图中的两个(或更多个)冗余数据上的两个等式约束(对应地,和两个模2加法约束)的输出处添加一个等式约束(对应地,和一个模2加法约束),这相当于考虑具有可逆的转换矩阵P的准随机初始错误校正码并且向转换矩阵P添加列;
-在连接到原始-对偶图中的两个(或更多个)源数据上的两个等式约束(对应地,和两个模2加法约束)的输出处添加一个等式约束(对应地,和一个模2加法约束),这相当于考虑具有可逆的转换矩阵P的准随机初始错误校正码并且向转换矩阵P添加行。
当然地,本发明可以用于对其他码进行解码,诸如格雷码、里德穆勒码、涡轮码、LDPC码等。
A)第一实例:扩展的(8,4,4)汉明码
下文中,我们呈现从扩展的汉明码(n=8,k=4,dmin=4)的原始和对偶图中获得的原始-对偶图的构建。
此码实施包含采用其系统形式的单位矩阵和矩阵P的生成矩阵G,所述矩阵P用于从源数据转换成冗余数据且是可逆的,例如:
G = [ Id | P ] = 1 0 0 0 | 0 1 1 1 0 1 0 0 | 1 0 1 1 0 0 1 0 | 1 1 0 1 0 0 0 1 | 1 1 1 0
这是一种特殊的情况,根据所述情况,转换矩阵P等于其转置P=Ptr,并且因此PPtr=Id,由此转换矩阵P等于其自身的其自身的逆P-1=Ptr。因此在此实例中(8,4,4)汉明码为自对偶的。
此实例考虑采用四个信息位的形式表示为(x0,x1,x2,x3)的源数据,以及采用四个冗余位的形式表示为(r0,r1,r2,r3)的冗余数据。
通常,用于从信息位计算冗余位的代数关系可以由对应于原始(8,4,4)汉明码的泰纳图表示,如图2A中所图示。
被称为原始图的此图包含对应于信息位的输入变量和对应于冗余位的输出变量,冗余位借助于约束和置换与信息位相关。
这些约束可以具有两种类型:
-由符号“=”表示的等式型约束,对应于连接到此约束上的变量的重复;
-由符号“+”表示的模2加法型约束,对应于“异或”型逻辑约束。
换句话说,这些约束和置换实现以下代数关系的表示:
r0=x1+x2+x3
r1=x0+x2+x3
r2=x0+x1+x3以及
r3=x0+x1+x2
因为(8,4,4)汉明码为自对偶的,所以其转换矩阵P等于其自身的逆,并且它足以用模2加法型约束替代等式型约束并且用等式型约束替代模2加法型约束,以便获得对应于(8,4,4)汉明码的对偶码的泰纳图。因此,所实施的置换在两个原始和对偶图之间是相同的。对于硬件资源,因此根据此实例使用两个相同的交织器。
图2B因此图示了所获得的对偶图,包含对应于信息位的输入变量和对应于冗余位的输出变量。
根据本发明,被称为原始-对偶图的经修改泰纳图被定义。此图使同时考虑原始码和对偶码成为可能。
为此目的,图2A中图示的原始图和图2B中图示的对偶图被叠加以获得图2C中图示的原始-对偶图。
此叠加由对应于相同源数据的原始图的输入变量(x0,x1,x2,x3)与对偶图的输入变量(x0,x1,x2,x3)的两两连接以及对应于相同冗余数据的原始图的输出变量(r0,r1,r2,r3)与对偶图的输出变量(r0,r1,r2,r3)的两两连接构成。
换句话说,原始图的信息位xi与对偶图的信息位xi连接,其中i为范围为0到3的整数,并且原始图的冗余位ri与对偶图的冗余位ri连接,其中i为范围为0到3的整数。
原始-对偶图的每一个输入变量xi和每一个输出变量ri因此连接到包含等式型约束和模2加法型约束的一对约束上。
根据图2C中图示的实例,我们因此获得图中构造的八对约束,每一对连接到:
~(信息位xi或冗余型ri类型的)输入或输出变量;以及
~六个内部变量(例如,表示为该对约束210的v1,v2,v3,v'1,v'2,v'3,其中表示为vk的变量来自等式型约束并且表示为v'k的变量来自模2加法型约束)。
连接到输入变量(x0,x1,x2,x3)上的约束210、211、212、213的四个实例借助于编码器-解码器的4×3=12对内部状态的置换或交织器连接到四对约束220、221、222、223上,所述四对约束连接到输出变量(r0,r1,r2,r3)上。
每一对约束和其连接可以被认为是图论中的树,即不具有环路结构。
B)第二实例:码(12,6)
下文中,我们呈现从(12,6)码的原始和对偶图中获得的根据本发明的原始-对偶图的构建的第二实例。
此处描述指代更加一般的情况,其中转换矩阵P为简单可逆的/可逆的。
此码实施包含采用其系统形式的单位矩阵和矩阵P的生成矩阵G,所述矩阵P用于从源数据转换成冗余数据且是可逆的,使得例如:
G = [ Id | P ] = 1 0 0 0 0 0 | 1 0 1 0 0 1 0 1 0 0 0 0 | 1 0 1 0 1 0 0 0 1 0 0 0 | 1 1 0 0 0 1 0 0 0 1 0 0 | 0 1 0 1 0 0 0 0 0 0 1 0 | 1 0 1 1 0 1 0 0 0 0 0 1 | 0 0 1 0 1 0
在此实例中,我们考虑采用六个信息位的形式表示为(x0,x1,x2,x3,x4,x5)的源数据,以及采用六个冗余位的形式表示为(r0,r1,r2,r3,r4,r5)的冗余数据。
通常,用于从信息位计算冗余位的代数关系可以由对应于原始(12,6)码的泰纳图表示,如图3A中所图示。
如关于第一实例所指示,此原始图包含对应于信息位的输入变量和对应于冗余位的输出变量,冗余位借助于约束(等式或模2加法型约束)和置换连接到信息位上。
考虑到转换矩阵P是可逆的,有可能确定逆向转换的矩阵P-1和对应于(12,6)码的对偶的泰纳图。图3B因此图示了所获得的对偶图,包含对应于信息位的输入变量和对应于冗余位的输出变量。
应注意,因为(12,6)码不是自对偶的,所以其转换矩阵P不等于其自身的逆并且原始图和所获得的对偶图不对称。关于硬件资源,此实例因此使用两个不同的交织器。
根据本发明,并且如参考第一实例所描述,我们定义了被称为原始-对偶图的经修改泰纳图,所述经修改泰纳图用于同时考虑原始码和对偶码。为此目的,图3A中图示的原始图和图3B中图示的对偶图被叠加以获得图3C中图示的原始-对偶图。
此叠加由对应于相同源数据的原始图的输入变量(x0,x1,x2,x3,x4,x5)与对偶图的输入变量(x0,x1,x2,x3,x4,x5)的两两连接以及对应于相同冗余数据的原始图的输出变量(r0,r1,r2,r3,r4,r5)与对偶图的输出变量(r0,r1,r2,r3,r4,r5)的两两连接构成。
换句话说,原始图的信息位xi连接到对偶图的信息位xi上,其中i为范围为0到5的整数,并且原始图的冗余位ri连接到对偶图的冗余位ri上,其中i为范围为0到5的整数。原始-对偶图的每一个输入变量xi和每一个输出变量ri因此连接到包含等式型约束和模2加法型约束的一对约束上。
根据图3C中图示的实例,我们因此获得图中构造的12对约束,每一对连接到:
-(信息位xi型或冗余位ri型的)输入或输出变量;以及
-一组内部变量。
连接到输入变量(x0,x1,x2,x3,x4,x5)上的六对约束310、311、312、313、314、315借助于置换或交织器连接到六对约束320、321、322、323、324、325上,所述后六对约束连接到输出变量(r0,r1,r2,r3,r4,r5)上。同样,每一对约束和其连接可以被认为是不具有环路结构的图论中的树。
5.3确定连接到等式或模2加法型约束上的变量
下文中,我们描述了根据本发明的一个特定的方面的实施用于确定与一对约束相关联的原始-对偶图的内部变量的步骤。当然地,其他技术和特别经典的技术可以用于确定这些内部变量。
在初始时刻t=0处,连接到一对约束上表示为vi(0)的输入或输出变量被认为与似然比对数为同类的,通常通过以下等式定义:
v i ( 0 ) = log [ proba ( y i | c i = 1 ) proba ( y i | c i = 0 ) ]
内部变量因此也与似然比算法为同类的。
借助于一个实例,我们还考虑(8,4,4)汉明码的原始-对偶图的一对约束,所述约束首先连接到(信息位xi或冗余位ri型的,更一般化地表示为vi的)输入或输出变量上并且其次连接到六个内部变量上。此类一对约束的实例在图4中图示出。
为了执行连接到一对约束41的等式型约束上的变量的合并(在初始时刻处的输入变量或输出变量的和内部变量的合并),有可能向在初始时刻处的输入或输出变量添加连接到此约束上的内部变量的值的平均。
因此,如果我们考虑在初始时刻t=0处的一对约束41的输入或输出变量v0,那么在下一时刻t=1处(也即在下一迭代处)的此变量的新值可以表示为以下形式:
v 0 ( 1 ) = v 0 ( 0 ) + ( v 1 ( 0 ) + v 2 ( 0 ) + v 3 ( 0 ) ) 3 .
因此在实数域做加法以确定连接到等式型约束上的变量的值。
为了执行连接到一对约束41的模2加法型约束上的变量的合并(在初始时刻的输入或输出变量和内部变量的合并),根据本发明的一个特定的方面提出了在复数域中而非在实数域中进行作用,以便实现简单加法运算的使用。
因此,根据本发明的此方面,在所有变量可以在复数域中被加起来之前,将非线性函数NL[x]应用到连接到模2加法型约束上的所有变量中。
更具体地说,在时刻t=0,在实数域中函数NL被添加到一对约束41的输入或输出变量v0上以获得在复数域中表示为w0的内部变量,并且函数NL被应用到在实数域中的三个内部变量v'1,v'2,v'3上以获得在复数域中的三个内部变量w1,w2,w3
运算随后传递到实数域中以获得在接下来的时刻处的变量v0的新值。因此,我们获得:
v 0 ( 1 ) = NL [ NL [ v 0 ( 0 ) ] + ( NL [ v 1 &prime; ( 0 ) ] + NL [ v 2 &prime; ( 0 ) ] + NL [ v 3 &prime; ( 0 ) ] ) 3 ] = NL [ w 0 + ( w 1 + w 2 + w 3 ) 3 ]
因此对连接到模2加法型约束的变量进行了从实数域到复数域的变换、在复数域做了加法、并且随后对加法的结果进行从复数域到实数域的变换,以便确定连接到模2加法型约束上的变量的值。
确切地说,非线性函数NL可以表示为以下形式:
图5A和5B对应地图示了函数的实部和函数NL的虚部的符号的变化。
更具体地说,给定x∈]-∞,+∞[的变化范围,非线性函数NL的应用的结果严格地具有在复数域C的值,其中虚部能够采用两个值{0,+Iπ},其中I为纯虚数。此外,出于初始化的目的,值NL[0]=0被施加。
为了简化计算,随后可能将此纯虚部看作是一个符号并且简单地使实部的加法的结果与符号的乘积相乘。此在“对偶域”中的加法因此等效于在复数域C中的加法。这是特别有独创性且创新的,尤其是对于软决策解码器。
此非线性函数NL可以利用量化的数字通过具有极小复杂性的方法实现,所述方法使用例如EPROM(可擦除可编程只读存储器)等的可编程存储器,也被称为LUT(查找表)。
当然地,可以实施类似操作以确定在其他情形下连接到等式型约束或连接到模2加法型约束上的变量的值并且特别地确定未连接到一对约束上的变量的值。类似地,无论连接到约束上的内部变量的数目是多少,通过调适上述等式都可以使用类似的操作。
5.4变量的传播
下文中,我们呈现了经实施以通过同时使用原始错误校正码和其对偶对所接收的经编码数据进行解码的不同步骤。
为了构建此解码器,我们考虑如上文所定义的原始-对偶图以及特别地在图2C和3C中图示的实例。
更具体地说,解码算法实施至少一次解码迭代,包含:
-前向传播阶段,其中连接到等式型约束上的原始-对偶图的内部变量被传播以更新连接到模2加法型约束上的原始-对偶图的内部变量,以及
-后向传播阶段,其中连接到模2加法型约束上的原始-对偶图的内部变量被传播以更新连接到等式型约束上的原始-对偶图的内部变量。
一次迭代对于每一对约束(即(8,4,4)汉明码的八对、(12,6)码的12对、(24,12,8)格雷码的24对等)实施前向和后向传播阶段。
在初始化处,原始-对偶图的输入变量、输出变量和内部变量被设置为零。每一个树随后接收通常来自解调器的经编码数据,此数据对应于源数据(信息位)或对应于冗余数据(冗余位)。
下文中,我们描述在一次相同的迭代期间,实施用于与一对约束相关联的每一个基本树的前向和后向传播阶段。
v0(0)表示分配给连接到一对考虑的约束上的原始-对偶图的输入变量或输出变量的初始值。
前向传播阶段在于传播原始域的似然值vl(t)以计算对偶域的似然值v'l(t+1),其中t为还对应于在进行中迭代的序数的离散时间索引。
更具体地说,在第一步骤中,确定分配给连接到经考虑约束上的输入或输出值的前向似然值在实数域中实施加法,使得其中i∈{1,...,d},d为与一对经考虑的约束的等式约束相关联的约束的程度并且vi(t)为连接到该对经考虑的约束的等式约束上的内部变量。
在第二步骤期间,本发明确定在从实数域到复数域的变换之后,分配给连接到模2加法型约束上的变量的似然值,被称为经变换前向似然值,方法为应用非线性函数NL,如上文的段落中详细描述。
因此,一对经考虑约束的输入或输出变量在变换之后表示为 w 0 F ( t ) = NL [ v 0 ( 0 ) + v 0 F ( t ) ] s 0 F ( t ) = sign [ v 0 ( 0 ) + v 0 F ( t ) ] , 的形式,并且内部变量在变换之后表示为的形式,其中l∈{1,...,d},d为与该对经考虑约束的模2加法约束相关联的约束的程度,并且v'l(t)为连接到该对经考虑约束的模2加法约束上的内部变量。
应注意,这些值对应于复数的实部,所述复数的虚部可以采用值{0,+Iπ},但通过采用这些值的指数,我们获得具有符号的值,这使简化计算成为可能。
在第三步骤期间,在更新经变换前向似然值时根据在复数域的加法来确定新值 w l F ( t + 1 ) s l F ( t + 1 ) , 使得:
w l F ( t + 1 ) = w 0 F ( t ) + &Sigma; i = 1 , i &NotEqual; l d w i F ( t ) d - 1 s l F ( t + 1 ) = &Pi; i = 0 , i &NotEqual; l d s i F ( t ) .
在第四步骤中,再次应用非线性函数NL,以便根据经更新经变换前向似然值的从复数域到实数域的变换来更新连接到模2加法型约束上的内部变量的值 w l F ( t ) = NL [ v l &prime; ( t ) ] 使得 v l &prime; ( t + 1 ) s l F ( t + 1 ) NL [ w l F ( t + 1 ) ] .
后向传播阶段方面在于传播来自对偶域中的似然值v'l(t)以便计算原始域的vl(t+1)的似然性。
更具体地说,在第一步骤期间,在从实数域到复数域的变换之后,通过施加非线性函数NL,确定了分配给连接到一对经考虑约束的模2加法型约束上的变量的似然值(这些值被称为经变换后向似然值),如上文的段落中详细描述。
在变换之后,内部值随后表示为以下形式:其中l∈{1,...,d},其中d为与一对经考虑约束的模2加法约束相关联的约束的程度。
一对经考虑约束的输入或输出变量在变换之后自身表示为以下形式: w 0 B ( t ) = &Sigma; l = 1 d w l B ( t ) d s 0 B ( t ) = ( &Pi; l = 1 d s l B ( t ) ) .
在第二步骤期间,确定了后向似然值此值被分配给一对经考虑约束的输入或输出变量,通过再次施加非线性函数在变换之后对输入或输出变量进行从复数域到实数域的变换。
在第三步骤中,在更新连接到等式型约束上的内部变量的值时根据在实数域中的加法来确定值vl(t+1),使得:
其中l∈{1,...,d},其中d为与一对经考虑约束的等式约束相关联的约束的程度。
最后,在第四步骤中,一对经考虑约束的输入或输出变量被更新: v 0 ( t + 1 ) = v 0 F + v 0 ( 0 ) + v 0 B ( t ) .
如已经指出,这两个前向和后向传播阶段被实施用于一次解码迭代内的每一对约束。
例如,可以实施若干次解码迭代直到达到预定义的迭代数目或直到存在内部变量的收敛。
更具体地说,在前向传播阶段期间,一旦已经对连接到原始-对偶图的输入值上的这些约束对进行计算(即,一旦连接到用于第一次迭代的信息位的初始值上的树的计算已经进行),新的原始和对偶值对(vl(t+1),v'l(t+1))就被传输给连接到原始-对偶图的输出变量上的约束对(即,传输给连接到用于第一次迭代的冗余位的初始值上的树)。注意等式和模2加法型约束的侧的逆转,这实现了对这些树的一组新的计算的性能。在后向传播阶段期间,这相当于置换对偶和原始值,使得(v'l(t+1),vl(t+1))。
无论码的长度为多少,所提出的解码算法非常快速地(在几次迭代内)朝向所接收的字的最接近码字收敛。例如,鉴于根据现有技术,有时需要20到50次迭代来获得用于解码LDPC码的算法的收敛,故本发明实现了仅在几次迭代(例如约为五到六次迭代)内的快速收敛。
在±4等足够大的值处的饱和因此使算法变得稳定和稳固,所述饱和将可能值限制在区间[-4,+4]的输出处。该算法朝向这些饱和值收敛。
同样,应注意,有可能通过将冗余位设置为零来使用描述为新颖编码技术的解码技术。因此,如果我们考虑根据本发明进行定义的原始-对偶图,该原始-对偶图包含对应于源数据的输入变量和对应于零数据的输出变量,那么在实施上文所描述的具有前向和后向传播阶段的至少一次迭代之后,我们获得在输出变量处的冗余数据。
5.5编码器和解码器的结构
最后,参考图6A和6B,我们呈现了根据本发明的一个特定实施例的编码器和解码器的简化结构。
编码器包含包含缓冲存储器的存储器61、配备有(例如)微处理器μP并且由计算机程序63驱动的处理单元62,所述计算机程序实施根据本发明的一个实施例的编码方法。
在初始化处,计算机程序63的代码指令(例如)加载进入RAM中并且随后由处理单元62的处理器执行。处理单元62输入源数据S并且传递包含源数据和冗余数据的经编码数据。处理单元62的微处理器根据计算机程序63的指令实施上文所描述的编码方法的步骤以对源数据进行编码。为此目的,除缓冲存储器61之外,编码器还包含同时实施错误校正码和其对偶码的编码模块。此模块由处理单元62的微处理器进行驱动。
解码器包含包含缓冲存储器的存储器64、配备有(例如)微处理器μP并且由计算机程序66驱动的处理单元65,所述计算机程序实施根据本发明的一个实施例的解码方法。
初始化时,计算机程序66的代码指令(例如)加载进入RAM中并且随后由处理单元65的处理器执行。处理单元65输入包含源数据和冗余数据的经编码数据并且传递源数据的估计处理单元65的微处理器根据计算机程序66的指令实施上文所描述的解码方法的步骤以对经编码数据进行解码。为此目的,除缓冲存储器64之外,解码器还包含同时实施错误校正码和其对偶码的解码模块。此模块由处理单元65的微处理器进行驱动。

Claims (13)

1.一种用于解码经编码数据的方法,所述经编码数据包含源数据(S)和冗余数据(R),
所述冗余数据(R)是通过在编码时将错误校正码应用到所述源数据(S)上来获得,所述错误校正码可以由包含采用其系统形式的单位矩阵和可逆矩阵(P)的生成矩阵表示,所述可逆矩阵用于从源数据转换成冗余数据,
其特征在于,所述方法包含一个用于解码的步骤(12),所述步骤同时实施被称为原始错误校正码的所述错误校正码和被称为对偶错误校正码的码,所述码是所述原始错误校正码的对偶,
所述方法为使用被称为原始-对偶图的经修改泰纳图,所述经修改泰纳图是通过将被称为原始图的对应于所述原始错误校正码的泰纳图与被称为对偶图的对应于所述对偶错误校正码的泰纳图进行叠加来获得,
所述叠加由对应于相同源数据的所述原始图的输入变量(x0,...,x5)与所述对偶图的输入变量(x0,...,x5)的两两连接以及对应于相同冗余数据的所述原始图的输出变量(r0,...,r5)与所述对偶图的输出变量(r0,...,r5)的两两连接组成。
2.根据权利要求1所述的用于解码的方法,其特征在于所述原始-对偶图的每一个输入或输出变量连接到一对约束上,所述约束包含等式型约束和模2加法型约束,
并且在于所述解码方法包含用于确定所述原始-对偶图的至少一个内部变量的步骤,所述步骤实施:
对于模2加法型约束:
连接到所述模2加法型约束上的变量从实数域到复数域的变换的步骤,
在所述复数域的加法的步骤,
所述加法步骤的结果从所述复数域到所述实数域的变换步骤,
对于等式型约束:
在所述实数域中的加法步骤。
3.根据权利要求2所述的用于解码的方法,其特征在于所述变换的步骤应用非线性函数NL,使得:
4.根据权利要求1所述的用于解码的方法,其特征在于所述原始-对偶图的每一个输入或输出变量连接到一对约束上,所述约束包含等式型约束和模2加法型约束,
并且在于所述解码方法实施至少一次解码迭代,所述解码迭代包含:
前向传播阶段,由连接到等式型约束上的所述原始-对偶图的内部变量的传播组成,以更新连接到模2加法型约束上的所述原始-对偶图的内部变量,以及
后向传播阶段,由连接到模2加法型约束上的所述原始-对偶图的内部变量的传播组成,以更新连接到等式型约束上的所述原始-对偶图的内部变量。
5.根据权利要求4所述的用于解码的方法,其特征在于所述前向传播阶段对于连接到所述原始-对偶图的输入或输出变量上的每一对约束实施以下子步骤:
确定分配给所述原始-对偶图的所述输入或输出变量的前向似然值v0F(t),在所述实数域中实施加法,使得:
v 0 F ( t ) = &Sigma; i = 1 d v i ( t ) d ,
在从所述实数域到所述复数域的变换之后,确定分配给连接到所述模2加法型约束上的所述变量的似然值,所述似然值被称为经变换前向似然值,使得:
所述原始-对偶图的所述输入或输出变量在变换之后表示为以下形式: w 0 F ( t ) = NL [ v 0 ( 0 ) + v 0 F ( t ) ] s 0 F ( t ) = sign [ v 0 ( 0 ) + v 0 F ( t ) ] ,
所述内部变量在变换之后表示为以下形式: s l F ( t ) = sign [ v l &prime; ( t ) ] , 其中l∈{1,...,d},
更新所述经变换前向似然值,在所述复数域实施加法,使得:
w l F ( t + 1 ) = w 0 F ( t ) + &Sigma; i = 1 , i &NotEqual; l d w i F ( t ) d - 1 以及 s l F ( t + 1 ) = &Pi; i = 0 , i &NotEqual; l d s i F ( t ) ,
更新连接到所述模2加法型约束上的所述内部变量的值,实施所述经更新经变换前向似然值从所述复数域到所述实数域的变换,使得:
v l &prime; ( t + 1 ) s l F ( t + 1 ) NL [ w l F ( t + 1 ) ] ,
其中:
v0(0)为分配给所述原始-对偶图的所述输入或输出变量的初始值,
vi(t)为连接到所述等式型约束上的所述内部变量,
v'l(t)为连接到所述模2加法型约束上的所述内部变量,
d为与所述原始-对偶图的约束相关联的约束的程度,
i∈{1,...,d},l∈{1,...,d},
NL[x]为非线性函数,使得:
6.根据权利要求4所述的用于解码的方法,其特征在于所述后向传播阶段对于连接到所述原始-对偶图的输入或输出变量上的每一对约束实施以下子步骤:
在从所述实数域到所述复数域的变换之后,确定分配给连接到所述模2加法型约束上的所述变量的似然值,所述似然值被称为经变换后向似然值,使得:
所述内部变量在变换之后表示为以下形式: s l B ( t ) = sign [ v l &prime; ( t ) ] , 其中l∈{1,...,d}:
所述原始-对偶图的所述输入或输出变量在变换之后表示为以下形式: w 0 B ( t ) = &Sigma; l = 1 d w l B ( t ) d s 0 B ( t ) = ( &Pi; l = 1 d s l B ( t ) ) ,
在变换之后,确定分配给所述原始-对偶图的所述输入或输出变量的后向似然值实施所述输入或输出变量从所述复数域到所述实数域的变换,使得:
v 0 B ( t ) = s 0 B ( t ) &times; NL [ w 0 B ( t ) ] ,
更新连接到所述等式型约束上的所述内部变量的值,在所述实数域中实施加法,使得:
v l ( t + 1 ) = v 0 ( 0 ) + v 0 B ( t ) + &Sigma; i = 1 , i &NotEqual; l d v i ( t ) d - 1 ,
更新所述原始-对偶图的所述输入或输出变量,使得:
v 0 ( t + 1 ) = v 0 F + v 0 ( 0 ) + v 0 B ( t ) ,
其中:
v0(0)为分配给所述原始-对偶图的所述输入或输出变量的初始值,
vi(t)为连接到所述等式型约束上的所述内部变量,
v'l(t)为连接到所述模2加法型约束上的所述内部变量,
d为与所述原始-对偶图的约束相关联的约束的程度,
i∈{1,...,d},l∈{1,...,d},
NL[x]为非线性函数,使得:
7.根据权利要求4所述的用于解码的方法,其特征在于它包含用于将所述原始-对偶图的所述输入变量、所述输出变量和所述内部变量初始化为零的预备步骤。
8.根据权利要求1所述的用于解码的方法,其特征在于所述原始-对偶图的至少两个输入或输出变量连接到相同的一对约束上,所述约束包含等式型约束和模2加法型约束。
9.一种用于解码经编码数据的装置,所述经编码数据包含源数据(S)和冗余数据(R),
所述冗余数据(R)是通过在编码时将错误校正码应用到所述源数据(S)上来获得,所述错误校正码可以由包含采用其系统形式的单位矩阵和可逆矩阵(P)的生成矩阵表示,所述可逆矩阵用于从所述源数据转换成所述冗余数据,
其特征在于所述装置包含用于解码的模块(12),所述模块同时实施被称为原始错误校正码的所述错误校正码以及被称为对偶错误校正码的码,所述码为所述原始错误校正码的对偶,方法为使用被称为原始-对偶图的经修改泰纳图,所述经修改泰纳图是通过将被称为原始图的对应于所述原始错误校正码的泰纳图与被称为对偶图的对应于所述对偶错误校正码的泰纳图进行叠加而获得,
所述叠加由对应于相同源数据的所述原始图的输入变量(x0,...,x5)与所述对偶图的输入变量(x0,...,x5)的两两连接以及对应于相同冗余数据的所述原始图的输出变量(r0,...,r5)与所述对偶图的输出变量(r0,...,r5)的两两连接组成。
11.一种用于编码源数据(S)从而传递包含所述源数据(S)和冗余数据(R)的经编码数据的方法,
其特征在于所述编码方法包含编码步骤(11),所述编码步骤同时实施:
被称为原始错误校正码的错误校正码,所述错误校正码可以由包含采用其系统形式的单位矩阵和可逆矩阵(P)的生成矩阵表示,所述可逆矩阵用于从所述源数据转换成所述冗余数据,以及
被称为对偶错误校正码的码,所述码为所述原始错误校正码的对偶,
所述编码步骤实施被称为原始-对偶图的经修改泰纳图,所述经修改泰纳图是通过将被称为原始图的对应于所述原始错误校正码的泰纳图与被称为对偶图的对应于所述对偶错误校正码的泰纳图进行叠加来获得,
所述叠加由对应于相同源数据的所述原始图的输入变量(x0,...,x5)与所述对偶图的输入变量(x0,...,x5)的两两连接以及对应于相同冗余数据的所述原始图的输出变量(r0,...,r5)与所述对偶图的输出变量(r0,...,r5)的两两连接组成。
12.一种用于源数据(S)的编码从而传递包含所述源数据(S)和冗余数据(R)的经编码数据的装置,
其特征在于所述装置包含编码模块(11),所述编码模块同时实施:
被称为原始错误校正码的错误校正码,所述错误校正码可以由包含采用其系统形式的单位矩阵和可逆矩阵(P)的生成矩阵表示,所述可逆矩阵用于从所述源数据转换成所述冗余数据,以及
被称为对偶错误校正码的码,所述码为所述原始错误校正码的对偶,
所述编码模块实施被称为原始-对偶图的经修改泰纳图,所述经修改泰纳图是通过将被称为原始图的对应于所述原始错误校正码的泰纳图与被称为对偶图的对应于所述对偶错误校正码的泰纳图进行叠加来获得,
所述叠加由对应于相同源数据的所述原始图的输入变量(x0,...,x5)与所述对偶图的输入变量(x0,...,x5)的两两连接以及对应于相同冗余数据的所述原始图的输出变量(r0,...,r5)与所述对偶图的输出变量(r0,...,r5)的两两连接组成。
13.一种用于数据的编码和解码的装置,
其特征在于它包含编码和解码模块,所述模块同时实施:
被称为原始错误校正码的错误校正码,所述错误校正码可以由包含采用其系统形式的单位矩阵和可逆矩阵(P)的生成矩阵表示,所述可逆矩阵用于从源数据转换成冗余数据,以及
被称为对偶错误校正码的码,所述码为所述原始错误校正码的对偶,
所述编码和解码模块实施被称为原始-对偶图的经修改泰纳图,所述经修改泰纳图是通过将被称为原始图的对应于所述原始错误校正码的泰纳图与被称为对偶图的对应于所述对偶错误校正码的泰纳图进行叠加来获得,
所述叠加由对应于相同源数据的所述原始图的输入变量(x0,...,x5)与所述对偶图的输入变量(x0,...,x5)的两两连接以及对应于相同冗余数据的所述原始图的输出变量(r0,...,r5)与所述对偶图的输出变量(r0,...,r5)的两两连接组成。
14.一种包含指令的计算机程序,当所述程序由处理器执行时,所述指令用于实施根据权利要求1所述的用于解码的方法或根据权利要求11所述的用于编码的方法。
CN201280049940.9A 2011-10-14 2012-10-11 错误校正器编码和解码 Active CN103959656B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1159323 2011-10-14
FR1159323A FR2981526A1 (fr) 2011-10-14 2011-10-14 Procede et dispositif de decodage de donnees codees a l'aide d'un code correcteur d'erreurs, procede et dispositif de codage, et programme d'ordinateur correspondants
PCT/FR2012/052320 WO2013054054A1 (fr) 2011-10-14 2012-10-11 Codage et decodage correcteur d'erreurs

Publications (2)

Publication Number Publication Date
CN103959656A true CN103959656A (zh) 2014-07-30
CN103959656B CN103959656B (zh) 2017-03-15

Family

ID=47116073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280049940.9A Active CN103959656B (zh) 2011-10-14 2012-10-11 错误校正器编码和解码

Country Status (6)

Country Link
US (1) US9397700B2 (zh)
EP (1) EP2766996B1 (zh)
KR (1) KR101908389B1 (zh)
CN (1) CN103959656B (zh)
FR (1) FR2981526A1 (zh)
WO (1) WO2013054054A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941504A (zh) * 2018-09-25 2020-03-31 西部数据技术公司 使用解码器和神经网络来解码数据
CN111722956A (zh) * 2019-03-19 2020-09-29 西部数据技术公司 Ldpc码长度调节

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112054809A (zh) * 2020-08-28 2020-12-08 杭州华澜微电子股份有限公司 改进的tpc纠错算法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299612A (zh) * 2008-06-10 2008-11-05 上海瀚讯无线技术有限公司 一种快速树图分解方法
US7930619B2 (en) * 2007-04-20 2011-04-19 Samsung Electronics Co., Ltd. Apparatus and method for encoding low density parity check codes in a communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930619B2 (en) * 2007-04-20 2011-04-19 Samsung Electronics Co., Ltd. Apparatus and method for encoding low density parity check codes in a communication system
CN101299612A (zh) * 2008-06-10 2008-11-05 上海瀚讯无线技术有限公司 一种快速树图分解方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
P.ADEE 等: "Near maximum likelihood soft-decision decoding of a particular class of rate-1/2 systematic linear block codes", 《ELECTRONICS LETTERS》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941504A (zh) * 2018-09-25 2020-03-31 西部数据技术公司 使用解码器和神经网络来解码数据
CN110941504B (zh) * 2018-09-25 2023-06-23 西部数据技术公司 使用解码器和神经网络来解码数据
CN111722956A (zh) * 2019-03-19 2020-09-29 西部数据技术公司 Ldpc码长度调节
CN111722956B (zh) * 2019-03-19 2024-04-09 西部数据技术公司 Ldpc码长度调节

Also Published As

Publication number Publication date
WO2013054054A1 (fr) 2013-04-18
KR20140092834A (ko) 2014-07-24
CN103959656B (zh) 2017-03-15
US9397700B2 (en) 2016-07-19
FR2981526A1 (fr) 2013-04-19
EP2766996A1 (fr) 2014-08-20
EP2766996B1 (fr) 2016-07-20
KR101908389B1 (ko) 2018-10-17
US20140281792A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
Jouguet et al. Long-distance continuous-variable quantum key distribution with a Gaussian modulation
CN102075198B (zh) 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
TWI485992B (zh) 猛禽碼之編碼加速裝置與方法
CN101478314B (zh) 一种里德-所罗门编码译码器及其译码的方法
CN110192366B (zh) 转换或再转换数据信号方法、数据传输和接收方法和系统
JP2000156646A (ja) 符号化装置及び方法、復号装置及び方法、信号処理装置、デ―タ伝送装置、無線通信装置、ネットワ―クステ―ション、並びに情報処理装置及び方法
CN108055044A (zh) 一种基于ldpc码和极化码的级联系统
US8952834B1 (en) Methods and systems for low weight coding
Sutter et al. Achieving the capacity of any DMC using only polar codes
CN111464300B (zh) 一种适用于连续变量量子密钥分发的高速后处理方法
Zhang et al. Efficient architectures for generalized integrated interleaved decoder
CN112688780A (zh) 一种基于离散变量的qkd密钥协商方法
CN112468161A (zh) 一种rs高速编码电路
CN103959656A (zh) 错误校正器编码和解码
EP3413523B1 (en) Distribution matcher and method of operating a distribution matcher
CN100417031C (zh) 宽带无线接入系统中里德索洛门卷积级联码的实现方法
CN112889221A (zh) 用于非二进制码的消息传递解码的校验节点处理单元中的偏移值确定
Tan et al. Area-efficient pipelined vlsi architecture for polar decoder
CN107257244A (zh) 一种基于广播环境下的喷泉码编码方法
Mondal et al. Hardware implementation of Ring-LWE lattice cryptography with BCH and Gray coding based error correction
CN117254823B (zh) 一种并行rs编码方法、装置、系统及计算机存储介质
JP2008177695A (ja) 復調装置および符号化装置、並びに復調方法および符号化方法
Zhao et al. Performance analysis of bit-interleaved polar coded modulation
Niu Advanced Channel Coding for 6G
KR101267756B1 (ko) 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant