CN1297617A - 用于通信系统的交织/解交织设备和方法 - Google Patents

用于通信系统的交织/解交织设备和方法 Download PDF

Info

Publication number
CN1297617A
CN1297617A CN00800467A CN00800467A CN1297617A CN 1297617 A CN1297617 A CN 1297617A CN 00800467 A CN00800467 A CN 00800467A CN 00800467 A CN00800467 A CN 00800467A CN 1297617 A CN1297617 A CN 1297617A
Authority
CN
China
Prior art keywords
address
maker
osv
selection
interleaver
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
CN00800467A
Other languages
English (en)
Other versions
CN1136663C (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.)
Huawei Technologies 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 CN1297617A publication Critical patent/CN1297617A/zh
Application granted granted Critical
Publication of CN1136663C publication Critical patent/CN1136663C/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
    • 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/276Interleaving address generation
    • H03M13/2764Circuits therefore

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种产生L个地址的设备,该L个地址的数目小于2m×Ng个虚拟地址,该设备用于从其中存储L个数据位的交织器存储器中读取数据,该设备包括:Ng个PN生成器,每个生成器都包括m个存储器;一地址生成器,用于将一偏移值附加到所述输入数据尺寸,以提供其尺寸为2m的倍数的虚拟地址,并利用尺寸为2m的地址生成区在该地址生成区中产生不对应于所述偏移值的地址;以及用于利用从所述地址生成区产生的地址从所述交织器存储器中读取所述输入数据的装置。

Description

用于通信系统的交织/解交织设备和方法
                               发明背景
1.发明领域
本发明一般涉及交织/解交织设备和方法,更具体讲涉及用于turbo编码器的交织/解交织设备和方法,该turbo编码器用在无线通信系统中,该无线通信系统比如为卫星、ISDN(Integrated Services digital Network,综合业务数字网)、数字蜂窝、W-CDMA(Wideband Code Division Multiple Access,宽带码分多址)、IMT-2000和W-ATM(Wideband Asynchronous Transfer Mode,宽带异步传输模式)通信系统。
2.相关技术的描述
turbo代码是一种能实现数字通信系统的可靠性的纠错码。现有的turbo编码器可分为串行turbo编码器和并行turbo编码器。并行turbo编码器使用两个简单的并行串接的代码来将L个信息位流的输入帧编码成为奇偶校验符号,其中递归系统卷积(recursive systematic convolutional,RSC)编码器通常用于分量编码器。此外,并行turbo编码器包括连接于分量编码器之间的一交织器。
在turbo编码器中,进行交织是为使从分量编码器输入的数据流以帧为单位随机化,并且提高代码字的间隔(distance)性能。更具体讲,希望turbo编码器将用在IMT-2000(或CDMA-2000)通信系统的补充信道(或业务信道)中,以及用在由ETSI(European Telecommunication Standards Institute,欧洲电信标准协会)推荐的UMTS(Universal Mobile Telecommunication System,通用移动电信系统)的数据信道中。这样,就需要一种采用交织器的方法,该交织器带有用于此目的的turbo编码器。
图1示出了通常的并行turbo编码器,该编码器详细公开在美国专利No.5,446,474中,该专利公开于1995年8月29日,并且在此将其引用为参考文献。
参照图1,该turbo编码器包括:第一分量编码器111,用于对输入帧数据进行编码;交织器112,用于对输入帧数据进行交织;和第二分量编码器113,用于对交织器112的输出进行编码。已知的编码器或NSC(Non-Recursivesystematic Convolutional,非递归系统卷积)编码器通常用作第一和第二分量编码器111和113。这种分量编码器具有相应于编码速率、约束长度K和生成器多项式的不同结构。此外,交织器112具有与输入信息位帧相同的尺寸,并且对提供给第二分量编码器的信息位帧的顺序进行重新排列,以减少信息位之间的相关性。
对于turbo编码器的内部交织器(或turbo交织器)112来说,提出了多种交织器,比如PN(Pseudo Noise,伪噪声)随机交织器、随机交织器、块交织器、非线性交织器、以及S随机交织器。然而,乞今为止,这种交织器仅仅是设计成用来改善它们在科学原理而不是实践方面的性能的算法。当实施实际系统时,必须考虑硬件实施的复杂性。下面将描述与用于turbo编码器的传统交织器有关的特性和问题。
turbo编码器的性能取决于内部交织器。通常来讲,输入帧尺寸(即包括在一帧中的信息位的数目)的增加要求turbo编码器性能的增强。然而,交织器尺寸的增加要求计算中几何性的增加。因此,一般来讲,将交织器用于很大的帧尺寸是不切实际的。
通常根据经验来讲,随机交织器在性能上优于块交织器。然而,随机交织器不利的地方在于,帧尺寸的变化会造成存储交织器指数(即映射规则或地址)所需的存储器容量的增加。也就是说,寻址所需的存储器容量大大增加了。因此,考虑到所需的硬件尺寸,最好采用地址仿真方法,通过使用指数产生规则在每个符号时钟产生一地址来读取存储在相应地址的数据,而不使用用于存储交织器指数的查找表方法。
总的来讲,当需要多种交织器尺寸并且硬件实施复杂性有限时,就象在IMT-2000或UTMS系统中那样,turbo交织器应当设计成通过考虑固有限制而保证最优交织器性能。也就是说,需要按照特定交织规则执行交织/解交织的交织器。此外,turbo交织器要求好的交织器性能(例如,间隔性能、加权性能和随机性能)。
IMT-2000或UMTS规范还没有给出提供给turbo交织器的任何定义。由IMT-2000规范定义的前向链路和反向链路具有多种类型的逻辑信道和多种交织器尺寸。因此,为了满足这种变化的需要,要求增加存储器容量。例如,在CDMA-2000前向链路发送模式中,交织器尺寸可从144位/帧变化到36864位/帧。
总的来说,现有技术具有下列缺点:
第一,对于传统的turbo编码器的内部交织器来讲,可使用PN随机交织器、随机交织器、块交织器、非线性交织器、及S随机交织器。然而,这些交织器仅仅是设计成提高它们在科学原理而不是实践方面的性能的算法。因此,当实施实际系统时,必须考虑这种交织器的硬件实施复杂性。然而,对此却没有具体规定。
第二,由于收发信机的控制器(CPU或主机)必须按照现有的交织方法中的各交织器尺寸,利用查找表来存储交织器规则,除了交织器缓冲器之外,主存储器还要求单独的容量。也就是说,当帧尺寸变化并且是尺寸增加时,要求用于存储交织器指数(即映射规则或地址)的增加的存储器容量。
第三,不容易实施在间隔性能和随机性能方面都能满足的交织器。
                        本发明总结
因此,本发明的一个目的是提供一种在通信系统中能够满足turbo编码器的间隔性能、加权性能和随机性能的交织/解交织设备和方法。
本发明的另一个目的是提供一种在通信系统中用于使用尺寸为2m×N的虚拟地址区执行交织的设备和方法,该尺寸为2m×N的虚拟地址区是通过给输入数据尺寸附加特定值而确定的。
本发明的再一个目的是提供一种防止产生由附加给输入数据帧以执行交织的特定值所造成的无效地址的交织设备和方法。
本发明的再一个目的是提供一种用于按照turbo编码器中内部交织器的地址区来确定PN序列生成器的最优初始值,该PN序列生成器产生随机地址分量。
为达到上述目的,提供了一种产生L个地址的设备,该L个地址的数目小于2m×Ng个虚拟地址,该设备用于从其中存储L个数据位的交织器存储器中读取数据。该设备包括一选择电路,该电路包括Ng个PN(伪噪声)生成器,每个生成器都包括m个存储器,其中,所述PN生成器中的一个生成器响应于第一时钟信号而产生(OSV-1)个满足OSV=2m×Ng-L的偏移值(OSV),并且产生(2m-OSV)个非零状态,而其它的PN生成器中的每一个都产生(2m-1)个非零状态,其中所述选择电路响应于一选择信号而按照预定次序周期性地选择所述PN生成器;用于从一个PN生成器中检测每个偏移状态、提供用于不选择所述一个PN生成器的所述选择信号以便不输出所检测的偏移状态、并且响应于具有比第一时钟信号更短的周期的第二时钟信号的时钟脉冲而产生与所述PN生成器中的每一个选择有关的高地址位的装置;用于产生低地址位的装置,该低地址位是通过当所述PN生成器的选择周期数目小于2m时从所述选择电路所输出的每个状态中减去1而确定的,并且当选择周期数目为2m时产生相应于2m-1的低地址位;以及用于存储所述地址的地址缓冲器,所述L个地址中的每一个都包含所述高地址位和所述低地址位。
                      附图的简要描述
通过下列参照附图对本发明的详细描述,本发明的上述和其它目的、特征和优点将变得更明显,附图中:
图1是说明传统的turbo编码器的框图;
图2是说明按照本发明一个实施例的通信系统中的交织设备的框图;
图3是说明按照本发明一个实施例的通信系统中的解交织设备的框图;
图4是说明当采用通过对输入数据尺寸附加偏移值而确定的虚拟地址区执行交织时,按照存在于已交织数据位之间的偏移值对数据位进行交织的图;
图5是说明在删除图4中的无效数据位之后所连接的输出数据位的图;
图6是说明具有的生成器多项式为(1+x+x6)的PN生成器的图;
图7是进一步说明按照本发明第一实施例的图2所示交织设备的框图;
图8是图7所示地址生成器的详细框图;
图9是说明按照本发明第一实施例的用于产生交织地址的程序流程图;
图10是说明按照本发明第二实施例的交织设备的框图;
图11是图10的交织设备的时序图;
图12是如何检测最后一个PN生成器中的偏移值的图;
图13是说明按照本发明第二实施例的用于产生交织地址的程序流程图;和
图14是说明按照本发明第二实施例的用于计算PN生成器的最优初始状态值(或种子(seed))的程序流程图。
              优选实施例的详细描述
