通信系统的交织/解交织装置和方法

文档序号:6419307阅读:250来源:国知局
专利名称:通信系统的交织/解交织装置和方法
背景技术
1.本发明领域本发明一般涉及交织/解交织装置和方法,具体涉及turbo(涡式)编码器的交织/解交织装置和方法,turbo编码器用于无线电通信系统,如卫星、ISDN(综合业务数字网络)、数字蜂窝式、W-CDMA(宽带码分多址)、IMT-2000以及W-ATM(宽带异步传输方式)通信系统。
2.相关技术说明在turbo编码器中,交织是对输入给编码器的信息进行随机化,以提高代码字的距离属性。尤其是希望在IMT-2000(或CDMA2000)通信系统中的辅助信道(或业务信道)以及ETSI(欧洲电信标准学会)提出的UMTS(全球移动电信系统)的数据信道中,采用turbo编码器。这样,就需要有用于实现该目的交织器的方法。此外,采用turbo编码器能够提高数字通信系统的可靠性,特别是能够提高现有和未来数字移动通信系统的性能。
turbo编码器采用两个简单的并行级联代码,一般对分量代码采用递归系统卷积(RSC)代码,将L信息比特的输入帧编码为奇偶校验码元。
图7表示了一般的turbo编码器,其详情请参见1995年8月29日授权的US专利No.5,446,474,该专利引用于此,以资参考。
参照图7,turbo编码器包括用于对输入帧数据进行编码的第一分量编码器11、用于对输入帧数据进行交织的交织器12以及用于对交织器12的输出进行编码的第二分量编码器13。RSC编码器一般用于第一和第二分量编码器11和13。此外,交织器12具有与输入信息比特帧相同大小的帧,并对提供给第二分量编码器13的信息比特的顺序进行重排,从而减少信息比特之间的相关性。
目前已提出了多种用于turbo编码器的内部交织器12(或turbo交织器)的交织器,例如PN(伪噪声)随机交织器、随机交织器、块交织器、非线性交织器以及S-随机交织器。但是,到目前为止,这些交织器仅仅只是基于科学研究而不是实际应用,通过设计算法来提高系统的性能。因此,在实现实际系统时,必须考虑硬件实现的复杂性。下面将描述与turbo编码器的传统交织器相关的特征和问题。
turbo编码器的性能取决于于内部交织器。一般来说,交织器的设计不能够保证系统达到最优运行,因为交织器大小的增长需要计算上的几何增长。因此,一般来说,通过确定满足几个给定准则的条件,来实现交织器。准则如下距离属性应将相邻代码字码元之间的距离保持在某个范围内。由于与卷积代码的代码字距离属性具有相同的功能,因此,如果可能,最好将交织器设计为具有较长的距离。
加权属性对应于非零信息字的代码字的权重应该大于阈值。由于与卷积代码的最小距离属性具有相同的功能,因此,如果可能,最好将交织器设计为具有较大的权重。
随机属性交织后的输出字码元之间的相关因子应该比交织前的原始输入字码元之间的相关因子小很多。也就是说,应该完全实现输出字码元之间的随机化。这对在连续解码期间产生的非本征信息的质量提高具有直接影响。
尽管将以上三个设计准则用于turbo交织器,但并没有对属性进行确定的分析。根据实验,随机交织器在性能上优于块交织器。但是,随机交织器的不足之处在于,帧的种类和大小的增加会使得存储交织器索引(即,映射规则或地址)所需的存储容量增加。因此,在考虑到硬件大小的情况下,最好是采用通过使用索引生成规则在每个码元时钟生成一个地址来读取存储在相应地址中的数据的枚举的方法,而不采用用于存储交织器索引的查找表方法。
总之,当在IMT-2000或UTMS系统中需要多种交织器的大小并且硬件实现的复杂性受限制时,在考虑到限制条件的情况下,turbo交织器的设计应该能够保证交织器的最优性能。也就是说,需要定义地址生成规则,并根据地址生成规则进行交织/解交织。当然,交织器的设计应完全满足上述的turbo交织器的属性。
IMT-2000或UMTS规则中还没有对turbo交织器给出任何定义。IMT-2000规则中定义的前向链路和反向链路具有多种类型的逻辑信道和不同的交织器大小。因此,为了满足这些变化的要求,就需要增加存储容量。例如,在N=3前向链路发送模式中,可以使用各种从144比特/帧到36864比特/帧的大小的交织器。
总的来说,现有技术具有下列缺点。
首先,对于turbo编码器的传统内部交织器,可以使用PN随机交织器、随机交织器、块交织器、非线性交织器硬件S-随机交织器。但是,这些交织器仅仅只是基于科学研究而不是实际应用,通过设计算法来提高系统的性能。因此,在实现实际系统时,必须考虑硬件实现的复杂性。然而,并没有专门定义这点。
其次,由于在采用查找表的传统交织方法中收发器的控制器(CPU或主机)存储基于各个交织器的大小的交织规则,主机存储器要求除交织器缓冲区以外还要有单独的存储容量。也就是说,当帧的大小变化并增加时,就需要增加存储容量来存储交织器索引(即,映射规则或地址)。
第三,不容易实现同时满足距离属性和随机属性的交织器。
第四,还没有制定出详细的用于CDMA-2000的turbo编码器的turbo交织器设计规则。
本发明概述因此,本发明的一个目的是,提供一种在通信系统中用于对不同大小的数据进行交织/解交织的装置和方法。
本发明的另一个目的是,提供一种在通信系统中满足turbo编码器的所有属性的交织/解交织装置和方法,所述属性包括距离属性、权重属性以及随机属性。
本发明的另一个目的是,提供一种通信系统中的偏差控制交织/解交织装置和方法。
为了实现上述或其它目的,提供了一种交织/解交织方法,所述方法包括根据顺序地址将输入数据存储在存储器中;提供通过将偏差值与输入数据的大小相加而确定的虚拟地址,从而满足交织规则;将虚拟地址与按照交织规则交织后的地址进行匹配;以及采用交织后的地址中除对应于特定值的地址之外的地址,从存储器中读取输入数据。
附图的简要说明通过参照附图以及下面的详细说明,将会更清楚地理解本发明的上述和其它目的、特征和优点,附图中
图1是表示按照本发明的实施例的通信系统中交织装置的方框图;图2是表示按照本发明的实施例的通信系统中解交织装置的方框图;图3是表示,当采用将偏差值与输入数据的大小值相加而确定的虚拟地址区域来进行部分比特的反排序交织时,对应于偏差值的码元存在于交织后的码元之中;图4是表示在删除了图3中的无效码元后连接输出码元的图;图5是表示按照本发明的实施例,采用偏差控制方法生成读地址的方案的详细方框图;图6是表示按照本发明的实施例,采用偏差控制方法生成读地址的过程的流程图;以及图7是表示传统turbo编码器的方框图。
优选实施例的详细描述下面将参照


