CN1571282B - 纠错编码方法、编码方法、相应的编码和解码装置 - Google Patents

纠错编码方法、编码方法、相应的编码和解码装置 Download PDF

Info

Publication number
CN1571282B
CN1571282B CN2004100552253A CN200410055225A CN1571282B CN 1571282 B CN1571282 B CN 1571282B CN 2004100552253 A CN2004100552253 A CN 2004100552253A CN 200410055225 A CN200410055225 A CN 200410055225A CN 1571282 B CN1571282 B CN 1571282B
Authority
CN
China
Prior art keywords
coding method
vector
code
coding
sign indicating
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.)
Expired - Fee Related
Application number
CN2004100552253A
Other languages
English (en)
Other versions
CN1571282A (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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of CN1571282A publication Critical patent/CN1571282A/zh
Application granted granted Critical
Publication of CN1571282B publication Critical patent/CN1571282B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096855Systems involving transmission of navigation instructions to the vehicle where the output is provided in a suitable form to the driver
    • G08G1/096872Systems involving transmission of navigation instructions to the vehicle where the output is provided in a suitable form to the driver where instructions are given per voice
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • 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/033Theoretical methods to calculate these checking 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
    • 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
    • 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
    • H03M13/296Particular turbo code 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/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
    • H03M13/2996Tail biting
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original 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/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/1505Golay 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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Abstract

本发明涉及一种纠错编码方法,它使用一个预定基本码的至少两个不同部分,根据分支标记矢量(b0,b1,b2,b3),将到达矢量(s2,s3)和开始状态矢量(s0,s1)结合起来,定义一个码字,当所述分支标记矢量的元素的顺序和/或角色被改变时所述基本码的两个部分是不同的。

Description

纠错编码方法、编码方法、相应的编码和解码装置
技术领域
本发明属于数字通信领域。更具体地说,本发明涉及纠错编码。特别地但非唯一地是本发明涉及对叫作“turbo码”的编码。
本发明可以应用于在需要或者至少希望使用纠错码的所有领域中。因此,本发明可被应用到如:
-防止由于物理传输信道中固有的噪音和干扰出现的错误(普通的纠错编码和用于多天线系统的时空码);
-来自信息源的信号压缩,所述信息源:图像、声音、信号和数据;
-防止数据大容量存储器的存储出现错误,比如计算机硬盘或微处理器。
背景技术
目前已经有了许多用于纠错的编码技术。关于该主题的第一次研究要追溯到20世纪40年代。那个时候香农(Shannon)创立了现在仍旧在使用的信息理论。后来大量的编码系列被提出来。
这样就出现了卷积码(根据维特比算法,它可以显著地用于网格编码),或者甚至目前被指定作为“turbo码”的编码方案,它是1993年由C.Berrou和A.Glavieux提出的,比如在文章“近代香农限制纠错编码和解码:turbo码”(1993年5月,ICC”93的校对稿,1064-1070页)中。
这种技术成为许多研究和改进的主题。
称作LDPC码的码系列同样是为人们所知的。
turbo码和LDPC码以及更多的通常所有的链接码在纠错方面是提供以较大的块容量,特别是以至少几千或数万信息比特的块而著称的性能。
遗憾的是,这种信息比特块的处理将意味着在解码上的大量计算复杂度,这实际上证实了它只能和相对造价昂贵的高计算能力的微处理器兼容。
此外,另一方面该结构在对小容量块的纠错方面不是非常有效,比如一百或一千比特的序列块。
但是,目前在数字通信领域中强烈需要小型的分组通信,它假定应用短长度的码。
发明内容
本发明的目的主要是提供解决这种需要的方法和克服现有技术的缺陷。
更具体而言,本发明的目的是提供一种用于减少解码复杂度的纠错编码技术,尤其是对于turbo码类型的纠错编码技术。
换句话说,本发明的目的是提供一种用于生产简单解码器从而减少成本而无需降低纠错质量的编码技术。
本发明的另一个目的是提供一种可以很好的适用于小容量块的纠错编码技术。
换句话说,本发明的另一个目的是提供这样的一种技术,即尽管是小块容量它也提供合适的最小距离。
本发明的又一个目的是提供一种可以以简单的方式产生编码和解码的技术,因此可以很容易的被应用。
这些以及其它的目标会在后面更清楚的出现,它们是通过一种纠错编码方法来实现,根据该方法,使用一个预定基本码的至少两个不同部分,根据分支标记矢量(b0,b1,b2,b3),把到达矢量(s2,s3)和开始状态矢量(s0,s1)结合起来,定义一个码字,当所述分支标记矢量的码元的顺序和/或角色被改变时所述基本码的两个部分是不同的。
这样形成的码非常简单,因为它是从非常低复杂度和非常小容量的基本程序块(可以随意的制造成有线模拟线路)中形成的,但仍然很有效。后面将会看到,已知码本身可以明显的被复制但是是以一种非常简化的形式。
更具体的说,本发明相对于现有技术减少了至少2(显著的通过使用少量状态的网格群,这种情况下的最小4态二进制码将在后面解释)比率的复杂度,但可以获得相同的纠正能力。
此外,由这些网格群建立的短长度的二进制码具有极好的最小距离,因此,尽管在二进制实例中只有4态的网格群和小块容量,它也比现有的“turbo码”具有更强的纠错能力。
优选的,所述基本码的码字已经经历分隔成四个分组(s0,s1)、(s2,s3)、(b0,b1)、(b2,b3),从而使除了零码字之外的每个码字都包括至少四个分组中的三个亮分组,当一个分组包括至少一个值为1的比特时它被认为被照亮。
这样允许“1”得到延展(propagate)并且码距增加。
有利的是,所述基本码部分是按顺序相联的,以形成至少一个编码网格。这种纠错能力可以通过形成网格的级序列(部分)的最佳选择得到最优化。
根据优选实施例,所述网格或网格群是循环的。
这样就能够在信息比特之间实现纠正能力的优化和保护水平的一致化。
这种情况下,优选的保留编码结果是,在一个所述基本码部分的所有可能的开始状态中被选择作为开始部分的一个具有和它的开始状态相同的到达状态的结果。
优选的,本发明的编码方法包括两个网格,其中编码的源数据是以不同的顺序被输入。
根据优选实施例,所述编码结果是经所述网格和网格群传递的信息和冗余元素的整体。
穿孔可以方便的被应用到所述元素上形成编码结果。
同样,可以根据本发明的详细方面来提供所述部分的至少一部分穿孔。更可取地,使用至少左边穿孔的部分和至少右边穿孔的部分。
根据本发明的优选实施例,所述网格或网格群至少被复制一次,以便有至少两个通过置换装置相互连接的编码装置。
这样,要进行编码的数据可以被方便的传送到每一个所述编码组,尤其是有移位。
根据本发明的第一种方法,所述矢量由二进制元素组成。这样,所述基本码最好是一个[8,4,4]汉明(Hamming)码。
该编码方法可以用于这种情况,如下面部分:
.Hα:(y0,y1,x0,x1)→(b0,b1,b2,b3)
.Hβ:(x0,x1,y0,y1)→(b0,b1,b2,b3)
.Hγ:(x0,y0,y1,x1)→(b0,b1,b2,b3)
.Hδ:(y0,x0,x1,y1)→(b0,b1,b2,b3)
.Hε:(y0,x0,y1,x1)→(b0,b1,b2,b3)
.Hφ:(x0,y0,x1,y1)→(b0,b1,b2,b3)
有利的,另外使用下面的穿孔部分:
Hg:(*,*,x0,x1)→(*,*,b2,b3)
Hd:(x0,x1,*,*)→(b0,b1,*,*)
根据一个优选实施例,编码包括三个编码组,每个组分别经过恒等置换、一个4比特循环移位置换和一个8比特循环移位置换来接收12个编码比特。
这样,可以很好的排列所述编码测试以产生一个[24,12,8]戈莱(Golay)码。
根据另一种优选方法,所述矢量由可以假定4个值的基本字组成。这样,所述基本码最好是一个具有参数[8,4,6]的Nordstrom-Robinson码。
根据本发明的另外一种优选方法,所述矢量由可以假定8个值的基本字组成。这样,所述基本码可特别是一个M[8,4]码。
根据本发明的优选方面,所包含的码是“turbo码”类型。
本发明还涉及应用该编码方法的纠错编码装置。
本发明进一步还涉及相应的解码装置和方法。
这种方法所采用的步骤与编码时采用的步骤是相对称的。这样,利用一个预定基本码的至少两个不同部分,根据分支标记矢量(b0,b1,b2,b3),将到达矢量(s2,s3)和开始状态矢量(s0,s1)结合起来,当所述分支标记矢量的元素的顺序和/或角色被改变时所述基本码的两个部分是不同的。
更好的是,所述解码方法是迭代的。
有利地,每一步迭代时,在与由所述基本码部分定义的至少一个网格相关联的度量值上计算在后概率,并且当得到一个稳定的结果时和/或在预定数量的迭代后中断所述迭代。
附图说明
通过阅读下面描述的本发明的实施例,借助于简单的说明性的和非限制性的例子以及其中的附图,会清楚的看到本发明的其它特征和优点。
-图1是根据本发明的第一实施例所使用的基本码的基本部分以及相应的Tanner图;
-图2是根据图1部分所建立的并联turbo码的示例;
-图3是根据图1部分所建立的另一个网格;
-图4是使用根据图3中网格的一个码的具有三个置换的并联turbo码;
-图5a-5e是不同类型的码和不同迭代次数的二进制错误率曲线;
-图6是本发明的技术产生的解码结果和其它三种现有技术的比较;
-图7是一个16态基本部分码的Tanner图;
-图8是一个64态基本部分码的Tanner图。
具体实施方式
发明的基本原理:
如上所述,本发明的目的是提供与已知技术相比具有比较小解码复杂度的编码,尤其是“turbo码”,同时即使是小块容量,也能保证良好的纠错能力。
后面将会提到,更明显的是与对于同样纠正能力的现有技术相比通过使用少量状态的网格群(这种情况下是一个最小4态的二进制码),本发明中可以获得通过至少等于2的比率的复杂度的减小。
此外,由这些网格建立的短长度的码有更好的最小距离,因此尽管块和网格群的容量小,它也比已有的“turbo码”的纠错能力更强。
对于二进制码,本发明的一个重要的技术要素是使用从一个基本部分得到的4态网格级。在后面描述的实施例中,这部分叫做“H”,以参数[8,4,4]表示扩展的汉明码。
根据本发明得到的turbo码的简单性和性能是来自于这样的事实,即小码是唯一的并且它有8比特长,4比特是有用信息,在码字之间的最小距离等于4。
通过改变分支标记比特的顺序和角色(输入或输出),就能将网格部分或级从基本部分中分离出来。
另外一个重要方面是根据一个主要的方法,把用作建立基本级的小的基本码分隔成4个比特分组,这种分隔使得所有的非零码字在4个分组中总是具有至少3个非零分组,比如在每个分组中它们至少有1个非零比特。后面会提到4个分组中总是具有至少3个亮分组,当至少1个比特非零时一个组被照亮。
在前面提到的{8,4,4}汉明码例子中,4个分组由2个比特组成。
根据本发明,每个网格可以看作是从一个基本部分中分离出来的不同级序列。选择好这些序列会提供最佳的纠错能力。
优选地,这样获得的网格是循环的(或“咬尾”),它提供了最佳纠错能力和信息比特间保护水平的一致化。
对于环Z4上面的代码(也就是配备有模4加法和乘法的{0,1,2,3}组),一个均衡码或一个具有参数[8,4,6]的Nordstrom-Robinson码最好是和Lee距离一起使用。
这样就获得了16态网格。
同样,为了分别获得64和256态的级,通过使用两个其它的小的执行码就可以在Z8和Z16上产生代码。
具有在Z4(Z8,分别地)上的这些代码,可明显的建立尤其执行MDP4(4点相位调制)(分别是MDP8,MDP16或MAQ16(16点正交幅度调制))的编码调制。
在Z4上,它们因此可以具有较低的复杂度,可以扩展成MDP16或MAQ16编码调制。类似的,在组Z8上,它们可以扩展成一个MAQ64调制。
实际上,一个MDP4调制可被拆分成两个MDP2调制,或一个MAQ16调制可被拆分成两个MDP4调制,一个MAQ32调制可被拆分成一个MAQ8调制和一个MDP4调制的相乘,一个MAQ64调制可被拆分成两个MDP8调制,或者一个MAQ256调制可被拆分成两个MDP16调制。
因此Z4或Z8上产生的网格群是完全的基本程序块,复杂度低,以较低的成本建立编码器/解码器,性能较高,更容易被解码。
2)用于二进制“turbo-码”的状态基本部分
a)用于二进制“turbo-码”的状态非穿孔基本网格部分
基本网格“H”部分描述了18,4,4]汉明码的字段,它有如下的生成矩阵GH
G H = 1 4 P = 10000111 01001101 00101011 00011110
图1中描述的H部分,将[8,4,4]汉明码的编码字组表示为从开始状态(s0,s1)通过标记分支(b0,b1,b2,b3)到到达状态(s2,s3)的路径组。
状态和标记矢量的关系通过矩阵等式表示如下:
(s0,s1,s2,s3)=(b0,b1,b2,b3)P.
以标准方式列出标记:相对于每个开始状态,相关的到达状态的顺序是00,01,10,11。该部分的Tanner图在该部分的右边描述。
通过下面2比特“亮”分组的分布,[8,4,4]汉明码被拆分成4个分组(s0,s1),(s2,s3),(b0,b1,)和(b2,b3):
·在4分组中具有0亮分组的1个字(零字),
·在4分组中具有3个亮分组的12个字,即码字的75%,
·在4分组中具有4个亮分组的3个字,即码字的18.75%。
具有“4分组中(至少)有3个亮分组”这样的局部特性,就可以在全局中产生影响,使级连码的Tanner图不能包括一个太小容量的非零状态的子图,从而能获得适当的最小距离。
从H部衍生的6个非穿孔部分叫做Hα,Hβ,Hγ,Hδ,Hε,Hφ,它们的的信息比特(x0,x1)和冗余比特(y0,y1)分别对应于比特(b0,b1,b2,b3)如:
.Hα:(y0,y1,x0,x1)→(b0,b1,b2,b3)
.Hβ:(x0,x1,y0,y1)→(b0,b1,b2,b3)
.Hγ:(x0,y0,y1,x1)→(b0,b1,b2,b3)
.Hδ:(y0,x0,x1,y1)→(b0,b1,b2,b3)
.Hε:(y0,x0,y1,x1)→(b0,b1,b2,b3)
.Hφ:(x0,y0,x1,y1)→(b0,b1,b2,b3)
在H部分中利用一个标记比特或者作为输入(信息比特)或者作为输出(冗余比特)完全改变了布尔功能。大量的网格选择(以及码)因此被获得,对应于部分序列的网格将在图2中进行描述。
图2实际上给出了一个示范性的并联“turbo码”,它具有包括由上面所列部分建立的两个“咬尾”循环网格的一个置换。
二进制“turbo码”的4态穿孔基本网格部分
可以使用穿孔的基本部分。
也可以通过从H部开始穿孔在左边或右边上的两个比特来创建穿孔基本部分,例如在所有的在前非穿孔部分上,并且它们被标记为基本部分的Hg和Hd
Hg:(*,*,x0,x1)→(*,*,b2,b3)
Hd:(x0,x1,*,*)→(b0,b1,*,*)
穿孔(删除的)比特用*来代替。先前记载的其它分离和穿孔部分以
Figure B2004100552253D00071
Figure B2004100552253D00072
来代替,其中a∈{α,β,γ,δ,ε,φ}.
图3是一个示范性的循环网格,它利用了这样的部分并且对应于具有参数C[16,12,12]的码。它由序列(Hg,H,Hg,Hd,H,Hd)组成,在该序列上,12个信息比特Xi,(i=0,1,..11)与具有参数C[16,12,12]的码的4个冗余比特Rj(j=0,1,...,3)相匹配。
下面,图4是一个使用图3中的网格的例子(三个一组),通过让3个网格并联,使得先前的码C[16,12,12]中的每一个接收位于星状中心处的12个信息比特。
块R表示12-比特信息矢量的三重的迭代码。
在这个特别例子中置换非常简单:标记为ID的恒等置换对应于序列(X5,X9,X4,X11,X6,X8,X10,X0,X1,X2,X3,X7),并且分别以D4和D8标记的4比特和8比特的循环移位置换相对于恒等序列传送由4位和8位循环移位的序列。
由这样的序列和这样的组合网格建立的“turbo码”可以是多种多样的:串联“turbo码”,并联“turbo码”,混合串联-并联“turbo码”,“迭代累积”码,...
c)“turbo码”的编码描述
用于实现图2中例子的编码的输入数据是信息比特(x0,x1,...x15),冗余比特(y0,y1,...y15)和(z0,z1,...z15)是从该信息比特中计算出。在该例子的结构中心设置的信息比特在一个网格中是以自然顺序输入的,而在另外一个网格中是置换的。
每一个循环网格都有几个开始状态(4,8或16),一个简单的编码方式是任意选择一个部分作为开始部分,并且为标记比特x和每个可能开始状态(s0,s1)计算和存储冗余比特y和到达状态(s2,s3)。
例如,对于4个开始状态{00,01,10,11}中的每一个以及对于开始部分的2个信息比特(x0,x1),通过把网格部分作为一个逻辑表来计算(读出)下一个状态。
在网格是循环(“咬尾”)时,它从下一个部分再次开始,直到返回到开始部分的输入:一个码字就是一个简单的电路,它由在网格的每一部分中的分支组成,从而具有同样的开始和到达状态。
因此,唯一保留的编码结果就是到达状态与初始状态相等的结果。编码结果是信息和冗余比特组,任何一个组都可以在传送前根据可能的穿孔来选择传送或不传送。
当然,根据前面描述的算法,一次可以计算所有的码-生成矩阵,并且通过矢量矩阵乘法将该码-生成矩阵用于产生编码,但是这在计算总数上会代价更高。
d)“turbo码”的迭代解码的描述
迭代“软”解码可以会在现有的“turbo码”的标准解码上得到支持,该支持是来自在依据解码器输出时接收的信息和冗余比特上的先前可用信息。
在图2中的Tanner图中以黑点表示这些比特。在每个网格上,根据BCJR算法,或它的一个变量,使用度量值(SISO,SOVA,SUBMAP...),从可用的在前概率中计算在后概率,以分离出插入到网格中或其它网格群中的所谓“非本征”信息片。该过程一直迭代下去直到稳定或迭代固定次数之后。
图5a-5e是由该算法产生的几个二进制错误率曲线(TEB对有用信噪比Eb/N0),这是对于在高斯信道和2态相位调制“MDP2”上模拟的具有1/2和1/3的长度和产出的几个码。
图6是关于对有用信息的200比特进行编码的长度为400的码的TEBs的比较曲线,它是根据16态网格(或相等的复杂度)的现有技术和根据本发明中对这些长度的一个码的第一(还不是最优的)结果来比较的曲线。
对于有关两次较小的复杂度来说,可以看到没有最佳化穿孔和结构也已经得到了值得比较的性能。
分别标记为CT(3,1)和TC(21,37)的曲线分别对应于以3树码建立的现有Li-Ping“turbo码”和对应于以16态二进制网格建立的Berrou“turbo码”。
可以看到根据本发明建立的4态“turbo码”在3.5dB上(曲线外)具有明显改善的信噪比Eb/N0。
但是,这些新“turbo码”还没有根据它们的置换和它们的结构实现最优化,而现有技术的那些“turbo码”已相当详尽的实现最优化了。
所示例子中,用到的新网格的结构实际上不是最佳的和不变的,因为它独有的由H部分组成。每个网格中多种类型的部分在纠错能力方面会得到提高,并且TEB曲线会因此得到改善。
3)Z4上用于“turbo码”的16态基本网格部分
“Z4上”基本网格部分“N”描述了一组码字,它的码元(symbol)是从整数模数4的环中取出,其中Z4={0,1,2,3},它与具有参数N[8,4,6]的Robinson-Nordstrom码等效,所具有的生成矩阵GN如下:
G N = 1 4 P N = 10002111 01003321 00103132 00013213
Z4的4个码元{0,1,2,3}对应于下面的2比特Gray映射:
0 ↔ { 0,0 } , 1 ↔ { 0,1 } , 2 ↔ { 1,1 } , 3 ↔ { 1,0 } ,
图7中通过部分N的Tanner图对N部分进行了简单描述,它借助于从开始状态(s0,s1)通过标记分支(b0,b1,b2,b3)到到达状态(s2,s3)的一组路径来表示N[8,4,6]码的码字组。标记和状态矢量的关系通过矩阵等式表示如下:
(s0,s1,s2,s3)=(b0,b1,b2,b3)PN
N[8,4,6]码在Z4上分成2码元的4个分组(s0,s1),(s2,s3),(b0,b1)和(b2,b3),它有下面分布的2个“亮”码元分组:
·在4分组中具有0个亮分组的1个字(零字),
·在4分组中具有3个亮分组的60个字,即约为码字的23%,
·在4分组中具有4个亮分组的195个字,即码字的76%。
值得注意的是在Z4上的N[8,4,6]码比在关于汉明[8,4,4]二进制码上更强调“至少4中有3”的特性。既然Z4上的每一个2态码元都用2比特编码,因此使用该16态基本部分建立的网格是非常引人关注的。
可以应用在基本块的标记上穿孔和排序码元的同样模式来获得所有分离部分,类似于从先前所示的H中分离出的部分。
4)在Z8上对于“turbo码”的64态基本部分
“Z8上”基本网格的“M”部分描述了具有从整数模数8的环中取出的码元的一组码字,其中Z8={0,1,...,7},它有一个生成矩阵GM如下:
G M = 1 4 P M = 10001574 01004157 00107415 00015741
Z8的码元{0,1,...,7}对应于3比特整数的标准二进制编码:
0 ↔ { 0,0,0 } , 1 ↔ { 0,0,1 } , 2 ↔ { 0,1,0 } , 3 ↔ { 0,1,1 } , 4 ↔ { 1,0,0 } , 5 ↔ { 1,0,1 } , 6 ↔ { 1,1 , 0 } , 7 ↔ { 1,1,1 } ,
在图8中通过M部分的Tanner图对它进行了简单描述,它借助于从开始状态(s0,s1)通过标记分支(b0,b1,b2,b3)到到达状态(s2,s3)的一组路径来表示M[8,4]码的一组码字。状态和标记矢量的关系通过矩阵等式表示如下:
(s0,s1,s2,s3)=(b0,b1,b2,b3)PM
M[8,4]码在Z8上分成2码元的4个分组(s0,s1),(s2,s3),(b0,b1)和(b2,b3),它有下面分布的2个“亮”码元分组:
·在4分组中具有0亮分组的1个字(零字),
·在4分组中具有3个亮分组的252个字,即约为码字的6%,
·在4分组中具有4个亮分组的3443个字,即码字的94%。
值得注意的是在Z8上的M[8,4]比在关于四进制的N[8,4,6]和汉明[8,4,4]二进制码更强调“至少4中有3”的特性。
当然,其它的码[8,4]可被发现具有相同的“至少4中有3”特性,这在网格级的级联过程中以及使用网格建立大型码的过程中是必要和有效的。
由于Z8上的每一个2态码元都用3比特编码,因此使用由该64态基本部分建立的网格是非常引人关注的。
可以使用在基本码块的标记上穿孔和排序码元的同样模式来得到所有分离部分,类似于从先前所示的N和H部分中分离出的部分。

