CN101601188B - 利用无争用交织器的turbo编码 - Google Patents

利用无争用交织器的turbo编码 Download PDF

Info

Publication number
CN101601188B
CN101601188B CN2007800424952A CN200780042495A CN101601188B CN 101601188 B CN101601188 B CN 101601188B CN 2007800424952 A CN2007800424952 A CN 2007800424952A CN 200780042495 A CN200780042495 A CN 200780042495A CN 101601188 B CN101601188 B CN 101601188B
Authority
CN
China
Prior art keywords
size
interleaver
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
CN2007800424952A
Other languages
English (en)
Other versions
CN101601188A (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
Application filed by Motorola Mobility LLC filed Critical Motorola Mobility LLC
Publication of CN101601188A publication Critical patent/CN101601188A/zh
Application granted granted Critical
Publication of CN101601188B publication Critical patent/CN101601188B/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/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编码的方法和装置。在turbo编码器(101)的操作期间,根据信息块大小确定turbo交织器(201)的大小以及选择适合的交织参数。这些参数配置所述turbo交织器,所述turbo交织器为无争用交织器并且其基于二次多项式置换QPP交织器或近正则置换ARP交织器。如果信息块的大小与所支持的交织器大小不匹配,则依靠填充比特插入来填充所述信息块。

Description

利用无争用交织器的TURBO编码
技术领域
本发明通常涉及编码和解码数据,以及具体地,涉及用于turbo编码和解码的方法和装置。
背景技术
在有线和无线链接上的数字数据传输可以被例如链接或信道上的噪声,来自其他传输的干扰,或者其他环境因素而毁坏。为了抗击由信道引入的误差,许多通信系统采用误差校正技术来辅助通信。
用于误差校正的一个技术是在信息块在信道上被发射之前对信息块进行turbo编码。使用这种技术,通信系统的发射器中的编码器将长度为K′比特的输入块u编码为长度为N比特的码字块x。可能在进一步处理,例如,在IEEE 802.16e规范中定义的信道交织之后,通过信道发射码字块。在接收器,turbo解码器将长度为N的接收信号矢量y作为输入,并且生成矢量u的估计
Figure G2007800424952D00011
通常,turbo编码器由两个分量(constituent)卷积编码器构成。第一分量编码器将输入块u以其原始顺序作为输入,并且第二分量编码器在通过turbo交织器π在传递u之后将输入块u以其交织的顺序作为输入。输出x的turbo编码器由系统比特(等于输入块u),来自第一分量编码器的奇偶比特,以及来自第二分量编码器的奇偶比特构成。
相应地,在通信系统的接收器中的turbo解码器由两个分量卷积解码器构成,每个对应一个分量码。分量解码器被交织器π和相应的去交织器π-1分开。以对数似然比(LLR)格式的消息在分量解码器之间被迭代地传递。在几次迭代之后,做出决定
Figure G2007800424952D00012
turbo交织器π是turbo码设计中的关键组件。负责以伪随机的方式扰乱输入块u,由此提供带有良好权重分布,以及良好误差校正能力的码字x。除了解码性能以外,turbo交织器π的定义极大地影响接收器中的turbo解码器的执行。为了允许高级并行处理而没有存储器访问争用,turbo交织器π需要具有无争用属性。
附图说明
图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′,其中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。
在本发明的又一实施例中,交织输入块的步骤包括使用置换π(i)=(f1×i+f2×i2)mod K′的步骤,其中0≤i≤K′-1是交织之后符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是符号单位的交织器大小,以及f1和f2是定义交织器的系数。
在描述编码和解码数据之前,提供了以下定义来设定必要的背景:
■K表示信息块的大小。
■K′表示交织器的大小(即,turbo码交织器被定义的输入块大小)。
■K″表示辅助变量,被用于确定交织器大小。
■Kfiller表示被添加到信息块的填充比特的数目。
■π表示turbo码内部交织器。
■上取整运算
Figure G2007800424952D00031
表示小于或等于x的最大整数和下取整运算
Figure G2007800424952D00032
表示大于或等于x的最小整数。
■u表示长度为K′并且被发送给在发射器的turbo编码器的输入块。
Figure G2007800424952D00033
表示长度为K′的估计的输入块并且由接收器的turbo解码器产生。注意当没有解码误差时, u ^ = u . 否则 u ^ ≠ u .
现在转到附图,其中,相似的标记表示相似的组件,图1是发射器100的框图。如图所示,发射器100包括填充插入电路109,turbo编码器101,交织器大小确定电路103,交织器参数表105,和发射器107。编码器101优选地是1/3速率3GPP turbo编码器,但是,在此描述的用于操作编码器101的技术可以被应用于其他编码器,包括,但不限于,执行带有尾比特或者无尾比特的turbo编码的turbo编码器,二进制或者双二进制的turbo编码器,使用不同速率匹配和打孔技术的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编码。对于其中使用大量不同Ks的一些通信系统,为每个信息块大小K定义无争用(CF)交织器是不高效的(并且经常不可能)。如果设计好的CF交织器的小的集合(K′)能够覆盖全部信息块大小是优选的。已知信息块大小K,可以通过电路103从可用大小的集合中选择合适的交织器大小K′(例如,在表105中列出的交织器大小)。然后,信息块被电路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。如另一实例,交织器可以使用置换π(i)=(f1×i+f2×i2)mod K′,其中0≤i≤K′-1是交织之后符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是符号单位的交织器大小,并且f1和f2是定义交织器的系数。通常,符号可以由多个比特构成,交织的步骤可以使用置换在符号中的比特的其他步骤。在不损失概括性的条件下,以下讨论考虑符号仅由一个比特构成的典型情况(因此没有必要在符号中置换比特),并且术语“比特”和“符号”可以互换使用。
turbo编码器101的输出包括码字块x,并且x被发送到发射器107其中它通过信道被发射。在通过信道发送码字块x之前,发射器可以执行额外的处理,例如速率匹配,信道交织,调制等。
图2是图1的编码器101的框图。如图所示,编码器101包括交织器201,编码电路202,和编码电路203。编码器的实例是3GPP规范中定义的turbo编码器。编码器的实例是3GPP规范中定义的turbo编码器。3GPP中定义的turbo编码器的母码率具有固有的码率R=1/3。在turbo编码器的输出中,在输入块中为每个比特产生三个比特:一个系统比特(等于输入块中的比特),一个来自分量编码器1的奇偶比特,一个来自分量编码器2的奇偶比特。此外,turbo编码器的输出还可以包括NTB尾比特,其被用于终止分量码的格子。例如,对于3GPPturbo码,在turbo编码器的输出中NTB=12比特,6尾比特每分量码。另一方面,可以使用截尾分量卷积码,由此得到NTB=0。
交织器201可以是无争用交织器。交织器π(i),0≤i<K′,当且仅当它满足下面的约束条件ψ=π(交织器)和ψ=π-1(去交织器),被认为对于窗口大小W是无争用的:
Figure G2007800424952D00051
其中,0≤j<W,0≤t;v<M(=K′/W),和t≠v。然而,对于高效的turbo解码器设计不总是必要的,通常所有的M窗口是满的,其中,K′=MW。(1)中的项是在迭代解码期间在将外来值写入输出存储器组时,由M处理器同时访问的存储器组地址。如果这些存储器组地址在每次读取和写入操作期间全部是唯一的,那么在存储器访问中不存在争用并且因此可以避免交织(去交织)的等待时间,从而实现高速的解码器执行。
在turbo编码器101操作期间,长度为K′比特的输入块进入交织器201和编码电路202。交织器201可以是大小为K′的无争用交织器。
交织器201交织输入块并且以交织的顺序将输入块传递给编码电路203。然后,编码电路203编码被交织的输入块。以相似的方式,编码电路202编码原始输入块。码字块x由系统块(等于输入块),编码电路202的输出,和编码电路203的输出构成。然后,将码字块x发送到还可以直接接收输入块副本的发射器107。
如无争用交织器的实例,近正则置换(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的矢量,周期性地应用0≤i≤K′-1。α(·)和β(·)都由多个C构成。由此构造的整个交织器π(·)具有周期为C的准循环(即,周期的)属性,并且当在截尾turbo码中使用时,turbo码自身成为导致简码设计程序的准循环。
如无争用交织器的另一实例,二次多项式置换(QPP)交织器由以下表达式给出π(i)=(f1×i+f2×i2)mod K′,其中,0≤i≤K′-1是交织之后符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是符号单位的交织器大小,并且f1和f2是定义交织器的系数。与ARP交织器相似,如果进行截尾,那么turbo码也是准循环。
如果交织器201对于M的各种值能够满足(1),那么可以使用各种并行度来执行解码器(对于每个M一个)。因此,希望选择具有各种系数的K′。对于长度为K′的ARP交织器,任何窗口大小W,其中W是多个C和系数K′,能够被用于高速解码而没有存储器访问争用。由于并行窗口的不同定义,可以使用任何系数K做为并行窗口的数目。对于QPP交织器,交织器大小K’的每个系数是可能的并行M的等级。通过允许并行系数M的广泛范围提供了解码器设计中的灵活性和可测量性。因此,基于系统(或者多种用户元件)要求,在解码速度和复杂度之间做出良好折中。
选择交织器大小K′:
如上讨论的,交织器大小确定电路103需要为已知的K确定交织器大小K′。这部分描述了选择限定数目的大小(即,K′)的方法,对于该限定数目的大小,可以定义turbo码交织器。如之前所指出的,填充插入电路(与打孔或者速率匹配方法一起)可以被用于处理任何信息块大小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。然而,不是必需的,可以选择这些参数,使得 K min = a p min × f min , K max = a p max × f max , 同时放弃不需要的任何大小。选择限定的大小的集合以覆盖信息块大小的范围的方法被称为半对数切割(semi-log slicing)。对于已知的大小为K的信息块,基于半对数切割表的与K″相关的大小K′,以及输入块大小K。
半对数切割与在压缩大动态范围的信号中采用的压缩扩展运算相似,例如,在语音编解码器中使用的A-Law和mu-Law压缩扩展器。所述半对数切割规则允许高效的设计以覆盖信息块大小的宽范围。选择参数的几个方法中,选择fmin和fmax值的一个方法是让由相邻p生成的K″值彼此排成行,即ap×(fmax+1)=ap+1×fmin,因此
fmax=a×fmin-1
对于给定的p值,在两个相邻块大小K″之间的分离是由ap给出,其意味着如果信息块大小K在组p中,并且交织器大小等于K″,那么增加ap-1填充比特的最大值。因此,当块大小K稍微大于由(p,fmin)给出的大小,并且使用由(p,fmin+1)给出的K′=K″时,如下所示界定在信息块大小K上的填充比特Kfiller的部分,
max ( K filler K ) = a p - 1 a p × f min + 1
≤ 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,假设fmax=a×fmin-1。
半对数切割方法是非常简单的,其中对于任何块大小,很容易基于由(2)计算的K″来确定被使用的交织器大小K′。一旦定义了半对数切割大小(K″),交织器大小K′可以通过下面的方法从半对数切割大小(实际上没有背离)获得,例如,
1.使用K′=K″。换句话说,半对数切割大小可以被直接用作有效交织器大小。
2.当K″不是(2m-1)的倍数时,使用K′=K″,否则当K″是(2m-1)的倍数时,使用K′=K″+δ(K″),其中m是分量卷积编码器的存储器长度,以及δ(K″)是不等于(2m-1)的倍数的较小的正整数或负整数。如果分量卷积码是截尾,则这是有用的,其中(2m-1)的倍数是无效的。由(2)的半对数切割方法所定义的大小有时可以包括对于turbo码不适合的交织器大小的大小。例如,8状态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的倍数的较小的正整数或负整数。
对于K″大小,其对于截尾交织器是无效选择,来确定相关交织器的大小K′的一个简单的方法是从K″减(加是有效的)d×C,其中d是较小的正整数并且不是7的倍数。对于ARP交织器,C可以是ARP交织器周期长度,其用于紧接着可用大小的集合中的K′的块大小。(注意ARP交织器的块大小是周期长度C的倍数。)换句话说,
K′=K″-dC    (3)
K′=K″+dC    (4)
当K″是7的倍数时。因为C通常是偶数整数,例如,4,8,12或16,该调整给出了两个优点,即,(a)K′不是7的倍数,(b)K′是C的整数,并且因此可以设计用于大小为K′的ARP交织器。
为了简单起见,对于需要被调整的所有K″选择相同的d。对于选择d的一个重要考虑是它应该使得由(3)或(4)获得的所有大小具有相当数目的系数,允许支持对于由此定义的CF交织器的并行性的广范围。
交织器大小选择的实例:
对于3GPP LTE,对于在40和5144比特之间的每个块大小定义CF交织器不是必要的。限制或者较小集合的精心设计的CF交织器足以覆盖所有的块大小。如上所述,对于未定义的块大小(即,对于还没有定义的CF交织器),可以高效地使用零填充(即,附加填充比特)。
如第一实例所述,基于如上所述的半对数切割方法定义用于表105中的3GPP长期演进(LTE)的适合覆盖信息块大小的交织器的集合。具体地,
K″=2p×f,p=4,5,...,9;f=8,9,...,15,    (5)
并且K′由K″确定。如下确定交织器大小:使用K′=K″和对于p=4,5,6,7,8,9并且f=8,9,10,11,12,13,15,并使用K′=K″-dC,对于p=4,5,6,7,8,9和f=14,覆盖从128到7680的K。可以移除对应于p=9的最后三个大小(f=13,14,15),使得Kmax=6144,并且Kmin=128。当f=14时,等式(3)与d=2一起使用(即,避免交织器大小的是7的倍数),以处理截尾TC。一旦确定在105中的交织器大小,可以为每个交织器大小设计CF交织器。
已知任何信息块大小K,电路103可以通过从105选择大于等于K的K′的最小值来确定待使用的交织器大小K′。由于K已知,并且fmin=2b,fmax=2b+1-1,其中b是整数,可以如下计算参数p和f,
Figure G2007800424952D00112
特别地,对于(5)中的参数,b=3,并且
Figure G2007800424952D00113
由于参数p和f,可以使用(2)或(5)来计算块大小K′,而且,当f是7的倍数并且使用截尾编码时,也可以使用利用(3)或(4)计算的交织器大小。然后从用于交织器参数105的存储装置中查找与大小为K′的交织器相关联的参数,其通常被存储在通信设备的存储器中。
做为第二实例,用于覆盖K从40到8192比特的完整交织器大小K’的建议的集合是:
对于K’∈[264,8192],K′=2p×f,p=3,...,7;f=33,34,...,64,;
对于K’小于264,使用大小为8的步骤,使得K’=40,48,...,256。
还可以在下面罗列出这些大小:
  40   48   56   64   72   80   88   96   104   112
  120   128   136   144   152   160   168   176   184   192
  200   208   216   224   232   240   248   256   264   272
  280   288   296   304   312   320   328   336   344   352
  360   368   376   384   392   400   408   416   424   432
  440   448   456   464   472   480   488   496   504   512
  528   544   560   576   592   608   624   640   656   672
  688   704   720   736   752   768   784   800   816   832
  848   864   880   896   912   928   944   960   976   992
  1008   1024   1056   1088   1120   1152   1184   1216   1248   1280
  1312   1344   1376   1408   1440   1472   1504   1536   1568   1600
  1632   1664   1696   1728   1760   1792   1824   1856   1888   1920
  1952   1984   2016   2048   2112   2176   2240   2304   2368   2432
  2496   2560   2624   2688   2752   2816   2880   2944   3008   3072
  3136   3200   3264   3328   3392   3456   3520   3584   3648   3712
  3776   3840   3904   3968   4032   4096   4224   4352   4480   4608
  4736   4864   4992   5120   5248   5376   5504   5632   5760   5888
  6016   6144   6272   6400   6528   6656   6784   6912   7040   7168
  7296   7424   7552   7680   7808   7936   8064   8192
请注意上面示出的大小仅仅是用于K’最大值为8192所定义的并且在42个信息块大小的比较研究中所使用的实例。如果使用其他最大值如6144比特,那么任何比最大值大的K’将从列表中移除。而且,为了简明,大小没有考虑使用尾或截尾分量码之间的区别。如果turbo编码器是进行截尾,那么不能使用为7的倍数的K’。如之前描述的,这些将被移除或者被修改。最后,另外的交织器大小可以被添加到上述那些以减少交织器之间的间隔。例如,如果使用最大间隔为64,将在带有表中间隔128的交织器之间中定义额外的交织器。如果随后使用截尾和移除7的倍数K’,那么最大间隔再次为128。
如交织器大小选择的另一个实例,只有在传输块(TB)(在分割前的信息比特的数目)在某个值以上时,系统可以使用CF交织器。例如,如果定义的最大大小是5114,在传输块大于5114时,可以使用CF交织器,例如ARP或QPP。在这些情况中,分割可以生成比5114小的K’,但是CF交织器可以用于那个K’。因此,K根据在分割之前的传输块大小可以是使用第一交织器(例如,3gpp,非CF交织器,或者其他交织器)和第二交织器(例如,无争用交织器)交织的turbo。第一和第二交织器可以具有不同的K’的集合。例如,对于所有的K=K’可以基本上定义第一交织器,同时可以使用上面的K’来定义第二交织器。在一些情况中,唯一或者很少的处理器可以被用于第一交织器。
ARP交织器的实例
在表1中示出适合于覆盖用于3GPP长期演进(LTE)的信息块大小的42CF ARP交织器的子集。对于K<1024使用周期长度C=4,对于K≥1024,使用C=8。更大周期长度C导致更大的块大小,更佳的最小距离dmin。另外,A=0代替A=3被用于所有的大小。另外,除了允许每个K具有不同的α(·)和β(·)矢量,只有较小的集合的α和β值被允许减少交织器定义的存储。下面定义被允许的α和β值的集合。
当周期长度C=4,
α
[0 0 4 4
0 4 4 0];
β
[0   4     12    8
0    12    24    8
0    24    8     12
0    16    8     4
0    12    24    4
0    12    16    24
0    8     20    24
0    4     8     12];
当周期长度C=8,
α
[0 0 8 0 8 0 8 8
8 0 8 8 8 0 0 0];
β
[0    16    24    88    64    8    32    40
0    64    136    160    48    192   24    120
0    24    80     40     16    96    64    32
0    8     72     40     88    48    32    96
0    16    88     96     56    24    48    64
0    8     48     32     64    88    40    56
0    32    8      56     80    16    72    48
0    72    64     48     88    8     184   248
0    16    48     24     8     32    40    88
0    16    120    152    24    216   64    240
0    32    176    216    136   64    224   248
0    16    40     96     88    80    32    48
0    24    208    112    224   168   184   48
0    8     16     64     24    48    80    32
0    8     40     16     96    80    56    88];
因此,每行α可以被用作α矢量,每行β可以被用作β矢量。因此,对于每个K定义索引a和b以索引到αβ行,其中,1<=a<=2,1<=b<=2C。索引方法本质上减少ARP交织器的存储,因为每交织器只需要存储P0(8比特),索引a(1比特)和b(3-4比特)。可以基于K是否小于1024比特来确定周期长度C。另外,使用C=8对C=4的参数存储的量仅仅是在αβ矩阵的大小中不同,这是微不足道的,因此,如果必要,允许使用较高C的自由。
用于交织器参数1 05的存储装置可以使用从表1的至少一行中取出的K′,C,P0,α(·)和β(·)的值来存储ARP交织器参数。交织器201可以使用带有从下表的至少一行中取出的K′,C,P0,α(·)andβ(·)的值的ARP交织器。
表1.为LTE定义的ARP交织器的集合的参数。不变的偏移量A=0被用于全部大小。罗列出使用小于或等于32的自然并行的窗口的可能的并行性M。
  K_info   K   C   P0  索引a   索引b   可用并行性
  40   40   4   41   1   6   1,2,5,10
  52   56   4   13   1   1   1,2,7,14
  67   72   4   13   1   4   1,2,3,6,9,18
  87   88   4   75   2   3   1,2,11,22
  99   104   4   23   1   1   1,2,13,26
  113   120   4   73   1   8   1,2,3,5,6,10,15,30
  129   136   4   11   1   6   1,2,17
  146   152   4   129   1   5   1,2,19
  167   168   4   25   1   4   1,2,3,6,7,14,21
  190   192   4   43   1   1   1,2,3,4,6,8,12,16,24
  216   216   4   133   1   1   1,2,3,6,9,18,27
  246   248   4   57   2   6   1,2,31
  280   280   4   33   2   1   1,2,5,7,10,14
  319   320   4   207   1   4   1,2,4,5,8,10,16,20
  363   368   4   87   2   3   1,2,4,23
  384   384   4   91   1   1   1,2,3,4,6,8,12,16,24,32
  414   416   4   77   1   1   1,2,4,8,13,26
  471   472   4   61   1   4   1,2
  536   544   4   237   1   1   1,2,4,8,17
  611   624   4   49   1   7   1,2,3,4,6,12,13,26
  695   704   4   43   1   4   1,2,4,8,11,16,22
  792   800   4   151   1   1   1,2,4,5,8,10,20,25
  902   912   4   49   1   1   1,2,3,4,6,12,19
  1027   1056   8   217   2   1   1,2,3,4,6,11,12,22
  1169   1184   8   49   1   11   1,2,4
  1331   1344   8   253   2   2   1,2,3,4,6,7,8,12,14,21,24,28
  1536   1536   8   187   2   8   1,2,3,4,6,8,12,16,24,32
  1725   1728   8   65   1   3   1,2,3,4,6,8,9,12,18,24,27
  1965   1984   8   121   1   14   1,2,4,8,31
  2237   2240   8   137   2   6   1,2,4,5,7,8,10,14,20,28
  2304   2304   8   193   1   4   1,2,3,4,6,8,9,12,16,18,24,32
  2547   2560   8   157   1   3   1,2,4,5,8,10,16,20,32
  2900   2944   8   121   1   7   1,2,4,8,16,23
  3302   3328   8   137   2   1   1,2,4,8,13,16,26,32
  3760   3776   8   119   1   3   1,2,4,8
  4096   4096   8   169   2   11   1,2,4,8,16,32
  4281   4352   8   179   1   3   1,2,4,8,16,17,32
  4874   4992   8   211   1   3   1,2,3,4,6,8,12,13,16,24,26
  5550   5632   8   237   1   7   1,2,4,8,11,16,22,32
  6144   6144   8   253   2   13   1,2,3,4,6,8,12,16,24,32
  7195   7296   8   181   1   7   1,2,3,4,6,8,12,16,19,24
  8192   8192   8   203   1   7   1,2,4,8,16,32
ARP交织器的属性:
存在几种方式来修改交织器表。例如,可以用过使用应用于超过一个交织器大小的ARP参数的集合来减少存储。例如,1024比特,2048比特,4096比特交织器可以全部使用相同的ARP参数。在另一变型中,如果需要,可以基于不同的C值来重新设计表的一些行。在另一改进中,可以固定(例如,总是零)参数的一些项(例如,
Figure G2007800424952D00151
Figure G2007800424952D00152
)。
如下是用于获取表1的一些对交织器选择程序的进一步评论。
1.选择不变的偏移量值A=3或A=0用于减少存储。
2.基于性能研究和存储,对于K′<1024使用周期长度C=4,对于K′≥1024使用C=8。
3.对于每个块大小,执行模拟以确保ARP交织器性能(带有截尾编码)接近于或好于在用于3GPP turbo码的规范中定义的交织器的性能。
4.基于(5)定义表1以覆盖交织器大小(例如,40到8192)的特定集合。如果优选的,可以删除或添加其他交织器大小。
5.在不是7的倍数的105中定义的所有交织器根据可允许的性能降级可以被用于尾或截尾turbo码。是7的倍数的这些也可以被尾使用。
QPP交织器的实例
表2中示出适合于覆盖用于3GPP长期演进(LTE)  的42个CFQPP交织器子集。这些交织器具有二次反多项式,使得去交织器也是QPP。
用于交织器参数105的存储装置可以存储QPP交织器参数,其使用从表2的至少一行中取出的K′,f1,f2的值。交织器201可以使用带有从下表的至少一行中取出的K′,f1,f2的值的QPP交织器。
表2.为LTE定义的QPP交织器的集合的参数。列出了小于等于32的可能的并行性。
  K_info   K   f1   f2   可用并行性
  40   40   37   20   1,2,4,5,8,10,20
  52   56   19   42   1,2,4,7,8,14,28
  87   72   19   60   1,2,3,4,6,8,9,12,18,24
  87   88   5   22   1,2,4,8,11,22
  99   104   45   26   1,2,4,8,13,26
  113   120   103   90   1,2,3,4,5,6,8,10,12,15,20,24,30
  129   136   19   102   1,2,4,8,17
  146   152   135   38   1,2,4,8,19
  167   168   101   84   1,2,3,4,6,7,8,12,14,21,24,28
  190   192   85   24   1,2,3,4,6,8,12,16,24,32
  216   216   13   36   1,2,3,4,6,8,9,12,18,24,27
  246   248   33   62   1,2,4,8,31
  280   280   103   210   1,2,4,5,7,8,10,14,20,28
  319   320   21   120   1,2,4,5,8,10,16,20,32
  363   368   25   138   1,2,4,8,16,23
  384   384   25   240   1,2,3,4,6,8,12,16,24,32
  414   416   77   52   1,2,4,8,13,16,26,32
  471   472   175   118   1,2,4,8
  536   544   35   68   1,2,4,8,16,17,32
  611   624   41   234   1,2,3,4,6,8,12,13,16,24,26
  695   704   155   44   1,2,4,8,11,16,22,32
  792   800   207   80   1,2,4,5,8,10,16,20,25,32
  902   912   85   114   1,2,3,4,6,8,12,16,19,24
  1027   1056   229   132   1,2,3,4,6,8,11,12,16,22,24,32
  1169   1184   217   148   1,2,4,8,16,32
  1331   1344   211   252   1,2,3,4,6,7,8,12,14,16,21,24,28,32
  1536   1536   71   48   1,2,3,4,6,8,12,16,24,32
  1725   1728   127   96   1,2,3,4,6,8,9,12,16,18,24,27,32
  1965   1984   185   124   1,2,4,8,16,31,32
  2237   2240   209   420   1,2,4,5,7,8,10,14,16,20,28,32
  2304   2304   253   216   1,2,3,4,6,8,9,12,16,18,24,32
  2547   2560   39   240   1,2,4,5,8,10,16,20,32
  2900   2944   231   184   1,2,4,8,16,23,32
  3302   3328   51   104   1,2,4,8,13,16,26,32
  3760   3776   179   236   1,2,4,8,16,32
  4096   4096   95   192   1,2,4,8,16,32
  4281   4352   477   408   1,2,4,8,16,17,32
  4874   4992   233   312   1,2,3,4,6,8,12,13,16,24,26,32
  5550   5632   45   176   1,2,4,8,11,16,22,32
  6144   6144   263   480   1,2,3,4,6,8,12,16,24,32
  7195   7296   137   456   1,2,3,4,6,8,12,16,19,24,32
  8192   8192   417   448   1,2,4,8,16,32
图3是接收器300的框图。在输入,填充处理电路302通过信道,例如,通过无线,接收已经发射的信号矢量。然后,电路306确定交织器大小K′,可以通过与类似于上面讨论的方式来完成,例如通过从存储器308中执行表查找,或经由计算,例如(7),(8)和(2)。因此,已知信息块大小K,解码器304使用由编码器101使用的相同的交织器大小K′。使用填充处理电路302以合适地处理所接收的信号矢量和填充比特位置(例如,如果填充比特位置是已知的,那么可以在解码期间将相应的LLR量级设定为非常高的量级)。然后turbo解码器304执行解码并且获得长度为K′的输入块的估计值
Figure G2007800424952D00171
最后,信息块提取电路310从
Figure G2007800424952D00181
提取估计的信息块。尽管为了解释的方便,在turbo解码器外部示出填充处理电路302,但这两个可以在执行中被结合。
图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。turbo解码器304可以需要或不需要参数Kfiller,因此如图4中的虚线所标记。
如上所述,在一个实施例中,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′,其中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。K’,C,P0,α(·)andβ(·)的值优选地取自表1的行。去交织器401执行交织器402的反向功能。
交织器402可以使用置换π(i)=(f1×i+f2×i2)mod K′,其中0≤i≤K′-1是在交织之后符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是符号单位的交织器大小,并且f1和f2是定义交织器的系数。K’,f1,f2的值优选地取自表2的行。去交织器401执行交织器402的反向功能。
图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′的步骤,其中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。K’,C,P0,α(·)andβ(·)的值优选地取自表1。交织输入块的步骤还包括使用置换π(i)=(f1×i+f2×i2)mod K′的步骤,其中0≤i≤K′-1是在交织之后符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是符号单位的交织器大小,并且f1和f2是定义交织器的系数。K’,f1,f2的值优选地取自表2的行。
图6是示出图3的接收器的操作的流程图。逻辑流在步骤601开始,其中电路306确定交织器大小K′。在步骤603中,电路302将填充比特信息添加到接收的信号矢量,例如,如果填充比特和填充比特位置是已知的,电路302可以设定为在turbo解码器输入中那些位置的高量级对数似然比(LLR)。在步骤607中,turbo解码器使用大小为K′的交织器和去交织器确定解码器输入块并且输出长度为K′的输入块的估计的
Figure G2007800424952D00201
在步骤609,信息块提取电路310移除填充比特以获得长度为K的信息块的估计。最后在步骤611,输出估计的信息块。
当参考特定实施例特别地示出并描述本发明时,本领域技术人员应该明白,在不脱离本发明的精神和范围的情况下,可以做出形式上和细节上的多种变化。在一个实例中,交织器表可以被进一步增强以处理特别的情况,包括:(a)使用另外被定义的交织器大小的集合来覆盖必须被处理的特殊的块大小,例如,没有填充比特或者具有较少的填充比特。(b)可以通过从半对数切割大小中加或减较小的值稍微调整交织器大小。在另一个实例中,尽管上文假设二进制输入turbo编码器来描述本发明,但当turbo编码器采用符号作为输入时,可以应用同样的原理。例如,双二进制turbo码一次采用两个二进制比特的符号,并且turbo交织器置换符号(还可以进行扰乱,例如,改变符号中的比特)。在这种情况下,以符号单位测量输入块大小,并且交织器大小等于输入块中符号的数量。在另一实例中,尽管上文的描述假设交织器大小和交织器参数被存储在查找表中,他们可以经由其他方法来确定,例如,代数计算。在另一实例中,尽管上文的描述假设turbo码,但该方法还可以应用于其他FEC方案,包括,例如,低密度奇偶校验(LDPC)码,里德一所罗门(RS)码等。意指这种变化在所属权利要求的范围内。

Claims (6)

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′的交织器交织所述输入块,其中,交织所述输入块的步骤包括使用置换π(i)=(f1×i+f2×i2)mod K′的步骤,其中0≤i≤K′-1是交织后符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是符号单位的所述交织器大小,并且f1和f2是定义所述交织器的系数,
编码原始输入块和所述交织的输入块以获得码字块;以及
通过信道发射码字块。
2.根据权利要求1所述的方法,其中,所述K′,f1,f2的值取自下表中的至少一行:
  K′   f1   f2   40   37   20   56   19   42   72   19   60   88   5   22   104   45   26   120   103   90   136   19   102   152   135   38   168   101   84   192   85   24   216   13   36   248   33   62   280   103   210   320   21   120
  368   25   138   384   25   240   416   77   52   472   175   118   544   35   68   624   41   234   704   155   44   800   207   80   912   85   114   1056   229   132   1184   217   148   1344   211   252   1536   71   48   1728   127   96   1984   185   124   2240   209   420   2304   253   216   2560   39   240   2944   231   184   3328   51   104   3776   179   236   4096   95   192   4352   477   408   4992   233   312   5632   45   176   6144   263   480   7296   137   456   8192   417   448
            。
3.一种用于操作turbo编码器的方法,所述方法包括以下步骤:
接收大小为K′的输入块;以及
使用大小为K′的交织器和置换π(i)=(f1×i+f2×i2)mod K′编码所述输入块,其中0≤i≤K′-1是交织后符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是符号单位的交织器大小,并且f1和f2是定义交织器的系数,其中所述K′,f1,f2的值取自下表中的至少一行:
  K′   f1   f2   40   37   20
  56   19   42   72   19   60   88   5   22   104   45   26   120   103   90   136   19   102   152   135   38   168   101   84   192   85   24   216   13   36   248   33   62   280   103   210   320   21   120   368   25   138   384   25   240   416   77   52   472   175   118   544   35   68   624   41   234   704   155   44   800   207   80   912   85   114   1056   229   132   1184   217   148   1344   211   252   1536   71   48   1728   127   96   1984   185   124   2240   209   420   2304   253   216   2560   39   240   2944   231   184   3328   51   104   3776   179   236   4096   95   192   4352   477   408   4992   233   312   5632   45   176   6144   263   480   7296   137   456   8192   417   448
            。
4.一种用于操作turbo编码器的装置,所述装置包括:
交织器大小确定电路,确定与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′的输入块,其中所述交织器使用置换π(i)=(f1×i+f2×i2)mod K′,其中0≤i≤K′-1是交织后符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是符号单位的所述交织器大小,并且f1和f2是定义所述交织器的系数,以及
编码器,编码原始输入块和交织的输入块以获得码字块。
5.根据权利要求4所述的装置,其中,所述K′,f1,f2的值取自下表中的至少一行:
  K′   f1   f2   40   37   20   56   19   42   72   19   60   88   5   22   104   45   26   120   103   90   136   19   102   152   135   38   168   101   84   192   85   24   216   13   36   248   33   62   280   103   210   320   21   120   368   25   138   384   25   240   416   77   52   472   175   118   544   35   68
  624   41   234   704   155   44   800   207   80   912   85   114   1056   229   132   1184   217   148   1344   211   252   1536   71   48   1728   127   96   1984   185   124   2240   209   420   2304   253   216   2560   39   240   2944   231   184   3328   51   104   3776   179   236   4096   95   192   4352   477   408   4992   233   312   5632   45   176   6144   263   480   7296   137   456   8192   417   448
             。
6.一种用于操作turbo编码器的装置,所述装置包括:
接收电路,接收大小为K′的输入块;以及
编码器,使用大小为K′的交织器和置换π(i)=(f1×i+f2×i2)modK′来编码输入块,其中0≤i≤K′-1是交织后符号位置的顺序索引,π(i)是对应于位置i的交织之前的符号索引,K′是符号单位的所述交织器大小,并且f1和f2是定义所述交织器的系数,并且其中所述K′,f1,f2的值取自下表中的至少一行:
  K′   f1   f2   40   37   20   56   19   42   72   19   60   88   5   22   104   45   26   120   103   90
  136   19   102   152   135   38   168   101   84   192   85   24   216   13   36   248   33   62   280   103   210   320   21   120   368   25   138   384   25   240   416   77   52   472   175   118   544   35   68   624   41   234   704   155   44   800   207   80   912   85   114   1056   229   132   1184   217   148   1344   211   252   1536   71   48   1728   127   96   1984   185   124   2240   209   420   2304   253   216   2560   39   240   2944   231   184   3328   51   104   3776   179   236   4096   95   192   4352   477   408   4992   233   312   5632   45   176   6144   263   480   7296   137   456   8192   417   448
             。
CN2007800424952A 2006-11-30 2007-11-12 利用无争用交织器的turbo编码 Active CN101601188B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86789906P 2006-11-30 2006-11-30
US60/867,899 2006-11-30
US11/683,024 US7949926B2 (en) 2006-11-30 2007-03-07 Method and apparatus for encoding and decoding data
US11/683,024 2007-03-07
PCT/US2007/084390 WO2008067149A2 (en) 2006-11-30 2007-11-12 Turbo-encoding with contention-free interleavers

Publications (2)

Publication Number Publication Date
CN101601188A CN101601188A (zh) 2009-12-09
CN101601188B true CN101601188B (zh) 2013-03-27

Family

ID=39186041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800424952A Active CN101601188B (zh) 2006-11-30 2007-11-12 利用无争用交织器的turbo编码

Country Status (12)

Country Link
US (2) US7949926B2 (zh)
EP (3) EP2102989B1 (zh)
JP (2) JP4858991B2 (zh)
KR (1) KR101459801B1 (zh)
CN (1) CN101601188B (zh)
AR (1) AR064088A1 (zh)
AT (1) ATE553541T1 (zh)
BR (1) BRPI0721176B1 (zh)
ES (3) ES2430361T3 (zh)
PL (3) PL2102989T3 (zh)
RU (1) RU2437208C2 (zh)
WO (1) WO2008067149A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2034613A4 (en) * 2006-05-17 2009-08-12 Nec Corp ENCODER TURBO AND HARQ PROCESSING METHOD APPLIED FOR TURBO ENCODER
US8356232B2 (en) 2006-10-06 2013-01-15 Motorola Mobility Llc Method and apparatus for encoding and decoding data
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
ES2562788T3 (es) 2007-09-25 2016-03-08 Telefonaktiebolaget Lm Ericsson (Publ) Aleatorización de interferencia de elementos de canal de control
US8250448B1 (en) * 2008-03-26 2012-08-21 Xilinx, Inc. Method of and apparatus for implementing a decoder
US8284732B2 (en) 2009-02-03 2012-10-09 Motorola Mobility Llc Method and apparatus for transport block signaling in a wireless communication system
US9130728B2 (en) 2009-06-16 2015-09-08 Intel Mobile Communications GmbH Reduced contention storage for channel coding
CN101931419B (zh) * 2009-06-24 2013-04-03 中兴通讯股份有限公司 一种turbo码内交织器的计算方法及装置
JP5360218B2 (ja) 2009-08-25 2013-12-04 富士通株式会社 送信機、符号化装置、受信機、及び、復号化装置
US8495476B2 (en) * 2009-12-17 2013-07-23 Samsung Electronics Co., Ltd System and method for coding and interleaving for short frame support in visible light communication
US8448033B2 (en) * 2010-01-14 2013-05-21 Mediatek Inc. Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same
RU2010111027A (ru) * 2010-03-24 2011-09-27 ЭлЭсАй Корпорейшн (US) Устройство и способ для высокоскоростного расчета таблиц перемежения для нескольких стандартов беспроводной связи
EP2706667A1 (en) * 2010-09-13 2014-03-12 Hughes Network Systems, LLC Method and apparatus for a parameterized interleaver design process
CN101969310B (zh) * 2010-10-22 2012-11-28 上海交通大学 Turbo码并行译码器的QPP内交织器及其交织方法
KR101286021B1 (ko) * 2012-02-02 2013-07-19 주식회사 이노와이어리스 인터리버 인덱스 생성장치 및 방법
US9128888B2 (en) 2012-08-30 2015-09-08 Intel Deutschland Gmbh Method and apparatus for turbo decoder memory collision resolution
CN107659384A (zh) 2012-11-16 2018-02-02 华为技术有限公司 数据处理的方法和装置
CN103973319B (zh) * 2013-02-06 2017-04-19 联想(北京)有限公司 全整数Turbo码迭代译码的方法和系统
JP6193051B2 (ja) * 2013-08-15 2017-09-06 Necプラットフォームズ株式会社 アドレス生成回路及びアドレス生成方法
WO2015137712A1 (en) 2014-03-14 2015-09-17 Samsung Electronics Co., Ltd. Method and apparatus for controlling interleaving depth
US10135467B2 (en) * 2016-06-08 2018-11-20 Echelon Corporation Methods and systems for applying an improved interleaver for modems operating on power grid
CN110071728B (zh) * 2018-01-24 2021-02-05 华为技术有限公司 一种交织方法及交织设备
CN112398486B (zh) * 2020-11-10 2023-01-31 中国人民解放军战略支援部队信息工程大学 利用多种纠错方式进行优化的Turbo码交织参数识别方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714513A (zh) * 2002-12-16 2005-12-28 意大利电信股份公司 用于turbo编码器和解码器中的交织器的地址产生

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3037419B2 (ja) 1990-10-24 2000-04-24 ドイチエ トムソン−ブラント ゲゼルシヤフト ミツト ベシユレンクテル ハフツング データ伝送および/またはデータ記憶のための方法、エンコーダおよびデコーダ
US5898698A (en) * 1996-09-24 1999-04-27 Orckit Communications Ltd. Multiple codeword interleaver method and apparatus
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 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
FR2790621B1 (fr) * 1999-03-05 2001-12-21 Canon Kk Dispositif et procede d'entrelacement pour turbocodage et turbodecodage
US6314534B1 (en) * 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
CA2333032C (en) * 1999-04-02 2005-11-29 Samsung Electronics Co., Ltd. Interleaving / deinterleaving apparatus and method for a communication system
US6591381B1 (en) 1999-04-06 2003-07-08 Samsung Electronics Co., Ltd. 2-dimensional interleaving apparatus and method
FI106758B (fi) 1999-04-16 2001-03-30 Nokia Networks Oy Segmentointimekanismi lohkoenkooderia varten
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
KR100713331B1 (ko) 2000-12-23 2007-05-04 삼성전자주식회사 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법
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
JP3880542B2 (ja) 2003-05-19 2007-02-14 松下電器産業株式会社 誤り訂正符号化/復号化装置および誤り訂正符号化/復号化方法
JP3847733B2 (ja) 2003-06-12 2006-11-22 松下電器産業株式会社 マルチキャリア通信方法及びその通信装置
US7428669B2 (en) * 2003-12-07 2008-09-23 Adaptive Spectrum And Signal Alignment, Inc. Adaptive FEC codeword management
KR100739511B1 (ko) * 2004-06-25 2007-07-13 삼성전자주식회사 직교 주파수 분할 다중 방식을 사용하는 통신 시스템에서파일럿 신호 송수신 장치 및 방법
US7583586B2 (en) * 2004-07-02 2009-09-01 Samsung Electronics Co., Ltd Apparatus and method for transmitting/receiving pilot signal in communication system using OFDM scheme
US7409626B1 (en) * 2004-07-28 2008-08-05 Ikanos Communications Inc Method and apparatus for determining codeword interleaver parameters
WO2006082923A1 (ja) * 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
US7644340B1 (en) * 2005-07-08 2010-01-05 Marvell International Ltd. General convolutional interleaver and deinterleaver
US7925956B2 (en) * 2006-10-03 2011-04-12 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8356232B2 (en) 2006-10-06 2013-01-15 Motorola Mobility Llc Method and apparatus for encoding and decoding data
JP2010508790A (ja) * 2006-11-01 2010-03-18 クゥアルコム・インコーポレイテッド 高データレートのためのターボインターリーバ
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714513A (zh) * 2002-12-16 2005-12-28 意大利电信股份公司 用于turbo编码器和解码器中的交织器的地址产生

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ericsson.Quadratic Permutation Polynomial Interleavers for LTE Turbo Coding.《3GPP TSG-RAN WG1 #47》.2006,1-5. *
Motorola.Code Block Segmentation for Contention-free Turbo Interleavers.《3GPP TSG RAN WG1 #47》.2006,1-4. *

Also Published As

Publication number Publication date
BRPI0721176B1 (pt) 2020-04-07
ATE553541T1 (de) 2012-04-15
JP4858991B2 (ja) 2012-01-18
KR20090094262A (ko) 2009-09-04
BRPI0721176A2 (pt) 2014-03-18
WO2008067149A2 (en) 2008-06-05
US7949926B2 (en) 2011-05-24
EP2493079A1 (en) 2012-08-29
AR064088A1 (es) 2009-03-11
WO2008067149B1 (en) 2008-10-09
JP5396599B2 (ja) 2014-01-22
WO2008067149A3 (en) 2008-08-28
EP2493079B1 (en) 2013-09-18
RU2437208C2 (ru) 2011-12-20
JP2008141756A (ja) 2008-06-19
CN101601188A (zh) 2009-12-09
BRPI0721176A8 (pt) 2017-04-04
ES2397665T3 (es) 2013-03-08
JP2011147188A (ja) 2011-07-28
US20110197104A1 (en) 2011-08-11
ES2381595T3 (es) 2012-05-29
EP2102989A2 (en) 2009-09-23
EP2442450A2 (en) 2012-04-18
ES2430361T3 (es) 2013-11-20
RU2009124925A (ru) 2011-01-10
KR101459801B1 (ko) 2014-11-13
US8850286B2 (en) 2014-09-30
US20080133998A1 (en) 2008-06-05
PL2493079T3 (pl) 2014-01-31
EP2442450B1 (en) 2012-12-19
PL2442450T3 (pl) 2013-04-30
EP2442450A3 (en) 2012-05-23
PL2102989T3 (pl) 2012-07-31
EP2102989B1 (en) 2012-04-11

Similar Documents

Publication Publication Date Title
CN101601188B (zh) 利用无争用交织器的turbo编码
CN101636914A (zh) 用于编码和解码数据的方法和装置
CN101553990B (zh) Turbo码交织器尺寸的确定
CN101232289B (zh) 涡轮解码器及解码涡轮编码信号的方法
Boutros et al. Generalized low density (Tanner) codes
CN109314600B (zh) 用于在使用通用极化码时进行速率匹配的系统和方法
US8495459B2 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
JP3666430B2 (ja) 情報送信装置及び情報送信方法、並びに情報受信装置及び情報受信方法
US8792469B2 (en) Coding a control message with determined data code block repetition
KR20190099327A (ko) 정보 처리 방법, 장치, 및 통신 시스템
CN110999095B (zh) 用于极化码的按块并行冻结位生成
MXPA01010239A (es) Sistema y metodo que emplean un decodificador modular para decodificar codigos turbo y similares al turbo en una red de comunicaciones.
CN1246987C (zh) 在资源约束条件下编码数据块尺寸最佳化的方法
KR20090095432A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서채널부호/복호 방법 및 장치
JP3979105B2 (ja) 多元接続システム
US8250446B2 (en) Decoder device and decoding method
KR101413783B1 (ko) 가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치
CN101777923B (zh) Ctc编码器、内码交织器以及内码交织方法、编码处理方法
KR20130044254A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
CN100463370C (zh) 输入控制装置及输入控制方法
CN1319278C (zh) Turbo乘积码串行级联NR码的信道编码方法
CN1201493C (zh) 性能约束条件下编码数据块尺寸最佳化的方法
CN101667839A (zh) 交织方法
CN106452678B (zh) 一种基于误比特率分布的Turbo码删余方法
CN101771496B (zh) 一种二次置换多项式交织器

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