本发明的优选实施例。在下面的说明中,没有详细说明公知的功能或结构,以避免出现不必要的细节而混淆本发明。
按照本发明的交织器顺序地将输入数据存储在存储器中,并通过按照部分比特反排序算法置换数据比特的顺序,输出存储的数据。当输入数据的大小不适合部分比特反排序算法时,采用通过将给定值(此处,是指偏差值(OSV))与输入数据的大小相加而确定的虚拟地址大小,来执行交织。因此,本发明提出的交织器需要交织器存储器(由输入数据缓冲区和输出数据缓冲区组成)、偏差控制的交织块(由部分比特反向交织器和比较器组成)以及增/减计数器。
图1表示了按照本发明的实施例的交织器。参照图1,地址发生器111接收交织器的大小值N、第一变量m、第二变量J以及时钟,从而按照偏差控制交织算法,生成用于读取顺序地存储在交织器存储器112中的比特码元的读地址。此处,由输入数据大小L来确定交织器的大小N、第一和第二变量m和J这些参数。本发明基于部分比特反排序算法。因此,当输入数据的大小L满足用于执行部分比特反排序算法的大小要求时,通过将偏差值OSV与输入数据大小L相加来确定虚拟交织器大小N,然后采用虚拟交织器大小N,对用于执行部分比特反排序算法的参数(即,第一和第二变量)进行计算。交织器存储器112在写操作模式下对输入比特码元进行顺序地存储,并在读操作模式下,按照地址发生器111提供的地址输出比特码元。计数器113对输入时钟进行计数,并将时钟计数值作为写地址值提供给交织器存储器112。
图2表示了按照本发明的实施例的解交织器。参照图2,地址发生器111通过接收交织器的大小值N、第一和第二变量m和J以及时钟,生成用于执行写模式操作的交织器存储器地址。地址发生器211将生成的交织器存储器地址提供给解交织器存储器212。解交织器存储器212在写操作模式下,按照地址发生器211提供的写地址对输入数据进行存储,并在读操作模式下,对存储的数据进行顺序输出。计数器213对输入时钟进行计数,并将时钟计数值作为读地址值提供给解交织器存储器212。
如上所述,解交织器具有与交织器相同的结构,但采用与交织器相反的操作。也就是说,解交织器与交织器的不同之处在于以相反的顺序对输入/输出数据进行存储和读取。因此,为方便起见,下面只对交织器进行描述。
按照本发明,用于turbo编码器的偏差控制交织器(OCI)的结构与此处参考的部分比特反向交织器(PBRI)的结构相似,PBRI的详情请参见韩国专利申请No.98-54131。当输入帧(信息码元+CRC码元+信息码元)的大小为L时,对于大于输入帧大小L的部分比特反向交织器大小N,OCI计算偏差值OSV为N-L。通过将计算的N用作交织器的大小,按照下面公式(1)给定的部分比特反排序算法来执行交织。对于给定的K……(0≤K≤N-1)r=K模J;PUC=K/J;s=BRO(PUC);ADDRESS_READ=r×2m+s“交织映射K+1ADDRESS_READ+1”其中,‘K’表示输出数据比特的序列,作为序列号;当将计算的交织器大小N表示为二进制数时,‘m’表示LSB(最低有效位)的连续零(0)比特的数量,作为第一变量;‘J’表示除了连续零(0)比特以外的比特的十进制数,作为第二变量。此处,交织器大小N定义为2m×J。例如,对于输入数据大小L=568,最小的偏差值为8,那么交织器大小N则为576。由于交织器大小N=576的二进制数表示为N=[1001000000],因此,第一变量m为6,第二变量J为9。此外,‘模’和‘/’分别表示用于计算余数和商的模运算和除法运算。并且,BRO(H)表示比特反向函数,用于通过对二进制数进行从MSB(最高有效位)到LSB的反向排序将‘H’转换为二进制数并将其转换为十进制数。然后,按照公式(1),采用确定的交织器大小N以及第一和第二变量m和J,产生读地址。
例如,下面参照公式(1)说明第三(K=2)输出数据。对于N=576,m=6和J=9。那么,r=2模9=0,并且PUC=2/9=0。此外,s=BRO(0)=0。因此,最后计算出的读地址为ADDRESS READ=2×26+0=128。而且,当‘1’与读地址相加以便从地址1映射输出地址时,地址变为129。也就是说,第三输出数据存储在地址129中。
然而,当采用按照公式(1)生成的读地址,通过对交织器的相应地址进行寻址来读取数据时,可能会由于增加的偏差值而生成无效的读地址。也就是说,除了对应于输入数据比特
的读地址以外,在交织序列之间存在着对应于输入数据比特[L…N-1]的最后8个码元的读地址。图3说明了这点。在进行读取时,将发送比L个码元的数高8的实际要发送的N个码元。因此,应采用在删除了存在于交织序列之间的无效地址后的后续地址。
如图3所示,当采用N-部分比特反向交织时,在交织后的码元之间存在有从L到N-1的无效码元。因此,除了无效码元以外,必须连续地输出交织后的码元。为了实现这个目的,采用了偏差控制方法。在偏差控制方法中,按照公式(1)的部分比特反向交织算法,将对应于[L…N-1]中最后8个码元的读地址确定为固定值。首先,假设8个尾部码元的地址为D1,D2,D3,…,D8(即,L…N-1),并且每个对应于Di(i=1…8)的交织地址为Tk=PIRB(Di),其中k=1…8。当然,对于D1<D2来说T1<T2并不总是成立的,并且交织地址是按给定的顺序进行排序的。因此,为方便起见,假设被控制以使得交织地址按T1<T2<…<T8进行排序的索引被定义为‘j’,并且将以此定义的地址定义为Tj(j=1…8)。然后,在无效地址的基础上,将交织区域分为8组,并且每个Tj成为划分其边界的阈值(以后称为组阈值)。此处,组阈值与无效地址相等。因此,为了删除Ti,必须从通过采用公式(1)的交织算法而生成的读地址中减去相应组中的一个给定值。当读地址属于组0时,将读地址减去‘0’,而当读地址属于组1时,将读地址减去‘1’,从而生成最后的读地址。图4表示在采用上述的偏差控制方法将无效地址去除后,新近映射出读地址的状态。
因此,考虑到按照本发明的偏差控制方法的部分比特反向交织算法由下面的公式(2)给出[公式2]对于给定的K……(0≤K≤N-1)r=K模J;PUC=K/J;s=BRO(PUC);ADDRESS_READ=r×2m+s如果(0≤ADDRESS_READ<GTH0){ADDRESS_READ-0;}如果(GTH0≤ADDRESS_READ<GTH1){ADDRESS_READ-1;}如果(GTH1≤ADDRESS_READ<GTH2){ADDRESS_READ-2;}如果(GTH2≤ADDRESS_READ<GTH3){ADDRESS_READ-3;}如果(GTH3≤ADDRESS_READ<GTH4){ADDRESS_READ-4;}如果(GTH4≤ADDRESS_READ<GTH5){ADDRESS_READ-5;}如果(GTH5≤ADDRESS_READ<GTH6){ADDRESS_READ-6;}如果(GTH6≤ADDRESS_READ<N-1){ADDRESS_READ-7;}可以采用图5中的硬件结构来实现公式(2)的算法。图5表示了图1中的地址发生器111的详细结构。地址发生器111包括用于根据部分比特反向交织规则来生成第一读地址的部分比特反排序部件121;具有比较器122、选择器123、及运算器124的穿孔器,用于在第一读地址对无效地址穿孔从而生成第二读地址。
参照图5,部分比特反排序部件121根据公式(1)的部分比特反向交织算法,生成第一读地址。由于偏差值,比较器122将从部分比特反排序部件121输出的第一地址与组阈值GTH0-GTH7进行比较,从而确定第一地址应属于哪一组,并输出用于选择对应于所确定组的组值的组选择信号。选择器123按照组选择信号来选择组值。运算器124从比较器122输出的第一地址中减去选择器123的特定组值,从而生成第二读地址,并将生成的第二读地址提供给交织器存储器112。此处,当从部分比特反排序比较121输出的第一读地址与任意一个组阈值相等时,比较器122对第一读地址进行删除(或穿孔)。
下面,将参照图6详细描述本实施例的整体操作。
首先,在步骤611,地址发生器111初始化读序列K。然后,在步骤613,地址发生器111采用公式(1)的部分比特反向交织算法,生成第一读地址。由于偏差值,在第一读地址之间存在着无效地址。这样,在删除了无效地址后,需要执行连接读地址的过程。因此,在步骤615,地址发生器111将第一读地址与具有偏差值的组阈值进行比较,从而确定第一读地址属于哪一组。当然,已事先将组阈值的数据存储在表中。例如,IMT-2000系统将存储下面的表3中所示的表。此处,已预先通过部分比特反向交织算法确定了组阈值。例如,对于568的输入数据大小,当第一读地址小于127时,第一读地址属于组0(GHT0);当第一读地址在127到191之间的范围内时,第一读地址属于组1(GHT1);当第一读地址在191到255之间的范围内时,第一读地址属于组2(GHT2);当第一读地址在255到319之间的范围内时,第一读地址属于组3(GHT3)。然后,在步骤617,地址发生器111从第一读地址中减去相应组的组值,从而计算出作为最后交织地址的第二读地址。例如,当第一读地址属于组0时,地址发送器111从第一读地址中减去组0的组值‘0’,而当第一读地址属于组5时,地址发送器111从第一读地址中减去组值‘5’,从而计算出第二读地址。然后,在步骤619,地址发生器111将生成的第二读地址提供给交织器存储器112,从而输出存储在相应地址中的码元数据。最后,在步骤621,地址发生器111将读序列加‘1’,然后返回到步骤613以计算下一个读地址。
表1至3显示了当在IMT-2000系统中应用新的偏差控制的部分比特反向交织方案时,按照输入数据大小而定义的参数。更具体地说,表1显示了基于输入数据大小的偏差值、应用于部分比特反排序算法的交织器大小、以及在执行部分比特反排序算法时所需的第一和第二变量m和J。

