CN101573872B - 用于对数据进行编码和解码的方法和装置 - Google Patents

用于对数据进行编码和解码的方法和装置 Download PDF

Info

Publication number
CN101573872B
CN101573872B CN2007800375299A CN200780037529A CN101573872B CN 101573872 B CN101573872 B CN 101573872B CN 2007800375299 A CN2007800375299 A CN 2007800375299A CN 200780037529 A CN200780037529 A CN 200780037529A CN 101573872 B CN101573872 B CN 101573872B
Authority
CN
China
Prior art keywords
fec
fragment
block size
block
code
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.)
Active
Application number
CN2007800375299A
Other languages
English (en)
Other versions
CN101573872A (zh
Inventor
宇菲·W·布兰肯希普
T·基恩·布兰肯希普
布赖恩·K·克拉松
阿吉特·尼姆巴尔克
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.)
Motorola Mobility LLC
Google Technology Holdings LLC
Original Assignee
Motorola Mobility LLC
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=39269076&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101573872(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US11/539,404 external-priority patent/US8356232B2/en
Application filed by Motorola Mobility LLC filed Critical Motorola Mobility LLC
Publication of CN101573872A publication Critical patent/CN101573872A/zh
Application granted granted Critical
Publication of CN101573872B publication Critical patent/CN101573872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

此处提供了一种用于进行turbo编码和解码的方法和装置。在操作过程中,接收长度为X的级联传输块(CTB),并且从Kmin和Kmax之间的可用的非相连的前向纠错(FEC)块规模的组中确定FEC块规模KI,并且其中Kmin<=KI<Kmax,并且其中KI额外地基于X。长度为X的级联传输块被分段为C个片段,每个片段的规模基本上等于KI。使用FEC块规模KI确定关于C个片段中的每个片段的FEC码字,并且在信道上发射该C个FEC码字。

Description

用于对数据进行编码和解码的方法和装置
技术领域
本发明通常涉及对数据进行编码和解码,并且特别地,涉及一种用于对数据进行turbo编码和解码的方法和装置。
背景技术
有线和无线链路上的数字数据传输可能由于,例如,链路或信道中的噪声、来自其他传输的干扰、或者其他的环境因素,而被破坏。为了抵御由信道引入的错误,许多通信系统使用纠错技术协助通信。
用于纠错的一种技术是对待发射的信息块进行turbo译码。利用该技术,通信系统的发射机中的编码器将长度为K比特的输入块u编码到N比特的码字块x中。随后,可能在诸如IEEE 802.16e规范中定义的信道交织的进一步处理之后,在信道上发射该码字块x。在接收机处,turbo解码器获取长度为N的接收信号向量y作为输入,并且生成向量u的估计
Figure G2007800375299D00011
典型地,turbo编码器由两个构成卷积编码器组成。第一构成编码器以输入块的原始顺序获取输入块u作为输入,并且第二构成编码器以使u通过turbo交织器π之后的交织顺序而获取输入块u。turbo编码器输出x由系统比特(等于输入块u)、来自第一构成编码器的奇偶比特、和来自第二构成编码器的奇偶比特组成。
对应地,通信系统的接收机中的turbo解码器由两个构成卷积解码器组成,每个构成卷积解码器用于一个构成码。构成解码器由交织器π和对应的解交织器π-1隔开。在构成解码器之间迭代地传递具有对数似然比(LLR)的格式的消息。在数次迭代之后作出判定
Figure G2007800375299D00012
Turbo交织器π是turbo码设计中的关键部件。它负责以伪随机的方式对输入块u进行扰码,因此提供了具有良好权重分布的码字x,因此具有良好的纠错能力。除了解码性能之外,turbo交织器π极大地影响接收机中的turbo解码器的实现。通常,turbo码性能随着交织器长度的增加而提高。然而,在增加交织器规模时存在回报渐减(diminishingreturn)。实际上,由于复杂度和延迟的原因,turbo码的最大前向纠错(FEC)块规模(即,交织器规模)限于特定的值。因此,如果输入块的规模(级联传输块或CTB)大于turbo码支持的最大FEC块规模,则将CTB分段(例如,使用码块分段原则)为数个小的片段,每个片段由发射机处的turbo编码器并且对应地由接收机处的turbo解码器单独地处理。
在某些系统中,出于各种原因(例如,高速解码、减少的存储等),turbo码可被设计为仅支持少量的FEC块规模。因此,需要一种用于进行turbo编码和解码的方法和装置,用于适当地将CTB与可用FEC块规模匹配。
附图说明
图1是发射机的框图。
图2是接收机的框图。
图3是图1的turbo编码器的框图。
图4是发射机侧的传输块形成器的框图。
图5是接收机侧的传输块组装器的框图。
图6是示出图1的发射机的操作的流程图。
图7是示出图2的接收机的操作的流程图。
具体实施方式
为了解决上文提及的需要,此处提供了一种用于进行turbo编码和解码的方法和装置。在操作过程中,接收长度为X的级联传输块(CTB),并且从在Kmin和Kmax之间的可用非相连的前向纠错(FEC)块规模的组中确定FEC块规模KI,并且其中Kmin<=KI<Kmax,并且其中KI额外地基于X。长度为X的级联传输块被分段为C个片段,每个片段的规模基本上等于KI。使用FEC块规模KI确定关于C个片段中的每个片段的FEC码字,并且在信道上发射该C个FEC码字。
在可替换的实施例中,接收长度为X的级联传输块(CTB),并且从非相连的FEC块规模的组中确定两个FEC块规模KI-1和KI,其中可用的非相连的FEC块规模在Kmin和Kmax之间,并且其中Kmin<=KI-1<Kmax,Kmin<=KI<=Kmax,并且其中KI-1和KI额外地基于X。长度为X的级联传输块被分段为C个片段,每个片段的规模基本上等于KI-1或KI。使用FEC块规模KI或KI-1确定关于C个片段中的每个片段的FEC码字,并且在信道上发射该C个FEC码字。
上文的方法的益处在于,在使用由可用的非相连的FEC块规模允许的最小数目的片段的同时,它们减少了用于对CTB进行编码所需的填充比特的补充(padding)。特别地,第二方法使用两个不同的(但是相邻的)FEC块规模,以在使用由可用的非相连的FEC块规模允许的最小数目的片段的同时,使填充比特的数目最小。而且,可以使用简单的逻辑电路确定这两个实施例的片段规模的FEC块规模和片段数目。
在描述编码和解码数据之前,提供如下定义以设定必需的背景:
■为了易于标注,级联传输块意指在向每个传输块添加诸如CRC比特的开销之后,级联一个或多个传输块的结果。
■X表示级联传输块规模(例如,以比特为单位的级联传输块的长度)。
■Y表示添加到级联传输块的填充比特的总数目。
■C表示级联传输块被分段成的片段的数目。
■CBSSi表示级联传输块的第i个片段的规模(i=1,....C),其中C是片段规模。CBSS代表码块片段规模。
■KI-1和KI表示可用于对级联传输块的片段进行FEC编码的FEC块规模(例如,针对所述规模定义turbo码内部交织器)。
■Ktable表示可用的非相连的FEC块规模(针对所述规模定义turbo码内部交织器)的集合。
■Kfiller表示添加到片段的填充比特的数目。
■R表示turbo代码器的母码速率(例如,对于3GPP Turbo码,R=1/3)。
■R-1是turbo代码器的母码速率的倒数(例如,对于3GPP Turbo码,R-1=3)。
■Ntb是FEC编码器的输出处的FEC码字中的尾比特的数目。特别地,
о对于具有尾比特的3GPP turbo码,Ntb=12。
о对于具有去尾(tail-biting)的3GPP turbo码,Ntb=0。
■π表示turbo码内部交织器。
■向下取整运算
Figure G2007800375299D00041
表示小于或等于x的最大整数,并且向上取整运算
Figure G2007800375299D00042
表示大于或等于x的最小整数。
现在转到附图,其中相同的附图标记表示相同的部件,图1是发射机100的框图。如示出的,发射机100包括码块分段电路102、填充电路103、turbo编码器104、填充丢弃电路105、发射机108、逻辑电路106、和表/存储107。发射机100额外包括接收长度为X的级联传输块的接收电路(图1中未示出)。逻辑电路106从非相连的的FEC块规模107的组中确定可用的FEC块规模KI,其中可用的非相连的FEC块规模在Kmin和Kmax之间,并且其中Kmin<=KI<Kmax,并且其中KI额外地基于X。码块分段电路102将长度为X的级联传输块分段为规模基本上等于KI的C个片段,并且编码电路104使用FEC块规模KI确定关于C个片段中的每个片段的FEC码字。最后,发射电路108在信道上发射该C个FEC码字。
在另一实施例中,发射机100包括:接收电路(图1中未示出),其接收长度为X的级联传输块;逻辑电路106,其从非相连的FEC块规模107的组中确定两个可用的FEC块规模KI-1和KI,其中可用的非相连的FEC块规模在Kmin和Kmax之间,并且其中Kmin<=KI-1<Kmax,Kmin<=KI<=Kmax,并且其中KI-1和KI额外地基于X。发射机100包括:码块分段电路102,其将长度为X的级联传输块分段为规模基本上等于KI-1或KI的C个片段;和编码电路104,其使用FEC块规模KI或KI-1确定关于C个片段中的每个片段的FEC码字。最后,提供发射电路108,其在信道上发射该C个FEC码字。
编码电路104前面是填充电路103,填充电路103在片段中插入填充比特以形成FEC输入块。FEC编码器104对FEC输入块进行编码,并且填充丢弃电路105丢弃与填充比特相关的比特。
在发射机100的操作过程中,具有级联传输块的形式的数据由电路102接收。电路102在前向纠错(FEC)编码之前准备级联传输块。
通常,CTB规模(即,X)的范围可以不同于通信系统的物理层中的底层FEC方案所支持的FEC块规模。因此,有必要定义将CTB划分为片段的规则,该片段可以由FEC高效地处理。特别地,CTB规模(即,X)常常远大于FEC编码器104能够处理的最大FEC块规模。因此,需要由电路102将CTB分段为许多个规模较小的片段,并且需要由FEC编码器104将每个片段编码到单独的FEC码字中。
电路102使用下述码块分段规则,该码块分段规则被设计成通过底层FEC实现良好性能(即关于给定CTB的片段的总体性能)。其包括关于给定CTB规模的如下方面:
■选择片段数目C;
■选择每个片段的规模;
■如果FEC不能直接处理片段规模,则在FEC编码之前插入填充比特,并且在FEC编码之后移除填充比特。
所提出的分段规则对于演进UMTS地面无线电接入(EUTRA)系统是特别有用的,其中turbo代码器可以被定义为仅用于FEC块规模(交织器规模)的有限集合。不同于定义了具有相连的规模的5075个交织器的版本6 3GPP Turbo代码器,其中每个交织器是针对在40比特和5114比特之间的每个交织器规模KI的,EUTRA turbo代码器可以定义有限数目的FEC块规模Ktable(例如,40~50个交织器,其具有范围为128比特至6144比特的非相连的规模),以覆盖大量的片段规模(例如,6144-128+1=6017个规模)。当片段规模等于可用FEC块规模时,然后可将片段直接取为FEC输入块(因此不需要填充比特插入)。然而,当片段规模不等于任何可用FEC块规模时,可以应用填充比特补充,并且可以使用选自Ktable107的下一个较大的可用FEC块规模(即,交织器规模)。
片段数目:
分段规则考虑如下turbo译码属性。
(a)turbo码性能随着FEC块规模的增加而提高。
(b)经由FEC块规模增加的turbo码性能提高在超过数千比特之后具有回报渐减。
(c)仅在正确接收所有片段时,才正确接收CTB。
属性(a)和(c)指出了整体性能可能受控于具有最差性能的片段。因此,优选的是,使片段具有大致相等的规模,使得用大致相等的FEC块规模对它们进行FEC编码(并且因此出于FEC的观点,符合大致相等的错误保护)。
属性(b)建议,没有必要在表(Ktable)中包括非常大的规模的交织器。然而,在Ktable中定义的FEC块规模可能取决于其他因素。例如,i)为了减少的存储/复杂度,可能期望在Ktable中具有较小数目的交织器,并且ii)Ktable中定义的最大交织器规模可被选择为限制每个CTB的片段数目,从而限制CTB的分段惩罚(penalty)。分段惩罚是由于将CTB划分为数个片段而非将完整的CTB编码到一个FEC码字而引起的性能损失。
属性(c)建议,最小数目的片段应当用于减少分段惩罚。
考虑所有上文,片段数目是
Figure G2007800375299D00071
其中Kmax是Ktable中定义的最大FEC块规模。假设CBSSi表示级联传输块的第i个片段(i=1,...C)的片段规模,则所有片段的和等于级联传输块规模X,即片段规模受下式约束。
Σ i = 1 C CBSS i = X
下一节描述确定用于FEC编码的FEC块规模,其中对于C个片段规模中每一个,确定一个FEC块规模。
FEC块规模确定
假定长度为X的CTB被输入到码块分段功能,对于3GPP标准的版本6中描述的turbo代码器,用于确定FEC块规模(交织器规模)的规则如下:
Figure G2007800375299D00073
Figure G2007800375299D00074
Y=CKI-X.                            (1)
其中Kmax=5114是关于Rel 6 Turbo码的最大交织器规模,C是片段(或码块)的数目,KI是交织器规模,并且Y是当使用规模为KI的C个FEC输入块时针对规模为X的CTB被插入的填充比特的总数目。实际上,规模为X的CTB被分段为规模大致相等的C个片段,并且使用turbo码通过KI比特交织器来对每个片段进行编码。如果Y>0,则在编码之前将Y个已知比特补充到第一片段的开始处。由于在版本63GPP turbo码中针对Kmin=40和Kmax=5114之间的所有规模定义了FEC块规模(即交织器),因此填充比特的数目受到用于码块分段的片段数目C的限制。
然而,在诸如被考虑用于EUTRA的系统的其他系统中,可以仅针对非相连的规模(交织器规模的较粗糙的集合)Ktable来定义FEC块规模(交织器规模)。在这样的情况中,在FEC编码之前,需要使用填充比特对不等于任何可用FEC块规模的片段规模(即Ktable中未定义的片段规模)进行处理(并且在编码之后进行穿孔以达到所需的码速率)。
假设turbo代码器仅支持分布在Kmin和Kmax之间(含Kmin和Kmax)的有限数目的FEC块规模,下面描述了两种使用Ktable的长度为X的级联传输块的码块分段的简单方法。这些方法使用尽可能少的片段,同时它们还减少了用于编码所需的填充比特的数目。
仅允许一个FEC块规模
一种方法是修改(1)并且使所有的片段利用单个交织器规模KI被编码,其中
Figure G2007800375299D00081
其中i,(1<=i<=T),对Ktable中可用的非相连的FEC块规模的组进行索引,其中假设Ktable中的T个规模以升序被分类。实际上,该方法从Ktable中选择大于或等于
Figure G2007800375299D00082
的最小的KI,即
Figure G2007800375299D00083
其中 0 &le; < K I ~ K I - 1 , 并且注意到,当I=1时指定KI-1=0。因此,填充比特的数目由下式给出:
Y = CK I - X
因此,当δ较大的时候,Y较大。下面的示例说明了可用FEC块规模(Ktable)是如何影响Y的。
·如果Ktable具有Zmin=40和Zmax=5114之间的所有值,则填充比特的最大数目等于C-1。
·如果Ktable具有不均匀地分布在Zmin=40和Zmax=5114之间的T=100个值,则补充到所有片段的填充比特的最大总数目约等于50×C。
因此,通过改变Ktable中的FEC块规模粒度,可以控制填充比特的数目。使用如下面描述的另一种方法也可以减少填充比特的数目。然而,在讨论下一种方法之前,注意到,在一般情况中,可以以潜在地增加填充比特的数目为代价,自Ktable选择任何
Figure G2007800375299D00091
用于FEC编码。在该情况中,对于i=1,....C,在码块分段之后获得的块规模满足CBSSi≤KI。在该情况中,逻辑电路106使用如下关系确定片段数目
Figure G2007800375299D00092
仅允许两个相邻的FEC块规模
作为对使用一个FEC块规模KI用于对给定CTB的所有片段编码的代替,提出了自Ktable选择两个相邻的FEC块规模KI-1和KI,KI-1<KI,1<=I<=T。应当注意,当I=1时指定KI-1=0。片段数目C和较大的FEC块规模KI仍被选择为与较早的情况相同,即,仍然如(1)中计算C并且仍然如(2)中计算KI。然而,在下文中确定利用规模KI-1和规模KI编码的片段数目(为了易于理解,下文重复了所有包括的计算)。在该情况中,逻辑电路106执行如下操作以找出片段数目,
Figure G2007800375299D00093
Y=CKI-X
DI=KI-KI-1
Figure G2007800375299D00094
Figure G2007800375299D00095
并且CI-1和CI分别是使用FEC块规模KI-1和KI编码的片段数目,其中KI是来自可用FEC块规模的大于或等于
Figure G2007800375299D00096
的最小规模,并且DI表示相邻的交织器规模KI-1和KI之间的差。
注意到,在(4)中,Y未指出允许两个相邻规模时所需的填充比特的数目;而是指出仅将一个规模KI用于所有C个片段时所需的填充比特的数目。
因此,码块分段形成了C个片段,利用FEC块规模KI-1对其中的CI-1个片段进行FEC编码。注意到,当Y<DI时,(4)给出了CI-1=0,并且该方法退化到使用一个FEC规模KI(即允许规模KI-1但是实际上不使用规模KI-1。)另一方面,当Y>=DI时,相比于将所有C个片段补充到较大的FEC块规模KI,该方法需要较少的填充比特。该方法最优化之处在于,确保添加到每个CTB的填充比特的数目Y″是最小的,同时使用尽可能最少的片段。Y″被确定如下
Y″=CI-1KI-1+CIKI-X,                    (5)
可以证明,不论C取值如何,Y″受DI的限制,
0≤Y″<KI-KI-1                           (6)
在该情况中,在码块分段之后获得的片段规模具有如下约束,假设(在不丧失一般性的前提下,利用KI对最初的CI个片段进行编码并且利用KI-1对剩余的片段进行编码)。
CBSSi≤KI,其中i=1,....CI
CBSSi≤KI-1,其中i=CI+1,...C;如果CI-1>=1
返回图1,如上文讨论的,需要自非相连的FEC块规模的表107中选择适当的FEC块规模。逻辑电路106执行如上文讨论的选择适当的一个或多个FEC块规模的任务。表1中给出了表107的示例。例如,在第一情况中,逻辑电路106自Kmin和Kmax之间的可用的非相连的FEC块规模中选择FEC块规模,并且其中Kmin<=KI<=Kmax,并且其中KI额外地基于X。特别地,如果要使用单个FEC块规模KI,则逻辑电路106(自Ktable)选择不小于
Figure G2007800375299D00101
的最小KI,即,
Figure G2007800375299D00102
其中δ≥0,并且然而,如果要使用两个FEC块规模,则通过等式(4)确定KI-1和KI,(4)给出了使用FEC块规模KI-1和KI被编码的片段数目。
表1:FEC块规模的集合(针对所述规模定义turbo代码器内部交织器)
Figure G2007800375299D00111
底层的FEC代码器104仅支持FEC块规模(或输入规模)的有限集合。在不丧失一般性的前提下,假设FEC代码器104是turbo代码器,并且由该turbo代码器支持的FEC块规模的集合是针对其定义turbo码内部交织器的交织器规模的集合。然而,本领域的普通技术人员将认识到,在104中可以使用其他的FEC方案,包括低密度奇偶校验(LDPC)码、卷积码、块turbo码、Reed-Solomon码等。
一旦确定了片段数目C和用于每个片段的FEC块规模,则将该信息传递到码块分段电路102,在码块分段电路102将CTB(X个比特)分段为C个片段,如果仅允许一个FEC块规模,则利用FEC块规模KI对C个片段进行编码。可替换地,如果允许两个相邻的FEC块规模,则码块分段电路102可以输出将利用FEC块规模KI被编码的CI个片段以及将利用FEC块规模KI-1被编码的CI-1个片段。
填充比特插入
可以基于片段规模和用于片段的FEC编码的FEC块规模,来确定(针对每个片段被补充的)填充比特的数目。存在至少两种方法用于将全部填充比特分布到C个片段中。
·集中式填充。在不使片段规模过小的情况下,将填充比特放入尽可能少的片段中。在一个示例中,所有填充比特可以出现在第一片段的开始处。优点在于,仅需要单独地处理一个片段(包含所有填充比特)。而且,当两个FEC块规模被用于CTB时,填充比特可被补充到利用较大的FEC块规模KI而非较小的FEC块规模KI-1被编码的片段。在允许两个相邻的FEC块规模用于编码时,该方法是特别有吸引力的。
·分布式填充。将填充比特(尽可能地)均匀分布到多个片段中。填充比特可以分布到至多所有C个片段。
为了高效地实现发射机和接收机,集中式填充是优选的。优选实施例是,在将片段发送到编码器之前,使用FEC块规模KI将Y″个(如果允许两个相邻的FEC块规模,为Y″个;如果仅允许一个FEC块规模,则为Y个)连续的填充比特附加到一个片段(例如,第一个片段或最后的片段)的前面。在性能方面,其等效于将Y″个连续的填充比特附加到具有FEC块规模KI的片段的末尾。
返回图1,对于(由电路102产生的)每个片段,使用将填充比特插入到片段以形成FEC输入块;对FEC输入块进行FEC编码;以及丢弃与填充比特相关的比特的步骤,来确定FEC码字。
由电路102产生的每个片段被传递到其中发生填充比特插入的填充电路103。如果不需要填充比特,则填充电路是透明的,即不添加填充比特(Kfiller=0)。所述片段(与填充比特一起)随后被传递到turbo编码器104,其中C个片段的turbo编码产生了C个FEC码字。然后电路105将填充比特丢弃,并且由发射电路108适当地发射得到的C个码字。如果电路103未添加填充比特,则填充丢弃电路105是透明的,即未移除填充比特(Kfiller=0)。应当注意,电路105可能未丢弃对应于填充比特的任何比特。
图2是接收机的框图。在操作过程中,接收信号向量通过码块解分段电路202,该码块解分段电路202根据接收信号向量的部分所关联的片段来组织接收信号向量的部分。通过以编码器相似的方式,可以使用逻辑电路213和可用FEC块规模表215来确定片段规模、片段数目、用于对每个片段进行turbo解码的FEC块规模、填充比特数目。填充处理电路204使用关于填充比特位置的知识协助turbo解码器206,例如,通过将对应于填充比特的LLR设定到高的量值来协助。在turbo解码之后,电路208丢弃填充比特以获得片段的估计。码块组装器211通过适当地收集和排列自电路208获得的片段的估计,来组装估计的传输。
构成代码器的奇偶比特的移除
本节提供了一种确定FEC码字的具体方法。该方法利用关于所描述的发射机处的填充比特插入的知识。特别地,该方法确定,在没有或者具有可忽略的性能劣化的情况下,可以自turbo编码器输出丢弃哪些比特(系统比特和奇偶比特)。通常,填充比特是已知的,并且因此在发射之前可以丢弃这些比特的系统比特(等于已知比特)。然而,不清楚是否可以丢弃任何奇偶比特。
图3是图1的turbo编码器104的框图。在操作过程中,长度为KI个比特的输入块进入交织器301和构成编码器302二者。交织器301使输入块交织并且将交织顺序的输入块传递到构成编码器303。构成编码器303随后对交织的输入块进行编码。通过相似的方式,构成编码器302对原始输入块进行编码。码字块x由系统块(等于FEC输入块)、构成编码器302的输出、和构成编码器303的输出组成。码字块x随后被发送到电路105。
在常规的turbo编码器中,诸如例如有尾turbo码,假设构成编码器的初始状态(移位寄存器内容)均为零。在该情况中,当Kfiller个填充比特(通常是0)被插入在turbo码输入块的开始处时,对应于Kfiller个比特位置的构成编码器302的系统比特和奇偶比特均为零。因此,可以在发射机处丢弃这些比特,并且接收机可以在执行turbo解码时利用该知识。然而,在构成编码器303中,由于turbo码交织器,Kfiller个比特被扰码,并且因此不了解对应于填充比特的构成编码器303的奇偶比特,并因此不能简单地将其丢弃。
当turbo代码器具有去尾构成编码器时,构成编码器的初始状态可能不总是零。对于去尾码,构成编码器的初始状态和最终状态是相等的并且它们取决于输入块。因此,当Kfiller个连续的填充比特(即,零)被插入在turbo码输入块的开始处时,对应于Kfiller个比特位置的构成编码器302的奇偶比特不总是零。然而,可以证明,构成编码器302的这些Kfiller个奇偶比特的大部分不承载信息。
通常,将连续填充比特的组插入到片段中以形成FEC输入块,其中组长度是2m-1的倍数(对于3GPP turbo代码器中的构成卷积码,2m-1=7)。然后,对该FEC输入块进行FEC编码,并且丢弃与填充比特相关的奇偶比特。FEC编码器可以是单独使用的去尾卷积码,或者是用作turbo代码器的构成码的去尾卷积码。
特别地,在用于具有去尾构成码的turbo码时,可以丢弃对应于填充比特的系统比特的组;并且可以丢弃构成编码器的输出处的对应于填充比特的组的奇偶比特,其中构成编码器在不对去尾turbo代码器进行交织的情况下获取FEC输入块。这可被示出如下。
在步骤i中使构成编码器302的移位寄存器的状态是S(i),令m为移位寄存器中的元素的数目,并且令g为任何大于0的整数。当从步骤i+1到步骤i+(2m-1)×g将(2m-1)×g个零输入到构成编码器时,递归卷积编码器(诸如在Rel.6 3GPP turbo码中使用的递归卷积编码器)的属性如下,
S(i)=S(i+(2m-1)g)                        (7)
应当注意,S(i)可以不是常数。此外,之间的状态S(j)可以不是常数或者可以不等于状态S(i),i<j<i+(2m-1)g。
因此,构成编码器的状态在步骤i+1到步骤i+(2m-1)×g之间保持不变。因此,发射机可以通过丢弃在这些步骤期间的构成编码器的输出来利用(7),这是因为这些填充比特不会改变移位寄存器的状态并且因此不提供用于解码器的信息。接收机中的解码器还可以相似地基于关于填充比特位置和值的知识来利用(7)。下面,通过示例描述上文的方法,其中将Kfiller个填充比特(零)插入在去尾turbo码的输入中的连续位置中。
由于将Kfiller个连续填充比特(零)插入在turbo码输入块中,
Figure G2007800375299D00151
并且因此可以丢弃构成编码器302的p×g×(2m-1)个奇偶比特,其中p是针对FEC输入块中的每个比特生成的构成编码器302的输出处的奇偶比特数目。因此,仅丢弃构成编码器302的输出处的对应于填充比特的组的奇偶比特,其中构成编码器302在不对去尾turbo代码器进行交织的情况下获取FEC输入块。
对于去尾3GPP turbo代码器,在构成编码器1中p=1,m=3。因此对于Kfiller个连续填充比特,可以自构成编码器302丢弃
Figure G2007800375299D00152
个奇偶比特。由于m=3,因此在构成编码器302的输出处至多仅需要保持对应于构成编码器302的Kfiller个填充比特的6个奇偶比特。
在构成编码器303中,由于turbo码交织器,因此Kfiller个填充比特可能散开。因此,在不影响性能的前提下自构成编码器303丢弃奇偶比特,是不可行的。
下一节描述了某些示例性情形,其中可以使用码块分段规则,例如,混合自动重复请求(HARQ)、多输入多输出(MIMO)等。
传输块(TB)形成器
将上文描述的码块分段规则应用于混合ARQ(HARQ)信道上的级联传输块(CTB)。在码块分段之前,需要在发射时间间隔(TTI)中自基站被发送到单个用户的信息比特可能需要被划分为至少一个传输块,由此通过至少一个HARQ信道。例如,图4示出了这样的示例,其中使用两个HARQ信道(对应于HARQ1和HARQ2)以及两个传输块TB1和TB2来发射信息比特。在操作过程中,由TB形成电路402接收将在一个或多个空间流上被发射的长度为A的信息比特。电路402将X′个比特指定为传输块TB1,其中X′≤A;HARQ1处理器404将CRC比特附连到该X′个比特以形成长度为X的级联传输块;长度为X的级联传输块被映射到第一HARQ信道。该级联传输块被发送到码块分段电路102。
电路402将来自信息比特的W′=A-X′个比特指定为第二传输块TB2;HARQ2处理器406将CRC比特附连到Y个比特以形成第二级联传输块;该级联传输块被映射到第二HARQ信道。该级联传输块被发送到码块分段电路102。
应当注意,电路404和406可以执行额外功能,诸如与HARQ相关的其他功能,添加控制信息,等等。
尽管使用两个HARQ信道说明了图4中的概念,但是可以容易地将它们扩展到多个HARQ信道。如果在发射时间间隔(TTI)中对于用户不止一个HARQ信道被支持,则可以将码块分段规则应用到每个TB。
由于对于每个用户每个TTI具有过多的FEC码字(或片段),诸如来自大的带宽(例如,20MHz)、较高阶的调制(例如,64QAM)、多流MIMO等,可能出现多个HARQ信道。多个HARQ信道也可用于具有不同QoS的TB,诸如VoIP和尽力服务(best-effort)数据。
MIMO码字包括在一个MIMO流上在TTI中被发送到单个用户的比特。因此MIMO码字可以包括一个或多个FEC码字。有时MIMO码字用于意指MIMO流上的比特。
可以定义用于创建TB的规则。在一个实施例中,TB将包括不超过x(例如,x=8)个FEC码字(x的值由EUTRA中的eNodeB调度器确定)。在另一实施例中,如果对于TB需要超过x个FEC码字,则如下创建两个TB。大致均匀地将分组分为两个TB,每个TB具有相同数目的FEC码字,所述FEC码字的规模大致相同。在另一实施例中,对于将被发送到两个MIMO流的FEC码字,每个MIMO流属于单独的TB。在另一实施例中,对于在使用2个同时的HARQ信道时将被发送到三个MIMO流的FEC码字,第一个流(平均起来,具有最佳质量的流)属于一个TB,并且第二和第三个流属于第二TB。在另一实施例中,使用两个HARQ信道发送四个MIMO码字,数个组合是可行的。例如,(a)TB1=1,2TB2=3,4(b)TB1=1,3TB2=2,4(c)TB1=1,2TB2=2,3(d)TB1=1,TB2=2,3,4。这里TBi意指第i个HARQ信道的TB;编号1至4指示MIMO码字(或流)的编号。
图5是在至少一个HARQ信道上接收信息比特时的接收机处理的流程图。自码块组装器211接收的比特被输入到适当的信道处理器504和506。信道处理器的输出是估计传输块TB1和TB2,其被输入到TB组装器电路502,该TB组装器电路502组合TB并且输出估计的信息比特。
图6是示出图1的发射机的操作的流程图。该逻辑流程开始于步骤601,其中分段电路接收长度为X的级联传输块。在步骤603中,逻辑电路访问表107并且选择适当的FEC块规模。如上文讨论的,在本发明的第一实施例中,从位于表107中的非相连的FEC块规模的组中确定FEC块规模KI,其中表107中的可用的非相连的FEC块规模在Kmin和Kmax之间,并且其中Kmin<=KI<Kmax。如上文讨论的,KI基于X。由逻辑电路106从级联传输块确定X。一旦确定了X,则确定
Figure G2007800375299D00181
Figure G2007800375299D00182
在本发明的第二实施例中,确定FEC块规模KI和KI-1,其中
Figure G2007800375299D00183
继续,在步骤605中,将片段数目C和FEC块规模传递到分段电路102,并且在步骤607中分段电路将长度为X的级联传输块分段为规模基本上等于KI(或者可替换地,KI和KI-1)的C个片段。(如果需要)在步骤609中经由电路103添加填充比特,并且在步骤611中对C个片段中的每个片段进行编码(即,针对C个片段中的每个片段来确定FEC码字)。最后,在步骤613中,经由发射电路108发射该FEC码字。
如上文讨论的,确定FEC码字的步骤包括一下步骤:将填充比特插入到片段中以形成FEC输入块、对FEC输入块进行FEC编码、以及丢弃与填充比特相关的比特。该步骤可能使得:将连续的填充比特的组插入到片段中以形成FEC输入块,其中组长度是7的倍数;对FEC输入块进行FEC编码;并且丢弃与填充比特相关的比特。丢弃填充比特包括以下步骤:丢弃对应于填充比特的系统比特的组,以及丢弃在构成编码器1的输出处的对应于填充比特的组的奇偶比特,其中构成编码器在不对去尾turbo代码器进行交织的情况下获取FEC输入块。
图7是示出图2的接收机的操作的流程图。该逻辑流程开始于步骤701,其中使用逻辑电路213和表215来确定片段规模、片段数目、用于对每个片段进行turbo解码的FEC块规模、和填充比特的数目。如上文讨论的,在本发明的第一实施例中,从位于表215中的非相连的FEC块规模的组中确定FEC块规模KI,其中表215中的可用的非相连的FEC块规模在Kmin和Kmax之间,并且其中Kmin<=KI<Kmax。如上文讨论的,KI基于X。由逻辑电路213从接收信号向量确定X。逻辑电路213随后确定在本发明的第二实施例中,确定FEC块规模KI和KI-1,其中
在步骤703中,接收信号向量通过码块解分段电路202,该码块解分段电路202根据接收信号向量的部分所关联的C个片段来组织接收信号向量的部分。在步骤705中,填充处理电路204使用关于填充比特的位置的知识协助turbo解码器206,例如,通过将对应于填充比特的LLR设定到高的量值来协助。在步骤707中对C个片段中的每个片段进行解码。在turbo解码之后,电路208丢弃填充比特以获得片段的估计(步骤709)。码块组装器211通过适当地收集和排列自电路208获得的片段的估计,来组装估计的传输(步骤711)。
尽管通过参考特定的实施例示出和描述了本发明,但是本领域的技术人员将理解,在不偏离本发明的精神和范围的前提下可以进行形式和细节上的多种改变。该改变应落入所附权利要求的范围内。

