多模维特比解码装置及其解码方法
【专利摘要】本发明提供了一种多模维特比解码装置及其解码方法,该解码装置包括:输入数据存储模块、分支路径度量模块、模式选择模块、并行加比选模块、幸存路径存储模块、回溯模块和时序控制模块,其中,并行加比选模块,用于根据状态转移图,将对应状态的度量值与分支路径度量值并行累加计算,获得累加值,并将最大的累加值作为下一状态的新的度量值,向幸存路径存储模块发送幸存路径选择结果,直到所述待解码数据结束;回溯模块,用于按照不同的编码方式选择不同的回溯方式,根据所述幸存路径存储模块保存的所述幸存路径选择结果,从任意状态或最大的累加值所对应的状态开始回溯,获得解码结果。采用本发明可共享大量资源,优化设计,提高了译码吞吐率。
【专利说明】多模维特比解码装置及其解码方法
【技术领域】
[0001]本发明涉及通讯领域,尤其涉及一种多模维特比解码装置及其解码方法。
【背景技术】
[0002]随着第三代合作伙伴计划(3GPP)长期演进(Long Term Evolution, LTE)技术的发展,移动通信正向着多元兼容稳健的方向发展。也因此,应用市场要求开发一种支持LTE和时分同步码分多址(TD-SCDMA)、宽带码分多址(WCDMA)、码分多址(CDMA) 2000等制式的多模芯片。而卷积编码在信道编码中,通过人为增加冗余信息,很好地抗击传输过程中各种各样的噪声和干扰,能使系统具有自动纠正差错的能力,其在单模/多模制式中依然无法替代。
[0003]卷积码是在编码过程中引入了寄存器,增加了码元之间的相关性,从而在相同复杂度下获得比传统分组码更高的编码增益。卷积编码有三种格栅终止策略:
[0004]直接截尾法(如Direct truncation),不提供任何关于格栅最终状态到信息给解码器。
[0005]零尾法(如Zero turmination),尾比特O被加到信息比特后面,然后进行编码,这样保证格栅回到特定状态O。
[0006]咬尾法(tail biting)中有一种特殊到形式即零尾法,然而其相比零尾法不同的地方是不需要添加尾比特。咬尾法即一个码块在编码之前将卷积码编码器的初始状态设为该码块的最后若干比特,对于循环卷积码,在编码过程结束后编码器又重新回到初始状态,所以解码格栅可以被看成一个圈,在圆的任何位置解码都可以被初始化,也因此其对应的解码可以看成是循环转圈形式。
[0007]众所周知,卷积编码的约束度越长,性能会越好,但随之带来的译码复杂度在一定程度上会成倍增加,一般卷积码的约束度被限定在10以下。我们最期望的是降低约束度的同时,其译码性能又不损失或损失很小,于是,在LTE制式下我们引入了上面介绍的约束度较小,又通过特定的回溯方式而保持性能的咬尾卷积编码,同时市场应用要求多模系统必须兼容TD-SCDMA、WCDMA或CDMA 2000的其他编码制式,因此,这对整个译码器的设计提出了极为巨大的挑战。
[0008]对于卷积编码所对应的解码算法很多,但其中最有效、最实用的解码算法为最大似然解码,即维特比解码算法。但不同制式编码器的译码算法存在简单堆叠问题,因而无法最大程度的共享资源,无法支持不同码率、不同约束度,又无法保持较高的数据吞吐率,故无法更好地满足高速通讯系统的应用。
【发明内容】
[0009]本发明实施例提供了一种多模维特比解码装置及其解码方法,以解决不同制式编码器的译码算法的简单堆叠问题。
[0010]本发明实施例提供了一种多模维特比解码装置,该装置包括:[0011]输入数据存储模块,用于采用乒乓存储的方式存储外部输入的待解码数据,以及根据接收的解码指令读取待解码的数据;
[0012]分支路径度量模块,用于向所述输入数据存储模块发送所述解码指令,并接收所述待解码的数据;以及,根据不同的码率指示,对所述待解码数据与编码器的状态输出值进行相关运算,获得分支路径度量值;
[0013]模式选择模块,用于根据不同制式,不同约束度和不同编码器的状态输出值,选择不同组合的分支路径度量送入并行加比选模块;
[0014]所述并行加比选模块,用于根据状态转移图,将对应状态的度量值与分支路径度量值并行累加计算,获得累加值,并将最大的累加值作为下一状态的新的度量值,向幸存路径存储模块发送幸存路径选择结果,直到所述待解码数据结束;
[0015]所述幸存路径存储模块,用于保存所有的幸存路径选择结果;
[0016]回溯模块,用于按照不同的编码方式选择不同的回溯方式,根据所述幸存路径存储模块保存的所述幸存路径选择结果,从任意状态或最大的累加值所对应的状态开始回溯,获得解码结果;
[0017]时序控制模块,用于向所述分支路径度量模块、所述模式选择模块、所述并行加比选模块、所述幸存路径存储模块和所述回溯模块提供控制信号,以便各模块以流水线的方式操作,所述控制信号包括使能信号、延迟信号和计数信号。
[0018]优选地,所述装置还包括:
[0019]防溢出模块,用于所述并行加比选模块获得所述累加值之后,当O状态对应的累加值有效位的最高位为I时,根据来自所述时序控制模块的使能信号,将所有获得的累加值有效位的次高位减1,获得新的累加值并作为本次累加计算的结果。
[0020]优选地,所述不同的编码方式包括咬尾卷积编码和非咬尾卷积编码;所述咬尾卷积编码对应的回溯方式为一次回溯,回溯深度为两倍的编码长度;所述非咬尾卷积编码对应的回溯方式为滑窗回溯,所述滑窗回溯的重叠长度(overlap)、窗长和有效比特数根据性能需求进行设置。
[0021]优选地,所述不同制式包括长期演进(LTE)、时分同步码分多址(TD-SCDMA)、宽带码分多址(WCDMA)和码分多址(CDMA) 2000制式。
[0022]优选地,当所述不同制式包括TD-SCDMA、WCDMA和CDMA2000制式时,所述回溯模块根据码块长度的不同,所选择的回溯方式为一次回溯与滑窗回溯相结合的方式。
[0023]优选地,所述并行加比选模块包括:
[0024]累加计算单元,用于根据状态转移图,多路并行累加计算对应状态的度量值与分支路径度量值,获得累加值;
[0025]选择单元,用于根据加比选法则,选择最大的累加值作为下一状态的新的度量值,并向所述幸存路径存储模块发送选择结果,直到待解码数据结束;
[0026]判断单元,用于当累加次数小于预置累加次数,则返回执行所述累加计算单元的下一次累加计算;当所述累加次数大于或等于预置累加次数,则结束累加计算。
[0027]本发明实施例还提供了一种多模维特比解码装置的解码方法,该方法包括:
[0028]采用乒乓存储的方式存储输入的待解码数据;
[0029]根据不同的码率指示,对所述待解码数据与编码器的状态输出值进行相关运算,获得分支路径度量值;
[0030]根据不同制式,不同约束度和不同编码器的状态输出值,选择不同组合的分支路
径度量;
[0031]根据状态转移图,将对应状态的度量值与分支路径度量值并行累加计算,获得累加值,并将最大的累加值作为下一状态的新的度量值,记录所有的幸存路径选择结果,直到所述待解码数据结束;
[0032]按照不同的编码方式选择不同的回溯方式,根据记录的所述幸存路径选择结果,从任意状态或最大的累加值所对应的状态开始回溯,获得解码结果。
[0033]优选地,所述获得累加值之后,所述方法还包括:
[0034]当O状态对应的累加值有效位的最高位为I时,将所有获得的累加值有效位的次高位减1,获得新的累加值并作为本次累加计算的结果。
[0035]优选地,所述不同的编码方式包括咬尾卷积编码和非咬尾卷积编码;所述咬尾卷积编码对应的回溯方式为一次回溯,回溯深度为两倍的编码长度;所述非咬尾卷积编码对应的回溯方式为滑窗回溯,所述滑窗回溯的重叠长度(overlap)、窗长和有效比特数根据算法的性能仿真进行设置。
[0036]优选地,所述不同制式包括长期演进(LTE)、时分同步码分多址(TD-SCDMA)、宽带码分多址(WCDMA)和码分多址(CDMA) 2000制式。
[0037]优选地,所述按照不同的编码方式选择不同的回溯方式包括:
[0038]当所述不同制式包括TD-SCDMA、WCDMA和CDMA2000制式时,根据码块长度的不同,选择一次回溯与滑窗回溯相结合的方式。
[0039]本发明在TD-SCDMA/WCDMA和CDMA 2000模式下,最大限度地利用了 LTE模式下的并行计算加比选单元路数,共享大量资源,优化设计,提高了译码吞吐率,LTE模式的吞吐率达到50Mbps,TD-SCDMA/WCDMA模式的吞吐率达到10Mbps,译码延迟也仅为us级,可适用于高速译码系统。
【专利附图】
【附图说明】
[0040]图1a是本发明多模维特比解码装置的结构示意图;
[0041]图1b是本发明维特比加比选模块的结构示意图;
[0042]图2是本发明多模维特比解码装置的解码方法实施例的流程图;
[0043]图3是本发明相关LTE模式卷积编码实施例的结构图;
[0044]图4a是本发明相关TD-SCDMA模式卷积编码实施例一的结构图;
[0045]图4b是本发明相关TD-SCDMA模式卷积编码实施例二的结构图;
[0046]图5是本发明编解码状态转移图。
【具体实施方式】
[0047]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0048]如图1a所示,是本发明多模维特比解码装置的结构示意图,其包括输入数据存储模块(input_bufTer) 11、分支路径度量模块(dis_gen_v2) 12、模式选择模块(mode_dis_select) 13、并行加比选模块(parallel_add_com_sel) 14、幸存路径存储模块(route_ram) 15、回溯模块(trace_back) 16 和时序控制模块(viterbi_state_contrl) 17,其中:
[0049]输入数据存储模块,用于采用乒乓存储的方式存储外部输入的待解码数据,以及根据接收的解码指令读取待解码的数据;
[0050]分支路径度量模块,用于向所述输入数据存储模块发送所述解码指令,并接收所述待解码的数据;以及,根据不同的码率指示,对所述待解码数据与编码器的状态输出值进行相关运算,获得分支路径度量值;
[0051]模式选择模块,用于根据不同制式,不同约束度和不同编码器的状态输出值,选择不同组合的分支路径度量送入并行加比选模块;
[0052]所述并行加比选模块,用于根据状态转移图,将对应状态的度量值与分支路径度量值并行累加计算,获得累加值,并将最大的累加值作为下一状态的新的度量值,向幸存路径存储模块发送幸存路径选择结果,直到所述待解码数据结束;
[0053]所述幸存路径存储模块,用于保存所有的幸存路径选择结果;
[0054]回溯模块,用于按照不同的编码方式选择不同的回溯方式,根据所述幸存路径存储模块保存的所述幸存路径选择结果,从任意状态或最大的累加值所对应的状态开始回溯,获得解码结果;其中,对LTE制式,从任意装置开始回溯,对于其他模式从最大的累加值所对应的状态开始回溯;
[0055]时序控制模块,用于向所述分支路径度量模块、所述模式选择模块、所述并行加比选模块、所述幸存路径存储模块和所述回溯模块提供控制信号,以便各模块以流水线的方式操作,所述控制信号包括使能信号、延迟信号和计数信号。
[0056]其中,该时序控制模块为各模块提供使能信号,使能信号有效,则各模块工作,否则不工作。相应的某些模块在功能上还需要提供延迟信号和计数信号来配合,完成对应的功能。时序控制模块是将各种控制信号集合起来放在了 一起。
[0057]另外,该装置还可以包括:防溢出模块18,用于所述并行加比选模块获得所述累加值之后,当O状态对应的累加值有效位的最高位为I时,根据来自所述时序控制模块的使能信号,将所有获得的累加值有效位的次高位减1,获得新的累加值并作为本次累加计算的结果。
[0058]其中,所述不同的编码方式包括咬尾卷积编码和非咬尾卷积编码;所述咬尾卷积编码对应的回溯方式为一次回溯,回溯深度为两倍的编码长度;所述非咬尾卷积编码对应的回溯方式为滑窗回溯,所述滑窗回溯的overlap、窗长和有效比特数由算法仿真决定。所述不同制式包括长期演进(LTE)、时分同步码分多址(TD-SCDMA)、宽带码分多址(WCDMA)和码分多址(CDMA) 2000制式。
[0059]当所述不同制式包括TD-SCDMA、WCDMA和CDMA2000制式时,所述回溯模块根据码块长度的不同,所选择的回溯方式为一次回溯与滑窗回溯相结合的方式。
[0060]进一步地,所述并行加比选模块包括累加计算单元141、选择单元142和判断单元143,如图1b所示,其中:
[0061]累加计算单元,用于根据状态转移图,多路并行累加计算对应状态的度量值与分支路径度量值,获得累加值;[0062]选择单元,用于根据加比选法则,选择最大的累加值作为下一状态的新的度量值,并向所述幸存路径存储模块发送选择结果,直到待解码数据结束;
[0063]判断单元,用于当累加次数小于预置累加次数,则返回执行所述累加计算单元的下一次累加计算;当所述累加次数大于或等于预置累加次数,则结束累加计算。
[0064]如图2所示,是本发明多模维特比解码装置的解码方法实施例的流程图,本实施例维特比解码流程包括以下步骤:
[0065]步骤S201、采用乒乓存储的方式存储外部输入的待解码数据;
[0066]首先判断两个乒乓存储器是否处于空闲状态,是则允许新的待解码数据写入乒乓存储器;否则禁止新的待解码数据写入。在待解码数据写入一个存储器的同时,允许从另一个存储器中读取待解码数据。例如,第一次,将输入的数据缓存至存储器SA,第二次有数据来时,通过信号切换,将输入的数据流缓存至存储器SB,同时若接收到外部的解码指令,可以将存储器SA的数据读出。第三次在输入存储器空闲时,又将新来的输入数据流缓存至存储器SA,同时又可将存储器SB的数据读出。如此循环,即可实现数据的无缝缓冲,大大提高了后期的并行处理速度,有效减少了解码时因为等待存储数据而带来的处理延迟。此处的存储器深度由各种制式协议规定中的待编码数据的最长码块长度决定,宽度由采样精度决定;
[0067]步骤S202、计算接收码字与参考码字的分支路径度量值;
[0068]接收码字为待解码数据,参考码字为编码器的状态输出值;将编码器的状态输出值与待解码数据进行相关计算,获得分支路径度量值;
[0069]本实施例主要用于数据移动通讯系统中纠错码的解码,例如3G(3rd_Generation,第三代移动通信技术)及LTE项目等。图3和图4分别为LTE制式所采用的咬尾卷积编码器和TD-SCDMA制式所采用的普通卷积编码器,下面我们仅以这两种制式资源共享为例进行详细描述,其他制式复用原理类似;
[0070]参照图3,是LTE标准中提供的咬尾卷积编码器,共有6个移存器,在开始编码前,编码器的6个移位寄存器的初值设为待编码数据的后6比特。该编码器约束度为7,码率为1/3,因此每一次计算过程中有26 = 64个状态。按照LTE协议的规定,码块分段的结果,卷积编码器一次编码的最大输入数据量为80比特;
[0071]参照图4a和图4b,TD_SCDMA协议中所用卷积编码器由两个码率分别为1/2和1/3的编码器组成,共有8个移存器,约束长度都为9,因此每一次计算过程中有28 = 256个状态。在开始编码前,编码器的8个移位寄存器的初值设为全0,并在输入比特的末尾添加8个比特O。按照3G协议的规定,码块分段的结果,卷积编码器一次编码的最大输入数据量为504比特;
[0072]在卷积编码过程中(同时适合于咬尾卷积编码和普通编码器),在T时刻,能到达S2k、S2k+1的状态有两个为Sk和Sk+32 (k = O?31)或Sk+128 (k = O?127)这两个状态,S2k对应于输入为0,S2k+1对应于输入为I。Sk和Sk+32或Sk+128的最高位分别对应为O和1,S卩如图5所示的编解码状态转移图。例如,根据其编解码状态转移图,通过相关计算可知Sk到S2k和s2k+1的分支路径度量值分别为5和3,而Sk+32到S2k和S2k+1的分支度量值分别为13和10 ;
[0073]根据图3、图4a、图4b的卷积编码器的不同结构,相应的参考码字和码率都会有变化,此步骤根据制式的不同,选择不同的码率和参考码字,从而计算得到相应的分支路径度量值;
[0074]步骤S203、根据制式、编码多项式以及编码状态之间的关系,对分支度量路径进行选择,送入加比选模块进行计算;
[0075]本发明的多模系统要最大程度的复用资源,为了满足LTE模式的速率要求,提高数据吞吐率,维特比解码器的加比选模块内部在LTE模式下是全并行运算的,其他模式共享的基础就是LTE下的32路加比选子模块全并行。LTE模式下,约束度与TD-SCDMA、CDMA2000,WCDMA是不同的,但其只有64个不同状态,32路全并行在一个elk时钟下就可一次计算完,因此其与对应的编码多项式进行必要的计算选择后,得到送予并行加比选子模块的分支路径度量是固定不变。也因此,LTE模式下的分支度量路径选择提前计算好,当固定选择送予加比选模块,节省了大量计算资源;
[0076]在TD-SCDMA、CDMA 2000、WCDMA模式下,约束度相同,虽编码多项式和码率等存在不同,但计算时在一定程度上可实现共享。外部在进行维特比译码时,会送出相应制式和码率的指示信号,通过码率选择,我们可以在1/2码率时将1/3码率下的第三组分支路径度量旁路掉,或置为0,默认为1/3码率;在加比选模块进行累加时,处理方式类似,则可实现不同码率的共享;由于TD-SCDMA、CDMA 2000,WCDMA模式下,状态有28 = 256个,32路并行的加比选子模块无法一次性完成所有状态度量及路径度量的计算,也因此,每一次的分支路径度量需要进行不同方式的算法选择。编码多项式和状态也需要根据制式以及码率进行选择,尤其是计算如何选择分支路径度量的必备因素;
[0077]步骤S204、根据状态转移图,将对应状态的度量值与分支路径度量值并行累加计算,获得累加值,并将最大的累加值作为下一状态的新的度量值,记录所有的幸存路径选择结果,直到待解码数据结束;
[0078]此步骤主要在加比选模块中完成的;加比选模块对于不同制式皆可共享复用,不同的是在TD-SCDMA、CDMA 2000、WCDMA模式下其累加次数至少要为4*n个elk (η为编码块长度)。根据状态转移图,通过32路全并行,累加计算单元141将对应状态的度量值与分支路径度量值进行累加,并获得累加值。例如,T-1时刻,Sk的度量值为16,Sk+32的度量值为15,且Sk到S2k和S2k+1的分支路径度量值分别为5和3,而Sk+32到S2k和S2k+1的分支度量值分别为13和10,则通过累加对应状态的度量值及分支路径度量值可知,到达S2k的路径累加值分别为26+5 = 31和15+13 = 28,到达S2k+1的路径累加值分别为26+3 = 29和15+10 =25。选择单元142则根据加比选法则,选择最大的累加值作为下一状态的新的度量值。即选择最大的路径累加值31作为S2k的新的度量值,选择最大的路径累加值29作为S2k+1的新的度量值。同时,幸存路径存储模块将保存每一次选择的路径度量值,直到判断单元143判断累加次数大于或等于预置累加次数时,才结束累加计算单元141的累加计算;
[0079]加比选是一个不断迭代的过程,在LTE模式下的迭代次数由外部的解码迭代次数max_times决定。当满足特定条件,判断内部循环计数max_cnt是否等于max_times,若相等则停止迭代,并将循环计数器max_cnt清O ;否则再次启动迭代。理论上迭代次数越大,解码器的性能越好,然而经仿真发现,当迭代次数在4圈以上,解码器的性能增加很小,而同时带来的资源消耗却大大增加,因此本发明的迭代次数maX_timeS取值优选为2?4之间。对于其他制式整个编码块做一次加比选迭代即可满足性能要求;
[0080]本发明实施例在TD-SCDMA/WCDMA和CDMA 2000模式下,最大限度的利用了 LTE模式下的并行计算加比选单元路数,共享大量资源,优化设计,提高了译码吞吐率,LTE模式的吞吐率达到50Mbps,TD-SCDMA/WCDMA模式的吞吐率达到10Mbps,译码延迟也仅为us级,可适用于高速译码系统。
[0081]在计算累加度量路径的同时,需要将幸存路径选择结果保存在幸存路径存储单元,供后续回溯模块使用;根据32路并行加比选子模块,在LTE模式下,一次即可保存所有的幸存路径选择结果,选择深度和宽度为256*64bit的单口随机存储器(ram)即可;而TD-SCDMA, CDMA 2000、WCDMA模式按照宽度64bit的单口 ram,完成一次计算256状态的幸存路径至少需要4个clk(256 = 64*4),则幸存路径存储单元的深度和宽度至少为(4*n_max) *64bit (n_max > 64bit, n_max 为编码块的最大长度);
[0082]步骤S205、在累加计算路径度量值之后,当O状态对应的累加度量值有效位的最高位为I时,将所有获得的累加值有效位的次高位减1,获得新的累加值并作为本次累加计算的结果,此步骤在防溢出模块中进行,为可选步骤;
[0083]首先将判断O状态所对应的累加路径度量值的有效位的最高位(若有符号数,有效位指除了符号位之外的数据位)是否为1,是则将所有获得的累加值有效位的次高位减1,即将整体度量值向零值进行简单归一化。例如,以14bit的累计路径度量值为例,当diStanceO[12]为零时,正常操作,产生的减法使能信号sub_en为低电平;当distance0[12]为I时,产生的减法使能信号sub_en为高电平,则将所有幸存路径减去0x800 (16进制),即distanceO有效位的次高位,就能有效防止累计度量值的溢出。
[0084]传统的防溢出步骤主要是固定值的选择上,需要比较所有路径度量值并取其最小值作为固定值,而本实施例的防溢出步骤可以节省一堆比较选择电路、并且减法电路极为简单,因为它只针对累计度量值的高三位进行减I操作。
[0085]步骤S206、从幸存路径存储模块读取幸存路径选择结果,并根据状态度量,回溯输出译码结果。
[0086]LTE模式下,编码方式为咬尾卷积编码,回溯可看成是转圈的译码方式,即回溯一次后的状态又回到起始状态。其编码块的长度一般也都比较短,小于lOObit,按照前面所述加比选模块采用32路并行,存储的幸存路径度量ram不会很大,一次回溯输出即可获得解码结果。不过,LTE下其回溯深度为2倍的编码长度,即2*n。当输出数据时抛弃第一倍深度的回溯数据,只使用第二倍深度的回溯数据,第二倍的回溯要以第一倍回溯为基础,因此需要存储两倍的幸存路径选择结果(这也是前面所述幸存路径存储模块深度为256,而不是128的原因)。采用两倍编码长度的回溯深度,是因为高速解码系统用咬尾卷积码代替普通卷积码时,约束度降低了,仿真后发现其相比一倍的编码长度回溯,解码器的性能提高了
0.2db?0.3db,因此本发明在LTE模式下回溯深度采用两倍的编码长度保证系统的性能。而且其控制更简单,实现更为方便。
[0087]在TD-SCDMA/WCDMA和CDMA 2000模式下,由于编码的约束度比较长,因此没必要采用两倍的编码长度作为回溯深度提高性能。在这几种模式下,我们采取一次回溯与滑窗回溯结合的方式,在码块较短时(比如256bit以下)采用一次回溯,当码块长度大于设定的比特数(比如说256bit)时,可以设置采用滑窗回溯的方法。一次回溯性能较高,然而在码块长度比较长的情况下,若要一次回溯,就需要更多的存储空间,比如码块长度为512bit,在TD-SCDMA模式下,需要的幸存路径存储单元深度与位宽至少为2048*64bit,在这种情况下,如果采用滑动窗的方式,则可以节省大量资源,比如码块长度依然为512比特,窗长为120比特,overlap选32bit,则存储幸存路径单元深度与位宽为((120+32)*4)*64bit,即使码块长度再长,滑动窗方式的存储幸存路径单元大小依然可以保持不变。(注:这里的大小仅仅只是举例,没有性能参考价值)。本发明之所以采用两种回溯方式,就是为了在保证性能前提下利用两者的优点。其中,滑窗回溯的窗长、有效比特数、重叠长度(overlap)长度都可以根据算法的性能仿真,在不同条件下进行相应的外部设置。
[0088]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0089]以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种多模维特比解码装置,其特征在于,该装置包括: 输入数据存储模块,用于采用乒乓存储的方式存储外部输入的待解码数据,以及根据接收的解码指令读取待解码的数据; 分支路径度量模块,用于向所述输入数据存储模块发送所述解码指令,并接收所述待解码的数据;以及,根据不同的码率指示,对所述待解码数据与编码器的状态输出值进行相关运算,获得分支路径度量值; 模式选择模块,用于根据不同制式,不同约束度和不同编码器的状态输出值,选择不同组合的分支路径度量送入并行加比选模块; 所述并行加比选模块,用于根据状态转移图,将对应状态的度量值与分支路径度量值并行累加计算,获得累加值,并将最大的累加值作为下一状态的新的度量值,向幸存路径存储模块发送幸存路径选择结果,直到所述待解码数据结束; 所述幸存路径存储模块,用于保存所有的幸存路径选择结果; 回溯模块,用于按照不同的编码方式选择不同的回溯方式,根据所述幸存路径存储模±夹保存的所述幸存路径选择结果,从任意状态或最大的累加值所对应的状态开始回溯,获得解码结果; 时序控制模块,用于向所述分支路径度量模块、所述模式选择模块、所述并行加比选模块、所述幸存路径存储模块和所述回溯模块提供控制信号,以便各模块以流水线的方式操作,所述控制信号包括使能信号、延迟信号和计数信号。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括: 防溢出模块,用于所述并行加比选模块获得所述累加值之后,当O状态对应的累加值有效位的最高位为I时,根据来自所述时序控制模块的使能信号,将所有获得的累加值有效位的次高位减1,获得新的累加值并作为本次累加计算的结果。
3.根据权利要求1或2所述的装置,其特征在于: 所述不同的编码方式包括咬尾卷积编码和非咬尾卷积编码;所述咬尾卷积编码对应的回溯方式为一次回溯,回溯深度为两倍的编码长度;所述非咬尾卷积编码对应的回溯方式为滑窗回溯,所述滑窗回溯的重叠长度(overlap)、窗长和有效比特数根据性能需求进行设置。
4.根据权利要求1所述的装置,其特征在于: 所述不同制式包括长期演进(LTE)、时分同步码分多址(TD-SCDMA)、宽带码分多址(WCDMA)和码分多址(CDMA) 2000制式。
5.根据权利要求4所述的装置,其特征在于: 当所述不同制式包括TD-SCDMA、WCDMA和CDMA2000制式时,所述回溯模块根据码块长度的不同,所选择的回溯方式为一次回溯与滑窗回溯相结合的方式。
6.根据权利要求1所述的装置,其特征在于,所述并行加比选模块包括: 累加计算单元,用于根据状态转移图,多路并行累加计算对应状态的度量值与分支路径度量值,获得累加值; 选择单元,用于根据加比选法则,选择最大的累加值作为下一状态的新的度量值,并向所述幸存路径存储模块发送选择结果,直到待解码数据结束; 判断单元,用于当累加次数小于预置累加次数,则返回执行所述累加计算单元的下一次累加计算;当所述累加次数大于或等于预置累加次数,则结束累加计算。
7.一种多模维特比解码装置的解码方法,其特征在于,该方法包括: 采用乒乓存储的方式存储输入的待解码数据; 根据不同的码率指示,对所述待解码数据与编码器的状态输出值进行相关运算,获得分支路径度量值; 根据不同制式,不同约束度和不同编码器的状态输出值,选择不同组合的分支路径度量; 根据状态转移图,将对应状态的度量值与分支路径度量值并行累加计算,获得累加值,并将最大的累加值作为下一状态的新的度量值,记录所有的幸存路径选择结果,直到所述待解码数据结束; 按照不同的编码方式选择不同的回溯方式,根据记录的所述幸存路径选择结果,从任意状态或最大的累加值所对应的状态开始回溯,获得解码结果。
8.根据权利要求7所述的方法,其特征在于, 所述获得累加值之后,所述方法还包括: 当O状态对应的累加值有效位的最高位为I时,将所有获得的累加值有效位的次高位减1,获得新的累加值并作为本次累加计算的结果。
9.根据权利要求7或8所述的方法,其特征在于: 所述不同的编码方式包括咬尾 卷积编码和非咬尾卷积编码;所述咬尾卷积编码对应的回溯方式为一次回溯,回溯深度为两倍的编码长度;所述非咬尾卷积编码对应的回溯方式为滑窗回溯,所述滑窗回溯的重叠长度(overlap)、窗长和有效比特数根据算法的性能仿真进行设置。
10.根据权利要求7所述的方法,其特征在于: 所述不同制式包括长期演进(LTE)、时分同步码分多址(TD-SCDMA)、宽带码分多址(WCDMA)和码分多址(CDMA) 2000制式。
11.根据权利要求10所述的方法,其特征在于: 所述按照不同的编码方式选择不同的回溯方式包括: 当所述不同制式包括TD-SCDMA、WCDMA和CDMA2000制式时,根据码块长度的不同,选择一次回溯与滑窗回溯相结合的方式。
【文档编号】H03M13/41GK103427850SQ201210163444
【公开日】2013年12月4日 申请日期:2012年5月24日 优先权日:2012年5月24日
【发明者】原维 申请人:中兴通讯股份有限公司