具有双向滑动窗口体系结构的map译码器的制作方法

文档序号:7512384阅读:151来源:国知局
专利名称:具有双向滑动窗口体系结构的map译码器的制作方法
技术领域
本发明的各种实施例适用于通信系统,更具体地说,适用于数字通信 系统中对数据进行译码的设备和/或方法。
背景技术
在通信系统使用多种技术来增加信息传输量,而同时使传输差错最小 化。在这些通信系统中,信息通常表示为二进制位序列或是称为帧的位块。 将二进制信息调制为信号波形并通过通信信道传输。通信信道会引入破坏 传输信号的噪声和干扰。在接收机端,已接收的信号可能被破坏,而成为 被传输的二进制信息的估计fi。误码或误帧数取决于通信信道中的噪声和 干扰的量。
为了抵销传输信道破坏的影响,在数字通信系统中经常应用纠错编码 来保护数字信息免受噪声和干扰的影响,并减少误码/误帧数。信道编码通 常通过有选择地将冗余位引入被传输的信息流中来完成。这些附加信息位 允许检测和校正接收到的数据流中的误码,从而提供更加可靠的传输。
一种类型的纠错码为turbo码,其具有接近香农限的纠错性能。Turbo 编码的基础是在将要通过信道传输的数据中引入冗余。冗余数据有助于从 接收数据中恢复原始数据。turbo码可以获得香农信道容量的大约1 dB之内 的传输特性。
通信理论中的一种众所周知的公理是对极大块长度n随机选取的代码能够接近香农信道容量限。然而,对这种代码的译码随着n增加,直到某 一点,译码变得在物理上无法实现。
turbo码的一类译码器为最大后验(MAP)算法,也称为后验概率(APP) 算法。MAP算法通过对分块的二元格状树进行前向递归并随后进行反向递 归来对块进行译码,从而得出格状图中每个状态的一对状态度量。格状树 的前向递归以前向方向对块进行译码,从而得到信息序列的第一估计值(前
从"^获得信息序列的第,二估计值(反向"^口态度量)、。在;专统口的MAP算法 实现中, 一个问题是,对前向状态度量和反向状态度量进行存储,即使是 对于适中的约束长度和块长度,也会占据极大的存储空间。
传统MAP算法的另一个困难在于,顺序处理(即前向递归和反向递归) 无法满足译码时间的约束。特别是,对块的二进制格状结构进行前向递归 并随后进行反向递归需要的时间可能比对速率敏感的应用程序所容许时间 更长。数据块的译码需要的时间可能比对速率敏感的应用程序所期望的时 间更长。

发明内容
在一方面, 一种译码器包括使用滑动窗口体系结构将数据块分隔成 多个子块的块分隔器;耦合到所述块分隔器的第一译码器,用于接收所述
多个子块,该第一译码器包括多个并行译码器,这些并行译码器并行确定 第一组状态度量,该第一组状态度量是所述多个子块中至少二个子块的状
态度量;以及耦合到所述第一译码器的第二译码器,用于从所述第一译码 器接收所述多个子块,以及计算第二组所述多个子块的状态度量。第一和 第二译码器可以实现最大后验概率(MAP)算法,来纠正数据块中的差错。第 一和/或第二译码器可以确定i据块的格状结构的前向状态度量。第二译码
器还可以将从第一译码器接收的每个子块分隔成多个较小的段,并在该多 个较小的段上应用滑动窗口体系结构计算第二组状态度量。第二译码器可 包括多个并行译码器,其中第二译码器中的每个并行译码器对应于第一译 码器中的多个并行译码器中的一个。每个子块可以包括多个段,其中第二 译码器可设置为, 一旦第一译码器已计算出一个段的第一组状态度量,则第二译码器计算该段的第二组状态度量。
在另一方面, 一种用于递归地对编码块中的信息进行译码的方法,该 方法包括将所述编码数据块分隔成多个较小的子块,每个子块包括多个 较小的段;并行获得两个或更多所述子块的前向状态度量;以及一旦获得 了一个段的前向状态度量,就获得该段的反向状态度量。该方法还可以包 括接收具有N个时间步长格状结构的编码信息块;将编码块分隔成N/L个 子块,其中L为大于零的整数;以及并行计算N/L个子块的前向状态度量。 可替换地,该方法还可以包括存储每个子块第一段的第一组度量;基于 第一段的第一个和第二个状态度量获取第一段的似然比;以及一旦得出第 一段的似然比,就丢弃每个子块第一段的第一组度量。
在上述的译码器和方法中,每个子块可以与前一子块重叠格状结构的k 个时间步长,其中,k为大于零的整数值。与第一子块之后的每个子块的前 k个时间歩长相关联的度量将从第一组状态度量中丢弃。子块的长度可由译 码时间约束决定。数据块可采用turbo码编码。 一旦计算出了一个段的似然 比,该段的第一组度量将从存储设备中被丢弃。在计算数据块中数据的似 然比过程中可以使用第一组状态度量和第二组状态度量。
应该注意到,所述的译码器和/或方法可以由用于执行一个或多个所述 译码器和/或方法的功能的处理器来实现。类似的,所述的译码器和/或方法 可以由包含指令的机器可读介质来实现,其中所述指令设置为执行译码器 和/或方法的一个或多个功能。


