一种维特比译码方法及系统的制作方法

文档序号:7540932阅读:199来源:国知局
一种维特比译码方法及系统的制作方法
【专利摘要】本发明公开了一种维特比译码方法,包括:初始化状态位;进行L次迭代,每次迭代后同时递推各个状态的到达分支度量量,根据所述到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径,其中,所述L为编码码块大小;迭代结束后,确定状态度量量最小的状态,并回溯得到所述状态的路径以获取维特比译码结果,其中,所述递推到达分支度量量、选择到达路径以及回溯路径的步骤通过调用通用处理器的SIMD指令集实现并行处理。本发明还相应地公开了一种维特比译码系统。本发明以指令级并行的方式对维特比译码算法的核心处理进行加速,从而能提高译码速度。
【专利说明】一种维特比译码方法及系统
【技术领域】
[0001]本发明涉及数据处理技术,尤其涉及一种维特比译码方法及系统。
【背景技术】
[0002]随着近几年能源和电力价格的上涨,全球移动通信网络运营商面临日渐严重的成本压力。运营商获取站址和机房的难度也在不断加大。全球大多数主流运营商通常同时拥有2-3个不同通信制式的网络,为保证网络的服务质量量,需要部署大量量的基站以解决网络覆盖的问题。站址和机房资源的相对稀缺,与不断增长的基站数量量的矛盾在一定时期内无法协调,目前已成为运营商无法回避的难题。尽管在运营成本方面面临巨大压力,运营商的“盈利”能力并不随之提高。由于电信市场的激烈竞争,单用户平均收入(ARPU)增长缓慢甚至下降。运营商收入的下降必将导致建网和设备采购投资的压缩,进而影响到全行业的整体发展。面对这种局面,出于行业持续盈利和长期发展考虑,移动通信产业界提出了绿色演进的新型无线网络架构基于集中化处理(CentralizedProcessing, C-RAN),以引导未来集中式基带处理网络架构技术的发展。
[0003]C-RAN的系统架构主要是由远端无线射频模块(RRU)与天线组成的分布式无线网络,具备高带宽、低延迟的光传输网络连接远端无线射频模块,通用处理器和实时虚拟技术组成的集中式基带处理池三大部分组成。所有基带处理模块和远端无线射频模块通过高带宽、低延迟的光传输网络连接起来。基带处理模块(BBU)集中在一个物理站点构成基带池。基带池中多个基带处理模块之间通过高带宽、低延迟、灵活拓扑、低成本交叉连接。基带池上需要应用基站虚拟化技术,支持基带池物理资源和计算能力的虚拟分配和组合。
[0004]集中式基站内多个BBU互联互通构成高容量量、低延迟的互联架构。远端的RRU通过互联架构交换到集中式基带池中任一个BBU。这种方式是对现有BBU进行集中化集成,可有效实现载波负载均衡、容灾备份,并达到提高设备利用率、减少基站机房数量量、降低能耗的目的。
[0005]在集中式基站基础上,通过软件无线电技术实现多标准的统一开放的BBU基带池平台,并利用基带池中BBU间高速高效的调度信息、用户数据交互,实现多点协作式信号处理,达到减少无线干扰、提高系统容量量的目的。
[0006]在应用软件无线电方面,目前主要两种思路:信号处理器(DSP)平台和通用处理器(GPP)平台。两种思路各有优势,DSP是目前电信行业比较成熟应用的技术,而GPP虽然目前在功耗性能上与DSP有一定差距,但具有后向兼容好的特点,有利于系统的平滑演进。
[0007]而目前GPP —般采用串行处理方式,从而实时处理能力有限,对计算密集型处理的支持较为困难,因此基于通用处理器进行基带数字信号处理的实现技术尚未成熟。一般而言,考虑到基带数字信号处理,信道译码是最为典型的计算密集型处理模块之一,其计算量量在基站物理层处理中占有很高的比重。但是鉴于基于通用处理器进行基带数字信号处理的相关工作仍处在起步阶段,现在仍缺乏面向通用处理器的信道译码实现方案。
【发明内容】