Claims (28)

1.一种纠错编码方法,其特征在于使用一个基本码的至少两个不同部分,根据分支标记矢量(b0,b1,b2,b3)将到达矢量(s2,s3)和开始状态矢量(s0,s1)结合起来,定义一个码字,在以下的至少一种情况中所述基本码的两个部分是不同的:
-在两个部分中的每一个的所述码字中,所述分支标记矢量的元素的顺序不同,或者
-所述分支标记矢量的元素中的至少一个的角色,即所述部分的输入或输出不同。
2.根据权利要求1的编码方法,其特征在于所述基本码的码字被分成四个分组(s0,s1),(s2,s3),(b0,b1),(b2,b3),这样除了零码字之外,每个码字都包括四个分组中的至少三个被照亮的分组,其中,当一个分组包括至少一个值为1的比特时认为该分组被照亮。
3.根据权利要求1或2的编码方法,其特征在于所述基本码部分依次相关联,以便形成至少一个编码网格。
4.根据权利要求3的编码方法,其特征在于所述网格是循环的。
5.根据权利要求3或4的编码方法,其特征在于它包括两个网格,其中以不同的顺序来输入要编码的源数据。
6.根据权利要求4或5的编码方法,其特征在于保留的编码结果是在所述基本码部分的一个部分的所有可能开始状态中被选作开始部分的一个到达状态和它的开始状态相同的结果。
7.根据权利要求6的编码方法,其特征在于所述编码结果是由所述网格提供的一组信息和冗余元素。
8.根据权利要求7的编码方法,其特征在于在所述元素上施加穿孔形成编码结果。
9.根据权利要求1或8的编码方法,其特征在于所述部分的至少一个部分被穿孔。
10.根据权利要求9的编码方法,其特征在于使用至少一个左边穿孔部分和至少一个右边穿孔部分。
11.根据权利要求3的编码方法,其特征在于所述网格至少被复制一次,以具有通过置换手段互联的至少两个编码组。
12.根据权利要求11的编码方法,其特征在于要编码的数据被移位地传送给每一个所述编码组。
13.根据权利要求1或12的编码方法,其特征在于所述开始状态矢量和所述到达矢量由二进制元素组成。
14.根据权利要求13的编码方法,其特征在于所述基本码是一个汉明[8,4,4]码。
15.根据权利要求14的编码方法,其特征在于它应用下面部分:
.Hα:(y0,y1,x0,x1)→(b0,b1,b2,b3)
.Hβ:(x0,x1,y0,y1)→(b0,b1,b2,b3)
.Hγ:(x0,y0,y1,x1)→(b0,b1,b2,b3)
.Hδ:(y0,x0,x1,y1)→(b0,b1,b2,b3)
.Hε:(y0,x0,y1,x1)→(b0,b1,b2,b3)
.Hφ:(x0,y0,x1,y1)→(b0,b1,b2,b3)。
16.根据权利要求10、14和15的任一个的编码方法,其特征在于它应用下面的穿孔部分:
Hg:(*,*,x0,x1)→(*,*,b2,b3)
Hd:(x0,x1,*,*)→(b0,b1,*,*)。
17.根据权利要求14、16和11的任一个的编码方法,其特征在于它包括三个编码组,每一个编码组分别通过一个恒等置换、一个4比特循环移位置换和一个8比特循环移位置换来接收12个编码比特。
18.根据权利要求17的编码方法,其特征在于所述编码组被构成以产生一个戈莱[24,12,8]码。
19.根据权利要求1或12的编码方法,其特征在于所述开始状态矢量和所述到达矢量包括可以假定4个值的基本字。
20.根据权利要求19的编码方法,其特征在于所述基本码是一个具有参数[8,4,6]的Nordstrom-Robinson码。
21.根据权利要求1或12的编码方法,其特征在于所述开始状态矢量和所述到达矢量包括可以假定8个值的基本字。
22.根据权利要求21的编码方法,其特征在于所述基本码是一个N16Nordstorm-Robinson码。
23.根据权利要求1或22的任一个的编码方法,其特征在于所述基本码属于“turbo码”类型。
24.一种纠错编码装置,其特征在于它包括对应于一个基本码的至少两个不同部分的至少两个编码模块,根据分支标记矢量(b0,b1,b2,b3)将到达矢量(s2,s3)和开始状态矢量(s0,s1)结合起来,定义一个码字,
在以下的至少一种情况中所述基本码的两个部分是不同的:
-在两个部分中的每一个的所述码字中,所述分支标记矢量的元素的顺序不同,或者
-所述分支标记矢量的元素中的至少一个的角色,即所述部分的输入或输出不同。
25.一种用于解码根据权利要求1至23的任一个权利要求的编码方法所编码的数据的方法,其特征在于使用一个基本码的至少两个不同部分,根据分支标记矢量(b0,b1,b2,b3)将到达矢量(s2,s3)和开始状态矢量(s0,s1)结合起来,
在以下的至少一种情况中所述基本码的两个部分是不同的:
-在两个部分中的每一个的所述码字中,所述分支标记矢量的元素的顺序不同,或者
-所述分支标记矢量的元素中的至少一个的角色,即所述部分的输入或输出不同。
26.根据权利要求25的解码方法,其特征在于它是迭代的。
27.根据权利要求26的解码方法,其特征在于,每一步迭代时,在与所述基本码部分定义的至少一个网格相关联的度量值上计算在后概率,并且当获得一个稳定结果和/或在预定次数迭代后中断所述迭代。
28.一种用于解码根据权利要求1至23的任一个权利要求的编码方法所编码的数据的装置,其特征在于它包括对应于一个基本码的至少两个不同部分的至少两个解码模块,根据分支标记矢量(b0,b1,b2,b3)将到达矢量(s2,s3)和开始状态矢量(s0,s1)结合起来,
在以下的至少一种情况中所述基本码的两个部分是不同的:
-在两个部分中的每一个的所述码字中,所述分支标记矢量的元素的顺序不同,或者
-所述分支标记矢量的元素中的至少一个的角色,即所述部分的输入或输出不同。
CN2004100552253A 2003-03-31 2004-03-31 纠错编码方法、编码方法、相应的编码和解码装置 Expired - Fee Related CN1571282B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0303989A FR2853164A1 (fr) 2003-03-31 2003-03-31 Procede de codage correcteur d'erreur utilisant au moins deux fois un meme code elementaire, procede de codage, dispositifs de codage et de decodage correspondants
FR0303989 2003-03-31

