CN1202625C - 利用线性同余序列的turbo码交织器 - Google Patents

利用线性同余序列的turbo码交织器 Download PDF

Info

Publication number
CN1202625C
CN1202625C CNB998140392A CN99814039A CN1202625C CN 1202625 C CN1202625 C CN 1202625C CN B998140392 A CNB998140392 A CN B998140392A CN 99814039 A CN99814039 A CN 99814039A CN 1202625 C CN1202625 C CN 1202625C
Authority
CN
China
Prior art keywords
interleaver
row
cycle
encoder
prime number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB998140392A
Other languages
English (en)
Other versions
CN1357172A (zh
Inventor
D·N·罗维奇
林福韵
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN1357172A publication Critical patent/CN1357172A/zh
Application granted granted Critical
Publication of CN1202625C publication Critical patent/CN1202625C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/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
    • H03M13/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/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/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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/2771Internal interleaver for turbo 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

Abstract

一种利用线性同余序列的turbo码交织器(100),可以用作turbo编码器(10)中的两维交织器(16),turbo编码器包括第一和第二组成部分编码器(12,14)。交织器(16)和第一编码器(12)各被配置成接收输入位。第一编码器(12)从其产生输出符号(22,24)。交织器(16)按行依次地接收输入位(20)。交织器(16)内的线性同余序列递归算法的作用是对交织器(16)每一行中的位伪随机地重新排列或重排。然后按列依次地从交织器输出位(26)。第二编码器(14)被配置成从交织器接收被交织的位。第二编码器(14)从其产生输出符号(28)。两个输出符号(22,24)流被一起复用,具有适当截去。如果需要的话,能够以逆向产生线性同余递归序列。此外如果需要的话,能够把比特倒置技术用在交织器(16)中,对交织器(16)的行进行重新排列或重排。

Description

利用线性同余序列的turbo码交织器
                        发明背景
I.发明领域
本发明一般涉及通信系统的编码领域,尤其涉及turbo编码器的交织器。
II.现有技术的描述
数字数据的传输固有地易于受干扰,这会把差错引入到被传输的数据中。已经提出各种差错检测方案,尽可能可靠地确定差错是否已经引入到被传输的数据中。例如,通常以分组发送数据并在每个分组中增加一个循环冗余校验(CRC)字段,例如16位的长度,它载有分组的数据的校验和。当接收机接收数据时,接收机计算接收到的数据上的相同校验和并验证计算的结果是否与CRC字段中的校验和相同。
当被发送的数据不是在线使用时,当检测到差错时可以请求重新发送有差错的数据。然而,当发送是在线进行时,例如在电话线、蜂窝电话、远程视频系统等上进行时,不可能请求重新发送。
卷积码已经被引入以允许数字数据的接收机即使在发送期间已经发生差错时也能够正确地确定被发送的数据。卷积码把冗余引入到被发送的数据中并把被发送的数据打包在分组中,其中每一位的值依赖于序列中的前面几位。因此,当差错发生时,接收机通过追溯收到数据中的可能序列仍然能够推导出原始数据。
为了进一步改进发送信道的性能,有些编码方案包括了交织器,它将编码期间分组中的位的次序混合。因此,当干扰毁坏发送期间某些相邻位时,干扰的影响在整个原始分组上被分散,通过解码过程能够更容易地被克服。其他的改进可能包括多分量编码,它以并联或串联对分组编码一次以上。例如,现有技术已知采用差错校正方法,该方法以并联方式使用至少两个卷积码。这种并联编码常常称为turbo编码。
对于多分量代码,最佳的解码常常是一项十分复杂的任务,可能需要相当长的时间周期,对于在线解码通常是不能提供的。已经发展了迭代解码技术,以克服这个问题。不是立即确定收到的位是0还是1,接收机每个位指定多级尺度上的一个值,代表该位是1的几率。常用标尺(称为对数似然比(LLR)几率)用某些范围内的整数代表每个位,例如{-32,31}。31的值表明被发送的位0具有很高几率,-32的值表明被发送的位1具有很高几率。0的值表示该逻值位值是不确定的。
把多级尺度上所代表的数据称为“软数据”,迭代解码通常软进/软出,即解码过程接收对应于位值的几率的一个输入序列并提供输出校正的几率,考虑了代码的约束。通常,执行迭代解码的解码器使用来自以前多个迭代的软数据对接收机读出的软数据进行解码。在多分量代码的迭代解码中,解码器使用来自对一个代码的解码的结果来改进对第二个代码的解码。当使用并行解码器时,正如在turbo编码中一样,为此可以方便地并行使用两个相应的解码器。对于多次迭代进行这种迭代解码,直至相信软数据接近于代表被发送的数据为止。把具有表示它们接近于1的几率的这些位(例如,在上述尺度上的0与31之间)指定为二进制0,把其余到位指定为二进制1。
“turbo编码”代表在前向纠错(FEC)方面的重要进展。存在许多种turbo编码,但是最常见的turbo编码采用多个被被交织步骤分开的解码步骤,与迭代解码的使用相结合。这种组合对通信系统中的噪声容限提供了以前不能提供的性能。即,turbo编码允许在利用现有的前向纠错技术以前是不能接受的每位能量与单位噪声功率谱密度之比(Eb/N0)的电平上进行通信。
许多通信系统使用前向纠错技术,因此得益于turbo编码的使用。例如,turbo码能够改善无线卫星链路的性能,其中卫星的有限的下行链路发送功率使接收机系统能够在低Eb/N0电平上工作。
例如,诸如数字蜂窝和PCS电话系统的数字无线电信系统也使用前向纠错。例如,通信工业协会已经发布空中接口标准TIA/EIA临时标准95,以及其派生标准,例如IS-95B(以下共同地称为IS-95),它定义数字无线通信系统使用卷积编码来提供编码增益从而增大系统的容量。美国专利5,103,459中描述了基本上按照使用IS-95标准处理射频信号的系统和方法,该专利转让给本发明的受让人,这里通过参考被全部引入。
通信工业中存在需要继续改善编码增益的推动力。在传统数字无线通信系统中,已经发现,用同余随机序列可以有利地实施turbo编码的串联交织器。现有技术中发现,通过利用线性同余递归算法可以产生均匀随机序列。见例如D.Knuth“计算机编程的技术”(1969)(描述具有线性同余递归的伪随机数的产生)。还发现采用两维交织器(即组织为包含行和列的矩形数据阵列的交织器)的并联turbo编码器通常在编码增益上胜过具有一维交织器(即数据组织为单个线性阵列的交织器)的并联turbo编码器。
进一步增强turbo编码器的性能是有利的。另外,如果turbo编码器比传统编码器实施起来明显地更复杂的话,则需要提供降低复杂性的turbo编码器实施方案。因此,需要降低复杂性的使用多个线性同余序列的两维交织器。
                          发明概要
本发明是指使用多个线性同余序列的降低复杂性的两维同余序列。因此,在本发明的一个方面中,turbo编码器有利地包括第一编码器,被配置成连续地接收多个输入位并从其产生第一组多个输出符号;交织器,被配置成连续地接收多个输入位,该交织器包括以行和列阵列排列的多个位存储位置和一个线性同余序列发生器,被配置成伪随机地产生交织器每一行中的位重排的序列;以及第二编码器,被配置成从交织器连续地接收多个被交织的位并从其产生第二组多个输出符号。
在本发明的另一个方面中,一种对数据元进行交织的方法有利地包括通过按行依次地把数据元写到位存储位置的矩阵;按照线性同余序列递归把每一行中的数据元伪随机地重新排列在位存储位置的矩阵中;以及通过从位存储位置的阵列按列依次地读出数据元的步骤。
在本发明的再一个方面中,一种交织器有利地包括通过按行依次地把数据元写到位存储位置的矩阵的装置;按照线性同余序列递归把每一行中的数据元伪随机地重新排列在位存储位置的矩阵中的装置;以及通过从位存储位置的阵列按列依次地读出数据元的装置。
                        附图简述
图1是并联turbo编码器的方框图。
图2是可以使用在图1的并联turbo编码器中的交织器的方框图。
图3是可以与图2交织器结合使用的组成部分编码器的方框图。
                    较佳实施例的详细描述
按照一个实施例,正如图1所示,并联turbo编码器10、或turbo编码器10包括第一和第二编码器12,14、交织器16和复用器18。第一编码器12和交织器16被配置成接收编码器输入数据20,这通常是用户信息或控制数据。第一编码器12输出系统符号22,这通常是原始输入位20的复制,和奇偶校验符号24。第二编码器14被配置成接收交织器16的交织输出26和输出第二组奇偶校验符号28。由第二编码器14产生的系统符号(未示出)被抑制,第一和第二编码器12,14的其余各输出22、24、28通过复用器18被复用为一个输出数据流。
可以并联地增加附加的编码器和交织器对以降低编码率,由此提供增强的前向纠错。另一方面,有些系统符号22和/或奇偶校验符号24可以被截去以增大编码率和提供改进的频谱效率。
第一和第二编码器12,14可以是现有技术中已知的各种类型的编码器,包括块编码器和卷积编码器。在Bernard Sklar的“数字通信”245-380(1988)中描述了示例的块编码器和卷积编码器,这里将其引作参考。第一和第二编码器12,14有利地是具有相对较小约束长度K(例如K=4)的卷积编码器,由此提供降低的复杂性,因为低的约束长度降低相应解码器(未示出)的复杂性。第一和第二编码器12,14还有利地是递归系统卷积(RSC)编码器,正如现有技术中已知的。交织器16有利地是两维交织器,正如以下描述的。
典型地,第一和第二编码器12,14对接收到的每一位20输出两个奇偶校验符号24,28,对每个编码器12,14产生编码率R=1/2。然而,对于turbo编码器10的总编码率是R=1/3,因为来自第二编码器14的系统位被截去。
正如图2所示,按照一个实施例的两维(2D)线性同余序列(LCS)交织器100包括4个查看表(LUT)102,104,106和108,7个两输入复用器(MUX)110,112,114,116,118,120,122,1个R输入MUX124,1个行计数器126,第一和第二比特倒置逻辑块128,130,1个地址生效模块132,多个(R个)列指数或行的寄存器134,136,138,140(为简单起见图中示出4个),1个标记列指数复位的寄存器142,第一和第二k位复用器144,146,以及4个k位加法器148,150,152,154。LCS递归发生器156由虚线框表示。交织器100可以使用在图1.的并联turbo编码器中,或者,另一方面交织器100可以使用在串联turbo编码器中,其中交织器100定位为外部或内部分量代码,正如本领域技术人员能够理解的。
交织器100的尺寸是N,它小于或等于2m且大于2m-1。行R的数目乘以列C的数目等于2m。列C的数目等于2k,即k=log2C。行R的数目等于2r,即r=log2R。
地址生效模块132可以有利地实施为分立门逻辑,被配置为移位寄存器和加法器。地址生效模块132的作用是校验X输入是否小于列数目C和Y输入(行指数)的乘积,与Z输入(列指数)的和,执行例如移位和加法功能。地址生效模块132的作用是产生一个标记,该标记表示地址是否无效,即地址是否包含应当被放弃的超过2的幂的位(即交织器大小是否在相继的2的幂之间)。
LCS递归发生器156的作用是通过在至4个LUT102,104,106,108的输入上接收行数目值并产生一个列指数(Z输入到地址生效模块132)而伪随机地重新排列或重排交织器100包含的每一行中的位值,正如以下描述的。本领域技术人员应当理解,在诸如图1中所示的并联turbo编码器中,数据元的物理重新排列可以被有利地回避,有利于利用由第二编码器寻址读出的伪随机产生的LCS。第一和第二比特倒置逻辑块128,130的作用是按照预先定义的比特倒置规则使交织器100中的行重新排列或重排,正如以下描述的和本领域所公知的。
LUT102,104,106,108可以实施为本领域已知的任何存储媒体。第一个LUT102用于存储系数c的值,第二个LUT104用于存储系数a的值。第三个LUT106用于存储系数a取为系数b的幂的值。第四个LUT108用于存储x(-1)的值。每个LUT102,104,106,108的大小是r×k位。交织器100的总存储器要求对于寄存器134,136,138,140是4r×k加上r×k寄存器位。
寄存器142接收一个规定行数目的位值,初始将其设定为R-1。采用每个处理循环,寄存器142输出一个规定列数目的位值,初始将其设定为不等于0。由此寄存器142的作用是每次当行数目通过所有的行循环时使列指数复位。
采用每个处理循环,输入MUX110产生或是1或是-1的值,这取决于是否设定RunBackwards标记。将该值提供给加法器148,后者将该值加到由NextRow表示的位值上。将产生的和提供给行计数器126的数据输入端。1的值提供给行计数器126的第二输入端。行计数器126产生一个行值(作为R-1初始存储在寄存器142中),将其提供给第二比特倒置逻辑块130。还将该行值提供给每个LUT102,104,106,108。还将该行值提供给加法器150,后者将该行值加到1值上,并把最终和提供给第一比特倒置逻辑块128。还将该最终和提供给MUX的第一输入端。
采用每个处理循环,第一比特倒置逻辑块128提供一个值给MUX114的第一输入端。第二比特倒置逻辑块130提供一个行指数值给MUX114的第二输入端,以及还提供给地址生效模块132的Y输入端。地址生效模块132在X输入端接收值N。地址生效模块132在Z输入端基于所存储的系数接收一个值。LCS地址生效模块132计算C和Y输入值的乘积,将该乘积加到Z输入值,以及校验结果是否大于或等于X输入值。如果计算值大于或等于N,地址生效模块132输出1的值。否则,输出的值是0。输出值是表示为Addr_GT_N的标记,当设定为1时它表明交织器大小在相继的2的幂之间,使得超出2的较低幂的过剩位应当被放弃。
Addr_GT_N值作为选择器输入提供给MUX112,114,120和122。如果Addr_GT_N值设定为1,MUX112选择其第一输入。从MUX112输出的所选输入是交织的NextRow值。如果Addr_GT_N值设定为1,MUX114选择其第一输入。从MUX114输出的所选输入代表是最后行指数值。
LCS递归发生是按照如下进行的。采用每个处理循环,代表系数c的k位值从第一LUT102送至数据路径k位加法器152。代表a取为幂b的值从第三LUT106送至MUX116的第二输入端。MUX116在选择器输入端上接收RunBackwards标记。如果RunBackwards值是1,MUX116选择其第二输入并将所选值(k位值)提供给乘法器144。否则,MUX116提供其第一输入(k位值)给乘法器144。值x(-1)从第四LUT108送至MUX118的第一输入端。MUX118在第二输入端上接收从MUX124输出的k位值。MUX118在选择器指数上接收列指数值。列指数值初始设定为不等于0。如果列指数值设定为1,MUX118选择其第二输入。否则,MUX118选择其第一输入。所选输入值(k位值)提供给乘法器144。乘法器11的所得乘积提供给k位加法器152。有利地,数据路径k位加法器152是一个可编程的加法器/减法器,正如现有技术已知的。当交织器100反向运行时,加法器152减去值c。
k位加法器152提供每个处理循环的输出值给地址生效模块132的Z输入。加法器152的输出还提供给MUX120的第一输入以及第一至第(R-1)行寄存器136,138,140中的每一个。加法器152的输出还作为k位输入值提供给MUX122的第一输入。
MUX120从k位加法器154接收第二输入值。如果MUX120的选择器输入设定为1,那么MUX120选择其第一输入。否则,MUX120选择其第二输入。将所选输入提供给第0行寄存器134。每个行寄存器134,136,138和140提供输出值给MUX124的各个输入端。另外,将第0行寄存器134的输出值提供给乘法器146。MUX124在选择器输入端上接收行值(行计数器126的输出)。由MUX124所选的行寄存器的输入依赖于选择器输入端上的行值的值。因此,当行值等于各个行寄存器数时每个行寄存器134,136,138和140被更新,当标记Addr_GT_N等于0时还使得第0行寄存器134被使能。
将R=0的k位初始输入值b提供给乘法器146。乘法器146还接收从第0行寄存器134输出的值。乘法器146使两个接收值相乘并将结果乘积提供给k位加法器154。数据路径k位加法器154还接收R=0的初始输入值c。有利地,数据路径k位加法器154是一个可编程的加法器/减法器正如现有技术已知的。当交织器100在反向运行时,加法器154减去初始值c。加法器154使两个接收值相加(或者按照编程相减)。产生的和,即k位值提供给MUX122的第二输入端。
如果其选择器输入设定为1,MUX122选择其第一输入。否则,MUX122选择其第二输入。MUX122输出所选的输入,作为最后列指数值。下一个位值的地址是R和从MUX122输出的最后行指数值的乘积,与从MUX144输出的最后列指数值相加。
在一个实施例中,按照以下恒等式递归地产生一个具有周期M的LCS:
x(n+1)=(ax(n)+c)mod M
整数a,c和M满足以下三个条件:(1)c必须相对于M是素数。(2)a-1必须是p的倍数,这里p是除尽M的任何素数。当M是4的倍数时,a-1必须是4的倍数。(3)x(0)是种子值,它可以是任何整数。为了简化实施方案,M可以有利地选为是2的幂。因此,a必须取4p+1的形式,而c可以取为任何奇数。应当注意,虽然以上采用x(0)来表示初始条件,在结合图2描述的实施例中可以采用x(-1)来表示初始条件。对于所使用的不同数没有附加任何重要性。
按照一个实施例的2D LCS交织器作如下规定。让交织尺寸为K=2N,交织器规定为具有R行和C列的矩形矩阵,这里R和C二者均由2的幂次给出。将待交织的数据按行写到阵列中。按照任何传统交织规则首先对数据的行进行置换(即交织)。有利地,按照应用于行指数的比特倒置规则对数据的行进行置换。在每一行中,按照有关的LCS规定的规则对列(即数据元,对于每一行,每一列有一个数据元)进行置换。与两个不同行相关联的LCS有利地是不同的,但是在另一方面可以是相同的。在对所有的行进行了置换后,以按列方式读出输出,产生一个交织序列。正如本领域技术人员应当理解的,从长度2N的交织器通过删除无效地址能够产生长度小于2N且大于2N-1的交织器。
在一个实施例中,2D LCS交织器包括以下技术规范。交织器尺寸为32(即N=5),数据阵列定义为{d(0),d(1),d(2)……d(31)}。交织器组织为具有4行和每一行具有8个元素的阵列。以以下方式按行地填入数据元:
二进制(00,01,10,11)中的行指数可以有利地被比特倒置(即00,10,01,11),相应地对行置换以获得:
比特倒置的作用是按照预定的比特倒置算法重排交织器的行。比特倒置算法的应用在交织器的行之间提供所需的时间间隔。然而,比特倒置不是实施交织器所必须的。
在一个特定实施例中,按照以下方程式产生置换LCS:
      x1(n+1)=(5x1(n)+7)mod8,with x1(0)=3,
      x2(n+1)=(x2(n)+5)mod8,with x2(0)=0,
      x3(n+1)=(5x3(n)+3)mod8,with x3(0)=4,
x4(n+1)=(x4(n)+3)mod8,with x4(0)=3。
对于4行,置换图案分别由{3,6,5,0,7,2,1,4}、{0,5,2,7,4,1,6,3}、{4,7,6,1,0,3,2,5}和{7,2,5,0,3,6,1,4}给出。因此,在应用列置换后,第一行变为
(d(3) d(6) (5) d(0) d(7) d(2) d(1) d(4)),
第二行变为
(d(16) d(21) d(18) d(23) d(20) d(17) d(22) d(19)),
第三行变为
{d(12) d(15) d(14) d(9) d(8) d(11) d(10) d(13)},
第四行变为
{d(31) d(26) d(29) d(24) d(27) d(30) d(25) d(28)}。
在具有各个行中对所有的列进行置换后,交织后的数据阵列具有以下形式:
交织后的矩阵中的数据是按列读出的,产生以下的交织序列:{d(3),d(16),d(12),d(31),d(6),d(21),d(15),d(26),d(5),d(18),d(14)……d(11),d(30),d(1),d(22),d(10),d(25),d(4),d(19),d(13),d(28)}。如果需要长度30的交织器,通过删除数据元d(30)和d(31)能够缩短按照如上所述产生的交织器,产生以下交织序列:{d(3),d(16),d(12), d(6),d(21),d(15,d(26),d(5),d(18),d(14)……d(11),
Figure C9981403900143
d(1),d(22),d(10),d(25),d(4),d(19),d(13),d(28)}交织器构造中采用的LCS根据需要既能正向产生也能反向产生,供turbo解码中最佳使用MAP解码器。在一个实施例中,倒置序列产生是通过以下方程式给出的:
x(n)=(aβx(n+1)-c)mod M
这里
β=(M/2)-1
应当注意,项β正如以上方程式使用的,代表结合图2实施例描述的系数b。
因此,LCS的产生需要每个交织器由3R参数唯一地定义,这里R是行的数目。需要一个相对短的log2(C)×log2(C)乘法器。由于模量运算,不必产生比特位置log2(C)之上的各比特。需要一组R寄存器来保存R同余序列的中间结果。
对于每一行采用不同的参考x(0)、a和b,对于置换序列存在许多不同可能性。需要进行一次搜索,使供特定turbo码一起使用的交织器参数最佳化。
在图3中,对于CDMA数字无线通信系统中使用的特定turbo码,使按照一个实施例的组成部分编码器200最佳化。编码器200包括7个模2加法器202、204、206、208、210、212、214和3个比特位置216、218、220。比特位置216、218、220可以作为一个3位寄存器或者另一方面作为3个1位寄存器实施。模2加法器202、204、206、208、210、212、214以精确方式被耦合到比特位置216、218、220,从而产生一组所需反馈抽头。因此加法器202配置成接收一个输入位。加法器202还与比特位置216以及加法器204和206耦合。比特位置216与比特位置218以及加法器204和206耦合。比特位置218与比特位置220以及加法器208和210耦合。加法器210与加法器202耦合。加法器204与加法器212耦合。加法器206与加法器208耦合。加法器208与加法器214耦合。比特位置220与加法器210、214和212耦合。加法器212,214被配置为分别输出第一和第二符号。
现有技术中已知,用组成部分编码器(未示出)中差错事件的输入和输出权重能够表征差错性能。例如见S.Benedetto & G.Montorsi“显露turbo码:并联编码方案的一些结果”42 IEEE Trans.Info.Theory 409-28(1996年3月)。差错事件的输入权重是位错的数目,而差错事件的输出权重是代码符号错的数目。输入权重1的差错事件清楚地将脱离全0状态且决不重新合并(1将在移位寄存器中无止境地循环,沿路累积越来越多的输出权重)。这是由于编码器的递归或反馈部分造成的。由于这一结构,已经表明,在高信噪比(SNR)下的turbo码的性能以具有输出权重2的输出差错事件为主。Turbo码差错下界能够利用所谓的有效自由距离渐近线准确地预计。有效自由距离是输入权重2的所有差错事件的最小输出权重。在长度上短的输入权重2差错事件典型地将引起最小距离差错事件。对于图3的编码器200,反馈多项式是1+D2+D3,所有可能的输入权重2差错事件具有形式Dk(1+D7j),这里j=1,2,……,k是在范围0,……,K-7j内的任意移位(假设K是交织器尺寸)。通过审查组成部分编码器的篱笆图能够方便地验证这点,正如本领域技术人员能够理解的。
应当注意,图3所示实施例的交织器尺寸表示为K,而图2所示实施例的交织器尺寸表示为N。本领域技术人员应当明白,对于使用不同字母的事实并不含有特别意义。
例如,假设Dk(1+D7)的差错图案引起第一解码器当中的最小距离差错事件。turbo交织器将两个差错(Dk,Dk+7)映射到两个位置(Dn,Dm)。如果|m-n|=7或者7的某个倍数,很可能是第二解码器当中的低距离差错事件。turbo交织器的根本目的是阻止发生这种映射。即,交织器应当有利地把在第一维上倾向于低权重差错事件的位的集合映射到在第二维上产生大量输出权重的位的集合。因此,设计交织器的一种所需方法是试图防止位于指数(k,k+7j)上的位对映射到位于指数(s,s+7t)上的位对,特别强调的是j和t具有较小值。这种输入差错事件列在以下的表1中。对于每个事件,利用速率1/2、1/3和1/4正向链路turbo码,列出了第一组成部分代码的输出奇偶校验权重,正如IS-95中规定的。
                     表1输入权重2差错事件
输入差错事件   输入长度           第1组成部分输出权重
  速率1/2   速率1/3   速率1/4
  Dk(1+D7)     8     3     6     8
  Dk(1+D14)     15     6     10     16
  Dk(1+D21)     22     7     14     20
  Dk(1+D28)     28     10     18     28
如果一个给定交织器包括形式Dk1(1+D7)→Dk2(1+D7)的输入权重2→2的映射,那么产生的差错事件的复合输出权重对于速率1/2的turbo码将是2+3+3=8。在以前的计算中,系统位(2)的权重与来自两个组成部分编码器(3和3)的各个奇偶校验权重求和。类似地,如果交织器包括形式Dk1(1+D7)→Dk2(1+D4)的输入权重2→2的映射,那么产生的差错事件的复合输出权重,对于速率1/2的turbo码,将是2+3+6=11或者是2+6+10=18,对于速率1/3的turbo码。
此外,低组成部分输出权重的输入权重4差错事件映射到第二维中低输出权重的2个输入权重2差错事件是可能的。这种映射由4→{2,2}表示。虽然对于输入权重4的组成部分差错事件不存在闭合形式解决办法,以下的表格包含组成部分编码器200的某些低输出权重差错事件,组成部分编码器200被用作CDMA数字无线通信系统中前向链路turbo码的第一组成部分编码器,该系统采用从IS-95导出的空中接口。
表2:输入权重4差错事件
  输入差错事件 输入长度          第1组成部分输出权重
速率1/2 速率1/3 速率1/4
  Dk(1+D3+D4+D5)   5   2   4   6
  Dk(1+D1+D3+D4)   6   2   4   8
  Dk(1+D2+D4+D11)   8   2   4   8
  Dk(1+D1+D4+D9)   9   2   4   8
  Dk(1+D5+D10+D11)   11   2   8   12
  Dk(1+D1+D2+D4)   4   3   4   6
  Dk(1+D2+D5+D6)   6   3   4   8
  Dk(1+D1+D6+D10)   10   3   4   8
  Dk(1+D4+D8+D9)   9   3   8   10
  Dk(1+D1+D3+D13)   13   3   8   12
  Dk(1+D5+D9+D13)   13   3   8   12
  Dk(1+D2+D4+D15)   15   3   8   12
  Dk(1+D8+D14+D15)   15   3   8   12
  Dk(1+D4+D9+D12)   12   3   8   14
  Dk(1+D2+D12+D13)   13   3   8   14
  Dk(1+D4+D10+D15)   15   3   8   14
  Dk(1+D1+D7+D4)   8   4   4   8
  Dk(1+D5+D6+D9)   9   4   8   10
  Dk(1+D1+D2+D11)   11   4   8   10
  Dk(1+D4+D7+D11)   11   4   8   10
  Dk(1+D4+D9+D11)   11   4   8   10
  Dk(1+D2+D7+D9)   9   4   8   12
  Dk(1+D3+D7+D10)   10   4   8   12
  Dk(1+D6+D4+D10)   10   4   8   12
  Dk(1+D2+D5+D13)   13   4   8   12
  Dk(1+D3+D8+D13)   13   4   8   12
  Dk(1+D6+D7+D13)   13   4   8   12
  Dk(1+D9+D12+D13)   13   4   8   12
  Dk(1+D1+D6+D17)   17   4   8   12
  Dk(1+D8+D13+D17)   17   4   8   12
  Dk(1+D2+D4+D12)   12   4   8   14
  Dk(1+D5+D7+D12)   12   4   8   14
  Dk(1+D1+D14+D15)   15   4   8   14
  D4(1+D2+D11+D15)   15   4   8   14
  Dk(1+D6+D12+D16)   16   4   8   14
  Dk(1+D5+D13+D16)   16   4   12   18
  Dk(1+D5+D14+D19)   19   4   12   18
  Dk(1+D6+D9+D19)   19   4   12   18
例如,如果交织器包括形式Dk1(1+D3+D4+D5)→{Dk2(1+D7)Dk3(1+D7)}的输入权重4→{2,2}映射,那么产生的差错事件的复合输出权重将是4+2+3+3=12,对于速率1/2的turbo码。这一复合差错事件不比由于映射Dk1(1+D7)→Dk2(1+D14)造成的差错事件差很多,后者具有复合输出权重11。因此,主要设计目的是使交织器的参数最佳化,从而避免上述类型的不良映射或者使其减至最低。理想地,具有最低复合输出权重的不良映射是对避免或减至最小的最重要的映射。在设计特定尺寸(例如1530)的交织器中,有可能使交织器参数最佳化从而使两者类型的映射(即权重2→2和权重4→{2,2})减至最小。这种方法产生该特定尺寸的最佳交织器。应当指出,在尺寸2N的交织器的设计中,该尺寸能够被稳健地截短到大于2N-1的任何尺寸(将该交织器称为“截短友好”交织器),权重4→{2,2}映射的最佳化可能更难以实现。
进行搜索从按照图3所示实施例的2D LCS交织器获得尺寸2N的截短友好的交织器。以下的表3包括搜索的原始结果。对于每个交织器尺寸,所用的行的数目和所用的列的数目随同x(0)、a和c系数一起规定。为实施的简单和效率起见,对于所有交织器都使用32行。
                     表3:2D LCS交织器系数
K=512,32×16  K=1024,32×32 K=2048,32×64 K=4096,32×128
x(0) A c x(0) a c x(0) a c x(0) a c
14 9 11 30 29 9 24 45 63 95 61 63
6 1 13 17 29 5 41 53 53 7 121 119
6 1 11 19 9 1 46 53 41 29 113 105
10 13 15 31 1 17 46 5 43 28 29 53
6 5 13 19 17 31 9 29 13 16 25 97
7 9 11 11 13 19 15 37 39 69 33 33
1 9 5 18 13 21 13 53 19 41 93 81
4 9 5 20 9 27 28 1 57 34 1 117
14 5 9 31 21 11 20 29 5 100 69 75
11 13 9 29 21 17 1 49 39 69 113 39
12 9 5 26 25 21 15 33 31 40 13 15
10 9 1 19 29 15 9 33 19 13 33 19
10 13 13 11 13 7 30 21 5 23 77 123
1 5 5 1 1 27 61 37 45 84 9 127
11 1 1 24 13 31 12 45 7 87 65 113
2 5 11 10 5 29 9 37 19 16 17 81
4 9 11 23 29 29 12 37 53 85 117 69
15 9 5 26 1 15 59 13 25 103 41 73
14 1 3 28 21 23 18 25 37 50 73 5
9 1 9 1 21 11 9 49 31 91 73 35
7 1 7 16 21 3 17 45 29 59 73 59
13 13 13 17 13 11 50 25 23 87 97 39
6 13 9 10 21 13 26 21 41 47 125 3
1 13 15 13 17 7 14 61 45 34 21 33
7 1 7 24 9 5 12 25 37 120 57 103
2 5 15 17 25 1 34 33 55 76 77 103
5 5 9 10 21 25 10 29 59 19 13 73
0 9 1 28 21 27 16 13 15 49 125 111
10 5 1 13 25 9 29 37 41 4 97 97
9 9 13 21 13 3 33 5 33 13 101 71
3 9 1 4 17 27 30 49 51 73 9 77
11 9 3 18 29 29 0 21 47 102 101 1
                         表3:2D LCS交织器系数(续)
K=8192,32×256 K=16384 32×512 K=32768,32×1024
X(0) A c X(0) a c x(0) a c
40 37 249 181 45 269 939 281 913
73 53 59 75 217 223 9 85 969
88 177 105 251 125 257 463 989 165
46 29 91 89 141 457 363 981 59
199 73 141 304 29 31 637 437 751
211 185 133 328 153 161 599 597 621
85 193 181 428 17 451 971 173 615
18 169 209 394 245 147 1007 157 79
246 81 89 178 321 111 444 693 415
192 85 71 186 217 227 339 205 331
144 189 223 438 357 423 382 293 565
6 129 73 465 85 261 505 981 259
118 69 119 24 165 109 728 845 447
221 217 127 415 417 465 139 953 383
241 109 27 225 137 33 682 537 461
235 209 133 77 61 265 487 293 903
181 189 235 158 45 211 453 9 885
126 245 37 278 373 255 352 729 619
129 173 191 410 117 175 442 81 315
222 9 43 275 253 429 537 945 519
69 113 159 35 85 289 201 13 175
21 13 205 496 249 15 459 745 97
75 253 183 79 365 221 592 69 829
195 149 71 257 449 337 803 909 385
45 101 209 232 81 137 133 425 201
246 193 159 385 121 87 965 109 1001
228 85 97 138 429 73 707 685 105
0 161 151 479 9 23 627 289 97
191 45 31 158 141 51 1019 805 753
162 165 35 442 481 71 101 69 573
196 149 191 464 269 157 521 753 183
94 157 197 413 505 237 290 221 181
在另一个实施例中,系数a可以设定等于1,进行新的搜索以从2D LCS交织器获得尺寸2N的截短友好的交织器。正向和反向LCS递归方程式分别简化为如下:
x(n+1)=(ax(n)+c)mod M
x(n)=(ax(n+1)-c)mod M
以下的表4包括搜索的原始结果。为了实施的简单和有效起见,对于所有的交织器都采用32行。从表4所示的结果本领域技术人员应当理解,在所有LCS递归中设定a等于1,在产生的交织器的质量中不引起处罚。此外,从设定a等于1的简化中获得的复杂性增加是实质性的。例如,不需要在图2实施例中所描述的第二和第三LUT(LUT用于存储a和ab的值)。也不需要在图2实施例中所描述的k位乘法器。正如从以下的表4看到的,对于交织器的每一行,仅仅需要规定原始条件x(-1)和附加常数c。在该表中未包括较大尺寸的交织器的系数,该表仅仅规定原始搜索结果,因为它们在提交本申请时不能提供。
                              表4;2D LCS交织器系数
K=512,32×16 K=1024,32×32 K=2048,32×64 K=4096,32×128 K=8192,32×256 K=16384,32×512 K=32768,32×1024
x(-1) C x(-1) C x(-1) C x(-1) c x(-1) c x(-1) c x(-1) c
1 1 1 3 0 5 - - - - - - - -
11 9 14 1 1 1 - - - - - - - -
11 15 5 13 14 1 - - - - - - - -
1 5 13 27 3 23 - - - - - - - -
1 5 3 17 9 25 - - - - - - - -
6 7 3 13 8 3 - - - - - - - -
6 15 25 5 4 1 - - - - - - - -
12 11 3 23 57 61 - - - - - - - -
14 13 2 19 0 5 - - - - - - - -
15 7 1 13 60 49 - - - - - - - -
13 15 8 5 1 9 - - - - - - - -
4 5 25 9 47 55 - - - - - - - -
15 5 14 9 20 25 - - - - - - - -
14 5 11 23 34 19 - - - - - - - -
12 3 17 13 46 1 - - - - - - - -
3 15 19 13 52 13 - - - - - - - -
14 13 4 39 8 75 - - - - - - - -
8 19 17 35 35 67 - - - - - - - -
12 15 24 27 48 51 - - - - - - - -
14 11 28 23 57 47 - - - - - - - -
14 11 29 19 59 35 - - - - - - - -
6 27 12 51 24 103 - - - - - - - -
7 31 14 59 29 115 - - - - - - - -
2 23 4 47 9 91 - - - - - - - -
1 27 2 55 4 107 - - - - - - - -
2 15 5 27 11 55 - - - - - - - -
13 7 26 11 52 19 - - - - - - - -
9 3 19 3 38 7 - - - - - - - -
12 11 24 23 49 47 - - - - - - - -
14 15 28 31 56 63 - - - - - - - -
11 19 22 35 45 67 - - - - - - - -
12 15 25 27 50 51 - - - - - - - -
因此,已经描述利用线性同余序列的新颖和改进的turbo码交织器。本领域技术人员应当理解,虽然这里揭示的实施例已经描述了在蜂窝电话系统的方面中,但是实例发明的特征同样能很好地用于任何形式的通信系统中,包括例如卫星通信系统。本领域技术人员应当进一步理解,这里描述的实施例既可以用于对数据通信编码也可以用于对话音通信编码。还应当理解,在以上整个描述中可以参考的数据、指令、命令、信息、信号、比特、符号和码片有利地由电压、电流、电磁波、磁场或粒子、光场或粒子或其任何组合来表示。
本领域技术人员应当进一步明白,结合这里揭示的实施例描述的各种说明性逻辑块和算法步骤可以用数字信号处理器(DSP)、应用专用集成电路(ASIC)、分立的门或晶体管逻辑、分立的硬件元件(如寄存器和FIFO)、执行一组固件指令的处理器、或者任何传统可编程软件模块以及处理器来实施或进行。处理器可以有利地是微处理器,但是在另一方面,处理器可以是任何传统的处理器、控制器、微控制器、或者状态机。软件模块可以驻留在RAM存储器、快闪存储器、寄存器或本领域已知的任何其他形式的可读存储媒体中。
因此已经示出和描述了本发明的较佳实施例。然而应当明白,对于本领域一名技术人员而言,可以对这里揭示的这些实施例作出众多的改变,而不偏离本发明的精神和范围。因此,本发明并不局限于这些,除非按照以下的权利要求书。

Claims (31)

1.一种turbo编码器,包括:
第一编码器,被配置成连续地接收多个输入位并从其产生第一组多个输出符号;
交织器,被配置成连续地接收多个输入位,该交织器包括被安排在具有多行和多列的矩阵中的多个位存储位置和一个线性同余序列发生器,被配置成伪随机地产生交织器每一行中的位重排的序列;以及
第二编码器,被配置成从交织器连续地接收多个被交织的位并从其产生第二组多个输出符号。
2.如权利要求1所述的turbo编码器,其特征在于:对位作重排的序列包括按照以下方程式产生的线性同余序列递归:
x(n+1)=(ax(n)+c)mod M这里n代表时间指数,x(n)代表在时间指数n的列指数,a、c和M是整数,M代表该序列的周期且满足以下条件:
(i)c是相对于M的素数;
(ii)a-1是p的倍数,这里p代表除尽M的任何素数;
(iii)当M是4的倍数时,a-1必须是4的倍数;以及
(iv)x(0)是一个整数种子列指数。
3.如权利要求2所述的turbo编码器,其特征在于:a=1。
4.如权利要求2所述的turbo编码器,其特征在于:周期M是2的幂。
5.如权利要求2所述的turbo编码器,其特征在于:对于交织器中的每一行,x(0)等于0。
6.如权利要求1所述的turbo编码器,其特征在于:进一步包括一个复用器,它与第一和第二编码器耦合并被配置成分别从其接收第一和第二组多个输出符号。
7.如权利要求1所述的turbo编码器,其特征在于:所示交织器进一步包括至少一个模块,用于按照预先限定的比特倒置算法对交织器的行进行重排。
8.如权利要求1所述的turbo编码器,其特征在于:对位作重排的序列包括按照以下方程式产生的线性同余序列递归:
x(n)=(a((M/2)-1)x(n+1)-c)mod M这里n代表时间指数,x(n)代表在时间指数n的列指数,a、c和M是整数,M代表该序列的周期且满足以下条件:
(i)c是相对于M的素数;
(ii)a-1是p的倍数,这里p代表除尽M的任何素数;
(iii)当M是4的倍数时,a-1必须是4的倍数;以及
(iv)x(0)是一个整数种子列指数。
9.如权利要求8所述的turbo编码器,其特征在于:a=1。
10.如权利要求8所述的turbo编码器,其特征在于:周期M是2的幂。
11.如权利要求8所述的turbo编码器,其特征在于:对于交织器中的每一行,x(0)等于0。
12.一种对数据元进行交织的方法,包括以下步骤:
通过按行依次地把数据元写到具有多个位存储位置的矩阵;
按照线性同余序列递归把每一行中的数据元伪随机地重新排列在位存储位置的矩阵中;以及
通过从位存储位置的矩阵按列依次地读出数据元。
13.如权利要求12所述的方法,其特征在于:进一步包括按照以下方程式产生线性同余序列递归的步骤:
x(n+1)=(ax(n)+c)mod M这里n代表时间指数,x(n)代表在时间指数n的列指数,a、c和M是整数,M代表该序列的周期且满足以下条件:
(i)c是相对于M的素数;
(ii)a-1是p的倍数,这里p代表除尽M的任何素数;
(iii)当M是4的倍数时,a-1必须是4的倍数;以及
(iv)x(0)是一个整数种子列指数。
14.如权利要求13所述的方法,其特征在于:a=1。
15.如权利要求13所述的方法,其特征在于:周期M是2的幂。
16.如权利要求13所述的方法,其特征在于:对于每一行,x(0)等于0。
17.如权利要求12所述的方法,其特征在于:进一步按照预先限定的比特倒置算法对比特存储位置的矩阵的行进行重新排列的步骤。
18.如权利要求12所述的方法,其特征在于:进一步包括按照以下方程式产生线性同余序列递归的步骤:
x(n)=(a((M/2)-1)x(n+1)-c)mod M这里n代表时间指数,x(n)代表在时间指数n的列指数,a、c和M是整数,M代表该序列的周期且满足以下条件:
(i)c是相对于M的素数;
(ii)a-1是p的倍数,这里p代表除尽M的任何素数;
(iii)当M是4的倍数时,a-1必须是4的倍数;以及
(iv)x(0)是一个整数种子列指数。
19.如权利要求18所述的方法,其特征在于:a=1。
20.如权利要求18所述的方法,其特征在于:周期M是2的幂。
21.如权利要求18所述的方法,其特征在于:对于每一行,x(0)等于0。
22.一种交织器,包括:
通过按行依次地把数据元写到具有多个位存储位置的矩阵的装置;
按照线性同余序列递归把每一行中的数据元伪随机地重新排列在位存储位置的矩阵中的装置;以及
通过从位存储位置的阵列按列依次地读出数据元的装置。
23.如权利要求22所述的交织器,其特征在于:按照以下方程式产生线性同余序列递归:
x(n+1)=(ax(n)+c)mod M这里n代表时间指数,x(n)代表在时间指数n的列指数,a、c和M是整数,M代表该序列的周期且满足以下条件:
(i)c是相对于M的素数;
(ii)a-1是p的倍数,这里p代表除尽M的任何素数;
(iii)当M是4的倍数时,a-1必须是4的倍数;以及
(iv)x(0)是一个整数种子列指数。
24.如权利要求23所述的交织器,其特征在于:a=1。
25.如权利要求23所述的交织器,其特征在于:周期M是2的幂。
26.如权利要求23所述的交织器,其特征在于:对于位存储位置的矩阵中每一行,x(0)等于0。
27.如权利要求22所述的交织器,其特征在于:进一步按照预先定义的比特倒置算法对比特存储位置的矩阵的行进行排列的装置。
28.如权利要求22所述的交织器,其特征在于:按照以下方程式产生线性同余序列递归:
x(n)=(a((M/2)-1)x(n+1)-c)mod M这里n代表时间指数,x(n)代表在时间指数n的列指数,a、c和M是整数,M代表该序列的周期且满足以下条件:
(i)c是相对于M的素数;
(ii)a-1是p的倍数,这里p代表除尽M的任何素数;
(iii)当M是4的倍数时,a-1必须是4的倍数;以及
(iv)x(0)是一个整数种子列指数。
29.如权利要求28所述的交织器,其特征在于:a=1。
30.如权利要求28所述的交织器,其特征在于:周期M是2的幂。
31.如权利要求28所述的交织器,其特征在于:对于位存储位置的矩阵中每一行,x(0)等于0。
CNB998140392A 1998-12-04 1999-12-03 利用线性同余序列的turbo码交织器 Expired - Lifetime CN1202625C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/205,511 1998-12-04
US09/205,511 US6304991B1 (en) 1998-12-04 1998-12-04 Turbo code interleaver using linear congruential sequence

Publications (2)

Publication Number Publication Date
CN1357172A CN1357172A (zh) 2002-07-03
CN1202625C true CN1202625C (zh) 2005-05-18

Family

ID=22762490

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB998140392A Expired - Lifetime CN1202625C (zh) 1998-12-04 1999-12-03 利用线性同余序列的turbo码交织器

Country Status (15)

Country Link
US (2) US6304991B1 (zh)
EP (2) EP1147614A1 (zh)
JP (2) JP4723089B2 (zh)
KR (1) KR100711326B1 (zh)
CN (1) CN1202625C (zh)
AU (1) AU763873B2 (zh)
BR (1) BR9915926A (zh)
CA (1) CA2353455C (zh)
HK (1) HK1045030B (zh)
ID (1) ID30087A (zh)
MX (1) MXPA01005573A (zh)
NO (1) NO20012708L (zh)
RU (3) RU2235424C2 (zh)
UA (1) UA63024C2 (zh)
WO (1) WO2000035103A1 (zh)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19736626C1 (de) * 1997-08-22 1998-12-10 Siemens Ag Verfahren zur Datenübertragung in einem digitalen Übertragungssystem bei paketvermitteltem Dienst
EP0998045A1 (en) * 1998-10-30 2000-05-03 Lucent Technologies Inc. Digital transmission system and method
EP0998087A1 (en) * 1998-10-30 2000-05-03 Lucent Technologies Inc. Multilevel transmission system and method with adaptive mapping
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
US6871303B2 (en) * 1998-12-04 2005-03-22 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
US6625234B1 (en) * 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
KR100306282B1 (ko) 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
US6463556B1 (en) * 1999-01-04 2002-10-08 Motorola, Inc. Method and apparatus for interleaving in a communication system
JP3746426B2 (ja) * 1999-02-26 2006-02-15 富士通株式会社 ターボ復号装置
CA2266283C (en) * 1999-03-19 2006-07-11 Wen Tong Data interleaver and method of interleaving data
US6591381B1 (en) * 1999-04-06 2003-07-08 Samsung Electronics Co., Ltd. 2-dimensional interleaving apparatus and method
CA2268853C (en) * 1999-04-13 2011-08-02 Wen Tong Rate matching and channel interleaving for a communications system
FR2792476B1 (fr) * 1999-04-13 2001-06-08 Canon Kk Procede de type arq pour procede de transmission utilisant des turbo-codes, et dispositif associe
US6543013B1 (en) * 1999-04-14 2003-04-01 Nortel Networks Limited Intra-row permutation for turbo code
US6377607B1 (en) * 1999-05-13 2002-04-23 Qualcomm Incorporated System and method for performing accurate demodulation of turbo-encoded signals via pilot assisted coherent demodulation
PT1367726E (pt) 1999-05-19 2013-05-10 Samsung Electronics Co Ltd Aparelho e método de entrelaçamento turbo
PT1114528E (pt) * 1999-07-08 2006-08-31 Samsung Electronics Co Ltd Equipamento e metodo destinado a controlar um desmultiplexador e um multiplexador utilizados na adptacao de taxas de transmissao num sistema de comunicacoes moveis
EP1085660A1 (en) * 1999-09-15 2001-03-21 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Parallel turbo coder implementation
US6687870B1 (en) * 1999-09-23 2004-02-03 Qualcomm, Incorporated Method and apparatus for interleaving for information transmission or storage applications
US6628723B1 (en) 1999-10-15 2003-09-30 Cisco Technology Coding rate reduction for turbo codes
JP3399904B2 (ja) * 2000-03-17 2003-04-28 松下電器産業株式会社 インタリーブアドレス生成装置
US6952454B1 (en) 2000-03-22 2005-10-04 Qualcomm, Incorporated Multiplexing of real time services and non-real time services for OFDM systems
KR100360251B1 (ko) * 2000-03-29 2002-11-08 엘지전자 주식회사 통신시스템의 핸드오프 처리장치 및 이동체 수신기
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
US7242726B2 (en) 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US9979580B2 (en) 2001-02-01 2018-05-22 Qualcomm Incorporated Coding scheme for a wireless communication system
US6961388B2 (en) * 2001-02-01 2005-11-01 Qualcomm, Incorporated Coding scheme for a wireless communication system
US6938224B2 (en) * 2001-02-21 2005-08-30 Lucent Technologies Inc. Method for modeling noise emitted by digital circuits
CA2390096C (en) * 2001-06-11 2007-12-18 Stewart N. Crozier High-performance low-memory interleaver banks for turbo-codes
US6871270B2 (en) * 2001-12-03 2005-03-22 Samsung Electronics Co., Ltd. Device and method for minimizing puncturing-caused output delay
US6954885B2 (en) * 2001-12-14 2005-10-11 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
KR100860660B1 (ko) * 2002-01-09 2008-09-26 삼성전자주식회사 통신시스템의 인터리빙 장치 및 방법
BR0302968A (pt) * 2002-02-06 2004-07-13 Samsung Electronics Co Ltd Intercalador e método de intercalação em um sistema de comunicação
AU2003268814B2 (en) * 2002-02-06 2005-07-28 Samsung Electronics Co., Ltd. Interleaver and interleaving method in a communication system
EP1550224A4 (en) * 2002-09-27 2008-08-27 Ibiquity Digital Corp METHOD AND APPARATUS FOR INTERLEAVING SIGNAL BITS IN A DIGITAL AUDIO BROADCASTING SYSTEM
KR20040037624A (ko) * 2002-10-29 2004-05-07 삼성전자주식회사 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
JP2004266586A (ja) * 2003-03-03 2004-09-24 Hitachi Ltd 移動通信システムのデータ送受信方法
US7430241B2 (en) * 2003-03-14 2008-09-30 Lucent Technologies Inc. Method for early decoding of control channel information
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
US7346832B2 (en) 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
CA2563642C (en) 2004-08-10 2013-10-01 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding a block low density parity check code
EP1641129A1 (en) * 2004-09-22 2006-03-29 STMicroelectronics Pvt. Ltd An improved turbo encoder
US7551697B1 (en) 2004-10-01 2009-06-23 Rockwell Collins, Inc. Reduced complexity soft-output noncoherent continuous phase demodulator systems
US7281174B1 (en) 2004-10-01 2007-10-09 Rockwell Collins, Inc. Diversity code combining scheme for turbo coded systems
KR101131323B1 (ko) * 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US7542410B2 (en) * 2004-12-06 2009-06-02 Intel Corporation Interleaver and associated methods
US7543197B2 (en) * 2004-12-22 2009-06-02 Qualcomm Incorporated Pruned bit-reversal interleaver
US7340669B2 (en) * 2005-03-11 2008-03-04 Via Telecom Co., Ltd. Memory efficient streamlined transmitter with a multiple instance hybrid ARQ
EP1900104A4 (en) * 2005-05-12 2009-09-02 Qualcomm Inc DEVICE AND METHOD FOR CHANNEL NEGLECTING IN A COMMUNICATION SYSTEM
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7630350B2 (en) * 2005-06-06 2009-12-08 Broadcom Corporation Method and system for parsing bits in an interleaver for adaptive modulations in a multiple input multiple output (MIMO) wireless local area network (WLAN) system
KR100708474B1 (ko) * 2005-09-15 2007-04-18 삼성전자주식회사 선형 합동 인터리버의 매개변수 결정 방법 및 그를 이용한 선형 합동 인터리버
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
RU2435298C2 (ru) 2006-11-01 2011-11-27 Квэлкомм Инкорпорейтед Турбо-перемежитель для высоких скоростей передачи данных
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8751769B2 (en) * 2007-12-21 2014-06-10 Qualcomm Incorporated Efficient address generation for pruned interleavers and de-interleavers
KR101502623B1 (ko) 2008-02-11 2015-03-16 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
KR100943908B1 (ko) 2008-02-19 2010-02-24 엘지전자 주식회사 Pdcch를 통한 제어 정보 송수신 방법
US8200733B1 (en) 2008-04-15 2012-06-12 Freescale Semiconductor, Inc. Device having interleaving capabilities and a method for applying an interleaving function
EP2139120B1 (de) 2008-06-23 2019-01-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver
DE102008029623A1 (de) 2008-06-23 2009-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver
US7667628B2 (en) * 2008-06-23 2010-02-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Interleaver for scrambling and information word
US8516352B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9397699B2 (en) * 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8516351B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8638244B2 (en) 2009-08-31 2014-01-28 Freescale Semiconductor, Inc. Encoding module, apparatus and method for determining a position of a data bit within an interleaved data stream
US8374098B2 (en) * 2009-11-03 2013-02-12 Arm Limited Check data encoding using parallel lane encoders
CN102577135B (zh) * 2009-11-13 2014-12-03 松下电器(美国)知识产权公司 编码方法、解码方法、编码器以及解码器
JP2011199414A (ja) * 2010-03-17 2011-10-06 Toshiba Corp 素材収録装置及び素材収録方法
JP5521722B2 (ja) * 2010-04-14 2014-06-18 沖電気工業株式会社 符号化装置、復号化装置、符号化・復号化システム、及び、プログラム
JP5988222B2 (ja) * 2011-10-18 2016-09-07 パナソニックIpマネジメント株式会社 シャッフルパターン生成回路、プロセッサ、シャッフルパターン生成方法、命令
JP6363721B2 (ja) * 2014-02-21 2018-07-25 華為技術有限公司Huawei Technologies Co.,Ltd. ポーラ符号のためのレートマッチング方法および装置
CN107078748B (zh) * 2014-12-22 2019-07-19 华为技术有限公司 极性码的编码方法和编码装置
FR3037746B1 (fr) 2015-06-19 2020-10-02 Inst Mines Telecom Procede de construction d'un entrelaceur pour turbo-encodeur
FR3064138B1 (fr) 2017-03-20 2021-05-07 Orange Procedes et dispositifs de codage a rendement compatible
CN109885384B (zh) * 2018-12-13 2023-02-07 平安壹钱包电子商务有限公司 任务并行度优化方法、装置、计算机设备及存储介质
RU2718579C1 (ru) * 2019-05-20 2020-04-08 Антон Юрьевич Баринов Быстрый псевдослучайный перемежитель

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62200974A (ja) * 1986-02-28 1987-09-04 Matsushita Graphic Commun Syst Inc インタ−リ−ブ装置
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
JP3077944B2 (ja) * 1990-11-28 2000-08-21 シャープ株式会社 信号再生装置
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
US5241563A (en) 1992-08-10 1993-08-31 General Instrument Corporation Method and apparatus for communicating interleaved data
JPH06216882A (ja) * 1993-01-19 1994-08-05 Matsushita Electric Ind Co Ltd 誤り訂正送信装置及び受信装置
US5633881A (en) 1993-02-22 1997-05-27 Qualcomm Incorporated Trellis encoder and decoder based upon punctured rate 1/2 convolutional codes
US5668820A (en) * 1995-01-23 1997-09-16 Ericsson Inc. Digital communication system having a punctured convolutional coding system and method
DK2302807T3 (da) * 1995-02-01 2013-07-29 Sony Corp Flerkanalstransmission med interleaving ved adressering på stedet af RAM-hukommelse
AU6846796A (en) * 1995-08-16 1997-03-12 Microunity Systems Engineering, Inc. Method and system for implementing data manipulation operations
KR0183171B1 (ko) * 1995-08-18 1999-04-15 김광호 인터리버 및 디인터리버와 그 방법
JPH09101878A (ja) * 1995-10-03 1997-04-15 Mitsubishi Electric Corp 乱数発生回路
US6205190B1 (en) * 1996-04-29 2001-03-20 Qualcomm Inc. System and method for reducing interference generated by a CDMA communications device
JPH1065654A (ja) * 1996-08-19 1998-03-06 Oki Electric Ind Co Ltd データ伝送誤り低減方法及びその装置
KR100215566B1 (ko) * 1996-09-30 1999-08-16 전주범 정적 램을 이용한 길쌈 인터리버/디인터리버 및정적 램의 주소 생성 방법
JPH10163887A (ja) * 1996-11-28 1998-06-19 Matsushita Electric Ind Co Ltd インターリーブ装置およびデインターリーブ装置
US5983384A (en) * 1997-04-21 1999-11-09 General Electric Company Turbo-coding with staged data transmission and processing
US5907582A (en) * 1997-08-11 1999-05-25 Orbital Sciences Corporation System for turbo-coded satellite digital audio broadcasting
US6430722B1 (en) * 1998-01-23 2002-08-06 Hughes Electronics Corporation Forward error correction scheme for data channels using universal turbo codes
US5978365A (en) * 1998-07-07 1999-11-02 Orbital Sciences Corporation Communications system handoff operation combining turbo coding and soft handoff techniques
US6014411A (en) * 1998-10-29 2000-01-11 The Aerospace Corporation Repetitive turbo coding communication method
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence

Also Published As

Publication number Publication date
RU2313177C2 (ru) 2007-12-20
US6637000B2 (en) 2003-10-21
JP4723089B2 (ja) 2011-07-13
HK1045030A1 (en) 2002-11-08
AU763873B2 (en) 2003-07-31
WO2000035103A9 (en) 2001-12-13
CA2353455A1 (en) 2000-06-15
ID30087A (id) 2001-11-01
JP5394410B2 (ja) 2014-01-22
JP2011087329A (ja) 2011-04-28
EP2267903A2 (en) 2010-12-29
RU2007125429A (ru) 2009-01-10
HK1045030B (zh) 2005-10-07
NO20012708D0 (no) 2001-06-01
AU1931500A (en) 2000-06-26
CN1357172A (zh) 2002-07-03
KR100711326B1 (ko) 2007-04-27
RU2235424C2 (ru) 2004-08-27
US20020032890A1 (en) 2002-03-14
BR9915926A (pt) 2002-01-15
EP1147614A1 (en) 2001-10-24
MXPA01005573A (es) 2002-06-04
NO20012708L (no) 2001-07-20
US6304991B1 (en) 2001-10-16
KR20010080679A (ko) 2001-08-22
UA63024C2 (en) 2004-01-15
EP2267903A3 (en) 2012-04-04
CA2353455C (en) 2009-05-19
WO2000035103A1 (en) 2000-06-15
RU2376702C2 (ru) 2009-12-20
JP2002532941A (ja) 2002-10-02

Similar Documents

Publication Publication Date Title
CN1202625C (zh) 利用线性同余序列的turbo码交织器
CN1286276C (zh) 随机存取多向cdma2000 turbo编码交织器
CN1187903C (zh) 数据传输的速率匹配方法和装置
CN1264280C (zh) 在通信系统中生成和解码代码的设备和方法
JP3359913B1 (ja) 移動通信システムの直列鎖状コンボルーション符号化器に使用するためのインタリーバ及びそのインタリービング方法
JP5231570B2 (ja) プルーンインタリーバおよびプルーンデインタリーバの効率的なアドレス生成
CN1459146A (zh) 在通信系统中生成代码的设备和方法
CN101039119A (zh) 编码与解码的方法及系统
CN1366739A (zh) 被快速(Turbo)编码了的代码序列的译码方法及译码装置
CN1316829A (zh) 纠错编码型的数字传输方法
CN1417967A (zh) 数据发送和接收设备中的交织器去相关
CN1211931C (zh) 用于最大后验概率解码器的存储器体系结构
CN1183687C (zh) Turbo码编码器及编码方法
CN100350751C (zh) Turbo解码装置
CN1349357A (zh) 在移动通信系统中执行特博解码的方法
CN1599262A (zh) 宽带无线接入系统中里德索洛门卷积级联码的实现方法
CN1375939A (zh) 性能约束条件下编码数据块尺寸最佳化的方法
JP2003188737A (ja) インターリーブ処理方法及びインターリーブ処理装置

Legal Events

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

Granted publication date: 20050518

CX01 Expiry of patent term