[0008]有鉴于此,本发明的主要目的在于提供一种维特比译码方法及系统,能够提高译码速度。
[0009]为达到上述目的,本发明的技术方案是这样实现的:
[0010]一种维特比译码方法,包括:
[0011]初始化状态位;
[0012]进行L次迭代,每次迭代后同时递推各个状态的到达分支度量量,根据所述到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径,其中,所述L为编码码块大小;
[0013]迭代结束后,确定状态度量量最小的状态,并回溯得到所述状态的路径以获取维特比译码结果,
[0014]其中,所述递推到达分支度量量、选择到达路径以及回溯路径的步骤通过调用通用处理器的SMD指令集实现并行处理。
[0015]所述进行迭代为:各个寄存器根据寄存器输入从源状态跳转到目标状态。
[0016]所述递推各个状态的到达分支度量量为:根据译码器输入的校验位和系统位的解调结果计算各个状态的到达分支度量量。
[0017]所述根据到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径为:
[0018]将到达分支度量量与源状态的历史状态度量量求和,作为分支选择所依据的度量量;
[0019]选择所述度量量最小的分支作为本次迭代中到达所述状态的路径。
[0020]确定分支选择所依据的度量量之后,该方法还包括:将所述最小度量量存储到目标状态的状态度量量存储模块中,作为所述目标状态的状态度量量。
[0021]一种维特比译码系统,包括:初始化模块、路径选择模块、维特比译码结果获取模块和一个以上状态寄存器;其中,
[0022]所述初始化模块,用于初始化状态寄存器;
[0023]所述路径选择模块,用于在每次迭代后同时递推各个状态的到达分支度量量,根据所述到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径;
[0024]所述维特比译码结果获取模块,用于在迭代结束后,确定状态度量量最小的状态,并回溯得到所述状态的路径以获取维特比译码结果;
[0025]所述状态寄存器,用于在每次迭代时,根据寄存器输入从源状态跳转到目标状态,
[0026]其中,所述路径选择模块和维特比译码结果获取模块通过调用通用处理器的SMD指令集实现并行处理。
[0027]所述路径选择模块,具体用于根据译码器输入的校验位和系统位的解调结果计算各个状态的到达分支度量量。
[0028]所述路径选择模块,具体用于将到达分支度量量与源状态的历史状态度量量求和,作为分支选择所依据的度量量;选择所述度量量最小的分支作为本次迭代中到达所述状态的路径。[0029]该系统还包括状态度量量存储模块,
[0030]所述状态度量量存储模块,用于在路径选择模块确定分支选择所依据的度量量之后,存储最小度量量作为所述目标状态的状态度量量。
[0031]本发明维特比译码方法及系统,在初始化状态位后,进行多次迭代,每次迭代后同时递推各个状态的到达分支度量量,根据所述到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径;迭代结束后,确定状态度量量最小的状态,并回溯得到所述状态的路径以获取维特比译码结果。本发明以指令级并行的方式对维特比译码算法的核心处理进行加速,从而能提高译码速度。
【专利附图】