图1为示出了可实现本发明的一个或多个特性的示例性通信系统的方 框图。
图2为示出了用于执行数据译码的示例性接收设备的方框图。
图3为示出了根据本发明的一个特征,具有滑动窗口体系结构并在前
向译码器上并行译码的示例性译码器的方框图。
图4为示出了信息块如何在前向译码器的滑动窗口体系结构中分隔成
较小的子块。
图5为示出了具有多个并行译码器的示例性译码器结构的框图。图6为示出了由前向和反向译码器对数据块分隔和处理的示例性表格。 图7为示出了在前向和反向译码路径上采用滑动窗口实现递归译码的
示例性方法的流程图。
图8为示出了在两级译码器中,分隔接收到的数据块的示例性方法的
流程图。
图9示出了另一种示例性译码装置。
具体实施例方式
下面,将给出具体的细节描述,从而提供对实施例的深入理解。然而, 本领域的普通技术人员可以理解,这些实施例可以在没有这些具体细节的 情况下实施。例如,可在框图中示出电路,目的在于避免由于不必要的细 节而使实施例不易理解。
还注意到,可将各实施例表示为以流程图、流图、结构图或是方框图 形式描述的过程。尽管流程图可能将操作描述为顺序过程,很多操作可以 以并行或并发的方式进行。另外,操作的顺序可以重新安排。当一个过程 的操作完成时,该过程终止。过程(process)可以对应于方法、功能、过程 (procedure)、子例程、子程序等等。当一个过程对应一个函数时,该过程的 终止对应于该函数返回到调用函数或主函数。
此外,存储介质可以表示用于存储数据的一个或多个器件,包括只读 存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速 存储器器件和/或其他用于存储信息的机器可读介质。术语"机器可读介质" 包括,但不仅限于便携式或固定存储设备、光存储设备、无线信道、以 及各种其他能够存储、包含或输送指令和/或数据的介质。
另外,各实施例可由硬件、软件、固件、中间件或者他们的组合实现。 当在软件、固件、中间件或微码中实现时,可将运行必要任务的程序代码 或代码段存储在诸如存储介质或其他存储模块的机器可读介质中。处理器 可执行必要的任务。代码段可表示过程、函数、子程序、程序、例程、子 例程、模块、软件包、类或者是指令、数据结构或程序语句的组合。 一个 代码段可通过传递和/或接收信息、数据、实参、参数或存储器内容与另一 代码段或硬件电路相耦合。信息、实参、参数、数据等等可经由适当的方式传递、转发或传输,所述适当的方式包括存储器共享、消息传递、令牌 传递以及网络传输等等。
一般地,本文公开了一种MAP译码器或以MAP译码器作为组成部分 (例如,递归前向和反向译码器)的turbo译码器,所述MAP译码器或turbo 译码器具有双向滑动窗口。进入前向译码器中的数据块被细分为子块,并
且对子块的前向递归操作是并行进行的。这种方法认识到计算前向状态度 量的前向递归不需要从格状结构的第一时间步长开始。而取代之的是,将 滑动窗口体系结构应用于前向状态度量计算。这样可以减少前向状态度量 (通过传统算法)的存储空间,并且,由于前向状态度量是并行计算的,所以 也将减少译码时间。
另外,在反向译码器上,甚至可将来自前向译码器的子块进一步细分。 还可将用于反向状态度量计算的滑动窗口体系结构应用于子块的每一个(或 前向滑动窗口),从而减少用于前向状态度量的存储。
图1为示出了可实现本发明的一个或多个特性的示例性通信系统的方 框图。该通信系统包括第一设备102,第一设备102对信息进行编码来通过 通信信道104将信息传输到第二设备106,第二设备106对该信息进行译码。 第一设备102包括接收数据并采用纠错码对其进行编码的编码器108。然后, 将编码数据发送至调制器110,调制器110将信息调制到载波信号上,然后 由发射机112发射。通信信道可以是任何将编码信息输送到接收方第二设 备106的介质,包括有线、无线、无线电、卫星或它们的结合。第二设备 106包括接收机114和解调器116,解调器116解调所接收信号,并将分组、 帧或数据块提供给译码器118。译码器118对信息进行译码,从而提供数据 输出。译码器118可设置为实现最大后验(MAP)算法,也称为后验概率(APP) 算法。
图2为示出了用于对数据进行解码的示例性接收设备202的方框图。 接收设备202包括通信接口 204,其从通信信道接收载有信息的信号。随后, 通信接口 204将所接收载有信息的信号发送到用于对所接收信号中的信息 进行译码的处理系统206。
处理系统206的功能是作为MAP译码器或以MAP译码器作为组成部 分(例如递归前向和反向译码器)的turbo译码器,并且该处理系统在译码器的两个前向和反向递归路径上都实现滑动窗口。从通信接口 204接收的信 息被细分为较小的块(即子块)并在两个或更多个的子块上并行执行前向递 归功能。为了这个目的,处理系统206可包括一个或多个处理器,专用集 成电路(ASIC)和/或用于并行运行的译码器件。前向译码器计算子块从开头 到末端的状态度量,而反向译码器计算子块从末端到开头的度量。存储器 设备208可与处理系统206相耦合,用来存储在译码过程中生成的前向和/ 或反向状态度量。
一个附加特性提供了,处理系统206也可用于实现具有滑动窗口体系 结构的反向译码器,用于细分了的较小块中每一块的反向状态度量的计算。 当实现反向译码器时,来自前向译码器的细分了的较小的块可更进一步细 分,同时,将滑动窗口体系结构并行应用于前向状态度量计算器的各个子 块的每一个。从而,所公开的特性减少了用于前向和/或反向状态度量的存 储,并由于在前向和/或反向译码器上的并行译码,进一步减少了译码时间。
在一些实现中,甚至在前向状态计算在子块上完成之前,将用于反向 状态度量计算的滑动窗口体系结构应用于前向状态度量计算器的子块。艮P, 用于反向状态度量计算的滑动窗口体系结构意味着,反向状态度量计算在 子块的段上执行,因为所述段的前向状态度量计算已完成。从而,对一个 子块的各段的反向状态度量计算会在对该子块的其他段的前向状态度量计 算还在进行时发生。这加快了整个计算过程,因为不需要等到对一个子块 的所有前向状态计算全部完成。在一些实现方式中,对一个段的前向度量 先进行计算,然后进行对同一段的反向状态度量的计算。在其他实现方式 中,对一个段或一个子块的反向状态度量先进行计算,然后进行对该子块 或段的前向状态度量的计算。在又一些其他实现方式中,对一个段的前向 和反向度量的计算近似同时地进行。尽管一些例子只说明了这些顺序中的 一个,而没有说明其他的顺序,可以理解,本发明可应用于不背离本发明 的任何结构中。
随后,使用前向和反向状态度量来计算子块的似然比(例如,对数似然 比)。在一个实现中,将当前这组前向状态度量和计算出的对数似然比存储 在存储器208中。这里,由于对数似然比是与反向状态度量一同计算出的, 所以不需要存储反向状态度量。图3为示出了具有滑动窗口体系结构并在前向译码器上并行译码的示 例性译码器300的方框图。译码器300可作为实现MAP算法的译码器来运 行。译码器300包括从通信信道接收二进制信息的帧缓冲器302。将接收的 二进制信息作为数据块发送给前向译码器304。将数据块(例如,窗口)细分 为较小的数据块(例如,子块或滑动窗口),随后较小的数据块由前向译码器 304并行处理。g卩,前向译码器304执行子块的二元格状结构的前向递归。 通过格状结构的每条路径表示唯一的时间状态的二元序列,其中每个时间 状态分配一个概率。所述概率表明特定的二元时间状态为l或O的可能性。 这些概率作为前向状态度量来存储。随后,反向译码器306以反方向遍历 格状结构,并生成另一组概率作为反向状态度量。随后,似然比计算器308 基于前向状态度量和反向状态度量来计算对数似然比或后验概率(APP)。
前向状态度量计算是一个递归函数,其基于先前各时间步长的前向状 态度量。幵始于在时间步长t的对于所有可能状态具有相等概率的未知状 态,经过k个时间步长的前向状态度量计算(其中k取决于代码的约束长度) 产生在时间步长t+k的前向状态度量的良好近似。随后,可始于时间步长t+k 的近似来计算下面的前向状态度量。由于可以在始于格状结构中的任意点 来建立对前向状态度量的良好近似,所以,可以将滑动窗口体系结构应用 于前向状态度量计算中,并且并行处理用于前向状态度量计算的所有滑动
图4为示出了编码信息块402、 404和406如何在前向译码器的滑动窗 口体系结构中分隔成较小的子块408、 410和412。前向译码器的滑动窗口 的长度L是基于译码时间约束来选择的。译码时间约束基于应用的数据速 率。应用的数据速率越高,译码要求就越快,也就意味着滑动窗口具有较 小的长度L。
将格状结构中具有N个时间步长的块404分隔成N/L个子块408、 410 和412。该N/L个子块408、 410和412的前向状态度量是并行计算的。第 一子块408长度为L。其开始于(块B的)第一时间步长并始于全零状态(已 知状态)。其他子块410和412长度为L+K,每个子块与前一个子块重叠格 状结构的k个时间步长。例如,在子块1 408之后的子块2 410包括自子块 1 408的最后k个时间步长。第n个子块(其中n > 1)始于第((n-l)L+l-k)个时间步长并具有相等可能性的状态。通过"提前"k个时间步长开始第n个子 块,可以得到该子块在k+t时间步长的前向状态度量的良好近似(其中t为 大于或等于零的整数)。随后除第一窗口以外的所有滑动窗口中的前k个时 间步长的前向状态度量被丢弃。
为了进行反向状态度量计算,可将子块进一步细分为较小的子块或段 414、 416和418。随后,在段414、 416和418上进行反向状态度量计算。 为了加快格状结构的整个对数似然比的计算,甚至可以在相对应的整个子 块的前向状态度量计算完成之前就开始对这些段的反向状态度量计算。从 而一旦对对应于一个段的子块的一部分的前向状态度量计算已完成,就可 以在该段上开始反向状态度量计算。注意到,在其他实现中,在不背离本 发明的情况下,可以在前向状态度量计算之前或近似同时地进行反向状态 度量计算。
图5为示出了具有多个并行译码器的示例性译码器结构的框图。帧缓 冲器502从通信信道接收二进制数据或符号。块分隔器504将数据块分隔 成多个较小的数据子块。在一个实现中,采用滑动窗口体系结构将数据块 分隔成多个前向状态度量(FSM)子块,每个FSM子块与前一个FSM子块重 叠k个时间步长。随后,将多个FSM子块转送至具有多个并行译码器(例如 处理器、ASIC等等)510、 512和514的前向译码器506。通过并行生成前向 状态度量,前向译码器506在更短的时间内生成度量。
来自前向译码器506的FSM子块可被进一步分隔成较小的子块和段(例 如图4中的段414、 416和418)。反向状态度量计算在这些较小的段上进行。 反向译码器508包括多个反向状态度量(RSM)段译码器516、 518和520, 它们为来自相对应的FSM子块译码器510、 512和514的子块的段生成反 向状态度量。然而,必须注意,对反向状态度量的计算是独立于前向状态 度量的。前向译码器是从一个子块或段的开头到末端来计算度量,而反向 译码器是从该子块的末端到开头来计算度量的。前向和反向译码器506和 508相互独立地执行各自的计算,这两种译码器都使用所接收的数据和共同 的格状结构。为了加快整个似然比的计算,由RSM段译码器516、 518和/ 或520进行的反向状态度量计算甚至可以在由FSM子块译码器510、 512 和/或514对对应子块的前向状态度量计算完成之前就开始。从而, 一旦对于与一个段对应的子块的一部分的前向状态度量计算完成,就可以在该段 上开始反向状态度量计算。
存储设备522可以与前向译码器506相耦合,从而存储前向状态度量, 并将所述度量传送到似然比计算器524。似然比计算器524基于从反向译码 器508接收的所存储的前向状态度量和反向状态度量来计算似然比。在一 个实现中,当前组前向状态度量和计算出的似然比存储在存储器208 (图2) 中。并不需要存储反向状态度量,因为似然比是与反向状态度量一同计算 出的。
在一些实现中,前向译码器506和反向译码器508可同时(或接近同时) 对子块进行译码。即,反向译码器508并不等待到代码的一个段由前向译 码器506进行译码之后。在这样的实现中,前向和反向度量均可存储在存 储器中用于计算似然比。例如,子块的前一半的前向度量可与该子块的另 一半的反向度量一起存储。随后,由于该子块的前向和反向状态度量已计 算完成,可以计算似然比。
图6为示出了由前向和反向译码器对数据块进行分隔和处理的示例性 表格。通常,数据块被分隔成FSM子块,并被并行处理以进行前向状态度 量计算,并且,每个子块可进一步被分隔成较小的RSM子块或段,用于反 向状态度量计算。在这一实例中,FSM子块的长度为6XW,而RSM段的 长度为W。前向状态度量计算器(FSMC)开始于时间TO。 一旦算出前W个 前向状态度量,FSMC在时间Tl计算段2X W(从W到2W-1)的前向状态度 量。大约在时间T1,反向状态度量计算器(RSMC)计算来自第一段W的反 向度量(以倒序从W-l到0计算)。在下一个时间周期T2, FSMC移动到下 一段3XW (从2W到3W-1),而RSMC移动到段2XW (以倒序从2W-1到 W计算)。该过程一直持续,直到完成一个FSM子块的前向和反向状态度 量。
在RSMC计算每段的反向状态度量时,同一段的对数似然比(LLR)(或 其他的似然比)也被计算并在存储器中存储。注意到,根据一些实施例,用 于存储前向状态度量的存储器的量通过存储较小数量的前向状态度量而减 少了。例如,当前段(例如,2XW)和前一段(例如,W)的前向状态度量(例 如,Ao,2^)被存储。开始于时间T1,前一段(例如,W)的前向状态度量(例如,Ao,w-,)用于计算LLR。该过程一直持续直到整个子块的LLR被计算。 在一个段的LLR被计算后,可以丢弃前一段的前向状态度量。注意到,通 过在子块的前向状态度量完成以前处理各段的反向状态度量,任意一次存 储的前向状态度量的数量(例如,两个段的度量)都更少了。
图7为示出了在前向和反向译码路径上采用滑动窗口实现递归译码的 示例性方法的流程图。注意到,在各种实现中,本方法可应用于使用MAP 或对数MAP译码器的不同的译码算法中,包括具有两个或更多顺序或并行 译码阶段(例如内部或外部译码器,等等)的译码算法。从通信信道接收数据 块(例如,比特、符号等的序列)(702)。将数据块分隔成较小的子块(706)。 在一些实现中,在第一子块之后,每个后续子块都与前一子块重叠格状结 构的k个时间步长。在两个或更多个子块上并行执行前向译码(708),以获 得每个子块的前向状态度量。当组合时,每个子块的前向状态度量弥补了 数据块的格状结构的前向状态度量。在各种实现中,前向译码是在数据块 的所有子块中进行的。对每个子块,前向状态度量(例如,格状结构的每个 时间步长的概率)可被任选地存储(710)。
在一些实现中,可进一步将子块分隔成较小的段(712),以由后续的译 码阶段进行处理。反向译码(例如沿格状结构的后向路径)在两个或更多个段 上并行进行(714),从而获得每个段的反向状态度量。注意到, 一些实现可 以通过将反向译码712和714与前向译码并行进行,来减少译码时间和/或 节省存储空间。特别是,当获得了子块各段的前向状态度量时,可以开始 对该子块的那些段的反向译码。从而,就不需要等到对整个子块的前向状
态度量完成后,再开始反向译码。在其他实现中,可顺序地进行前向译码 和反向译码。
似然比基于前向和反向状态度量来计算(716)。似然比可作为最初被发 送数据的估计来输出(718)。
在各种实现中,可近似同时或顺序地(例如,反向状态度量紧随前向状 态度量,或者相反)计算一个子块或子块的一个段的前向状态度量和反向状 态度量。
尽管一些实例可能只说明了这些顺序中的一种,而没有介绍其他的, 但可以理解,在不背离本发明的情况下,本发明可应用于这些结构的任何一种。
图8为示出了在两级译码器中,分隔接收到的数据块的示例性方法的
流程图。基于译码时间约束选择子块(例如,滑动窗口)的长度L (802)。约 束译码时间基于应用数据速率。应用数据速率越高,译码就要求越快,意 味着滑动窗口具有越小的长度L。在各种实现中,长度L可以以比特、符 号或格状结构时间步长来衡量。在各种实现中,长度L和/或时间约束可在 运行过程中,可由用户配置地,或者在通信器件/系统的硬件和/或软件设计 时,来动态确定。
将数据块分隔成两个或更多个较小的长度为L的子块(804)。该块的格 状结构中可以具有N个时间步长,并将其分隔成N/L个子块。随后,确定 其是否为第一子块(806)。通常,第一子块从零状态(已知状态)开始。如果其 不是第一子块,贝U将子块的最后k个时间步长加到下一个子块(808)。从而, 除了第一子块,所有的后续子块的长度均为L+K,其每个子块都与前一个 子块重叠格状结构的k个时间步长。随后,并行确定(计算)两个或更多个子 块(例如,两个或全部的子块或滑动窗口)的前向状态度量(810)。随后丢弃第 一子块之后每个子块中的前k个时间步长的前向状态度量(812)。在一任选 步骤中,随后可将子块分隔成两个或更多个较小的段(814)。随后,确定(计 算)两个或更多个段的反向状态度量(816)。基于前向和反向状态度量计算似 然比(818)。
根据一些实现, 一个段的反向状态度量的计算是在确定对应的子块的 其他部分的前向状态度量时进行的。例如,前向和反向度量可按照与图6 中说明的相似的顺序计算。
注意到,这一算法的存储器使用量是只将滑动窗口体系结构应用到反 向状态度量计算的存储器使用量的N/L倍。另外,由于将数据块分隔成子 块,并且在前向译码路径上的并行处理,译码时间减小为N/L。
因此,MAP译码器或以MAP译码器作为组成部分的turbo译码器可配 置双向滑动窗口。滑动窗口体系结构可应用于具有N个时间步长的格状结 构的编码数据块的前向状态度量(FSM)计算。将数据块分隔成较小的子块, 而且,并行进行子块的两个或更多个的前向递归,从而获得FSM。每个子 块与前一个子块重叠k个时间步长,其中k为大于零的整数值。这提供了对FSM在子块时间步长k+t的良好的近似。除了第一子块,与每个子块前 k个时间歩长相关联的FSM被丢弃。还进行每个子块的反向递归,从而获 得子块的反向状态度量(RSM)。随后,基于FSM和RSM计算似然比。
本文描述的装置、方法和算法特别适合于应用turbo码或巻积码的高数 据速率系统。对于译码速率过低而无法达到所期望数据速率的系统也是一 个很好的解决方案。通过添加更多的并行译码器,可提高有效数据速率。
根据各种实现,图l、 2、 3、 4、 5和域6的装置可以与图7和域8中 描述的一个或多个方法一起实现。
在不背离本发明的情况下,图1、 2、 3、 4、 5、 6、 7和/或8中说明的 一个或多个部件、步骤和/或功能可重新排列或合并为单个部件、步骤或功 能,或者以一些部件、步骤或功能来实施。在不背离本发明的情况下,也 可以添加另外的元件、部件、步骤和/或功能。图l、 2、 3、 4、 5和/或6中 说明的装置、设备和/或部件可设置为执行本文描述的一个或多个方法、特 性或步骤。
应该注意到,上述实施例仅仅是例子,并不应理解为对本发明的限制。 例如,译码器可包括用于将编码数据块分隔成多个子块的模块,该编码 数据块具有N个时间步长的格状结构,其中N为大于零的整数;用于递归 地并行获得两个或多个子块的前向状态度量的模块;以及用于递归地并行
获得两个或多个子块的反向状态度量的模块。这里,用于分隔的模块可包
括图9的装置900中所示的分隔器模块910。如装置900中所示,用于递归 得出前向状态度量的模块可包括前向状态度量模块920,以及用于递归得出 反向状态度量的模块可包括反向状态度量模块930。
可替换地,装置900的一个或多个部件可由用于控制和/或执行一个或 多个部件的功能的处理器来实现。类似地,装置900的一个或多个部件可 由包含有用于执行一个或多个部件功能的指令的机器可读介质来实现。
因此,对各实施例的描述是要为说明性的,并不是要对权利要求的范 围进行限制。所以,本教导可容易地应用于其他类型的装置中,并且多种 替换、修改和变形对本领域的技术人员是显而易见的。
权利要求
1、一种译码器,包括块分隔器,用于使用滑动窗口体系结构将数据块分隔成多个子块;第一译码器,所述第一译码器与所述块分隔器相耦合以接收所述多个子块,所述第一译码器包括多个并行译码器,所述并行译码器并行确定所述多个子块的至少两个的第一组状态度量;以及第二译码器,所述第二译码器与所述第一译码器相耦合以从所述第一译码器接收所述多个子块,并计算所述多个子块的第二组状态度量。
2、 根据权利要求1所述的译码器,其中所述第一译码器和第二译码器 实现最大后验概率(MAP)算法以纠正所述数据块中的差错。
3、 根据权利要求1所述的译码器,其中所述第一译码器确定所述数据 块的格状结构的前向状态度量。
4、 根据权利要求3所述的译码器,其中所述每个子块与前一个子块重 叠所述格状结构的k个时间步长,其中k为大于零的整数值。
5、 根据权利要求4所述的译码器,其中从所述第一组状态度量中丢弃 与第一子块之后的每个子块的前k个时间步长相关联的所述度量。
6、 根据权利要求3所述的译码器,其中所述第二译码器确定所述数据 块的所述格状结构的反向状态度量。
7、 根据权利要求1所述的译码器,其中所述子块的长度由译码时间约 束来确定。
8、 根据权利要求1所述的译码器,其中所述子块的数量确定所述第一 译码器中的并行译码器的数量。
9、 根据权利要求1所述的译码器,其中所述数据块采用turbo码进行 编码。
10、 根据权利要求1所述的译码器,其中所述第一译码器中的所述并 行译码器是计算每个子块的前向状态度量的递归译码器。
11、 根据权利要求1所述的译码器,其中所述第二译码器进一步将从 所述第一译码器接收的每个子块分隔成多个较小的段,并在所述多个较小 的段上使用滑动窗口体系结构计算所述第二组状态度量。
12、 根据权利要求1所述的译码器,还包括存储所述第一组状态度量的存储设备。
13、 根据权利要求12所述的译码器,其中每个子块包括多个段,在任 何一次当前段和前一段的所述第一组度量被存储在所述存储设备中。
14、 根据权利要求13所述的译码器,其中一旦计算出一个段的似然比, 就从所述存储设备中丢弃该段的所述第一组度量。
15、 根据权利要求1所述的译码器,其中在计算所述数据块中数据的 似然比的过程中使用所述第一组状态度量和所述第二组状态度量。
16、 根据权利要求1所述的译码器,其中所述第二译码器包括多个并 行译码器,所述第二译码器中的每个并行译码器对应于所述第一译码器中 的所述多个并行译码器中的一个。
17、 根据权利要求1所述的译码器,其中每个子块包括多个段,所述 第二译码器用于, 一旦所述第一译码器计算出一个段的所述第一组状态度 量,所述第二译码器就计算该段的所述第二组状态度量。
18、 一种递归地对编码块中的信息进行译码的方法,该方法包括 将所述编码数据块分隔成多个较小的子块,每个子块包括多个较小的段;并行获取所述子块的两个或更多个的前向状态度量;以及 一旦获取了一个段的前向状态度量,就获取该段的反向状态度量。
19、 根据权利要求18所述的方法,其中子块开始于具有已知二元状态 的第一吋间步长。
20、 根据权利要求18所述的方法,其中在分隔所述编码块过程中采用 了滑动窗口体系结构,使得每个子块与前一子块重叠所述编码块的格状结 构的k个时间步长,其中k为大于零的整数值。
21、 根据权利要求20所述的方法,还包括-丢弃与第一子块之后的每个子块的前k个时间步长相关联的所述前向 状态度量。
22、 根据权利要求18所述的方法,还包括 接收具有N个时间步长的格状结构的所述编码信息块; 将所述编码块分隔成N/L个子块,其中L为大于零的整数;以及 并行计算所述N/L个子块的前向状态度量。
23、 根据权利要求18所述的方法,还包括 基于第一组和第二组状态度量获取所述数据块中数据的似然比。
24、 根据权利要求18所述的方法,其中在获取一子块的所述前向状态 度量中,开始步为未知状态,该未知状态具有相等可能的各状态度量。
25、 根据权利要求18所述的方法,还包括存储每个子块的第一段的第一组度量;基于所述第一段的第一和第二状态度量获取所述第一段的似然比;以及一旦获取了所述第一段的似然比,就丢弃每个子块的所述第一段的所 述第一组度量。
26、 一种译码器,包括用于将编码数据块分隔成多个子块的模块,所述编码数据块具有N个时间步长的格状结构,其中N为大于零的整数;用于递归地并行获取所述子块的两个或更多个的前向状态度量的模块;以及用于递归地并行获取所述子块的两个或更多个的反向状态度量的模块。
27、 根据权利要求26所述的译码器,其中每个子块与前一子块重叠所 述编码块的所述格状结构的k个时间步长,其中k为大于零的整数值,并 且丢弃与第一子块之后的每个子块的前k个时间步长相关联的所述前向状态度量。
28、 根据权利要求26所述的译码器,其中每个子块包括多个段, 一旦 获取了一个段的所述前向状态度量,就获取该段的所述反向状态度量。
29、 权利要求26所述的译码器,还包括用于基于所述前向和反向状态度量获取似然比的模块。
30、 一种处理设备,用于控制接收具有N个时间步长的格状结构状态的编码数据块,其中N为大于 2的正整数;以及通过以下方式对所述编码数据块进行递归译码将所述编码块分隔成多个子块,以及并行获取所述子块的两个或更多个的前向状态度量。
31、 根据权利要求30所述的处理设备,其中所述递归译码还包括获取所述子块的两个或更多个的反向状态度量。
32、 根据权利要求31所述的处理设备,其中所述每个子块包括多个段, 一旦获取了一个段的前向状态度量,就获取该段的反向状态度量。
33、 根据权利要求30所述的处理设备,其中第一子块之后的每个子块 都与前一子块重叠所述格状结构的k个时间步长,其中k为大于零的整数 值,并且,其中所述处理设备还用于丢弃与第一子块之后的每个子块的所述前k个时间步长相关联的所述 前向状态度量,其中k为大于零的整数。
34、 一种包括用于对编码块中的信息进行递归译码的指令的机器可读介质,所述指令用于将所述编码数据块分隔成多个较小的子块,每个子块包括多个较小的段;并行获取所述子块的两个或更多个的前向状态度量;以及 一旦获取了一个段的前向状态度量,就获取该段的反向状态度量。
全文摘要
一种MAP译码器,或者具有MAP译码器作为其组成部分的turbo译码器,其配置了双向滑动窗口。将滑动窗口体系结构应用于具有N个时间步长格状结构的编码数据块的前向状态度量(FSM)计算。将数据块分隔成较小的子块,并且并行执行对两个或更多个子块的前向递归,从而获得FSM。每个子块都与前一子块重叠k个时间步长,其中k为大于零的整数值。这提供了在子块k+t时间步长的FSM的良好近似。丢弃与除第一子块以外的每个子块的前k个时间步长相关联的FSM。还执行对每个子块的反向递归,以获取该子块的反向状态度量(RSM)。随后基于FSM和RSM计算似然比。
文档编号H03M13/00GK101411071SQ200780010773
公开日2009年4月15日 申请日期2007年1月29日 优先权日2006年1月27日
发明者I·J·费尔南德斯-科尔巴顿, J·德洛斯皮诺斯庞特, P·陈 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1