Claims (2)

1.一种对用于操作发射机的数据进行编码的方法,所述方法包括以下步骤:
接收长度为X的级联传输块;
从非相连的FEC块规模的组中确定两个可用的FEC块规模KI-1和KI,其中所述非相连的FEC块规模的组中的每一个在Kmin和Kmax之间,并且其中Kmin<=KI-1<Kmax,Kmin<=KI<Kmax,并且其中KI-1和KI额外地基于X;
将所述长度为X的级联传输块分段为以下规模的C个片段
CBSSi≤KI,其中i=1,...CI
CBSSi≤KI-1,其中i=CI+1,...C;如果CI-1>=1;
通过使用FEC块规模KI或KI-1对所述C个片段中每个片段进行编码来确定FEC码字;以及
在信道上发射所确定的C个FEC码字中的每一个FEC码字;
其中
Figure FSB00000988883400011
其中
Y=CKI-X,
Figure FSB00000988883400012
Figure FSB00000988883400013
并且CI-1和CI分别是使用FEC块规模KI-1和KI编码的片段数目,其中KI是来自可用FEC块规模的大于或等于
Figure FSB00000988883400014
的最小规模,并且DI表示相邻的FEC块规模KI-1和KI之间的差。
2.一种用于对数据进行编码的装置,包括:
接收电路,用于接收长度为X的级联传输块;
逻辑电路,用于从非相连的FEC块规模的组中确定两个可用FEC块规模KI-1和KI,其中所述非相连的FEC块规模的组中的每一个在Kmin和Kmax之间,并且其中Kmin<=KI-1<Kmax,Kmin<=KI<Kmax,并且其中KI额外地基于X;
码块分段电路,用于将所述长度为X的级联传输块分段以下规模的C个片段
CBSSi≤KI,其中i=1,...CI
CBSSi≤KI-1,其中i=CI+1,...C;如果CI-1>=1;
编码电路,用于使用FEC块规模KI或KI-1对所述C个片段中每个片段进行编码来确定FEC码字;和
发射电路,用于在信道上发射所确定的C个FEC码字中的每一个FEC码字;
其中
Figure FSB00000988883400021
其中
Y=CKI-X
Figure FSB00000988883400022
Figure FSB00000988883400023
并且CI-1和CI分别是使用FEC块规模KI-1和KI编码的片段数目,其中KI是来自可用FEC块规模的大于或等于的最小规模,并且DI表示相邻的FEC块规模KI-1和KI之间的差。
CN2007800375299A 2006-10-04 2007-09-17 用于对数据进行编码和解码的方法和装置 Active CN101573872B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US82821306P 2006-10-04 2006-10-04
US60/828,213 2006-10-04
US11/539,404 US8356232B2 (en) 2006-10-06 2006-10-06 Method and apparatus for encoding and decoding data
US11/539,404 2006-10-06
PCT/US2007/078676 WO2008042586A2 (en) 2006-10-04 2007-09-17 Method and apparatus for encoding and decoding data

