一种维特比译码方法及装置的制造方法_2

文档序号:9869706阅读:来源:国知局
0巧-1]。
[0056] 具体地,循环指令,执行loop nextN,times,对其后的nextN条指令进行times次循 环执行。
[0057]具体地,矢量赋值指令,执行A = m〇v(int),将int赋值给矢量A。
[005引为使本发明的目的、技术方案和优点更加清楚明白,W下结合具体实施例,并参照 附图,对本发明进一步详细说明。
[0059] 图1是本发明实施例提供的维特比译码方法的流程图,如图1所示方法包括:
[0060] Sl:对卷积码的每条支路进行度量,得到支路度量矢量。
[0061 ] 1^从0至化-1计数^〇丘 k = 0.-K-l),每次执行&(",'^)二^乂¥':'(",'^),然后,4从1(到 口 0 K+L-1计数,每次执行Gk(u,s)=0,其中Gk(u,s)为第k个符号在输入为U状态为S时的支路度 量,乂'是接收到的第k个符号的第i个分量,xW(u,s)在输入为U状态为S时的编码输出的第 i个分量,K为编码长度,L为编码约束长度。
[0062] S2:对支路度量矢量进行前向度量,得到前向度量矢量最小值索引。
[0063] k从K+k巧化-1 计数(for k=K+kl...K-l),每次执行A",)=四1>/而-1('、') + ('''(".'、')],
[0064] k 从 K+k巧化-1 计数(for 1^=1(+心1...1(-1),每次执行:
[0066] 其中,Mk(S)是第k个符号的状态为S的前向度量,它是其前一个符号的状态度量 Mk-i(s〇和其对应的支路度量Gk(u,s)之和的最小值;dk(s)是第k个符号到达状态S的最小路 径的输入U。
[0067] S3:对前向度量矢量最小值索引进行回溯,得到译码。
[006引 k从K+l^-^IJO计数(f or k = K+レ 1... 0),每次执行苗__1 =仁 I脚 >&-},' 并且, SK-1+L 二 0,
[0069] bk-i =山(Sk)
[0070] 由于最后一个状态SK-IA = O,可知状态Sk的最小路径输入为dk(s),可知其前一个 状态Sk-I,译码输出为Ck=山(Sk)。
[0071 ]本实施例采用矢量指令执行的方法如下:
[0072] Sl:对卷积码的每条支路进行度量,得到支路度量矢量。
[0073] G|、…二腳''(0)
[0074] Gku=caddsub(Gi、,i,,、f,x(ui>),锭! k=(>..K-l
[00巧]Gk,"=0,'f抑 k=K...K+L-l
[0076] 其中 G,.s'),..如,A'--1)]为(;i、(u,s)输入U时转移到任 意状态S的支路度量矢量,xf =护'(",0),护|(",1)-.,.\'''''(",叫,-\'|''''(",六'-1片为义(1 )山 U且转移到任意状态S的编码输出的第i个分量。通过Gk,,I=WW(O)将G,、,。初始化为0,通过矢 量定向加减指令caddsub实现Gk(u, S)支路度量的计算。
[0077] S2:对支路度量矢量进行前向度量,得到前向度量矢量最小值索引。
[007引 麻0=/""、'(0)
[00巧]舟W " = intlv (M,一,a。),tor k=0 …LI
[0080] [4,沉,;]=1加1][0(的,;,舟,、_,乂。,,"),1'加 k=0,"K+L-l
[0081 ]其中 IV、= [M,(0),M,(I),(.V),口-1)]为Mk(S)任意状态S的前向度量矢 量,i%,u=[M_'l(斗'-^o),MM(斗'一^l ),…,M--l(斗'一^'屯..,心w(斗'一^3l)]为使k符号状 态转移到S的前一个符号的前向度量M心今'^句, 为使k符号状态转移到S的前一个符号的状态的索引。通过intlv交织操作,得到Mk_tu ;通 过矢量含索引最小值指令1化比,实现前向度量的计算。使墙=[.、-'>,0).护|(",1),.,於)知句,.产(".*^-1)] 为xW(u,s)输入U且转移到任意状态S的编码输出的第i个分量。通过拥。=放〇1<巧将視,初 始化为0。
[0082] S3:对前向度量矢量最小值索引进行回溯,得到译码。
[0083] 执行SK-i+L=mov(0),
[0084] [bk-i,Sk-i]=sback(Fs,dk,Sk),f〇r k = K+l^-1...0,SK-i+L = 0
[0085] 其中,由于最后一个状态SK-l+L = 〇,可知状态Sk的最小路径输入为dk(s),可知其前 一个状态Sk-I,译码输出为Ck=山(Sk)O
[0086] 图2是本发明实施例提供的维特比译码装置的结构示意图,如图2所示,装置包含 指令存储单元、取指单元、指令译码单元、矢量计算单元和数据存储单元。指令存储单元存 储指令流,取指单元从指令存储单元取出指令,交给指令译码单元;指令译码单元将取出的 指令进行译码,分配给不同的指令执行单元;矢量计算单元根据指令进行矢量计算,执行支 路度量过程、前向度量过程和反向回溯过程,实现译码。
[0087] W上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详 细说明,所应理解的是,W上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡 在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保 护范围之内。
【主权项】
1. 一种维特比译码方法,用于对卷积码进行译码,其特征在于,包括: S1,对所述卷积码的每条支路进行度量,得到支路度量矢量; S2,对所述支路度量矢量进行前向度量,得到前向度量矢量最小值索引; S3,对所述前向度量矢量最小值索引进行回溯,得到译码。2. 根据权利要求1所述的维特比译码方法,其特征在于,所述步骤S1中,支路度量的表 达式为:其中,当*f等于賺于,否则,等于为所述卷积码第k个符号在编码输入为s时的支路度量矢量,ff是所述 卷积码第k个符号的第i个输入分量构成的矢量,xf是卷积码的输入为s时各个状态编码第 i个编码输出比特构成的整数。3. 根据权利要求2所i术的維特bh i圣5马方法,S:特彳iF亦干,所i术击3娶S2中,前向度量的表 达式为:其中,Mk是第k个符号在编码输入为s时的支路度量矢量,l^k初始值为0,dk是前向度 量最小值索引,idmin (Mk, My, Gy λ )表示: 1?取成和总μ +6k,s之间的最小值,并且,当,+Gk,、时,dk的值不变,否则,d k 等于s。4. 根据权利要求2所述的维特比译码方法,其特征在于,所述步骤S3中,反向回溯的的 表达式为: [bk-i,sk-i] = sback(Fs,dk,sk), 其中,bH为译码,Fs是前向状态矢量,於= 是第k个符号的最小路 径的状态,8匕8〇1^(卩8,(11{,81〇表示: 在dk为S时,选择FS的第S个元素作为输出,即= 乂^,同时,bk-i等于dk的第Sk个元素。5. -种维特比译码装置,用于对卷积码进行译码,其特征在于,包括: 支路度量单元,用于对所述卷积码的每条支路进行度量,得到支路度量矢量; 前向度量单元,用于对所述支路度量矢量进行前向度量,得到前向度量矢量最小值索 引; 反向回溯单元,用于对所述前向度量矢量最小值索引进行回溯,得到译码。6. 根据权利要求5所述的维特比译码装置,其特征在于,所述支路度量单元执行支路度 量的表达式为:其中,当xf等于0时,caddsub(^s,笔°,xf)等于益^+野,否则,ead(isiib<G ks.Yf.xf) 等于为所述卷积码第k个符号在编码输入为s时的支路度量矢量,$?是所述 卷积码第k个符号的第i个输入分量构成的矢量,#是卷积码的输入为s时各个状态编码第 i个编码输出比特构成的整数。7. 根据权利要求6所述的维特比译码装置,其特征在于,所述前向度量单元执行前向度 量的表达式为:其中,ΛΙ,是第k个符号在编码输入为s时的支路度量矢量,初始值为0,dk是前向度 量最小值索引, ]^取1^和兑^+^,之间的最小值,并且,当时,dk的值不变,否则,dk 等于s。8. 根据权利要求7所述的维特比译码装置,其特征在于,所述反向回溯单元执行反向回 溯的的表达式为: [bk-1,sk-1] = sback(Fs,dk,sk), 其中,bHS译码,Fs是前向状态矢量,= …,/=],Sk是第k个符号的最小路 径的状态,sback(Fs,dk,sk)表示: 在4为8时,选择Fs的第s个元素作为输出,即= ,同时,bw等于dk的第%个元素。
【专利摘要】本发明提供一种维特比译码方法及装置,用于对卷积码进行译码,方法首先对卷积码的每条支路进行度量,得到支路度量矢量,然后对支路度量矢量进行前向度量,得到前向度量矢量最小值索引,最后对前向度量矢量最小值索引进行回溯,得到译码。本发明能在处理器上并行执行高速的维特比译码的矢量译码指令,实现基于处理器的软件矢量维特比译码,解决了现有处理器均采用串行的译码方法的译码速率较慢问题。
【IPC分类】H03M13/41
【公开号】CN105634509
【申请号】CN201511009424
【发明人】管武, 梁利平, 吴凯, 李婧
【申请人】中国科学院微电子研究所
【公开日】2016年6月1日
【申请日】2015年12月29日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1