CN105634509A - 一种维特比译码方法及装置 - Google Patents

一种维特比译码方法及装置 Download PDF

Info

Publication number
CN105634509A
CN105634509A CN201511009424.5A CN201511009424A CN105634509A CN 105634509 A CN105634509 A CN 105634509A CN 201511009424 A CN201511009424 A CN 201511009424A CN 105634509 A CN105634509 A CN 105634509A
Authority
CN
China
Prior art keywords
vector
path metric
decoding
convolutional code
forward metrics
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201511009424.5A
Other languages
English (en)
Inventor
管武
梁利平
吴凯
李婧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201511009424.5A priority Critical patent/CN105634509A/zh
Publication of CN105634509A publication Critical patent/CN105634509A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明提供一种维特比译码方法及装置,用于对卷积码进行译码,方法首先对卷积码的每条支路进行度量,得到支路度量矢量,然后对支路度量矢量进行前向度量,得到前向度量矢量最小值索引,最后对前向度量矢量最小值索引进行回溯,得到译码。本发明能在处理器上并行执行高速的维特比译码的矢量译码指令,实现基于处理器的软件矢量维特比译码,解决了现有处理器均采用串行的译码方法的译码速率较慢问题。

Description

一种维特比译码方法及装置
技术领域
本发明属于编解码领域,尤其涉及一种维特比(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是前向状态矢量, F s = [ f s 0 ( s ) , f s 1 ( s ) , ... , f s P - 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
具体地,状态回溯指令,执行[bk-1,sk-1]=sback(Fs,dk,sk),其根据其状态在选择位比特dk为s时,选择Fs的第s个元素作为输出,即同时输出dk的第sk个元素。
具体地,交织指令,执行其根据其状态s=[s0,s1,...,ss,...,sS-1],将矢量交织为矢量
具体地,循环指令,执行loopnextN,times,对其后的nextN条指令进行times次循环执行。
具体地,矢量赋值指令,执行将int赋值给矢量
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1是本发明实施例提供的维特比译码方法的流程图,如图1所示方法包括:
S1:对卷积码的每条支路进行度量,得到支路度量矢量。
k从0到K-1计数(fork=0…K-1),每次执行然后,k从K到K+L-1计数,每次执行Gk(u,s)=0,其中Gk(u,s)为第k个符号在输入为u状态为s时的支路度量,是接收到的第k个符号的第i个分量,x(i)(u,s)在输入为u状态为s时的编码输出的第i个分量,K为编码长度,L为编码约束长度。
S2:对支路度量矢量进行前向度量,得到前向度量矢量最小值索引。
k从K+L-1到K-1计数(fork=K+L-1…K-1),每次执行
k从K+L-1到K-1计数(fork=K+L-1…K-1),每次执行:
其中,Mk(s)是第k个符号的状态为s的前向度量,它是其前一个符号的状态度量Mk-1(s′)和其对应的支路度量Gk(u,s)之和的最小值;dk(s)是第k个符号到达状态s的最小路径的输入u。
S3:对前向度量矢量最小值索引进行回溯,得到译码。
k从K+L-1到0计数(fork=K+L-1…0),每次执行并且,sK-1+L=0,
bk-1=dk(sk)
由于最后一个状态sK-1+L=0,可知状态sk的最小路径输入为dk(s),可知其前一个状态sk-1,译码输出为ck=dk(sk)。
本实施例采用矢量指令执行的方法如下:
S1:对卷积码的每条支路进行度量,得到支路度量矢量。
其中为Gk(u,s)输入u时转移到任意状态s的支路度量矢量, x u ( i ) = &lsqb; x ( i ) ( u , 0 ) , x ( i ) ( u , 1 ) , ... , x ( i ) ( u , s ) , ... x ( i ) ( u , S - 1 ) &rsqb; 为x(i)(u,s)输入u且转移到任意状态s的编码输出的第i个分量。通过初始化为0,通过矢量定向加减指令caddsub实现Gk(u,s)支路度量的计算。
S2:对支路度量矢量进行前向度量,得到前向度量矢量最小值索引。
其中为Mk(s)任意状态s的前向度量矢量,为使k符号状态转移到s的前一个符号的前向度量 为使k符号状态转移到s的前一个符号的状态s′的索引。通过intlv交织操作,得到通过矢量含索引最小值指令idmin,实现前向度量的计算。使 x u ( i ) = &lsqb; x ( i ) ( u , 0 ) , x ( i ) ( u , 1 ) , ... , x ( i ) ( u , s ) , ... x ( i ) ( u , S - 1 ) &rsqb; 为x(i)(u,s)输入u且转移到任意状态s的编码输出的第i个分量。通过初始化为0。
S3:对前向度量矢量最小值索引进行回溯,得到译码。
执行sK-1+L=mov(0),
[bk-1,sk-1]=sback(Fs,dk,sk),fork=K+L-1…0,sK-1+L=0
其中,由于最后一个状态sK-1+L=0,可知状态sk的最小路径输入为dk(s),可知其前一个状态sk-1,译码输出为ck=dk(sk)。
图2是本发明实施例提供的维特比译码装置的结构示意图,如图2所示,装置包含指令存储单元、取指单元、指令译码单元、矢量计算单元和数据存储单元。指令存储单元存储指令流,取指单元从指令存储单元取出指令,交给指令译码单元;指令译码单元将取出的指令进行译码,分配给不同的指令执行单元;矢量计算单元根据指令进行矢量计算,执行支路度量过程、前向度量过程和反向回溯过程,实现译码。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

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.一种维特比译码装置,用于对卷积码进行译码,其特征在于,包括:
支路度量单元,用于对所述卷积码的每条支路进行度量,得到支路度量矢量;
前向度量单元,用于对所述支路度量矢量进行前向度量,得到前向度量矢量最小值索引;
反向回溯单元,用于对所述前向度量矢量最小值索引进行回溯,得到译码。
6.根据权利要求5所述的维特比译码装置,其特征在于,所述支路度量单元执行支路度量的表达式为:
其中,当等于0时,等于否则,等于为所述卷积码第k个符号在编码输入为s时的支路度量矢量,是所述卷积码第k个符号的第i个输入分量构成的矢量,是卷积码的输入为s时各个状态编码第i个编码输出比特构成的整数。
7.根据权利要求6所述的维特比译码装置,其特征在于,所述前向度量单元执行前向度量的表达式为:
其中,是第k个符号在编码输入为s时的支路度量矢量,初始值为0,dk是前向度量最小值索引,表示:
之间的最小值,并且,当时,dk的值不变,否则,dk等于s。
8.根据权利要求7所述的维特比译码装置,其特征在于,所述反向回溯单元执行反向回溯的的表达式为:
[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个元素。
CN201511009424.5A 2015-12-29 2015-12-29 一种维特比译码方法及装置 Pending CN105634509A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511009424.5A CN105634509A (zh) 2015-12-29 2015-12-29 一种维特比译码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511009424.5A CN105634509A (zh) 2015-12-29 2015-12-29 一种维特比译码方法及装置

Publications (1)

Publication Number Publication Date
CN105634509A true CN105634509A (zh) 2016-06-01

Family

ID=56049117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511009424.5A Pending CN105634509A (zh) 2015-12-29 2015-12-29 一种维特比译码方法及装置

Country Status (1)

Country Link
CN (1) CN105634509A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5027374A (en) * 1990-03-26 1991-06-25 Motorola, Inc. Bit serial Viterbi decoder add/compare/select array
CN1731686A (zh) * 2005-08-08 2006-02-08 北京大学深圳研究生院 一种维特比译码器及用于维特比译码器的加比选单元电路
CN101436122A (zh) * 2008-11-25 2009-05-20 中国科学院微电子研究所 一种实现指令并行执行的优化方法和装置
CN103905068A (zh) * 2012-12-26 2014-07-02 中国移动通信集团公司 一种维特比译码方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5027374A (en) * 1990-03-26 1991-06-25 Motorola, Inc. Bit serial Viterbi decoder add/compare/select array
CN1731686A (zh) * 2005-08-08 2006-02-08 北京大学深圳研究生院 一种维特比译码器及用于维特比译码器的加比选单元电路
CN101436122A (zh) * 2008-11-25 2009-05-20 中国科学院微电子研究所 一种实现指令并行执行的优化方法和装置
CN103905068A (zh) * 2012-12-26 2014-07-02 中国移动通信集团公司 一种维特比译码方法及系统

Similar Documents

Publication Publication Date Title
CN104079382B (zh) 一种基于概率计算的极化码译码器和极化码译码方法
CN101635611B (zh) 一种信道译码方法和装置
CN105634508A (zh) 一种低复杂度近性能限的Turbo译码器的实现方法
CN105322973B (zh) 一种rs码编码器及编码方法
CN103354483B (zh) 通用的高性能Radix-4SOVA译码器及其译码方法
CN109428607A (zh) 极化码的译码方法、译码器及译码设备
CN103986557B (zh) 低路径延迟的LTE Turbo码并行分块译码方法
CN105721107B (zh) 一种分块计算crc以提高时钟频率的装置和方法
CN103957016B (zh) 一种低存储容量的Turbo码译码器及其设计方法
CN106059597B (zh) 一种基于概率Turbo译码器的有符号概率计算单元
CN102142849B (zh) 一种维特比译码方法及维特比译码器
CN105634509A (zh) 一种维特比译码方法及装置
CN107017962A (zh) 动态功耗控制的编码方法及编解码器
CN103595424A (zh) 分量译码方法、译码器及Turbo译码方法、装置
JP2010130271A (ja) 復号器および復号方法
CN103986477A (zh) 矢量viterbi译码指令及viterbi译码装置
CN103475380A (zh) 用于图像处理器的并行Turbo 译码方法
CN105162474A (zh) 一种基四算法下的加比选计算方法和装置
Bhowal Transformation of ACS module to CSA module of low-power Viterbi decoder for digital wireless communication applications
CN104579368B (zh) 一种信道纠错码rs码解关键方程电路
CN101741399B (zh) 卷积码Viterbi译码器中的级联加比选单元及其数据处理方法
CN101908943B (zh) 一种应用于td-scdma系统的信道解码方法
CN111277527B (zh) N阶维特比思想应用在m-gfsk相位域的解调方法
Santhi et al. Synchronous pipelined two-stage radix-4 200Mbps MB-OFDM UWB Viterbi decoder on FPGA
Wang et al. A Novel Parallel Viterbi Decoding Scheme for NoC‐Based Software‐Defined Radio System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160601

WD01 Invention patent application deemed withdrawn after publication