CN2506034Y - Turbo译码器件 - Google Patents
Turbo译码器件 Download PDFInfo
- Publication number
- CN2506034Y CN2506034Y CN 01254650 CN01254650U CN2506034Y CN 2506034 Y CN2506034 Y CN 2506034Y CN 01254650 CN01254650 CN 01254650 CN 01254650 U CN01254650 U CN 01254650U CN 2506034 Y CN2506034 Y CN 2506034Y
- Authority
- CN
- China
- Prior art keywords
- input
- output
- memory
- mentioned
- output interface
- 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
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本实用新型提供一种Turbo译码器件,它充分利用进入的输入数据的所有信息,通过进一步简化log-MAP算法,并对计算误差进行合理的校正,在循环迭代中提高收敛效率,使其达到优化的译码性能。另外,由于前向度量α和后向度量β的差值存储技术以及间隔存储技术,在活动窗的技术上可分别降低了约1/3和1/2甚至2/3的α和β存储空间,以达到降低功耗和减少硬件开销的目的。而且,本实用新型的译码器件在硬件复用和并行处理结构之间作出了合理的折衷,以达到优化译码速度和功耗的目的。
Description
技术领域
本实用新型属于一种译码器件,特别涉及在移动通信、卫星通信以及任何容易出错环境下数字通信中应用的前向纠错的Turbo译码器件。
背景技术
根据Shannon的有扰信道编码原理,即在码率小于信道容量条件下,对于任何一个离散输入无记忆信道,存在一个码使得传输数据的误码概率接近于零。但是如何找到那个存在的好码和相应的具有实用价值的译码方法,是人们在信道编码领域中一直研究的课题。
在1993年ICC通信会议上,C.Berrou等三人提出了一种新的前向纠错信道编码技术,称为Turbo码。它是由经交织和非交织产生的并行级联卷积码(PCCC)组成,当交织深度足够深时,能提供接近Shannon理论极限的性能。这是信道编码技术上的一个重大突破。
自从有了Turbo码,人们对不同结构、不同约束长度和不同交织器算法及不同深度的Turbo码以及译码算法进行了研究和实践。目前有两大类译码算法:一类是基于维特比(Viterbi)算法的改进,属于次最佳算法,包括软输出Viterbi算法(SOVA)和串行列表输出Viterbi算法(SLVA);另一类是基于1974年Bahl等人提出的BCJR算法处理后验概率分布的最大后验算法(MAP),以及在对数域的Max-log-MAP和log-MAP算法。由于Turbo码编译码器中的交织深度、迭代译码过程以及算法本身的复杂性,限制了它在高速实时移动通信中的应用和实现。为了很好地解决这一问题,并使Turbo码发挥它应有的优越的最佳性能。
发明目的
本实用新型所要解决的技术问题是为第三代W-CDMA移动通信系统提供高性能、低功耗、至少支持2Mbps以上的译码速率,并且具有较少的硬件的Turbo译码器件。技术方案
本实用新型解决问题的技术方案是:
一种译码器件,它包括:
一输入输出接口及配置装置;
一与上述输出接口及配置装置相连并进行数据交换并可对数据进行存储的数据存储器;
一与上述输出接口及配置装置相连并进行数据交换的控制单元;
一与上述控制单元相连、可对码的前向度量和后向度量进行计算的前向度量计算单元;
一将上述计算出的前向度量和后向度量进行存储的存储器;
一与上述控制单元相连、可根据存储器和数据存储器的数值及对输入为“1”或“0”的最大可能性进行计算的LLR计算单元;
一用来计算当前时刻状态转移到下一时刻各个状态的每条支路的可能性度量的分支度量计算器;
一将LLR计算单元计算出的下一半次迭代的先验信息进行存储的存储器;
一当达到迭代次数时,根据存储器的结果得出译码结果的硬判别输出器;
一对上述硬判别输出器的输出进行存储的数据存储器,其存储的数据通过输入输出接口及配置装置和总线输出;
一用来产生完成交织和反交织功能所需要的地址的交织器地址发生器;以及
一对上述地址进行存储的地址存储器。
本实用新型的一种Turbo译码器件,充分利用进入的输入数据的所有信息,通过进一步简化log-MAP算法,并对计算误差进行合理的校正,在循环迭代中提高收敛效率,使其达到优化的译码性能。另外,由于前向度量α和后向度量β的差值存储技术以及间隔存储技术,在活动窗的技术上可分别降低了约1/3和1/2甚至2/3的α和β存储空间,以达到降低功耗和减少硬件开销的目的。而且,本实用新型的译码器件在硬件复用和并行处理结构之间作出了合理的折衷,以达到优化译码速度和功耗的目的。这样,整个译码器件的性能如下:
●可降低了约1/3、1/2甚至2/3的α和β存储空间
●逻辑门仅为4万左右
●误码率接近浮点MAP译码性能,在低信噪比时优于max-log-MAP约0.5dB
●在加性白高斯噪声信道(AWGN)下,对于典型的码块大小1000,迭代6次,在信噪比为0.5dB时,误码率(BER)为5.75×10-3;1.0dB时,误码率为1.7×10-5;1.5dB时,误码率为1.17×10-7
具体实施方式
图1是1/3码率Turbo编码器结构。
图2是g(13,15)的编码网格图。
图3是本实用新型的译码器件的一个实施例的结构示意图。
图4是分支度量计算单元。
图5是对应于图3中ACS_engine 304的前向度量α计算单元的示意图。
图6是对应于图3中ACS_engine 304的反向度量β计算单元的示意图。
图7是输入为1的最大可能性计算单元的示意图。
图8输入为0的最大可能性计算单元的方框图。
图9是α和β的计算时序图。
图10是反向恢复α和正向恢复β的方框图。
图11是码块大小为400时误码率随迭代次数和信噪比变化的关系的测量图。
图12是码块大小为4000时误码率随迭代次数和信噪比变化的关系的测量图。
在现代通信系统中,一个数字通信系统通常主要包括信源编解码、信道编解码和调制解调器。在信道编码中一般都采用前向纠错码,如Reed-Solomon(RS)码、BCH码、卷积码等。在1993年ICC通信会议上,C.Berrou等三人提出了一种新的前向纠错信道编码技术,称为Turbo码。它是由经交织和非交织产生的并行级联卷积码(PCCC-Parallel ConcatenatedConvolutional Code)组成,当交织深度足够深时,能提供接近Shannon理论极限的性能。这是信道编码技术上的一个重大突破。
为了更好地理解Turbo译码器的详细内容,有必要首先理解Turbo码是如何构成的。
这里给出一个在第三代移动通信3GPP标准中的Turbo编码器。它由两个8状态成员编码器(即两个递归系统卷积编码RSC1和RSC2)和中间插入的交织器组成,其中成员编码器的传输函数为: 其中:g0(D)=1+D2+D3,g1(D)=1+D+D3,称为多项式g(13,15)。此Turbo编码器的码率为1/3,其结构如图1所示。
参照图1,D为寄存器,对于每个新的码块,每个移位寄存器的初始值都为零。编码器的输出序列为(设码块大小为N):
X1,Y1,Z1,X2,Y2,Z2,...,XN,YN,ZN,当整个码块N位信息被编码完之后,为了使所有移位寄存器终止于初始零状态,利用当时虚线表示的信号作为反馈输入,产生的尾码输出序列为:
XN+1,YN+1,XN+2,YN+2,XN+3,YN+3,TN+1,ZN+1,TN+2,ZN+2,TN+3,ZN+3因此总的输出序列长度为3N+12。
Turbo交织器111在Turbo码中也起着非常重要的作用。它的好坏直接影响到整个译码器的性能。本编码器是基于在3GPP协议中定义的交织器,它是一个在码块大小40-5114范围内的3步交织器,在此不作详细描述,简单概括为:
第一步:根据码块大小求出行数和列数,将输入数据一行一行地写入矩阵;
第二步:根据一定的规则首先进行行与行之间的置换;
第三步:最后进行每行内部的置换,然后按列顺序输出。
编码器中的寄存器状态在起始和终止时都为固定零状态,根据g(13,15)产生的网格图如图2所示。总共有8个状态,从某一状态根据不同的输入(0或者1)转移到相应的两个状态,所以每个状态有两条支路连接到它可能的两个起始状态,另有两条支路连接到它可能的两个终止状态。编好的码由多路复路器112输出。
图2是g(13,15)的编码网格图。图3是Turbo译码器硬件实现结构框图。
下面首先首先参照图3,对每一模块进行功能性描述。输入输出接口及配置301用来接收通过数据总线、地址总线和输入输出接口及配置301用来接收通过数据总线、地址总线和控制总线300来的数据和对整个译码器的配置信息,由于Turbo译码需要多次的迭代译码,而每次迭代都需要接收到的数据,所以首先将输入数据通过接口301存入RAM中,为了提高数据交换的速度,采用乒乓缓冲器302(即两个相同独立的RAMs:info_RAM1和info_RAM2)可存储两个码块。总线接口300可以包括DSP或类似处理器的接口和(或)其他硬件如通信接收机的硬件接口。译码器的参数配置信息可通过编程进行修改来控制译码器的操作。主要的译码配置包括:
· 迭代次数
· 映射规则:1-2c(0/1=>1/-1)或者2c-1(0/1=>-1/1)
· 当前码块大小
· 输入输出端口选择
根据网格图,分支度量计算303用来计算当前时刻各个状态转移到下一时刻各个状态的每条支路的可能性度量。然后通过ACS_engine 304计算出前向度量α和反向度量β,并将计算结果采用本专利提出的降低存储技术存入AB_RAM 311中。根据AB_RAM中的前向度量和反向度量以及在302存储的输入值,LLR计算306用来计算出相应的对数似然比值,在迭代结束之前,将此值作为下一半次迭代的先验信息存入305中Apriori_RAM1,而下一半次迭代的先验信息存入305中Apriori_RAM2。当达到迭代次数时,根据Apriori_RAM1和Apriori_RAM2的结果,通过硬判决输出312输出最终的译码结果,并存入相应的输出乒乓缓冲器308中的THO_RAM1和THO_RAM2,通过接口301和总线300输出。
根据第三代移动通讯标准,交织器地址发生器309用来产生完成交织和反交织功能所需要的地址,并将其存入地址存储器310中。译码器控制单元307用来控制和协调各个功能模块之间的数据交换,使整个译码器能根据正确的时序产生出正确的结果。
图3中的相应的分支度量计算单元如图4所示。它由两个加法器和三组缓冲D触发器输出。由网格图可知,它有4种分支,包括00、01、10和11,分别用G_0、G_1、G_2和G_3表示,其中G_0恒等于零。对于译码器1中的分支度量计算,L_c1为接收到的系统位软信息,L_c2为第一监督位软信息,L_u为译码器2输出的相应位置的先验信息,在第一次迭代,L_u为零。对于译码器2中的分支度量计算,让非尾码部分的L_c1都为零,尾码部分的L_c1为接收到的对应于RSC2的尾码系统位软信息,L_c2为第二监督位软信息,L_u为译码器1输出的相应位置的先验信息。L_c1和L_c2最大可接收8位宽的软输入,L_u被界定为9位。输出的分支度量可用10位表示。
图3中的304用来计算前向度量α和后向度量β。前向度量α计算单元如图5所示。根据g(13,15)编码网格图,输入端400到431对应的输入信号如表1所示。432为加法器,433用来比较两输入信号,选取其中最大值输出,同时输出它们差值的绝对值,然后根据绝对值的大小在434中进行查表对最大值进行修正。表3给出了一个简单的8值修正表,尽管它增加了电路延时和电路实现的复杂性,但是它能大大地提高译码器性能,实践结果表明:在低信噪比0到0.2dB情况下,能提高接近0.5dB的编码增益。计算α的过程实际上是一个累加、比较、选择和差表的过程。由于在硬件实现中,为了减少硬件的开销,采用的数据位宽是有限的,所以溢出将会发生。435示意给出α值所用位宽能表示的最大值,当溢出发生时,也就是当同一时刻只要某一个状态α值大于435给出的最大值,这时通过436将所有状态的α值都减最大值,使它们之间的相对值保持不变。输出437到444和445到448表示在表2中。
表1:图6中输入端口所表示的输入信号
400 | G_0 | 408 | G_1 | 416 | G_3 | 424 | G_2 |
401 | α(k-1)(0) | 409 | α(k-1)(4) | 417 | α(k-1)(0) | 425 | α(k-1)(4) |
402 | G_3 | 410 | G_2 | 418 | G_0 | 426 | G_1 |
403 | α(k-1)(1) | 411 | α(k-1)(5) | 419 | α(k-1)(1) | 427 | α(k-1)(5) |
404 | G_2 | 412 | G_3 | 420 | G_1 | 428 | G_0 |
405 | α(k-1)(2) | 413 | α(k-1)(6) | 421 | α(k-1)(2) | 429 | α(k-1)(6) |
406 | G_1 | 414 | G_0 | 422 | G_2 | 430 | G_3 |
407 | α(k-1)(3) | 415 | α(k-1)(7) | 423 | α(k-1)(3) | 431 | α(k-1)(7) |
表2:图6中输出端口所表示的输出信号
表3:fc(|a-b|)(让x=|a-b|)的修正值表
后向度量β计算单元如图6所示。根据g(13,15)编码网格图,输入端450到481对应的输入信号如表4所示。482为加法器,483用来比较两输入信号,选取其中最大值输出,同时输出它们差值的绝对值,然后根据绝对值的大小在484中进行查表对最大值进行修正。其修正表如同表3。计算β的过程同样是一个累加、比较、选择和查表的过程,由于在硬件实现中,为了减少硬件的开销,采用的数据位宽是有限的,所以溢出将会发生。485示意给出β值所用位宽能表示的最大值,当溢出发生时,也就是当同一时刻只要某一个状态β值大于485给出的最大值,这时通过486将所有状态的β值都减最大值,使它们之间的相对值保持不变。输出487到494和495到498表示在表5中。
437 | α(k)(0) | 438 | α(k)(1) | 445 | αk(0,1)_diff=αk(0)-αk(1) |
439 | α(k)(2) | 440 | α(k)(3) | 446 | αk(2,3)_diff=αk(2)-αk(3) |
441 | α(k)(4) | 442 | α(k)(5) | 447 | αk(4,5)_diff=αk(4)-αk(5) |
443 | α(k)(6) | 444 | α(k)(7) | 448 | αk(6,7)_diff=αk(6)-αk(7) |
差值绝对值x范围 | 修正值 |
0≤x≤4 | 15 |
5≤x≤9 | 13 |
10≤x≤15 | 11 |
16≤x≤22 | 9 |
23≤x≤30 | 7 |
31≤x≤42 | 5 |
43≤x≤64 | 3 |
65≤x≤126 | 1 |
x≥127 | 0 |
图6中的445到448和图7中的495到498表示的α差值和β差值将被存储在图3中AB RAM存储器311中,用来反向恢复和正向恢复在计算对数似然比LLR中所需的α和β值,以达到进一步地降低存储器要求的目的,这一技术将在后面详细说明。
表4:图7中输入端口所表示的输入信号
450 | G_0 | 458 | G_2 | 466 | G_1 | 474 | G_3 |
451 | β(k+1)(0) | 459 | β(k+1)(1) | 467 | β(k+1)(2) | 475 | β(k+1)(3) |
452 | G_3 | 460 | G_1 | 468 | G_2 | 476 | G_0 |
453 | β(k+1)(4) | 461 | β(k+1)(5) | 469 | β(k+1)(6) | 477 | β(k+1)(7) |
454 | G_3 | 462 | G_1 | 470 | G_2 | 478 | G_0 |
455 | β(k+1)(0) | 463 | β(k+1)(1) | 471 | β(k+1)(2) | 479 | β(k+1)(3) |
456 | G_0 | 464 | G_2 | 472 | G_1 | 480 | G_3 |
457 | β(k+1)(4) | 465 | β(k+1)(5) | 473 | β(k+1)(6) | 481 | β(k+1)(7) |
表5:图7中输出端口所表示的输出信号
487 | β(k)(0) | 488 | β(k)(1) | 495 | βk(0,4)_diff=βk(0)-βk(4) |
489 | β(k)(2) | 490 | β(k)(3) | 496 | βk(1,5)_diff=βk(1)-βk(5) |
491 | β(k)(4) | 492 | β(k)(5) | 497 | βk(2,6)_diff=βk(2)-βk(6) |
493 | β(k)(6) | 494 | β(k)(7) | 498 | βk(3,7)_diff=βk(3)-βk(7) |
另外,图3中的LLR计算单元306主要包括图7和图8所示的分别假设输入为1和0的最大可能性计算单元。图8中的输入端500到515表示的输入信号在表6中。516、517和518一起完成累加、比较、选择和修正的功能,查表518同表3。输入信号519为LLR(k)(c(2);I),注意只与其中两路信号相加。520的输出值设为MAX(k)(u(e)=1)。相应地图9中的输入端550到565表示的输入信号在表7中。同样566、567和568一起完成累加、比较、选择和修正的功能,查表568同表3一样。输入信号569同519一样为LLR(k)(c(2);I),只是从线路结构上与另外两路信号相加。570的输出值设为MAX(k)(u(e)=0)。对应译码器1的包括尾码在内的所有输入和对应译码器2的尾码的对数似然比值LLR为:
LLR(k)(u;O)=LLR(k)(c(1);I)+MAX(k)(u(e)=1)-MAX(k)(u(e)=0)对应译码器2的系统码的对数似然比值LLR为:
LLR(k)(u;O)=MAX(k)(u(e)=1)-MAX(k)(u(e)=0)并将译码器1和译码器2的输出结果分别存储在图3中的apriori_RAM1和apriori_RAM2305。
表6:图8中输入端500到515所表示的输入信号
500 | α(k-1)(0) | 504 | α(k-1)(2) | 508 | α(k-1)(4) | 512 | α(k-1)(6) |
501 | β(k)(4) | 505 | β(k)(1) | 509 | β(k)(6) | 513 | β(k)(3) |
502 | α(k-1)(1) | 506 | α(k-1)(3) | 510 | α(k-1)(5) | 514 | α(k-1)(7) |
503 | β(k)(0) | 507 | β(k)(5) | 511 | β(k)(2) | 515 | β(k)(7) |
表7:图9中输入端550到565所表示的输入信号
550 | α(k-1)(0) | 554 | α(k-1)(2) | 558 | α(k-1)(4) | 562 | α(k-1)(6) |
551 | β(k)(0) | 555 | β(k)(5) | 559 | β(k)(2) | 563 | β(k)(7) |
552 | α(k-1)(1) | 556 | α(k-1)(3) | 560 | α(k-1)(5) | 564 | α(k-1)(7) |
553 | β(k)(4) | 557 | β(k)(1) | 561 | β(k)(6) | 565 | β(k)(3) |
在Turbo译码器中,为了提高数据的交换速度和译码速度,除了在输入输出使用乒乓结构缓冲器,前向度量α和(/或)后向度量β以及每次迭代输出结果和交织器产生的地址都需要存储器。由于Turbo译码算法的复杂性和需要较多的存储器,所以如何降低硬件的开销和存储器的要求是实现低功耗低成本Turbo译码器件的关键技术。下面将简要讨论存储器的要求和减少存储器的技术。(1)输入缓冲器必须存在。如果译码器的输出数据是送给DSP,那么输出缓冲器也应存在。由于Turbo码本身固有的特点,在编码中内部的交织器完全打乱了码字原来的输入顺序,为了能在译码器中通过解交织恢复原来的顺序,而且在迭代译码过程中,每次迭代都需要整个码块数据,所以在译码之前必须首先将当前的整个码块数据存储起来,其输入存储器大小随着码块的大小和码字输入位宽的增大而增大,在3G WCDMA和TD-SCDMA中,最大码块大小为5114。在本设计中支持输入高达8比特的位宽。(2)交织器产生的地址需要存储器为5114x13。一方面由于并行处理,另一方面避免在译码迭代过程中每次都需要重复计算地址,从而降低了功耗和时延。(3)每次迭代输出的中间结果需要存储,因为下一次迭代时需要上一次的所有输出作为输入。(4)为了保证译码器的性能,上述三种存储器是不可缺少的和降低的。相对 而言,存储α值和/或β值需要更大的存储空间,并随着码块的大小和网格状态数量增加而增大,采用活动窗技术,可以降低其存储量,但为了获得进入活动窗时的一个初始前向度量或者后向度量的可靠值需要一个训练窗,一般训练窗的长度至少为5m,m为约束长度(本例m=4),这增加了迭代输出的等待时间,同时也会牺牲一定量的性能。在工程上,需要在性能、速度、复杂性和活动窗大小之间作出合理的折衷。本专利提出下列两种降低存储器的技术。
需要指出的是,为了以适当增加计算复杂性来进一步地降低存储空间,本实用新型采用了差值存储技术,也就是首先在正向计算前向度量α时,根据图5所示同时计算出状态0和状态1、状态2和状态3、状态4和状态5以及状态6和状态7之间的前向度量差值,并将它们存储起来;在反向计算后向度量β时,根据图6所示同时计算出状态0和状态4、状态1和状态5、状态2和状态6以及状态3和状态7之间的后向度量差值,并将它们存储起来。其计算时序如图9所示,对于码块长度为N,当按箭头方向计算到N/2时,继续正向计算后半部分的前向度量α和反向计算前半部分的后向度量β,但它们的差值不再需要存储。同时从存储器中读取当前需要的α差值和β差值,根据当前时刻的α值反向恢复出原来上一时刻的α值,并计算出相应的LLR;同样根据当前时刻的β正向恢复出原来上一时刻的β值,具体计算方法如下:
在这里分别举一例,其他类推。对于反向求α,根据网格图有:
max*(α(k-1)(0)+G_0,α(k-1)(1)+G_3)=α(k)(0)
如果: α(k-1)(0)+G_0≥α(k-1)(1)+G_3
也就是:α(k-1)(0,1)_diff=α(k-1)(0)-α(k-1)(1)≥G_3-G_0
则: α(k)(0)=α(k-1)(0)+G_0+fc(|α(k-1)(0,1)_diff-(G_3-G_0)|)
令: Δα=fc(|α(k-1)(0,1)_diff-(G_3-G_0)|)
所以: α(k-1)(0)=α(k)(0)-G_0-Δα,
和 α(k-1)(1)=α(k-1)(0)-α(k-1)(0,1)_diff
否则: α(k-1)(1)=α(k)(0)-G_3-Δα
和 α(k-1)(0)=α(k-1)(1)+α(k-1)(0,1)_diff
对于正向求β,根据网格图有:
max*(β(k+1)(0)+G_0,β(k+1)(4)+G_3)=β(k)(0)
如果: β(k+1)(0)+G_0≥β(k+1)(4)+G_3
也就是:β(k+1)(0,4)_diff=β(k+1)(0)-β(k+1)(4)≥G_3-G_0
则: β(k)(0)=β(k+1)(0)+G_0+fc(|β(k+1)(0,4)_diff-(G_3-G_0)|)
令: Δβ=fc(|β(k+1)(0,4)_diff-(G_3-G_0)|)
所以: β(k+1)(0)=β(k)(0)-G_0-Δβ,
和 β(k+1)(4)=β(k+1)(0)-β(k+1)(0,4)_diff
否则: β(k+1)(4)=β(k)(0)-G_3-Δβ
和 β(k+1)(0)=β(k+1)(4)+β(k+1)(0,4)_diff
反向恢复α和正向恢复β的计算单元如图10所示,表8给出了反向恢复α时的输入和输出以及正向恢复β时的输入和输出。由于在计算α和β时有溢出的存在,为了能完全能恢复原来的值,需要保存原来第一个状态0的前向度量和后向度量,所以减少了大约1/3的α和β的存储空间,而对应有的性能没有任何的降低。
表8:图11中输入输出端在分别恢复α和β时所表示的信号
输入端 | 反向恢复α时的输入 | 正向恢复β时的输入 | 输出端 | 输出对应的α值 | 输出对应的β值 |
600 | G_3 | G_3 | 618 | α(k-1)(0) | β(k+1)(0) |
601 | G_0 | G_0 | 619 | α(k-1)(1) | β(k+1)(4) |
602 | α(k-1)(0,1)_diff | β(k+1)(0,4)_diff | 620 | α(k-1)(2) | β(k+1)(1) |
603 | α(k)(0) | β(k)(0) | 621 | α(k-1)(3) | β(k+1)(5) |
604 | G_1 | G_1 | 622 | α(k-1)(4) | β(k+1)(2) |
605 | G_2 | G_2 | 623 | α(k-1)(5) | β(k+1)(6) |
606 | α(k-1)(2,3)_diff | β(k+1)(1,5)_diff | 624 | α(k-1)(6) | β(k+1)(3) |
607 | α(k)(1) | β(k)(2) | 625 | α(k-1)(7) | β(k+1)(7) |
608 | G_2 | G_2 | |||
609 | G_1 | G_1 | |||
610 | α(k-1)(4,5)_diff | β(k+1)(2,6)_diff | |||
611 | α(k)(2) | β(k)(4) | |||
612 | G_0 | G_0 | |||
613 | G_3 | G_3 | |||
614 | α(k-1)(6,7)_diff | β(k+1)(3,7)_diff | |||
615 | α(k)(3) | β(k)(6) |
本实用新型也采用间隔存储技术,可使存储空间降低1/2,当增加译码控制复杂性,可使α和β的存储空间降低2/3。也就是在正向计算α和反向计算β时,不是对所有的值进行存储,而是每隔一个或者每隔两个值存储一个值,在计算LLR输出值时,根据存储的α和β值利用原来α和β的计算单元来计算出当前所需要的α和β值。
通过实验也证明本实用新型的译码器件的良好性能,图11和12是实验的性能图。图11是码块大小为400时误码率随迭代次数和信噪比变化的关系。图12是码块大小为4000时误码率随迭代次数和信噪比变化的关系。
Claims (3)
1.一种Turbo译码器件,它包括:
一输入输出接口及配置装置(301);
一与上述输出接口及配置装置相连并进行数据交换并可对数据进行存储的数据存储器;
一与上述输出接口及配置装置相连并进行数据交换的控制单元(307);
一与上述控制单元相连、可对码的前向度量和后向度量进行计算的前向度量计算单元(304);
一将上述计算出的前向度量和后向度量进行存储的存储器(311);
一与上述控制单元相连、可根据存储器(311)和乒乓缓冲器(302)的数值及对输入为“1”或“0”的最大可能性进行计算的LLR计算单元(306);
一用来计算当前时刻状态转移到下一时刻各个状态的每条支路的可能性度量的分支度量计算器(303);
一将LLR计算单元(306)计算出的下一半次迭代的先验信息进行存储的存储器(305);
一当达到迭代次数时,根据存储器(305)的结果得出译码结果的硬判别输出器(312);
一对上述硬判别输出器(312)的输出进行存储的存储器(308),其存储的数据通过输入输出接口及配置装置(301)和总线(300)输出;
一用来产生完成交织和反交织功能所需要的地址的交织器地址发生器(309);以及
一对上述地址进行存储的地址存储器(310)。
2.如权利要求书1所述的译码器件,其特征在于:与上述输出接口及配置装置相连并进行数据交换并可对数据进行存储的数据存储器采用乒乓缓冲器(302)。
3.如权利要求书1所述的译码器件,其特征在于:对上述硬判别输出器(312)的输出进行存储的数据存储器采用乒乓缓冲器(308)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 01254650 CN2506034Y (zh) | 2001-11-12 | 2001-11-12 | Turbo译码器件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 01254650 CN2506034Y (zh) | 2001-11-12 | 2001-11-12 | Turbo译码器件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN2506034Y true CN2506034Y (zh) | 2002-08-14 |
Family
ID=33663924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 01254650 Expired - Fee Related CN2506034Y (zh) | 2001-11-12 | 2001-11-12 | Turbo译码器件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN2506034Y (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079642A (zh) * | 2002-08-20 | 2007-11-28 | 恩益禧电子股份有限公司 | 误差校正码的译码方法及其程序和设备 |
CN101373977B (zh) * | 2007-08-22 | 2011-01-05 | 中兴通讯股份有限公司 | 并行最大后验概率译码交织去交织的装置和方法 |
CN101217336B (zh) * | 2007-01-04 | 2011-02-09 | 浙江华立通信集团有限公司 | TD-SCDMA/3G硬核turbo译码器 |
CN102035559A (zh) * | 2009-09-30 | 2011-04-27 | 富士通株式会社 | Turbo解码装置及通信装置 |
-
2001
- 2001-11-12 CN CN 01254650 patent/CN2506034Y/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079642A (zh) * | 2002-08-20 | 2007-11-28 | 恩益禧电子股份有限公司 | 误差校正码的译码方法及其程序和设备 |
CN101217336B (zh) * | 2007-01-04 | 2011-02-09 | 浙江华立通信集团有限公司 | TD-SCDMA/3G硬核turbo译码器 |
CN101373977B (zh) * | 2007-08-22 | 2011-01-05 | 中兴通讯股份有限公司 | 并行最大后验概率译码交织去交织的装置和方法 |
CN102035559A (zh) * | 2009-09-30 | 2011-04-27 | 富士通株式会社 | Turbo解码装置及通信装置 |
CN102035559B (zh) * | 2009-09-30 | 2013-05-01 | 富士通株式会社 | Turbo解码装置及通信装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6813742B2 (en) | High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture | |
JP4092352B2 (ja) | 復号装置、復号方法、及び受信装置 | |
CN1761160A (zh) | 解码方法和设备 | |
CN1728563A (zh) | Turbo译码装置和Turbo译码方法 | |
JP4229948B2 (ja) | 復号装置、復号方法、及び受信装置 | |
Lin et al. | Low-power memory-reduced traceback MAP decoding for double-binary convolutional turbo decoder | |
CN1157883C (zh) | 实现并行滑动窗最大后验概率算法的高速Turbo码译码器 | |
CN2506034Y (zh) | Turbo译码器件 | |
Halter et al. | Reconfigurable signal processor for channel coding and decoding in low SNR wireless communications | |
CN1147169C (zh) | 用于Turbo码的解码方法和解码器 | |
CN1129257C (zh) | 串行回溯的最大似然解码方法及其使用该方法的解码器 | |
CN1142629C (zh) | 用于特博码的解码方法及其解码器 | |
CN115664429A (zh) | 一种适用于LDPC与Turbo的双模译码器 | |
CN1234220C (zh) | 一种用于Turbo码的译码方法 | |
CN1773867A (zh) | Turbo码译码方法 | |
CN1145266C (zh) | 特博码解码方法及其解码器 | |
CN1841941A (zh) | 最大后验概率译码方法和装置 | |
CN103701475A (zh) | 移动通信系统中8比特运算字长Turbo码的译码方法 | |
CN109831217A (zh) | 一种Turbo码译码器、用于Turbo码的分量译码器及分量译码方法 | |
Jackuline et al. | A new architecture for the generation of picture based CAPTCHA: Double binary convolutional turbo decoder using low power memory reduced traceback MAP decoding | |
CN113258939A (zh) | 一种基于MAP算法的卷积Turbo码译码器及译码方法 | |
CN115529048A (zh) | 一种基于线性逼近与滑动窗口的Turbo码译码方法 | |
SUNEETHA et al. | Implementation of a Novel and Area Efficient VLSI Architecture for Recursion Computation in LTE Turbo Codes | |
Varghese et al. | Memory Efficient, High Speed Implementation of MAX LOG MAP Decoder for CCSDS Turbo codes | |
Huang et al. | VLSI design of dual-mode Viterbi/Turbo decoder for 3GPP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |