一种维特比译码方法及装置制造方法及图纸

技术编号:14802784 阅读:60 留言:0更新日期:2017-03-14 23:15
本发明专利技术提供一种维特比译码方法及装置,用于对卷积码进行译码,方法首先对卷积码的每条支路进行度量,得到支路度量矢量,然后对支路度量矢量进行前向度量,得到前向度量矢量最小值索引,最后对前向度量矢量最小值索引进行回溯,得到译码。本发明专利技术能在处理器上并行执行高速的维特比译码的矢量译码指令,实现基于处理器的软件矢量维特比译码,解决了现有处理器均采用串行的译码方法的译码速率较慢问题。

【技术实现步骤摘要】

本专利技术属于编解码领域,尤其涉及一种维特比(Viterbi)译码方法及装置
技术介绍
目前,CDMA2000、WCDMA和TD-SCDMA、DVT-T\\C\\S、DAB、ATSC、ISDB等标准相继采用卷积码,作为其信道编码标准。同时,LTE等第四代移动通信标准也建议采用卷积码,作为其候选信道编码标准之一。卷积码是由Elias等人在1955年首次提出的。稍后,Wozencraft提出了一种卷积码的有效译码算法—序列译码。1963年,梅西提出了一种有效性稍差,但比较容易实现的门限译码算法。而后在1967年,Viterbi提出了一种最佳最大似然译码算法。卷积码的Viterbi译码算法,以其优异的性能,得到广泛的应用。各种Viterbi译码的专用硬件,大量的出现。同时,基于软件译码的专用viterbi译码单元“加比选”也成为各类DSP处理器的重点模块。然而,这些处理器,均采用串行的译码方法进行viterbi译码,译码速率较慢。如何在处理器上并行的实现高速的viterbi译码的矢量译码指令,实现基于处理器的软件矢量viterbi译码,仍然是一个亟待解决的问题。
技术实现思路
(一)要解决的技术问题本专利技术的目的在于,提供一种低复杂度矢量化的维特比译码方法及装置。(二)技术方案本专利技术提供一种维特比译码方法,用于对卷积码进行译码,方法包括:S1,对卷积码的每条支路进行度量,得到支路度量矢量;S2,对支路度量矢量进行前向度量,得到前向度量矢量最小值索引;S3,对前向度量矢量最小值索引进行回溯,得到译码。本专利技术还提供一种维特比译码装置,用于对卷积码进行译码,包括:支路度量单元,用于对卷积码的每条支路进行度量,得到支路度量矢量;前向度量单元,用于对支路度量矢量进行前向度量,得到前向度量矢量最小值索引;反向回溯单元,用于对前向度量矢量最小值索引进行回溯,得到译码。(三)有益效果采用本专利技术提供的维特比译码方法,能在处理器上并行执行高速的维特比译码的矢量译码指令,实现基于处理器的软件矢量维特比译码,解决了现有处理器均采用串行的译码方法的译码速率较慢问题。附图说明图1是本专利技术实施例提供的维特比译码方法的流程图。图2是本专利技术实施例提供的维特比译码装置的结构示意图。具体实施方式本专利技术提供一种维特比译码方法及装置,用于对卷积码进行译码,方法首先对卷积码的每条支路进行度量,得到支路度量矢量,然后对支路度量矢量进行前向度量,得到前向度量矢量最小值索引,最后对前向度量矢量最小值索引进行回溯,得到译码。本专利技术能在处理器上并行执行高速的维特比译码的矢量译码指令,实现基于处理器的软件矢量维特比译码,解决了现有处理器均采用串行的译码方法的译码速率较慢问题。根据本专利技术的一种实施方式,维特比译码方法包括:S1,对卷积码的每条支路进行度量,得到支路度量矢量;S2,对支路度量矢量进行前向度量,得到前向度量矢量最小值索引;S3,对前向度量矢量最小值索引进行回溯,得到译码。根据本专利技术的一种实施方式,步骤S1中,支路度量的表达式为:其中,当等于0时,等于否则,等于为所述卷积码第k个符号在编码输入为s时的支路度量矢量,是所述卷积码第k个符号的第i个输入分量构成的矢量,是卷积码的输入为s时各个状态编码第i个编码输出比特构成的整数。根据本专利技术的一种实施方式,步骤S2中,前向度量的表达式为:其中,是第k个符号在编码输入为s时的支路度量矢量,初始值为0,dk是前向度量最小值索引,表示:取和之间的最小值,并且,当时,dk的值不变,否则,dk等于s。根据本专利技术的一种实施方式,步骤S3中,反向回溯的的表达式为:[bk-1,sk-1]=sback(Fs,dk,sk),其中,bk-1为译码,Fs是前向状态矢量,Fs=[fs0(s),fs1(s),...,fsP-1(s)],]]>sk是第k个符号的最小路径的状态,sback(Fs,dk,sk)表示:在dk为s时,选择Fs的第s个元素作为输出,即同时,bk-1等于dk的第sk个元素。根据本专利技术的一种实施方式,维特比译码装置包括:支路度量单元,用于对所述卷积码的每条支路进行度量,得到支路度量矢量;前向度量单元,用于对所述支路度量矢量进行前向度量,得到前向度量矢量最小值索引;反向回溯单元,用于对所述前向度量矢量最小值索引进行回溯,得到译码。根据本专利技术的一种实施方式,支路度量单元执行支路度量的表达式为:其中,当等于0时,等于否则,等于为所述卷积码第k个符号在编码输入为s时的支路度量矢量,是所述卷积码第k个符号的第i个输入分量构成的矢量,是卷积码的输入为s时各个状态编码第i个编码输出比特构成的整数。根据本专利技术的一种实施方式,前向度量单元执行前向度量的表达式为:其中,是第k个符号在编码输入为s时的支路度量矢量,初始值为0,dk是前向度量最小值索引,表示:取和之间的最小值,并且,当时,dk的值不变,否则,dk等于s。根据本专利技术的一种实施方式,反向回溯单元执行反向回溯的的表达式为:[bk-1,sk-1]=sback(Fs,dk,sk),其中,bk-1为译码,Fs是前向状态矢量,sk是第k个符号的最小路径的状态,sback(Fs,dk,sk)表示:在dk为s时,选择Fs的第s个元素作为输出,即同时,bk-1等于dk的第sk个元素。根据本专利技术的一种实施方式,本专利技术还提供指令集,用于进行矢量处理,通过执行相应的指令,以实现支路度量过程、前向度量过程和反向回溯过程,其中,指令集包括:矢量定向加减指令(caddsub),矢量含索引最小值指令(idmin),矢量状态回溯指令(sback),交织指令(intlv),循环指令(loop)和矢量赋值指令(mov)。具体地,矢量定向加减指令,根据矢量和矢量实现其中ci=(di==0)?ai+bi:ai-bi,即整数d为定向整数,其第i比特为0,则ci为ai和bi的和,否则的ci为ai和bi的差。具体地,矢量含索引最小值指令idmin,根据矢量和矢量实现其中sA和sB为状态矢量和的索引,它的第i位sA,i=(ai<bi+ci)?sA,i:sB,i,即当矢量的第i个变量ai小于矢量的第i个变量bi和矢量的第i个变量ci时,sA,i保持不变,否则更新为sB的第i位sB,i;矢量的第i个变量ai为ai和bi+ci的最小值,即ai=(ai<bi+ci)?ai:bi+ci。具体地,状态回溯指令,执本文档来自技高网...

