CN101777923B - Ctc编码器、内码交织器以及内码交织方法、编码处理方法 - Google Patents
Ctc编码器、内码交织器以及内码交织方法、编码处理方法 Download PDFInfo
- Publication number
- CN101777923B CN101777923B CN 200910000627 CN200910000627A CN101777923B CN 101777923 B CN101777923 B CN 101777923B CN 200910000627 CN200910000627 CN 200910000627 CN 200910000627 A CN200910000627 A CN 200910000627A CN 101777923 B CN101777923 B CN 101777923B
- Authority
- CN
- China
- Prior art keywords
- data block
- block length
- bit
- interweaving
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000003672 processing method Methods 0.000 title abstract description 6
- 238000006073 displacement reaction Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 238000009941 weaving Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明实施例公开了CTC编码器、内码交织器以及内码交织方法、编码处理方法,涉及无线通信领域信道编码技术,能够解决CTC译码器无法实现灵活的并行处理以及收发两端存储开销过大的问题。
Description
技术领域
本发明涉及无线通信领域信道编码技术,尤其涉及一种CTC编码器、内码交织器、内码交织方法和编码处理方法。
背景技术
随着对移动通信系统频带利用率的要求越来越高,为了提高移动通信系统的频带利用率,通信领域采用先进的信道编码技术如turbo码来保证可靠通信。
在Wimax标准中,如图1所示,CTC(卷积turbo码)编码器是基于两个双输入的分量编码器通过一个内码交织器并行级联而成。其中,这里的分量编码器为递归系统卷积码编码器。同时CTC编码器具有循环结尾的特点,即分量编码器经过编码后,分量编码器的移位寄存器的终止状态和移位寄存器的初始状态相同。为了满足这一条件,要求输入的数据块长不能为7的倍数。
现有标准中的通信系统要求下行支持100Mbps以上的峰值速率,这对终端的译码器的吞吐量提出了很高的要求。为了满足这一要求,接收端的Turbo码译码器在尽量保证译码性能的基础上分量译码器具有并行译码处理能力。为了保证分量译码器可以实现并行译码,要求分量译码器1和2之间在交互外信息时,两个分量译码器的大小为W的M个子块译码器产生的外信息在交织和解交织时可以实现无冲突读写操作。即内码交织器和解交织器需要满足:
[π(j+tW)/W]≠[π(j+vW)/W] (1)
其中0≤j<W,0≤t,v<L/W,t≠v。L=MW表示需要分量译码器之间交换的外信息符号个数,这里π(j)既可以表示交织器也可以表示解交织器。
目前译码性能较好的和满足上述关系的内码交织器有QPP(QuadraticPermutation Polynomial,二次置换多项式)交织器和ARP(Almost RegularPermutation,近似正则置换)交织器。
ARP交织器是一种基于线性同余方法设计的交织器。具体交织形式如(2)式表示:
π(x)=(P0*x+d(x))mod L, x=0,1,2,…,L-1 (2)
其中L表示待编码的信息符号个数。P0与L互素,d(x)是一个周期为C的偏移向量,其中C表示环长。对于一个ARP交织器,待编码的信息符号个数要求是环长C的整数倍。因此,一般来说对于ARP交织器,每个分量译码器在实现并行译码时,一般要求子块译码器的大小W是C的倍数,因此,ARP交织器在并行处理实现上并不是很灵活。
现有标准中的CTC基于ARP交织方法的内码交织器分两步交织,第一步为比特对内交织。
参照图1,分量编码器1以及内码交织器的输入序列为:
u0=[(A0,B0),(A1,B1),(A2,B2),(A3,B3),...,(AN-1,BN-1)],
其中N表示输入信息比特序列中待编码的的比特对数目。如果输入的比特对:
(Ai,Bi)(i=0,1,2,...,N-1)的下标i满足:imod2==1,则内码交织器先交换Ai和Bi的顺序,进而获得交织后的序列:
u1=[(A0,B0),(B1,A1),(A2,B2),(B3,A3),...,(BN-1,AN-1)]=[u1(0),u1(1),u1(2),u1(3),...,u1(N-1)]。
之后内码交织器进行第二步交织处理。第二步交织处理基于ARP交织方法对比特对进行交织。其中π(j)表示通过交织后输出的比特对在交织前信息比特序列中的位置,即u2(j)=u1(π(j))。具体的交织方法为:
对于j=0,1,2,…,N-1,
当jmod4==0时, π(j)=(P0·j+1)modN
当jmod4==1时, π(j)=(P0·j+1+N/2+P1)modN
当jmod4==2时, π(j)=(P0·j+1+P2)modN
当jmod4==3时, π(j)=(P0·j+1+N/2+P3)modN
这一步获得序列:u2=[u1(π(0)),u1(π(1)),u1(π(2)),...,u1(π(N-1))],然后将序列u2输入到分量编码器2。其中N是输入的比特对数目。参数P0与N互素,P1,P2和P3是相应的交织偏移量参数。这些参数需要和数据块长一起存储在收发两端的RAM(Read Only Memory,只读存储器)中。对于上述的ARP交织方法,如果接收端可以进行并行译码,一般要求子块译码器的大小W是4的倍数。
现有系统中,CTC的数据块长的取值为{48,72,96,144,192,216,240, 288,360,384,432,480,960,1920,2880,3840,4800},单位为bits。
综上可知,现有标准中数据块长的间隔较大,在编码时需要填充的比特数目较多,因而会降低系统的频带利用率。另外,对于CTC编码采纳的基于ARP方法的内码交织器,对于并行译码方面具有严格的要求,一般要求子块译码器的大小须是ARP交织器环长的倍数,因此ARP交织器在并行处理实现上不够灵活。
在现有标准中,每个数据块长下需要存储四个参数,如上述的P0、P1、P2和P3,随着需要增加数据块长的数目不断增多,收发两端的存储开销会不断增加;如果要进一步改善CTC性能,随着需要增加的数据块长的大小增加,对于ARP交织器所需要的环长也会不断的增加,即相应的需存储的交织偏移量参数会增加,因而收发两端的存储开销会增加更多。
发明内容
本发明的实施例提供一种CTC编码器、交织器、交织处理方法和编码处理方法,能够解决CTC译码器无法实现灵活的并行处理以及存储开销过大的问题。
本发明的实施例提供了一种CTC编码中的内码交织方法,包括:
将输入信息比特序列中的比特对进行比特对内置换;
采用二次置换多项式交织方法对所述进行置换后的信息比特序列以比特对为单位进行交织,所述二次置换多项式交织方法的交织公式为:
π(x)=(f1·x+f2·x2)modN,x=0,1,2,…,N-1;
其中,N表示所述输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置;
其中,所述输入信息比特序列的数据块长包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且上述各项中l≠7n,n为非零的正整数。
本发明的实施例提供了一种CTC编码方法,包括:
对输入信息比特序列进行编码;
对输入信息比特序列中的比特对进行比特对内置换,并采用二次置换多项式交织方法对所述进行置换后的信息比特序列以比特对为单位进行交织;
将所述交织后的信息比特序列进行编码;
其中,所述二次置换多项式交织方法的交织公式为:
π(x)=(f1·x+f2·x2)mod N,x=0,1,2,…,N-1;
其中,N表示所述输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置;
其中,所述输入信息比特序列的数据块长包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且上述各项中l≠7n,n为非零的正整数。
本发明的实施例提供了一种内码交织器,包括:
置换单元,用于将输入信息比特序列中的比特对进行比特对内置换;
交织单元,用于采用二次置换多项式交织方法对所述进行置换后的信息比特序列以比特对为单位进行交织,所述二次置换多项式交织方法的交织公式为:
π(x)=(f1·x+f2·x2)mod N,x=0,1,2,…,N-1;
其中,N表示所述输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置;
其中,所述输入信息比特序列的数据块长包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且上述各项中l≠7n,n为非零的正整数。
本发明的实施例提供了一种CTC编码器,包括:
第一分量编码器,用于对输入信息比特序列进行编码;
内码交织器,用于对输入信息比特序列中的比特对进行比特对内置换,并采用二次置换多项式交织方法对所述进行置换后的信息比特序列以比特对为单位进行交织;
第二分量编码器,用于对所述内码交织器交织后的信息比特序列进行编码;
其中,所述二次置换多项式交织方法的交织公式为:
π(x)=(f1·x+f2·x2)modN,x=0,1,2,…,N-1;
其中,N表示所述输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置;
其中,所述输入信息比特序列的数据块长包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且上述各项中l≠7n,n为非零的正整数。
本发明实施例提出的CTC编码器、内码交织器以及内码交织方法、编码处理方法,提出了相对应的数据块长方案,减少各个数据块长之间的间隔,解决了由于数据块长数目较少而导致填充比特数目较多、因而降低了系统频带利用率的问题;并且在编码交织中的第一步采用比特对内交织,第二步采用QPP交织方法,可以灵活地支持并行译码处理,同时节省了收发两端的存储开销。
附图说明
图1为现有技术CTC编码器的结构示意图;
图2为本发明实施例CTC编码方法流程图;
图3为本发明实施例内码交织方法流程图;
图4为本发明实施例CTC编码与现有技术在BLER性能上的比较图;
图5为本发明实施例内码交织器的示意图;
图6为本发明的实施例CTC编码器的另一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,本发明的实施例CTC编码方法,包括:
S201、对输入信息比特序列进行编码并输出编码后的校验比特序列。
输入序列可以为:u0=[(A0,B0),(A1,B1),(A2,B2),(A3,B3),...,(AN-1,BN-1)],其中N表示输入信息比特序列的比特对数目。对该输入信息比特序列的编码可以为现有技术中采用的编码算法,这里不进行详细描述。
S202、对输入信息比特序列中的比特对进行比特对内置换。
假设输入信息比特序列为:u0=[(A0,B0),(A1,B1),(A2,B2),(A3,B3),...,(AN-1,BN-1)],其中N表示输入信息比特序列中待编码的比特对数目。进行比特对内置换的方式可以为:交换Ai和Bi的顺序,进而获得第一步交织后的序列。
举例而言,如果输入信息比特序列的比特对(Ai,Bi)(其中,i=0,1,2,...,N-1)的下标i满足imod2==1,则交换Ai和Bi的顺序;这样,交织后得到的序列u1=[(A0,B0),(B1,A1),(A2,B2),(B3,A3),...,(BN-1,AN-1)]=[u1(0),u1(1),u1(2),u1(3),...,u1(N-1)]。
当然,还可以采用另一种比特对内交织的方法:
如果输入信息比特序列的比特对(Ai,Bi)(i=0,1,2,...,N-1)的下标i满足imod2==0,则交换Ai和Bi的顺序,进而获得交织后的序列:
u1=[(B0,A0),(A1,B1),(B2,A2),(A3,B3),...,(AN-1,BN-1)]=[u1(0),u1(1),u1(2),u1(3),...,u1(N-1)]。
第二步交织按如下方式进行:
S203、采用QPP交织方法对置换后获得的信息比特序列以比特对为单位进行交织。
QPP交织方法的交织公式为:
π(x)=(f1·x+f2·x2)mod N,x=0,1,2,…,N-1;
其中,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置。本实施例中,输入信息比特序列的数据块长可以包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且上述各项中l≠7n,n为非零的正整数。
进一步地,本发明实施例还提供输入信息比特序列的数据块长K和相应的交织参数f1、f2的对应关系。如表1所示,在采用本发明实施例提供的数据块长时,可以从表1中选取相应地交织参数。
表1.数据块长与交织参数对应表
数据块长 (bits) | N | f1 | f2 | 数据块长 (bits) | N | f1 | f2 | 数据块长 (bits) | N | f1 | f2 |
48 | 24 | 5 | 6 | 488 | 244 | 15 | 122 | 1696 | 848 | 411 | 106 |
64 | 32 | 9 | 16 | 496 | 248 | 15 | 62 | 1728 | 864 | 25 | 270 |
72 | 36 | 11 | 6 | 512 | 256 | 7 | 48 | 1760 | 880 | 91 | 330 |
80 | 40 | 9 | 20 | 528 | 264 | 49 | 66 | 1824 | 912 | 385 | 114 |
88 | 44 | 9 | 22 | 544 | 272 | 53 | 102 | 1856 | 928 | 73 | 174 |
96 | 48 | 7 | 12 | 576 | 288 | 59 | 24 | 1888 | 944 | 87 | 118 |
104 | 52 | 7 | 26 | 592 | 296 | 9 | 74 | 1920 | 960 | 151 | 180 |
120 | 60 | 7 | 30 | 608 | 304 | 17 | 38 | 1952 | 976 | 387 | 366 |
128 | 64 | 7 | 16 | 624 | 312 | 49 | 78 | 1984 | 992 | 157 | 186 |
[0106]
136 | 68 | 9 | 34 | 640 | 320 | 31 | 20 | 2048 | 1024 | 79 | 480 |
144 | 72 | 17 | 24 | 656 | 328 | 63 | 82 | 2112 | 1056 | 149 | 198 |
152 | 76 | 9 | 38 | 688 | 344 | 23 | 86 | 2176 | 1088 | 11 | 68 |
160 | 80 | 29 | 20 | 704 | 352 | 109 | 132 | 2304 | 1152 | 91 | 108 |
176 | 88 | 7 | 44 | 720 | 360 | 131 | 150 | 2368 | 1184 | 19 | 74 |
184 | 92 | 19 | 46 | 736 | 368 | 25 | 138 | 2432 | 1216 | 165 | 76 |
192 | 96 | 59 | 24 | 752 | 376 | 119 | 94 | 2496 | 1248 | 293 | 78 |
200 | 100 | 27 | 50 | 768 | 384 | 59 | 168 | 2560 | 1280 | 181 | 200 |
208 | 104 | 9 | 52 | 800 | 400 | 103 | 120 | 2624 | 1312 | 103 | 82 |
216 | 108 | 5 | 18 | 816 | 408 | 13 | 102 | 2752 | 1376 | 15 | 86 |
232 | 116 | 33 | 58 | 832 | 416 | 113 | 52 | 2816 | 1408 | 243 | 88 |
240 | 120 | 7 | 30 | 848 | 424 | 25 | 106 | 2880 | 1440 | 491 | 270 |
248 | 124 | 43 | 62 | 864 | 432 | 41 | 168 | 2944 | 1472 | 485 | 414 |
256 | 128 | 15 | 32 | 880 | 440 | 19 | 110 | 3008 | 1504 | 213 | 282 |
264 | 132 | 5 | 66 | 912 | 456 | 53 | 114 | 3072 | 1536 | 169 | 336 |
272 | 136 | 9 | 34 | 928 | 464 | 85 | 174 | 3200 | 1600 | 419 | 80 |
288 | 144 | 17 | 36 | 944 | 472 | 19 | 118 | 3264 | 1632 | 421 | 102 |
296 | 148 | 9 | 74 | 960 | 480 | 247 | 210 | 3328 | 1664 | 49 | 312 |
304 | 152 | 9 | 38 | 976 | 488 | 21 | 122 | 3392 | 1696 | 441 | 106 |
312 | 156 | 35 | 78 | 992 | 496 | 233 | 62 | 3456 | 1728 | 259 | 480 |
[0107]
320 | 160 | 59 | 40 | 1024 | 512 | 47 | 160 | 3520 | 1760 | 191 | 330 |
328 | 164 | 13 | 82 | 1056 | 528 | 233 | 198 | 3648 | 1824 | 299 | 342 |
344 | 172 | 11 | 86 | 1088 | 544 | 173 | 68 | 3712 | 1856 | 89 | 290 |
352 | 176 | 21 | 44 | 1152 | 576 | 199 | 180 | 3776 | 1888 | 323 | 354 |
360 | 180 | 11 | 30 | 1184 | 592 | 241 | 222 | 3840 | 1920 | 451 | 360 |
368 | 184 | 21 | 46 | 1216 | 608 | 85 | 114 | 3904 | 1952 | 467 | 366 |
376 | 188 | 15 | 94 | 1248 | 624 | 41 | 234 | 3968 | 1984 | 219 | 186 |
384 | 192 | 11 | 24 | 1280 | 640 | 219 | 200 | 4096 | 2048 | 335 | 320 |
400 | 200 | 11 | 20 | 1312 | 656 | 151 | 82 | 4160 | 2080 | 359 | 130 |
408 | 204 | 23 | 102 | 1376 | 688 | 15 | 86 | 4224 | 2112 | 101 | 66 |
416 | 208 | 9 | 52 | 1408 | 704 | 155 | 220 | 4288 | 2144 | 63 | 134 |
424 | 212 | 49 | 106 | 1440 | 720 | 11 | 150 | 4352 | 2176 | 235 | 340 |
432 | 216 | 11 | 36 | 1472 | 736 | 357 | 230 | 4416 | 2208 | 293 | 414 |
440 | 220 | 43 | 110 | 1504 | 752 | 361 | 282 | 4544 | 2772 | 67 | 142 |
456 | 228 | 53 | 114 | 1536 | 768 | 121 | 240 | 4608 | 2304 | 71 | 480 |
464 | 232 | 27 | 58 | 1600 | 800 | 21 | 80 | 4672 | 2336 | 347 | 438 |
472 | 236 | 15 | 118 | 1632 | 816 | 361 | 102 | 4736 | 2368 | 39 | 370 |
480 | 240 | 163 | 90 | 1664 | 832 | 25 | 52 | 4800 | 2400 | 331 | 120 |
当然,本领域技术人员可以理解的是,本发明实施例并不局限于表1所提供的交织参数。例如,对表1所提供的交织参数根据仿真结果进行必要的修正 得到的交织参数也应当包含在本发明实施例的范围之内。
根据上述表1对进行比特对内置换后得到的信息比特序列,以比特对为单位采用QPP方法进行交织,得到交织后的信息比特序列为:
u2=[u1(π(0)),u1(π(1)),u1(π(2)),...,u1(π(N-1))]。
并行度表示在分量译码器进行并行译码时,子块译码器的数目。在上述给出的数据块长下,各个数据块长下在接收端进行并行译码时,在尽量保证译码性能的基础上,本发明实施例中还进一步提供可以使用的并行度:
当48≤K≤512时,K=23×l,l=6,8,9,...,64,可以使用的并行度为1,2,4;
当512<K≤1024时,K=24×l,l=32,33,36,...,64,可以使用的并行度为1,2,4,8;
当1024<K≤2048时,K=25×l,l=32,33,36,...,64,可以使用的并行度为1,2,4,8,16;
当2048<K≤4800时,K=26×l,l=32,33,36,...,75,可以使用的并行度为1,2,4,8,16;
其中K表示数据块长,且l≠7n,n为非零的正整数。由于CTC编码采用的是循环结尾的方法,因而数据块长K不能取7的倍数。
采用上述方式,任意可以整除QPP交织器交织长度的数值,都可以作为并行度,因而接收机可以灵活地支持并行译码处理。另外,上述数据块长分配方式只考虑了数据块长为4800bits的情况,如果系统要求最大的数据块长接近IP包长的一半,其中IP包的最大包长为1500bytes左右,可以选用的最大数据块长为6144bits。为了支持数据块长为6144bits情况,本发明的实施例还可以设置在4800bits~6144bits中相应的数据块长为:
当4800<K≤6144时,K=26×l,l=76,78,79,...,96;其中,l≠7n,n为不为零的正整数。进一步地,本发明实施例还提供数据块长满足4800<K≤6144时可以使用的并行度为:1,2,4,8,16。
以上述方式分配数据块长,数据块长的间距较小,因而无需在数据块中填充过多的比特,提高了系统的频带利用率。
S204、对交织后的信息比特序列u2进行编码,并输出编码后的校验比特序 列。
对输入信息比特序列进行编码后,还可能包括以下步骤:
S205、将步骤S201和步骤S204中输出的校验比特序列进行后续处理。例如,可以对这些校验比特序列和系统比特进行速率匹配、调制以及输出等处理。可以根据实际情况调整步骤S205的操作。
本发明的实现并不局限于上述步骤的顺序,例如,步骤S201和S202并无先后顺序的限定。
本发明的实施例还提供了一种编码中的内码交织方法,如图3所示,所述编码中的内码交织方法包括:
S301、将输入信息比特序列中的比特对进行比特对内置换;
S302、采用QPP交织方法对进行置换后的信息比特序列以比特对为单位进行交织,所述QPP交织方法的交织公式为:
π(x)=(f1·x+f2·x2)mod N,x=0,1,2,…,N-1;
其中,N表示输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置。本实施例中,输入信息比特序列的数据块长可以包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中,K表示数据块长,且上述各项中l≠7n,n为非零的正整数。
进一步地,输入信息比特序列的数据块长和相应的交织参数可以参照如表1所示的对应关系选取。
本实施例中步骤S301和S302的具体操作可以参照本发明实施例CTC编码方法中步骤S202和S203进行,这里不再赘述。
本发明的实施例所采用的CTC编码方法,以及编码中的内码交织方法,由于采用了间距较小的数据块长,在编码时填充的比特数目较少,从而提高了系统的频带利用率;由于采用了基于QPP交织的内码交织方法,在选用的数据块 长数目较多的时候,减少了收发两端的存储开销;同时任意可以整除QPP交织器交织长度的数值,都可以作为并行度处理,因此接收机可以灵活地支持并行译码处理。
另外,现有标准中的交织方法,尽管引入了比特对内部交织,但是通过在AWGN信道(不考虑通信信道信号时,由宽频范围描述的统计随机无线噪声)下的仿真发现,随着信息比特数目的增加,CTC码的性能在BLER(误块率)为1e-3到1e-4之间开始出现错误平层现象。本发明的实施例能够降低现有CTC译码性能存在的错误平层问题。图4给出了本发明实施例和现有CTC编码采用ARP交织方法的BLER性能比较。其中的数据块长为4800bits,码率为1/3,译码采用Max-Log-MAP方法,迭代次数为8次。从图4中可见,采用本发明实施例提供的QPP交织方法的译码性能在BLER等于1e-4时要明显好于现有技术中采用ARP交织方法的译码性能。
如图5所示,本发明的实施例还提供了一种内码交织器,包括:
置换单元501,用于将输入信息比特序列中的比特对进行比特对内置换;
交织单元502,用于采用QPP交织方法对所述进行置换后的信息比特序列以比特对为单位进行交织,所述QPP交织方法的交织公式为:
π(x)=(f1·x+f2·x2)modN,x=0,1,2,…,N-1;
其中,N表示输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置。
其中,输入信息比特序列的数据块长可以包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64,数据块长之间的间隔为8bits;
当512<K≤1024时,K=24×l,l=33,34,36,...,64,数据块长之间的间隔为16bits;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64,数据块长之间的间隔为32bits;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75,数据块长之间的间隔为64bits;
其中K表示数据块长,且上述各项中l≠7n,n为非零的正整数。
进一步地,本发明实施例还提供输入信息比特序列的数据块长K与相应的交织参数f1、f2的对应关系,可以参照表1所示。
另外,上述数据块长分配方式只考虑了数据块长为4800bits的情况,如果系统要求最大的数据块长接近IP包长的一半,其中IP包的最大包长为1500bytes左右,可以选用的最大数据块长为6144bits。为了支持数据块长为6144bits情况,本发明的实施例还可以设置4800bits~6144bits中相应的数据块长为:
当4800<K≤6144时,K=26×l,l=76,78,79,...,96,数据块长之间的间隔为64bits。其中,l≠7n,n为非零的正整数。
本发明的实施例还提供了一种CTC编码器,包括:
第一分量编码器,用于对输入信息比特序列进行编码;
内码交织器,用于对输入信息比特序列中的比特对进行比特对内置换,并采用QPP交织方法对所述进行置换后的信息比特序列以比特对为单位进行交织;
第二分量编码器,用于对所述内码交织器交织后的信息比特序列进行编码;
其中,输入信息比特序列的数据块长包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64,数据块长之间的间隔为8bits;
当512<K≤1024时,K=24×l,l=33,34,36,...,64,数据块长之间的间隔为16bits;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64,数据块长之间的间隔为32bits;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75,数据块长之间的间隔为64bits;
其中K表示数据块长,且上述各项中l≠7n,n为非零的正整数。
本实施例中第一分量编码器、交织器和第二分量编码器的结构关系,可以参照图1中CTC编码器的分量编码器1、内码交织器和分量编码器2的结构。本发明实施例中的分量编码器可以采用系统卷积码编码器。
本实施例CTC编码器的结构还可以参照图6所示,其中内码交织器602交 织后输出的比特序列可以通过切换开关输入到分量编码器601进行编码,这种结构节省了一个分量编码器。
进一步地,本实施例CTC编码器中,所述内码交织器可以包括:
第一交织单元,用于将输入信息比特序列中的比特对进行比特对内置换;
第二交织单元,用于采用QPP交织方法对所述第一交织单元置换处理后的信息比特序列以比特对为单位进行交织处理;所述QPP交织方法的交织公式为:
π(x)=(f1·x+f2·x2)mod N,x=0,1,2,…,N-1;
其中,N表示输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置。其中,输入信息比特序列的数据块长K可以包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且上述各项中l≠7n,n为非零的正整数。
另外,输入信息比特序列的数据块长与相应的交织参数可以参照表1所示。
为了支持数据块长为6144bits情况,本发明的实施例还可以设置4800bits~6144bits中相应的数据块长为:
当4800<K≤6144时,K=26×l,l=76,78,79,...,96,数据块长之间的间隔为64bits。其中,l≠7n,n为非零的正整数。
在上述给出的数据块长下,各个数据块长下在接收端进行并行译码时,在尽量保证译码性能的基础上,可以使用的并行度为:
当48≤K≤512时,K=23×l,l=6,8,9,...,64,可以使用的并行度为1,2,4;
当512<K≤1024时,K=24×l,l=33,34,36,...,64,可以使用的并行度为1,2,4,8;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64,可以使用的并行度为1,2,4,8,16;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75,可以使用的并行度为1,2,4,8,16;
当4800<K≤6144时,K=26×l,l=76,78,79,...,96,可以使用的并行度为1,2,4,8,16;
其中K表示数据块长,且l≠7n,n为非零的正整数。由于CTC编码采用的是循环结尾的方法,因而数据块长K不能取7的倍数。
本发明实施例提供的内码交织器以及CTC编码器,由于采用了间距较小的数据块长,在编码时填充的比特数目较少,从而提高了系统的频带利用率;由于采用了基于QPP交织的内码交织方法,在选用的数据块长数目较多的时候,减少了收发两端的存储开销;同时任意可以整除QPP交织器交织长度的数值,都可以作为并行度处理,因此接收机可以灵活地支持并行译码处理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种编码中的内码交织方法,其特征在于,包括:
将输入信息比特序列中的比特对进行比特对内置换;
采用二次置换多项式交织方法对所述进行比特对内置换后的信息比特序列以比特对为单位进行交织,所述二次置换多项式交织方法的交织公式为:
π(x)=(f1·x+f2·x2)mod N,x=0,1,2,…,N-1;
其中,N表示所述输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置;
其中,所述输入信息比特序列的数据块长包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且l≠7n,n为非零的正整数,所述数据块长K和相应的交织参数f1、f2的对应关系包含数据块长与交织参数对应表中至少一项对应关系:
数据块长与交织参数对应表
2.根据权利要求1所述的内码交织方法,其特征在于,所述数据块长K还包括以下数据块长的至少一个:
当4800<K≤6144时,K=26×l,l=76,78,79,...,96。
3.一种CTC编码方法,其特征在于,包括:
对输入信息比特序列进行编码;
对输入信息比特序列中的比特对进行比特对内置换,并采用二次置换多项式交织方法对所述进行比特对内置换后的信息比特序列以比特对为单位进行交织;
将所述交织后的信息比特序列进行编码;
其中,所述二次置换多项式交织方法的交织公式为:
π(x)=(f1·x+f2·x2)mod N,x=0,1,2,…,N-1;
其中,N表示所述输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置;
其中,所述输入信息比特序列的数据块长包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且l≠7n,n为非零的正整数,所述数据块长K和相应的交织参数f1、f2的对应关系包含权利要求1所述的数据块长与交织参数对应表中至少一项对应关系。
4.根据权利要求3所述的CTC编码方法,其特征在于,所述数据块长K还包括以下数据块长的至少一个:
当4800<K≤6144时,K=26×l,l=76,78,79,...,96。
5.一种内码交织器,其特征在于,包括:
置换单元,用于将输入信息比特序列中的比特对进行比特对内置换;
交织单元,用于采用二次置换多项式交织方法对所述进行比特对内置换后的信息比特序列以比特对为单位进行交织,所述二次置换多项式交织方法的交织公式为:
π(x)=(f1·x+f2·x2)modN,x=0,1,2,...,N-1;
其中,N表示所述输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置;
其中,所述输入信息比特序列的数据块长包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且l≠7n,n为非零的正整数,所述数据块长K和相应的交织参数f1、f2的对应关系包含权利要求1所述的数据块长与交织参数对应表中至少一项对应关系。
6.根据权利要求5所述的内码交织器,其特征在于,所述数据块长K还包括以下数据块长的至少一个:
当4800<K≤6144时,K=26×l,l=76,78,79,...,96。
7.一种CTC编码器,其特征在于,包括:
第一分量编码器,用于对输入信息比特序列进行编码;
内码交织器,用于对输入信息比特序列中的比特对进行比特对内置换,并采用二次置换多项式交织方法对所述进行比特对内置换后的信息比特序列以比特对为单位进行交织;
第二分量编码器,用于对所述内码交织器交织后的信息比特序列进行编码;
其中,所述二次置换多项式交织方法的交织公式为:
π(x)=(f1·x+f2·x2)modN,x=0,1,2,...,N-1;
其中,N表示所述输入信息比特序列中待编码的比特对个数,f1和f2为交织参数,π(x)表示通过交织后输出的比特对在交织前信息比特序列中的位置;
其中,所述输入信息比特序列的数据块长包括以下数据块长的至少一个:
当48≤K≤512时,K=23×l,l=6,8,9,...,64;
当512<K≤1024时,K=24×l,l=33,34,36,...,64;
当1024<K≤2048时,K=25×l,l=33,34,36,...,64;
当2048<K≤4800时,K=26×l,l=33,34,36,...,75;
其中K表示数据块长,且l≠7n,n为非零的正整数,所述数据块长K和相应的交织参数f1、f2的对应关系包含权利要求1所述的数据块长与交织参数对应表中至少一项对应关系。
8.根据权利要求7所述的CTC编码器,其特征在于,所述第一分量编码器和所述第二分量编码器为同一个分量编码器。
9.根据权利要求7或8所述的CTC编码器,其特征在于,所述数据块长K还包括以下数据块长的至少一个:
当4800<K≤6144时,K=26×l,l=76,78,79,...,96。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910000627 CN101777923B (zh) | 2009-01-09 | 2009-01-09 | Ctc编码器、内码交织器以及内码交织方法、编码处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910000627 CN101777923B (zh) | 2009-01-09 | 2009-01-09 | Ctc编码器、内码交织器以及内码交织方法、编码处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101777923A CN101777923A (zh) | 2010-07-14 |
CN101777923B true CN101777923B (zh) | 2013-03-27 |
Family
ID=42514272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910000627 Expired - Fee Related CN101777923B (zh) | 2009-01-09 | 2009-01-09 | Ctc编码器、内码交织器以及内码交织方法、编码处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101777923B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201209711A (en) | 2010-08-19 | 2012-03-01 | Ind Tech Res Inst | Address generation apparatus and method for quadratic permutation polynomial interleaver |
CN102386934A (zh) * | 2010-09-01 | 2012-03-21 | 财团法人工业技术研究院 | 二阶重排多项式交织器地址产生装置与方法 |
EP4057148A1 (en) * | 2017-04-27 | 2022-09-14 | Google LLC | Efficient oblivious permutation |
CN111555761B (zh) * | 2020-06-10 | 2023-03-28 | 电子科技大学 | 一种适用于5g-nr的并行交织器、解交织器以及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060481A (zh) * | 2007-02-05 | 2007-10-24 | 中兴通讯股份有限公司 | 一种Turbo码传输块的分段方法 |
CN101083512A (zh) * | 2006-06-02 | 2007-12-05 | 中兴通讯股份有限公司 | 一种双二进制咬尾Turbo码编码方法和装置 |
-
2009
- 2009-01-09 CN CN 200910000627 patent/CN101777923B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083512A (zh) * | 2006-06-02 | 2007-12-05 | 中兴通讯股份有限公司 | 一种双二进制咬尾Turbo码编码方法和装置 |
CN101060481A (zh) * | 2007-02-05 | 2007-10-24 | 中兴通讯股份有限公司 | 一种Turbo码传输块的分段方法 |
Non-Patent Citations (1)
Title |
---|
Oscar Y. Takeshita.On Maximum Contention-Free Interleavers and Permutation Polynomials Over Integer Rings.《IEEE Transactions on Information Theory》.2008, * |
Also Published As
Publication number | Publication date |
---|---|
CN101777923A (zh) | 2010-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU769694B2 (en) | Highly parallel map decoder | |
US8407561B2 (en) | Formulaic flexible collision-free memory accessing for parallel turbo decoding with quadratic polynomial permutation (QPP) interleave | |
CN101636914A (zh) | 用于编码和解码数据的方法和装置 | |
US8453037B2 (en) | Turbo coding having combined turbo de-padding and rate matching de-padding | |
US7814388B2 (en) | System and method for interleaving data in a wireless transmitter | |
CN101601188A (zh) | 利用无争用交织器的turbo编码 | |
EP2092652A2 (en) | Quadratic permutation polynomial interleaver/de-interleaver for turbo codes | |
EP2621091A1 (en) | Turbo code parallel interleaver and parallel interleaving method thereof | |
CN101777923B (zh) | Ctc编码器、内码交织器以及内码交织方法、编码处理方法 | |
CN101336515B (zh) | 交织方法和通信装置 | |
EP1938460A1 (en) | Improved turbo code interleaver for low frame error rate | |
US7873897B2 (en) | Devices and methods for bit-level coding and decoding of turbo codes | |
US7975203B2 (en) | Quadratic polynomial permutation (QPP) interleaver providing hardware savings and flexible granularity adaptable to any possible turbo code block size | |
US8959403B2 (en) | QPP interleaver/de-interleaver for turbo codes | |
CN101771422B (zh) | 交织方法、编码方法、交织器与编码器 | |
CN101667839B (zh) | 交织方法 | |
CN104901774B (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN101582737B (zh) | 卷积Turbo码交织器和解交织器 | |
CN104935399A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
Raje et al. | Review paper on study of various Interleavers and their significance | |
US8095845B1 (en) | System and method for assigning code blocks to constituent decoder units in a turbo decoding system having parallel decoding units | |
CN101741505A (zh) | 通信系统中内码交织的方法及装置 | |
KR20020004478A (ko) | 가변 데이터 레이트 매칭 방법 | |
CN104935398A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN101771496B (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: 20130327 |
|
CF01 | Termination of patent right due to non-payment of annual fee |