下面将参照附图描述本发明的优选实施例。在下面的描述中,公知的功能或结构没有被详细描述,以免它们以不必要的细节影响本发明。
为设计具有相对于多种帧尺寸的最优性能的turbo编码器,必须考虑许多参数,比如用于turbo编码器的分量编码器的存储器量(即约束长度K)、多个生成器多项式以及最优编码速率。通过实际经验已知很难设计出具有最优性能的turbo编码器,因为没有验证这些参数(生成器多项式以及最优编码速率等)如何影响性能。
因此,通常来讲,交织器是通过确定满足几个给定标准的条件来实现的。这些标准为:
间隔性能:相邻代码字符号之间的间隔应当保持到一定程度。由于其具有与卷积代码的代码字间隔性能相同的功能,因而该交织器最好设计成尽可能具有较大间隔。
加权性能:相应于非零信息字的代码字的权重应当高于一阈值。由于其具有与卷积代码的最小间隔性能相同的功能,因而该交织器最好设计成尽可能具有较大的权重。
随机性能:在交织之后的输出字符号之间的相关因数应当低于交织之前原始输入字符号之间的相关因数。也就是说,应当全部实现输出字符号之间的随机化。这就直接影响到在连续解码过程中产生的外来信息的质量。
下文中将参照附图描述对本发明的说明。
本发明提出了一种满足turbo交织器的各个性能(包括间隔性能、加权性能和随机性能)的最优交织/解交织设备。
一般来讲,在turbo编码器中,随机交织器具有良好的性能,尤其是具有较大帧尺寸的随机交织器。因此,最好将交织器设计得使复杂性降低,同时又涵盖了随机交织器的性能。为此,本发明的一个优选实施例采用了一个用于产生PN序列的线性反馈移位寄存器(Linear feedback shift register,LFSR),并使用其产生的一随机数作为地址。然而,当采用这种方法时,应当考虑下面的问题。
第一,PN序列的周期为2m-1。
第二,以输入帧尺寸单元为基础处理T代码。然而,多数帧尺寸不能以2的幂项来表示。
为解决此问题,提出了一种用于turbo交织器的地址生成器,当要交织的帧数据的尺寸L不能表达为2的幂项时,该地址生成器将一最小值(下文中称为一偏移值(OSV))附加到帧尺寸L上,以使虚拟交织尺寸N=L+OSV变为2m的一倍数。这里,偏移值被附加到帧尺寸,以使当帧尺寸被转换为二进制值时,从最低有效位起(least significant bit,LSB)的连续‘0’位的数目至少为1。然后,计算分组数目Ng和值‘m’的组合,其满足Ng×2m的虚拟帧尺寸N。对于相应的组合,按照2m的区域生成PN地址,然后顺序或随机选择生成的PN地址,以对全部输入帧进行交织。这里,分组数目Ng和值‘m’是通过计算机仿真和搜索算法(下面将描述)来确定的,以最优满足交织器性能。
例如,下面将描述用于确定帧尺寸为376(=101111000)时的偏移值的方法。该帧尺寸被转换为二进制值101111000(=376),然后,将一偏移值附加到该帧尺寸,以使从LSB起的连续零(0)位的数目至少为1。这里,偏移值例如可以为8(=1000)。因此,虚拟交织器尺寸(或虚拟帧尺寸)为384。当为虚拟交织器尺寸产生交织地址时,对通过附加的偏移值而附加的每个地址产生附加的不必要的读取地址。这种不必要的地址称为“无效地址”。如果将偏移值附加到输入数据尺寸值,以使输入帧应表达为2的幂项,则虚拟交织尺寸变为512,并且偏移值变为136。尺寸为4600的输入帧的增加要求3592的偏移值达到214=8192,从而造成很难处理3592个无效地址。因此,附加适当的偏移值,使得虚拟交织尺寸应为2m×Ng。此外,必须适当地划分分组数目Ng。然而,分组数目的增加会造成代码字随机性能的恶化。此外,分组数目的显著减小会造成区域尺寸的增加,因而增加用于存储交织指数(即映射规则或地址)的存储器容量。因此,通过仿真确定了适当的值。
按照本发明的turbo交织器通过以偏移控制的PN交织改变输入信息位序列的顺序,并将顺序改变的信息位提供给第二分量编码器。因此,按照本发明的交织器包括用于存储输入信息位的一输入/输出数据缓冲器,以及以偏移控制的PN交织块(包括一部分反向交织器以及一比较器),该PN交织块将通过将偏移值附加到输入数据尺寸而确定的虚拟交织器尺寸划分为几个区,用于产生相应于各个区的随机地址,然后顺序或随机选择所产生的随机地址以产生交织的地址。此外,对于第一和第二分量编码器来说,turbo编码器不仅可使用传统的分量编码器,还可使用由CDMA-2000系统规定的分量编码器,以及由UMTS系统规定的分量编码器。此外,按照本发明的交织器不仅可应用于串行turbo编码器的一内部交织器,还可应用于一信道编码器。
这里所用的术语“区”是指当虚拟交织器尺寸被划分时的每个地址区,而术语“分组”是指通过由附加的偏移值产生的无效地址而划分的每个地址区。此外,按照本发明的交织器被称为以偏移控制的PN交织器(OCPNI)。
图2和图3分别示出了按照本发明的交织器和解交织器的结构。
参照图2,下面将描述用于对从第一分量编码器输出的帧数据进行交织的交织器。地址生成器211产生用于按照输入帧数据尺寸L和输入时钟重排数据位顺序的读取地址,并将所产生的地址提供给交织器存储器212。交织器存储器212在操作的写入模式中顺序存储输入数据,并在操作的读取模式中按照从地址生成器211中提供的地址读取数据。计数器213接收输入时钟,将写入地址提供给交织器存储器212。如上所述,交织器在操作的写入模式中将输入数据顺序存储在交织器存储器212中,并且在操作的读取模式中按照由地址生成器211产生的读取地址读取存储在交织器存储器212中的数据。或者,交织器可以在操作的写入模式中在重排数据位的顺序之后将输入数据存储在交织器存储器212中,并且在操作的读取模式中读取该数据。
参照图3,下面将描述按照本发明一个实施例的解交织器。地址生成器311产生用于按照输入帧数据尺寸L和输入时钟将输入数据的顺序恢复为原始状态的写入地址,并将所产生的写入地址提供给解交织器存储器312。解交织器存储器312在操作的写入模式中按照从地址生成器311提供的写入地址来存储输入数据,并在操作的读取模式中顺序读取所存储的数据。计数器313接收时钟,并向解交织器存储器312提供用于从解交织器存储器312读取数据的读取地址。如上所述,解交织器具有与交织器反向的操作,但具有与交织器相同的结构。它们之间仅有的区别为写入和读取模式中输入数据位的顺序。因此,下面将仅针对交织器进行描述。
下面将描述按照本发明第一实施例的交织设备。按照本发明第一实施例的交织设备按照下面的等式1中所示的算法来执行交织。
[等式1]
{N=L+OSV;
i=0;
/*Find N=2m×Ng */
for(ADDRESS_WRITE=0;ADDRESS_WRITE<=2m-2;ADDRESS_WRITE++)
  {for(g=0;g<=Ng-1;g++)
   {ADDRESS_READ[i]=[PNg(ADDRESS_WRITE)-1]+g*2m;
  if(ADDRESS_READ<=L-1){
  ADDRESS_READ[i]=ADDRESS_READ[i]-OFFSET(ADDRESS_READ[i],GTH);i++;
  }
  }
/*Overwrite ADDRESS_READ with the same address as ADDRESS_WRITE*/
ADDRESS_WRITE=(2m-1);
for(g=0;g<=Ng-1;g++)
{ADDRESS_READ[i]=ADDRESS_WRITE+g*2m-OFFSET(ADDRESS_WRITE,GTH);i++;
 }
}
/*OFFSET Generation Algorithm*/
function OFFSET(ADDRESS_READ,GTH){
if(ADDRESS_READ<GTH[0])OFFSET=0;
else if(GTH[0]<ADDRESS_READ<GTH[1])OFFSET=1;
else if(GTH[1]<ADDRESS_READ<GTH[2])OFFSET=2;
else if(GTH[2]<ADDRESS_READ<GTH[3])OFFSET=3;
else if(GTH[3]<ADDRESS_READ<GTH[4])OFFSET=4;
else if(GTH[4]<ADDRESS_READ<GTH[5])OFFSET=5;
else if(GTH[5]<ADDRESS_READ<GTH[6])OFFSET=6;
else if OFFSET=7;
}
在等式1中产生的读取地址(ADDRESS_READ)被分为Ng个相应的区,在每个相应区中读取地址的数目为2m,并且由相应于每个相应区的伪随机数生成器(PN生成器)生成的随机地址分量的数目为2m-1。
按照等式1产生的读取地址在一一对应关系的基础上与原始地址相映射,并且这样的交织器具有PN交织器的性能和间隔性能。这里,OFFSET(ADDRESS_READ,GTH)是用于确定读取地址属于哪个分组,并且以偏移值对该地址移位的函数。
当对交织器存储器的特定地址进行寻址以在不对该地址以偏移值移位的情况下读取数据时,读出的无效数据位的数目等于偏移值的数目。也就是说,如图4所示,除了相应于输入数据位[0,…,L-1]的读取地址之外,相应于偏移值[L,…,N-1]的8个无效读取地址存在于交织序列之间。在此情况下,由于N个数据位(其中N=OSV+1,OSV=8)被发送,必须删除存在于交织序列之间的地址并且连接各地址。下面将参照图5进行描述。
例如,当选择可以Ng×2m项表达新计算的虚拟交织器尺寸N的几种组合中的一种时,确定每个地址生成区的尺寸。由偏移值(OSV)产生的无效地址是基于在最后一个地址生成区中产生的PN生成器的一初始值确定的。无效地址的位置GTH(分组阈值)取决于如何产生全部地址。换言之,当利用相应于其相关的地址生成区的PN生成器产生一地址时,所述位置是基于如何(即顺序还是随机)选择每个PN生成器的初始值和在每个地址生成区中产生的地址来确定的。也就是说,当交织规则为已知时,能够了解通过附加的偏移值产生的无效地址的位置。
这就意味着能够顺序输出排除了相应于无效地址的无效数据位的交织的存储的数据位。更具体讲,按照交织规则有规律地确定存储的数据位中的相应于最后8个存储的数据位[L,…,N-1]的读取地址。因此,能够事先了解交织的无效数据位的位置。假定用于8个尾数据位的地址为D1,D2,D3,…,D8[即L,…,N-1],并且相应于每个地址Di(i=1,…,8)的交织地址为Tk=PRIB(Di),其中k=1,…,8。当然,对于D1<D2来说T1<T2不一定总成立,并且交织地址是以给定的顺序安排的。因此,为方便起见,假定被控制成以T1<T2<…<T8的顺序安排交织地址的指数被定义为‘j’,并且以此定义的地址被定义为Tj(j=1..8)。然后,以所述地址为基础将N个交织区划分为8个分组,并且每个Tj变为用于区分边界的阈值。这里,所述地址应当通过排除所述阈值来连接。例如,通过产生用于G0的读取地址0,用于G1的读取地址1,…,和用于G7的读取地址7,所有产生的地址的值都处在[0,…,L-1]之间。
用于实施等式1的算法的硬件结构示于图7中。更具体讲,图7示出了按照本发明一个实施例的用于读取通过交织顺序存储在交织器存储器112中的数据的地址生成器211的详细结构。
参照图7,随机地址生成器221利用多个PN生成器产生随机地址分量。比较器222将从随机地址生成器221输出的随机地址与事先由偏移值确定的阈值GTH(即用于对地址区分组的分组值)进行比较,以确定它们属于哪个分组,并输出一分组选择信号和随机地址。此外,比较器222将从随机地址生成器221输出的随机地址与由偏移值确定的分组阈值GTH进行比较,并且当它们中的任何一对相同时删除相应的随机地址。选择器223响应于选择信号而选择相应的分组值。减法器224从比较器222所输出的随机地址中减去从选择器123输出的特定分组值,并且产生用于读取从交织器存储器212读取数据的读取地址。
图8示出了图7的随机地址生成器221的详细结构。参照图8,PN生成器811-8N1产生PN序列,这些序列即为地址分量,用于改变存储在相关地址生成区中的数据位的顺序,并且将所产生的PN序列提供给第一多路复用器812。各个PN生成器811-8N1被初始化为不同的初始值。计数器816产生用于选择第一多路复用器812的输出的选择信号。如果地址区的数目为Ng,则计数器816产生选择信号0,…,Ng-1。该选择信号可被顺序产生或者随机产生。在随机产生情况下,按照通过一种算法确定的预定模式随机产生选择信号,下面将对该算法进行描述。多路复用器812按照从计数器816提供的选择信号选择PN生成器的输出。多路复用器812的输出数据在减法器818中被减去值1,并且被提供给第二多路复用器813。这是因为PN生成器不能产生地址值0。因此,所有产生的地址值都被减去1,以便映射从地址值0开始的随机地址。一个区域(或分组)计数器815产生相应于地址生成区尺寸的计数值,并将产生的计数值提供给比较器814。当从区域计数器815提供的计数值对应于一区域尺寸2m-1时,比较器814向第二多路复用器813输出一选择信号‘1’。当从区域计数器815输出的计数值小于或等于2m-2时,第二多路复用器813按照该选择信号选择第一多路复用器812的输出,并且当计数值达到2m-1时,选择从比较器814提供的2m-1。地址缓冲器817将计数器816的输出数据存储在高地址区中,并将第二多路复用器813的输出数据存储在低地址区中。存储在地址缓冲器817中的地址被提供给图7的比较器222。再次参照图7,比较器222此后确定这些地址属于哪个分组,并将分组选择信号提供给选择器223。选择器223按照该选择信号选择相应的分组值。减法器224从比较器222的地址输出中减去所选择分组值的偏移值,以将最终地址提供给交织器存储器212,并从交织器存储器212中读取相应于所读取地址的数据。
下面将参照图7和图8描述用于生成所读取地址的程序。PN生成器811-8N1通过为产生PN序列而计时(clocking)移位所存储的状态值来产生PN序列,并且第一多路复用器812按照从计数器816提供的选择信号来选择PN生成器811-8N1的状态。当按照选择信号选择了所有的PN生成器的状态时,PN生成器811-8N1通过计时移位所存储的状态而产生PN序列。从第一多路复用器812输出的PN序列被减去1并提供给第二多路复用器813。PN序列提供给地址缓冲器817的低地址区,直到在区域计数器815中所计的地址计数值小于地址生成区尺寸值2m-1。
然而,当地址计数值到达地址生成区尺寸值2m-1时,该值2m-1被提供给地址缓冲器817的低地址区。地址缓冲器817在高地址区存储从计数器816输出的指示相应于当前选择的PN生成器的地址生成区的值。存储在地址缓冲器817中的地址提供给比较器222,并且比较器222确定这些地址属于哪个分组,并将用于各分组值的选择信号提供给选择器223。所述各地址提供给减法器224。然后,选择器223按照选择信号选择相应分组值,并且减法器224从比较器222的地址值输出中减去所选择分组值的相应偏移值,以将读取地址提供给交织器存储器212。然而,当所述地址不属于任何分组时,即,当该地址相应于阈值时,比较器222删除该地址,认为该地址是无效地址。交织器存储器212按照所提供的读取地址输出存储在相应地址中的数据。
参照图9,下面将描述用于在地址生成器221中产生交织地址的程序。图9的程序基于等式1的算法。
参照图9,在步骤911中,地址生成器221(或通用CPU)计算用于交织的各个参数值。当输入帧尺寸L被转换为二进制值时,地址生成器221通过附加一适当值(即,偏移值)以使从LSB起的零位数目应当最少为1而确定虚拟地址尺寸N。此外,当虚拟地址尺寸N被表达为2的幂项(2m×Ng)时,该值m和Ng是通过后面将描述的一种算法来确定的。各参数是在设计过程中事先固定的,并且这些值存储在查找表中。在交织期间,从查找表中读出各相应值。
在步骤913中,地址生成器221将写入地址初始化为‘0’,并在步骤915中将分组指数‘g’初始化为‘0’。在初始化之后,在步骤917,地址生成器221按照下面的公式利用PN序列来计算随机地址。
ADDRESS_READ=(PNg(ADDRESS_WRITE)-1)+g*2m
其中,PNg(ADDRESS_WRITE)表示用于产生PN序列的函数,并且被减1以从0开始映射所产生的PN序列。此外,+g*2m用于将所产生的PN序列映射到相应区域。也就是说,当分组指数为g=0时,所产生的PN序列被映射到区域0,而当分组指数为g=1时,所产生的PN序列被映射到区域1。
在步骤919中,地址生成器221按照下面的公式利用所计算的PN地址来计算最终读取地址。
ADDRESS_READ=ADDRESS_READ-OFFSET(ADDRESS_READ,GTH)
上面的公式定义了通过确定所读取地址属于哪个分组并且从相应于所确定分组的所选择分组值中减去偏移值而计算出的地址。上述分组是通过分组值来区分的,例如由偏移值所产生的交织地址(=无效地址)。例如,当读取地址相应于分组1时,将读取地址减1,而当读取地址相应于分组2时,将读取地址减2。
之后,在步骤921,地址生成器221检查分组指数‘g’是否已达到读取数目Ng-1。当分组指数已达到Ng-1时,地址生成器221进到步骤923。否则,当分组指数还没有达到Ng-1时,地址生成器221进到步骤925,以将分组指数加1并返回步骤917。同时,当检测到分组指数已达到Ng-1时,地址生成器221在步骤923检查写入地址是否已达到值2m-2(可通过一个PN生成器产生的地址数目)。这里,写入地址相应于区域计数器。当写入地址已达到值2m-2时,地址生成器221进到步骤929。否则,当写入地址还没有达到值2m-2时,地址生成器221进到步骤927以将写入地址加1并返回步骤915。
在步骤929,地址生成器221利用下面的公式将写入地址映射为读取地址,并结束程序。
ADDRESS_WRITE=2m-1;
ADDRESS_READ=ADDRESS_WRITE+g*2m-OFFSET(ADDRESS_WRITE)
也就是说,这就意味着将最后一个写入地址用于读取地址。也就是说,由于每个地址生成器最大只产生2m-1个地址,因而将最后一个写入地址用于读取地址。
下面的表1和表2说明了当本发明的交织方法应用于IMT-2000系统时,用于每个速率集的各OCPNI设计参数。
[表1]
速率集1 @19.2kbps @38.4kbps @76.8kbps @153.6kbps @307.2kbps
    交织器尺寸L     376     760     1528     3064     6136
    OSV     8     8     8     8     8
 N=L+OSV     384     768     1536     3072     6144
    M     6     7     8     9     10
    Ng     6     6     6     6     6
初始参数     101011     1010110     10101101     101011010     1010110101
    010100     0101001     01010010     010100101     0101001010
    111011     1110110     11101101     111011010     1110110101
    101111     1011111     10111110     101111101     1011111010
    011101     0111010     01110101     011101010     0111010101
    011010     0110101     01101010     011010101     0110101010
    GTH{t0,t1,t2,t3,t4,t5,t6,t7}     {23,41,65,107,119,131,269,383}     {47,77,101,335,401,425,641,767}     {491,599,737,755,1187,1211,1265,1535}    {659,1373,2027,2447,2531,2825,2861,3071}    {881,2159,2429,2807,4307,4559,4931,6143}
PN生成器多项式p(x)   [1100001]   [10010001]   [101110001]   [1000100001]   [10010000001]
[表2]
速率集2 @28.8kbps @57.6kbps @115.2kbps @230.4kbps @460.8kbps
    交织器尺寸L     568     1144     2296     4600     9208
    OSV     8     8     8     8     8
 N=L+OSV     576     1152     2304     4608     9216
    M     6     7     8     9     10
    Ng     9     9     9     9     9
初始参数     101011     1010110     10101101     101011010     1010110101
    010100     0101001     01010010     010100101     0101001010
    101010     1010100     10101001     101010010     1010100101
    011011     0110111     01101110     011011101     0110111010
    001011     0010110     00101101     001011010     0010110101
    111100     1111001     11110010     111100101     1111001010
    110111     1101110     11011101     110111010     1101110101
    100011     1000111     10001110     100011101     1000111010
    110000     1100000     11000001     110000010     1100000101
 GTH{t0,t1,t2,t3,t4,t5,t6,t7)     {107,305,332,368,431,449,467,575}     {179,224,395,611,710,746,1070,1151}     {485,647,854,881,1529,1565,1646,2303}     {197,323,764,818,2144,3185,4166,4607}     {2006,2384,2942,6074,7991,8396,8963,9215}
PN生成器多项式p(x)   [1100001]   [10010001]   [101110001]   [1000100001]   [10010000001]
在表1和2中,p(x)是在伽罗瓦域(Galois field)GF(2)中确定的PN生成器的正多项式,其中最左边的位表示p(x)的第0阶系数,而最右边的位表示最高阶的系数。也就是说,p(x)=[1100001]表示p(x)=1+x+x6。相应于生成器多项式p(x)=1+x+x6的PN生成器示于图6中。
通常,在初始化过程中,相应于各个区的初始种子装入在m个移位寄存器单元中。之后,各寄存器值在每个时钟都通过所连的线路更新,并在更新之后,通过存储在寄存器中的各值(0/1)的组合产生6位地址。也就是说,当最低阶内容为p[1]而最高阶内容为p[m]时,PNg(ADDRESS_WRITE)指示当通过写入地址ADDRESS_WRITE在初始时刻进行计时时,通过将移位寄存器的二进制值(p[1]p[2]…p[m-1]p[m])转换为十进制值(=p[1]2m-1+…+p[m]20)而获得的地址。此外,从PN生成器产生的地址的周期为2m-1。此外,由于初始种子不为零,所有产生的地址值范围都在{1≤k≤2m-1}内。因此,[PNg(ADDRESS_WRITE)-1]的值在{1≤k≤2m-2}的范围中。在此情况下,由于由地址生成器产生的地址的数目2m-1比所要求地址的数目2m小1,因而每个区中的最后一个地址被重写并在之后用作读取地址ADDRESS_READ。在等式(1)中,这种关系式表达如下:
ADDRESS_WRITE=ADDRESS_WRITE+g*2m-OFFSET(ADDRESS_WRITE)
下面的表3说明了用于一种交织器的OCPNI读取地址,这种交织器的尺寸为L=376并且是基于表1产生的。
表3
      36 73 230 317 332 33 68 165 226 286 373 16 113 146 224 318 346 55 88184 223 302 27 123 171 207 294 365 13 149 199 290 342 6 78 138 195 28850 118 180 193 287 364 40 106 169 192 271 357 35 100 148 239 262 338 17 97185 215 259 8 80 156 203 257 363 51 119 189 197 256 341 25 91 158 194 303330 12 77 190 240 279 372 53 70 174 231 267 361 26 114 166 211 261 349 60104 162 201 258 45 99 160 196 304 348 22 81 159 241 295 58 72 143 216 275350 44 115 135 251 265 37 89 131 221 260 366 18 76 129 206 305 358 56 117128 246 280 354 43 90 175 234 315 352 21 124 151 228 285 351 10 109 139 225270 335 52 86 133 208 310 327 41 122 130 247 298 323 20 108 176 219 292 32157 101 167 205 289 320 28 82 147 198 272 367 61 120 137 243 311 343 30 107132 232 283 331 62 85 177 227 269 325 46 74 152 209 262 322 38 116 187 200306 368 34 105 157 243 296 359 32 84 142 217 291 339 31 121 182 204 272 32915 92 170 245 264 324 7 125 164 218 307 369 3 94 161 252 281 344 1 126144 237 268 1 110 183 214 309 349 47 102 155 250 282 334 23 98 141 236 316374 11 96 134 229 301 262 5 95 178 210 278 356 2 79 168 248 314 353 4871 163 235 300 336 39 67 145 213 293 375 19 65 136 202 274 347 9 64 179244 312 333 4 111 153 233 299 326 49 87 140 212 277 370 24 75 181 249 266
360 59 69 154 220 308 335 29 66 188 253 297 337 14 112 173 222 276 328 54103 150 254 313 371 42 83 186 238 284 345 63 127 191 225 319
如上所述,在按照本发明第一实施例的OCPNI中,PN生成器的初始多项式或者说初始种子是通过下面描述的一种算法来确定的,在第一实施例中,由偏移值产生的无效地址GTH被比较器222删除。然而,在另一个实施例中,由于相应于最后一个区的PN生成器8N1产生由偏移值造成的无效地址(低地址GTH),存在着从根本上避免产生这种无效地址的方法。在此情况下,比较器222的删除功能是不必要的。
接下来,将详细描述按照本发明第二实施例的一种用于从根本上避免产生无效地址的交织设备。
OCPNI的主要思想是通过将偏移值OSV附加到交织器尺寸L来确定新的帧尺寸N,然后将虚拟交织器尺寸N划分为Ng个区域,以利用PN生成器改变每个分组单元的序列。PN生成器产生2m个地址分量。由于最后一个PN生成器(g=Ng-1)产生由OSV造成的无效地址,必须删除此无效地址,以使由OCPNI地址生成块所产生的总地址数应当为L。因此,本发明实现了一种监视从最后一个PN生成器(g=Ng-1,在图9的步骤923中指出)产生的地址的控制逻辑,以便当地址是由附加的偏移值所造成的无效地址时跳过对该PN生成器的选择。
首先,如果假定交织器尺寸L=60,偏移值OSV=4,虚拟交织器尺寸N=64,生成器多项式的阶数m=4并且分组数目Ng=4,那么PN生成器的数目为4,并且它们中的每一个的周期为15。此外,还假定由最后一个PN生成器产生的PN序列由下面的表4所示给出。
[表4]
 时间k:  0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15
 PN3(k):  5  1  13  2  7  15  14  3  6  4  8  12  9  11  10
 PN3(k):-1  4  0  12  1  6  14  13  2  5  3  7  11  8  10  9
如表4所示,从最后一个PN生成器(g=Ng-1)产生的状态值PN3(k)变为用于对存储在交织器存储器中的相应于最后一个分组的帧数据进行交织的读取地址。因此,对于OSV=4和m=4来说,最后一个分组的第12、13、14和15个地址为无效地址。因此,在此情况下,跳过从最后一个PN生成器产生的无效地址而到达第一个PN生成器。这里,当从第0个PN生成器开始顺序选择PN生成器时,通过从由最后一个PN生成器产生的地址中减去‘1’而确定的值被用作读取地址的低地址。因此,当最后一个PN生成器产生第13、14和15个地址中的一个地址时,选择第0个PN生成器而不是最后一个生成器。此外,最后一个PN生成器不能产生的相应于15(PN3(k)-1)的无效地址被避免产生,这种避免是通过封锁时钟信号或者即使产生了无效地址也将其忽略来完成的。同时,当随机选择PN生成器时,在一帧的最后一个地址可以不选择最后一个PN生成器。在此情况下,不使用最后一个地址(2m-1),跳到下一个PN生成器。
考虑到上面的描述,按照本发明第二实施例的OCPNI交织地址产生算法将表达为下面的等式2所示。
[等式2]
/*OCPNI-2 Program*/
/*N:frame length(=L+OSV)GL:group length 2mNg:group number*/For(clk=0;clk<N-Ng;clk++)
{g=clk%Ng;
READ_ADDRESS=PNg()-1+g*GL;
aetive=(READ_ADDRESS<1)?ON:OFF;
if(active=ON){printf(%d\n,READ_ADDRESS);}
}
for(g=1;g<Ng;g++)
{READ_ADDRESS=GL*g-1;
printf(%d\n,READ_ADDRESS);
}
等式2的算法可利用图l0的硬件来实现。参照图10,PN生成器11-14产生PN序列,用于改变存储在相关地址生成区中的数据位的顺序,并将所产生的PN序列提供给第一多路复用器16。各个PN生成器被初始化为通过下面描述的一种算法确定的最优状态值。这在后面将参照一种用于确定各PN生成器的初始种子的方法来详细描述。计数器19产生用于选择第一多路复用器16的输出的选择信号。如果地址区的数目为Ng,则计数器19产生选择信号0,…,Ng-1。所述选择信号可以顺序或者随机产生。在随机产生情况下,选择信号是按照通过一种算法确定的预定模式随机产生的。多路复用器16按照从计数器19提供的选择信号选择各PN生成器的输出。在减法器23中将多路复用器16的输出数据减1,并提供给第二多路复用器15。这是因为各PN生成器不能产生地址值0。因此,所有产生的值都减1以便从地址值0开始映射随机地址。区域(或分组)计数器24产生相应于地址生成区尺寸的计数值,并将所产生的计数值提供给比较器17。当从区域计数器24提供的计数值相应于区域尺寸2m-1时,比较器17将选择信号‘1’输出到第二多路复用器15。当从区域计数器24输出的计数值小于或等于区域尺寸2m-2时,第二多路复用器15按照选择信号选择第一多路复用器16的输出,并且,当所述计数值达到区域尺寸值2m-1时,选择从比较器17提供的区域尺寸值2m-1。地址缓冲器22将计数器19的输出数据存储在高地址区,并将第二多路复用器15的输出数据存储在低地址区。存储在地址缓冲器22中的地址用作用于从交织器存储器中读取数据的地址。
OSV检测器18接收最后一个PN生成器14的状态以及计数器19的计数信号,并且当其确定按照该计数信号下一个将选择的PN生成器为最后一个PN生成器14并且该PN生成器14的状态值是由附加的偏移值造成的无效状态值(下文中将称为偏移状态值)时,将复位信号Load_Zero提供给计数器19。然后,计数器19产生用于跳过最后一个PN生成器14并选择下一个生成器的选择信号。如果计数器19被设计为顺序选择PN生成器,则计数器19将产生用于选择第一PN生成器的选择信号。或者,如果计数器19被设计为随机选择PN生成器,则计数器19将产生用于按照预定模式选择下一个PN生成器的选择信号。此时,OSV检测器18确定由最后一个PN生成器的“与或(AND-OR)”连接所存储的当前状态值是否为由附加偏移值引起的偏移状态值,以输出复位信号Load_Zero。这里,最后一个PN生成器的“与或”连接是按照移位寄存器单元数目m和偏移值OSV来确定的。
当OSV为常数时,最后一个PN生成器的“与或”连接具有一种固定规则,因而其实现起来非常简单。例如,对于m=4和OSV=4来说,“与或”连接的实现如图12所示。参照图12,低位两个寄存器单元经过“或”运算,而高位两个寄存器单元经过“与”运算。也就是说,提供的与或连接用于跳过最后一个PN生成器中相应于第13、14和15个PN序列的(OSV-1)个PN地址,因为对于m=4来说,PN生成器产生1-15的PN序列,并且偏移值为OSV=4。此外,复位信号Load_Zero是由与门输出、或门输出以及计数器19的反相输出信号的与逻辑产生的。当PN生成器被随机选择时,在一帧的最后一个地址处不能选择最后一个PN生成器,强迫跳过最后一个值2m-1。
第一逻辑运算器20接收符号时钟SYM_CLK和从计数器19输出的计数值,并且当计数值为逻辑‘0’而符号时钟在上升沿时,产生用于更新所有PN生成器11-14的状态值的时钟。第二逻辑运算器21接收符号时钟和从计数器19输出的计数值,并且当计数值为逻辑‘0’而符号时钟在下降沿时,向区域计数器24提供用于下一次计数的时钟。
下面将参照图10描述用于产生读取地址的程序。PN生成器11-14通过在从第一逻辑运算器20提供的用于产生PN序列的每一个时钟对所存储的寄存器单元值进行移位来产生PN序列,并且第一多路复用器16按照从计数器19提供的选择信号选择PN生成器的状态。从第一多路复用器16输出的PN序列在减法器23中减1并提供给第二多路复用器15。PN序列提供给地址缓冲器22的低地址区,直到区域计数器24的地址区域计数信号低于地址生成区尺寸2m-1为止。然而,当地址计数信号到达地址生成区尺寸2m-1时,该值2m-1被提供给地址地址缓冲器22的低地址区。地址缓冲器22在高地址区存储从计数器19输出的计数值。存储在地址缓冲器22中的地址用作用于读取存储在存储器中的数据的地址。OSV检测器18接收最后一个PN生成器14的状态以及计数器19的计数值,检测来自最后一个PN生成器14的偏移状态值,并且当该计数值表示相应于预定次序的最后一个PN生成器14的前一个PN生成器13时,向计数器19提供复位信号Load_Zero。然后,计数器19跳过对最后一个PN生成器14的选择,以使第一多路复用器16不应输出所检测的偏移状态,并向第一多路复用器16提供用于选择PN生成器11的选择信号。同时,计数器19的计数值(等同于选择信号)提供给第一和第二逻辑运算器20和21。第一逻辑运算器20接收该计数值和符号时钟,并且当该计数值为‘0’而符号时钟处于上升沿时向各PN生成器提供该时钟。然后,PN生成器按照该符号时钟来更新状态。第二逻辑运算器21接收该计数值和符号时钟,并且当该计数信号为‘0’而符号时钟处于下降沿时向区域计数器24提供该时钟。区域计数器24响应于该时钟而向比较器17提供计数值。这里,区域计数器24对各PN生成器的选择周期进行计数。此外,比较器17将从区域计数器24提供的计数值与预定值2m-1进行比较,并且当计数值为2m-1时向第二多路复用器15输出选择信号,以将值2m-1提供给地址缓冲器22的低地址区。也就是说,当PN生成器的选择周期数目小于2m时,第二多路复用器15将减去1的PN序列提供给地址缓冲器22的低地址区。然而,当PN生成器的选择周期的数目为2m时,第二多路复用器15将值2m提供给低地址区。
如上所述,第二实施例完成一种简单逻辑,该简单逻辑能够跳过对最后一个PN生成器14的偏移状态的选择,以避免产生由附加偏移造成的无效地址。因此,第二实施例不需要用于删除第一实施例中产生的无效地址的逻辑电路(比较器222和选择器223以及运算器224)。
图11示出了解释用于产生读取地址的程序的时序图。这里,假定交织器尺寸L=60,偏移值OSV=4,虚拟交织器尺寸N=64,生成器多项式的阶数m=4并且分组数目Ng=4。
参照图11,SYM_CLK表示符号时钟,并且SEL_MUX表示用于选择PN生成器的选择信号。此外,PN[0]表示第一PN生成器的寄存器值,PN[1]表示第二PN生成器的寄存器值,PN[2]表示第三PN生成器的寄存器值,并且PN[3]表示最后一个PN生成器的寄存器值。Load_Zero表示用于复位选择信号SEL_MUX的一信号,以便当SEL_MUX为2并且PN[3]为由偏移引起的无效值时跳过对最后一个PN生成器PN[3]的选择。此外,向上计数器表示区域计数器,并且Address_Read表示读取地址。此外,第一时钟表示用于更新PN生成器的状态值的时钟,而第二时钟表示从区域计数器24提供的用于对PN生成器的选择周期数目进行计数的一时钟。
如图所示,当Load_Zero被使能时,SEL_MUX被复位,响应于此,第一和第二时钟信号被使能。因此,尽管PN生成器没有被全部选择,按照第一时钟而更新PN生成器的状态,并且按照第二时钟使能Up_Counter。也就是说,通过跳过最后一个PN生成器并使用第一PN生成器的寄存器值来产生读取地址。结果,最终产生的读取地址为0+a,16+b,32+c,48+d,0+e,16+f,32+g,(h被跳过),0+i,16+j,32+k,…。并且,在向上计数器的最终状态为2m-1的情况下(本例中为15),读取地址为0+15,16+15和32+15,而不管PN(0)~PN(3)的状态如何。
参照图13,下面将详细描述按照本发明第二实施例的用于产生读取地址的程序。
在步骤1301,通过将一偏移值OSV附加给输入帧尺寸L而确定虚拟地址区N。然后,在步骤1303,虚拟地址区被划分为多个(Ng个)地址生成区。之后,在步骤1305,按照各对应的地址生成区而利用PN生成器产生随机地址。在步骤1307,在各对应的地址生成区中产生的随机地址被随机选择。或者,可以顺序选择在各相应的地址生成区中产生的随机地址。在此过程中,OSV检测器18检查由相应于最后一个区的PN生成器产生的随机序列是否为由附加偏移值引起的无效地址。如果确定所产生的随机序列为无效值,则程序进到步骤1311,其中不选择(或跳过)在最后一个区中产生的随机地址。否则,当产生的随机地址不是无效值时,程序进到步骤1313,以检查当前区域计数值是否相应于2m-1(其中m表示PN生成器的状态数目)。当区域计数值不相应于2m-1时,在步骤1315,按照公式READ_ADDRESS=PNg()-1+(g*GL)来产生读取地址。然而,当区域计数值相应于2m-1时,程序进到步骤1317,按照公式READ_ADDRESS=GL*g+(2m-1)来产生读取地址。
如上所述,按照本发明第二实施例的OCPNI的贡献在于减小了复杂性。因此,相应于CDMA-2000前向附加信道的速率的参数仅要求PN生成器多项式、初始寄存器值和OSV。当由等式1来实现该实施例时,不要求分组阈值GTH。
接下来,将参照在设计相应于本发明第二实施例的OCPNI时应基本确定的各参数。这些基本参数包括相应于给定交织器深度的分组的数目Ng以及PN生成器多项式的阶数m。在早期设计过程中,很难确定用于CDMA-2000系统的帧尺寸的最优Ng和m。因此,通过下面描述的一种算法来确定各个值。确定的各参数示于表1和2中。例如,在CDMA-2000系统的速率集1中,对于所有的帧尺寸都是Ng=6,在此基础上再确定值‘m’。这是为避免当Ng过高时每个分组中随机特性的下降。也就是说,当对于N=384=6×26来说Ng=6时,m=6。因此,数据是以每个分组为26=64个地址随机读取的。此外,2维交织器OCPNI可在一定程度上满足间隔性能。
然而,在第一实施例中,帧尺寸FL的降低会引起Eb/No的增加,因而削弱(blunting)了BER/FER的增加,因此其倾斜度低于K=9的卷积编码器的BER/FER曲线的倾斜度。也就是说,当Eb/No固定地增加时,可以预测到turbo编码器的运行比传统的编码器差。这种现象与turbo编码器的权重谱相关。因此,在第二实施例中,所有三个参数都被考虑用来优化OCPNI。
如上所述,OCPNI的参数为Ng和m。此外,生成器多项式用于操作相应组中的PN生成器,而对这些PN生成器的选择则是另一个参数。最后,至于说与每个PN生成器的初始状态相关的参数,存在着多种组合。因此,很难利用全搜索来检测最优初始状态值。
结果,为提高最小权重和综合权重谱,(1)确定Ng,(2)选择一生成器多项式,和(3)当最小权重不令人满意时,控制属于相应于最小权重的一分组的PN生成器的初始状态值。总之,能够通过重复数次执行上述方法来获得具有更好性能的turbo交织器。这是因为太多的参数组合造成了计算机搜索的低效率。首先,将定义各个功能和参数,然后利用下面的等式3的算法来搜索最优交织器。
W:权重分配矢量
D(.):确定标准功能
D(W)=1如果W令人满意
D(W)=0如果W不令人满意
[等式3]
1.利用初始种子矢量Seedi来初始化PN生成器PNi,其中Seedi∈{0,1},并且i=0,…Ng-1。
选择阶数M的随机初级多项式G(x)
选择期望产生最小权重码的信息序列I
2.对于给定的turbo编码器E,计算机W
3.如果D(W)=1,转到6
4.找出与W的最小权重相关的PN生成器PNk
5.改变Seedk以使权重weight(seedk,Seedi)=1并且转到2
6.停止
在等式3的算法中,为减小搜索时间,首先在给定状态选择最优的G(x),然后使用该算法。通常,在重复搜索三或四次之后,能够找出满足给定条件的交织器。当然,尽管最优的G(x)也取决于初始状态(或种子),也是最好首先选择G(x),因为生成器多项式的数目大大低于状态类型。因此,G(x)的选择被认为是交织器的粗略估计过程。这样一种设计的OCPNI具有更好的加权性能,因而所述方法的执行还在于经验和直觉。总之,这样保证了更好的BER/FER性能。
下面将描述用于优化初始寄存器值的方法。
例如,假定对4个PN生成器优化初始状态值。由于m=5并且Ng=4,状态值被初始化为如下所示:
分组0:01010
分组1:10101
分组2:00110
分组3:11001
假定图5的权重分配是通过计算OCPNI turbo交织器的生成权重来产生的。
[表5]
    权重     22     32     33     62     -62     62     63
    地址     44     92     8     76     111     124     56
    分组     1     2     0     2     3     3     1
在此情况下,当前要求的最小间隔约为60,应当改变相应于权重为22、32和33的分组的PN生成器的初始状态值。也就是说,应当改变相应于分组1、2和0的PN生成器的初始状态值。总之,由于相应的PN生成器不影响相应于另一个分组的权重,因而能够通过改变相应初始状态值来消除权重低于60的情况。
在此情况下,假定分组1的初始状态值的控制如下,以获得表6的权重分配:
分组0:01010
分组1:10111
分组2:00110
分组3:11001
[表6]
    权重     32     33     62     62     62     63
    地址     92     8     76     111     124     56
    分组     2     0     2     3     3     1
在此情况下,由于最小间隔为32,因而控制相应于最小间隔32的分组2的初始状态值。能够通过重复此过程来获得OCPNI turbo交织器。所获得的权重分配如下面的表7所示。
[表7]
    权重     62     62     62     63
    地址     76     111     124     56
    分组     2     3     3     1
图14示出了用于优化各PN生成器的初始状态值的程序。
参照图14,在步骤1401,利用随机状态值来初始化每个区的PN生成器,确定每个PN生成器的生成器多项式,然后选择用于确定最小权重的预定输入字。之后,在步骤1403启动OCPNI交织器,并且,在步骤1405,确定从turbo编码器输出的汉明(Hamming)权重。在步骤1407中,计算权重分配,然后确定最小权重。在步骤1409确定所确定的最小权重是否满足一阈值。当最小权重满足阈值时,程序进到步骤1411,以确定是否已对所有的预定输入字执行了搜索。当对所有的预定输入字都完成了搜索时,程序结束。否则,当没有对所有的预定输入字完成搜索时,程序返回步骤1401,以选择用于确定最小权重的另一种情况的预定输入字,然后重复后续步骤。同时,当在步骤1409中最小权重不满足阈值时,在步骤1413搜索具有最小权重的区域,并且改变相应于该区域的PN生成器的初始状态值。之后,程序返回步骤1403,以重复后续步骤。这里,“预定输入字”指用于m位PN生成器的包含2m-1位的移位信息流。
下面的表8和9示出了按照本发明第二实施例的OCPNI的各参数。
[表8]
速率集1 @19.2kbps @38.4kbps @76.8kbps @153.6kbps @307.2kbps
交织器尺寸L 376 760 1528 3064 6136
OSV 8 8 8 8 8
 N=L+OSV     384     768     1536     3072     6144
    M     6     7     8     9     10
    Ng     12     12     12     12     12
初始参数     11101     111000     1100101     01010111     100100110
    00101     001010     1111010     01101001     101011010
    11001     110000     1110101     01110111     11100110
    11100     111010     1100001     01011111     110110110
    00111     100111     1011011     00101011     101011110
    10001     001101     1010100     00110100     111100000
    10101     000101     1000100     00010101     100100010
    11000     110010     1110001     01111111     111110110
    00100     001000     1011110     01100001     111001010
    00001     000010     1001010     00001001     110011010
    11010     001011     1011000     00101101     111010110
    01100     110101     1111111     01100011     100001110
 PN生成器多项式p(x) [110111] [1011011] [10011101] [101100011] [1000010001]
用于第Ng-1个PN生成器的[AND]-[OR]条件 [11]-[111] [111]-[111] [1111]-[111] [111111]-[111] [111111]-[111]
在表8中,[AND]-[OR](与或)的[111]-[111]意味着相应位置的PN生成器单元PN[5∶3]经过“与”运算,而PN[2∶0]经过“或”运算。
[表9]
速率集2 @28.8kbps @56.7kbps @115.2kbps @230.4kbps @460.8kbps
交织器尺寸L 568 1144 2296 4600 9208
OSV 8 8 8 8 8
V=L+OSV 576 1152 2304 4608 9216
    M     6     7     8     9     10
    Ng     18     18     18     18     18
初始参数     01100     100110     0101011    11110101     001101101
    01001     011010     1110001     00111001     101100100
    11111     000101     0001010     01010100     000001001
    11111     101110     1010110     01000111     101011000
    11111     111010     0101011     11010101     010001101
    11100     001110     1101101     00111001     101100100
    11100     100000     0001111     11001101     000011101
    10000     010001     1010110     01000111     100111000
    01110     011100     0101000     10010011     011000001
    11111     000101     0111011     11010011     001001101
    11100     010011     0001111     00000111     100001110
    11001     010001     0001010     10100111     001011001
    10010     000111     1111000     00101111     1100001000
    11111     011101     1111110     10101001     001101101
    01110     011101     1110001     00111001     110000110
    11001     010001     0001111     00101110     000011101
    11111     010001     1010110     01100101     110001000
    01100     001110     0000100     11010011     100111111
 PN生成器多项式p(x) [111011] [1100111] [11001011] [111100111] [110110110]
用于第Ng-1个PN生成器的[AND]-[OR]条件 [11]-[111] [111]-[111] [1111]-[111] [11111]-[111] [111111]-[111]
例如,当表8的交织器尺寸L=376时,确定的OCPNI的读取地址如下面的表10所示。
[表10]
 28 36 88 123 134 176 212 247 259 288 345 363 24 52 90 109 147 190 220 235 257310 332 357 26 60 89 102 137 183 216 229 256 315 336 354 25 56 76 115 132 171 218226 278 301 350 373 12 58 80 105 148 165 217 245 283 294 343 362 16 57 94 100 156162 204 234 269 307 331 369 30 33 87 116 152 181 208 241 262 297 325 360 23 48 75124 154 170 222 232 275 292 322 370 11 62 69 120 153 177 215 242 265 308 341 5 5566 122 140 168 203 253 260 316 330 366 2 43 85 121 144 178 197 238 276 312 337367 21 37 74 108 258 189 194 239 284 314 328 359 10 34 81 112 151 174 213 231 280313 338 355 17 53 72 126 139 175 202 227 282 300 349 353 8 42 82 119 133 167 209225 281 304 334 352 18 49 93 107 130 163 200 224 268 318 335 374 29 40 78 101 149161 210 246 272 311 327 14 50 79 98 138 160 221 251 286 299 323 365 15 61 71 117145 182 206 237 279 293 321 358 7 46 67 106 136 187 207 230 267 290 320 371 3 4765 113 146 173 199 243 261 309 342 361 1 39 64 104 157 166 195 233 258 298 347356 0 35 86 114 142 179 193 228 277 305 333 372 22 91 125 143 169 192 244 266 296326 27 32 77 110 135 164 214 252 273 306 339 13 54 70 111 131 180 219 248 264 317329 6 59 83 103 129 188 205 250 274 302 324 19 45 73 99 128 184 198 249 285 303340 364 9 38 68 97 150 186 211 236 270 295 348 368 4 51 84 96 155 185 201 240 271291 344 20 41 92 118 141 172 195 289 346 375 31 63 95 127 159 191 223 255 287 319351
下面的表11A和11B分别示出按照本发明第一实施例和第二实施例的OCPNI的权重分配。
[表11A]
    速率集1
    L     权重分配
    376 (1) 14 22 30 30 30 34 34 34 34 34 34 36 38 38 41 45 46 46 48 49…
(2) 26 30 30 30 30 34 36 38 41 42 42 42 43 44 44 47 50 50 50 50…
    760 (1) 23 26 26 29 30 30 30 30 34 34 34 34 34 34 34 34 34 34 38 45…
(2) 50 52 52 58 59 61 63 69 70 71 78 78 78 78 78 78 78 78 78 78…
   1528 (1) 34 34 34 34 34 34 34 34 34 34 40 46 50 54 54 58 58 58 58 58…
(2) 57 57 58 58 58 58 58 58 58 58 58 58 58 60 64 74 74 77 78 78…
3064 (1) 26 30 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 54…
(2) 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 69 78 98 98…
6136 (1) 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 51 58 58…
(2) 106 106 106 106 106 106 106 106 106 106 106 106 106 106 106…
[表11B]
    速率集2
    L     权重分配
568 (1) 26 26 30 30 30 30 34 41 43 46 46 46 46 46 46 46 46 46 46 46…
(2) 77 82 82 82 87 88 90 94 97 100 100 101 102 102 102…
1144 (1) 21 30 30 30 30 46 46 46 46 46 46 46 46 46 46 50…
(2) 97 10 102 102 102 102 102 102 102 102 102 102 102…
2296 (1) 30 34 45 46 46 46 46 46 46 46 46 46 46 46 46 46 46…
(2) 107 112 116 119 121 122 127 131 132 135 139 140…
4600 (1) 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46…
(2) 154 154 154 154 154 154 154 154 154 154 154 154 174…
9208 (1) 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46…
(2) 174 220 226 226 226 226 226 226 226 226 226 226 226…
从表8可以看出,按照本发明第二实施例的OCPNI在权重分配上具有两倍于按照第一实施例的OCPNI的性能。
相比之下,OCPNI的性能大大受到分组数目Ng的影响并且也与初级多项式有关。过高的Ng会造成每个分组尺寸的降低,这就恶化了随机性能。因此,必须确定适当的Ng。例如,当Ng=FL时,提供的OCI(Offset ControlledInterleaver,偏移控制的交织器)的性能与OCPNI的性能相比要差。要考虑的最后目标是从Ng和初级多项式中搜索最优初始状态值。
上面的描述是参照CDMA-2000系统来进行的。例如,当本发明的OCPNI应用于UNTS系统的turbo交织器时,可获得下面的参数。下面的表12和13示出了用于获得最优性能的参数。
[表12]
    交织器尺寸L     320     640     1280     2560     3840     5120
    OSV     0     0     0     0     0     0
 N=L+OSV     320     640     1280     2560     3840     5120
    M     5     6     7     7     8     8
    Ng    10     10     10     20     15     20
  用于PN生成器的种子  01100  010100  1000100  1010001  00100110  00100110
 11001  001010  1110111  0011000  01101000  01101000
 01100  010100  1111101  1010001  10100111  10100111
 10000  001010  0000111  0100010  0101001  10011010
 01100  011001  1111101  1001011  11100100  10100100
 00110  100101  1000100  1001011  01100000  01000000
 01010  000001  1001101  1001011  11000110  11000110
 00011  110011  1010001  0101110  00111010  00111010
 01100  110100  1000100  0011100  10110010  10010010
 00001  110011  1101001  0001110  00101010  10111001
 0001110  10111001  01000010
 1100010  00010101  01110101
 0001100  01101000  00011100
 1010011  01000000  01000000
 0100010  10001000  11011000
 0101111  11010111
 0101110  00011010
 0101100  10010111
 0101111  00101111
 0011110  01110100
 PN生成器多项式p(x) 111011  1011011  11001011  11001011  1110011  111100111
[表13]
交织器尺寸L  320  320  640  640  1280    2560     5120
    OSV     0  0  0  0  0     0     0
 N=L+OSV     320  320  640  640  1280     1280     5120
    M     6  4  7  5  6     8     9
    Ng     5  20  5  20  20     10     10
用于PN生成器的种子 111101  1011  0001010  01011  010110  11101110  110001101
 110100  1011  0011110  00101  111001  01101000  111100110
 011001  1111  10001101  10100  001100  10000100  101011001
 110011  1001  1000011  01111  111111  10010110  011010011
 110100  1011  1010110  01111  011100  01001110  101101010
 1011  0111  101001  11001101  001101101
 1011  0111  111010  01011001  000100010
 1011  01010  011010  10101100  101000100
 0001  00101  111010  10010101  101110011
 1001  00001  000101  00001101  110101100
 0110  11110  101011
 0111  10011  111000
 0100  01101  010010
 0111  00111  010000
 1011  10100  011111
 0010  01010  100100
 1011  00101  010100
 0010  11110  000100
 1010  01101  011111
 0001  10001  11000
 PN生成器多项式p(x) 1011011  11001  11001011  110111  1011011  111100111  1101101101
下面的表14示出了当使用上述各参数时发生的权重分配。
[表14]
    交织器尺寸     最小权重/Ng(->分组号)
    320     48/5,50/10,36/20
    640     50/5,78/10,78/10
    1280     90/10,74/20
    2560     90/10,102/20
    3840     130/15
    5120     130/10,170/20
如上所述,用于UMTS系统的turbo交织器不附加偏移值,因为所有的帧尺寸都能被2m除尽。然而,UMTS规范还没有给出任何对于实际使用的帧尺寸的限定。换言之,上面的帧尺寸设置可以修改。因此,当帧尺寸被实际确定时,应当按照本发明的原理附加偏移值OSV。
如上所述,本发明的方法使得随机交织所需的存储器容量最小化,同时能够在输入数据的交织期间满足随机性能、间隔性能和加权性能。此外,提出的偏移控制的交织方法能够解决现有PN交织方法的问题,在该现有PN交织方法中,交织器尺寸不能表达为2的幂项,并且大的交织器尺寸降低了存储器利用效率。此外,当在设计用于IMT-2000系统的交织器的过程中每个逻辑信道的交织器尺寸不能表达为2的幂项时,交织器尺寸会很大。本发明提供了解决此问题的方法。此外,在现有的交织方法中,由于相应于各个交织器尺寸的交织规则应当被存储在收发信机的控制器(CPU或主机)中,因而在CPU存储器中除了交织器缓冲器外还需要单独的存储区域。本发明解决了这个问题。也就是说,通过实现可执行列举的交织器而降低了硬件复杂性。此外,用于发送/接收的交织器/解交织器发送方法非常简单并且使用最小的存储器容量。也就是说,要求相应于帧(交织器)尺寸L的交织器存储器容量。最后,本发明的交织器满足turbo交织器的所有性能并且性能上类似于或者优越于随机交织器。因此,本发明的交织器保证了平均或更好的性能。
尽管已参照本发明的某些优选实施例图示和描述了本发明,但本领域技术人员应当理解,在不脱离由所附权利要求书定义的本发明的精神和范围的情况下,可对本发明进行形式和细节上的各种改变。

Claims (24)

1.一种产生L个地址的设备,该L个地址的数目小于2m×Ng个虚拟地址,该设备用于从其中存储L个数据位的交织器存储器中读取数据,该设备包括:
一选择电路,该电路包括Ng个PN(伪噪声)生成器,每个生成器都包括m个存储器,其中,所述PN生成器中的一个生成器响应于第一时钟信号而产生(OSV-1)个满足OSV=2m×Ng-L的偏移值(OSV),并且产生(2m-OSV)个非零状态,而其它的PN生成器中的每一个都产生(2m-1)个非零状态,其中所述选择电路响应于一选择信号而按照预定次序周期性地选择所述PN生成器,并输出从所选择的PN生成器中生成的一状态;
用于从一个PN生成器中检测每个偏移状态、提供用于不选择所述一个PN生成器的所述选择信号以便不输出所检测的偏移状态、并且响应于具有比第一时钟信号更短的周期的第二时钟信号的时钟脉冲而产生与所述PN生成器中的每一个选择有关的高地址位的装置;
用于产生低地址位的装置,该低地址位是通过当所述PN生成器的选择周期数目小于2m时从所述选择电路所输出的每个状态中减去1而确定的,并且当选择周期数目为2m时产生相应于2m-1的低地址位;以及
用于存储所述地址的地址缓冲器,所述L个地址中的每一个都包含所述高地址位和所述低地址位。
2.如权利要求1所述的设备,其中,所述OSV是加入的最小值,该最小值的加入使得当一定尺寸的输入数据被转换为二进制值时,从最低有效位(LSB)起的连续零位的数目至少为1。
3.如权利要求1所述的设备,其中,所述选择电路产生用于顺序选择所述PN生成器的选择信号。
4.如权利要求1所述的设备,其中,所述选择电路产生用于随机选择所述PN生成器的选择信号。
5.如权利要求1所述的设备,其中,将所述PN生成器的一初始状态值设置为一状态值,该状态值是通过比较一最小权重和一预定阈值来满足的,该最小权重是通过对每种情况下的预定输入字进行turbo编码来确定的。
6.一种用于产生L个地址的设备,该L个地址的数目小于2m×Ng个虚拟地址,该设备用于从其中存储L个数据位的交织器存储器中读取数据,该设备包括:
Ng个PN生成器,每个生成器都包括m个存储器;
一地址生成器,用于将一偏移值附加到输入数据尺寸上,以提供具有的大小为2m的倍数的虚拟地址,并利用尺寸为2m的地址生成器在地址生成区中生成不对应于该偏移值的地址;
用于利用从所述地址生成区生成的随机地址从所述交织器存储器中读取输入数据的装置。
7.如权利要求6所述的设备,其中,所述地址生成器包括:
一选择电路,包括所述Ng个PN(伪噪声)生成器,其中,所述PN生成器中的一个生成器响应于第一时钟信号而产生(OSV-1)个满足OSV=2m×Ng-L的偏移值,并且产生(2m-OSV)个非零状态,而其它的PN生成器中的每一个都产生(2m-1)个非零状态,其中所述选择电路响应于一选择信号而按照预定次序选择所述PN生成器,并且输出从所选择的PN生成器中生成的一状态;
用于从一个PN生成器中检测每个偏移状态、提供用于不选择所述一个PN生成器的所述选择信号以便不输出所检测的偏移状态、并且响应于具有比第一时钟信号更短的周期的第二时钟信号的时钟脉冲而产生与所述PN生成器中的每一个选择有关的高地址位的装置;
用于产生低地址位的装置,该低地址位是通过当所述PN生成器的选择周期数目小于2m时从所述选择电路所输出的每个状态中减去1而确定的,并且当选择周期数目为2m时产生相应于2m-1的低地址位;以及
用于存储所述地址的地址缓中器,所述L个地址中的每一个都包含所述高地址位和所述低地址位。
8.如权利要求7所述的设备,其中,所述OSV是加入的最小值,该最小值的加入使得当一定尺寸的输入数据被转换为二进制值时,从最低有效位(LSB)起的连续零位的数目至少为1。
9.如权利要求7所述的设备,其中,所述选择电路产生用于顺序选择所述PN生成器的选择信号。
10.如权利要求7所述的设备,其中,所述选择电路产生用于随机选择所述PN生成器的选择信号。
11.如权利要求7所述的设备,其中,将所述PN生成器的一初始状态值设置为一状态值,该状态值是通过比较一最小权重和一预定阈值来满足的,该最小权重是通过对每种情况下的预定输入字进行turbo编码来确定的。
12.一种产生L个地址的方法,该L个地址的数目小于2m×Ng个虚拟地址,该方法用于从其中存储L个数据位的交织器存储器中读取数据,该方法包括步骤:
在Ng个PN生成器中的一个生成器中,产生(OSV-1)个满足OSV=2m×Ng-L的偏移值(OSV),并且产生(2m-OSV)个非零状态;
在每一个其它的PN生成器中都产生(2m-1)个非零状态;
从所述一个PN生成器中检测每个偏移状态,并产生一选择信号,使得该选择信号的选择周期可以以预定的选择次序跳过对所述一个PN生成器的选择,以便不选择所检测的偏移状态;
按照所述选择信号选择各PN生成器,并顺序产生所述非零状态;
从所述非零状态中减去1;
当所述选择周期的数目小于2m时,提供所减去的状态作为低地址位,而当选择周期的数目为2m时,提供相应于2m-1个状态的低地址位,并且,产生与所述选择信号相关的高地址位,该选择信号与所述低地址位有关;以及
利用包含所述低地址位和所述高地址位的地址,从所述交织器存储器中读取所述L个数据位。
13.如权利要求12所述的方法,其中,所述OSV是加入的最小值,该最小值的加入使得当一定尺寸的输入数据被转换为二进制值时,从最低有效位(LSB)起的连续零位的数目至少为1。
14.如权利要求12所述的方法,其中,所述预定选择次序是顺序选择所述PN生成器的次序。
15.如权利要求12所述的方法,其中,所述预定选择次序是随机选择所述PN生成器的次序。
16.如权利要求12所述的方法,其中,将所述PN生成器的一初始状态值设置为一状态值,该状态值是通过比较一最小权重和一预定阈值来满足的,该最小权重是通过对每种情况下的预定输入字进行turbo编码来确定的。
17.一种用于对输入数据进行交织的方法,该输入数据的输入数据尺寸不是2m(m>1)的倍数,所述方法包括步骤:
在一存储器中顺序存储所述输入数据;
将一偏移值附加到所述输入数据尺寸上,以提供尺寸为2m的倍数(Ng)的虚拟地址尺寸;
提供Ng个地址生成区,每个地址生成区的尺寸为2m,并且在各个地址生成区中生成不对应于所述偏移值的地址;
利用从所述地址生成区生成的地址从所述存储器中读取输入数据。
18.如权利要求17所述的方法,其中,所述地址生成步骤包括下列步骤:
在相应于所述地址生成区的PN生成器中的一个生成器中,产生(2m-1)个非零状态,包括相应于所述偏移值(OSV)的偏移状态;
在每一个其它PN生成器中产生(2m-1)个非零状态;
从所述一个PN生成器中检测每个偏移状态,并按照一选择信号从所述PN生成器中选择所述非零状态,该选择信号的选择周期可以以用于所述PN生成器的预定选择次序跳过对所述一个PN生成器的选择;
从所选择的状态中减去1,以提供作为低地址位的减去状态,并产生与所述选择信号相关的高地址位,该选择信号与所述低地址位有关;以及
产生包含所述低地址位和所述高地址位的地址。
19.如权利要求18所述的方法,其中,所述高地址产生步骤包括下列步骤:
当所述选择周期的数目小于2m时,提供作为低地址位的所述减去状态;
当所述选择周期的数目为2m时,提供相应于2m-1的低地址位;以及
产生与所述选择信号相关的高地址位,该选择信号与所述低地址位有关。
20.如权利要求18所述的方法,其中,所述OSV是加入的最小值,该最小值的加入使得当一定尺寸的输入数据被转换为二进制值时,从最低有效位(LSB)起的连续零位的数目至少为1。
21.如权利要求18所述的方法,其中,所述预定选择次序是顺序选择所述PN生成器的次序。
22.如权利要求18所述的方法,其中,所述预定选择次序是随机选择所述PN生成器的次序。
23.如权利要求18所述的方法,其中,将所述PN生成器的一初始状态值设置为一状态值,该状态值是通过比较一最小权重和一预定阈值来满足的,该最小权重是通过对每种情况下的预定输入字进行turbo编码来确定的。
24.一种turbo编码设备,包括:
第一分量编码器,用于对输入数据进行编码,该输入数据的尺寸不是2m(m>1)的倍数;
一交织器,用于在一交织器存储器中顺序存储所述输入数据;用于将一偏移值附加到所述输入数据尺寸从而提供一虚拟地址尺寸,所述虚拟地址尺寸是2m的倍数(Ng);用于提供Ng个地址生成区,每个地址生成区的尺寸为2m;用于在所述地址生成区中产生不对应于所述偏移值的地址;并用于利用所产生的地址从所述交织器存储器中读取所述输入数据;和
第二分量编码器,用于对从所述交织器存储器中读出的数据进行编码。
CNB008004676A 1999-04-02 2000-04-03 用于通信系统的交织/解交织设备和方法 Expired - Lifetime CN1136663C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1999/12858 1999-04-02
KR19990012858 1999-04-02
KR19990011798 1999-04-06
KR1999/11798 1999-04-06

Publications (2)

Publication Number Publication Date
CN1297617A true CN1297617A (zh) 2001-05-30
CN1136663C CN1136663C (zh) 2004-01-28

Family

ID=26634905

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008004676A Expired - Lifetime CN1136663C (zh) 1999-04-02 2000-04-03 用于通信系统的交织/解交织设备和方法

Country Status (10)

Country Link
US (1) US6721908B1 (zh)
EP (1) EP1095460A4 (zh)
JP (1) JP3447269B2 (zh)
CN (1) CN1136663C (zh)
AU (1) AU745959B2 (zh)
BR (1) BR0006012B1 (zh)
CA (1) CA2333032C (zh)
DE (1) DE20023252U1 (zh)
RU (1) RU2210186C2 (zh)
WO (1) WO2000060750A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1685621B (zh) * 2002-10-29 2010-07-07 三星电子株式会社 用于解交织通信设备中的交织数据流的方法和装置
US9388318B2 (en) 2011-07-27 2016-07-12 Wistron Corp. Thermosetting composition

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100306282B1 (ko) * 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
JP3095732B2 (ja) * 1998-12-28 2000-10-10 株式会社東京精密 画像分配処理装置
WO2001050614A2 (en) * 2000-01-03 2001-07-12 Icoding Technology, Inc. System and method for high speed processing of turbo codes
US7302621B2 (en) 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US20020138807A1 (en) * 2001-03-26 2002-09-26 Quang Nguyen Optimum UMTS modem
EP1513260B1 (en) * 2001-10-10 2007-09-26 Matsushita Electric Industrial Co., Ltd. Interference decorrelation of multiple stream interpolated data
JP3931100B2 (ja) * 2002-03-12 2007-06-13 株式会社日立コミュニケーションテクノロジー ターボ復号器並びにターボ符号器及びターボ符号器、復号器を含む無線基地局
KR100532325B1 (ko) * 2002-11-23 2005-11-29 삼성전자주식회사 터보 복호기의 입력 제어 방법 및 장치
US7123672B2 (en) 2003-04-30 2006-10-17 Motorola, Inc. Method and apparatus for facilitating efficient deinterleaving and diversity-combining of a data signal
US8077743B2 (en) * 2003-11-18 2011-12-13 Qualcomm Incorporated Method and apparatus for offset interleaving of vocoder frames
US7343530B2 (en) * 2004-02-10 2008-03-11 Samsung Electronics Co., Ltd. Turbo decoder and turbo interleaver
US7702968B2 (en) 2004-02-27 2010-04-20 Qualcomm Incorporated Efficient multi-symbol deinterleaver
WO2005099099A1 (en) * 2004-03-05 2005-10-20 Thomson Licensing Address generation apparatus for turbo interleaver and deinterleaver in w-cdma systems
US7081597B2 (en) * 2004-09-03 2006-07-25 The Esab Group, Inc. Electrode and electrode holder with threaded connection
US7552377B1 (en) * 2005-02-10 2009-06-23 Xilinx, Inc. Method of and circuit for interleaving data in a data coder
US7437650B2 (en) * 2005-04-12 2008-10-14 Agere Systems Inc. Pre-emptive interleaver address generator for turbo decoders
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8249513B2 (en) * 2007-08-13 2012-08-21 Samsung Electronics Co., Ltd. System and method for training different types of directional antennas that adapts the training sequence length to the number of antennas
US8027394B2 (en) * 2007-09-25 2011-09-27 Silicon Laboratories Inc. Reducing data stream jitter during deinterleaving
US8787181B2 (en) * 2008-01-14 2014-07-22 Qualcomm Incorporated Resource allocation randomization
US8051037B2 (en) * 2008-01-25 2011-11-01 Samsung Electronics Co., Ltd. System and method for pseudorandom permutation for interleaving in wireless communications
US8165595B2 (en) * 2008-01-25 2012-04-24 Samsung Electronics Co., Ltd. System and method for multi-stage antenna training of beamforming vectors
US8280445B2 (en) * 2008-02-13 2012-10-02 Samsung Electronics Co., Ltd. System and method for antenna training of beamforming vectors by selective use of beam level training
US8478204B2 (en) * 2008-07-14 2013-07-02 Samsung Electronics Co., Ltd. System and method for antenna training of beamforming vectors having reuse of directional information
US8555131B2 (en) 2010-03-31 2013-10-08 Silicon Laboratories Inc. Techniques to control power consumption in an iterative decoder by control of node configurations
US8433970B2 (en) 2010-03-31 2013-04-30 Silicon Laboratories Inc. Techniques to control power consumption in an iterative decoder by control of node configurations
US8237869B2 (en) 2010-03-31 2012-08-07 Silicon Laboratories Inc. Multi-standard digital demodulator for TV signals broadcast over cable, satellite and terrestrial networks
US8341486B2 (en) 2010-03-31 2012-12-25 Silicon Laboratories Inc. Reducing power consumption in an iterative decoder
US8837611B2 (en) 2011-02-09 2014-09-16 Silicon Laboratories Inc. Memory-aided synchronization in a receiver
US8644370B2 (en) 2012-01-25 2014-02-04 Silicon Laboratories Providing slope values for a demapper
US8959274B2 (en) 2012-09-06 2015-02-17 Silicon Laboratories Inc. Providing a serial download path to devices
CN106375243B (zh) * 2015-07-22 2019-09-03 华为技术有限公司 数据处理设备和光传送网络交换机
US11023241B2 (en) * 2018-08-21 2021-06-01 Advanced Micro Devices, Inc. Systems and methods for selectively bypassing address-generation hardware in processor instruction pipelines
KR20200046481A (ko) * 2018-10-24 2020-05-07 삼성전자주식회사 난수 생성기, 이를 포함하는 암호화 장치 및 이의 동작 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0430231A (ja) * 1990-05-25 1992-02-03 Hitachi Ltd 主記憶アドレッシング方式
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.
JPH09102748A (ja) 1995-10-04 1997-04-15 Matsushita Electric Ind Co Ltd インターリーブ回路
EP0931290A1 (en) * 1997-03-21 1999-07-28 International Business Machines Corporation Address mapping for system memory
KR100237745B1 (ko) * 1997-05-23 2000-01-15 김영환 회전형 인터리버/디인터리버의 메모리 주소 발생장치 및 그 방법
US6381728B1 (en) * 1998-08-14 2002-04-30 Qualcomm Incorporated Partitioned interleaver memory for map decoder
EP2173036B1 (en) * 1998-08-17 2014-05-14 Dtvg Licensing, Inc Turbo code interleaver with near optimal performance
US6353900B1 (en) * 1998-09-22 2002-03-05 Qualcomm Incorporated Coding system having state machine based interleaver
US6314534B1 (en) * 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1685621B (zh) * 2002-10-29 2010-07-07 三星电子株式会社 用于解交织通信设备中的交织数据流的方法和装置
US9388318B2 (en) 2011-07-27 2016-07-12 Wistron Corp. Thermosetting composition

Also Published As

Publication number Publication date
EP1095460A4 (en) 2002-04-03
BR0006012B1 (pt) 2012-12-25
WO2000060750A1 (en) 2000-10-12
JP2002541710A (ja) 2002-12-03
CA2333032A1 (en) 2000-10-12
RU2210186C2 (ru) 2003-08-10
CA2333032C (en) 2005-11-29
DE20023252U1 (de) 2003-07-31
AU745959B2 (en) 2002-04-11
EP1095460A1 (en) 2001-05-02
JP3447269B2 (ja) 2003-09-16
BR0006012A (pt) 2001-03-06
AU3681600A (en) 2000-10-23
US6721908B1 (en) 2004-04-13
CN1136663C (zh) 2004-01-28

Similar Documents

Publication Publication Date Title
CN1136663C (zh) 用于通信系统的交织/解交织设备和方法
CN100345390C (zh) 用于通信系统的交织/解交织设备和方法
CN1256812C (zh) 透平编码器和信道编码方法
CN1836394A (zh) 在移动通信系统中编码/解码块低密度奇偶校验码的装置和方法
CN1136660C (zh) 串行链接卷积码编码器及其中的交错器和交错方法
CN1286276C (zh) 随机存取多向cdma2000 turbo编码交织器
CN1113295C (zh) 错误校正编码方法及其设备
CN1271796C (zh) 涡式交织方法
CN1324811C (zh) 通信系统中的交织器和交织方法
CN1618175A (zh) 用于对数据比特并行编码的方法和装置
CN1494770A (zh) 适于turbo解码器的交错器
CN2585495Y (zh) 使用码分多址的无线通信系统的物理层处理
CN1354918A (zh) 通信系统的交织/解交织装置和方法
CN1529943A (zh) Turbo解码器的缓冲器结构
CN1615592A (zh) 通信系统的交织设备和方法
CN1276588C (zh) 在通信系统中生成代码的设备和方法
CN101079641A (zh) 二维交织设备及方法
CN1685621A (zh) 用于解交织通信设备中的交织数据流的方法和装置
CN1493110A (zh) 特播解码器、特播解码方法以及存储该方法的存储介质
CN1582555A (zh) 片段式解交织
CN1154238C (zh) 交织地址生成装置及交织地址生成方法
KR100330238B1 (ko) 통신시스템의 인터리빙/디인터리빙 장치 및 방법
CN1323102A (zh) 用于特博码的解码器及其解码方法
CN1123125C (zh) 可变长编码方法及其装置
CN2600995Y (zh) 一种时分同步码分多址(tdscdma)通信系统

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
TR01 Transfer of patent right

Effective date of registration: 20190612

Address after: Bantian HUAWEI headquarters office building, Longgang District, Shenzhen, Guangdong

Patentee after: Huawei Technologies Co., Ltd.

Address before: Gyeonggi Do, South Korea

Patentee before: SAMSUNG ELECTRONICS CO., LTD.

TR01 Transfer of patent right
CX01 Expiry of patent term

Granted publication date: 20040128

CX01 Expiry of patent term