【附图说明】
[0032]图1为上行链路整体处理流程示意图;
[0033]图2为常见卷积编码器结构示意图;
[0034]图3为本发明实施例一种维特比译码方法流程示意图;
[0035]图4为本发明实施例一种维特比译码系统结构示意图;
[0036]图5为本发明实施例1维特比译码中迭代状态转移关系示意图;
[0037]图6为本发明实施例1中维特比译码算法状态转移关系示意图;
[0038]图7为本发明实施例1中维特比译码的运算流程示意图;
[0039]图8为本发明实施例1中运算逻辑示意图。
【具体实施方式】
[0040]本发明的基本思想是:在初始化状态位后,进行多次迭代,每次迭代后同时递推各个状态的到达分支度量量,根据所述到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径;迭代结束后,确定状态度量量最小的状态,并回溯得到所述状态的路径以获取维特比译码结果。
[0041]本发明提出的维特比译码运算逻辑以指令级并行的方式对维特比译码算法的核心处理进行加速,本发明还可以同时将通用处理器的指令集和数据存取的特点纳入考虑中,以便发挥通用处理器的处理能力。
[0042]需要说明的是,本发明实施例主要针对在整体译码处理流程所处位置为上行链路的信道编码的译码部分,图1为上行链路整体处理流程示意图,如图1所示,从RRU得到的数据基带信号经前端处理、符号级处理并解调后,进行bit域处理,这里,bit域处理包括解扰、解交织、信道译码、CRC等操作。LTE协议中,信道编码常用Turbo和卷积码,卷积码的译码算法往往采用维特比算法,因此,在通用处理平台上实现基带处理时,维特比译码算法占用了大量量的处理时间,其优化方法就显得尤为重要,图1中有背景色的部分即为信道译码所处的位置。
[0043]本发明实施例适用于如图2所示的常见卷积编码器(包括在3G UMTS,3GPP LTE等系统中所采用的编码器方案),其中,卷积编码输入比特从左往右依次进入,K为约束长度,因此编码器有K-1个移位寄存器(Shifting Register) 0
[0044]本发明实施例所提出的运算逻辑将实现维特比译码中两个核心运算一分支路径度量量计算(Branch-Metric Calculation, BMC)和加-比-选(Add-Compare-Select,ACS)的批处理化,即以单个长指令同时对多路数据进行操作,从而以并行方式加速程序运行。
[0045]图3为本发明实施例一种维特比译码方法流程示意图,如图3所示,该方法包括:
[0046]步骤301:初始化状态位;
[0047]步骤302:进行L次迭代,每次迭代后同时递推各个状态的到达分支度量量,根据所述到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径,其中,所述L为编码码块大小;
[0048]步骤303:迭代结束后,确定状态度量量最小的状态,并回溯得到所述状态的路径以获取维特比译码结果。
[0049]需要说明的是,本发明中,递推到达分支度量量、选择到达路径以及回溯路径的步骤通过调用通用处理器的SMD指令集实现并行处理。
[0050]可选的,所述进行迭代为:各个寄存器根据寄存器输入从源状态跳转到目标状态。
[0051]可选的,所述递推各个状态的到达分支度量量为:根据译码器输入的校验位和系统位的解调结果计算各个状态的到达分支度量量。
[0052]可选的,所述根据到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径为:
[0053]将到达分支度量量与源状态的历史状态度量量求和,作为分支选择所依据的度量量;
[0054]选择所述度量量最小的分支作为本次迭代中到达所述状态的路径。
[0055]可选的,确定分支选择所依据的度量量之后,该方法还包括:将所述最小度量量存储到目标状态的状态度量量存储模块中,作为所述目标状态的状态度量量。
[0056]本发明还相应地提出了一种维特比译码系统,如图4所示,该系统包括:初始化模块、路径选择模块、维特比译码结果获取模块和一个以上状态寄存器;其中,
[0057]所述初始化模块,用于初始化状态寄存器;
[0058]所述路径选择模块,用于在每次迭代后同时递推各个状态的到达分支度量量,根据所述到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径;
[0059]所述维特比译码结果获取模块,用于在迭代结束后,确定状态度量量最小的状态,并回溯得到所述状态的路径以获取维特比译码结果;
[0060]所述状态寄存器,用于在每次迭代时,根据寄存器输入从源状态跳转到目标状态。
[0061]需要说明的是,本发明中,路径选择模块和维特比译码结果获取模块通过调用通用处理器的SMD指令集实现并行处理。
[0062]可选的,所述路径选择模块,具体用于根据译码器输入的校验位和系统位的解调结果计算各个状态的到达分支度量量。
[0063]可选的,所述路径选择模块,具体用于将到达分支度量量与源状态的历史状态度量量求和,作为分支选择所依据的度量量;选择所述度量量最小的分支作为本次迭代中到达所述状态的路径。
[0064]可选的,该系统还包括状态度量量存储模块,
[0065]所述状态度量量存储模块,用于在路径选择模块确定分支选择所依据的度量量之后,存储最小度量量作为所述目标状态的状态度量量。
[0066]本发明提出的运算逻辑能实现并行计算,并适于发挥通用处理器的SMD处理能力;并且,本发明提出的运算逻辑可以直接SMD化,比如,并行多数据加法、并行多数据比较和多数据奇偶重排指令可以直接使用。而这些指令不但已经被当前的通用处理器所支持,而且运行效率可以保证;并且,本发明提出的运算逻辑的输入和输出数据都是连续存储,可有效避免频繁操作不同地址的数据而减缓数据存取效率,因此便于通用处理器借助Cache进行高速数据存取;并且,多个运算逻辑可以在多核或者多CPU上再进行并行执行,从而获得更高的并行度。
[0067]下面结合具体实施例对本发明作进一步详细说明。
[0068]实施例1
[0069]图5为本发明实施例1维特比译码中迭代状态转移关系示意图,基于图5,本实施例的维特比译码算法包括如下过程:
[0070]1)初始化状态位为00状态
[0071]2)从图5中左侧开始往右依次递推每一个状态的到达分支度量量。
[0072]假设t-1次向t次迭代进行跳转,其中虚线表示当前输入判决bit为I时,寄存器状态跳转过程。实现表示当前输入判决bit为O时,寄存器状态跳转过程。根据
t时刻译码器输入的校验位和系统位的解调结果计算每一个分支的计算度量量。分支的度量量与源状态的历史状态度量量求和后,作为分支选择的依据度量量。
[0073]3)分支判决筛选。可以看到t时刻的4个状态都有两个分支可以到达,两个分支,状态位跳转过程,两个度量量相互比较后留下其中一个分支。将这个分支的度量量依据存储到目标状态的状态度量量存储模块中。
[0074]4)回溯。迭代递推L次(编码码块大小)后,在最后一个时刻可以针对四个状态挑选状态度量量最小的状态作为最终的判决结果。回溯得到这一状态的路径可以完全得到维特比译码的最终结果。
[0075]需要说明的是,分支度量量表示在某一个分支上输出的校验位与实际接受的软信息之间的距离
【权利要求】
1.一种维特比译码方法,其特征在于,该方法包括: 初始化状态位; 进行L次迭代,每次迭代后同时递推各个状态的到达分支度量量,根据所述到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径,其中,所述L为编码码块大小; 迭代结束后,确定状态度量量最小的状态,并回溯得到所述状态的路径以获取维特比译码结果, 其中,所述递推到达分支度量量、选择到达路径以及回溯路径的步骤通过调用通用处理器的SMD指令集实现并行处理。
2.根据权利要求1所述的方法,其特征在于,所述进行迭代为:各个寄存器根据寄存器输入从源状态跳转到目标状态。
3.根据权利要求1所述的方法,其特征在于,所述递推各个状态的到达分支度量量为:根据译码器输入的校验位和系统位的解调结果计算各个状态的到达分支度量量。
4.根据权利要求2所述的方法,其特征在于,所述根据到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径为: 将到达分支度量量与源状态的历史状态度量量求和,作为分支选择所依据的度量量; 选择所述度量量最小的分支作为本次迭代中到达所述状态的路径。
5.根据权利要求4所述的方法,其特征在于,确定分支选择所依据的度量量之后,该方法还包括:将所述最小度量量存储到目标状态的状态度量量存储模块中,作为所述目标状态的状态度量量。
6.一种维特比译码系统,其特征在于,该系统包括:初始化模块、路径选择模块、维特比译码结果获取模块和一个以上状态寄存器;其中, 所述初始化模块,用于初始化状态寄存器; 所述路径选择模块,用于在每次迭代后同时递推各个状态的到达分支度量量,根据所述到达分支度量量从到达各个状态的分支中选择一分支作为本次迭代中到达所述状态的路径; 所述维特比译码结果获取模块,用于在迭代结束后,确定状态度量量最小的状态,并回溯得到所述状态的路径以获取维特比译码结果; 所述状态寄存器,用于在每次迭代时,根据寄存器输入从源状态跳转到目标状态, 其中,所述路径选择模块和维特比译码结果获取模块通过调用通用处理器的SMD指令集实现并行处理。
7.根据权利要求6所述的系统,其特征在于, 所述路径选择模块,具体用于根据译码器输入的校验位和系统位的解调结果计算各个状态的到达分支度量量。
8.根据权利要求6所述的系统,其特征在于, 所述路径选择模块,具体用于将到达分支度量量与源状态的历史状态度量量求和,作为分支选择所依据的度量量;选择所述度量量最小的分支作为本次迭代中到达所述状态的路径。
9.根据权利要求8所述的系统,其特征在于,该系统还包括状态度量量存储模块,所述状态度量量存储模块,用于在路径选择模块确定分支选择所依据的度量量之后,存储最小度量量作为 所述目标状态的状态度量量。
【文档编号】H03M13/41GK103905068SQ201210575363
【公开日】2014年7月2日 申请日期:2012年12月26日 优先权日:2012年12月26日
【发明者】钱荣荣, 彭涛, 刘峰, 段然, 陈奎林 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1