CN1297616A - Turbo交错器/解交错器中使用的地址发生器和地址发生方法 - Google Patents

Turbo交错器/解交错器中使用的地址发生器和地址发生方法 Download PDF

Info

Publication number
CN1297616A
CN1297616A CN00800461A CN00800461A CN1297616A CN 1297616 A CN1297616 A CN 1297616A CN 00800461 A CN00800461 A CN 00800461A CN 00800461 A CN00800461 A CN 00800461A CN 1297616 A CN1297616 A CN 1297616A
Authority
CN
China
Prior art keywords
address
counting
group
unavailable
batch total
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.)
Granted
Application number
CN00800461A
Other languages
English (en)
Other versions
CN1140966C (zh
Inventor
金潣龟
金炳朝
李永焕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1297616A publication Critical patent/CN1297616A/zh
Application granted granted Critical
Publication of CN1140966C publication Critical patent/CN1140966C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • 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/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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种地址发生器和地址发生方法。在所述地址发生器中,第一计数器对多个时钟脉冲计数,在计数预定数量的时钟脉冲后产生一个进位。第二计数器从所述第一计数器接收所述进位,对所述进位计数,产生指出每组内多个位置地址中一个位置地址的位置计数。位反相器将所述第一计数反相。操作装置对所述组计数和对所述位置计数执行LCS(线性同余顺序)逆公式操作,产生生成位。缓存器存储由从所述位反相器接收的经过反相的位和从所述操作装置接收的所述生成位形成的可用地址。

Description

TURBO交错器/解交错器中使用的 地址发生器和地址发生方法
发明领域
本发明通常涉及在无线电通讯系统中的交错器/解交错器,具体地说,涉及在turbo交错/解交错中使用的地址发生器和地址发生方法。
相关技术的描述
turbo编码器(即,使用turbo码的编码器)可以被用做用于诸如卫星系统、ISDN(集成服务数字网络)、数字蜂窝系统、W-CDMA(宽带码分复用存取)和IMT-2000(CDMA 2000)的无线电通讯系统的编码器。所述turbo编码器包括一个交错器,用于使到达所述turbo编码器的输入信息随机化。由于所述交错器改善了代码字的距离特性,因此它是所述turbo编码器特性当中的一个重要因数。
图1的框图示出了一个具有应用了本发明的turbo交错器的turbo编码器,详见1995年8月29日颁布的美国专利No.5,446,747。
在图1中,turbo编码器由用于将输入帧数据dk编码成Y1k的第一组件编码器10、用于交错输入帧数据dk的交错器30和用于将交错器30的输出编码成Y2k的第二组件编码器20组成。对于dk的输入,所述turbo编码器输出没有编码的Xk和经过编码的Y1k,以及经过交错和编码的Y2k。第一和第二组件编码器10和20可以是本领域公知的RSC(递归系统卷积)编码器。所述组件编码器的结构可以根据它们的码率变化。
交错尺寸等于所述数据帧长度的交错器30置换输入数据位的顺序并将经过置换的数据位输出给第二组件编码器20,由此减少数据位之间的关联。
交错器30包括地址发生器32、计数器34和交错器存储器36。交错器存储器36根据从计数器34接收的写地址存储输入帧数据dk,并根据从地址发生器32接收的读地址输出所述数据。地址发生器32产生用于重组数据位的读地址,并将所述读地址馈送给交错器存储器36。所述读地址是根据输入数据帧的长度和一个符号时钟信号产生的。计数器34接收所述符号时钟脉冲并将所述符号时钟脉冲的计数值作为写地址输出给交错器存储器36。交错器30向第二组件编码器20输出存储在交错器存储器36中的数据。
各种交错器都可能被用做用于turbo编码器的内部交错器,诸如PN(伪噪声)随机交错器、随机交错器、块交错器、非线性交错器或S-随机交错器。但是,这些交错器使用在为执行改善目的的学术环境中设计的算法,而不是根据实际看法设计的算法。由于用硬件实施这些交错器的复杂性,所以,通常是不可能的。
在IMT-2000的规范和ID-95C的规范中,图1所示结构的线性同余顺序(LCS)turbo编码器最近已经被作为所述turbo编码器使用。具体地说,所述turbo码已经被用于作为IMT-2000或IS-95C的空中接口中的数据发送信道的辅助信道,并用于由ETSI(欧洲通信标准协会)开发的UMTS(通用移动通信系统)中的数据信道。
图2的框图示出了图1所示的地址发生器32。
参看图2,从输入计数器110输出的较低5位或最低有效位(LSB)被馈送给用于存储每组初始籽数(C-值)的查询表130和位反相器140。5个较低的位指出根据交错器尺寸确定的所述交错块的25个组中的一个组。位反相器140将所述较低5位反相,并经过反相的位加到地址选择发生器160的最高位置或最高有效位(MSB)上。查询表130根据所输入的较低5位将n-位的C-值馈送给乘法和按模计算操作装置150。
同时,从输入计数器110输出的较高n位或MSB被馈送给第一加法器120。这里,所述较高的n位指出每组中2n个地址中的一个地址。第一加法器120将1加到所接收的较高n位上并将所得到的和加到乘法和按模计算操作装置150上。乘法和按模计算装置150对每组所输入的n位和所述初始n位籽数C进行乘法和按模计算的加法,然后将结果馈送给地址选择发生器160。按模计算加法指的是保留通过将加法器120的输出乘以查询表130的输出所得到的和的较低n位。地址选择发生器160形成一个地址,在该地址中,对于turbo交错来讲,位反相器140的输出是较高5位或MSB,乘法和按模计算操作装置150的输出是较低n位或LSB。如果所形成的地址大于或等于所述turbo交错器地址的尺寸,则地址选择发生器160丢弃所述地址。即,只有它小于所述turbo交错器的地址尺寸,地址选择发生器160才输出所述地址。所述输出地址被作为用于图1所示交错器存储器的一个地址被提供。
由于从图2所述地址发生器输出的很多地址不能使用,所以,地址是不连续发生的。结果是,当构成一个实际系统时增加了硬件的复杂性。
不连续地址的发生使得正规寻址变得不可能,由于所述turbo译码器的同步是以所述交错器的符号时钟信号或寻址时钟信号为基础的,所以这意味着在实际硬件结构中turbo译码器的时钟定时不能保持恒定。
发明概述
因此,本发明的目的是提供一种用于无线电通信系统的地址发生器和地址发生方法,它们在每一个预定周期产生一个用于turbo交错/解交错的地址。
本发明的另一个目的是提供一种用于无线电通信系统的地址发生器和地址发生方法,它们能够使turbo译码器的时钟定时保持恒定。
本发明的再一个目的是提供一种用于无线电通信系统的地址发生器和地址发生方法,它们能够免除实现turbo译码器的硬件复杂程度。
通过提供一个地址发生器和地址发生方法实现这些和其它目的。根据本发明的一个方面,所述地址发生器产生多个可用地址,而不必紧缩(punctuer)不可用组的地址和具有部分可用地址的不可用地址组的地址,所述可用地址的数量少于2k+n并被分成2k个组,每一组具有2n个位置地址。在所述地址发生器中,第一计数器对多个时钟脉冲计数,产生由k位组成并在每个时钟脉冲处指出2k个组的一个组的第一组计数值,并在计数2k个时钟脉冲后产生一个进位。第二计数器从所述第一计数器接收所述进位,对所述进位计数,并产生由n位组成并指出2n个位置地址的一个的第一位置计数值。控制器存储表示所述不可用组的第二组计数值、表示该组具有可用和不可用位置地址的第三组计数值以及表示不可用位置地址的第二位置计数值。如果第一组计数值是第二组计数值的一个,或第一组计数值是第三组计数值的一个和第一位置计数值是第二位置计数值的一个,则所述控制器将不使所述第一和第二计数器输出所述第一组计数值和所述第一位置计数值。位反相器从第一计数器接收k位并将所述k位反相。操作装置接收第一组计数值和第一位置计数值,对所接收的计数值进行以2n为模的C*(j+1)计算(C是与所述第一组计数值对应的初始籽数值和j是第一位置计数值),产生结果i。缓存器存储从所述位反相器接收的被反相位以外形成的可用地址和从所述操作装置接收的位i。
附图概述
通过下面结合附图的详细描述,本发明的上述和其它目的、特性和优点将变得更加明显。其中:
图1的框图示出了应用了本发明的典型的turbo交错器;
图2的框图示出了传统的turbo交错地址发生器;
图3的框图示出了根据本发明所述最佳实施例的turbo交错地址发生器;
图4的详细框图示出了根据本发明所述最佳实施例的图3所示的输入计数器;
图5的流程示出了根据本发明所述最佳实施例地址发生方法的一个
实施例;
图6的流程示出了根据本发明所述最佳实施例所述地址发生方法的另一个实施例;和
图7示出了根据本发明所述最佳实施例的图4所示输入计数器中的计数操作。
最佳实施例的详细描述
下面结合附图对本发明的最佳实施例进行描述。在下面的描述中,由于对公知功能或构成不必要的详细描述将使本发明变得模糊不清,所以不再对其进行详细描述。
本发明人发现根据某些规律能够产生不可用地址。如上所述,不可用地址是大于或等于所述turbo交错尺寸(或输入帧长度)并由此必须被丢弃的地址。下面将描述所述规律。在本发明的最佳实施例中,利用不可用地址当中的规律性,用于产生不可用地址的源(souece)值事先被跳过。结果是,在每一个预定周期内连续产生用于turbo交错/解交错的可用地址,从而克服了由于不连续产生地址所引起的问题。
根据本发明的最佳实施例,用于turbo交错的地址发生器结构如图3所示,它仅仅用于在每个预定周期内产生可用地址。由于turbo解交错是所述turbo交错的逆操作,所以,本发明可以应用到turbo解交错器和turbo交错器中。因此,很明显,虽然本发明的最佳实施例是对turbo交错器进行描述的,但是它也可以被应用到turbo解交错器中。另外,下面的描述是根据下述情况作出的,即借助于举例的方式使交错组的数量是25(=32),但是,它也可以是后面将要描述的任意数2k
图3的框图示出了根据本发明最佳实施例的地址发生器。
参看图3,所述最佳实施例的地址发生器包括控制器200、输入计数器(I_CONTBR)210和用于使输入地址随机化并产生所述随机化地址以外的turbo交错地址的地址发生单元120到150。加法器120,查询表130、位反相器140以及乘法和按模计算操作单元150是图2所示传统地址发生器的典型组件。其它组件、控制器200和计数器210是本发明最佳实施例的特征。
控制器200将预定的turbo交错尺寸值(输入帧长度)Nturbo转换成相应的二进制数并确定在通过分析所述二进制数可能产生的地址当中将被丢弃的地址。这里,选择大于或等于Nturbo的地址丢弃。输入计数器201在控制器200的控制下输出在连续产生其它地址中使用的地址位。
具体地说,控制器200必须分析表示交错块组数量的最后二进制数地址的较高5位,即MSB(第一阈值),确定哪些地址具有大于所述第一阈值的较高5位并丢弃它们。但是,当从输出地址缓存器220输出所述最后二进制数地址时,对于保证所述输出地址是一个可用地址来讲已经太晚。因此,在本发明的最佳实施例中,由于将从输入计数器210输出的较低5位、即LSB一旦在位反相器140中被反相就变成了所述最后输出地址的5个MSB,所以所述控制器分析这较低5位。利用这种方式,所述控制器能够在不可用地址被建立之前将它们删除。在控制器200的控制下,输入计数器210仅仅输出将产生可用地址的源位。
当输入计数器210被用于产生具有等于所述第一阈值的5个MSB的输出地址的源住(5个LSB)时,控制器200根据所产生的剩余源位操作输入计数器210、即从输入计数器210输出n个MSB。关于所述最后输出地址,当它具有等于所述第一阈值的较高5位时,如果所述完整地址(=较高5位和较低5位)大于或等于Nturbo,它将被丢弃。相反,如果所述最后输出完整地址(=较高5位和较低n位)小于Nturbo,则所述完整地址可以被使用。因此,确定那些地址将被选择性地产生或丢弃取决于所述二进制数的较低n位(第二阈值)。关于输入计数器210的输出,这意味着控制器200必须操纵输入计数器210仅仅产生较高的n个(MSC)源位,它将结束产生小于所述第二阈值的较低n个(LSB)输出位。
如上所述,输入计数器210在控制器200的控制下不输出产生大于或等于Nturbo的输出地址的计数值或源位。与现有技术中输出包括产生大于或等于Nturbo并由此将必须丢弃的计数值[0...2+5-1]的计数器110比较,输入计数器210输出仅仅产生小于Nturbo的地址的计数值[0...Nturbo-1]。在下面结合所述表的描述中将会清楚的理解控制器200确定哪些地址将被丢弃和输入计数器210的计数操作方式。
在图3中,包括加法器120、查询表130、位反相器140以及乘法和按模计算装置150的随机化块随机化由输入计数器210计数(或输出)的输入地址顺序。在下面的描述中,由输入计数器210输出的源位将被称之为输入地址,而输入给输出地址缓存器220的最后位将被称之为输出地址。加法器120将规定值“1”加到所述输入地址的较高n位上。假设所接收的较高n位值,j=1,2,3,...,加法器120输出j+1=1,2,3,...。查询表130存储与各组对应的多个籽数(或C-值)并输出与由所述输入地址的较低5位表示的所述组对应的n-位籽数值。乘法和按模计算装置150对加法器120和查询表130的输出执行乘法和按模加法计算并将结果输出用做用于turbo交错的所述输出地址的较低n位、即LSB。所述乘法和按模加法计算的输出是具有被截短的较低n位的加法器120和查询表130输出的和。如果与所述输入地址的较低5位对应的n位籽数值是C和所述输入地址的较高n位是j,则乘法和按模计算装置150根据LCS逆公式输出i=(=C*(j+1)模2n)。位反相器140将对从输入计数器210接收的所述较低5位进行反相并输出经过反相的位作为所述输出地址的较高5位。位反相器140以及乘法和按模计算装置150的输出分别形成了所述输出地址的较高5位和较低5位。然后,所述输出地址被存储在缓存器220中并作为读地址提供给图1所示交错器存储器36。
当图3所示地址发生器被应用到一个turbo交错器时,(5+n)位输出地址被作为读地址馈送给位于turbo交错器输出侧的交错器存储器36。当所述地址发生器被应用于turbo解交错器时,所述(5+n)位输出地址被作为写地址馈送给所述解交错器存储器。
图4的框图详细示出了图3所示的输入计数器210。
参看图4,输入计数器210包括用于对所述输入地址的较低5位[4∶0]计数的组计数器(G_COUNTBR)212和用于对所述输入地址较高n位[n-1∶0]计数的索引计数器(J_COUNTER)214。计数器212和214对图1所示的多个符号时钟脉冲计数并在每个时钟脉冲处分别产生一个5位值和一个n位值。从组计数器212输出的较低5位指出在由交错器尺寸确定的交错块中的25个组中的一个组并被馈送给查询表130和位反相器140。从索引计数器214输出的较高n位指出用于每个组的2n个地址中的一个地址。这里,每个地址作为可变化地址使用以置换相应组中的数据位。由组计数器212的计数所产生的进位被施加到索引计数器214和控制器200上。当接收所述进位时,控制器200检查索引计数器214的计数并选择性地增加组计数器212的计数。即,组计数器212在控制器200的控制下跳过一个相应的值并在规定的时间处计数下一个值,同时,从[00000]开始向上顺序计数。用于组计数器212的初始值是[00000]和用于索引计数器214的初始值是[00...00]。
组计数器212是一个用于对所述输入地址的较低5位计数的较低计数器,所述较低的5位确定所述输出地址的较高5位,而索引计数器214是一个用于对所述输入地址的较高n位计数的较高计数器,所述较高n位确定所述输出地址的较低n位。根据本发明的最佳实施例,输入计数器210根据turbo交错器尺寸除了产生一输出地址外还产生一个(n+5)位的输入地址,而不产生除了必须丢弃的所得结果的输出地址以外的输入地址。
根据一个交错器尺寸给出的25(=32)个组和每个组内有2n个位置地址,图3和4所示的地址发生器产生少于25+n的可用地址。
本发明的地址发生器也能够被用于具有2k个组并且每组包括2n个地址的交错块的一般情况。在这种情况下,产生少于2k+n的可用地址。所述地址发生器的特征在于它产生可用地址而不需要紧缩不可用组的地址或其中某些位置地址是不可用地址的组地址。
为此目的,所述地址发生器中的组计数器212对多个时钟脉冲计数。在每个时钟脉冲处,组计数器212产生由k位组成并指出2k个组中一个组的第一组计数值,然后在计数2k个时钟脉冲之后产生一个进位。索引计数器214对多个时钟脉冲计数,并产生由n位组成和在每个时钟脉冲处指出每组中2n个地址的一个地址的第一位置计数值。控制器200存储指出不可用组的第二组计数值、指出既具有可用又具有不可用位置地址的组的第三组计数值以及指出不可用位置地址的第二位置计数值。如果第一组计数值是所述第二组计数值中的一个或如果第一组计数值是第三组计数值中的一个和第一位置计数值是第二位置计数值中的一个,则控制器200操作组计数器212和索引计数器214,以便使第一组计数值和第一位置计数值不被输出。位反相器140将由k位组成的第一组计数值的位反相。经过反相的位被存储在输出缓存器220中将用作输出地址的较高k位、即MSB。包括加法器120、查询表130以及乘法和按模计算装置150在内的操作块接收所述第一组计数值和所述第一位置计数值,建立与所述第一组计数值对应的初始籽数值C,然后使用LCS逆公式C*(j+1)模2n(j是第一位置计数值)产生结果i。该结果被存储在缓存器220中并用做用于turbo交错/解交错的输出地址的较低n位,即LSB。
分析示出了遵从一个规律的丢弃地址的顺序。使用这个规律,控制器200操作输入计数器210不对能够产生必须被丢弃地址的值计数,借此,克服不连续产生输出地址的问题。下面的描述是结合在IS-95C中使用的LCS turbo交错器、即结合当前1x turbo CODEC(它支持两个数据速率RS1和RS2)进行的。
turbo交错器尺寸的分析
(表1)
  RS   Nturbo(=L)     n   M=2°       L(2)  第一阈值  第二阈值
    1     378     4     16    101111010     10111     10
    2     570     5     32    1000111010     10001     26
    1     762     5     32    1011111010     10111     26
    2     1146     6     64    10001111010     10001     58
    1     1530     6     64    10111111010     10111     58
    2     2298     7     128   100011111010     10001     122
    1     3066   101111111010     10111
    2     4602     8     256   1000111111010     10001
在表1中,Nturbo(=L)是实际turbo交错器尺寸(输入帧数据尺寸)和n是当根据Nturbo确定时每组当中每个位置地址的位数,即用于在每组中置换数据位的值。例如,如果Nturbo是378,则根据IS-95C规范所述地址的数量是512(=29)。这意味着每个完整输出地址将具有9位。由此,由于根据IS95C标准在一个交错块中给出了25(=32)个组,所以每组中地址的数量是24。所以,每组地址中有5位,一组内的每个位置地址中有4位。M是所述LCS周期,2n.Nturbo (2)或L(2)是以二进制数表示的所述turbo交错器的尺寸。第一阈值指出L(2)的较高5位。第二阈值是指出以十进制数表示的L(2)的较低n位(由此排除了较高5位)的阈值,具有大于第一阈值的组地址的任何完整地址都是不可用地址。具有等于第一阈值的组地址的任何完整地址和大于或等于第二阈值的位置地址都是不可用地址。
参看表1,不考虑Nturbo,L(2)具有在RS1处的“10111”和在RS2处的“10001”相同较高5位或第一阈值。在RS1处,具有大于“10111”的较高5位的输出地址将被丢弃。在RS2处,具有大于“10001”的较高5位的输出地址将被丢弃。因此,通过控制输入计数器210不输出其较低5位将产生必须被丢弃的输出地址的较高5位的输入地址则能够避免输出地址的不连续产生。由于所述输出地址的较高5位、即5个MSB是由输入计数器210计数(或输出)的所述较低5位的反相位,所以,输入计数器210被操作仅仅产生其较低5位一旦被反相就不大于所述较高5位阈值的输入地址。在RS1处是第一阈值=“10111”和在RS2处是第一阈值=“10001”的较高5位的阈值被反相为“11101”和“10001”。因此,控制器200控制输入计数器210不输出其较低5位一旦被反相将会大于所述第一阈值的输入地址,以便能够连续产生可用的输出地址。
丢弃地址的确定
表2和表3分别示出了在RS1和RS2处与根据turbo交错器尺寸确定的输出地址中被丢弃的地址对应的组计数器212的计数值。
(表2)
ADDRESS_OUT[8∶4]=第一阈值 G_COUNTER[4∶0] 结果 丢弃的数量ADDRESS_OUT
10111 11101(29) 部分丢弃 <2n
    11000     00011(3)     全部丢弃     2n
    11001     10011(19)     全部丢弃     2n
    11010     01011(11)     全部丢弃     2n
    11011     11011(27)     全部丢弃     2n
    11100     00111(7)     全部丢弃     2n
    11101     10111(23)     全部丢弃     2n
    11110     01111(15)     全部丢弃     2n
    11111     11111(31)     全部丢弃     2n
参看表2,根据在RS1处它们较高5位的值,输出地址可以被分成三种类型(在表2中仅仅示出了其中的两种)。如果它们的5个MSB(ADDRESS_OUT[n+k-1∶n]或ADDRESS_OUT[8∶5])位于00000(=0)-10110(=22)的范围内,则产生输出地址;如果它们位于11000(=24)-11111(=31)的范围内,则被丢弃;如果它们是10111(=23=第一阈值),则根据它们的较低n位丢弃或产生。输出地址的5个MSB或ADDRESS_OUT[8∶4]对应于输入地址的5个LSB或G-COUNTER[4∶0]=G_COUNTER[k-1∶0]。
从表2可以看到,下述等式(1)示出了将产生不可用输出地址的一组输入地址。特别是,以具有初始项为3和算术差为4的算术顺序按升序排列的用于所述不可用输出地址的组地址部分的输入地址源位(或G_COUNTER)的十进制等效值。
被丢弃的G_COUNTER[4∶0]={3,7,11,15,19,23,27,31}........(1)
如果输入计数器210没有输出计数值,或输入地址,利用满足等式1的G_COUNTTER,每个输出地址将小于Nturbo。为了此事发生,输入计数器210被指定不产生与不可用地址对应的索引或输入地址。由于上述顺序形成了具有算术差为4的算术顺序,所以,实际的输入地址I_COUNTER[n+4∶0]被正常产生。即,组计数器212只输出下述十进制等效值。
G-RS1={0,1,2,4,5,6,8,9,10,12,13,14,16,17,18,20,21,22,24,25,26,28,29,30}...............(2)
只有与包括在等式2所示组中的计数值对应的组地址被用做用于LCS turbo交错器的输出地址的组地址部分。这里,相同的G_COUNTER顺序被用于产生在RS1处的可用地址而不考虑turbo交错器的尺寸。即,组计数器212不考虑n而简单地在RS1处产生等式2所示十进制的二进制等效值。
但是,如果输出地址的较高5位是10111(23)(ADDRESS_OUT[8∶4]=10111),即如果输入地址的较低5位是G_COUNTER[4∶0]=(11101),则所述输出地址被选择性的丢弃。用于确定哪些地址将被丢弃的参数是J_COUNTER[n-1;0]和C。
(表3)
    ADDRESS_OUT[8∶4]     G_COUNTER[4∶0]     结果     丢弃的数量ADDRESS_OUT
    10001     10001(17)     部分丢弃     <2n
    10010     01001(9)     全部丢弃     2n
    10011     11001(25)     全部丢弃     2n
    10100     00101(5)     全部丢弃     2n
    10101     10101(21)     全部丢弃     2n
    10110     01101(13)     全部丢弃     2n
    10111     11101(29)     全部丢弃     2n
    11000     00011(3)     全部丢弃     2n
    11001     10011(19)     全部丢弃     2n
    11010     01011(11)     全部丢弃     2n
    11011     11011(27)     全部丢弃     2n
    11100     00111(7)     全部丢弃     2n
    11101     10111(23)     全部丢弃     2n
    11110     01111(15)     全部丢弃     2n
    11111     11111(31)     全部丢弃     2n
参看表3,输出地址也被根据在RS2处它们较高5位的值分类成三类。如果输出地址的组地址部分ADDRESS_OUT[n+k-1∶n]位于00000(0)-10000(16)的范围内,将产生输出地址ADDRESS_OUT[n+k-1∶0];如果它们位于10010(18)-11111(31)的范围内将被丢弃;如果它们是10001(17),则根据它们的较低n位丢弃或产生。
从表3可以看出,将产生不可用输出地址的输入地址的较低5位被以具有初始项为3和算术差为2的算术顺序按升序排列。
被丢弃的G_COUNTER[4∶0]={3,5,7,9,11,13,15,17,19,21,23,25,27,29,31}.........(3)
如果输入计数器210没有输出具有等式3的G_COUNTER的计数值,则每个输出地址都将小于Nturbo。建议输入计数值210应当被设计成能够不产生与不可用地址相关的输入地址。由于上述顺序形成了一个具有算术差为2的算术顺序,所以能够正常产生实际输入地址I_COUNTER[n+4∶0]。即,组计数器212只输出与等式4所示十进制值等效的二进制值。
G-RS2={0,1,2,4,6,8,10,12,14,16,17,18,20,22,24,26,28,30}...............(4)
只有与包括在等式4所示组中的计数值对应的地址被用做用于LCSturbo交错器的输出地址。这里,相同的G_COUNTER顺序被用于在RS2处产生的可用输出地址,而不考虑turbo交错器的尺寸。即,组计数器212不考虑n而在RS2处简单地产生与等式4所示十进制值等效的二进制值。
这里,如果输入地址的较高5位是10001(17)(ADRESS_UT[8∶4]=(10001)),即,输入地址的较低5位是G_COUNTER[4∶-]=(10001),那么,所述输出地址被选择性地丢弃。用于确定丢弃一个地址的参数是J_COUNTER[N-1∶0]和C。
如上所述,通过将组计数器212设计成能够输出满足等式2或4的多个位,即输出地址的较低5位可以在每个符号间隔处产生输出地址。在ADDRESS_OUT[8∶4]=(10111)、即在RS1处G_COUNTER[4∶0]=29和ADDRESS_[8∶4]=(10001)、即在RS2处G_COUNTER[4∶0]=17的情况下,执行一个附加的处理。
表4和表5示出了IS-95C中LCS turbo交错器参数当中n与C之间的关系。在这些表中,下划线的部分表示具有被丢弃地址的组,黑体部分表示具有被丢弃和被产生地址的组。相对于具有下划线的组来讲,输入计数器210不执行计数操作。相反,输入计数器210对黑体组的值计数。因此,通过根据所述组的两种类型控制输入计数器210可以在LCStrubo交错器的输出端产生没有被截短所有经过交错的地址。
表4示出了在RS1处n和C之间的关系。从该表可以看出,相对于具有表索引3,7,11,15,19,23,27,和31的组而言,输入计数器210是不起作用的。
表5示出了在RS2处n和C之间的关系。从该表可以看出,相对于具有表索引3,5,7,9,11,13,15,19,21,23,25,27,29和31的组而言,输入计数器210是不起作用的。
(表4)
    表索引     n=4入口     n=5入口     n=6入口     N=7入口     n=8入口     n=9入口     n=10入口
    0     5     27     3     15     3     3     1
    1     15     3     27     127     1     31     3
    2     5     1     15     89     5     9     927
    3     15     15     13     1     83     355     1
    4     1     13     29     31     19     203     3
    5     9     17     5     15     179     407     1
    6     9     23     1     61     19     257     1
    7     15     13     31     47     99     1     589
    8     13     9     3     127     23     3     937
    9     15     3     9     17     1     1     375
    10     7     15     15     119     3     503     615
    11     11     3     31     15     13     1     1
    12     15     13     17     57     13     3     737
    13     3     1     5     123     3     395     1
    14     15     13     39     95     17     1     3
    15     5     29     1     5     1     415     85
    16     13     21     19     85     63     199     981
    17     15     19     27     17     131     111     329
    18     9     1     15     55     17     219     109
    19     3     3     13     57     131     495     949
    20     1     29     45     15     211     93     167
    21     3     17     5     41     173     239     589
    22     15     25     33     93     231     111     675
    23     1     29     15     87     171     131     297
    24     13     9     13     63     23     383     879
    25     1     13     9     15     147     209     109
    26     9     23     15     13     243     355     161
    27     15     13     31     15     213     407     187
    28     11     13     17     81     189     171     999
    29     3     1     5     57     51     111     727
    30     15     13     15     31     15     363     67
    31     5     13     33     69     67     105     875
(表5)
    表索引     n=4入口     n=5入口     N=6入口     n=7入口     n=8入口     n=9入口     n=10入口
    0     5     27     3     15     3     3     1
    1     15     3     27     127     1     31     3
    2     5     1     15     89     5     9     927
    3     15     15     13     1     83     355     1
    4     1     13     29     31     19     203     3
    5     9     17     5     15     179     407     1
    6     9     23     1     61     19     257     1
    7     15     13     31     47     99     1     589
    8     13     9     3     127     23     3     937
    9     15     3     9     17     1     1     375
    10     7     15     15     119     3     503     615
    11     11     3     31     15     13     1     1
    12     15     13     17     57     13     3     737
    13     3     1     5     123     3     395     1
    14     15     13     39     95     17     1     3
    15     5     29     1     5     1     415     85
    16     13     21     19     85     63     199     981
    17     15     19     27     17     131     111     329
    18     9     1     15     55     17     219     109
    19     3     3     13     57     131     495     949
    20     1     29     45     15     211     93     167
    21     3     17     5     41     173     239     589
    22     15     25     33     93     231     111     675
    23     1     29     15     87     171     131     297
    24     13     9     13     63     23     383     879
    25     1     13     9     15     147     209     109
    26     9     23     15     13     243     355     161
    27     15     13     31     15     213     407     187
    28     11     13     17     81     189     171     999
    29     3     1     5     57     51     111     727
    30     15     13     15     31     15     363     67
    31     5     13     33     69     67     105     875
                  被选择性丢弃地址的确定
现在,将给出丢弃或产生具有等于以二进制数码表示的turbo交错器尺寸的较高5位的较高5位地址的描述。通过控制索引计数器24,属于表4中组29或表5中组17的地址被选择性地产生或丢弃。
参看表6和表7,产生还是丢弃具有等于所述turbo交错器尺寸的较高5位的较高5位地址是根据第二阈值、即所述turbo交错器尺寸的较低n位确定的。控制索引计数器214不产生具有与大于或等于第二阈值的输出地址的较低n位对应的较高n位的输入地址。例如,如果第二阈值是表6所示的10,则具有大于或等于10(ADDRESS_OUT[n-1∶0]={10,11,12,13,14,15})的较低n位的输出地址被建立丢弃。因此,输入计数器210将不产生具有与输出地址确定的较低n位对应的较高n位的输入地址。由于在加法器120以及乘法和按模计算装置150中较低n位是在LCS操作之后产生的,所以,可以通过逆执行LCS操作获得除确定的较低n位之外的输入地址的较高n位。例如,对应于具有较低n位{10,11,12,13,14,15}的输出地址的输入地址的源较高n位是{3,4,8,9,13,14}。因此,索引计数器214被控制不对与确定的较低n位{10,11,12,13,14,15}对应的J_COUNTER[n-1]={3,4,8,9 13,14}计数。
(表6)
RS1(G_COUNTER=29) n=4 n=5 n=6 n=7 n=8
C 3 1 5 57 51
第二阈值 10 26 58 122 250
ADRESS_OUT[n1∶0]:discared index {10,11,12,13,14,15} {26,27,28,29,30,31} {58,    59,60,61,62,63} {122,123,124,125,126,127} {250,251,252,253,254,255}
J_COUNTER[n-1∶0]:discared index {3,4,8,9,13,14} {25,26,27,28,29,30} {11,24,37,49,50,62} {72,82,91,100,109,118} {4,9,14,19,24,29}
(表7)
RS2(G_VOUNTER=17) n=5 n=6 n=7 n=8
C 19 27 17 131
第二阈值 26 58 122 250
ADRESS_OUT[n-1∶0]:discaredindex {26,27,28,29,30,31} {58,59,60,61,62,63} {122,123,124,125,126,127} {250,251,252,253,254,255}
J_COUNTER[n-1∶0]:discaredindex {4,9,14,19,24,29} {6,13,25,32,44,51} {14,29,44,59,74,89} {40,83,126,169,212,253}
表6列出了在RS1处具有等于10111的较高5位和大于或等于第二阈值较低n位并因此将被丢弃的地址。例如,如果如表1所示,Nturbo是378,第一阈值是10111(=29)和第二阈值是1010(=10),那么,如果它们具有大于或等于第二阈值的较低n位{10,11,12,13,14,15},则具有作为较高5位的10111的地址将被丢弃。因此,索引计数器214在控制器200的控制下经过逆LCS操作将不产生具有与{10,11,12,13,14,15}对应的n个较高位{3,4,8,9,13,14]的输入地址。由于没有产生用于产生不可用输出地址的输入地址,所以,输入计数器210只对连续产生可用地址的输入地址进行计数。
表7列举了在RS2处具有等于10001的较高5位和不小于第二阈值的较低n位并由此将被丢弃的地址。例如,如果如表1所示Nturbo是570,第一阈值是10001(17)和第二阈值是11010(26),那么,如果它们具有大于或等于第二阈值的较低n位{26,27,28,29,30,31},则具有作为较高5位的10001的地址将被丢弃。因此,索引计数器214在控制器200的控制下经过逆LCS操作将不产生具有与{26,27,28,29,30,31}对应的n个较高位{4,9,14,19,24,29}的输入地址。由于没有产生用于产生不可用输出地址的输入地址,所以,输入计数器210只对产生连续可用地址的输入地址进行计数。
表(8)列举了在RS1、G_COUNTER[4∶0]=29、n=4、C=3和第二阈值=10状态下的地址。在表8中,ADDRESS_OUT[8∶4]=10111(23)是G_COUNTER_[4∶0]=11101(29)的反相值。因此,如果满足J_COUNTER[3∶0]∈{3,4,8,9,13,14},具有较高5位为10111的地址将被丢弃,如表6所示。在J_COUNTER[3∶0]∈{3,4,8,9,13,14}的情况下,G_COUNTER被加1,以便指出下一组。因此,不用输出与组29对应的索引就能够将J-COUNTER[n+4∶0]传送给组30。
(表8)
    J_COUNTER[3∶0]     LCS     ADDRESS_OUT[3∶0]     ADDRESS_OUT[8∶4]
    0     (0+1)×3mod16     3     10111(23)
    1     (1+1)×3mod16     6     10111(23)
    2     (2+1)×3mod16     9     10111(23)
    3     (3+1)×3mod16     12*丢弃     10111(23)
    4     (4+1)×3mod16     15*丢弃     10111(23)
    5     (5+1)×3mod16     2     10111(23)
    6     (6+1)×3mod16     5     10111(23)
    7     (7+1)×3mod16     8     10111(23)
    8     (8+1)×3mod16     11*丢弃     10111(23)
    9     (9+1)×3mod16     14*丢弃     10111(23)
    10     (10+1)×3mod16     1     10111(23)
    11     (11+1)×3mod16     4     10111(23)
    12     (12+1)×3mod16     7     10111(23)
    13     (13+1)×3mod16     10*丢弃     10111(23)
    14     (14+1)×3mod16     13*丢弃     10111(23)
    15     (15+1)×3mod16     0     10111(23)
表9列举了在RS1、G_COUNTER[4∶0]=29、n=5、C=1和第二阈值=26情况下的地址。在表9中,ADDRESS_OUT[8∶4]=10111(23)是G_COUNTER_[4∶0]=11101(29)的反相值。因此,如图6所示,如果它们满足J_COUNTER[3∶0]∈(25,26,27,28,29,30},那么,具有较高5位为10111的地址将被丢弃。在J_COUNTER[3∶0]∈{3,4,8,9,13,14}的情况下,G_COUNTER被加1,以便指出下一组。因此,不用输出与组29对应的索引就能够将I_COUNTER[n+4∶0]传送给组30。
(表9)
    J_COUNTER[4∶0]     LCS     ADDRESS_OUT[4∶0]     ADDRESS_OUT[9∶5]
    0     (0+1)×3mod32     1     10111(23)
    1     (1+1)×3mod32     2     10111(23)
    2     (2+1)×3mod32     3     10111(23)
    3     (3+1)×3mod32     4     10111(23)
    4     (4+1)×3mod32     5     10111(23)
    5     (5+1)×3mod32     6     10111(23)
    6     (6+1)×3mod32     7     10111(23)
    7     (7+1)×3mod32     8     10111(23)
    8     (8+1)×3mod32     9     10111(23)
    9     (9+1)×3mod32     10     10111(23)
    10     (10+1)×3mod32     11     10111(23)
    11     (11+1)×3mod32     12     10111(23)
    12     (12+1)×3mod32     13     10111(23)
    13     (13+1)×3mod32     14     10111(23)
    14     (14+1)×3mod32     15     10111(23)
    15     (15+1)×3mod32     16     10111(23)
    16     (16+1)×3mod32     17     10111(23)
    17     (17+1)×3mod32     18     10111(23)
    18     (18+1)×3mod32     19     10111(23)
    19     (19+1)×3mod32     20     10111(23)
    20     (20+1)×3mod32     21     10111(23)
    21     (21+1)×3mod32     22     10111(23)
    22     (22+1)×3mod32     23     10111(23)
    23     (23+1)×3mod32     24     10111(23)
    24     (24+1)×3mod32     25     10111(23)
    25     (25+1)×3mod32     26*丢弃     10111(23)
    26 (26+1)×3mod32     27*丢弃     10111(23)
    27 (27+1)×3mod32     28*丢弃     10111(23)
    28 (28+1)×3mod32     29*丢弃     10111(23)
    29 (29+1)×3mod32     30*丢弃     10111(23)
    30 (30+1)×3mod32     31*丢弃     10111(23)
    31 (31+1)×3mod32     16     10111(23)
                        地址产生处理
图5的流程示出了根据本发明分别在RS1和RS2处地址发生方法的第一和第二实施例。这个处理是由控制器200控制的。在最初状态下,组计数器212和索引计数器214被复位。
参看图5,控制器200首先在步骤402确定组计数器(G_COUNTER)212的计数值是否对应于图2所示的G-RS1序列(0,1,2,4,5,6,8,9,10,12,13,14,16,17,18,20,21,22,24,25,26,28,29,30}。如果在步骤402组计数器212的计数值对应于“00000(0)”,即所述G-RS1序列,那么,控制器200在步骤404到406通过位反相输出交错地并随机化组计数器212的计数值“00000(0)”和索引计数器(J_COUNTER)214的计数值“000...000(0)”。由于组计数器212的计数值“00000(0)”小于32和不等于31,所以,在经过步骤408和414之后在步骤410输出一个被增加的下一个计数值“00001(1)”。
以相同的方式对被增加的计数值“00001”执行已经对计数值“00000(0)”执行过的步骤402、404、406、408、414和410的操作。另外,以相同的方式对下一个计数值“00010(2)”执行步骤402、404、406、408、414和410的操作。
如果组计数器212的计数值是“00011(3)”,将执行下述操作。如果在步骤402确定组计数器212的计数值与等式2所示的G_RS1={0,1,2,4,5,6,8,9,10,12,13,14,16,17,18,20,21,22,24,25,26,28,29,30}不对应,即与等式1所示{3,7,11,15,19,23,27,31}相对应,那么,控制器200直接进入到步骤408,而不用经过(即跳过)步骤404和406。换言之,当组计数器212计数到等式1所示{3,7,11,15,19,23,27,31}中的一个时,控制器200不输出作为交错地址的相应计数值。即使是组计数器212的计数值等于等式1所示的{7,11,15,19,23,27,31},也将执行与组计数器212的计数值情况下相同的操作。
如上所述,在步骤410增加组计数器212计数值的同时,它在步骤402确定所述计数值是否对应于等式2所示G_RS1序列。如果是,则执行步骤406以输出所述交错地址。如果不是,则不执行步骤406,从而不输出所述交错地址。这种操作是对组计数器212的所有可计数值(0-31)执行的。这种操作是在索引计数器214的计数值被固定在一个规定值的状态下执行的。例如,索引计数器214的初始计数值被固定在“000...000(0)”和在这个初始状态下增加组计数器212计数值的同时,与等式2所示G_RS1序列对应的计数值被作为交错地址输出。
同时,当对组计数器212的所有可计数值计数时,组计数器212产生一个进位,组计数器212是否产生进位、即组计数器212的计数值是否高于32是由控制器200在步骤408确定的。如果它在步骤408确定组计数器212产生了进位,则控制器200在步骤412复位组计数器212和索引计数器214对增加的计数值计数。对索引计数器214增加的计数值重复执行步骤402、404、406、408、414和410。因此,在增加用于索引计数器214被增加的计数值的组计数器计数值的同时,与等式2所示G_RS1序列对应的计数值作为交错地址被输出。
在执行这种地址发生操作的同时,如果在步骤404确定组计数器212的计数值是29和索引计数器214的计数值仅仅是表6所示删除值(例如{3,4,8,9,13,14})中的任何一个,那么,处理跳过步骤406直接进入到步骤408,从而不产生与将被删除地址对应的输入地址。即,当组计数器212在索引计数器214的计数值是所述删除值中的一个情况下计数29时,步骤406被跳过从而不输出作为交错地址的相应计数值。
重复执行上述操作,直到在步骤414确定组计数器212的计数值是31(11111)和索引计数器214的计数值是全部为1(111...111)为止。
参看图6,控制器200首先在步骤502确定组计数器(G_COUNTER)212的计数值是否对应于等式4所示的G_RS2序列{0,1,2,4,6,8,10,12,14,16,17,18,20,22,24,26,28,29}。如果在步骤502组计数器212的计数值对应于“00000(0)”,即G_RS2序列,则控制器200在步骤504到506通过位反相输出一个交错地址并随机化组计数器212的计数值“00000(0)”和索引计数器(J_COUNTER)214的计数值“000...000(0)”。由于组计数器212的计数值“0000(0)”小于32和不等于31,所以,组计数器212在经过步骤508和514之后在步骤510输出被增加的下一个计数值“00001(1)”。
以相同的方式对被增加的计数值“00001(1)”执行已经对计数值“00000(0)”执行过的步骤502、504、506、508、514和510的操作步骤。另外,以相同的方式对下一个计数值“00010(2)”执行步骤502、504、506、508、514和510的操作步骤。
如果组计数器212的计数值是“00011(3)”,则执行下述操作。如果在步骤502确定组计数值212的计数值不对应于等式4所示的G-RS2{0,1,2,4,6,8,10,12,14,16,17,18,20,22,24,26,28,29,30},即对应于等式3所示的{3,5,7,9,11,13,15,19,21,23,25,27,29,31},那么,控制器200穿过(即跳过)步骤504和506直接进入步骤508。换言之,当组计数器212对等式3所示{3,5,7,9,11,13,15,19,21,23,25,27,29,31}中的一个计数时,控制器200不输出作为交错地址的相应计数值。即使是组计数器212的计数值等于等式3所示的{3,5,7,9,11,13,15,19,21,23,25,27,29,31},也将执行与组计数器212计数值情况下相同的操作。
如上所述,在步骤510增加组计数器212的计数值的同时,在步骤502确定所述计数值是否对应于等式4所示的G_RS2序列。如果是,在步骤506执行交错地址的输出。如果不是,不执行步骤506,从而不输出所述交错地址。对组计数器212的所有可计数值(0-31)执行这种操作。在索引计数器214的计数值被固定为一个规定值的状态下执行这些操作。例如,索引计数器214的初始计数值被固定为“000...000(0)”和在这个初始状态下增加组计数器212计数值的同时,与等式4所示G_RS2序列对应的计数值被作为交错地址输出。
同时,当对组计数器212的所有可计数值计数时,组计数器212产生一个进位。组计数器212是否产生进位,即、组计数器212的计数值是否等于或高于32是由控制器200在步骤508确定的。如果在步骤508它确定组计数器212产生了一个进位,则在步骤512控制器200复位组计数器212和索引计数器214的被增加的计数值计数。对索引计数器214被增加的计数值重复执行步骤502、504、506、508、514和510。因此,在增加用于索引计数器214的被增加的计数值的组计数器212的计数值的同时,与等式4所示G-RS1序列对应的计数值被作为交错地址输出。
在执行这些地址发生操作的同时,如果在步骤504确定组计数器212的计数值是17和索引计数器214的计数值是表7所示删除值(例如,{4,9,14,19,24,29})中的任何一个,则处理跳过步骤506并直接进入到步骤508以便不产生与将被删除地址对应的输入地址。即,当在索引计数器214的计数值是所述删除值中一个的状态下组计数器212计数是17时,步骤506被跳过从而不输出作为交错地址的相应计数值。
重复执行上述操作,直到在步骤514确定组计数器212的计数值是31(11111)和索引计数器214的计数值是全部为1(111...111)为止。
图7示出了图4所示输入计数器2210中计数操作的一个例子。这里,输入计数器210在数据速率是RS1、turbo交错器尺寸是378、根据所述turbo交错器尺寸在一个交错块中给出25个组、每组具有24个地址和第二阈值是10的条件下执行[8∶0]的计数操作。
在图7中,G_CNT和J_CNT分别表示组计数器212和索引计数器214的计数值。组计数器212是一个从0到31(=0000-1111)计数并产生所述组计数值的5-位二进制计数器。索引计数器214是一个从0到15(=0000-1111)计数并产生所述位置计数值的4位二进制计数器。计数器212和214在控制器200的控制下产生作为可用地址的小于所述交错器尺寸的地址。如果组计数器212计数指出被丢弃组{3,7,11,15,19,23,27,31}中一个的值,控制器200控制组计数器212计数指出下一组的值而不输出所述计数值。即,控制器200控制组计数器212产生没有被丢弃组计数值的计数值,如在下述系列一样:G0(00000)→G1(00001)→G2(00010)→G4(00100)→G5(00101)→G6(00110)→...→G16(10000)→G17(10001)→...→G30(11110)。
同时,控制器200在一个等于所述交错器尺寸的组中选择性地产生多个地址作为可用地址。如果组计数器212计数到组29等于交错器尺寸和索引计数器214产生包括在{3,4,8,9,13,14)中的位置计数值(这意味着所述输出地址是一个被丢弃地址),那么,控制器200控制索引计数器214产生下一个计数值而不输出当前计数值。即,当组计数器212的计数值是29时,控制器200控制索引计数器214仅仅产生除{3,4,8,9,13,14}以外的计数值。
已经利用等式2和表4所示被丢弃组以及表6和表8所示被丢弃位置描述了如何确定被丢弃的组和位置。
如上所述,本发明使用存在于被丢弃地址当中的某个规律保证不产生与不可用输出地址对应的输入地址,借此,在每个预定间隔处产生turbo交错/解交错地址。因此,用于所述turbo译码器的时钟定时能够保持恒定并且实现所述turbo译码器的硬件复杂程度被大大减小。
在参考某些特定实施例对本发明进行了描述的同时,本专业领域内的普通技术人员可以理解,在不脱离由所附权利要求规定的本发明的精神和范围的前提下在形式和细节方面可以作出各种改变。

Claims (12)

1.一种用于产生可用地址而不产生不可用完整地址的地址发生器,所述可用地址是少于2k+n的完整地址,所述完整地址被分成2k个组,每组具有2n个位置地址,所述地址发生器包括:
第一计数器,用于对多个时钟脉冲计数,用于对产生由在每个时钟脉冲处指出的2k个组中的一个组的k位组成的一组计数,并用于在对2k个时钟脉冲计数后产生一个进位;
第二计数器,用于从第一计数器接收所述进位,用于对所述进位计数,并用于对产生由指出2n个位置地址的一个位置地址的n位组成的位置计数;
控制器,用于存储表示不可用组的不可用组计数值、表示具有可用和不可用位置地址的组的部分不可用组计数值以及表示不可用位置地址的不可用位置计数值,如果所述组计数是不可用组计数值的一个、或所述组计数是所述部分不可用组计数值的一个和所述位置计数是不可用位置计数值的一个,那么,所述控制器还用于控制所述第一和第二计数器不输出所述组计数和所述位置计数;
位反相器,用于从所述第一计数器接收和反相所述k位;
操作装置,用于接收所述组计数和所述位置计数,并用于确定与所接收的组计数对应的初始籽数值和用于在下述等式的基础上确定生成位:
(初始籽数值)*(位置计数+1)modulo2n;和
缓存器,用于存储由从所述位反相器接收的经过反相的位形成的可用地址和从所述操作装置接收的生成位。
2.一种用于产生可用地址而不产生不可用完整地址的方法,所述可用地址是少于2k+n的完整地址,它们被分成2k个组,每组具有2n个位置地址,所述方法包括下述步骤:
对多个时钟脉冲计数,在每个时钟脉冲处产生一组计数,该组计数由指出2k个组中的一个组的k位组成;
在该组计数达到2k时钟脉冲之后产生一个进位;
接收所述进位,对该进位计数,和在每个时钟脉冲处产生一个位置计数,所述位置计数由指出2n个地址中一个的n位组成;
如果所述组计数是表示不可用组的不可用组计数值中的一个,或者所述组计数是表示具有可用和不可用位置地址的组的多个不可用组计数值中的一个和所述位置计数是表示不可用位置地址的不可用位置计数值中的一个,则控制所述组计数和所述位置计数不被输出;
确定与所述组计数对应的一个初始籽数值;
在下述等式的基础上确定生成位:
生成位=(初始籽数值)*(位置计数+1)modulo2n
将来自所述第一计数器的k位反相;和
产生由被反相的位和所述生成位形成的可用地址。
3.一种用于产生可用地址而不产生不可用地址的地址发生器,所述可用地址是少于2k+n的完整地址,它们被分成2k个组,每组具有2n个位置地址,所述地址发生器包括:
(k+n)位二进制计数器,包括:
k位二进制计数器,用于对多个时钟脉冲计数,并用于产生由k位组成的一组计数,所述组计数在每个时钟脉冲处指出2k个组中的一个组,还用于在计数2k个时钟脉冲后产生一个进位,和
n位二进制计数器,用于从所述k位二进制计数器接收所述进位,并用于产生指出一个组中2n个地址中一个地址的n位位置计数j;
控制器,用于存储表示不可用组的不可用组计数值、表示具有可用和不可用位置地址的组的部分不可用组计数值和表示不可用位置地址的不可用位置计数值;和如果所述组计数是不可用组计数值中的一个,或者述组计数是部分不可用组计数值中的一个和所述位置计数是不可用位置计数值中的一个,则所述控制器被用于控制所述(k+n)位二进制计数器不输出所述组计数和所述位置计数;
位反相器,用于接收和反相来自所述k位二进制计数器的k位;和
操作装置,用于接收所述组计数和所述位置计数,并用于确定与所接收的组计数对应的籽数值,和在下述等式的基础上产生生成位:
生成位=(初始籽数值)*(位置计数+1)modulo2n
其中,所述可用地址是由来自所述位反相器的被反相位和来自所述操作装置的所述生成位形成的。
4.一种使用地址发生器产生可用地址的方法,所述可用地址是少于2k+n的完整地址,它们被分成2k个组,每组具有2n个位置地址,使用了具有(k+n)位二进制计数器的地址发生器,用于提供由指出2k个组中一个组的k位组成的一个组计数和由指出每组2n个地址中一个地址的n位组成的一个位置计数;位反相器,用于反相所述计数的所述k位;和操作装置,用于接收所述组计数和所述位置计数,确定一个籽数值,并使用等式:(初始籽数值)*(位置计数+1)modlo2n产生生成位,所述方法包括如下步骤:
在每个时钟脉冲处产生所述组计数;
在计数值达到2k个时钟脉冲后产生一个进位;
接收所述进位并在每个时钟脉冲处产生所述位置计数;和
如果所述组计数是表示不可用组的不可用组计数值中的一个,或者所述组计数是表示具有可用和不可用位置地址的组的部分不可用组计数值中的一个和所述位置计数是表示不可用位置地址的不可用位置计数值中的一个,则控制所述组计数和所述位置计数不被输出,
其中,所述可用地址是由来自所述位反相器被反相的位和来自所述操作装置的生成位形成的。
5.一种用于产生用于turbo交错器/解交错器存储器读/写地址的地址发生器,包括:
第一计数器,用于对根据预定交错器尺寸确定的表示交错块的多个组的一个组的第一序列计数,并用于输出每个时钟脉冲的第一计数;
第二计数器,用于对表示在每组中多个位置地址的一个位置地址的第二序列计数,并用于输出每个时钟脉冲的第二计数;
控制器,用于将所述交错器/解交错器的尺寸表示为二进制数;用于将所述二进制数的较高位设定为第一阈值,所述第一阈值对应于最后可用组;还用于将所述二进制数的剩余位设定为第二阈值,所述第二阈值对应于最后可用组内的第一不可用位置地址;用于当所述第一计数一旦被反相就大于所述第一阈值时,则控制所述第一计数器不输出第一计数;和用于当所述第二计数一旦经过LCS操作变换就大于或等于所述第二阈值以及第一计数一旦被反相就等于所述第一阈值时,则控制所述第二计数器不输出所述第二计数;
位反相器,用于反相所述第一计数和用于输出作为所述读/写地址较高位的经过反相的位;和
操作装置,用于对第一和第二计数执行LCS(线性同余顺序)操作,并用于输出作为所述读/写地址较低位的被操作的位。
6.根据权利要求5所述的地址发生器,其特征是如果第一计数的值一旦被反相将变成是大于所述第一阈值的值,那么,所述控制器控制所述第一计数器输出所述交错块中的下一组。
7.根据权利要求5所述的地址发生器,其特征是如果所述第一计数是所述第一阈值的反相值和所述第二计数一旦经过LCS操作变换就变成了大于或等于所述第二阈值的值,那么,所述控制器控制所述第二计数器输出下一个位置地址。
8.根据权利要求7所述的地址发生器,其特征是所述控制器通过第二计数与以相反方式在所述第一和第二阈值上执行所述LCS操作获得的计数值和大于所述第二阈值的位置地址进行比较以确定所述第二计数一旦经过LCS操作变换是否大于或等于所述第二阈值。
9.根据权利要求5所述的地址发生器,其特征是所述第一计数器对所述第一计数进行计数以表示交错块内32个组中的一个组。
10.在地址发生器中的一种地址发生方法,所述地址发生器产生用于turbo交错器/解交错器存储器的输出读/写地址,所述输出读/写地址由多个较高和较低位组成,所述较高位是一个位反相器的输出和所述较低位是一个执行LCS逆公式的操作装置的输出,所述方法包括如下步骤:
以二进制数表示一个预定的交错器尺寸;
将所述二进制数的多个较高位设定为第一阈值;
将所述第二进制数的其它位设定为第二阈值;
对表示交错块中多个地址组中的一个的第一计数进行计数,它是根据所述交错器尺寸确定的;
输出所述第一计数;
对表示每组中多个位置地址中的一个的第二计数进行计数;
输出所述第二计数;
如果所述第一计数一旦经过所述位反相器变换就大于所述第一阈值,则控制所述第一计数不被输出;
如果所述第一计数一旦经过所述位反相器变换就等于所述第一阈值,则将对所述第一和第二计数器执行LCS逆公式的结果与所述第二阈值比较;
如果对所述第一和第二计数执行LCS公式的结果等于所述第二阈值,则控制所述第二计数不被输出;
向所述位反相器和所述操作装置提供所述输出第一计数;和
向所述操作装置提供所述输出第二计数;和
产生一个输出读/写地址。
11.根据权利要求10所述的方法,还包括下述步骤:
如果所述第一计数是大于所述第一阈值的一个值的反相值,则控制所述第一计数指出所述交错块中的下一组。
12.根据权利要求10所述的方法,还包括如下步骤:
如果对所述第一和第二计数执行LCS逆公式的结果大于或等于所述第二阈值和所述第一计数一旦被反相就等于所述第一阈值,则控制所述第二计数指出下一个数据位位置。
CNB008004617A 1999-04-02 2000-04-03 Turbo交错器/解交错器中使用的地址发生器和地址发生方法 Expired - Fee Related CN1140966C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1999/12859 1999-04-02
KR10-1999-0012859A KR100480286B1 (ko) 1999-04-02 1999-04-02 터보 인터리빙 어드레스 발생 장치 및 방법

Publications (2)

Publication Number Publication Date
CN1297616A true CN1297616A (zh) 2001-05-30
CN1140966C CN1140966C (zh) 2004-03-03

Family

ID=19579577

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008004617A Expired - Fee Related CN1140966C (zh) 1999-04-02 2000-04-03 Turbo交错器/解交错器中使用的地址发生器和地址发生方法

Country Status (11)

Country Link
US (1) US6590951B1 (zh)
EP (1) EP1092270B1 (zh)
JP (1) JP3447270B2 (zh)
KR (1) KR100480286B1 (zh)
CN (1) CN1140966C (zh)
AU (1) AU746913B2 (zh)
BR (1) BR0005569A (zh)
CA (1) CA2332990C (zh)
DE (1) DE60015272T2 (zh)
RU (1) RU2186460C1 (zh)
WO (1) WO2000060751A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1930782B (zh) * 2004-03-10 2012-05-02 Lm爱立信电话有限公司 用于交织器存储器和去交织器存储器的地址生成器

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871303B2 (en) * 1998-12-04 2005-03-22 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
AU4207800A (en) * 1999-04-09 2000-11-14 Sony Electronics Inc. Interleavers and de-interleavers
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US6789218B1 (en) * 2000-01-03 2004-09-07 Icoding Technology, Inc. High spread highly randomized generatable interleavers
KR100510643B1 (ko) * 2000-11-01 2005-08-30 엘지전자 주식회사 이동통신 시스템에서의 인터리빙 방법
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 삼성전자주식회사 통신시스템의 인터리빙 장치 및 방법
KR20030069431A (ko) * 2002-02-20 2003-08-27 삼성전자주식회사 통신 시스템에 적용되는 모뎀 에이직의 터보 부호화 장치및 그 부호화 방법
JP3607683B2 (ja) * 2002-03-13 2005-01-05 株式会社東芝 ディスク記憶装置及びデータ記録再生方法
AU2002319335B2 (en) 2002-08-13 2008-12-04 Nokia Corporation Symbol interleaving
US6851039B2 (en) * 2002-09-30 2005-02-01 Lucent Technologies Inc. Method and apparatus for generating an interleaved address
CN1685621B (zh) * 2002-10-29 2010-07-07 三星电子株式会社 用于解交织通信设备中的交织数据流的方法和装置
DE10306302A1 (de) * 2003-02-14 2004-08-26 Infineon Technologies Ag Verfahren und Schaltung zur Adressgenerierung von Pseudo-Zufalls-Interleavern oder -Deinterleavern
US7386766B2 (en) * 2004-03-05 2008-06-10 Thomson Licensing Address generation apparatus for turbo interleaver and deinterleaver in W-CDMA systems
US7437650B2 (en) * 2005-04-12 2008-10-14 Agere Systems Inc. Pre-emptive interleaver address generator for turbo decoders
US8848913B2 (en) * 2007-10-04 2014-09-30 Qualcomm Incorporated Scrambling sequence generation in a communication system
US8787181B2 (en) * 2008-01-14 2014-07-22 Qualcomm Incorporated Resource allocation randomization
EP2101257A1 (en) * 2008-03-13 2009-09-16 Panasonic Corporation Configurable pseudo-random sequence generator
US8923249B2 (en) * 2008-03-26 2014-12-30 Qualcomm Incorporated Method and apparatus for scrambling sequence generation in a communication system
US8200733B1 (en) 2008-04-15 2012-06-12 Freescale Semiconductor, Inc. Device having interleaving capabilities and a method for applying an interleaving function
US8219782B2 (en) * 2008-09-18 2012-07-10 Xilinx, Inc. Address generation
KR20120082230A (ko) * 2011-01-13 2012-07-23 에스케이하이닉스 주식회사 랜덤 코드 발생회로를 포함하는 반도체 장치 및 반도체 시스템과, 데이터 프로그래밍 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675971B1 (fr) 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
JPH05300028A (ja) * 1992-04-22 1993-11-12 Fujitsu Ltd インターリーブアドレス発生回路
JP3415693B2 (ja) * 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
JP3249280B2 (ja) 1994-01-11 2002-01-21 富士通株式会社 インターリーブ回路
US5659580A (en) * 1994-11-29 1997-08-19 Lucent Technologies Inc. Data interleaver for use with mobile communication systems and having a contiguous counter and an address twister
JPH08335887A (ja) * 1995-06-08 1996-12-17 Fujitsu Ltd 複数インタリーブ・マトリクスのインタリーブアドレス生成回路
JPH09102748A (ja) * 1995-10-04 1997-04-15 Matsushita Electric Ind Co Ltd インターリーブ回路
KR100193846B1 (ko) * 1996-10-02 1999-06-15 윤종용 인터리브 리드 어드레스 생성기
US6434203B1 (en) * 1999-02-26 2002-08-13 Qualcomm, Incorporated Memory architecture for map decoder
US6353900B1 (en) * 1998-09-22 2002-03-05 Qualcomm Incorporated Coding system having state machine based interleaver
KR100350459B1 (ko) * 1998-12-26 2002-12-26 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1930782B (zh) * 2004-03-10 2012-05-02 Lm爱立信电话有限公司 用于交织器存储器和去交织器存储器的地址生成器

Also Published As

Publication number Publication date
CA2332990A1 (en) 2000-10-12
JP2002541711A (ja) 2002-12-03
EP1092270B1 (en) 2004-10-27
KR100480286B1 (ko) 2005-04-06
EP1092270A1 (en) 2001-04-18
CN1140966C (zh) 2004-03-03
DE60015272T2 (de) 2005-04-21
KR20000066035A (ko) 2000-11-15
AU746913B2 (en) 2002-05-02
AU3681700A (en) 2000-10-23
EP1092270A4 (en) 2003-06-11
RU2186460C1 (ru) 2002-07-27
RU2000130216A (ru) 2004-02-20
JP3447270B2 (ja) 2003-09-16
BR0005569A (pt) 2001-03-06
US6590951B1 (en) 2003-07-08
DE60015272D1 (de) 2004-12-02
WO2000060751A1 (en) 2000-10-12
CA2332990C (en) 2006-10-17

Similar Documents

Publication Publication Date Title
CN1140966C (zh) Turbo交错器/解交错器中使用的地址发生器和地址发生方法
CN1136660C (zh) 串行链接卷积码编码器及其中的交错器和交错方法
CN1138352C (zh) 通信系统的交织/解交织装置和方法
CN1202625C (zh) 利用线性同余序列的turbo码交织器
CN1136663C (zh) 用于通信系统的交织/解交织设备和方法
CN100345390C (zh) 用于通信系统的交织/解交织设备和方法
CN1615592A (zh) 通信系统的交织设备和方法
CN1366739A (zh) 被快速(Turbo)编码了的代码序列的译码方法及译码装置
CN1246987C (zh) 在资源约束条件下编码数据块尺寸最佳化的方法
CN1149218A (zh) 维特比解码方法和维特比解码装置
CN101079641A (zh) 二维交织设备及方法
CN1252936C (zh) 用于透平编码的块交织
KR20010113801A (ko) 터보 코드를 위한 행내 치환
CN1302624C (zh) 基于格子的信道编码所用的解码器
CN1140148C (zh) 在移动通信系统中执行特博解码的方法
CN1758543A (zh) 提高Turbo码译码速度的并行译码方法及译码装置
CN1780152A (zh) 迭代译码方法和系统
CN1328386A (zh) 并行滑动窗最大后验概率算法及其高速Turbo码译码器
CN1323102A (zh) 用于特博码的解码器及其解码方法
JP2007514347A (ja) Log−map復号用max*演算の線形近似
KR100519335B1 (ko) 채널 인터리빙 방법
CN1145267C (zh) 一种高效卷积编码方法
CN1756091A (zh) 一种Turbo码交织器及其交织方法
CN113258939A (zh) 一种基于MAP算法的卷积Turbo码译码器及译码方法
CN1691523A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040303

Termination date: 20190403

CF01 Termination of patent right due to non-payment of annual fee