CN101615915A - 通信系统的交织设备和方法 - Google Patents
通信系统的交织设备和方法 Download PDFInfo
- Publication number
- CN101615915A CN101615915A CN200910165162A CN200910165162A CN101615915A CN 101615915 A CN101615915 A CN 101615915A CN 200910165162 A CN200910165162 A CN 200910165162A CN 200910165162 A CN200910165162 A CN 200910165162A CN 101615915 A CN101615915 A CN 101615915A
- Authority
- CN
- China
- Prior art keywords
- address
- bit
- memory
- interleaver
- length
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2789—Interleaver providing variable interleaving, e.g. variable block sizes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
- H03M13/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/276—Interleaving address generation
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
一种交织设备和交织方法,所述交织方法包括:如果待交织数据的长度N大于2m×j而小于2m×(j+1),则交织器处理长度N’为2m×(j+1),其中,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值;从地址0到地址N-1,将N个输入数据比特顺序存储在存储器中;对地址0到N’-1进行部分比特反向顺序交织以产生交织后的地址0到N’-1;以及从交织后的地址0到N’-1中排除交织后的地址N到N’-1;使用交织后的地址0到N-1来从存储器中读取所述N个输入数据比特。
Description
本申请是申请日为2003年1月9日、申请号为03802077.7、发明名称为“通信系统的交织设备和方法”的发明专利申请的分案申请。
技术领域
一般地,本发明涉及通信系统,具体涉及无线电通信系统的交织设备和方法。具体地讲,本发明涉及一种用于生成交织地址和确定交织器长度以提高交织器的存储效率的交织设备和方法。
背景技术
交织是一种与随机纠错码解码联系紧密、典型应用于衰落信道中增强纠错码性能的技术。很多应用,例如国际移动通信系统2000(IMT-2000)的空中接口要求有充分确定的方法以实现各种交织技术。此外,这种技术进一步要有利于提高数字通信系统的可靠性,特别是要使现有和将来的数字通信系统的性能得到提高。
IMT-2000标准建议,信道交织器使用比特反向交织器。然而,这种交织器可以有各种不同的长度,而且按照IMT-2000标准定义的前向链路和后向链路,可以有各种不同类型的逻辑信道。因此,为了提供IMT-2000标准的范围,对于交织存储器要求提高存储容量。例如,在N=3的前向链路传输方式中,诸如在144比特/帧到36864比特/帧之间的各种不同长度的交织器,都可以被使用。下面简要描述比特反向交织器。
在图1,用一个方框图显示了这种比特反向交织器的置换方法。如图1所示,比特反向交织是一种通过从地址的最高有效比特(MSB)到最低有效比特(LSB)交换比特位置而生成交织地址的技术。这种交织方法包括有多种优点。首先,因为这种交织器可以用枚举函数来实现,所以使用存储器简单,并且容易实现各种不同长度的交织器。此外,置换序列的比特位置被随机地分配到主要位置上。然而,对于长度不能用2的乘幂来表示的交织器,其存储效率是不高的。例如,为了实现36864比特的交织器,要求有64K比特(65536=216)的存储容量。这是因为在最大整数65536之下,能够用2的乘幂表示的整数都比36864要小。因此,有28672(65536-36864)比特在交织存储器中是不使用的,因而造成存储浪费。此外,即使存储器有足够的容量,但要实现传输码元的方法是非常困难的。其次,对于接收方,难以检测接收码元的准确位置。最后,因为要使用各种不同类型的交织器,所以在存储器中存储各种不同的交织规则是必要的,因而要求有诸如中央处理单元(CPU)的控制器,同时有很大的存储容量也是必要的。
常规的交织方法也有多种其它的缺点。第一,在现有交织方法中,交织器的长度不能用2的乘幂来表示,而且有着最大长度的交织器的存储效率却最低。即,在设计IMT-2000前向链路的交织器时,每个逻辑信道的长度不用2m来表示,且这种交织器的长度大。因此,使用比特反向交织方法是没有效率的。
第二,在现有交织方法中,在控制器、CPU或收发器主机中,依照交织器长度,存储各种不同的交织规则或指令一般是必要的。因此,主机存储器要求在交织器缓冲区之外分离的指令存储。
第三,如果为了使用比特反向交织方法而把交织器的长度设为2m,则删除不需要的无效地址是必要的。因此,在实现过程中,交织器具有复杂的传输方法,而且在获取码元同步上有困难。
因而,对交织设备和方法而言,现实的需要,就是在没有过分复杂度的前提下提供一种存储效率高、能够使用比特反向交织技术的交织器。
发明内容
因此,本发明的一个方面,就是提供一种在通信系统中通过一种单一的算法针对各种不同的交织器长度生成交织地址的交织设备和方法。
本发明的另一个方面,就是提供一种在通信系统中存储效率更高、仅要求交织器存储容量与帧长度N一样大的交织设备和方法。
本发明的另一个方面,就是提供一种在通信系统中,使用N=2m×j+a(这里0<a<2m)的交织器长度交织输入数据的设备和方法。
根据本发明的一个方面,提供一种交织方法,所述方法包括以下步骤:如果给定的交织器长度N大于2m×j而小于2m×(j+1),则确定新交织器长度N’=2m×(j+1)和地址0到N’-1,其中,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值;从地址0到地址N-1,将N个输入数据比特顺序存储在存储器中;使用新交织器长度N’进行部分比特反向顺序交织以产生交织后的地址0到N’-1;以及从交织后的地址0到N’-1中排除交织后的地址N到N’-1;使用交织后的地址0到N’-1中的读取地址0到N-1来从存储器中读取所述N个输入数据比特。根据本发明的另一方面,提供一种在通信系统中对N=2m×j+a的输入数据进行交织的方法,其中0<a<2m,a为整数,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值,所述方法包含以下步骤:用N’=2m×(j+1)的R×C矩阵结构,按存储器的顺序列方向(sequentialcolumn direction)确定地址,其中R=2m,C=(j+1);从地址0到地址N-1,按顺序列方向将输入数据存储在存储器中,并且其中在与存储器最后一列中的地址N到N’-1相应的(2m-a)区域内,不存储输入数据;用R×C矩阵结构,通过对所确定的地址进行部分比特反向顺序交织,生成输出地址;以及通过按顺序行方向确定输出地址,生成用于读取存储在存储器中的数据的读取地址,其中,生成的读取地址排除了与地址N到N’-1相应的输出地址。
根据本发明的另一方面,提供一种交织设备,包含:计数器,被适配为如果给定的交织器长度N大于2m×j而小于2m×(j+1),则依照新的交织器长度N’=2m×(j+1)来对0到N’-1的地址计数,其中,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值;存储器,被适配为基于计数器的计数结果,从地址0到地址N-1,顺序存储N个输入数据比特;地址生成器,被适配为通过部分比特反向顺序交织,生成用于读取存储在存储器中的数据的读取地址,其中,生成的读取地址排除了与地址N到N’-1相应的地址。
根据本发明的另一方面,提供一种在通信系统中的交织设备,包含:具有N’=2m×(j+1)的R×C矩阵结构的存储器;写入地址生成器;以及读取地址生成器;其中,写入地址生成器被适配为生成写入地址,该写入地址用于从地址0到地址N-1,顺序在存储器中写入N=2m×j+a输入数据;其中,在相应于存储器地址N到N’-1的(2m-a)区域内没有存储输入数据;其中,读取地址生成器被适配为通过以下方式生成用于读取存储在存储器中的数据的读取地址:用部分比特反向顺序交织生成具有R×C矩阵结构的输出地址0到N’-1,从输出地址0到N’-1中排除交织后的输出地址N到N’-1,其中0<a<2m,a为整数,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值,R=2m,C=(j+1)。
根据本发明的另一方面,提供了一种交织方法,包含以下步骤:如果待交织数据的长度N大于2m×j而小于2m×(j+1),则交织器处理长度N’为2m×(j+1),其中,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值;从地址0到地址N-1,将N个输入数据比特顺序存储在存储器中;对地址0到N,-1进行部分比特反向顺序交织以产生交织后的地址0到N’-1;以及从交织后的地址0到N’-1中排除交织后的地址N到N’-1;使用交织后的地址0到N-1来从存储器中读取所述N个输入数据比特。
根据本发明的另一方面,提供了一种在通信系统中对N=2m×j+a的输入数据进行交织的方法,其中0<a<2m,a为整数,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值,所述方法包含以下步骤:用N’=2m×(j+1)的R×C矩阵结构,按存储器的顺序列方向确定地址,其中R=2m,C=(j+1);从地址0到地址N-1,按顺序列方向将输入数据存储在存储器中,并且其中在与存储器最后一列中的地址N到N’-1相应的(2m-a)区域内,不存储输入数据;通过对所确定的地址进行部分比特反向顺序交织,生成输出地址0到N’-1;以及通过排除输出地址中的N到N’-1,生成用于读取存储在存储器中的数据的读取地址。
根据本发明的另一方面,提供了一种交织设备,包含:计数器,被适配为如果待交织数据的长度N大于2m×j而小于2m×(j+1),则依照交织器处理长度N’为2m×(j+1)来对0到N’-1的地址计数,其中,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值;存储器,被适配为基于计数器的计数结果,从地址0到地址N-1,顺序存储N个输入数据比特;地址生成器,被适配为通过部分比特反向顺序交织,生成用于读取存储在存储器中的数据的读取地址,其中,生成的读取地址排除了交织后的地址N到N’-1。
附图说明
结合附图,从下列详细描述中,本发明上述和其它的目标、特征和优点,将会更加显而易见。
图1的方框图,显示了依照背景技术的已知比特反向交织器的置换方法;
图2的方框图,显示了与本发明实施方式相一致的交织器结构;
图3的方框图,显示了与图2所示交织器相对应的去交织器结构;
图4的流程图,显示了与本发明实施方式相一致的部分比特反向顺序(PBRO)交织方法;
图5显示了与本发明另一实施方式相一致、执行PBRO交织操作的方法;
图6显示了与本发明实施方式相一致的交织器长度为N=406的PBRO交织操作。
具体实施方式
本发明的优选实施方式参考附图描述如下。为了简明扼要,在下列描述中,对本领域技术人员公知的功能或结构,不再详细描述。
在操作过程中,依照本发明实施方式的交织器/去交织器,使用交织/去交织的算法,置换输入码元序列。然后,码元序列按新的序列存储在输出缓冲器中。因此,下面描述的交织器/去交织器至少包括:交织存储器(比如输入数据缓冲器和输出数据缓冲器),地址生成器和通用计数器。
交织器/去交织器的交织存储器、地址生成器和计数器,在图2中显示,该图显示了依照本发明实施方式的交织器200的结构。参看图2,通过接收交织器长度N、第一参数‘m’(或称BIT_SHIFT(比特移位)参数)、第二参数‘j’(或称UP_LIMIT(上限)参数)和时钟,地址生成器211为读取顺序存储在交织存储器212中比特码元,生成交织地址。在写入操作方式下,交织存储器212顺序存储输入比特码元,并且在读取操作方式下,依照从地址生成器211提供的地址,输出比特码元。计数器213对输入时钟信号214计数,并且把时钟计数值作为写入地址,提供给交织存储器212。
如上所述,在写入操作方式下,交织器200顺序将输入数据写入交织存储器212,并且依照从地址生成器211生成的读取地址,输出存储在交织存储器212中的数据。
这里,地址生成器211依照部分比特反向顺序(PBRO)的交织算法,生成读取地址(ADDRESS_READ),或交织地址,该算法用等式(1)定义如下:
r=k mod j
PUC=k/j (1)
s=BRO(PUC)
ADDRESS_READ=r×2m+s
在等式(1)中,‘k’代表0到N-1之间的序号,(0≤k≤N-1),表示输出数据比特序列,‘m’代表第一参数,表示从LSB到MSB的连续零(0)比特的个数,‘j’代表第二参数,这个参数对应于除了所述连续0比特以外的比特的十进制数值。这里,交织器的长度被定义为2m×j。
参看等式(1),现在描述为读取顺序写入交织存储器212的输入码元生成交织地址的方法。如果,如上述例子,交织器的长度是N,则在等式(1)中,k(=0,1,2,...,N-1)表示输入数据的时间标记,第三参数‘r’、PUC和第四参数‘s’表示为预定参数。此外,‘mod’和‘/’表示为计算余数和商分别进行的模运算和除运算。此外,BRO(H)表示比特反向函数,用来将‘H,转换成二进制格式,然后通过从MSB到LSB反向排列该二进制数而将其转换成十进制数。因此,通过使用等式(1)的函数,交织器200可以计算对应于输入数据序列‘k’的读取序列标记ADDRESS_READ,并且,依照读取序列标记ADDRESS_READ,读取存储器中的内容。第一参数‘m’和第二参数‘j’依照交织器的长度而确定。一旦确定了交织器的长度N、第一参数‘m’和第二参数‘j’,交织器就依赖这些数值,依照后面的算法,生成与每一个‘k’相对应的新地址标记ADDRESS_READ,并且使用该地址标记ADDRESS_READ,从交织存储器212中读取数据。
现在描述由帧长度(或称交织器长度)确定第一参数‘m’和第二参数‘j’的方法。用二进制数表示事先确定的交织器长度N。另外,计算从LSB到MSB连续‘0’比特的最大个数,并且将这个数值定义为第一参数‘m’。此外,通过收集排除掉连续‘0’比特的截断比特并将它们转换成十进制数,得到第二参数‘j’。例如,如果N=576,则可以用二进制值N=[1001000000]来表示它。因此,m=6,j=(1001)2=9。
图3显示了与上面描述的交织器200相对应的去交织器300的结构。参看图3,通过接收交织器长度值N、BIT_SHIFT值(也就是第一参数‘m’)、UP_LIMIT值(也就是第二参数‘j’)和时钟,地址生成器311为执行写入操作方式,生成了交织存储器地址,并把这个生成的交织存储器地址提供给去交织存储器312。在写入操作方式下,依照从地址生成器311提供的写入地址,去交织存储器312存储输入数据,并在读取操作方式下,顺序输出存储的数据。计数器313对输入时钟314计数,并把这个时钟计数值作为读取地址值,提供给去交织存储器312。
去交织器300有与上述的交织器200基本相同的结构,并且执行交织器200的反向操作。即,去交织器300与交织器200不同之处在于,在写入操作方式下,去交织器使用等式(1)的算法,将输入数据存储在去交织存储器312,并且在读取操作方式下,按顺序读取数据。为了还原从发送器发送的原始数据序列,去交织器300在写入操作方式下把数据存储在原始序列中。
为了方便,现在下面的描述将参照交织器200。将参照适用于IMT-2000或码分多址2000(CDMA-2000)系统的实施方式。
首先,关于在IMT-2000系统前向链路中使用的交织器长度,将用下面的表1,作详细描述。
表1中,F-FCH代表前向基本信道,F-SCH代表前向附加信道,F-CCCH代表前向公共命令控制信道,F-SYNC CH代表前向同步信道,F-PCH代表前向寻呼信道,F-DCCH代表前向专用控制信道。
从表1看到,IMT-2000系统提出12个交织器长度(N=12),每一个适用于用‘○’来表示的前向逻辑信道。例如,前向基本信道F-FCH(Rate Set 2)使用144比特、576比特和1152比特的交织器长度。这里,对144比特的交织器长度,使用每帧5毫秒。
F-FCH(RS1) | F-FCH(RS2) | F-SCH(RS1) | F-SCH(RS2) | F-CCCH | F-SYNCCH | F-PCH | F-DCCH | |
72(位) | ||||||||
144 | ○(5毫秒) | ○(5毫秒) | ○(5毫秒) | |||||
192 | ○(26.6毫秒) | |||||||
288 | ||||||||
384 |
576 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○(5毫秒) |
1,152 | ○ | ○ | ○ | |||||
2,304 | ○ | ○ | ||||||
4,608 | ○ | ○ | ||||||
9,216 | ○ | ○ | ||||||
18,432 | ○ | ○ | ||||||
36,864 | ○ | ○ |
表1
下面的表2显示的是表1中交织器长度的第一参数‘m’和第二参数‘j’。
参照表2,下面描述为交织器长度N=9216计算BIT_SHIFT和UP_LIMIT。首先,交织器的长度9216,能够用二进制数N=[10010000000000]表示。对这个二进制数,从LSB到MSB计算连续‘0’比特的最大个数,并把这个计算值定义为第一参数‘m’(或称BIT_SHIFT)。其后,排除掉这些连续0比特后得到的截断比特被组合并转换成十进数值(1001=9(10))。这个十进制数就是UP_LIMIT值(9)。
下面的表3和表4采用举例的方法,分别说明了长度N=576交织器的写入方式和读取方式。
在写入操作方式下,输入数据比特从地址0到地址574,被顺序存储到交织存储器212,见表3。接下来,在读取操作方式下,使用由地址生成器211生成的读取地址,从交织存储器212中输出数据比特。
第三个输出数据比特(k=2)也能用参照等式(1)描述。首先,对于N=576,BIT_SHIF=6,UP_LIMIT=9。所以,r=2 mod 9=2,PUC=2/9=0。此外,s=BRO(0)=0。结果,最后计算的地址ADDRESS_READ=2×26+0=128。然而,因为表4显示从1到N的读取地址,通过加1给计算地址来确定有效地址。
交织器长度(N) | N的二进制值 | ‘j’ | ‘m’ | 逻辑信道 |
144 | 10010000 | 9(1001) | 4 | 5毫秒/帧F-DCCH(5毫秒/帧)F-FCH/RS2 |
(5毫秒/帧) | ||||
192 | 1100000 | 3(0011) | 5 | F-SYNC CH(22.62毫秒/帧) |
576 | 1001000000 | 9(1001) | 6 | F-PCHF-CCHF-DCCH(20毫秒/帧)F-SCH/RS2F-SCH/RS1 |
1,152 | 10010000000 | 9(1001) | 7 | F-FCH/RS2F-SCH |
2,304 | 100100000000 | 9(1001) | 8 | F-SCH |
4,608 | 1001000000000 | 9(1001) | 9 | F-SCH |
9,216 | 10010000000000 | 9(1001) | 10 | F-SCH |
18,432 | 100100000000000 | 9(1001) | 11 | F-SCH |
36,864 | 1001000000000000 | 9(1001) | 12 | F-SCH |
表2
上述PBRO交织操作已参照以下情况进行了描述:交织器长度N等于由第一参数‘m’和第二参数‘j’确定的2m×j。然而,如果交织器长度N大于2m×j而小于2m×(j+1),则PBRO交织操作必须用不同的方法执行。即,如果交织器长度N是2m×j+a,则执行另外一种交织操作是必要的。这里,‘a’是大于0而小于2m的正数(0<a<2m)。在系统的实现中,有这样一种情况:依照上层特征,交织器长度不等于2m×j,或者即使交织器的长度等于2m×j,但第一参数‘m’太小。在这种情况下,交织器可能没有PBRO特征,因此要求有另一种交织操作。如果交织器的长度是384=27×3,则第一参数和第二参数可以分别被确定为m=7、j=3。然而,在交织器的长度是406=27×3+22的情况下,交织器长度不能用2m×j的方式表示,尽管第一参数和第二参数分别定义为m=7、j=3。因为可用2m×j表示的可能的交织器长度是2×(26×3+11)=2×203,因此,第一参数和第二参数可以分别被定义为m=1、j=203。然而,事实上,如果m=1,则不提供PBRO特征。
表3
下面表5显示一种情况是依照交织器长度可能进行PBRO交织,一种情况是依照交织器长度不可能进行PBRO交织。具体地,表5举例说明对于a=22,交织器为406、790、1558、2326、3094和3862等6种长度时,确定的参数m和j’。
表5中左边一列显示的是“理想情况”,表示这种情况下PBRO交织是可能的,因为交织器长度N=Nmax,比如384、768、1536、2304、3072和3840。然而,在右边一列显示的是“非理想情况”,表示这种情况下PBRO特征丢失,“丢弃”表示在输出的交织地址中,被删除的地址的个数。因此,本发明将为表5中显示的任何交织器长度,提供一种都能够实现PBRO交织的方法。
1 | 65 | 129 | 193 | 257 | 321 | 385 | 449 | 513 |
33 | 97 | 161 | 225 | 289 | 353 | 417 | 481 | 545 |
17 | 81 | 145 | 209 | 273 | 337 | 401 | 465 | 529 |
49 | 113 | 177 | 241 | 305 | 369 | 433 | 497 | 561 |
9 | 73 | 137 | 201 | 265 | 329 | 393 | 457 | 521 |
41 | 105 | 169 | 233 | 297 | 361 | 425 | 489 | 553 |
25 | 89 | 153 | 217 | 281 | 345 | 409 | 473 | 537 |
57 | 121 | 185 | 249 | 313 | 377 | 441 | 505 | 569 |
5 | 69 | 133 | 197 | 261 | 325 | 389 | 453 | 517 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
16 | 80 | 144 | 208 | 272 | 336 | 400 | 464 | 528 |
48 | 112 | 176 | 240 | 304 | 368 | 432 | 496 | 560 |
32 | 96 | 160 | 224 | 288 | 352 | 416 | 480 | 544 |
64 | 128 | 192 | 256 | 320 | 384 | 448 | 512 | 576 |
表4
图4是一个流程图,显示了依照本发明的实施方式的交织器200的PBRO交织过程。具体地,针对属于表5中“非理想情况”的交织器长度,图4举例说明了执行PBRO交织的程序。这个程序包括有如下操作步骤:依照写入地址,也就是从计数器213得到的计数值,将输入数据存储在交织存储器212中,并且依照由地址生成器211生成的读取地址,读取存储在交织存储器212中的数据。由计数器213生成写入地址的方法对本领域技术人员是公知的,因此,这里不准备作描述。取而代之,将对由交织器200的地址生成器211生成读取地址的方法,进行详细描述。
参看图4,在步骤401,地址生成器211确定交织器长度N。这个交织器长度N等于被交织数据的长度。其后,在步骤403,地址生成器211在小于交织器长度N的Nmax值当中,计算满足2m×j的最大值Nmax值,而在步骤405,使用适用于表5中“理想结果”的PBRO交织方法,计算满足Nmax=2m×j的第一参数m和第二参数j。
表5
然后在步骤407,地址生成器211通过给第二参数j加1的方法确定j’,并且在步骤409初始化参数k。按照上面的描述,k表示读取序列。其后,在步骤411,地址生成器211从m和j’=j+1定义新的交织器长度N’=2m×j’=2m×(j+1)。这里,新的交织器长度有N’>N>Nmax的关系。其后,地址生成器依照第一参数m和第二参数j,用PBRO交织方法,计算输出地址PBRO(k)。
依照本发明的实施方式,在写入操作方式下,接收的一系列信息码元(输入数据)从地址0到地址N-1顺序存储在交织存储器中。因此,交织器要求长度为N的存储器。即,虽然可以设计交织存储器具有从地址N到地址N’-1的额外的存储区域的交织器,但这些存储区域没有被利用。这个写入操作通过图2中的计数器213生成的写入地址去执行。计数器213起到写入地址生成器的作用。
在上述本发明的实施方式中,在读取操作方式下,地址生成器使用新的交织器长度N’,执行等式(1)中的PBRO交织,为输出序列k生成读取地址PBRO(k),然后依照生成的读取地址,读取顺序存储在交织存储器中的信息码元。
当在读取方式下执行时,在步骤413,地址生成器确定生成的读取地址PBRO(k)是不是大于N-1。如果生成的读取地址PBRO(k)大于N-1,则在步骤423,地址生成器放弃这个生成的读取地址。否则,如果生成的读取地址PBRO(k)小于或等于N-1,则在步骤415,地址生成器读取存储在这个生成的读取地址上的数据。
其后,在步骤417,地址生成器给表示输出序列的参数k加1,并在步骤419,确定参数k是不是大于2m×j’-1(或N’-1)。如果参数k小于或等于2m×j’-1,则为了继续生成读取地址,地址生成器返回到步骤411。然而,如果参数k大于2m×j’-1,则地址生成器在步骤421结束读取地址生成操作。在生成的读取地址当中,大于或等于交织器长度N的地址被放弃。因此,与输入比特码元数目相同的地址可以用作最后的读取地址,用来进行交织。
此外,表5显示了为406、790、1558、2326、3094和3862等6种交织器长度中的每一个所确定的参数m和j’。在表5中已显示,j’比从Nmax计算的j大+1。
图5显示了在表5中属于“非理想情况”时,使用参数m和j’,执行PBRO交织操作的方法。参看图5,22个比特码元被加到最后一列501,并且通过从最后一列的单元中排除掉22个单元所确定的2m-22地址没有被利用。因此,执行PBRO交织后,属于这部分的比特码元被删除。如果假定用N=2m×j’+a(这里0<a<2m)的交织器长度输入数据,则输入数据从地址0到地址N-1被按列顺序存储在地址存储器中,并且此时,没有输入数据被存储在对应于地址N到N’-1的(2m-a)区域内。
图6显示了依照本发明的实施方式对于交织器长度N=406的PBRO交织操作。对于交织器长度N=406,Nmax是384=27×3,如表5所示,第一参数和第二参数分别被定义为m=7、j=3。因此,j’=j+1=4。如图6所示,在写入操作方式下,交织器200将第0位到第405位输入比特码元顺序存储在交织存储器。因为剩余的比特码元不存在,所以在图中它们用X表示。交织器按列将406个输入比特码元顺序存储在具有R×C(=27×(3+1))矩阵形状的交织存储器中。这里,只有22个比特码元被存储在最后的第(j+1)列,没有比特码元被存储在剩余的106个地址上。
在读取操作方式下,交织器200依照等式(1)执行PBRO交织。如果输出地址大于或等于交织器长度406,则交织器不输出相应的输出地址。因此,被提议使用的交织器正好输出N=406个地址,并且有长度为N=406的交织存储器。
上述本发明实施方式的另一个应用,适合于交织输入数据N=2m×j+a(这里0<a<2m)的情况。这样的交织操作通过在具有N’=2m×(j+1)矩阵结构的存储器中按顺序列方向首先确定地址来实现。接下来,输入数据从地址0到地址N-1被按顺序列方向存储在存储器。这里,在相应于地址N到N’-1的存储器中最后一列的(2m-a)区域内,没有数据被存储。然后,已确定的地址经过PBRO交织,生成一个具有R×C矩阵的输出地址。为了读取存储在存储器中的数据,按顺序列方向确定输出地址,生成读取地址。这里,与生成的读取地址一样,输出地址中与地址N到N’-1相应的都被删除。
表5和图6显示依照本发明另一个实施方式的执行符合“非理想情况”的PBRO交织所需的参数m和j’。如上所示,表5显示在a=22时,在交织器长度为406、790、1558、2326、3094和3862等6种情况下所确定的参数m和j’。
表6显示在a=24时,在交织器长度为408、792、1560、2328、3096和3864等6种情况下所确定的参数m和j’。
表6显示在a=24时,在交织器长度为408、792、1560、2328、3096和3864等6种情况下所确定的参数m和j’。然而,考虑到图4的程序,则表6可以改变成表7。
表6
表7
当交织器长度符合“非理想情况”,去交织用交织处理的相反处理执行,该交织处理已经结合PBRO交织和去交织进行了描述。即在去交织处理中,使用图4用于生成读取地址的程序,生成写入地址,所述程序在交织处理中被使用过。因此,尽管生成比实际的交织器要大的新的交织器写入地址,但从生成的写入地址中删除了不必要的地址,然后,存储器存储与现有交织器长度多的数据比特。
如上所述,本发明为各种不能用2的乘幂表示的交织器长度,提供了一种有效生成地址的方法,从而有助于提高交织器的存储效率。此外,对于各种不同的交织器长度,用一种单一的算法就能生成地址,防止了因在CPU中为各种交织器长度存储交织规则所引起的存储容量的浪费。此外,本发明有助于存储效率的提高,因为被提议使用的交织器要求与帧长N一样多的存储容量。
虽然针对本发明的特定实施方式显示并描述了本发明,但本领域技术人员应该理解在不脱离权利要求所限定的本发明的精神与范围的前提下可以进行各种修改与变化。例如,虽然本发明描述涉及到了数值‘a’是22和24的情况,但本发明同样也能适用于数值‘a’小于2m的情况。
Claims (8)
1.一种交织方法,包含以下步骤:
如果待交织数据的长度N大于2m×j而小于2m×(j+1),则交织器处理长度N’为2m×(j+1),其中,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值;
从地址0到地址N-1,将N个输入数据比特顺序存储在存储器中;
对地址0到N’-1进行部分比特反向顺序交织以产生交织后的地址0到N’-1;以及
从交织后的地址0到N’-1中排除交织后的地址N到N’-1;
使用交织后的地址0到N-1来从存储器中读取所述N个输入数据比特。
2.根据权利要求1的方法,其中存储器长度为N。
3.根据权利要求1的方法,其中存储器长度为N’。
4.一种在通信系统中对N=2m×j+a的输入数据进行交织的方法,其中0<a<2m,a为整数,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值,所述方法包含以下步骤:
用N’=2m ×(j+1)的R×C矩阵结构,按存储器的顺序列方向确定地址,其中R=2m,C=(j+1);
从地址0到地址N-1,按顺序列方向将输入数据存储在存储器中,并且其中在与存储器最后一列中的地址N到N’-1相应的(2m-a)区域内,不存储输入数据;
通过对所确定的地址进行部分比特反向顺序交织,生成输出地址0到N’-1;以及
通过排除输出地址中的N到N’-1,生成用于读取存储在存储器中的数据的读取地址。
5.根据权利要求4的方法,还包含了依照生成的读取地址,读取存储在存储器中的数据的步骤。
6.一种交织设备,包含:
计数器,被适配为如果待交织数据的长度N大于2m×j而小于2m×(j+1),则依照交织器处理长度N’为2m×(j+1)来对0到N’-1的地址计数,其中,m是N的二进制值中从最低有效位到最高有效位的连续零比特的个数,j是N的二进制值中除了所述连续零比特以外的比特的十进制值;
存储器,被适配为基于计数器的计数结果,从地址0到地址N-1,顺序存储N个输入数据比特;
地址生成器,被适配为通过部分比特反向顺序交织,生成用于读取存储在存储器中的数据的读取地址,其中,生成的读取地址排除了交织后的地址N到N’-1。
7.根据权利要求6的设备,其中存储器长度为N。
8.根据权利要求6的设备,其中存储器长度为N’。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020001252A KR100860660B1 (ko) | 2002-01-09 | 2002-01-09 | 통신시스템의 인터리빙 장치 및 방법 |
KR1020021252 | 2002-01-09 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038020777A Division CN100539443C (zh) | 2002-01-09 | 2003-01-09 | 通信系统的交织设备和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101615915A true CN101615915A (zh) | 2009-12-30 |
Family
ID=19718325
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910165162A Pending CN101615915A (zh) | 2002-01-09 | 2003-01-09 | 通信系统的交织设备和方法 |
CNB038020777A Expired - Lifetime CN100539443C (zh) | 2002-01-09 | 2003-01-09 | 通信系统的交织设备和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038020777A Expired - Lifetime CN100539443C (zh) | 2002-01-09 | 2003-01-09 | 通信系统的交织设备和方法 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6910110B2 (zh) |
EP (1) | EP1330040B1 (zh) |
JP (1) | JP3958745B2 (zh) |
KR (1) | KR100860660B1 (zh) |
CN (2) | CN101615915A (zh) |
AU (1) | AU2003202155B2 (zh) |
BR (1) | BRPI0306689B1 (zh) |
CA (1) | CA2472952C (zh) |
RU (1) | RU2274950C2 (zh) |
WO (1) | WO2003058823A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2261529C2 (ru) * | 2002-02-06 | 2005-09-27 | Самсунг Электроникс Ко.,Лтд | Перемежитель и способ перемежения в системе связи |
US7401208B2 (en) * | 2003-04-25 | 2008-07-15 | International Business Machines Corporation | Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor |
US7360062B2 (en) * | 2003-04-25 | 2008-04-15 | International Business Machines Corporation | Method and apparatus for selecting an instruction thread for processing in a multi-thread processor |
US7401207B2 (en) * | 2003-04-25 | 2008-07-15 | International Business Machines Corporation | Apparatus and method for adjusting instruction thread priority in a multi-thread processor |
US7398446B2 (en) * | 2003-05-29 | 2008-07-08 | Lucent Technologies Inc. | Low power operation of an address interleaver |
US7069398B2 (en) * | 2003-06-20 | 2006-06-27 | Industrial Technology Research Institute | Apparatus and method for de-interleaving the interleaved data in a coded orthogonal frequency division multiplexing receiver |
WO2005052808A1 (en) * | 2003-11-26 | 2005-06-09 | Cygnus Communications Canada Co. | Pipelined fft processor with memory address interleaving |
US7415584B2 (en) | 2003-11-26 | 2008-08-19 | Cygnus Communications Canada Co. | Interleaving input sequences to memory |
KR100850838B1 (ko) | 2004-07-29 | 2008-08-06 | 콸콤 인코포레이티드 | 인터리빙을 위한 시스템 및 방법 |
US9246728B2 (en) | 2004-07-29 | 2016-01-26 | Qualcomm Incorporated | System and method for frequency diversity |
KR100853497B1 (ko) * | 2004-08-25 | 2008-08-21 | 삼성전자주식회사 | 터보 인터리빙 장치 및 그의 출력주소 발생 방법 |
US7167114B2 (en) * | 2004-10-05 | 2007-01-23 | Sony Corporation | Memory efficient interleaving |
KR100762134B1 (ko) | 2004-10-07 | 2007-10-02 | 엘지전자 주식회사 | 블록 인터리빙을 위한 읽기 주소 발생 방법 |
US7543197B2 (en) * | 2004-12-22 | 2009-06-02 | Qualcomm Incorporated | Pruned bit-reversal interleaver |
KR100699491B1 (ko) * | 2005-07-19 | 2007-03-26 | 삼성전자주식회사 | 인터리빙 방법 및 그 장치 |
US9391751B2 (en) | 2005-07-29 | 2016-07-12 | Qualcomm Incorporated | System and method for frequency diversity |
US9042212B2 (en) | 2005-07-29 | 2015-05-26 | Qualcomm Incorporated | Method and apparatus for communicating network identifiers in a communication system |
US7555684B1 (en) * | 2006-01-17 | 2009-06-30 | Xilinx, Inc. | Circuit for and a method of generating an interleaver address |
US20070277064A1 (en) * | 2006-05-02 | 2007-11-29 | Mediatek Inc. | Reconfigurable convolutional interleaver/deinterleaver using minimum amount of memory and an address generator |
US8266508B2 (en) * | 2007-06-08 | 2012-09-11 | Telefonaktiebolaget L M Ericsson (Publ) | Computational efficient convolutional coding with rate matching |
KR101435830B1 (ko) * | 2007-06-20 | 2014-08-29 | 엘지전자 주식회사 | 인터리빙 수행 방법 |
US9712279B2 (en) | 2007-10-04 | 2017-07-18 | Samsung Electronics Co., Ltd. | Method and apparatus for interleaving data in a mobile communication system |
KR101613893B1 (ko) | 2007-10-04 | 2016-04-20 | 삼성전자주식회사 | 이동통신 시스템에서 데이터 인터리빙 방법 및 장치 |
GB2456775B (en) * | 2008-01-22 | 2012-10-31 | Advanced Risc Mach Ltd | Apparatus and method for performing permutation operations on data |
US8127105B2 (en) * | 2008-11-04 | 2012-02-28 | Qualcomm Incorporated | Parallel pruned bit-reversal interleaver |
CN101710850B (zh) | 2008-12-26 | 2013-10-30 | 三星电子株式会社 | 卷积Turbo编码方法及实现编码方法的设备 |
US8572148B1 (en) * | 2009-02-23 | 2013-10-29 | Xilinx, Inc. | Data reorganizer for fourier transformation of parallel data streams |
US8775750B2 (en) | 2009-09-16 | 2014-07-08 | Nec Corporation | Interleaver with parallel address queue arbitration dependent on which queues are empty |
EP2706667A1 (en) * | 2010-09-13 | 2014-03-12 | Hughes Network Systems, LLC | Method and apparatus for a parameterized interleaver design process |
WO2013187862A1 (en) * | 2012-06-11 | 2013-12-19 | Intel Corporation | A FAST MECHANISM FOR ACCESSING 2n±1 INTERLEAVED MEMORY SYSTEM |
EP3376673B1 (en) * | 2015-11-10 | 2022-06-29 | Sony Group Corporation | Data processing devices and data processing methods for frequency interleaving and deinterleaving |
CN109474373B (zh) * | 2017-09-08 | 2021-01-29 | 华为技术有限公司 | 交织方法和交织装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6198733B1 (en) * | 1998-03-13 | 2001-03-06 | Lucent Technologies Inc. | Forward-link sync-channel interleaving/de-interleaving for communication systems based on closed-form expressions |
US6466564B1 (en) * | 1998-09-14 | 2002-10-15 | Terayon Communications Systems, Inc. | Two dimensional interleave process for CDMA transmissions of one dimensional timeslot data |
US6304991B1 (en) * | 1998-12-04 | 2001-10-16 | Qualcomm Incorporated | Turbo code interleaver using linear congruential sequence |
KR100306282B1 (ko) * | 1998-12-10 | 2001-11-02 | 윤종용 | 통신시스템의인터리빙/디인터리빙장치및방법 |
KR100346170B1 (ko) * | 1998-12-21 | 2002-11-30 | 삼성전자 주식회사 | 통신시스템의인터리빙/디인터리빙장치및방법 |
KR100350459B1 (ko) * | 1998-12-26 | 2002-12-26 | 삼성전자 주식회사 | 통신시스템의인터리빙/디인터리빙장치및방법 |
US6314534B1 (en) * | 1999-03-31 | 2001-11-06 | Qualcomm Incorporated | Generalized address generation for bit reversed random interleaving |
KR100480286B1 (ko) * | 1999-04-02 | 2005-04-06 | 삼성전자주식회사 | 터보 인터리빙 어드레스 발생 장치 및 방법 |
US6854077B2 (en) * | 2000-08-05 | 2005-02-08 | Motorola, Inc. | Apparatus and method for providing turbo code interleaving in a communications system |
KR100430567B1 (ko) * | 2000-10-11 | 2004-05-10 | 한국전자통신연구원 | 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템 |
WO2002035709A2 (en) * | 2000-10-25 | 2002-05-02 | Nokia Corporation | Apparatus, and associated method, for forming a signal exhibiting space-time redundancy |
RU2233541C2 (ru) * | 2001-02-13 | 2004-07-27 | Самсунг Электроникс Ко., Лтд. | Устройство и способ генерирования кодов в системе связи |
KR100724921B1 (ko) * | 2001-02-16 | 2007-06-04 | 삼성전자주식회사 | 통신시스템에서 부호 생성 및 복호 장치 및 방법 |
-
2002
- 2002-01-09 KR KR1020020001252A patent/KR100860660B1/ko active IP Right Grant
-
2003
- 2003-01-09 AU AU2003202155A patent/AU2003202155B2/en not_active Expired
- 2003-01-09 CN CN200910165162A patent/CN101615915A/zh active Pending
- 2003-01-09 EP EP03000524A patent/EP1330040B1/en not_active Expired - Lifetime
- 2003-01-09 WO PCT/KR2003/000033 patent/WO2003058823A1/en active Application Filing
- 2003-01-09 JP JP2003559023A patent/JP3958745B2/ja not_active Expired - Lifetime
- 2003-01-09 BR BRPI0306689A patent/BRPI0306689B1/pt active IP Right Grant
- 2003-01-09 US US10/338,715 patent/US6910110B2/en not_active Expired - Lifetime
- 2003-01-09 CN CNB038020777A patent/CN100539443C/zh not_active Expired - Lifetime
- 2003-01-09 CA CA002472952A patent/CA2472952C/en not_active Expired - Lifetime
- 2003-01-09 RU RU2004121027/09A patent/RU2274950C2/ru active
Also Published As
Publication number | Publication date |
---|---|
CA2472952C (en) | 2008-04-01 |
EP1330040A2 (en) | 2003-07-23 |
RU2274950C2 (ru) | 2006-04-20 |
BR0306689A (pt) | 2004-12-07 |
RU2004121027A (ru) | 2005-05-27 |
CN1615592A (zh) | 2005-05-11 |
KR20030060518A (ko) | 2003-07-16 |
EP1330040B1 (en) | 2012-10-03 |
US6910110B2 (en) | 2005-06-21 |
US20030149849A1 (en) | 2003-08-07 |
BRPI0306689B1 (pt) | 2016-11-16 |
AU2003202155A1 (en) | 2003-07-24 |
AU2003202155B2 (en) | 2006-07-06 |
KR100860660B1 (ko) | 2008-09-26 |
WO2003058823A1 (en) | 2003-07-17 |
CN100539443C (zh) | 2009-09-09 |
JP3958745B2 (ja) | 2007-08-15 |
EP1330040A3 (en) | 2003-07-30 |
CA2472952A1 (en) | 2003-07-17 |
JP2005514848A (ja) | 2005-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100539443C (zh) | 通信系统的交织设备和方法 | |
JP3612023B2 (ja) | 通信システムのインターリビング/ディインターリビング装置及び方法 | |
US6314534B1 (en) | Generalized address generation for bit reversed random interleaving | |
CN1186880C (zh) | 具有基于状态机的交织器的编码系统 | |
CN1327640C (zh) | 数据传输的速率匹配方法和装置 | |
US6591381B1 (en) | 2-dimensional interleaving apparatus and method | |
AU761546B2 (en) | Interleaving / deinterleaving device and method for communication system | |
EP1060564B1 (en) | Interleaving/deinterleaving device and method for communication system | |
WO2004002046A2 (en) | Method of interleaving/deinterleaving in a communication system | |
CA2445715C (en) | Interleaving/deinterleaving device and method for communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20091230 |