Publications (2)

Publication Number Publication Date
CN1571282A CN1571282A (zh) 2005-01-26
CN1571282B true CN1571282B (zh) 2010-10-06

Family

ID=32947341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004100552253A Expired - Fee Related CN1571282B (zh) 2003-03-31 2004-03-31 纠错编码方法、编码方法、相应的编码和解码装置

Country Status (9)

Country Link
US (1) US7392455B2 (zh)
EP (1) EP1471647B1 (zh)
JP (1) JP4593955B2 (zh)
KR (1) KR101154229B1 (zh)
CN (1) CN1571282B (zh)
AT (1) ATE363156T1 (zh)
DE (1) DE602004006558T2 (zh)
ES (1) ES2287674T3 (zh)
FR (1) FR2853164A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2037586A1 (en) * 2007-09-14 2009-03-18 France Télécom Encoding method and device for Tail-biting Trellis LDPC codes
GB2455283A (en) * 2007-10-31 2009-06-10 Hewlett Packard Development Co Error correction in data communication apparatus using toroidal-web Tanner graph
US20090282313A1 (en) * 2008-05-07 2009-11-12 Legend Silicon Corp. Method and apparatus for hard decision bounded distance decoding of nordstrom robinson code
US10193566B2 (en) * 2012-09-21 2019-01-29 Nippon Telegraph And Telephone Corporation Encoding/decoding system for parallel data
CN110419166B (zh) * 2017-03-09 2023-03-28 三菱电机株式会社 纠错装置和纠错方法
CN107612561B (zh) * 2017-09-30 2021-02-02 武汉虹信科技发展有限责任公司 一种编码、译码方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
CN1390391A (zh) * 1999-09-15 2003-01-08 艾利森电话股份有限公司 并行涡轮编码器实施方案

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2805106A1 (fr) * 2000-02-14 2001-08-17 Mitsubishi Electric Inf Tech Procede de transmission numerique de type a codage correcteur d'erreurs
US6539367B1 (en) * 2000-05-26 2003-03-25 Agere Systems Inc. Methods and apparatus for decoding of general codes on probability dependency graphs
FR2816773B1 (fr) * 2000-11-10 2004-11-26 France Telecom Module, dispositif et procede de decodage a haut debit, d'un code concatene
JP2002314433A (ja) * 2001-04-04 2002-10-25 Daewoo Electronics Co Ltd 誤り訂正可能なチャンネルコーディング方法
EP1317070A1 (en) * 2001-12-03 2003-06-04 Mitsubishi Electric Information Technology Centre Europe B.V. Method for obtaining from a block turbo-code an error correcting code of desired parameters
US7484158B2 (en) * 2003-12-03 2009-01-27 Infineon Technologies Ag Method for decoding a low-density parity check (LDPC) codeword

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
CN1390391A (zh) * 1999-09-15 2003-01-08 艾利森电话股份有限公司 并行涡轮编码器实施方案

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CN 1390391 A,全文.