【技术保护点】
一种维特比译码方法,用于对卷积码进行译码,其特征在于,包括:S1,对所述卷积码的每条支路进行度量,得到支路度量矢量;S2,对所述支路度量矢量进行前向度量,得到前向度量矢量最小值索引;S3,对所述前向度量矢量最小值索引进行回溯,得到译码。

【技术特征摘要】
1.一种维特比译码方法,用于对卷积码进行译码,其特征在于,包括:
S1,对所述卷积码的每条支路进行度量,得到支路度量矢量;
S2,对所述支路度量矢量进行前向度量,得到前向度量矢量最小值索引;
S3,对所述前向度量矢量最小值索引进行回溯,得到译码。
2.根据权利要求1所述的维特比译码方法,其特征在于,所述步骤S1中,支路度量的表
达式为:
其中,当等于0时,等于否则,等于为所述卷积码第k个符号在编码输入为s时的支路度量矢量,是所述
卷积码第k个符号的第i个输入分量构成的矢量,是卷积码的输入为s时各个状态编码第
i个编码输出比特构成的整数。
3.根据权利要求2所述的维特比译码方法,其特征在于,所述步骤S2中,前向度量的表
达式为:
其中,是第k个符号在编码输入为s时的支路度量矢量,初始值为0,dk是前向度
量最小值索引,表示:
取和之间的最小值,并且,当时,dk的值不变,否则,dk等于s。
4.根据权利要求2所述的维特比译码方法,其特征在于,所述步骤S3中,反向回溯的的
表达式为:
[bk-1,sk-1]=sback(Fs,dk,sk),
其中,bk-1为译码,Fs是前向状态矢量,sk是第k个符号的最小路
径的状态,sback(Fs,dk,sk)表示:
在dk为s时,选择Fs的第s个元素作为输出,即同时,bk-1等于dk的第sk个元素。
5.一种维特比译码装置,用于...

【专利技术属性】
技术研发人员:管武梁利平吴凯李婧
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1