CN102405599A - 用于并行turbo解码的扩展turbo交织器 - Google Patents
用于并行turbo解码的扩展turbo交织器 Download PDFInfo
- Publication number
- CN102405599A CN102405599A CN2010800174249A CN201080017424A CN102405599A CN 102405599 A CN102405599 A CN 102405599A CN 2010800174249 A CN2010800174249 A CN 2010800174249A CN 201080017424 A CN201080017424 A CN 201080017424A CN 102405599 A CN102405599 A CN 102405599A
- Authority
- CN
- China
- Prior art keywords
- address
- interleaver
- situation
- storage space
- dividing
- 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
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2993—Implementing the return to a predetermined state, i.e. trellis termination
-
- 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/2771—Internal interleaver for turbo codes
- H03M13/2775—Contention or collision free turbo code internal interleaver
-
- 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6525—3GPP LTE including E-UTRA
-
- 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/653—3GPP HSDPA, e.g. HS-SCCH or DS-DSCH related
-
- 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6544—IEEE 802.16 (WIMAX and broadband wireless access)
-
- 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6558—3GPP2
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
为接收的码字的系统位生成第一分组存储器空间地址;为接收的码字的第一组编码位生成第二分组存储器空间地址,其中第一组编码位包括递增顺序;并且为接收的码字的第二组编码位生成第三分组存储器空间地址,其中第二组编码位包括交织顺序。通过使用第二分组存储器空间中的地址访问第一组编码位来对接收的码字的子码字并行进行解码。轮流通过使用第三分组存储器空间中的地址访问第二组编码位来对接收的码字的另一子码字并行进行解码。也详述一种装置和存储计算机程序的存储器。
Description
技术领域
本发明的示例性而非限制性实施例一般地涉及无线通信系统、方法、设备和计算机程序,并且更具体地,涉及用于对用于前向纠错的信道代码进行解码的技术。
背景技术
本节旨在于提供在权利要求书中记载的本发明的背景或者环境。这里的描述可以包括如下概念,这些概念可以被探求、但是未必是先前已经设想或者探求的概念。因此,除非这里另有明示,在本节中描述的内容并非在本申请中的说明书和权利要求书之前的现有技术、也不因为包含于本节中而承认为现有技术。
在无线通信系统在发送数据时的操作期间,有必要对用于前向纠错的各种信道代码进行解码。这些保护发送的信号免受干扰并且也消除信号中的由干扰引起的错误。
一种广泛使用的编码方法是卷积编码。在卷积编码中,将由符号构成的待发送信号编码成以原始信号与代码多项式的卷积为基础的码字。卷积代码取决于编码速率和编码多项式。编码速率(k/n)是指产生的编码符号的数目(n)与待编码符号的数目(k)之比。
根据卷积代码进一步开发的一种编码方法是也称为turbo代码的并行级联卷积代码PCCC。可以从两个递归系统卷积编码器和交织器生成PCCC。卷积编码器可以相同或者不同。所得代码包括与在编码器输入的符号直接对应的系统部分和作为并行卷积编码器的输出的两个奇偶位分量。典型信道代码(比如在3G系统和WiMAX中使用的信道代码)是turbo代码、duo-turbo代码和低密度奇偶位校验(LDPC)代码。各种不同无线通信系统将解码器和交织器(有时称为解交织器)运用于对信道代码的解码。相关解码器经常设置于调制解调器(调制器/解调器)内,尽管在一些实施例中,它们可以是与调制解调器本身分离的硬件部件。随着吞吐量增加,需要提供更快解码。
发明内容
通过使用本发明的示例实施例来克服前述和其它问题,并且实现其它优点。
在本发明的一个示例实施例中,提供一种方法,该方法包括:为接收的码字的系统(软)位生成第一分组存储器空间地址;为接收的码字的第一组(软)编码位生成第二分组存储器空间地址,其中第一组编码位包括递增顺序;并且为接收的码字的第二组(软)编码位生成第三分组存储器空间地址,其中第二组编码位包括交织顺序。该方法继续通过使用第二分组存储器空间中的地址访问第一组(软)编码位来对接收的码字的(第一)子码字并行进行解码并且轮流通过使用第三分组存储器空间中的地址访问第二组(软)编码位来对接收的码字的另一(第二)子码字并行进行解码。
在本发明的另一示例实施例中,提供一种装置。该装置包括存储器,该存储器包括:第一分组存储器空间地址,在第一分组存储器空间地址处,存储接收的码字的系统(软)位;第二分组存储器空间地址,在该第二分组存储器空间地址处按照递增顺序存储接收的码字第一组(软)编码位;以及第三分组存储器空间地址,在该第三分组存储器空间地址处按照交织顺序存储接收的码字的第二组(软)编码位。该装置也包括:第一解码器(例如第一解码器模式),配置成使用从第二分组存储器空间取回的第一组(软)编码位对接收的码字的(第一)子码字并行进行解码;以及第二解码器(例如第二解码器模式),配置成与第一解码器/模式轮流并且在对存储器空间地址的并行访问中(例如在子码字内并行)使用从第三分组存储器空间取回的第二组(软)编码位对接收的码字的另一(第二)子码字进行解码。
在本发明的又一示例实施例中,提供一种存储可执行指令程序的计算机可读存储器,这些可执行指令在由处理器执行时,执行与对码字进行解码有关的动作,这些动作包括:为接收的码字的系统位生成第一分组存储器空间地址;为接收的码字的第一组编码位生成第二分组存储器空间地址,其中第一组编码位包括递增顺序;为接收的码字的第二组编码位生成第三分组存储器空间地址,其中第二组编码位包括交织顺序;并且通过使用第二分组存储器空间中的地址访问第一组编码位来对接收的码字的子码字并行进行解码,并且轮流通过使用第三分组存储器空间中的地址访问第二组编码位来对接收的码字的另一子码字并行进行解码。
在又一示例实施例中,提供一种包括存储装置(例如计算机可读存储器)和解码装置(例如两个或者更多解码器模式或者两个或者更多解码器)的装置。存储装置用于存储:第一分组存储器空间地址,存储接收的码字的系统位;第二分组存储器空间地址,按照递增顺序存储接收的码字的第一组编码位;以及第三分组存储器空间地址,按照交织顺序存储接收的码字的第二组编码位。解码装置用于使用从第二分组存储器空间取回的第一组编码位对接收的码字的子码字并行进行解码并且用于与对第一子码字的解码轮流并且在对存储器空间地址的并行访问中使用从第三分组存储器空间取回的第二组编码位对接收的码字的另一子码字进行解码。
附图说明
图1示出了适合于在实施本发明的示例实施例时使用的各种电子设备的简化框图。
图2a示出了发送器中的常规turbo编码器布置。
图2b示出了将turbo码字分割成七个内部部分。
图2c图示了在将本发明的一个示例实施例应用于turbo交织器之后可以使用的示例并行访问子turbo解码器。
图3是来自图1的发送器和接收器的更详细示意图。
图4a是示出了根据本发明一个示例实施例的两个扩展地址空间的更多细节的示意图。
图4b示出了根据本发明一个示例实施例的如下原理,该原理用于扩展turbo交织器,从而扩展交织器可以与图4a中的扩展地址空间协作。
图4c是示出了根据本发明示例实施例的将四元访问用于解码来填充交织器的扩展存储器空间的四种不同情况的表。
图4d是示出了根据本发明示例实施例的将8元访问用于解码来填充交织器的扩展存储器空间的八种不同情况的表。
图5是图示了根据本发明示例实施例的方法操作和在计算机可读存储器上实施的计算机程序指令的执行结果的过程流程图。
具体实施方式
根据这里呈现的本发明示例实施例的turbo交织器可以运用于使用无线协议(如例如3G(例如cdma2000、宽带码分多址(WCDMA))、WiMAX(全球微波访问互操作性)、LTE和高速下行/上行分组访问(HSDPA/HSUPA))来操作的网络中。本发明的实施例并不限于特定无线协议,并且可以运用于移动设备/用户设备和/或诸如基站/节点B等网元中。
在turbo解码器中,内部并行处理/访问的程度可以是二的幂、也就是n=2m,其中m=1、2、3等等。turbo交织器的长度可以不是应用的并行处理程度的倍数。然后问题是如何将turbo交织器的长度调节成并行处理程度的倍数。另外,尾部数据值需要特别关注,因为它们不在turbo交织器的范围内。本发明的示例实施例涉及将turbo交织器的长度调节成并行处理程度的倍数。这样的示例实施例用于高速数据连接的turbo解码器、比如具有干扰消除的基于3G系统(例如3GPP TS 25.212)的解码器。该规范规定从40至5114的5075个turbo交织器。需要用尾部数据值将它们调节成并行处理程度n的倍数。
本发明的示例实施例构造长度为n(并行处理/访问程度)的倍数的辅助turbo交织器,从而两组尾部样本在不同n元组中。然后有可能用扩展turbo交织器求解并行访问争用并且同时恰当对待尾部数据值。另外,可以用相同方式对turbo代码的两个子码字进行解码。
先考虑图1,该图示出了发送器10和接收器12,该发送器和接收器作为本发明的实施例可以运用于其中的示例环境。发送器10和接收器12借助无线电信道11来通信。发送器10包括控制器(比如计算机或者数据处理器(DP))10A,计算机可读存储器介质(实施为存储计算机指令程序(PROG)10C的存储器(MEM)10B)以及用于经由一个或者多个天线(在图1中示出了一个天线)来与发送器12双向无线通信的适当射频(RF)收发器10D。发送器10还包括作为非限制例子可以是话音编码器的数据源10G。数据源10G的输出提供向信道编码器10E施加的信号,该信道编码器在这一情况下为卷积编码器、优选为turbo编码器。从信道编码器10E输出的编码符号向调制器10-F施加,其以已知方式调制信号。然后向射频RF前端10D施加调制信号,在该RF前端放大并且借助天线向无线电路径11发送该信号。在某些实施例中,调制器10F可以并入于RF前端10D中。
在无线电路径11上,信号受到干扰和噪声。接收器12也包括控制器(比如计算机或者数据处理器(DP)12A)、计算机可读存储器介质(实施为存储计算机指令程序(PROG)12C的存储器(MEM)12B)以及用于经由一个或者多个天线(未示出)来与发送器10通信的适当RF收发器12D。接收器12从它的天线接收信号并且向射频前端12D和解调器12F施加该信号(与发送器一样,接收器12中的解调器在一些实施例中可以是RF前端12D的部分)。向信道解码器12E施加解调信号,根据下文详述的本发明示例实施例在该信道解码器对信号进行解码。从解码器12E向接收器的其它部件(未示出)进一步施加解码信号。
在一个实施例中,发送器和接收器之一实施为用户设备UE,而发送器和接收器中的另一个实施为访问节点、如例如基站、WLAN访问点等。在另一实施例中,发送器和接收器均实施为UE。
假设PROG 10C和12C中的至少一个包括如下程序指令,这些程序指令在由关联DP执行时,使设备能够根据如下文将更具体讨论的本发明示例实施例来操作。
也就是说,可以至少部分通过可由发送器10的DP 10A和/或接收器12的DP 12A执行的计算机软件或者通过硬件或者通过软件与硬件(以及固件)的组合来实施本发明的示例实施例。
一般而言,发送器10和/或接收器12的各种实施例可以包括但不限于蜂窝电话、具有无线通信能力的个人数字助理(PDA)、具有无线通信能力的便携式计算机、具有无线通信能力的图像捕获设备如数字相机、具有无线通信能力的游戏设备、具有无线通信能力的音乐存储和回放装置、允许无线因特网访问和浏览的因特网装置以及并入这样的功能的组合的便携式单元或者终端。
计算机可读MEM 10B和12B可以是适合于本地技术环境的任何类型并且可以使用任何适当数据存储技术(比如基于半导体的存储器设备、闪存、磁存储器设备和系统、光学存储器设备和系统、固定存储器和可拆卸存储器)来实施。DP 10A和12A可以是适合于本地计算环境的任何类型并且可以包括作为非限制例子的通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一种或者多种。
图2a图示了典型turbo编码器的结构的更多细节。编码器包括两个编码器200、202和T表示的交织器204。这样向编码器输出施加待编码信号(来自发送器数据源10G)。这一分量称为代码的系统部分S。这样向第一编码器A 200和交织器204施加待编码信号。向第二编码器B 202施加交织信号。第一编码器200的输出信号P1和第二编码器202的输出信号P2称为代码的奇偶位分量;P1为递增顺序的奇偶位而P2为交织顺序的奇偶位。递增顺序是位进入编码器A 200的地址顺序。交织顺序是位进入编码器B 202的顺序。编码器A和B可以相同或者不同。它们具有现有技术的结构。除了系统分量S 220以及奇偶位分量P1 222和P2 224之外,两个turbo编码器在分量编码器返回到零状态时输出两组尾部位226、228和230、232。将两个turbo编码器200、202逐个取读成零状态,从而一个turbo编码器在另一个被取读成零状态时被禁用。例如在3GPP TS 25.212中说明关于一种用于将编码器取读成零状态的方法的更多细节。
假设待编码原始信号Sk等于N位(k=0、1、2…、N-1)并且有每个编码器200、202添加的三个尾部位。换而言之,每个分量编码器为8态系统递归卷积编码器。发送的码字可以如图2b中所示视为在七个部分或者分量中。系统分量,该分量为未编码系统位Sk 220并且长度为N位;来自第一编码器200的递增顺序的系统尾部部分226,该部分由STail;N、STail;N+1和STail;N+2表示的三位构成;来自第二编码器202的交织顺序系统尾部部分232,该部分由STail;N+3、STail;N+4和STail;N+5表示的三位构成;递增顺序的奇偶位分量,该分量为来自第一编码器200的输出位P1k 222并且长度为N位;来自第一编码器200的递增顺序的奇偶位尾部部分228,该部分的长度为三位并且由P1Tail:N、P1Tail:N+1和P1Tail:N+2表示;交织顺序的奇偶位分量,该分量为来自第二编码器202的输出位P2k 224并且长度也为N位;以及来自第二编码器202的交织顺序的奇偶位尾部部分230,该部分的长度为三位并且由P2Tail:N、P2Tail:N+1和P2Tail:N+2表示。发送器在turbo编码之后具有的全码字然后长度为(N)+(3)+(3)+(N)+(3)+(N)+(3)=3N+12,其中不同分量的长度以与如上文说明的顺序相同的顺序并且编码率为N/(3N+12)。在图2b中图示了码字的七个分量。发送器还可以在发送码字之前进一步处理它。
根据分量编码器可知turbo码字可以由两个子码字构成。第一子码字为递增顺序的系统位220、奇偶位222、系统尾部位226和奇偶位尾部位228。第一子码字由第一编码器200生成。第二子码字为交织顺序的系统位ST[k](在图2b中未示出)、奇偶位224、系统尾部位232和奇偶位尾部位230。第二子码字由第二编码器202生成。忽略并且因此未发送交织系统位ST[k],因为可以通过交织根据递增顺序的系统位重新生成它们。
图3在平面图(左)和截面图(右)中图示了实施为UE的示例发送器10和/或接收器12的更多细节。本发明的示例实施例可以实施于这些更多具体功能的部件之一或者某一组合中。在图3,UE具有图形显示接口20和用户接口22,该用户接口图示为键区、但是理解为也涵盖在图形显示接口20的触屏技术和在麦克风24接收的语音识别技术。功率致动器26控制设备由用户接通和关断。示例UE 10可以具有表示为面向前方(例如用于视频呼叫)的相机28、但是取而代之或者除此之外还可以面向后方(例如用于捕获图像和视频进行本地储存)。相机28由快门致动器30并且可选地由缩放致动器30控制,该缩放致动器可以代之以在相机28未处于活跃模式时作为用于扬声器34的音量调节来工作。
在图3的截面图内可见通常用于蜂窝通信的多个发送/接收天线36。天线36可以是用于与UE中的其它无线电一起使用的多频带。用于天线36的可操作地平面由影线表示为跨域UE机壳所包围的整个空间,尽管在一些实施例中地平面可以限于比如在功率芯片38形成于其上的印刷布线板上设置的更小区域。功率芯片38控制对发送的信道和/或越过同时发送的天线(其中使用空间分集)的功率放大并且放大接收的信号。功率芯片38向射频(RF)芯片40输出放大的接收信号,该RF芯片解调和下变频该信号用于基带处理。基带(BB)芯片42检测信号,该信号然后被转换成位流并且最终被解码。针对在装置10中生成并且从该装置发送的信号相反出现相似处理。
去往和来自相机28的信号穿过对各种图像帧进行编码和解码的图像/视频处理器44。也可以存在单独音频处理器46,该处理器控制去往和来自扬声器34和麦克风24的信号。如用户接口芯片50控制的那样从帧存储器48刷新图形显示接口20,该用户接口芯片可以处理去往和来自显示接口20的信号和/或还处理来自键区22和别处的用户输入。
UE 10的某些实施例也可以包括一个或者多个辅助无线电、比如无线局域网无线电WLAN 37和蓝牙无线电39,该辅助无线电可以并入片上天线或者耦合到片外天线。各种存储器遍布该装置、比如随机存取存储器RAM 43、只读存储器ROM 45以及在一些实施例中为可拆卸存储器(比如各种程序10C存储于其上的所示记忆卡47)。UE 10内的所有这些部件通常由便携式电源如电池49供电。
前述处理器38、40、42、44、46、50如果实施为发送器10或者接收器12(任一个可以是UE或者网络接入节点/中继节点)中的单独实体可以在与主处理器10A、12A的从属关系下操作,该该主处理器然后可以与它们有主控关系。本发明的实施例与基带处理器42最相关,尽管注意其它实施例无需设置于此而是可以被设置遍及如图所示各种芯片和存储器或者设置于将上文针对图3描述的一些功能描述的另一处理器内。图3的这些各种处理器中的任何或者所有处理器存取可以与处理器一起在芯片上或者与之分离的各种存储器中的一个或者多个存储器。当发送器10和/或接收器12实施为可以具有塔装天线阵列而不是在图3所示两个天线的网络接入节点时也可以设置与通过比微微网更广的网络的通信有关的相似具体功能部件(例如部件36、38、40、42-45和47)。
注意上文描述的各种芯片(例如38、40、42等)可以组合成比描述的数目更少的数目,并且在更紧凑情况下,可以全部物理实施于单个芯片内。
通常,接收器12处理接收的信号,从而它能够检测和重建发送器在若干编码步骤(其中一个编码步骤可以是turbo编码器)之后发送的原始数据位。turbo编码的逆操作是如下turbo解码,接收器可以执行该turbo解码以根据接收的数据推断原始数据位。通常用如下软位代表接收的码字,这些软位是用于每个接收数据位的量化值。因此可以在接收器用软值代表发送器的码字的位。一种用于对turbo编码数据进行解码的常用算法称为MaxLogApp。MaxLogApp算法的指导原则是对turbo码字的两个子码字轮流进行解码并且根据子码字和先前外赋值导出将作为向下一轮子解码的输入来传递的新外赋值。在图2c中用并行数据访问的蝴蝶网络BFN示出了这样的子码字解码器。当应用具有内部并行处理/访问的turbo解码器时必须求解按照两个访问顺序的并行访问争用:递增顺序和交织顺序。可以在2007年6月4日提交并且标题为“Multiple Access for Parallel TurboDecoder”的第11/810,119号共有美国专利申请中看到就这一点而言的相关教导。然而,turbo交织器的长度可以不是应用的并行处理的程度的倍数,即,N≠cn,c是常数并且n=2m,其中m=1,2,3并且依次类推。此外,有利的是同时考虑接收到的turbo码字的软尾部位。
图4a描绘了用于扩展原始递增顺序的地址空间的布置。按照递增顺序的系统尾部位416的地址空间跟随系统位Sk(这些位未穿过图2中所示发送器10的任一编码器200、202)的地址444。系统位Sk的地址数目410为N。如果最后尾部样本的n元组未满,则额外数据值420可以用来填充n元组直至数据值的下一n元组开始。N1表示第一扩展地址空间412的长度。按照交织顺序的系统尾部位的地址空间418从下一空闲n元组开始跟随按照递增顺序的系统尾部位的地址。也在该情况下,如果需要,通过额外数据值422来填充最后的n元组。第二扩展地址空间400的长度由N2来表示。在两个扩展地址空间中可以有未用储存器空间(因为长度N对于不同码字可以不同),在该情况下,在这些扩展地址空间的全长度内有由额外数据值占据填充直至数据值的下一n元组开始的附加存储器空间,其中n为并行访问程度。原始地址空间410具有N个地址,第一扩展地址空间412具有N1个地址,而第二扩展地址空间400具有N2个地址。因而第一和第二地址空间的长度N1和N2为应用的并行处理程度的倍数,也就是说,对于一些常数c1和c2而言N1=c1n并且N2=c2n。另外,N≤N1≤N2。一般而言,可以通过以下过程计算数目N1和N2。数目N1为最小整数,从而N1为并行处理/访问程度的倍数并且N1-N大于或者等于子码字的尾部位的最大数目。数目N2为最小整数,从而N2为并行处理/访问程度的倍数并且N2-N1大于或者等于子码字的尾部位的最大数目。由于递增顺序的子码字以递增顺序的尾部数据值为终结,所以可以使用N1个地址的第一扩展地址空间来执行对递增顺序的子码字的解码。下一步骤是扩展turbo交织器以与第一和第二扩展地址空间匹配。具体而言,要求扩展turbo交织器能够恰当取读原始交织子码字的数据值和交织尾部值,用于对交织顺序的子码字的解码。
图4b图示了扩展长度的交织器的地址空间和填充这些地址空间的值的布置。假设如下用于如下调制解调器的并行访问turbo解码器作为具体而非限制例子,该调制解调器支持3G无线系统(例如3GPPTS 25.212)。如果常规turbo交织器T的长度表示为N 430并且还假设有向每个编码子码字(从如图2a中的编码器输出的整个码字的每个分量)附加的三个尾部位,则可以将扩展交织器TE的长度表示为N2434。因而扩展(turbo)交织器TE应用于第二扩展地址空间。N为系统位的整数数目(在图2a的链路Sk上输出的数目)。
扩展长度N2434的交织器TE的地址的实际数目依赖于运用的并行访问程度、尾部位数并且如下文更具体描述的那样也依赖于长度N。如在图4b所见,原始turbo交织器440的N个地址放置于扩展长度为总长度N2的交织器TE的前N个地址位置430。在原始交织器地址空间的长度为N的部分430之后是长度为N2-N的另一部分436。然后在紧接于原始交织器之后的位置放置按照交织顺序的尾部值442和一些额外值446的地址以将n元组填满。在那些地址之放置按照递增顺序的尾部值444和另一组可能额外值448的地址以将n元组填满。图4b中的长度N1和N2分别等于图4a中的第一和第二扩展地址空间的长度。
如上文指出的那样,具有内部并行处理/访问的turbo解码器需要求解按照两个访问顺序的并行访问争用:递增顺序和交织顺序。现在已经限定具有如下长度N2的两类扩展地址方案,该长度为并行处理程度的倍数。因此可以例如通过调用2007年6月4日提交并且标题为“Multiple Access for Parallel Turbo Decoder”的第11/810,119号美国专利申请的方法,用第二扩展地址空间和扩展turbo交织器建立n元组并行访问turbo解码器。并行访问子turbo解码器可以应用用于对递增顺序的子码字进行解码的第一扩展地址空间412并且应用扩展交织器TE直至第N1个地址432。因而并行访问子turbo解码器将N2地址之中的N1个地址用于数据访问。这样做的原因在于生成两类尾部位而未使用原始turbo交织器这样的事实。如果用n元组并行访问恰当解码,则递增顺序的值Sk 220、226在顺序上匹配于从发送器10的第一编码器200输出的那些奇偶位值222、228而交织顺序的值ST[k]和232在顺序上匹配于从发送器10的第二编码器202输出的那些奇偶位值224、230。
从图4b可见,对于范围为0、1、2、…、N-1的原始(turbo)交织器存储器地址,扩展长度的turbo交织器434等于T(对于i=0、1、2、…、N-1,TE[i]=T[i])。交织顺序的子码字的系统尾部数据值的地址如在442所见恰好放在N个系统数据值的地址之后。换而言之,假设三个尾部位,对于k=0、1、2,TE[N+k]=N1+k。如果需要则插入一些额外数据地址值446以将最后的n元组填满。在图4b中,这些额外数据值将是向标号446所示存储器空间中插入的空值。然后,如在图4b的标号444所示,按照对于k=0、1、2(也假设三个尾部位)而言,TE[N1+k]=N+k,从下一空闲n元组开始放入递增顺序的子码字的系统尾部数据值的地址。如果需要,则也插入一些额外数据值以将最后n元组填满,这些数据值在图4b中将为存储器空间中的在444右侧、但是仍然在扩展长度的交织器434的总长度N2内的空值448。分配额外空地址有若干可能性。所有可能性必须满足扩展长度的turbo交织器TE具有逆交织器这样的要求。
作为具体例子,先考虑并行访问程度为n=2的情况。当并行访问程度为二时基于系统位数N有两种情况待考虑:在N为偶数时和在N为奇数时。
如果N为偶数时,扩展交织器TE的总长度434N2为N2=N+8并且N1=N+4。因此,交织顺序的软尾部位的三个地址由TE[N+k]=N1+k=N+4+k(对于k=0、1、2)给定;而递增顺序的软尾部位的三个地址为TE[N1+k]=N+k(对于k=0、1、2)。在这一情况下需要两个空地址以将剩余2元组填满。可以按照TE[N+3]=N1+3=N+7设置遗漏空地址,并且可以按照TE[N1+3]=N+3给定其它遗漏空地址。其它重置两个空地址的可能性为TE[N+3]=N+3和TE[N1+3]=N1+3=N+7。当N为奇数时,TE的总长度为N2=N+7和N1=N+3。扩展turbo交织器的后七个值为TE[N+k]=N+3+k(对于k=0、1、2);以及TE[N1+k]=N+k(对于k=0、1、2)和按照TE[N+6]=N+6的空地址。这些给定用于尾部位的递增顺序和交织顺序的地址,从而访问范围为{0,1,…,N1}的扩展长度交织器434的相应组442、446的在图2c中的2元组并行访问子解码器可以按照恰当顺序读取恰当尾部值以便对它们的相应子码字轮流进行解码。
在下表1中概括针对n=2元组访问的交织器扩展部分的值。在表1中用黑体字示出了交织顺序的软尾部位的地址。在表1中用斜体字示出了递增顺序的软尾部位的地址。
Table 1:针对N=偶数和N=奇数的3个尾部位和n=2元组访问
现在考虑并行访问程度为n=4的情况。如与情况n=2的两重对照,这一实施例将具有一次四重并行访问扩展长度的turbo交织器434。在图2c示出了并行访问子解码器的例子。与n=2一样,对于n=4的情况,扩展turbo交织器的长度也依赖于码字的系统位数N和尾部位数。但是在n=4的情况下,该长度具体依赖于N以4取模(Nmod 4)的值。对于如在上述非限制例子中的三个尾部位的情况并且当程度为n=4的并行访问时,根据N mod 4的值来扩展turbo交织器的长度有四种不同基本情况:0、1、2或者3。下文单独详述这些情况。
对于N mod 4=1的情况,扩展turbo交织器TE 434由TE[N+k]=N+k+3(对于k=0、1、2)限定;由TE[N+k]=N+k-3(对于k=3、4、5)限定;以及由TE[N+6]=N+6限定。TE交织器434的总长度为N+7。在图4c的表的第4行示出了这一点。
对于N mod 4=2的情况,扩展turbo交织器TE 434由TE[N+k]=N+k+6(对于k=0、1、2、3)限定;由TE[N+k]=N+k(对于k=4、5)限定;以及由TE[N+k]=N+k-6(对于k=6、7、8和9)限定。TE交织器434的总长度为N+10。在图4c的表的第1行示出了这一点。
对于N mod 4=3的情况,扩展turbo交织器TE 434由TE[N+k]=N+k+5(对于k=0、1、2、3)限定;由TE[N+k]=N+k(对于k=4)限定;以及由TE[N+k]=N+k-5(对于k=5、6、7和8)限定。TE交织器434的总长度为N+9。在图4c的表的第2行示出了这一点。
对于N mod 4=3的情况,扩展turbo交织器TE 434由TE[N+k]=N+k+5(对于k=0、1、2、3)限定;由TE[N+k]=N+k(对于k=4)限定;以及由TE[N+k]=N+k-5(对于k=5、6、7和8)限定。TE交织器434的总长度为N+9。在图4c的表的第2行示出了这一点。
对于N mod 4=0的情况,扩展turbo交织器TE 434由TE[N+k]=N+k+4(对于k=0、1、2、3)限定;以及由TE[N+k]=N+k-4(对于k=4、5、6和7)限定。TE交织器400的总长度为N+8。在图4c的表的第3行示出了这一点。
在下表2中再现图4c的数据。
表2:针对N mod 4的值的3个尾部位和n=4元组访问
当并行处理的程度是4时,也可以以若干种不同的方式分配空填充符值的地址。例如,对于N mod 4=2的情况,扩展turbo交织器可以由TE[N+k]=N+6+k和TE[N+6+k]=N+k(对于k=0、1、2)限定;由TE[N+k]=N+k(对于k=3、4、5)限定;以及由TE[N+9]=N+9限定。换句话说,替代的扩展turbo交织器TE的最后10个值是[N+6,N+7,N+8,N+3,N+4,N+5,N,N+1,N+2,N+9],其中不同于表2的两个值为粗体字。
上述内容可以扩展至任何数目的n元组访问,尽管在2m元组多路访问实施最为容易,其中m=1、2、3、4…,这一系列然后接下来为n=23=8元组并行访问,该并行访问根据(常规)turbo交织器的长度N和在编码时使用的尾部位数具有用于TE交织器434的八个不同扩展部分。如在图4d所示,扩展部分的长度从11至18变化。类似于图4c,图4d的每行示出了根据产生该行的N mod 8值在交织器扩展部分的不同地址位置N、N+1、N+2、…N+17的值。扩展交织器TE的长度N2依赖于N mod 8值。在下表3中再现图4d的相同数据而行和列与图4d相比颠倒。在一个示例实施例中,表3的信息可以用来针对turbo交织器的长度为并行处理/多路访问数目n的倍数这样的情况扩展用于3G移动电话的turbo交织器。这一技术也考虑尾部样本。
表3:针对N mod 8值的3个尾部位和n=8元组访问
如在并行处理程度为2和4的情况下那样,可以用与并行处理程度为八的情况相同的方式分配空填充符值的地址。为了举例说明这一点,取数据帧长度N使得N mod 8=1。现在N2=N+15并且N1=N+7。可以将扩展turbo交织器的最后15个值赋值为N+7、N+8、N+9、N+3、N+4、N+5、N+6、N、N+1、N+2、N+10、N+11、N+12、N+13、N+14,其中空填充符的地址为粗体字。关于TE的这一例子与表3中的N mod 8=1这一情况匹配,并且空填充符的地址差可见。然而,可以使用两类扩展turbo交织器。空填充物的软位值可以赋值成如下值,这些值代表零位的最大概率。
本发明的实施例可以实施于专用集成电路ASIC(比如包括在图2b所示交织器和解码器的ASIC)中、无论是否如图所示或者以别的方式布置。这里详述的示例实施例视为一种用于如下高速调制解调器/解码器的面积高效实施方式,这些调制解调器/解码器用于无论是当前使用、在开发中还是有待开发的turbo代码(比如针对3G和更高级别协议规定的turbo代码),因为该实施方式可适应不同turbo代码结构。本发明的实施例可以在3G调制器中运用于至少64-QAM(正交调幅)。
图2c中的子turbo解码器能够并行访问子码字:以n个数据值的组块为单位处理子码字的数据值。因而为系统数据值的n元组、外赋值的n元组和奇偶位值的n元组。
图5图示了根据本发明一个示例实施例的逻辑流程图,并且图2c在块示意图中图示了用于图示图5的过程的根据本发明一个示例实施例的turbo解码器。在块502将递增顺序的地址空间划分成三个不相交部分。第一组匹配于范围为0、1、2、…、N-1的地址,第二组匹配于范围为N、N+1、…、N1-1的地址,而第三组匹配于范围为N1、N1+1、…、N2-1的地址。接着,在块504重置扩展交织器,从而扩展交织器能够访问范围为0、1、2、…、N-1的第一组数据值、范围为N、N+1、…、N1-1的第三组数据值和范围为N1、N1+1、…、N2-1的第二组数据值。实际扩展交织器的详细结构可以如图4b中那样。由于N、N1和N2这三个长度依赖于系统软位数和软尾部位数,所以可编程处理器250可以与地址单元254一起执行步骤502和504。然后在块506,并行访问争用求解器单元256例如通过调用2007年6月4日提交并且标题为“Multiple Access for Parallel TurboDecoder”的第11/810,119号美国专利申请的方法如图2c中所示求解对存储器空间的并行访问争用。
接着通过如在块508、510和512中所见,根据系统软位属于接收的码字的哪些部分将系统软位分类成三组来向turbo解码器的存储器下载码字。在块508将软位220放入存储器空间的第一分组中,在块510将软尾部位226放入存储器空间的第二分组中,并且最后在块512将其它软尾部位232放入存储器空间的第三分组中。存储器空间的第二和第三分组也可以包含额外填充符值以便将可能不完整的n元组填满,并且它们与扩展递增顺序的地址空间的额外地址匹配。地址单元254和存储器258可以用来执行这些操作。
现在在块514通过对子码字轮流进行解码来启动并行访问子码字解码器260直至已经完成最大数目的轮回或者满足块516所代表的某个其它停止条件。在对子码字进行解码之后,下一轮将在块518将其它子码字用于解码。当并行访问子码字解码器260对递增顺序的子码字进行解码时,地址单元254提供以n元组为单位的递增顺序的地址和用于蝴蝶网络的控制位。类似地,当并行访问子码字解码器260对交织顺序的子码字进行解码时,地址单元254生成以n元组为单位的交织顺序的地址和用于蝴蝶网络的控制位。
一般而言,可以用硬件或者专用电路、软件、逻辑或者其任何组合来实施各种示例实施例。例如,可以用硬件实施一些方面而可以用可以由控制器、微处理器或者其它计算设备执行的固件或者软件实施其它方面,尽管本发明不限于此。尽管本发明示例实施例的各种方面可以图示和描述为框图、流程图或者使用一些其它图形表示来图示和描述,但是合理地理解可以用作为非限制例子的硬件、软件、固件、专用电路或者逻辑、通用硬件或者控制器或者其它计算设备或者其一些组合来实施这里描述的这些块、装置、系统、技术或者方法。
因此应当理解,可以在各种部件如集成电路芯片和模块中实现本发明示例实施例的至少一些方面,并且可以在实施为集成电路的装置中实现本发明的示例实施例。一个或者多个集成电路可以包括用于实施可配置成根据本发明的示例实施例来操作的一个或者多个数据处理器、一个或者多个数字信号处理器或者处理器、基带电路和射频电路中的至少一种或者多种处理器和/或电路的电路(以及可能为固件)。
本领域技术人员鉴于在结合附图来阅读时的前文描述,可以清楚对本发明前述示例实施例的各种修改和适配。然而,任何和所有修改仍将落入本发明的非限制和示例实施例的范围内。
例如尽管上文在3G无线电接入技术系统的背景中已经描述示例实施例,但是应当理解,本发明的示例实施例并不限于用于仅与这一具体类型的无线通信系统一起使用,并且它们可以有利地使用于诸如WLAN、UTRAN、E-UTRAN、GSM、EDGE2等其它无线通信系统中。
应当注意术语“连接”、“耦合”或者其任何变体意味着在两个或者更多单元之间的任何直接或者间接连接或者耦合,并且可以涵盖在“连接”或者“耦合”在一起的两个单元之间存在一个或者多个中间单元。在单元之间的耦合或者连接可以是物理的、逻辑的或者其组合。如这里运用的那样,两个单元可以视为通过使用一个或者多个接线、线缆和/或印刷电连接以及通过使用电磁能(比如作为若干非限制和非穷举例子的波长在射频区、微波区和光学(可见光和不可见光)区中的电磁能)来“连接”或者“耦合”在一起。
另外,本发明各种非限制和示例实施例的一些特征在未对应使用其它特征时也可以有利地加以使用。这样,前文描述应当视为仅举例说明而非限制本发明的原理、教导和示例实施例。
Claims (20)
1.一种方法,包括:
为接收的码字的系统位生成第一分组存储器空间地址;
为所述接收的码字的第一组编码位生成第二分组存储器空间地址,其中所述第一组编码位包括递增顺序;
为所述接收的码字的第二组编码位生成第三分组存储器空间地址,其中所述第二组编码位包括交织顺序;以及
通过使用所述第二分组存储器空间中的地址访问所述第一组编码位来对所述接收的码字的子码字并行进行解码,并且轮流通过使用所述第三分组存储器空间中的地址访问所述第二组编码位来对所述接收的码字的另一子码字并行进行解码。
2.根据权利要求1所述的方法,其中所述编码位包括软尾部位,并且所述存储器空间地址设置于交织器内,从而所述第三分组中的所述软尾部位的地址落在所述第二分组中的所述软尾部位的地址与所述第一分组中的所述系统位的地址之间。
3.根据权利要求1或2中的任一权利要求所述的方法,其中所述第一分组的地址在交织器内的位置0、1、…、N-1处,所述第三分组的地址在所述交织器内的位置N、N+1、…、N1-1处,而所述第二分组的地址在所述交织器内的位置N1、N1+1、…、N2-1处,其中N1为最小整数,从而:
N1为并行处理/访问程度的倍数;并且
N1-N大于或者等于所述子码字的尾部位的最大数目;并且其中N2为最小整数,从而:
N2为并行处理/访问程度的倍数;并且
N2-N1大于或者等于所述子码字的尾部位的最大数目。
4.根据权利要求3所述的方法,其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在所述交织器内的位置N、N+1、N+2处,而存储于所述存储器空间的所述第二分组中的软尾部值的地址在所述交织器内的位置N1、N1+1、N1+2处。
5.根据权利要求1或2中的任一权利要求所述的方法,其中在两重并行访问中对所述子代码字进行解码;有N个系统软位;对于N为偶数的情况而言,N1=N+4并且所述存储器空间的长度N2等于N+8;并且对于N为奇数的情况而言,N1=N+3并且存储器空间的长度N2等于N+7;
并且其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在所述交织器内的位置N、N+1、…、N2-5处,而存储于所述存储器空间的所述第二分组中的所述软尾部值的地址在所述交织器内的位置N2-4、N2-3、…、N2-1处。
6.根据权利要求1或2中的任一权利要求所述的方法,其中在四重并行访问中对所述子码字进行解码;有N个系统位;所述存储器空间的长度N1和长度N2选自于以下之一:
对于N mod 4=2的情况,N1=N+6并且N2=N+10;
对于N mod 4=3的情况,N1=N+5并且N2=N+9;
对于N mod 4=0的情况,N1=N+4并且N2=N+8;并且
对于N mod 4=1的情况,N1=N+3并且N2=N+7;
并且其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在交织器内的位置N、N+1、…、N2-5处,而存储于所述存储器空间的所述第二分组中的所述软尾部位的地址在所述交织器内的位置N2-4、N2-3、…、N2-1处。
7.根据权利要求1或2中的任一权利要求所述的方法,其中在八重并行访问中对所述子码字进行解码;有N个系统位;所述存储器空间的长度N1和长度N2选自于以下之一:
对于N mod 8=0的情况,N1=N+8并且N2=N+16;
对于N mod 8=1的情况,N1=N+7并且N2=N+15;
对于N mod 8=2的情况,N1=N+6并且N2=N+14;
对于N mod 8=3的情况,N1=N+5并且N2=N+13;
对于N mod 8=4的情况,N1=N+4并且N2=N+12;
对于N mod 8=5的情况,N1=N+3并且N2=N+11;
对于N mod 8=6的情况,N1=N+10并且N2=N+18;并且
对于N mod 8=7的情况,N1=N+9并且N2=N+17;
并且其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在交织器内的位置N、N+1、…、N2-9处,而存储于所述存储器空间的所述第二分组中的软尾部位的地址在所述交织器内的位置N2-8、N2-7、…、N2-1处。
8.一种装置,包括:
存储器,包括:第一分组存储器空间地址,在该第一分组存储器空间地址处存储接收的码字的系统位;第二分组存储器空间地址,在该第二分组存储器空间地址处按照递增顺序存储所述接收的码字的第一组编码位;以及第三分组存储器空间地址,在该第三分组存储器空间地址处按照交织顺序存储所述接收的码字的第二组编码位;
第一解码器,配置成使用从所述第二分组存储器空间取回的所述第一组编码位对所述接收的码字的子码字并行进行解码;以及
第二解码器,配置成与所述第一解码器轮流并且在对所述存储器空间地址的并行访问中,使用从所述第三分组存储器空间取回的所述第二组编码位对所述接收的码字的另一子码字进行解码。
9.根据权利要求8所述的装置,其中编码位包括软尾部位,并且所述存储器空间的地址设置于交织器内,从而所述第三分组中的所述软尾部位的地址落在所述第二分组中的所述软尾部位的地址与所述第一分组中的所述系统位的地址之间。
10.根据权利要求8或9中的任一权利要求所述的装置,其中所述第一分组的地址在交织器内的地址0、1、…、N-1处,所述第三分组的地址在所述交织器内的位置N、N+1、…、N1-1处,而所述第二分组的地址在所述交织器内的位置N1、N1+1、…、N2-1处,其中N1为最小整数,从而:
N1为并行处理/访问程度的倍数;并且
N1-N大于或者等于所述子码字的尾部位的最大数目;并且其中N2为最小整数,从而:
N2为并行处理/访问程度的倍数;并且
N2-N1大于或者等于所述子码字的尾部位的最大数目。
11.根据权利要求10所述的装置,其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在所述交织器内的位置N、N+1、N+2处,而存储于所述存储器空间的所述第二分组中的软尾部值的地址在所述交织器内的位置N1、N1+1、N1+2处。
12.根据权利要求8或9中的任一权利要求所述的装置,其中所述第一和第二解码器被配置成在两重并行访问中对所述子码字进行解码;有N个系统软位;对于N为偶数的情况而言,N1=N+4并且所述存储器空间的长度N2等于N+8;对于N为奇数的情况而言,N1=N+3并且存储器空间的长度N2等于N+7;
并且其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在所述交织器内的位置N、N+1、…、N2-5处,而存储于所述存储器空间的所述第二分组中的所述软尾部值的地址在所述交织器内的位置N2-4、N2-3、…、N2-1处。
13.根据权利要求8或9中的任一权利要求所述的装置,其中所述第一和第二解码器被配置成在四重并行访问中对所述子码字进行解码;有N个系统位;所述存储器空间的长度N1和长度N2选自于以下之一:
对于N mod 4=2的情况,N1=N+6并且N2=N+10;
对于N mod 4=3的情况,N1=N+5并且N2=N+9;
对于N mod 4=0的情况,N1=N+4并且N2=N+8;并且
对于N mod 4=1的情况,N1=N+3并且N2=N+7;
并且其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在交织器内的位置N、N+1、…、N2-5处,而存储于所述存储器空间的所述第二分组中的所述软尾部位的地址在所述交织器内的位置N2-4、N2-3、…、N2-1处。
14.根据权利要求8或9中的任一权利要求所述的装置,其中所述第一和第二解码器被配置成在八重并行访问中对所述子码字进行解码;有N个系统位;所述存储器空间的长度N1和长度N2选自于以下之一:
对于N mod 8=0的情况,N1=N+8并且N2=N+16;
对于N mod 8=1的情况,N1=N+7并且N2=N+15;
对于N mod 8=2的情况,N1=N+6并且N2=N+14;
对于N mod 8=3的情况,N1=N+5并且N2=N+13;
对于N mod 8=4的情况,N1=N+4并且N2=N+12;
对于N mod 8=5的情况,N1=N+3并且N2=N+11;
对于N mod 8=6的情况,N1=N+10并且N2=N+18;并且
对于N mod 8=7的情况,N1=N+9并且N2=N+17;
并且其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在交织器内的位置N、N+1、…、N2-9处,而存储于所述存储器空间的所述第二分组中的软尾部位的地址在所述交织器内的位置N2-8、N2-7、…、N2-1处。
15.一种存储可执行指令程序的计算机可读存储器,所述可执行指令在由处理器执行时,执行与对码字进行解码有关的动作,所述动作包括:
为接收的码字的系统位生成第一分组存储器空间地址;
为所述接收的码字的第一组编码位生成第二分组存储器空间地址,其中所述第一组编码位包括递增顺序;
为所述接收的码字的第二组编码位生成第三分组存储器空间地址,其中所述第二组编码位包括交织顺序;并且
通过使用所述第二分组存储器空间中的地址访问所述第一组编码位来对所述接收的码字的子码字并行进行解码,并且轮流通过使用所述第三分组存储器空间中的地址访问所述第二组编码位来对所述接收的码字的另一子码字并行进行解码。
16.根据权利要求15所述的计算机可读存储器,其中所述编码位包括软尾部位,并且所述存储器空间地址设置于交织器内,从而所述第三分组中的所述软尾部位的地址落在所述第二分组中的所述软尾部位的地址与所述第一分组中的所述系统位的地址之间。
17.根据权利要求15或16中的任一权利要求所述的计算机可读存储器,其中所述第一分组的地址在交织器内的位置0、1、…、N-1处,所述第三分组的地址在所述交织器内的位置N、N+1、…、N1-1处,而所述第二分组的地址在所述交织器内的位置N1、N1+1、…、N2-1处,其中N1为最小整数,从而:
N1为并行处理/访问程度的倍数;并且
N1-N大于或者等于所述子码字的尾部位的最大数目;并且其中N2为最小整数,从而:
N2为并行处理/访问程度的倍数;并且
N2-N1大于或者等于所述子码字的尾部位的最大数目。
18.根据权利要求17所述的计算机可读存储器,其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在所述交织器内的位置N、N+1、N+2处,而存储于所述存储器空间的所述第二分组中的软尾部值的地址在所述交织器内的位置N1、N1+1、N1+2处。
19.根据权利要求15或者16中的任一权利要求所述的计算机可读存储器,其中在两重并行访问中对所述子码字进行解码;有N个系统软位;对于N为偶数的情况而言,N1=N+4并且所述存储器空间的长度N2等于N+8;并且对于N为奇数的情况而言,N1=N+3并且存储器空间的长度N2等于N+7;
并且其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在所述交织器内的位置N、N+1、…、N2-5处,而存储于所述存储器空间的所述第二分组中的所述软部位值的地址在所述交织器内的位置N2-4、N2-3、…、N2-1处。
20.根据权利要求15或者16中的任一权利要求所述的计算机可读存储器,其中在四重并行访问中对所述子码字进行解码;有N个系统位;所述存储器空间的长度N1和长度N2选自于以下之一:
对于N mod 4=2的情况,N1=N+6并且N2=N+10;
对于N mod 4=3的情况,N1=N+5并且N2=N+9;
对于N mod 4=0的情况,N1=N+4并且N2=N+8;并且
对于N mod 4=1的情况,N1=N+3并且N2=N+7;
并且其中存储于所述存储器空间的所述第三分组中的软尾部位的地址在交织器内的位置N、N+1、…、N2-5处,而存储于所述存储器空间的所述第二分组中的所述软尾部位的地址在所述交织器内的位置N2-4、N2-3、…、N2-1处。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/378,998 | 2009-02-19 | ||
US12/378,998 US7839310B2 (en) | 2009-02-19 | 2009-02-19 | Extended turbo interleavers for parallel turbo decoding |
PCT/IB2010/000318 WO2011104572A1 (en) | 2009-02-19 | 2010-02-18 | Extended turbo interleavers for parallel turbo decoding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102405599A true CN102405599A (zh) | 2012-04-04 |
CN102405599B CN102405599B (zh) | 2016-10-05 |
Family
ID=42559397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080017424.9A Expired - Fee Related CN102405599B (zh) | 2009-02-19 | 2010-02-18 | 用于并行turbo解码的扩展turbo交织器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7839310B2 (zh) |
EP (1) | EP2399341B1 (zh) |
CN (1) | CN102405599B (zh) |
BR (1) | BRPI1008296A2 (zh) |
WO (1) | WO2011104572A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102414991B (zh) | 2009-04-24 | 2014-11-05 | 诺基亚公司 | 用于解码器的数据重排 |
CN102630374B (zh) | 2009-09-17 | 2015-07-01 | 法国电信公司 | 用于具有全双工中继器的多接入中继器信道系统的用于传送数字信号的方法、以及对应的中继器装置 |
WO2011067534A1 (fr) * | 2009-12-02 | 2011-06-09 | France Telecom | Procede de transmission d'un signal numerique pour un systeme marc semi-orthogonal avec relais half-duplex, produit programme et dispositif relais correspondants |
US8589735B2 (en) | 2011-05-16 | 2013-11-19 | International Business Machines Corporation | Creating randomly ordered fields while maintaining the temporal ordering based on the value of the fields |
US8947941B2 (en) * | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
GB2492249B (en) | 2012-06-29 | 2013-11-06 | Renesas Mobile Corp | Method, apparatus and computer program for solving control bits of butterfly networks |
CN107528670B (zh) * | 2017-07-26 | 2020-08-14 | 西安空间无线电技术研究所 | 一种Turbo码交织地址的生成方法 |
US11190217B2 (en) * | 2018-08-23 | 2021-11-30 | Phison Electronics Corp. | Data writing method, memory controlling circuit unit and memory storage device |
TWI742509B (zh) * | 2020-01-09 | 2021-10-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 |
EP3771983B1 (en) | 2019-08-01 | 2024-05-01 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
KR102704002B1 (ko) * | 2019-08-01 | 2024-09-10 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
CN113138947B (zh) * | 2020-01-17 | 2023-06-13 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516437B1 (en) * | 2000-03-07 | 2003-02-04 | General Electric Company | Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates |
US6715120B1 (en) * | 1999-04-30 | 2004-03-30 | General Electric Company | Turbo decoder with modified input for increased code word length and data rate |
CN1710815A (zh) * | 2005-06-01 | 2005-12-21 | 西南交通大学 | 非对数域高速最大后验概率Turbo译码方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU768016B2 (en) * | 2000-07-05 | 2003-11-27 | Lg Electronics Inc. | Method of configuring transmission in mobile communication system |
US7340664B2 (en) * | 2000-09-20 | 2008-03-04 | Lsi Logic Corporation | Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving |
US7333419B2 (en) * | 2000-11-30 | 2008-02-19 | Sasken Communication Technologies, Inc. | Method to improve performance and reduce complexity of turbo decoder |
FI20010147A (fi) * | 2001-01-24 | 2002-07-25 | Nokia Corp | Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi |
US6845482B2 (en) * | 2001-02-28 | 2005-01-18 | Qualcomm Incorporated | Interleaver for turbo decoder |
US6392572B1 (en) * | 2001-05-11 | 2002-05-21 | Qualcomm Incorporated | Buffer architecture for a turbo decoder |
US7058874B2 (en) * | 2002-05-24 | 2006-06-06 | Lucent Technologies Inc. | Interleaver address generator and method of generating an interleaver address |
EP1398881A1 (en) | 2002-09-05 | 2004-03-17 | STMicroelectronics N.V. | Combined turbo-code/convolutional code decoder, in particular for mobile radio systems |
KR100532325B1 (ko) * | 2002-11-23 | 2005-11-29 | 삼성전자주식회사 | 터보 복호기의 입력 제어 방법 및 장치 |
WO2005099099A1 (en) * | 2004-03-05 | 2005-10-20 | Thomson Licensing | Address generation apparatus for turbo interleaver and deinterleaver in w-cdma systems |
TWI264653B (en) * | 2004-05-19 | 2006-10-21 | Mediatek Inc | Method and apparatus for convolutional interleaving/de-interleaving technique |
US8051239B2 (en) | 2007-06-04 | 2011-11-01 | Nokia Corporation | Multiple access for parallel turbo decoder |
US8140932B2 (en) * | 2007-11-26 | 2012-03-20 | Motorola Mobility, Inc. | Data interleaving circuit and method for vectorized turbo decoder |
JP2009246474A (ja) * | 2008-03-28 | 2009-10-22 | Fujitsu Ltd | ターボデコーダ |
-
2009
- 2009-02-19 US US12/378,998 patent/US7839310B2/en not_active Expired - Fee Related
-
2010
- 2010-02-18 WO PCT/IB2010/000318 patent/WO2011104572A1/en active Application Filing
- 2010-02-18 EP EP10846398.5A patent/EP2399341B1/en not_active Not-in-force
- 2010-02-18 CN CN201080017424.9A patent/CN102405599B/zh not_active Expired - Fee Related
- 2010-02-18 BR BRPI1008296A patent/BRPI1008296A2/pt not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6715120B1 (en) * | 1999-04-30 | 2004-03-30 | General Electric Company | Turbo decoder with modified input for increased code word length and data rate |
US6516437B1 (en) * | 2000-03-07 | 2003-02-04 | General Electric Company | Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates |
CN1710815A (zh) * | 2005-06-01 | 2005-12-21 | 西南交通大学 | 非对数域高速最大后验概率Turbo译码方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2399341A1 (en) | 2011-12-28 |
EP2399341B1 (en) | 2019-01-16 |
CN102405599B (zh) | 2016-10-05 |
US20100207789A1 (en) | 2010-08-19 |
BRPI1008296A2 (pt) | 2016-03-15 |
EP2399341A4 (en) | 2014-12-24 |
WO2011104572A1 (en) | 2011-09-01 |
US7839310B2 (en) | 2010-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102405599A (zh) | 用于并行turbo解码的扩展turbo交织器 | |
CN109075799B (zh) | 极化Polar码的编译码方法及装置 | |
RU2740151C1 (ru) | Способ обработки информации и устройство связи | |
US9215033B2 (en) | Device, system and method of communicating data over wireless communication symbols with check code | |
JP4777971B2 (ja) | インタリーバメモリ及びデインタリーバメモリのためのアドレス生成装置 | |
CN101926095B (zh) | 用于在无线通信中交织的伪随机排序的系统和方法 | |
US10567004B2 (en) | Method and apparatus for constructing interleaving sequence in a wireless communication system | |
US7917827B2 (en) | Method of encoding and decoding using LDPC code and apparatus thereof | |
JP6686894B2 (ja) | 装置 | |
CN110870207B (zh) | 信息处理的方法和通信装置 | |
CN110612679B (zh) | 信息处理的方法和通信装置 | |
US20080276153A1 (en) | Optimal period rate matching for turbo coding | |
US20180212630A1 (en) | Encoder device, decoder device, and methods thereof | |
WO2018103638A1 (zh) | 数据传输的方法、发送设备、接收设备和通信系统 | |
CN105680988B (zh) | 一种延迟可调的编码方法 | |
US8619901B2 (en) | Systems and methods for providing unequal message protection | |
US8977913B2 (en) | Method, device and baseband chip for receiving service data in a communication system | |
CN104935399A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN101771500B (zh) | 一种数据处理装置及其方法 | |
JP7222458B2 (ja) | Polar Polar符号を利用して符号化および復号化を行う方法および装置 | |
WO2024192761A1 (en) | Methods, systems, and apparatus for encoded bit reduction in polar coding | |
CN114915297A (zh) | 一种编码和译码方法及相关装置 | |
CN116436471A (zh) | 编码和解码方法、通信设备和存储介质 | |
KR101482689B1 (ko) | 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법 | |
CN101753260A (zh) | 一种Turbo码编码器及编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160202 Address after: Espoo, Finland Applicant after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Applicant before: Nokia Oyj |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161005 Termination date: 20200218 |