Publications (2)

Publication Number Publication Date
CN101573872A CN101573872A (zh) 2009-11-04
CN101573872B true CN101573872B (zh) 2013-06-12

Family

ID=39269076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800375299A Active CN101573872B (zh) 2006-10-04 2007-09-17 用于对数据进行编码和解码的方法和装置

Country Status (9)

Country Link
EP (1) EP2080271B1 (zh)
JP (2) JP4714941B2 (zh)
KR (1) KR101429786B1 (zh)
CN (1) CN101573872B (zh)
AR (1) AR064591A1 (zh)
BR (1) BRPI0717506B8 (zh)
ES (1) ES2386911T3 (zh)
PL (1) PL2080271T3 (zh)
WO (1) WO2008042586A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5453268B2 (ja) * 2007-09-14 2014-03-26 エージェンシー フォー サイエンス, テクノロジー アンド リサーチ ビット列の符号化方式および符号化回路
JP4922242B2 (ja) * 2008-06-05 2012-04-25 パナソニック株式会社 符号化装置、符号化方法、及びビタビ復号装置
JP2010004416A (ja) * 2008-06-23 2010-01-07 Fujitsu Ltd 移動無線装置
US8726137B2 (en) * 2009-02-02 2014-05-13 Telefonaktiebolaget L M Ericsson (Publ) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
CN107659384A (zh) * 2012-11-16 2018-02-02 华为技术有限公司 数据处理的方法和装置
EP3264613A4 (en) * 2015-04-01 2018-04-11 Huawei Technologies Co. Ltd. Encoding method, apparatus, base station and user equipment
WO2021044765A1 (ja) * 2019-09-04 2021-03-11 株式会社日立国際電気 通信システム及び通信方法
WO2022220394A1 (ko) * 2021-04-12 2022-10-20 삼성전자 주식회사 전송 데이터 손실 복구 방법 및 그 전자 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691785A (zh) * 2004-04-19 2005-11-02 上海国皓电子有限公司 基于dvb数字电视射频信道测量的前端装置
WO2008130161A1 (en) * 2007-04-19 2008-10-30 Lg Electronics Inc. Method of transmitting and receiving a signal and apparatus for transmitting and receiving a signal

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09321634A (ja) * 1996-05-27 1997-12-12 Toshiba Corp ブロック・デ・インターリーブ装置
FI106758B (fi) * 1999-04-16 2001-03-30 Nokia Networks Oy Segmentointimekanismi lohkoenkooderia varten
US6397368B1 (en) * 1999-12-06 2002-05-28 Intellon Corporation Forward error correction with channel adaptation
JP3880542B2 (ja) * 2003-05-19 2007-02-14 松下電器産業株式会社 誤り訂正符号化/復号化装置および誤り訂正符号化/復号化方法
JP3847733B2 (ja) 2003-06-12 2006-11-22 松下電器産業株式会社 マルチキャリア通信方法及びその通信装置
WO2008013528A1 (en) * 2006-07-25 2008-01-31 Thomson Licensing Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691785A (zh) * 2004-04-19 2005-11-02 上海国皓电子有限公司 基于dvb数字电视射频信道测量的前端装置
WO2008130161A1 (en) * 2007-04-19 2008-10-30 Lg Electronics Inc. Method of transmitting and receiving a signal and apparatus for transmitting and receiving a signal

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
3GPP.Universal Mobile Telecommunications System(UMTS)
3GPP.Universal Mobile Telecommunications System(UMTS) Multiplexing and channel coding(FDD).《3GPP》.2006,54-62. *
MOTOROLA,FRANCE TELECOM,GET AND ORANGE.EUTRA FEC Enhancement.《3GPP》.2006,1-16. *
Multiplexing and channel coding(FDD).《3GPP》.2006,54-62.

Also Published As

Publication number Publication date
JP5110407B2 (ja) 2012-12-26
JP4714941B2 (ja) 2011-07-06
EP2080271B1 (en) 2012-07-11
BRPI0717506B1 (pt) 2019-12-03
ES2386911T3 (es) 2012-09-05
CN101573872A (zh) 2009-11-04
WO2008042586A2 (en) 2008-04-10
KR101429786B1 (ko) 2014-08-18
BRPI0717506B8 (pt) 2019-12-17
JP2011066932A (ja) 2011-03-31
BRPI0717506A8 (pt) 2017-03-07
JP2008092570A (ja) 2008-04-17
AR064591A1 (es) 2009-04-15
EP2080271A2 (en) 2009-07-22
BRPI0717506A2 (pt) 2014-06-24
KR20090074183A (ko) 2009-07-06
WO2008042586A3 (en) 2008-07-03
PL2080271T3 (pl) 2012-10-31

Similar Documents

Publication Publication Date Title
CN101573872B (zh) 用于对数据进行编码和解码的方法和装置
US8356232B2 (en) Method and apparatus for encoding and decoding data
JP6204543B2 (ja) トランスポートブロックサイズの決定方法及びこれを用いた信号伝送方法
CN1155160C (zh) 发送和接收链接码数据的方法和装置
CN101636914A (zh) 用于编码和解码数据的方法和装置
KR100984289B1 (ko) 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
US8737519B2 (en) Apparatus and method for channel coding in a communication system
US20130104008A1 (en) Error-Correcting Encoding Apparatus
CN101217352B (zh) 一阶段速率匹配的缓冲设置方法
CN102355341A (zh) 一种长期演进系统用混合自动重传请求的网络编码方法
CN101507119A (zh) 用于针对给定信息向量生成穿孔的符号向量的方法和装置
JP2003188856A (ja) 符号分割多重接続移動通信システムで符号化およびレートマッチング装置および方法
CN101553990A (zh) Turbo码交织器尺寸的确定
WO2010087776A1 (en) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
CN105991227A (zh) 数据编码方法及装置
KR101615384B1 (ko) 통신 시스템에서의 채널 부호화 장치 및 방법
US10581464B2 (en) Encoder device, decoder device, and methods thereof
CN109417432B (zh) 数据编解码
CN113541871A (zh) 一种生成码字的方法及编解码器
KR20050054405A (ko) 이동통신시스템에서 상이한 전송시간간격들을 가지는채널들을 다중화하는 전송률 정합 방법 및 장치
CN102075285B (zh) 一种速率匹配方法及装置
KR101353094B1 (ko) 오류정정부호에 대한 인터리빙 방법 및 이를 이용한 정보 송수신 시스템
Kukieattikool et al. Variable‐rate staircase codes with RS component codes for optical wireless transmission

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MOTOROLA MOBILE CO., LTD.

Free format text: FORMER OWNER: MOTOROLA INC.

Effective date: 20110114

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20110114

Address after: Illinois State

Applicant after: MOTOROLA MOBILITY, Inc.

Address before: Illinois State

Applicant before: Motorola, Inc.

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY, Inc.

TR01 Transfer of patent right

Effective date of registration: 20160511

Address after: California, USA

Patentee after: Google Technology Holdings LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY LLC