下面的表3显示了按照速率集分类的组阈值GTHi。
如上所述,尽管交织器的大小不能用2的幂次表达,但仍然能够实现新的偏差控制交织方法。并且,由于不需要单独的地址来用于交织,因此减少了系统硬件的复杂性。此外,交织器/解交织器具有简单的发送方案,并且要求交织器存储器具有L比特的帧大小的容量,因此提高了存储器利用效率。而且,新的交织器具有优良的距离属性。
尽管本发明是参照其特定的优选实施例来描述的,但本领域的技术人员应该理解,在不脱离由所附权利要求限定的本发明特定精神和范围的情况下,可以对其进行形式和细节的各种修改。
权利要求
1.一种交织方法,包括下列步骤按照顺序地址将输入数据存储在存储器中;提供通过将预定值与输入数据的大小相加而确定的虚拟地址,从而满足部分比特反排序交织规则;按照部分比特反排序交织规则,将虚拟地址与交织后的地址进行匹配;以及通过按照部分比特反排序交织规则交织来读取存储在存储器中的输入数据,从而对除相应于预定值的地址以外的地址进行寻址。
2.如权利要求1所述的交织方法,其中,预定值是将要与输入数据的大小进行相加的值,从而使虚拟地址的大小成为2m的倍数。
3.一种交织装置,包括存储器,用于顺序地存储输入数据;地址发生器,所述地址发生器具有通过将预定值与输入数据的大小相加而确定的虚拟地址区域,从而满足部分比特反排序交织规则,所述地址发生器用于按照部分比特反排序交织规则,从虚拟地址区域中生成第一读地址;以及穿孔器,用于从第一读地址对与预定值相对应的地址进行穿孔,从而生成第二读地址,其中,交织装置采用第二读地址从存储器中读取输入数据。
4.如权利要求3所述的交织装置,其中,穿孔器包括比较器,用于按照与预定值相对应的地址,将虚拟地址区域分为多个组,确定第一读地址属于多个组中的哪一个,从而输出组选择信号,并从第一读地址中将与预定值相对应的地址删除;选择器,用于从比较器接收组选择信号,并生成特定值给运算器;以及运算器,用于从第一读地址中减去与组选择信号相对应的特定值,从而生成第二读地址。
5.如权利要求3所述的交织装置,其中,地址发生器包括查找表,用于提供满足虚拟地址的大小N=2m×J的第一和第二变量m和J;以及发生器,用于按照下面的公式,通过采用由查找表提供的第一和第二变量m和J,生成第一读地址2m(K模J)+BRO(K/J)其中,K(0≤K≤N-1)表示读取序列,BRO表示通过比特转换将二进制转换为十进制的函数。
6.一种交织方法,包括下列步骤按照顺序地址将输入数据存储在存储器中;提供通过将预定值与输入数据的大小相加而确定的虚拟地址区域,从而满足部分比特反排序交织规则,并按照部分比特反排序交织规则,在虚拟地址区域中生成第一读地址;从第一读地址对与预定值相对应的地址进行穿孔,从而生成第二读地址以及采用第二读地址从存储器中读取输入数据。
7.如权利要求6所述的交织方法,其中,穿孔步骤还包括下列步骤按照与预定值相对应的地址,将虚拟地址区域分为多个组,并确定第一读地址属于哪一组;从第一读地址中将与预定值相对应的地址删除;以及从第一读地址中减去与确定的组相对应的特定值,从而生成第二读地址。
8.如权利要求6所述的交织方法,其中,地址生成步骤还包括下列步骤提供满足虚拟地址的大小N=2m×J的第一和第二变量m和J;以及按照下面的公式,通过采用第一和第二变量m和J,生成第一读地址2m(K模J)+BRO(K/J)其中,K(0≤K≤N-1)表示读取序列,BRO表示通过比特转换将二进制转换为十进制的函数。
全文摘要
一种交织方法,包括:按照顺序地址将输入数据存储在存储器中;提供通过将预定值与输入数据的大小相加而确定的虚拟地址,从而满足部分比特反排序交织规则;按照交织规则,将虚拟地址与交织后的地址进行匹配;以及采用交织后的地址中除与特定值相对应的地址以外的地址,从存储器中读取输入数据。
文档编号G06F12/00GK1354918SQ99815036
公开日2002年6月19日 申请日期1999年12月27日 优先权日1998年12月26日
发明者金潣龟, 金炳朝, 李永焕 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1