具有解穿孔模块的Turbo解码器的制作方法

文档序号:7512512阅读:181来源:国知局

专利名称::具有解穿孔模块的Turbo解码器的制作方法
技术领域
:本公开一般涉及通信系统,并且更具体地,涉及用于使用对称和非对称解码速率进行turbo解码的概念和技术。
背景技术
:使用多级调制方案和强大的编码技术实现了高频谱效率的可靠通信。这些编码技术提供了接收机可以用于对错误进行校正的冗余。在典型的电信系统中,在传输之前用turbo码对码段或数据分组进行编码。Turbo编码过程为码段中的每个数据"比特"产生几个"码符号"。码符号包括"系统符号"和"奇偶符号"。系统符号代表码段内的数据,而奇偶符号提供了冗余。"码速率"是对由turbo编码器所引入的冗余的测量(即,码段中系统符号的数目除以总符号的数目)。一般,将码速率称为对称或者非对称的。"对称码速率"指码段中奇偶符号数目是系统符号数目整数倍的码速率。对称码速率的例子包括1/2、1/3和1/5。当奇偶符号数目不是系统符号数目的整数倍时,将码速率称为非对称的,例如采用2/3码速率的情况。典型地,将由turbo编码器产生的码符号分块在一起,并且映射到信号星座图上的点,从而产生"调制符号"序列。可以将该序列提供给模拟前端(AFE),该AFE生成连续时间信号,在通信信道上发送该连续时间信号。由于通信信道中的噪声和其它干扰,由接收机所恢复的调制符号可能不对应于在原始信号星座图中点的确切位置。可以使用符号解映射器进行"软判决",该软判决基于所接收的信号星座图中的点判决哪个调制符号是6最可能发送的。可以使用软判决提取码符号的对数似然比(LLR)值。Turbo解码器使用码符号LLR值解码出原始发送的数据。一般,将turbo解码器设计为最小化解码过程中固有的延迟时间,以支持诸如语音通信的实时应用。因此,按照常规,使用硬连线状态机逻辑制造turbo解码器。虽然状态机逻辑速度很快,但是它不灵活,并且很难使用相同的硬件部件使接收机能够对多种码速率进行解码。当尝试使用为对称码速率所设计的硬件来支持非对称码速率时,不能克服该困难。因此,在本领域中存在对可以有效地支持对称和非对称码速率的turbo解码器的需求。
发明内容根据本公开的一个方面,一种接收机包括turbo解码器和解穿孔模块,将该解穿孔模块配置为使turbo解码器能够有选择地运行在对称码速率和非对称码速率下。根据本公开的另一个方面,一种接收机包括turbo解码器以及用于使turbo解码器能够有选择地运行在对称码速率和非对称码速率下的模块。根据本公开的另一个方面,一种使用能够运行在对称码速率下的turbo解码器的通信方法包括对码符号的LLR值进行解穿孔以使turbo解码器能够运行在非对称码速率下,并且使用解穿孔后的LLR值以在非对称码速率下运行turbo解码器。图1是对电信系统中的发射机和接收机的例子进行说明的示意方框图;图2是对turbo编码器的例子进行说明的示意方框图;图3是图2中turbo编码器更详细的示意方框图4是对图1中的接收机部分进行说明的示意方框图,更详细地示出了turbo解码器;图5是对接收机中的解穿孔模块的例子进行说明的概念图6是对接收机中的解穿孔模块的硬件实现的例子进行说明的示意方框图;图7是对图1中的接收机部分进行说明的功能性方框图;以及图8是对使用能够运行在对称和非对称码速率下的turbo解码器的通信方法的例子进行说明的流程图。具体实施例方式现在参考附图对各个实施例进行说明。在下列说明中,出于解释的目的,为了提供对本发明的一个或多个方面的彻底理解,提出了许多特定细节。然而,可以不采用这些特定细节实现这些方面,这是显而易见的。在其它例子中,为了有助于对这些实施例进行说明,以方框图的形式示出了众所周知的结构和设备。如在该申请中所使用的,术语"组件"、"模块"、"系统"等是想要指与计算机相关的实体,即硬件、固件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是在处理器上运行的过程、处理器、对象、可执行的、执行线程、程序、和/或计算机,但是不限制于此。举例说明,运行在计算机设备上的应用程序和该计算设备都可以是组件。一个或多个组件可以包含在执行进程和/或线程内,并且一个组件可以位于一个计算机上并且/或者分布在两个或多个计算机之间。另外,可以从具有各种存储在其上的数据结构的各种计算机可读介质实现这些组件。例如,根据具有一个或多个数据分组的信号(例如,来自一个组件的数据,该组件通过该信号与本地系统中、分布式系统中的另一个组件交互作用,和/或通过该信号经由诸如互联网的网络与其它系统交互),这些组件可以通过本地和/或远程过程的方式进行通信。以可以包括多个组件、模块等的系统的形式给出本发明的各个方面。应该理解和意识到,各个系统可以包括额外的组件、模块等,并且/或者可以不完全包括所有结合附图所讨论的组件、模块等。还可以使用这些方法的组合。图1是对通过通信信道连接的发射机和接收机的例子进行说明的概念性方框图。通信信道102可以是有线和无线链路的任何组合。例如,通信信道102可以包括通过诸如互联网或者公共交换电话网(PSTN)的广域网(WAN)连接在一起的蜂窝网络、无线局域网(WLAN)、或者其它无线电接入8网络的任何组合。可替换地或另外地,通信信道102可以包括通过WAN连接在一起的以太网、数字用户线(DSL)、电缆调制解调器、光纤、标准电话线等。在一些配置中,例如在一些多播和广播系统中的情况下,通信信道102可以是专用信道。发射机104和接收机106可以是能够支持电话、视频、分组数据、消息、和/或其它类型通信的任何设备。发射机104和接收机106可以是独立的实体,或者可以集成在电信设备中。作为集成的例子,可以将发射机104集成在蜂窝或者无线接入网络中的基站收发机(BTS)、多播或广播网络中的发射机站、互联网服务提供商(ISP)、或者某些其它电信实体内。可以将接收机106集成在无线或蜂窝电话、个人数字助理(PDA)、计算机、或者某些其它合适的接入终端内。可替换地,可以将发射机104集成在接入终端内,并且将接收机106集成在BTS、ISP或者其它类似实体内。在发射机104处,turbo编码器108对数据比特和尾比特进行迭代编码处理。该编码处理产生具有冗余的码符号序列,接收机106可以使用该冗余对误差进行校正。将码符号提供给调制器110,在调制器110处,将这些码符号分块在一起并且映射到信号星座图上的坐标。信号星座图中每点的坐标代表基带正交分量,模拟前端(AFE)112使用该基带正交分量在通信信道102上传输之前对正交载波信号进行调制。可以使用接收机106中的AFE114将正交载波信号变换成它们的基带分量。解调器116将基带分量转换回它们在信号星座图中正确的点。由于信道102中的噪声和其它干扰,基带分量可能不对应于原始信号星座图中的有效位置。解调器116通过基于信道条件估计对信号星座图中所接收的点进行校正,来检测哪些调制符号是最可能发送的,并且选择信号星座图中最接近校正后接收点的有效符号。将这些选择称为"软判决"。每个软判决代表对在通信信道102上发送的调制符号的估计。LLR模块120使用软判决和信道估计提取与该调制符号相关联的码符号的LLR值。Turbo解码器124使用码符号LLR值序列来解码原始发送的数据。以下面将要更详细说明的方式,可以使用LLR模块120和turbo解码器124之间的解穿孔模块122来支持多种码速率。图2是对turbo编码器的例子进行说明的示意性方框图。Turbo编码器108包括并行运行并且与交织器202结合的两个组成编码器204A、204B。交织器202根据所定义的交织方案对码段中的数据(或者尾)比特进行重排(即交织)。一个组成编码器204A对码段中的比特进行编码,以生成两个奇偶比特序列(&和K),并且另一个组成编码器204B对交织后的比特进行编码,以生成另两个奇偶比特序列(rc和r》。将原始的和交织后的比特流与从两个组成编码器204A、204B输出的奇偶符号一起提供给穿孔模块206的输入。穿孔模块206在每个比特周期中将六个并行码符号(义,;r,K,K,r。,广》变换成串行输出。还可以使用穿孔模块206在每个比特周期中对交织后的系统符号(i')和/或一个或多个奇偶符号(ro,7;,re,r;)进行穿孔(即不发送),以实现所期望的码速率。图3是对图2的turbo编码器更详细进行描述的示意性方框图。如图所示,turbo编码器108具有两个并行连接、并且如参考图2所述由交织器202分开的组成编码器204A、204B。组成编码器204a、204b是系统递归巻积编码器。将编码器204A、204B生成的两个递归巻积码称为turbo码的组成码。穿孔模块206对原始的和交织后的比特流以及上述组成码一起进行穿孔,以实现所期望的码速率。每个组成编码器204A、204B包括开关302以及多个寄存器304和加法器306。最初将每个编码器204A、204B中的寄存器304设置为零。随后,在开关向上的每个比特周期中对组成编码器204A、204B进行时钟控制操作一次。接着,通过在开关302向下的三个比特周期中对其中一个组成编码器204A进行时钟控制操作并且然后在开关302向下的三个比特周期中对另一个组成编码器204B进行时钟控制操作,生成所述尾。在下表1和2中说明了对从数据比特和尾比特得到的码符号进行穿孔算法的例子。本领域的技术人员将容易理解,取决于特定的应用和施加在系统上总的设计约束,可以使用其它穿孔算法。如下表1所示,可以对数据比特的码符号进行穿孔。10表l用于比特周期的穿孔模式<table>tableseeoriginaldocumentpage11</column></row><table>首先从顶至底然后从左到右读穿孔表在穿孔模式内,"O"意味着对符号进行穿孔(删除),并且"1"意味着从turbo编码器108输出符号。每列代表在一个比特周期期间从turbo编码器108输出的码符号。参考表1,当码速率是1/5时,每比特周期从turbo编码器108输出码符号Z、K、rtf、R和r;。当码速率是l/3时,每比特周期从turbo编码器108输出码符号Z、K和r。。当码速率是1/2时,在第一个比特周期期间从turbo编码器108输出码符号Z和IV随后在下一个比特周期期间输出码符号Z和r。。当码速率是2/3时,在第一个比特周期期间从turbo编码器108输出码符号X和R,随后在下两个比特周期的每个中输出码符号I,随后在下一个比特周期中输出码符号义和ro。可以如下表2所示对尾符号进行穿孔。表2用于尾符号的穿孔模式<table>tableseeoriginaldocumentpage12</column></row><table>首先从顶至底然后从左到右读穿孔表在穿孔模式中,"0"意味着删除了尾符号,"1"意味着传送尾符号,而"2"意味着传送尾符号两次。每列代表在一个比特周期期间从turbo编码器108输出的尾符号。参考表2,当码速率是l/5时,前三个比特周期中的每个比特周期的尾符号是x0y9^,后三个比特周期中的每个比特周期的尾符号是义'x'r。r,r,。当码速率是i/3时,前三个比特周期中的每个比特周期的尾符号是ZYF。,后三个比特周期中的每个比特周期的尾符号是Z'ZT'。。当码速率是1/2时,前三个比特周期中的每个比特周期中从turbo编码器108输出的尾符号是XT。,后三个比特周期中的每个比特周期中从turbo编码器108输出的尾符号是x':r'。。当码速率是2/3时,前三个比特周期中的尾符号分别是;o^、义和^r。,后三个比特周期中的尾符号分别是z'、i';r。和;r。图4是对图1中的接收机进行描述的示意方框图,更详细地示出了turbo解码器124。如上所述,LLR模块120使用来自解调器116的软判决来确定码符号的LLR值。LLR值是对数似然比。可以将似然比定义为所发送的码符号是"1"的概率与所发送的码符号是"0"的概率之间的比。可替换地,可以以相反的方式定义似然比,即,似然比是所发送的码符号是"0"的概率与所发送的码符号是"1"的概率之间的比。LLR模块120使用来自解调器116的信道估计和软判决来确定LLR值。还可以使用噪声估计。然而,如果无论是否使用噪声估计turbo解码方法都提供相同的结果,那么实质上可以忽略噪声估计。在这种配置中,LLR模块120可以使用预定的值作为在计算LLR值中使用的噪声估计。将LLR模块120生成的LLR值通过解穿孔模块122提供给turbo解码器124。如下更详细所说明的,解穿孔模块122提供用于使turbo解码器有选择地运行在对称码速率和非对称码速率下的手段。对于turbo解码器124,存在图4中所示的两个组成解码器402A、402B。可以将每个组成解码器402A、402B实现为最大后验概率(MAP)解码器,其生成先验概率(APP)。APP代表输入到MAP解码器的系统符号是"0"还是"1"的可能性。在经过turbo解码器124的第一趟处理期间,第一个MAP解码器402A从码段中系统符号和奇偶符号(《K,R)的LLR值中计算APP值序列。交织器404对由第一个MAP解码器402A所计算的APP值进行重排,以与发射机104中turbo编码器108所使用的交织匹配(见图2)。随后,将交织后的APP值与来自码段的奇偶符号cr,r。,r》的llr值一起提供给第二个map解码器402B。第二个MAP解码器402B在经过turbo解码器124的第二趟处理期间生成解码比特(即,硬判决)序列。解交织器406对该比特序列进行解交织,并且通过复用器408将其提供到turbo解码器124的输出。经过turbo解码器124的二趟处理组成了一次迭代。可能需要经过turbo解码器124的多次迭代,来生成具有低比特错误率(BER)的比特。迭代过程逐渐对误差进行校正,并且如果有足够多的迭代和足够高的信噪比(SNR),可以对所有误差进行校正。使用在第一次迭代期间由第二个MAP解码器402B所生成的APP值序列可以完成第二次迭代。解交织器410对APP值序列进行解交织,并且通过复用器412将其反馈回第一个MAP解码器402A。在第一次迭代期间,将到第一个MAP解码器402A的APP输入接地。第一个MAP解码器402A从码符号(兀K,F力的LLR值以及来自第二个MAP解码器402B的解交织APP值中计算新的APP值序列。对新的APP值序列进行交织,并且将其与码符号(X',r0,r;)—起提供给第二个MAP解码器402B。第二个MAP解码器402B生成新的解码比特序列和APP值。如果将要进行第三次迭代,可以对新的APP值再次进行解交织,并且将其反馈回第一个MAP解码器402A。否则,将解码后的比特序列从turbo解码器124输出。理想地,在高SNR情况下,每个APP值集合比前一个APP值集合更好,使得在每次迭代之后以更高置信度进行硬判决。对于任何特定应用,实际迭代次数可以是固定的,或者可替换地可以动态确定实际迭代次数,以满足最低的服务质量需求。例如,当硬判决超过最小阈值测试时,可以使用提前终止控制模块414提前终止turbo解码过程。可以在迭代的结束或者中间处终止turbo解码过程。在迭代中间处终止turbo解码过程的情况下,第一个MAP解码器402A生成解码后的比特序列,并且将解码后的比特通过复用器408提供到turbo解码器124的输出。图5是对解穿孔模块122的例子进行说明的概念性图。从概念上讲,解穿孔模块122包括输入缓冲器502,其对码段的码符号的LLR值进行接收和存储。解穿孔模块122还包括两个输出缓冲器集合508A、508B。使用第一个输出缓冲器集合508A将码符号(兀K,K)的LLR值提供给第一个MAP解码器402A,并且使用第二个输出缓冲器集合508B将码符号(JT,r0,F、)的LLR值提供给第二个MAP解码器402B(见图4)。第一个输出缓冲器集合508A包括缓冲器508Ai、508A2、508A3,缓冲器508A,对系统符号(A)的LLR值进行存储,并且缓冲器508A2、508A3分别对奇偶符号(厶R)的LLR值进行存储。第二个输出缓冲器集合508B包括缓冲器508B。508B2、508B3,缓冲器508B,对系统符号CT)的LLR值进行存储,并且缓冲器508B2、508B3分别对奇偶符号(r;r》的LLR值进行存储。使用复用器504提供在所选择的速率中未使用的码符号的LLR值。例如,当码速率是2/3时(见表l),未使用码符号r"x邻r;。在该例子中,通过复用器504将这些LLR值设置为"0"。换言之,用零对来自输入缓冲器502的LLR值进行解穿孔,以适应所选择的码速率。可替换地,可以用其它信息对来自输入缓冲器502的LLR值进行解穿孔,该其它信息指示特定比特周期内的特定码符号对于所选择的码速率是不可用的。通过解复用器506将穿孔后的LLR值传送到相应的输出缓冲器508。控制器510通过控制用穿孔后的LLR值填充输出缓冲器506的方式,使turbo解码器124能够支持多种码速率。特别地,将控制器510配置为对复用器504和解复用器506进行控制,以针对每种码速率对输出缓冲器506进行不同填充。控制器510还通过当turbo解码器124中的第一个MAP解码器402a运行时从第一个输出缓冲器集合508a释放LLR值并且当turbo解码器124中的第二个MAP解码器402b运行时从第二个输出缓冲器集合508b释放LLR值,对输出缓冲器508进行控制(见图4)。现在,将参考图5对解穿孔模块122针对2/3码速率所执行的过程的例子进行描述。在该例子中,输入缓冲器502在第一个比特周期内接收系统符号X和奇偶符号K的LLR值,随后在接下来的两个比特周期的每个比特周期内接收系统码符号X的LLR值,随后在接下来的比特周期内接收系统码符号义和奇偶符号r。的LLR值。该过程重复,直至输入缓冲器502接收到码段内的所有数据比特码符号比特的所有LLR值为止。虽然未示出,但是输入缓冲器502还对在码段结束处的尾符号的LLR值进行接收(即,最后6个比特周期)。该尾部的前三个比特周期的尾符号的LLR值分别是;^7。、X和JiT。,并且该尾部的后三个比特周期的尾符号的LLR值分别是JT、XT'。和JT。当输入缓冲器502满时或者在满之前的某个时间,将来自输入缓冲器502的LLR值传送到输出缓冲器508。将第一个比特周期的系统符号义和奇偶符号y。的LLR值从输入缓冲器502分别传送到输出缓冲器508A,和508A2,将零加载到输出缓冲器508A3、508B,、508B2、508B3中。接下来,将第二个比特周期的系统符号X的LLR值从输入缓冲器502传送到输出缓冲器508A,,并且将零加载到其它输出缓冲器508A2、508A3、508B,、508B2、508B3中。随后,将第三个比特周期的系统符号X的LLR值从输入缓冲器502传送到输出缓冲器508AP并且将零加载到其它输出缓冲器508A2、508A3、508B,、508B2、508B3中。此后,将第四个比特周期的系统符号X和奇偶符号r'。的LLR值从输入缓冲器502分别传送到输出缓冲器508A,和508B2,并且将零加载到输出缓冲器508A2、508A3、508B"508B3中。该过程重复,直到将码段内所有数据比特码符号的LLR值从输入缓冲器502传送到输出缓冲器508为止。虽然未示出,但是随后,将码段结束处的6个比特周期内的尾符号的15LLR值传送到输出缓冲器508。将该尾部的第一个比特周期的系统符号X和奇偶符号y。的LLR值从输入缓冲器502分别传送到输出缓冲器508A,、508A2,并且将零加载到输出缓冲器508A3、508B,、508B2、508B3中。接下来,将该尾部的第二个比特周期的系统符号%的LLR值从输入缓冲器502传送到输出缓冲器508Ap并且将零加载到输出缓冲器508A2、508A3、508B,、508B2、508B3中。随后,将该尾部的第三个比特周期的系统符号X和奇偶符号i;的LLR值从输入缓冲器502分别传送到输出缓冲器508A,、508A2,并且将零加载到输出缓冲器508A3、508B,、508B2、508B3中。此后,将该尾部的第四个比特周期的系统符号义'的LLR值从输入缓冲器502传送到输出缓冲器508Bp并且将零加载到输出缓冲器508A,、508A2、508A3、508B2、508B3中。接下来,将该尾部的第五个比特周期的系统符号r和奇偶符号r'。的LLR值从输入缓冲器502分别传送到输出缓冲器508B,、50犯2,并且将零加载到输出缓冲器508A卜508A2、508A3、508B3中。最后,将该尾部的最后一个比特周期的系统符号X'的LLR值从输入缓冲器502传送到输出缓冲器508B!,并且将零加载到输出缓冲器508A卜508A2、508A3、508B2、508B3中。参考图4和5,在turbo解码器124中第一个MAP解码器402a的运行期间,从第一个输出缓冲器集合508a释放LLR值。在第一个比特周期期间,将系统符号%和奇偶符号&的LLR值分别从输出缓冲器508A,、508A2释放,将零从输出缓冲器508A3—起释放。在接下来的三个比特周期中的每个期间,将系统符号义的LLR值从输出缓冲器508A,释放,将零从输出缓冲器508A2、508A3中的每个一起释放。该过程重复,直到数据比特码符号的所有LLR值都已经从输出缓冲器508A,、508A2、508八3释放,并且由turbo解码器124中的第一个MAP解码器402A进行了处理为止。随后,将第一个MAP解码器402A进行重新初始化以用于尾符号。虽然未示出,但是随后从第一个输出缓冲器集合508释放尾符号的LLR值。在尾部的第一个比特周期期间,将系统符号X和奇偶符号y。的LLR值分别从输出缓冲器508A。508八2释放,并且将零从输出缓冲器508A3—起释放。在尾部的第二个比特周期期间,将系统符号I的LLR值从输出缓冲器508A,释放,并且将零从输出缓冲器508A2、508A3—起释放。在尾部的第三个比16特周期期间,将系统符号X和奇偶符号r。的LLR值分别从输出缓冲器508A,、508A2释放,并且将零从输出缓冲器508A3—起释放。—旦第一个MAP解码器402A对来自第一个输出缓冲器集合508a的码符号迸行了处理,对所得到的APP值进行交织,并且将其存储在解穿孔模块122中或者其它地方,以在第二个MAP解码器402B运行期间使用。在第二个MAP解码器402B运行期间,从第二个输出缓冲器集合508B释放LLR值。在前三个比特周期的每个期间,将零从输出缓冲器508B,、508B2、508B3中的每个中释放。对于这三个比特周期中的每个,第二个MAP解码器402B对零以及来自第一个MAP解码器402A的相应的APP值进行处理。在第四个比特周期期间,将奇偶符号y'。的LLR值从输出缓冲器508B2释放,并且将零从输出缓冲器508B。508B3—起释放。第二个MAP解码器402B对奇偶符号y'。的LLR值和零、以及来自第一个MAP解码器402A的相应的APP值一起进行处理。该过程继续,直到已经从输出缓冲器508B,、508B2、508B3释放了数据比特码符号的所有LLR值并且由第二个MAP解码器402B对其进行了处理为止。随后,将第二个MAP解码器402B进行重新初始化以用于尾符号。虽然未示出,但是释放在第二个输出寄存器集合508B中剩余尾符号的LLR值。在尾部的第一个比特周期期间,将系统符号X'的LLR值从输出缓冲器508B,释放,并且将零从输出缓冲器508B2、508B3—起释放。接下来,在尾部的第二个比特周期期间,将系统符号JT和奇偶符号r'。的LLR值分别从输出缓沖器508B,、508B2释放,并且将零从输出缓冲器508B3—起释放。随后,在第三个比特周期期间,将系统符号JT的LLR值从输出缓冲器508B,释放,并且将零从输出缓冲器508B2、508B3—起释放。一旦第二个MAP解码器402A对来自第二个输出缓冲器集合508B的码符号进行了处理,就可以对所得到的APP值进行解交织,并且如果要进行另一次迭代,将其存储在解穿孔模块122中或者在其它地方。解穿孔模块122的硬件实现可能与上述结合图5的概念性结构明显不同。例如,解穿孔模块122可能需要支持turbo解码器124,该turbo解码器124用单独一个MAP解码器实现上述第一个和第二个MAP解码器。在图6中示出了能够支持该turbo解码器结构的解穿孔模块122的硬件实现的17例子。在该例子中,使用两个存储体602A、602B对码符号的LLR值进行接收和存储。使用两个延迟器604A、604B使每个存储体602A、602B内的两个相继比特周期中的码符号可用于复用器集合606。该延迟器可以是D锁存器或者任何其它能将存储体的输出延迟一个比特周期的组件。复用器集合606包括将系统符号Z,Z'提供给turbo解码器124的第一个复用器606a,将奇偶符号r。,。提供给turbo解码器124的第二个复用器606b,以及将奇偶符号^r',提供给turbo解码器124的第三个复用器606c。控制器608用于基于所选择的码速率对复用器集合606进行控制。控制器还对指向存储体602A、602B的指针进行控制,在每次经过turbo编码器进行一趟处理(即1/2次迭代)之后对该指针进行复位。延迟器604A、604B的使用提供了用于支持对称码速率和非对称码速率的手段。如可以从图6中看出的,两个系统符号可以在两个存储体606A、606B中占用相同的指针位置。虽然未示出,但是对于尾部存在该相同状况。该状况是例如在该例子中所描述的2/3码速率这样的非对称码速率所独有的。这样,第一个复用器606a可以在第二个比特周期期间释放从第一个存储体602A的第二个指针位置来的系统符号X,并且在下一个比特周期期间释放从第二个存储体602B来的从延迟器604B输出的系统符号X。可替换地,可以用门控时钟对非对称码速率进行处理。在该例子中,使用比特周期时钟对通过第一个和第二个存储体602A、602B的LLR值进行时钟控制操作。还使用比特周期时钟对延迟器604A、604B进行时钟控制操作。比特周期时钟可以是系统时钟或者是系统时钟的倍减时钟。当指针位置指向第一个和第二个存储体602A、602B两者内的系统符号时,门612阻断数据比特时钟。通过阻断比特周期时钟,在指针位置上的系统符号在两个相继比特周期中保持可用。结果,在一个比特周期期间,可以从复用器606A输出来自第一个存储体602A的系统符号,并且在下一个比特周期期间,可以从相同的复用器606A输出来自第二个存储体602B的系统符号。图7是对接收机部分106进行说明的功能性方框图。如图所示,接收机具有turbo解码器124和用于使turbo解码器能够有选择地运行在对称码速率和非对称码速率下的模块702。图8是对使用能够运行在对称和非对称码速率下的turbo解码器的通信方法的例子进行说明的流程图。虽然为了清楚起见,将该方法描述为具有编号的步骤序列,但是该编号不必然指示步骤的次序。应该理解,可以跳过这些步骤中的一些步骤,可以并行执行这些步骤中的一些步骤,或者无需维持步骤序列的严格次序来执行这些步骤中的一些步骤。在步骤802中,从LLR模块接收码符号的LLR值。可以从数据比特和尾比特中得到码符号。在步骤804中,对LLR值进行解穿孔,以使turbo解码器能够运行在非对称码速率下。非对称码速率的例子是2/3。在步骤804中,使用解穿孔后的LLR值,以在非对称码速率下运行turbo解码器。Turbo解码器可以包括具有系统输入、以及第一个和第二个奇偶输入的MAP解码器。在turbo解码器的这种配置中,对LLR值进行解穿孔,以支持MAP解码器的输入。可以将turbo解码器配置为执行迭代,该迭代包含经过MAP解码器的两趟处理。在该配置中,所接收的LLR值包括从比特流得到的第一个LLR值集合以及从比特流的交织中得到的第二个LLR值集合。在第一趟处理期间,将来自第一个集合的解穿孔后的LLR值提供给MAP解码器,并且在第二趟处理期间,将来自第二个集合的解穿孔后的LLR值提供给MAP解码器。可以使用具有第一个和第二个存储体的硬件配置对LLR值进行解穿孔。可替换地,可以在第一个和第二个存储体之间交替地存储从LLR模块接收的LLR值。可以对来自每个存储体的输出进行延迟,并且使用来自存储体的所述输出和所述延迟后的输出对LLR值进行复用,以将解穿孔后的LLR值提供给turbo解码器。提供了上述说明,以便使本领域的任何技术人员都能够实现这里所描述的各个实施例。对这些实施例的各种修改对于本领域的技术人员来说将是显而易见的,并且可以将这里定义的一般原理应用到其它实施例。因此,权利要求并不是要被限制于这里所示的实施例,而是要符合与权利要求语言相一致的全部范围,其中,除非特别说明,以单数形式提及的一个要素并不意味着"一个且只有一个"而意味着"一个或者多个"。将对于本领域的技术人员已知或者后来变得已知的所有结构和功能等价于贯穿本公开所描述的各个实施例的要素的等价物清楚地以引用的方式合并于此,并且想19要将这些等价物包括在权利要求中。此外,无论是否在权利要求中对该公开进行明确陈述,这里所公开的所有内容都不是想要致力于公众。除非使用短语"用于……装置"清楚地陈述,或者在方法权利要求情况下,使用短语"用于……步骤"陈述某个要素,否则,不将权利要求要素理解为在35U.S.C.§112第六段的规定下。权利要求1、一种接收机,包括turbo解码器;以及解穿孔模块,将其配置为使所述turbo解码器能够有选择地运行在对称码速率和非对称码速率下。2、如权利要求1所述的接收机,其中,所述非对称码速率是2/3。3、如权利要求1所述的接收机,还包括LLR模块,将其配置为将LLR值提供给所述解穿孔模块,其中,将所述解穿孔模块进一步配置为根据所选择的码速率对所述LLR值进行解穿孔,并且将所述解穿孔后的LLR值提供给所述turbo解码器。4、如权利要求3所述的接收机,其中,所述turbo解码器包括具有系统输入、以及第一个和第二个奇偶输入的MAP解码器,并且其中,将所述解穿孔模块进一步配置为对所述LLR值进行解穿孔,以在每种码速率下支持对所述MAP解码器的输入。5、如权利要求4所述的接收机,其中,将所述turbo解码器配置为执行迭代,该迭代包括经过所述MAP解码器的两趟处理,其中,提供给所述解穿孔模块的所述LLR值包括从比特流得到的第一个LLR值集合和从所述比特流的交织得到的第二个LLR值集合,将所述解穿孔模块进一步配置为在第一趟处理期间将来自所述第一个集合的解穿孔后的LLR值提供给所述MAP解码器的输入,并且在第二趟处理期间提供来自所述第二个集合的解穿孔后的LLR值。6、如权利要求4所述的接收机,其中,所述解穿孔模块包括第一个和第二个存储体,将其配置为对来自所述LLR模块的所述LLR值进行缓存。7、如权利要求6所述的接收机,其中,将所述解穿孔模块进一步配置为在所述第一个和第二个存储体中交替地存储从所述LLR模块接收的所述LLR值。8、如权利要求6所述的接收机,其中,所述第一个和第二个存储体中的每个包括被配置为在每数据比特周期进行移动的指针,并且其中,将所述解穿孔模块进一步配置为有选择地将所述指针保持在两个相继数据比特周期的相同位置,以支持所述非对称码速率。9、如权利要求6所述的接收机,还包括在所述第一个存储体的输出处的第一个延迟器、在所述第二个存储体的输出处的第二个延迟器、以及三个复用器,将所述三个复用器中的一个配置为将系统符号的LLR值提供给所述turbo解码器,并且将其它复用器配置为将奇偶符号的LLR值提供给所述turbo解码器,并且其中,所述三个复用器中的每个可得到从所述第一个和第二个存储体以及所述第一个和第二个延迟器输出的LLR值。10、如权利要求3所述的接收机,其中,将所述解穿孔模块进一步配置为提供从数据比特和尾比特得到的码符号的LLR值。11、一种接收机,包括turbo解码器;以及turbo编码器使能模块,用于使所述turbo解码器能够有选择地运行在对称码速率和非对称码速率下。12、如权利要求U所述的接收机,其中,所述非对称码速率是2/3。13、如权利要求11所述的接收机,其中,所述turbo编码器使能模块包括用于根据所选择的码速率对LLR值进行解穿孔的模块以及用于将所述穿孔后的LLR值提供给所述turbo解码器的模块。14、如权利要求13所述的接收机,其中,所述turbo解码器包括具有系统输入、以及第一个和第二个奇偶输入的MAP解码器,并且其中,将所述用于对LLR值进行解穿孔的模块配置为对LLR值进行解穿孔,以在每种码速率下支持对所述MAP解码器的输入。15、如权利要求14所述的接收机,其中,将所述turbo解码器配置为执行迭代,该迭代包括经过所述MAP解码器的两趟处理,其中,提供给所述turbo解码器使能模块的所述LLR值包括从比特流得到的第一个LLR值集合和从所述比特流的交织得到的第二个LLR值集合,并且其中,将所述用于将所述解穿孔后的LLR值提供给所述turbo解码器的模块配置为在第一趟处理期间将来自所述第一个集合的解穿孔后的LLR值提供给所述MAP解码器的输入,并且在第二趟处理期间提供来自所述第二个集合的解穿孔后的LLR值。16、如权利要求13所述的接收机,其中,将所述用于将所述解穿孔后的LLR值提供给所述turbo解码器的模块配置为在每种所述码速率下提供码符号和尾符号的LLR值。17、一种使用能够在对称码速率下运行的turbo解码器的通信方法,包括对码符号的LLR值进行解穿孔,以使所述turbo解码器能够运行在非对称码速率下;以及使用所述解穿孔后的LLR值,以在所述非对称码速率下运行所述turbo解码器。18、如权利要求17所述的方法,其中,所述非对称码速率是2/3。19、如权利要求17所述的方法,其中,所述turbo解码器包括具有系统输入、以及第一个和第二个奇偶输入的MAP解码器,并且其中,对所述LLR值进行解穿孔,以支持所述MAP解码器的输入。20、如权利要求19所述的方法,其中,将所述turbo解码器配置为执行迭代,该迭代包括经过所述MAP解码器的两趟处理,所述方法还包括对所述LLR值进行接收,所述LLR值包括从比特流得到的第一个LLR值集合和从所述比特流的交织得到的第二个LLR值集合,并且其中,所述方法还包括在第一趟处理期间将来自所述第一个集合的解穿孔后的LLR值提供给所述MAP解码器,并且在第二趟处理期间将来自所述第二个集合的解穿孔后的LLR值提供给所述MAP解码器。21、如权利要求17所述的方法,其中,所述对LLR值进行解穿孔的步骤包括对所述LLR值进行接收,并且将所接收的LLR值存储在第一个和第二个存储体内。22、如权利要求21所述的方法,其中,在第一个和第二个存储体之间交替地存储所接收的LLR值。23、如权利要求21所述的方法,其中,所述第一个和第二个存储体中的每个具有被配置为在每比特周期进行移动的指针,并且其中,所述对LLR值进行解穿孔的步骤还包括有选择地将所述指针保持在两个相继数据比特周期的相同位置,以支持非对称码速率。24、如权利要求21所述的方法,其中,所述对LLR值进行解穿孔的步骤还包括对所述第一个和第二个存储体的输出进行延迟,并且对所述第一个和第二个存储体的所述输出和所述延迟的输出进行复用。25、如权利要求17所述的方法,其中,从数据比特和尾比特得到所述码符号。全文摘要接收机(106)包括turbo解码器(124)和解穿孔模块(122),将解穿孔模块(122)配置为使turbo解码器有选择地运行在对称码速率(例如,1/3或者1/4)和非对称码速率(例如,2/3)下。接收机还包括将LLR值提供给解穿孔模块的LLR模块(120)。可以通过存储体(602A、602B)、延迟器(604A、604B)和复用器(606)来实现解穿孔模块。文档编号H03M13/29GK101461142SQ200780020821公开日2009年6月17日申请日期2007年4月4日优先权日2006年4月4日发明者S·U·汗,T·孙申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1