Also Published As

Publication number Publication date
US7392455B2 (en) 2008-06-24
FR2853164A1 (fr) 2004-10-01
ATE363156T1 (de) 2007-06-15
EP1471647A2 (fr) 2004-10-27
JP2004304807A (ja) 2004-10-28
KR20040088385A (ko) 2004-10-16
KR101154229B1 (ko) 2012-06-07
US20050210363A1 (en) 2005-09-22
EP1471647A3 (fr) 2004-11-03
EP1471647B1 (fr) 2007-05-23
DE602004006558D1 (de) 2007-07-05
DE602004006558T2 (de) 2007-12-27
CN1571282A (zh) 2005-01-26
ES2287674T3 (es) 2007-12-16
JP4593955B2 (ja) 2010-12-08

Similar Documents

Publication Publication Date Title
US4933956A (en) Simplified decoding of lattices and codes
US8526547B2 (en) System and method performing Quadrature Amplitude Modulation by combining co-sets and strongly coded co-set identifiers
CA2147816C (en) Punctured convolutional encoder
CN101981932B (zh) 用于对信号译码的装置和方法
US5537424A (en) Matched spectral null codes with partitioned systolic trellis structures
JP3280183B2 (ja) 通信システムおよび情報処理方法
US5944850A (en) Digital transmission system and method comprising a punctured product code combined with a quadrature amplitude modulation
CN101904101A (zh) 编码器、解码器、编码方法和解码方法
JP2001522198A (ja) 時間可変格子符号
CN102075198A (zh) 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
CN110278001B (zh) 基于深度学习的极化码分区译码方法
US5594742A (en) Bidirectional trellis coding
CN1571282B (zh) 纠错编码方法、编码方法、相应的编码和解码装置
CN111786683A (zh) 一种低复杂度的极化码多码块译码器
CN108055107B (zh) 一种基于穿刺极化码的信息通信方法
CN112165338A (zh) 一种卷积码随机交织序列交织关系的估计方法
CN100593911C (zh) 一种对通信系统中接收到的层数据进行解码的方法和系统
CN110752851A (zh) 一种基于分层奇偶重排的极化码周期性凿孔图样构造方法
CN111786744B (zh) 一种基于avx-512指令集的5g极化码自适应高效译码方法
CN100461116C (zh) 用于在块相干通信系统中的交织的方法和设备
CN101471672B (zh) 低密度奇偶校验码的编码方法和编码器
US20210203362A1 (en) Method of interleaved polar codes and interleaved polar encoder used therein
JP4739266B2 (ja) 復調装置および復調方法
KR101267756B1 (ko) 가변 부호화율 불규칙 반복 다상 누산 부호화 및 복호화 방법과 이를 위한 장치
WO2003023977A1 (fr) Procede et dispositif emetteur en diversite

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101006

Termination date: 20170331