CN101553990B - Turbo码交织器尺寸的确定 - Google Patents

Turbo码交织器尺寸的确定 Download PDF

Info

Publication number
CN101553990B
CN101553990B CN200780037226.7A CN200780037226A CN101553990B CN 101553990 B CN101553990 B CN 101553990B CN 200780037226 A CN200780037226 A CN 200780037226A CN 101553990 B CN101553990 B CN 101553990B
Authority
CN
China
Prior art keywords
interleaver
size
block
max
input block
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
CN200780037226.7A
Other languages
English (en)
Other versions
CN101553990A (zh
Inventor
阿吉特·尼姆巴尔克
宇菲·W·布兰肯希普
布赖恩·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=39247696&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101553990(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Motorola Mobility LLC filed Critical Motorola Mobility LLC
Publication of CN101553990A publication Critical patent/CN101553990A/zh
Application granted granted Critical
Publication of CN101553990B publication Critical patent/CN101553990B/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/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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • 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
    • 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/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

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)

Abstract

此处提供了一种用于选择turbo码交织器尺寸的方法和设备。在操作过程中,接收尺寸为K的信息块。确定与K″相关的交织器尺寸K′,其中K″来自尺寸集合;其中该尺寸集合包括K″=aP×f,pmin≤p≤pmax;fmin≤f≤fmax,其中a是整数并且f是fmin和fmax之间的连续整数,p取pmin和pmax之间的整数值,a>1,pmax>pmin,pmin>1。如果需要,使用补充比特将尺寸为K的信息块填充成尺寸为K′的输入块。使用turbo编码器,使用原始输入块和交织的输入块执行编码以获得码字块。通过信道发射该码字块。

Description

Turbo码交织器尺寸的确定
技术领域
本发明通常涉及编码和解码数据,并且特别地,涉及用于turbo编码和解码的方法和设备。
背景技术
通过有线和无线链路的数字数据传输可能由于,例如,链路或信道中的噪声、来自其他传输的干扰、或者其他的环境因素,而被破坏。为了抵御由信道引入的错误,许多通信系统使用纠错技术来协助通信。
用于纠错的一种技术是通过信道发射信息块之前对其进行turbo编码。利用该技术,通信系统的发射机中的编码器将长度为K'比特的输入块u编码为N比特的码字块x。随后,可能在诸如IEEE802.16e规范中定义的信道交织的进一步处理之后,通过信道发射该码字块。在接收机处,turbo解码器将长度为N的接收的信号向量y作为输入,并且生成向量u的估计
Figure GDA0000436310170000012
典型地,turbo编码器由两个组成卷积编码器构成。第一组成编码器将原始状态的输入块u作为其输入,并且第二组成编码器获取在使u通过turbo交织器π之后的交织状态的输入块u。turbo编码器输出x由系统比特(等于输入块u)、来自第一组成编码器的奇偶比特、和来自第二组成编码器的奇偶比特构成。
对应地,通信系统的接收机中的turbo解码器由两个组成卷积解码器构成,每个组成卷积解码器用于一个组成码。组成解码器由交织器π和对应的解交织器π-1隔开。在组成解码器之间迭代地传递具有对数似然比(LLR)格式的消息。在数次迭代之后作出决定
Figure GDA0000436310170000011
Turbo交织器π是turbo码设计中的关键部件。它负责以伪随机的方式对输入块u进行加扰,因此提供了具有良好权重分布的码字x,因此具有良好的纠错能力。除了解码性能之外,turbo交织器π的定义极大地影响接收机中的turbo解码器的实施。为了允许没有存储器存取竞争的高级并行处理,turbo交织器π需要具有无竞争属性。
发明内容
根据本发明的一个方面,提供了一种操作turbo编码器的方法,所述方法包括步骤:接收尺寸为K的信息块;确定与K"相关的交织器尺寸K',其中K"来自尺寸集合;其中所述尺寸集合包括K"=aP×f,pmin≤p≤pmax;fmin≤f≤fmax,其中a是整数,f是fmin和fmax之间的连续整数,并且p取pmin和pmax之间的整数值,a>1,pmax>pmin,pmin>1,其中将K'确定为大于或等于K的最小交织器尺寸,且如果K"为有效交织器尺寸,K'=K,否则K’被确定为接近于K"的有效交织器尺寸;将尺寸为K的所述信息块填充成尺寸为K'的输入块;以及使用尺寸为K'的交织器使所述输入块交织;对所述尺寸为K的信息块和所述交织的输入块进行编码以获得码字块;以及通过信道发射所述码字块。
根据本发明的另一个方面,提供了一种用于操作turbo编码器的设备,所述设备包括:接收电路,接收尺寸为K'的输入块;以及编码器,使用尺寸为K'的交织器和置换π(i)=(iP0+A+d(i))mod K'对输入块进行编码,其中0≤i≤K'-1是交织之后的比特位置的顺序索引,π(i)是对应于位置i的交织之前的比特索引,P0是与K'互质的数,A是等于3的常数,C是除K'的小的数,并且d(i)是具有形式d(i)=α(i mod C)+P0×β(i mod C)的抖动向量,其中α(·)和β(·)是长度均为C的向量,对于0≤i≤K'-1周期性地被应用,并且其中从下表中的至少一行获取K'、C、P0、α(·)和β(·)的值:
Figure GDA0000436310170000021
Figure GDA0000436310170000031
Figure GDA0000436310170000041
附图说明
图1是发射机的框图。
图2是图1的turbo编码器的框图。
图3是接收机的框图。
图4是图4的turbo解码器的框图。
图5是示出图1的发射机的操作的流程图。
图6是示出图3的接收机的操作的流程图。
具体实施方式
为了解决上文提及的对无竞争交织器的需要,此处提供了一种用于针对turbo码选择交织器尺寸的方法和设备。
在操作过程中,接收尺寸为K的信息块。确定交织器尺寸K',其中K'与K"相关,其中K"来自尺寸集合;其中该尺寸集合包括K"=aP×f,pmin≤p≤pmax;fmin≤f≤fmax,其中a是整数,f是fmin和fmax之间的连续整数,并且p取pmin和pmax之间的整数值,a>1,pmax>pmin,pmin>1。尺寸为K的信息块被填充成尺寸为K'的输入块。使用尺寸为K'的交织器使输入块交织。原始输入块和交织的输入块被编码以获得码字块。通过信道发射该码字块。
在本发明的另一实施例中,确定与K"相关的交织器尺寸K'的步骤包括使用K'=K"的步骤。
在本发明的又一实施例中,确定与K"相关的交织器尺寸K'的步骤包括以下步骤:在K"不是(2m-1)的倍数时使用K'=K";否则,在K"是(2m-1)的倍数时,使用K'=K"+δ(K"),其中m是组成卷积编码器的存储器长度,并且δ(K")是不等于(2m-1)的倍数的小的正或负整数。在一个实施例中,m=3。
在本发明的又一实施例中,使输入块交织的步骤包括使用置换π(i)=(iP0+A+d(i))mod K'的步骤,其中
Figure GDA0000436310170000051
是交织之后的符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K'是以符号为单位的交织器尺寸,P0是与K'互质的数,A是常数,C是除K'的小的数,并且d(i)是具有形式d(i)=α(i mod C)+P0×β(i mod C)的抖动向量,其中α(·)和β(·)是长度均为C的向量,对于
Figure GDA0000436310170000052
周期性地被应用。
在描述编码和解码数据之前,提供如下定义以设定必需的背景:
·K表示信息块的尺寸。
·K'表示交织器尺寸(即,针对输入块尺寸定义turbo码交织器)。
·K"表示可能在确定交织器尺寸时使用的辅助变量。
·Kfiller表示添加到信息块的补充比特的数目。
·R表示turbo编码器的母码速率(例如,对于3GPP turbo码,R=1/3)。
·R-1是turbo编码器的母码速率的倒数(例如,对于3GPP turbo码,R-1=3)。
·NTB是编码的块中的尾比特的数目。特别地,对于3GPP turbo码,
·对于具有尾比特的3GPP turbo码,NTB=12。
·对于具有咬尾(tail-biting)组成卷积码的3GPP turbo码,NTB=0。
·π表示turbo码内部交织器。
·向下取整运算
Figure GDA0000436310170000061
表示小于x的最大整数并且向上取整运算
Figure GDA0000436310170000062
表示大于x的最小整数。
·u表示输入块,其具有长度K'并且被发送到发射机处的turbo编码器。
Figure GDA0000436310170000063
表示估计的输入块,其具有长度K'并且由接收机处的turbo解码器产生。应当注意,在不存在解码错误时,
Figure GDA0000436310170000064
否则
Figure GDA0000436310170000065
现在转到附图,其中相同的附图标记表示相同的部件,图1是发射机100的框图。如示出的,发射机100包括补充插入电路109、turbo编码器101、交织器尺寸确定电路103、交织器参数表105、和发射机107。编码器101优选地是1/3速率3GPP turbo编码器,然而,此处描述的用于操作编码器101的技术可以应用于其他编码器,包括,但不限于,执行具有尾比特或不具有尾比特的turbo编码的编码器,咬尾、二进制或双二进制turbo编码器,使用不同的速率匹配和删余(puncturing)技术的turbo编码器,......,等。电路103确定与K"相关的交织器尺寸K',其中K"来自尺寸集合;其中该尺寸集合包括K"=aP×f,pmin≤p≤pmax;fmin≤f≤fmax,其中a是整数,f是fmin和fmax之间的连续整数,并且p取pmin和pmax之间的整数值,a>1,pmax>pmin,pmin>1。
在发射机100的操作过程中,尺寸为K的信息块需要由turbo编码器101编码。对于其中使用大量的不同K的某些通信系统,不能高效地(并且常常不可能)定义针对每个信息块尺寸K的无竞争(CF)交织器。如果一小集合(K')的良好设计的CF交织器能够覆盖所有信息块尺寸,则是优选的。给定信息块尺寸K,电路103可以从尺寸集合(例如,表105中列出的交织器尺寸)中选择适当的交织器尺寸K'。然后由电路109将信息块填充成尺寸为K'的输入块并且将其作为输入发送到turbo编码器101。一种典型的配置是利用Kfiller个补充比特(经由补充插入电路109)来填充信息块。应当注意,术语“尺寸”和“长度”可以互换使用以指示块或向量中的元素数目。
一旦电路103选择了K',则将其提供给turbo编码器101。在编码过程中,可以使用无竞争交织器(图1中未示出)。例如,交织器可以使用置换π(i)=(iP0+A+d(i))mod K',其中0≤i≤K'-1是交织之后的符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K'是以符号为单位的交织器尺寸,P0是与K'互质的数,A是常数,C是除K'的小的数,并且d(i)是具有形式d(i)=α(i mod C)+P0×β(i mod C)的“抖动”向量,其中α(·)和β(·)是长度均为C的向量,对于0≤i≤K'-1周期性地被应用。通常,符号可由多个比特构成并且交织的步骤可以使用置换符号中的比特的额外步骤。在不丧失一般性的前提下,下文的讨论考虑符号仅由一个比特构成的典型情况(因此不需要置换符号中的比特),并且术语“比特”和“符号”可以互换使用。
turbo编码器101的输出包括码字块x,并且x被发送到发射机107,其中通过信道发射x。在通过信道发射码字块x之前,发射机可以执行诸如速率匹配、信道交织、调制等的额外处理。
图2是图1的编码器101的框图。如示出的,编码器101包括交织器201、编码电路202、和编码电路203。交织器201可以是无竞争交织器。对于ψ=π(交织器)和ψ=π-1(解交织器),当且仅当窗口尺寸W满足如下约束时,交织器π(i),0≤i≤K',被称为无竞争:
Figure GDA0000436310170000071
(1)
其中0≤j<W,0≤t,v<M(=K'/W),并且t≠v。尽管并不总是必需的,但是对于高效的turbo解码器设计,典型地所有M个窗口是完全的,其中K'=MW。(1)中的项是在迭代解码的过程中将外来值写到输出存储器组(bank)时由M个处理器同时存取的存储器组地址。如果这些存储器组地址在每次读和写操作的过程中均是唯一的,则在存储器存取中不存在竞争并且因此可以避免(解)交织延时,导致了高速的解码器实施。
在turbo编码器101的操作过程中,长度为K'的输入块进入交织器201和编码电路202。交织器201可以是尺寸为K'的无竞争交织器。
交织器201使输入块交织并且将交织状态的输入块传递到编码电路203。编码电路203随后对交织的输入块编码。通过相似的方式,编码电路202对原始输入块编码。码字块x由系统块(等于输入块)、编码电路202的输出、和编码电路203的输出构成。码字块x随后被发送到发射机107,发射机107还可以直接接收输入块的复本。
作为无竞争交织器的示例,由如下表达式给出了殆规则置换(almost regular permutation)(ARP)交织器
π(i)=(iP0+A+d(i))mod K',
其中0≤i≤K'-1是交织之后的比特位置的顺序索引,π(i)是对应于位置i的交织之前的比特索引,K'是交织器尺寸,P0是与K'互质的数,A是常数,C是除K'的小的数,并且d(i)是具有形式d(i)=α(i mod C)+P0×β(i mod C)的抖动向量,其中α(·)和β(·)是长度均为C的向量,对于周期性地被应用。α(·)和β(·)均由C的倍数构成。由此构造的整体交织器π(·)具有周期为C的准循环(即,周期性)属性,并且在咬尾turbo码中使用时,turbo码自身变为准循环,导致了简化的码设计程序。
如果对于多种M值,交织器201可以满足(1),则可以使用多种平行度(对于每个M值使用一个平行度)来实施解码器。因此理想的是,选择具有多种因数的K'。对于长度为K'的ARP交织器,可以使用任何窗口尺寸W,其中W是C的倍数和K'的因数,用于无存储器存取竞争的高速解码。这通过允许广泛的平行因数M,提供解码器设计中的灵活性和可升级性。因此,可以基于系统(或者用户元件类别)需要来实现解码速度和复杂度之间的良好折衷。
选择交织器尺寸K'
如上文讨论的,交织器尺寸确定电路103需要确定针对给定K的交织器尺寸K'。本节描述了一种选择可以针对其定义turbo码交织器的有限数目的尺寸(即K')的方式。如前面指出的,补充插入电路(连同删余或速率匹配方法)可用于处理任何信息块尺寸K。通常,交织器尺寸选择必须考虑由于补充比特引起的解码负担和性能劣化。
填充到信息块以形成输入块的补充比特的数目Kfiller理想的是限于信息块尺寸K的小的百分比(例如,约10~13%)。这是通过限制相邻交织器尺寸,即相邻的K'值(假设所有可用K'值以升序排序)之间的差来实现的。通过选择使K'≥K的可用的最小的K',使补充比特的数目最小。补充比特的数目是Kfiller=K'–K。然而,如果需要,也可以选择其他的K'≥K的值。
考虑被定义用于覆盖Kmin和Kmax之间的信息尺寸的如下尺寸集合。
K"=aP×f,pmin≤p≤pmax;fmin≤f≤fmax,  (2)
其中a是整数,f是fmin和fmax之间的连续整数,并且p取pmin和pmax之间的整数值,a>1,pmax>pmin,pmin>1。尽管不是必需的,但是可以这样选择这些参数使得Kmin=aPmin×fmin和Kmax=aPmax×fmax,同时放弃任何不必要的尺寸。该选择有限尺寸集合来覆盖信息块尺寸范围的方法被称为半对数限幅(semi-log slicing)。对于给定的尺寸为K的信息块,基于半对数限幅表尺寸K'相关于K",以及输入块尺寸K(为了清楚起见,剩余的讨论假设半对数限幅值包含所有有效的交织器尺寸(即,K'=K"),尽管通常这不是必需的。)
该半对数限幅与大动态范围的压缩信号中使用的压缩扩展操作相似,例如,语音编解码器中使用的A律(A-law)和mu律(mu-Law)压缩扩展器。半对数限幅规则允许用于覆盖范围广泛的信息块尺寸的高效设计。
在选择参数的数个方法中,一种选择fmin和fmax值的方法是使由相邻p得到的K'值相互排列,即aP×(fmax+1)=aP+1×fmin,因此
fmax=a×fmin-1
对于给定的p值,两个相邻块尺寸之间的间隔由aP给出,意味着如果信息块尺寸K在组p中,则添加最大aP-1个补充比特。因此,补充比特Kfiller对信息块尺寸K的分数的边界如下文示出,当块尺寸K略微大于由(p,fmin)给出的尺寸时,该情况出现,并且使用由(p,fmin+1)给出的K',
max ( K filler K ) = a p - 1 a p &times; f min + 1 &le; 1 f min = a ( f max + 1 )
可替换地,由相邻p得到的K'值可以经由aP×fmax=aP+1×(fmin-1)相互排列,导致了fmax=a×(fmin-1)。这将给出相似的Kfiller/K边界。因此,可以根据待支持块尺寸范围,并且还基于补充比特的容许分数,调节关于半对数限幅的参数。fmin的选择需要如下两个要求之间的平衡:
·fmin应是大的以减小补充比特的分数;
·fmin应是小的以限制交织器表的尺寸,这是因为对于每个p定义的块尺寸的数目是fmax-fmin+1=(a-1)×fmin
一旦定义了半对数限幅尺寸(K"),则可以通过例如如下操作从该半对数限幅尺寸获得交织器尺寸K'(基本上没有偏离),
1.使用K'=K"。
2.在K"不是(2m-1)的倍数时使用K'=K";否则,在K"是(2m-1)的倍数时,使用K'=K"+δ(K"),其中m是组成卷积编码器的存储器长度,并且δ(K")是不等于(2m-1)的倍数的小的正或负整数。如果组成卷积码是咬尾的,其中(2m-1)的倍数是无效的,则这是有帮助的。
交织器表可被进一步增强以处理特殊情况,包括,
1.使用被定义用于覆盖必须被处理的任何特殊块尺寸(例如,没有补充比特或具有较少的补充比特)的交织器尺寸的额外集合。
2.通过向半对数限幅尺寸添加或者从其中减去小的值,可以略微调整交织器尺寸。
该半对数限幅方法是非常简单的,因为对于任何块尺寸,可以基于由(2)计算的K"容易地确定待使用的交织器尺寸K'。例如,在一个方案中,半对数限幅尺寸可被直接用作有效交织器尺寸。还可以非常容易地处理任何特殊的块尺寸。
由(2)的半对数限幅方法定义的尺寸有时可能包括不适用于turbo编码的交织器尺寸。例如,八状态3GPP turbo编码器(m=3)的咬尾版本不支持为7(即,2m-1)的倍数的输入块尺寸(即,交织器尺寸)。在该情况中,当式(2)导致为2m-1的倍数的尺寸的任何时候,向其添加或者从其中减去小的值,由此得到的尺寸不再是2m-1的倍数。
例如,如果a=2,fmin=8并且fmax=15,则具有形式K'=K"=2P×14的交织器尺寸是7的倍数,并且因此在使用咬尾3GPP TC时是无效的交织器尺寸。因此,必须通过略微变化来处理该情况,例如,在K"不是7的倍数时使用K'=K";否则,在K"是7的倍数时使用K'=K"+δ(K"),并且δ(K")是不等于7的倍数的小的正或负整数。
对于作为ARP交织器的无效选择的尺寸K",一个确定相关交织器尺寸K'的简单方法是,从K"中减去(加法是同样有效的)d×C,其中d是小的正整数并且d不是7的倍数,并且C是用于接近K'的块尺寸的ARP交织器循环长度。(前面提及,ARP交织器的块尺寸是循环长度C的倍数。)换言之,当K"是7的倍数时,
K'=K"–dC   (3)
或者
K'=K"+dC   (4)
由于C通常是偶整数,诸如4、8、12、或16,因此该调整给出了两个优点,即,(a)K'不是7的倍数,并且(b)K'是C的倍数并且因此可以设计尺寸为K'的ARP交织器。
为了简化,对于需要被调整的所有K",可以选择相同的d。关于选择d的一个重要的考虑是,d应当使由(3)或(4)获得的所有尺寸具有大量的因数,这允许支持关于由此定义的CF交织器的范围广泛的平行性。
ARP交织器尺寸选择的示例
表1中示出了适于覆盖3GPP长期演进(LTE)的信息块尺寸的CF ARP交织器集合。表105中的可用交织器尺寸是基于上文描述的半对数限幅方法定义的。具体地,
K"=2P×f,p=4,5,...,9;f=8,9,...,15,  (5)
并且K'是由K"确定的。交织器尺寸被确定如下:对于p=4,5,6,7,8,9和f=8,9,10,11,12,13,15,使用K'=K",并且对于p=4,5,6,7,8,9和f=14,使用K'=K"–dC,用于覆盖128~7680的K。对应于p=9的最后三个尺寸(f=13,14,15)可被移除,由此Kmax=6144,Kmin=128。当f=14时使用式(3)和d=2(即,避免为7的倍数的交织器尺寸),以便于处理咬尾TC。这些尺寸在表1中被高亮。一旦确定了105中的交织器尺寸,即可以针对每个交织器尺寸设计CF交织器。
给定任何信息块尺寸K,电路103可以通过从105选择大于或等于K的最小的K'值,来确定用于K的交织器尺寸K'。通过已知的K',和fmin=2b,fmax=2b+1-1,参数p和f可以计算如下,
Figure GDA0000436310170000131
Figure GDA0000436310170000132
特别地,对于(5)中的参数,
通过参数p和f,可以使用(2)或(5)来计算块尺寸K',而且,当f是7的倍数时,在使用咬尾编码时可以另外使用采用(3)或(4)计算的交织器尺寸。然后从交织器参数存储装置105查找与尺寸为K'的交织器相关联的参数,该交织器参数通常存储在通信器件的存储器中。
交织器参数存储装置105可以使用从表1中的至少一行获取的K'、C、P0、α(·)和β(·)的值来存储ARP交织器参数。交织器201可以使用ARP交织器,该ARP交织器使用从下表的至少一行获取的K'、C、P0、α(·)和β(·)的值:
Figure GDA0000436310170000141
Figure GDA0000436310170000151
表1.用于A=3的ARP交织器的交织器参数表。应当注意,在该表中,抖动向量α(并且相似地,β)被这样写使得最左侧的值对应于α(0)(并且相似地,β(0))。
ARP交织器的属性:
存在数个方法用于修改交织器表。例如,通过使用应用于不止一个交织器尺寸的ARP参数集合可以减少存储。例如,1024比特、2048比特、4096比特交织器均可以使用相同的ARP参数。在另一变化方案中,如果需要,可以基于不同的C值重新设计表中的某些行。在另一增强方案中,某些参数条目(例如,α(0)和β(0))可以是固定的(例如,总是零)。
下面是对用于获得表1的交织器选择程序的某些进一步注释。
1.偏移值A=3被选择用于减少存储。
2.基于性能研究和存储,使用循环长度C=4用于K'<1024,C=8用于K'≥1024。
3.对于每个块尺寸,执行仿真以确保ARP交织器的性能(具有咬尾编码)接近或优于3GPP Turbo码规范中定义的交织器性能。
4.基于(5),表1被定义用于覆盖交织器尺寸的特定集合(例如,128~6144比特)。如果优选,可以删除或添加其他的交织器尺寸。
5.依赖于可允许的性能劣化,105中定义的所有交织器可用于有尾的或咬尾turbo码。
图3是接收机300的框图。在输入处,补充处理电路302接收可能已通过空中发射的信号向量。电路306随后可以通过与上文讨论的相似的方式,例如通过执行从存储308的表查找,或者经由诸如(7)、(8)和(2)的计算,来确定交织器尺寸K'。因此,给定信息块尺寸K,解码器304使用与编码器101所使用的交织器尺寸相同的交织器尺寸K'。补充处理电路302用于适当地处理接收的信号向量和补充比特位置(例如,如果补充比特位置是已知的,则在解码过程中可以将对应的LLR量值设定为非常高)。然后turbo解码器304执行解码并且获得长度为K'的输入块的估计
Figure GDA0000436310170000161
。最后信息块提取电路310从
Figure GDA0000436310170000162
提取估计的信息块。尽管为了易于解释,补充处理电路302被示出为位于turbo解码器外部,但是在实施时此两者可以组合。
图4是图3的turbo解码器的框图。显而易见,交织器402和解交织器401存在于解码电路403和解码电路404之间。如本领域中公知的,发生迭代解码,然而,不同于现有技术的解码器,交织器尺寸K'与K"相关,其中K"来自尺寸集合;其中该尺寸集合包括K"=aP×f,pmin≤p≤pmax;fmin≤f≤fmax,其中a是整数,f是fmin和fmax之间的连续整数,并且p取pmin和pmax之间的整数值,a>1,pmax>pmin,pmin>1。
如上文讨论的,在一个实施例中,K'=K"。在又一实施例中,在K"不是(2m-1)的倍数时,K'=K",否则,在K"是(2m-1)的倍数时,使用K'=K"+δ(K"),其中m是组成卷积编码器的存储器长度,并且δ(K")是不等于(2m-1)的倍数的小的正或负整数。在一个实施例中,m=3。
交织器402利用置换π(i)=(iP0+A+d(i))mod K',其中
Figure GDA0000436310170000173
是交织之后的符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K'是以符号为单位的交织器尺寸,P0是与K'互质的数,A是常数,C是除K'的小的数,并且d(i)是具有形式d(i)=α(i mod C)+P0×β(i mod C)的抖动向量,其中α(·)和β(·)是长度均为C的向量,对于
Figure GDA0000436310170000174
周期性地被应用。K'、C、P0、α(·)和β(·)的值优选地获取自表1的行。
图5是示出发射机100的操作的流程图。该逻辑流程开始于步骤501,其中电路103确定与K"相关的交织器尺寸K',其中K"来自尺寸集合;其中该尺寸集合包括K"=aP×f,pmin≤p≤pmax;fmin≤f≤fmax,其中a是整数,f是fmin和fmax之间的连续整数,并且p取pmin和pmax之间的整数值,a>1,pmax>pmin,pmin>1。如上文讨论的,在一个实施例中,K'=K"。在又一实施例中,在K"不是(2m-1)的倍数时,K'=K",否则,在K"是(2m-1)的倍数时,使用K'=K"+δ(K"),其中m是组成卷积编码器的存储器长度,并且δ(K")是不等于(2m-1)的倍数的小的正或负整数。在一个实施例中,m=3。
在步骤503中,补充插入电路109接收尺寸为K的信息块并且将尺寸为K的信息块填充成尺寸为K'的输入块u并且输出输入块u。交织器201随后使尺寸为K'的输入块交织(步骤507)(优选地使用无竞争交织器)并且将尺寸为K'的交织的块发送到编码电路203(步骤509)。最后,在步骤511中,对原始输入块和交织的输入块进行编码。
如上文讨论的,使输入块交织的步骤包括使用置换π(i)=(iP0+A+d(i))mod K'的步骤,其中
Figure GDA0000436310170000171
是交织之后的比特位置的顺序索引,π(i)是对应于位置i的交织之前的比特索引,K'是以比特为单位的交织器尺寸,P0是与K'互质的数,A是常数,C是除K'的小的数,并且d(i)是具有形式d(i)=α(i mod C)+P0×β(i mod C)的抖动向量,其中α(·)和β(·)是长度均为C的向量,对于周期性地被应用。K'、C、P0、α(·)和β(·)的值优选地从表1获取。
图6是示出图3的接收机的操作的流程图。该逻辑流程开始于步骤601,其中电路302确定交织器尺寸K'。在步骤603中,电路302向接收的信号向量添加补充比特信息,例如,如果补充比特和补充比特位置是已知的,则电路302可以在turbo解码器输入中将这些位置的对数似然比(LLR)的量值设定为高的。在步骤605中,turbo解码器使用尺寸为K'的交织器和解交织器对输入块进行解码并且输出长度为K'的输入块的估计。在步骤607中,信息块提取电路310移除补充比特以获得长度为K的信息块的估计。
尽管通过参考特定的实施例示出和描述了本发明,但是本领域的技术人员将理解,在不偏离本发明的精神和范围的前提下可以进行形式和细节上的多种改变。在一个示例中,尽管上文假设二进制输入turbo编码器已描述了本发明,但是在turbo编码器采用符号作为输入时,可以应用相同的原理。例如,双二进制turbo码每次采用两个二进制比特的符号,并且turbo交织器置换符号(可以执行进一步的加扰,诸如改变符号中的比特)。在该情况中,以符号为单位测量输入块尺寸,并且交织器尺寸等于输入块中的符号的数目。在另一示例中,尽管上文的描述假设交织器尺寸和交织器参数存储在查找表中,但是可能可以经由其他手段,诸如代数计算来确定它们。在又一示例中,尽管上文的描述假设turbo码,但是该方法还可应用于其他FEC方案,包括例如,低密度奇偶校验(LDPC)码、Reed-Solomon(RS)码等。这些改变将涵盖于所附权利要求的范围内。

Claims (10)

1.一种操作turbo编码器的方法,所述方法包括步骤:
接收尺寸为K的信息块;
确定与K″相关的交织器尺寸K′,其中K″来自尺寸集合;其中所述尺寸集合包括K″=aP×f,pmin≤p≤pmax;fmin≤f≤fmax,其中a是整数,f是fmin和fmax之间的连续整数,并且p取pmin和pmax之间的整数值,a>1,pmax>pmin,pmin>1,其中将K'确定为大于或等于K的最小交织器尺寸,且如果K″为有效交织器尺寸,K′=K,否则K’被确定为接近于K″的有效交织器尺寸;
将尺寸为K的所述信息块填充成尺寸为K′的输入块;以及
使用尺寸为K′的交织器使所述输入块交织;
对所述尺寸为K的信息块和所述交织的输入块进行编码以获得码字块;以及
通过信道发射所述码字块。
2.如权利要求1所述的方法,其中在不处理咬尾turbo编码的情况下,所述确定与K″相关的交织器尺寸K′的步骤包括使用K′=K″。
3.如权利要求1所述的方法,其中在处理咬尾turbo编码的情况下,确定与K″相关的交织器尺寸K′的步骤包括以下步骤:在K″不是(2m-1)的倍数时使用K′=K″;否则,在K″是(2m-1)的倍数时,使用K′=K″+δ(K″),其中m是组成卷积编码器的存储器长度,并且δ(K″)是不等于(2m-1)的倍数的正或负整数。
4.如权利要求3所述的方法,其中m=3。
5.如权利要求1所述的方法,其中fmax=a×fmin-1。
6.如权利要求1所述的方法,其中fmax=a×(fmin-1)。
7.如权利要求1所述的方法,其中使所述输入块交织的步骤包括使用无竞争交织器来使所述输入块交织的步骤。
8.如权利要求1所述的方法,其中使所述输入块交织的步骤包括使用置换π(i)=(iP0+A+d(i))mod K′的步骤,其中
Figure FDA00003371227600024
是交织之后的符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是以符号为单位的所述交织器尺寸,P0是与K′互质的数,A是常数,C是除K′的小的数,并且d(i)是具有形式d(i)=α(i mod C)+ P0×β(imod C)的抖动向量,其中α(·)和β(·)是长度均为C的向量,对于
Figure FDA00003371227600025
Figure FDA00003371227600026
周期性地被应用。
9.如权利要求8所述的方法,其中从下表中的至少一行获取K′、C、P0、α(·)和β(·)的值:
Figure FDA00003371227600021
Figure FDA00003371227600041
10.一种用于操作turbo编码器的设备,所述设备包括:
接收电路,接收尺寸为K'的输入块;以及
编码器,使用尺寸为K'的交织器和置换π(i)=(iP0+A+d(i))modK'对输入块进行编码,其中0≤i≤K'-1是交织之后的比特位置的顺序索引,π(i)是对应于位置i的交织之前的比特索引,P0是与K'互质的数,A是等于3的常数,C是除K'的小的数,并且d(i)是具有形式d(i)=α(imodC)+P0×β(imodC)的抖动向量,其中α(·)和β(·)是长度均为C的向量,对于0≤i≤K'-1周期性地被应用,并且其中从下表中的至少一行获取K'、C、P0、α(·)和β(·)的值:
Figure FDA00003371227600042
Figure FDA00003371227600051
Figure FDA00003371227600061
CN200780037226.7A 2006-10-03 2007-09-17 Turbo码交织器尺寸的确定 Active CN101553990B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/538,347 2006-10-03
US11/538,347 US7925956B2 (en) 2006-10-03 2006-10-03 Method and apparatus for encoding and decoding data
PCT/US2007/078678 WO2008042587A2 (en) 2006-10-03 2007-09-17 Determination of interleaver sizes for turbo codes

Publications (2)

Publication Number Publication Date
CN101553990A CN101553990A (zh) 2009-10-07
CN101553990B true CN101553990B (zh) 2014-02-19

Family

ID=39247696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780037226.7A Active CN101553990B (zh) 2006-10-03 2007-09-17 Turbo码交织器尺寸的确定

Country Status (10)

Country Link
US (1) US7925956B2 (zh)
EP (1) EP2074698A2 (zh)
JP (1) JP2008092571A (zh)
KR (1) KR20090057415A (zh)
CN (1) CN101553990B (zh)
AR (1) AR063104A1 (zh)
BR (1) BRPI0719266B1 (zh)
MY (1) MY150923A (zh)
RU (1) RU2451392C2 (zh)
WO (1) WO2008042587A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356232B2 (en) 2006-10-06 2013-01-15 Motorola Mobility Llc Method and apparatus for encoding and decoding data
US7979772B2 (en) * 2006-10-25 2011-07-12 Samsung Electronics Co., Ltd. Method and system for providing a contention-free interleaver for channel coding
JP2010508790A (ja) * 2006-11-01 2010-03-18 クゥアルコム・インコーポレイテッド 高データレートのためのターボインターリーバ
US8032811B2 (en) * 2006-11-09 2011-10-04 Samsung Electronics Co., Ltd. Efficient almost regular permutation (ARP) interleaver and method
US8185785B2 (en) * 2006-11-28 2012-05-22 At&T Intellectual Property I, L.P. Broadcasting of digital video to mobile terminals
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8576807B2 (en) * 2007-06-25 2013-11-05 Qualcomm Incorporated Channel interleaving structure for a wireless communication system
US8289999B1 (en) * 2009-11-05 2012-10-16 L-3 Services, Inc. Permutation mapping for ARQ-processed transmissions
JP5510189B2 (ja) * 2010-08-25 2014-06-04 三菱電機株式会社 インタリーブ装置及びインタリーブ方法
US8621160B2 (en) * 2010-12-17 2013-12-31 Futurewei Technologies, Inc. System and method for contention-free memory access
CN102136888B (zh) * 2011-04-20 2013-02-20 大唐移动通信设备有限公司 一种子块解交织输入数据处理方法及装置
KR101286021B1 (ko) * 2012-02-02 2013-07-19 주식회사 이노와이어리스 인터리버 인덱스 생성장치 및 방법
CN107659384A (zh) 2012-11-16 2018-02-02 华为技术有限公司 数据处理的方法和装置
US10135467B2 (en) * 2016-06-08 2018-11-20 Echelon Corporation Methods and systems for applying an improved interleaver for modems operating on power grid
US10270559B2 (en) 2016-10-04 2019-04-23 At&T Intellectual Property I, L.P. Single encoder and decoder for forward error correction coding
US10243638B2 (en) 2016-10-04 2019-03-26 At&T Intellectual Property I, L.P. Forward error correction code selection in wireless systems
CN110071728B (zh) * 2018-01-24 2021-02-05 华为技术有限公司 一种交织方法及交织设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625762B1 (en) * 1999-03-05 2003-09-23 Canon Kabushiki Kaisha Interleaving device and method for turbocoding and turbodecoding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2295791C (en) * 1997-07-30 2006-06-13 Samsung Electronics Co., Ltd. Adaptive channel encoding method and device
KR19990012821A (ko) * 1997-07-31 1999-02-25 홍성용 전자기파 흡수체 조성물과 이의 제조 방법, 전자기파 흡수용도료 조성물과 이의 제조 방법 및 이의 도포 방법
US6339834B1 (en) * 1998-05-28 2002-01-15 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre Interleaving with golden section increments
US6347385B1 (en) * 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code
US6427214B1 (en) * 1998-09-29 2002-07-30 Nortel Networks Limited Interleaver using co-set partitioning
FR2785743A1 (fr) * 1998-11-09 2000-05-12 Canon Kk Dispositif et procede d'adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
KR100346170B1 (ko) * 1998-12-21 2002-11-30 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
US6314534B1 (en) * 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
JP3574405B2 (ja) * 1999-04-06 2004-10-06 サムスン エレクトロニクス カンパニー リミテッド 2次元インタリービング装置及び方法
JP2001060934A (ja) * 1999-08-20 2001-03-06 Matsushita Electric Ind Co Ltd Ofdm通信装置
US6775800B2 (en) * 2000-01-03 2004-08-10 Icoding Technology, Inc. System and method for high speed processing of turbo codes
JP3399904B2 (ja) * 2000-03-17 2003-04-28 松下電器産業株式会社 インタリーブアドレス生成装置
US6785859B2 (en) * 2000-08-04 2004-08-31 Texas Instruments Incorporated Interleaver for variable block size
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
US7170849B1 (en) * 2001-03-19 2007-01-30 Cisco Systems Wireless Networking (Australia) Pty Limited Interleaver, deinterleaver, interleaving method, and deinterleaving method for OFDM data
US7236480B2 (en) * 2002-06-07 2007-06-26 Sandbridge Technologies, Inc. Method of first interleaving of a two interleaver transmitter
RU2265960C2 (ru) * 2003-06-16 2005-12-10 Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" Способ передачи информации с использованием адаптивного перемежения
WO2006082923A1 (ja) * 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625762B1 (en) * 1999-03-05 2003-09-23 Canon Kabushiki Kaisha Interleaving device and method for turbocoding and turbodecoding

Also Published As

Publication number Publication date
AR063104A1 (es) 2008-12-30
RU2451392C2 (ru) 2012-05-20
BRPI0719266B1 (pt) 2020-12-01
KR20090057415A (ko) 2009-06-05
US20080091986A1 (en) 2008-04-17
BRPI0719266A2 (pt) 2016-04-12
CN101553990A (zh) 2009-10-07
WO2008042587A2 (en) 2008-04-10
WO2008042587A3 (en) 2008-07-10
MY150923A (en) 2014-03-14
EP2074698A2 (en) 2009-07-01
RU2009116644A (ru) 2010-11-10
US7925956B2 (en) 2011-04-12
JP2008092571A (ja) 2008-04-17

Similar Documents

Publication Publication Date Title
CN101553990B (zh) Turbo码交织器尺寸的确定
Sadjadpour et al. Interleaver design for turbo codes
CN101601188B (zh) 利用无争用交织器的turbo编码
US7873893B2 (en) Method and apparatus for encoding and decoding data
CN1327640C (zh) 数据传输的速率匹配方法和装置
CN101753268B (zh) 一种发送机及接收机
CN110999095B (zh) 用于极化码的按块并行冻结位生成
JP5231570B2 (ja) プルーンインタリーバおよびプルーンデインタリーバの効率的なアドレス生成
CA2698533A1 (en) Multi-layer cyclic redundancy check code in wireless communication system
CN108650057A (zh) 一种编译码的方法、装置及系统
MXPA01010239A (es) Sistema y metodo que emplean un decodificador modular para decodificar codigos turbo y similares al turbo en una red de comunicaciones.
CN109155634A (zh) 实施极化码的设备和方法
US20130238962A1 (en) Systems and methods for network coding using convolutional codes
WO2008042586A2 (en) Method and apparatus for encoding and decoding data
CN109660265B (zh) 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法
CN101667839B (zh) 交织方法
CN109995465A (zh) 一种重叠复用系统及其处理方法和装置
Tallapragada et al. Fast turbo codes using sub-block based interleaver
WO2023174503A1 (en) Apparatus and method for random linear code encoding and guessing random additive noise decoding (grand)
CN117118562A (zh) 编码方法及装置
Usher et al. Coding

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