CN101741399A - 卷积码Viterbi译码器中的级联加比选单元及其数据处理方法 - Google Patents
卷积码Viterbi译码器中的级联加比选单元及其数据处理方法 Download PDFInfo
- Publication number
- CN101741399A CN101741399A CN200910238687A CN200910238687A CN101741399A CN 101741399 A CN101741399 A CN 101741399A CN 200910238687 A CN200910238687 A CN 200910238687A CN 200910238687 A CN200910238687 A CN 200910238687A CN 101741399 A CN101741399 A CN 101741399A
- Authority
- CN
- China
- Prior art keywords
- acs unit
- state
- path metric
- metric value
- value
- 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.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种卷积码Viterbi译码器中的级联加比选单元及其数据处理方法,对于(2,1,m)卷积码,加比选单元ACSU采用级联的方式,加比选单元ACSU包括n(n=2,3,4,…)个单级2m-1状态加比选单元GACSU,单级2m-1状态加比选单元GACSU包括2m-1个单状态加比选单元SACSU。单状态加比选单元SACSU中每个加法器的输入分别为1个支路度量值和1个上次GACSU计算得到的状态值,比较器的输入为两个加法器的计算结果的小值。本发明使得译码器在一个时钟周期内进行多次加比选计算,在使用较少的硬件资源的情况下,增加了译码速率,并且可以实现在低速时钟下的高速译码。
Description
技术领域
本发明属于通信信道编解码领域,具体地说,是指一种卷积码Viterbi译码器中的级联加比选单元设计方法。
背景技术
卷积码,在深空通信等领域有很大的应用。卷积码的译码目前应用最广泛的是Viterbi译码算法,目前对于Viterbi译码算法的研究主要集中在集成电路的设计与FPGA实现上,其中高速译码的研究占主要部分,主要包括译码器幸存路径的快速处理与加比选的快速计算方面,其中对于加比选计算的研究主要有对于将网格图合并后的基2n运算结构的研究等。基2n运算算法可以提高译码速度,但是其硬件资源的增长是呈指数增长的。
发明内容
本发明为了解决现有技术中存在的不足,提供一种卷积码Viterbi译码器中加比选单元ACSU的设计方法,用以解决使用低硬件资源消耗进行高速译码的问题。本发明将加比选计算用组合逻辑级联的形式在一个时钟周期内进行处理,比普通的全并行结构译码器有着更快的译码速度,与基2n结构译码器的译码速度相当,但由于本发明所设计的加比选单元ACSU的硬件资源增长是呈线性的,比基2n结构的译码器更节省硬件资源,并且可以实现在低速时钟下的高速译码。
对于(2,1,m)卷积码,其中m为卷积码约束长度,本发明提供的加比选单元ACSU采用级联的方式,加比选单元ACSU包括n(n=2,3,4,…)个单级2m-1状态加比选单元GACSU,上述单级2m-1状态加比选单元GACSU包括:2m-1个单状态加比选单元SACSU。GACSU输入为支路度量单元BMU得到的支路度量值和上一次2m-1状态加比选单元GACSU计算得到的状态值。此2m-1个单状态加比选单元SACSU依次按1~2m-1的顺序编号。其中单状态加比选单元SACSU包括两个加法器和一个比较器。
其中单状态加比选单元SACSU中每个加法器的输入分别为1个支路度量值和1个上次GACSU计算得到的状态值,比较器的输入为两个加法器的计算结果,取两者中的小值作为该状态的状态值输出。
根据前述的加比选单元ACSU,其数据处理方法步骤如下:
第一步骤:支路度量值分组
将前一个时钟周期计算得到的支路度量值进行分组,对于n级级联而成的ACSU结构需要n组支路度量值。对于(2,1,m)卷积码,每组支路度量值为由2bits输入数据计算得到的4个支路度量值bm00、bm01、bm10、bm11。这里将首先输入的2bits数据得到的4个支路度量值作为第一组支路度量值bm00-1、bm01-1、bm10-1、bm11-1,即数据流中的第一和第二比特得到的支路度量值为第一组支路度量值,同理数据流中的第三和第四比特得到的支路度量值为第二组支路度量值bm00-2、bm01-2、bm10-2、bm11-2,数据流中的第五和第六比特得到的支路度量值为第三组支路度量值bm00-3、bm01-3、bm10-3、bm11-3,数据流中的第七和第八比特得到的支路度量值为第四组支路度量值bm00-4、bm01-4、bm10-4、bm11-4,依次类推。
第二步骤:加比选计算
在当前时钟周期内,按照相应的输入进行第一级2m-1状态加比选单元GACSU中所有加法器和比较器的运算,与此同时,将第一级加比选计算的结果pm和第二组支路度量值bm作为输入,进行第二级2m-1状态加比选单元GACSU中所有加法器和比较器的运算,当使用n级加比选单元ACSU时,需要同时计算n级2m-1状态加比选单元GACSU中的加法器和比较器运算。
第三步骤:计算结果输出
将最后一级2m-1状态加比选单元GACSU计算得到的状态值寄存输出,以便用于下一次的加比选计算,同时将n级2m-1状态加比选单元GACSU计算得到的幸存路径值寄存输出。
其中每组支路度量值中的4个数据表示为bm00、bm01、bm10、bm11分别代表BMU的输入数据与00,01,10,11四组数据的支路度量值,bm00~bm11与各加法器的连接关系由(2,1,m)卷积码的网格图确定。网格图中的转换后状态对应的00路经的输入为bm00,01路经的输入为bm01,10路经的输入为bm10,11路经的输入为bm11。每级2m-1状态加比选单元GACSU计算得到的状态值共2m-1个数据为1组,每组数据分别对应网格图转换前状态的状态值,根据网格图的转换关系,将数据送入相应地加法器中。
本发明的优点在于:
(1)应用本发明提供的级联加比选单元ACSU设计方法,可以在一个时钟周期内进行n(n=2,3,4,…)次加比选计算,使译码速度提高;
(2)本发明可以使得在低速时钟下获得高速的译码速度,且硬件资源的消耗是呈线性增长的。
附图说明
图1为本发明所涉及的(2,1,7)卷积码的编码器示意图;
图2为本发明设计的级联加比选单元ACSU连接图;
图3为本发明设计的2m-1状态加比选单元GACSU内部结构图;
图4为本发明以(2,1,7)卷积码中一个SASU为例设计的单状态加比选单元SACSU内部结构图;
图5为本发明以(2,1,7)卷积码第一级64状态加比选单元GACSU为例设计的2m-1状态加比选单元GACSU内部具体结构图;
图6为本发明设计的2级加比选单元ACSU连接图;
图7为本发明设计的3级加比选单元ACSU连接图;;
图8为本发明设计的4级加比选单元ACSU连接图;
图9为本发明所涉及的(2,1,3)卷积码的编码器示意图;
图10为本发明所涉及的(2,1,3)卷积码的网格图。
具体实施方式
下面参照附图和实施例对本发明的具体实施方式进行解释说明。
本发明提供的卷积码Viterbi译码器中的级联加比选单元及其数据处理方法,针对(2,1,m)卷积码,译码器中加比选单元ACSU采用级联的方式,如图2所示,加比选单元ACSU包括n(n=2,3,4,…)个单级2m-1状态加比选单元GACSU1、GACSU2、……GACSUn,上述每个单级2m-1状态加比选单元GACSU包括:2m-1个单状态加比选单元SACSU1、SACSU2、……SACSU2m-1,如图3。GACSU输入为支路度量单元BMU得到的支路度量值和上一次第n个单级2m-1状态加比选单元GACSUn计算得到的状态值,如图2所示,第一个单级2m-1状态加比选单元GACSU1的输入为支路度量单元BMU得到的支路度量值bm00-1~bm11-1和上一次第n个单级2m-1状态加比选单元GACSUn计算得到的状态值第二个单级2m-1状态加比选单元GACSU2的输入为支路度量单元BMU得到的支路度量值bm00-2~bm11-2和上一次第1个单级2m-1状态加比选单元GACSU1计算得到的状态值第n个单级2m-1状态加比选单元GACSUn的输入为支路度量单元BMU得到的支路度量值bm00-n~bm11-n和上一次第n-1个单级2m-1状态加比选单元GACSUn-1计算得到的状态值每个GACSU中的2m-1个单状态加比选单元SACSU1、SACSU2......SACSU2m-1依次按1~2m-1的顺序编号。其中每个单状态加比选单元SACSU包括两个加法器和一个比较器,如图4,第一个单状态加比选单元SACSU1包括两个加法器add1-1、add2-1和一个比较器comp1-1;每级2m-1个单状态加比选单元SACSU中所有的加法器和比较器按单状态加比选单元SACSU的编号顺序递增编号,命名为add1-1、add2-1……、add2m-1,比较器命名为comp1-1、comp2-1……、comp2m-1-1,如图5。
其中单状态加比选单元SACSU中每个加法器的输入分别为1个作为本级GACSU输入的支路度量值和1个上次GACSU计算得到的状态值,比较器的输入为两个加法器的计算结果,取两者中的小值作为该状态的状态值输出。
n(n=2,3,4,…)级2m-1状态加比选单元ACSU,其中的2m-1状态加比选单元GACSU为全并行结构的加比选单元。2级加比选单元ACSU,为将2m-1状态加比选单元GACSU的输出结果pm与第二组支路度量值bm作为输入级联得到的加比选单元ACSU。3级加比选单元ACSU为在2级加比选单元ACSU的基础上将2级加比选单元ACSU的输出结果pm与第三组支路度量值bm作为输入级联得到的加比选单元ACSU。4级加比选单元ACSU为在3级加比选单元ACSU的基础上将3级加比选单元ACSU的输出结果pm与第四组支路度量值bm作为输入级联得到的加比选单元ACSU。
根据前述的加比选单元ACSU,其数据处理方法步骤如下:
第一步骤:支路度量值bm分组;
将前一个时钟周期计算得到的支路度量值进行分组,对于n级级联而成的ACSU结构需要n组支路度量值。对于(2,1,m)卷积码,每组支路度量值为由2bits输入数据计算得到的4个支路度量值bm00、bm01、bm10、bm11。这里将首先输入的2bits数据得到的4个支路度量值作为第一组支路度量值bm00-1、bm01-1、bm10-1、bm11-1,即数据流中的第一和第二比特得到的支路度量值为第一组支路度量值,同理数据流中的第三和第四比特得到的支路度量值为第二组支路度量值bm00-2、bm01-2、bm10-2、bm11-2,数据流中的第五和第六比特得到的支路度量值为第三组支路度量值bm00-3、bm01-3、bm10-3、bm11-3,数据流中的第七和第八比特得到的支路度量值为第四组支路度量值bm00-4、bm01-4、bm10-4、bm11-4,依次类推。
对于2级级联的加比选单元ACSU,将第一组支路度量值bm00-1、bm01-1、bm10-1、bm11-1送入第一个2m-1状态加比选单元GACSU,将第二组支路度量值送入第二个2m-1状态加比选单元GACSU。
对于3级级联的加比选单元ACSU,在2级级联的基础上,将第三组支路度量值送入第三个2m-1状态加比选单元GACSU。
对于4级级联的加比选单元ACSU,在3级级联的基础上,将第三组支路度量值送入第四个2m-1状态加比选单元GACSU。
第二步骤:加比选计算;
在当前时钟周期内,按照相应的输入进行第一级2m-1状态加比选单元GACSU中所有加法器和比较器的运算,与此同时,将第一级加比选计算的结果和第二组支路度量值bm00-2、bm01-2、bm10-2、bm11-2作为输入,进行第二级2m-1状态加比选单元GACSU中所有加法器和比较器的运算,当使用n级加比选单元ACSU时,需要同时计算n级2m-1状态加比选单元GACSU中的加法器和比较器运算。对于2级级联的加比选单元ACSU,第二级的加比选计算完毕后计算即结束。对于3级级联的加比选单元ACSU,还需要在第一和第二级计算的同时将第二级加比选计算的结果pm和第三组支路度量值bm作为输入,进行第三级2m-1状态加比选单元GACSU中所有加法器和比较器的运算。对于4级级联的加比选单元ACSU,还需要在第一、第二和第三级计算的同时将第三级加比选计算的结果和第四组支路度量值作为输入,进行第四级2m-1状态加比选单元GACSU中所有加法器和比较器的运算。
第三步骤:计算结果输出;
将最后一级2m-1状态加比选单元GACSU计算得到的状态值寄存输出,以便用于下一次的加比选计算,同时将n级2m-1状态加比选单元GACSU计算得到的幸存路径值寄存输出。
其中每组支路度量值中的4个数据表示为bm00、bm01、bm10、bm11分别代表BMU的输入数据与00,01,10,11四组数据的支路度量值,bm00~bm11与各加法器的连接关系由(2,1,m)卷积码的网格图确定。网格图中的转换后状态对应的00路经的输入为bm00,01路经的输入为bm01,10路经的输入为bm10,11路经的输入为bm11。每级2m-1状态加比选单元GACSU输入的共2m-1个数据为1组,每组数据分别对应网格图转换前状态的状态值,根据网格图的转换关系,将数据送入相应地加法器。比较器的输入为同状态两个加法器的计算结果,comp(1-1)的输入分别为add(1-1)和add(2-1)的计算结果,comp(2-1)的输入分别为add(3-1)和add(4-1)的计算结果,依次类推,comp(j-i)的输入分别为add(2i-1-j)和add(2i-j)的计算结果。
实施例1:(2,1,7)卷积码2级加比选单元ACSU的实施例。
首先描述用于实施例的卷积码,如图1所示的编码器结构,本实施例中使用的是符合CCSDS标准的(2,1,7)卷积码,生成多项式为(171,133),此卷积码在译码时为每2bits为1组输入译码器。
译码器输入的数据在支路度量单元BMU中计算支路度量值,如图2,级联ACSU每级的输入为支路度量值bm和各状态的状态值pm,输出为各状态新的状态值和幸存路径值。
进行加比选计算时先将各状态对应的支路度量值与状态值相加,选出对应各状态最小的值作为新的状态值。此过程由加法器和比较器实现。
如图6所示,本发明中的2级加比选单元ACSU要求前级译码输入为4bits,支路度量单元BMU给出的支路度量值有8个数据,分为两组。本实施例中2级加比选单元ACSU由2级64状态加比选单元GACSU级联得到。
下面描述加比选单元ACSU的计算过程。
下面将结合附图对加比选单元ACSU的计算过程进行说明:
第一步骤:支路度量值bm分组;
将前一个时钟周期计算得到的支路度量值bm进行分组以便分配给加比选单元ACSU,将首先输入的2bits数据得到的4个支路度量值作为第一组支路度量值bm00-1、bm01-1、bm10-1、bm11-1,即数据流中的第一和第二比特得到的支路度量值为第一组支路度量值,数据流中的第三和第四比特得到的支路度量值为第二组支路度量值bm00-2、bm01-2、bm10-2、bm11-2。
如图1,将第一组支路度量值bm00-1、bm01-1、bm10-1、bm11-1送入第一个64状态加比选单元GACSU 1,将第二组支路度量值bm00-2、bm01-2、bm10-2、bm11-2送入第二个64状态加比选单元GACSU2。
第二步骤:加比选计算;
在当前时钟周期内,按照相应的输入进行第一级64状态加比选单元GACSU1中所有加法器和比较器的运算,即加法器将两输入相加,同一单状态加比选单元SACSU中的比较器将两加法器的结果进行比较,取小值作为该状态的状态值输出。如果为首次计算,则输入中的状态值为全0值,如果不是首次运算,则输入的状态值,为上一周期中第n级64状态加比选单元GACSU的状态值计算结果,这里n=2,即输入为上一周期中第2级64状态加比选单元GACSU2的状态值计算结果pm0-2~pm63-2。与此同时,将第一级64状态加比选单元GACSU1的计算结果pm0-1~pm63-1和第二组支路度量值bm00-2~11-2作为输入,进行第二级64状态加比选单元GACSU2中所有加法器和比较器的运算,同样将加法器的两输入相加,同一单状态加比选单元SACSU中的比较器将两加法器的结果进行比较,取小值作为该状态的状态值输出。对于2级级联的加比选单元ACSU,全部两级的加比选计算完毕后计算即结束。
第三步骤:计算结果输出
将第2级64状态加比选单元GACSU2计算得到的状态值寄存输出,以便用于下一次的ACSU计算,同时将第一和第二级64状态加比选单元GACSU1、GACSU2计算得到的幸存路径值寄存输出。
其中每组支路度量值中的4个数据表示为bm00、bm01、bm10、bm11分别代表输入数据与00,01,10,11四组数据的支路度量值,且bm00作为add1、add5、add10、add14、add18、add22、add25、add29、add36、add40、add43、add47、add51、add55、add60、add64、add66、add70、add73、add77、add81、add85、add90、add94、add99、add103、add108、add112、add116、add120、add123、add127的输入;bm01作为add3、add7、add12、add16、add20、add24、add27、add31、add34、add38、add41、add45、add49、add53、add58、add62、add68、add72、add75、add79、add83、add87、add92、add96、add97、add101、add106、add110、add114、add118、add121、add125的输入;bm10作为add4、add8、add11、add15、add19、add23、add28、add32、add33、add37、add42、add46、add50、add54、add57、add61、add67、add71、add76、add80、add84、add88、add91、add95、add98、add102、add105、add109、add113、add117、add122、add126的输入;bm11作为add2、add6、add9、add13、add17、add21、add26、add30、add35、add39、add44、add48、add52、add56、add59、add63、add65、add69、add74、add78、add82、add86、add89、add93、add100、add104、add107、add111、add115、add119、add124、add128的输入。每级64状态ACSU计算单元计算得到的状态值共64个数据为1组,分别命名为pm0~pm63,其中pm0作为add1和add65的输入;pm1作为add2和add66的输入,依次类推,pm(i)作为add(i+1)和add(i+65)的输入,pm63作为add64和add128的输入。比较器comp1的输入分别为add1和add2的计算结果,comp2的输入分别为add3和add4的计算结果,依次类推,comp(i)作为add(2i-1)和add(2i)的输入,comp64的输入分别为add127和add128的计算结果。
实施例2:(2,1,7)卷积码3级加比选单元ACSU的实施例;
如图7所示,本发明中的3级加比选单元ACSU要求前级译码输入为6bits,支路度量单元BMU给出的支路度量值有12个数据,分为三组。本实施例中3级加比选单元ACSU由3级64状态加比选单元GACSU级联得到。
3级加比选单元ACSU的计算过程与2级加比选单元ACSU的计算过程基本相同,只是在第一步骤中的支路度量值需要3组,在第二步骤中需要同时进行3级64状态加比选单元GACSU的计算。
下面描述加比选单元ACSU的计算过程。
下面将结合附图对3级加比选单元ACSU的计算过程进行说明。
第一步骤:支路度量值bm分组;
将前一个时钟周期计算得到的支路度量值进行分组以便分配给加比选单元ACSU,将首先输入的2bits数据得到的4个支路度量值作为第一组支路度量值bm00-1、bm01-1、bm10-1、bm11-1,即数据流中的第一和第二比特得到的支路度量值为第一组支路度量值,数据流中的第三和第四比特得到的支路度量值为第二组支路度量值bm00-2、bm01-2、bm10-2、bm11-2,数据流中的第五和第六比特得到的支路度量值为第三组支路度量值bm00-3、bm01-3、bm10-3、bm11-3。
将第一组支路度量值送入第一个64状态加比选单元GACSU1,将第二组支路度量值送入第二个64状态加比选单元GACSU2,将第三组支路度量值送入第三个64状态加比选单元GACSU3。
第二步骤:加比选计算;
在当前时钟周期内,按照相应的输入进行第一级64状态加比选单元GACSU1中所有加法器和比较器的运算,即加法器将两输入相加,同一单状态加比选单元SACSU中的比较器将两加法器的结果进行比较,取小值作为该状态的状态值输出。如果为首次计算,则输入中的状态值为全0值,如果不是首次运算,则输入的状态值,为上一周期中第n级64状态加比选单元GACSU的状态值计算结果,这里n=3,即输入为上一周期中第3级64状态加比选单元GACSU3的状态值计算结果pm0-3~pm63-3。与此同时,将第一级64状态加比选单元GACSU1的计算结果pm0-1~pm63-1和第二组支路度量值作为输入,进行第二级64状态加比选单元GACSU2中所有加法器和比较器的运算,将第二级64状态加比选单元GACSU2的计算结果pm0-2~pm63-2和第三组支路度量值作为输入,进行第三级64状态加比选单元GACSU3中所有加法器和比较器的运算,同样将加法器的两输入相加,同一单状态加比选单元SACSU中的比较器将两加法器的结果进行比较,取小值作为该状态的状态值输出。对于3级级联的加比选单元ACSU,全部3级加比选计算完毕后计算即结束。
第三步骤:计算结果输出;
将第3级64状态加比选单元GACSU3计算得到的状态值寄存输出,以便用于下一次的加比选计算,同时将第一、第二和第三级64状态加比选单元GACSU计算得到的幸存路径值寄存输出。
实施例3:4级加比选单元ACSU的实施例:
如图8,本实施例中的4级加比选单元ACSU要求前级译码输入为8bits,支路度量单元给出的支路度量值有16个数据,分为四组。本实施例中4级加比选单元ACSU由4级64状态加比选单元GACSU级联得到。
4级加比选单元ACSU的计算过程与3级加比选单元ACSU的计算过程基本相同,只是在第一步骤中的支路度量值需要4组,在第二步骤中需要同时进行64状态加比选单元GACSU的计算。
下面描述加比选单元ACSU的计算过程。
下面将结合附图对加比选单元ACSU的计算过程进行说明:
第一步骤:支路度量值bm分组;
将前一个时钟周期计算得到的支路度量值进行分组以便分配给加比选单元ACSU,将首先输入的2bits数据得到的4个支路度量值作为第一组支路度量值bm00-1、bm01-1、bm10-1、bm11-1,即数据流中的第一和第二比特得到的支路度量值为第一组支路度量值,数据流中的第三和第四比特得到的支路度量值为第二组支路度量值bm00-2、bm01-2、bm10-2、bm11-2,数据流中的第五和第六比特得到的支路度量值为第三组支路度量值bm00-3、bm01-3、bm10-3、bm11-3,数据流中的第七和第八比特得到的支路度量值为第四组支路度量值bm00-4、bm01-4、bm10-4、bm11-4。
将第一组支路度量值送入第一个64状态加比选单元GACSU1,将第二组支路度量值送入第二个64状态加比选单元GACSU2,将第三组支路度量值送入第三个64状态加比选单元GACSU3,将第四组支路度量值送入第四个64状态加比选单元GACSU4。
第二步骤:加比选计算;
在当前时钟周期内,按照相应的输入进行第一级64状态加比选单元GACSU中所有加法器和比较器的运算,即加法器将两输入相加,同一单状态加比选单元SACSU中的比较器将两加法器的结果进行比较,取小值作为该状态的状态值输出。如果为首次计算,则输入中的状态值为全0值,如果不是首次运算,则输入的状态值,为上一周期中第n级64状态加比选单元GACSU的状态值计算结果,这里n2=4,即输入为上一周期中第4级64状态加比选单元GACSU4的状态值计算结果pm0-4~pm63-4。与此同时,将第一级64状态加比选单元GACSU 1的计算结果pm0-1~pm63-1和第二组支路度量值作为输入,进行第二级64状态加比选单元GACSU2中所有加法器和比较器的运算,将第二级64状态加比选单元GACSU2的计算结果pm0-2~pm63-2和第三组支路度量值作为输入,进行第三级64状态加比选单元GACSU3中所有加法器和比较器的运算,将第三级64状态加比选单元GACSU3的计算结果pm0-3~pm63-3和第四组支路度量值作为输入,进行第四级64状态加比选单元GACSU4中所有加法器和比较器的运算,同样将加法器的两输入相加,同一单状态加比选单元SACSU中的比较器将两加法器的结果进行比较,取小值作为该状态的状态值输出。对于4级级联的加比选单元ACSU,全部4级加比选计算完毕后计算即结束。
第三步骤:计算结果输出
将第4级64状态加比选单元GACSU4计算得到的状态值寄存输出,以便用于下一次的加比选计算,同时将第一、第二、第三和第四级64状态加比选单元GACSU计算得到的幸存路径值寄存输出。
实施例4:(2,1,3)卷积码2级加比选单元ACSU的实施例。
本实施例中使用的是(2,1,3)卷积码,生成多项式为(7,5)。编码器结构如图9所示,此卷积码的在译码时为每2bits为1组输入译码器。
本发明中的2级加比选单元ACSU要求前级译码输入为4bits,支路度量单元BMU给出的支路度量值有8个数据,分为两组。本实施例中2级加比选单元ACSU由2级4状态加比选单元GACSU级联得到。
(2,1,3)卷积码2级加比选单元ACSU的计算过程与(2,1,7)卷积码2级加比选单元ACSU的计算过程基本相同,数据之间的连接关系稍有不同,此连接关系可以根据该编码的网格图得到,与普通的全并行加比选单元的连接关系类似。
下面描述加比选单元ACSU的计算过程。
下面将结合附图对加比选单元ACSU的计算过程进行说明。
第一步骤:支路度量值bm分组;
将前一个时钟周期计算得到的支路度量值进行分组以便分配给加比选单元ACSU,将首先输入的2bits数据得到的4个支路度量值作为第一组支路度量值bm00-1、bm01-1、bm10-1、bm11-1,即数据流中的第一和第二比特得到的支路度量值为第一组支路度量值,数据流中的第三和第四比特得到的支路度量值为第二组支路度量值bm00-2、bm01-2、bm10-2、bm11-2。
将第一组支路度量值送入第一个4状态加比选单元GACSU1,将第二组支路度量值送入第二个4状态加比选单元GACSU2。
第二步骤:加比选计算;
在当前时钟周期内,按照相应的输入进行第一级4状态加比选单元GACSU1中所有加法器和比较器的运算,即加法器将两输入相加,同一单状态加比选单元SACSU中的比较器将两加法器的结果进行比较,取小值作为该状态的状态值输出。如果为首次计算,则输入中的状态值为全0值,如果不是首次运算,则输入的状态值,为上一周期中第n级4状态ACS计算单元的状态值计算结果,这里n=2,即输入为上一周期中第2级4状态加比选单元GACSU2的状态值计算结果pm0-2~pm3-2。与此同时,将第一级4状态加比选单元GACSU1的计算结果pm0-1~pm3-1和第二组支路度量值作为输入,进行第二级4状态加比选单元GACSU2中所有加法器和比较器的运算,同样将加法器的两输入相加,同一单状态加比选单元SACSU中的比较器将两加法器的结果进行比较,取小值作为该状态的状态值输出。对于2级级联的加比选单元ACSU,全部2级的加比选计算完毕后计算即结束。
第三步骤:计算结果输出
将第2级4状态加比选单元GACSU2计算得到的状态值寄存输出,以便用于下一次的加比选计算,同时将第一和第二级4状态加比选单元GACSU计算得到的幸存路径值寄存输出。
其中每组支路度量值中的4个数据表示为bm00、bm01、bm10、bm11分别代表输入数据与00,01,10,11四组数据的支路度量值,且bm00作为add1、add4的输入;bm01作为add6、add7的输入;bm10作为add5、add8的输入;bm11作为add2、add3的输入。每级4状态加比选单元GACSU计算得到的状态值共4个数据为1组,分别命名为pm0~pm3,其中pm0作为add1和add3的输入;pm1作为add5和add7的输入,pm2作为add2和add4的输入,pm3作为add6和add8的输入。比较器comp1的输入分别为add1和add2的计算结果,comp2的输入分别为add3和add4的计算结果,comp3的输入分别为add5和add6的计算结果,comp4的输入分别为add7和add8的计算结果。此连接关系可由此编码的网格图导出,此编码网格图如图10所示。
Claims (5)
1.卷积码Viterbi译码器中的级联加比选单元,其特征在于:对于(2,1,m)卷积码,m为卷积码的约束长度,加比选单元ACSU采用级联的方式,每个加比选单元ACSU包括n个单级2m-1状态加比选单元GACSU,其中n=2,3,4,…,每个单级2m-1状态加比选单元GACSU输入为支路度量单元BMU得到的支路度量值和上一次2m-1状态加比选单元GACSU计算得到的状态值,即第一个单级2m-1状态加比选单元GACSU1的输入为支路度量单元BMU得到的支路度量值bm00-1~bm11-1和上一次第n个单级2m-1状态加比选单元GACSUn计算得到的状态值第二个单级2m-1状态加比选单元GACSU2的输入为支路度量单元BMU得到的支路度量值bm00-2~bm11-2和上一次第1个单级2m-1状态加比选单元GACSU1计算得到的状态值……;第n个单级2m-1状态加比选单元GACSUn的输入为支路度量单元BMU得到的支路度量值bm00-n~bm11-n和上一次第(n-1)个单级2m-1状态加比选单元GACSU(n-1)计算得到的状态值
2.根据权利要求1所述的卷积码Viterbi译码器中的级联加比选单元,其特征在于:每个单级2m-1状态加比选单元GACSU包括2m-1个单状态加比选单元SACSU;每个单状态加比选单元SACSU包括两个加法器和一个比较器;其中单状态加比选单元SACSU中每个加法器的输入分别为1个支路度量值和1个上次GACSU计算得到的状态值,比较器的输入为两个加法器的计算结果,取两者中的小值作为该状态的状态值输出。
3.一种权利要求1所述的级联加比选单元ACSU的数据处理方法,其特征在于如下步骤:第一步骤:支路度量值分组;
将前一个时钟周期计算得到的支路度量值进行分组,对于n级级联而成的ACSU结构需要n组支路度量值;对于(2,1,m)卷积码,每组支路度量值为由2bits输入数据计算得到的四个支路度量值bm00、bm01、bm10、bm11,将数据流中的第一和第二比特得到的支路度量值为第一组支路度量值bm00-1、bm01-1、bm10-1、bm11-1,同理数据流中的第三和第四比特得到的支路度量值为第二组支路度量值bm00-2、bm01-2、bm10-2、bm11-2,数据流中的第五和第六比特得到的支路度量值为第三组支路度量值bm00-3、bm01-3、bm10-3、bm11-3,数据流中的第七和第八比特得到的支路度量值为第四组支路度量值bm00-4、bm01-4、bm10-4、bm11-4,依次类推;
第二步骤:加比选计算;
在当前时钟周期内,按照相应的输入进行第一级2m-1状态加比选单元GACSU中所有加法器和比较器的运算,与此同时,将第一级加比选计算的结果和第二组支路度量值作为输入,进行第二级2m-1状态加比选单元GACSU中所有加法器和比较器的运算,当使用n级加比选单元ACSU时,需要同时计算n级2m-1状态加比选单元GACSU中的加法器和比较器运算;
第三步骤:计算结果输出;
将最后一级2m-1状态加比选单元GACSU计算得到的状态值寄存输出,以便用于下一次的加比选计算,同时将n级2m-1状态加比选单元GACSU计算得到的幸存路径值寄存输出。
4.根据权利要求3所述的级联加比选单元ACSU的数据处理方法,其特征在于:其中每组支路度量值中的四个数据表示为bm00、bm01、bm10、bm11分别代表支路度量单元BMU的输入数据与00,01,10,11四组数据的支路度量值,bm00~bm11与各加法器的连接关系由(2,1,m)卷积码的网格图确定。
5.根据权利要求3所述的级联加比选单元ACSU的数据处理方法,其特征在于:当n=2时,2级加比选单元ACSU,为将2m-1状态加比选单元GACSU的输出结果与第二组支路度量值作为输入级联得到的加比选单元ACSU;当n=3时,3级加比选单元ACSU为在2级加比选单元ACSU的基础上将2级加比选单元ACSU的输出结果与第三组支路度量值作为输入级联得到的加比选单元ACSU;当n=4时,4级加比选单元ACSU为在3级加比选单元ACSU的基础上将3级加比选单元ACSU的输出结果与第四组支路度量值作为输入级联得到的加比选单元ACSU。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910238687 CN101741399B (zh) | 2009-12-01 | 2009-12-01 | 卷积码Viterbi译码器中的级联加比选单元及其数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910238687 CN101741399B (zh) | 2009-12-01 | 2009-12-01 | 卷积码Viterbi译码器中的级联加比选单元及其数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741399A true CN101741399A (zh) | 2010-06-16 |
CN101741399B CN101741399B (zh) | 2013-02-27 |
Family
ID=42464370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910238687 Expired - Fee Related CN101741399B (zh) | 2009-12-01 | 2009-12-01 | 卷积码Viterbi译码器中的级联加比选单元及其数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101741399B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088338A (zh) * | 2011-03-02 | 2011-06-08 | 上海交通大学 | 基于多跳级联卷积码的编解码装置及其实现方法 |
CN106027200A (zh) * | 2016-05-05 | 2016-10-12 | 北京航空航天大学 | 一种基于gpu的卷积码高速并行译码方法及译码器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1131595C (zh) * | 2000-12-28 | 2003-12-17 | 扬智科技股份有限公司 | 维特比检测器及维特比检测方法 |
CN101494464B (zh) * | 2009-03-12 | 2011-10-05 | 华为技术有限公司 | 一种译码方法、装置及电子设备 |
-
2009
- 2009-12-01 CN CN 200910238687 patent/CN101741399B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088338A (zh) * | 2011-03-02 | 2011-06-08 | 上海交通大学 | 基于多跳级联卷积码的编解码装置及其实现方法 |
CN106027200A (zh) * | 2016-05-05 | 2016-10-12 | 北京航空航天大学 | 一种基于gpu的卷积码高速并行译码方法及译码器 |
CN106027200B (zh) * | 2016-05-05 | 2019-04-26 | 北京航空航天大学 | 一种基于gpu的卷积码高速并行译码方法及译码器 |
Also Published As
Publication number | Publication date |
---|---|
CN101741399B (zh) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104079382B (zh) | 一种基于概率计算的极化码译码器和极化码译码方法 | |
He et al. | High-speed low-power Viterbi decoder design for TCM decoders | |
CN101036299B (zh) | 用于实现可重构网格类型解码的方法和装置 | |
CN105634507A (zh) | 极化码置信传播译码器的流水线架构 | |
CN110022188B (zh) | 基于冻结比特对的极化码编码方法及极化码串行抵消译码方法和电路 | |
Kavinilavu et al. | Implementation of Convolutional encoder and Viterbi decoder using Verilog HDL | |
Guo et al. | FPGA design and implementation of a low-power systolic array-based adaptive Viterbi decoder | |
CN102340320B (zh) | 卷积Turbo码双向并行译码方法 | |
CN100413217C (zh) | 一种维特比译码器及用于维特比译码器的加比选单元电路 | |
CN101741399B (zh) | 卷积码Viterbi译码器中的级联加比选单元及其数据处理方法 | |
CN105162475A (zh) | 一种基于fpga的参数化多标准高吞吐率译码器 | |
CN101145790B (zh) | 译码器、相加-比较-选择单元和其方法 | |
CN109547035A (zh) | 流水bp极化译码器硬件架构的建立方法及译码器硬件架构 | |
CN107092462B (zh) | 一种基于fpga的64位异步乘法器 | |
CN1159933C (zh) | 通用的卷积编码器和维特比译码器 | |
Vaithiyanathan et al. | High performance ACS for Viterbi decoder using pipeline T-Algorithm | |
Yoo et al. | A pipelined 8-bit soft decision viterbi decoder for IEEE802. 11ac WLAN systems | |
CN102377438B (zh) | 信道译码方法和咬尾卷积译码器 | |
Mandwale et al. | Implementation of High Speed Viterbi Decoder using FPGA | |
Li et al. | A high-throughput reconfigurable Viterbi decoder | |
CN103986477A (zh) | 矢量viterbi译码指令及viterbi译码装置 | |
Arun et al. | Design and VLSI implementation of a Low Probability of Error Viterbi decoder | |
CN101217285B (zh) | 一种适用于DRM标准的Viterbi解码器 | |
Santhi et al. | Synchronous pipelined two-stage radix-4 200Mbps MB-OFDM UWB Viterbi decoder on FPGA | |
CN102723959A (zh) | 维特比译码器、多路并行译码器和加比选处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130227 Termination date: 20131201 |