CN111030711A - 一种维特比译码器并行加比选处理方法 - Google Patents
一种维特比译码器并行加比选处理方法 Download PDFInfo
- Publication number
- CN111030711A CN111030711A CN201911361968.6A CN201911361968A CN111030711A CN 111030711 A CN111030711 A CN 111030711A CN 201911361968 A CN201911361968 A CN 201911361968A CN 111030711 A CN111030711 A CN 111030711A
- Authority
- CN
- China
- Prior art keywords
- path
- carry
- addition
- bit
- sum
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000007792 addition Methods 0.000 claims description 69
- 238000000034 method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 17
- 238000004904 shortening Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 17
- 230000008901 benefit Effects 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 238000005314 correlation function Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
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译码器是一种基于网格的最大似然译码算法,是一种最佳的概率译码算法。Viterbi译码器设计结构简单,计算速度快,译码效率高,可获得比普通判决反馈方案大2~3dB的检测增益。
图1为维特比译码器的结构框图,它主要包括3部分:(1)分支度量单元(BMU),(2)加-比较-选择单元(ACSU),(3)幸存路径存储+译码单元。
分支度量单元(BMU)主要是计算接收到的量化信号与期望信号之间的欧氏距离或汉明距离。
加-比较-选择单元(ACSU)主要是实现前一时刻累计的路径度量与相应的分支度量相加,对多路相加后的路径度量进行比较,选出最小路径度量作为当前时刻的幸存路径度量,输出相应的路径判决信息。
幸存路径存储+译码单元主要是对加-比较-选择单元产生的路径判决信息进行存储,当加-比较-选择运算到达约束长度时,对幸存路径存储器存储的内容进行回溯,译码,输出最佳的路径信息。
图2给出了常规的加-比较-选择单元(ACSU),它主要包括两个加法器,一个比较器和一个选择器。加法器201输出路径度量1和分支度量1的和,加法器202输出路径度量2和分支度量2的和。比较器203对加法器201输出的结果与加法器202输出的结果进行比较。依据比较器1输出的结果,选择器204对加法器201输出的结果和加法器202输出的结果进行选择,输出最小的路径度量。
由图1可知,分支度量单元(BMU)和幸存路径存储+译码单元(ACSU)都是前向结构,可以通过引入流水线技术来提高速率。
维特比译码器的主要技术瓶颈是加-比较-选择单元存在反馈环路,而无法引入流水线。加-比较-选择单元的执行顺序是加->比较->选择,“比较”的执行必须等待“加”执行结束,“选择”的执行必须等待“比较”执行结束。“加”和“比较”不能并行执行,且“加->比较->选择”必须在一个时钟周期内执行完毕,因此缩短“加->比较->选择”进位链路的延时成为提高Viterbi译码器速率的关键。
具体讲“加->比较->选择”的执行顺序是从加法器的最低位(LSB)开始沿着进位链加到最高位(MSB),再沿着选择器的标志链从最高位(MSB)返回到最低位(LSB),最后对两个加法器产生的新路径度量高位(MSB)至低位(LSB)同时进行选择。而上述过程需要在一个时钟周期内全部完成,因此缩短“加->比较->选择”中“加->比较”的延时成为提高Viterbi译码器速率的关键。
为了解决Viterbi译码器的主要技术瓶颈,提高其译码效率。目前常采用滑动块和路径度量高位与低位分离方法。无论折叠滑动块,还是独立前向滑动块,都是数据块之间在一定程度上实现了并行,滑动块速率的增加与面积呈线性关系,但是在数据块内部,依然存在加-比较-选择单元的递归结构。加-比较-选择单元中“加”的执行顺序是从路径度量和分支度量最低位开始逐位加到路径度量和分支度量的最高位,“比”的执行顺序是依据“加”的结果,从两路相加后路径度量的最高位到最低位逐位比较,“选”的执行顺序是依据“比”的结果直接对“加”结果的高位到低位同时进行选择,因此对于滑动块,加-比较-选择单元的进位链路并没有缩短。
路径度量高位与低位分离方法是利用路径度量位宽与分支度量位宽不相等的特点,对路径度量的低位和分支度量采用传统低位到高位逐位相加的方法,而对路径度量的高位采用组合逻辑电路来实现。而“比”的执行顺序依然是依据“加”的结果,从最高位到最低位逐位比较,“选”的执行顺序是依据“比”的结果直接对“加”结果的高位到低位同时进行选择。路径度量高位与低位分离方法在一定程度上缩短了“加”路径长度,因此可以提高维特比的工作速率。但是路径度量位宽与分支度量位宽差别较小,该方法提升维特比译码器速率的程度有限。
发明内容
技术问题:本发明的主要目的是提出了一种维特比译码器并行加比选处理方法,该方法可缩短“加-比较-选择”中“加-比较”运算的长度,提高Viterbi译码器速率,并降低硬件资源消耗。
技术方案:本发明的一种维特比译码器并行加比选处理方法为:第一条路径,从低位开始,逐位计算路径为路径度量PM0[8:0]与分支度量BM0[5:0]的和,到计算出路径度量高位与分支度量高位的和结束;第二条路径,从低位开始,逐位计算路径度量PM4[8:0]与分支度量BM4[5:0]和的,到计算出路径度量高位与分支度量高位的和结束;第三条路径,一旦第一条路径最低位的和与第二条路径最低位的和计算出来,就从开始对第一条路径最低位的和与第二条路径最低位的和进行比较;最后依据第三条路径最高的进位信息,对第一条路径计算出的新路径度量和第二条路径计算出的新路径度量进行选择操作;如果第三条路径最高位进位逻辑的非为1,则多路选择器输出的幸存路径度量为第二条路径计算出的新路径度量,输出的路径判决信息为1;如果第三条路径最高位进位逻辑的非为0,则多路选择器输出的幸存路径度量为第一条路径计算出的新路径度量,输出的路径判决信息为0。
其中:
所述的第一条路径和第二条路径均需要运算8位,一旦第一条路径最低位的和与第二条路径最低位的和计算出来,第三条路径就开始执行,第三条路径与第一条路径、第二条路径相比只是慢了一个节拍,共8个节拍,总体讲,第三条路径与第一条路径、第二条路径之间属于并行执行关系。
所述第一条路径主要过程为:从路径度量PM0的低位PM0[0]与分支度量BM0的低位BM0[0]开始相加,到高位依次完成PM0[6]与0相加,PM0[7]与0相加,PM0[8]与0相加;第一条路径更新后的路径度量为:[S018 S017 S016 S015 S014 S013 S012 S011 S010]整体表示更新后路径度量,路径度量的每一位均是通过加法器得到,在加法器中,S表示和,C表示进位,其中,S010为0、PM0[0]、BM0[0]相加的和,S011为PM0[1]、BM0[1]相加的和,S012为C011、PM0[2]、BM0[2]相加的和,S013为PM0[3]、BM0[3]相加的和,S014为C013、PM0[4]、BM0[4]相加的和,S015为PM0[5]、BM0[5]相加的和,S016为C015、PM0[6]、0相加的和,S017为PM0[7]、0相加的和,S018为C017、PM0[8]、0相加的和,为C010的逻辑非,为C012的逻辑非,为C014的逻辑非,为C016的逻辑非,为C018的逻辑非;第一条路径的进位链路为其中为0、PM0[0]、BM0[0]相加进位C010的逻辑非,C011为PM0[1]、BM0[1]相加的进位,为C011、PM0[2]、BM0[2]相加进位C012的逻辑非,C013为PM0[3]、BM0[3]相加的进位,为C013、PM0[4]、BM0[4]相加进位C014的逻辑非,C015为PM0[5]、BM0[5]相加的进位,为C015、PM0[6]、0相加进位C016的逻辑非,C017为PM0[7]、0相加的进位,为C017、PM0[8]、0相加进位C018的逻辑非。
所述第二条路径主要过程为:从路径度量PM4的低位PM4[0]与分支度量BM4的低位BM4[0]开始相加,到高位依次完成PM4[6]与0相加,PM4[7]与0相加,PM4[8]与0相加;第二条路径更新后的路径度量为[S028 S027 S026 S025 S024 S023 S022 S021 S020],整体表示更新后路径度量,路径度量的每一位均是通过加法器得到,在加法器中,S表示和,C表示进位,其中S020为0、PM4[0]、BM4[0]相加的和,S021为PM4[1]、BM4[1]相加的和,S022为C021、PM4[2]、BM4[2]相加的和,S023为PM4[3]、BM4[3]相加的和,S024为C023、PM4[4]、BM4[4]相加的和,S025为PM4[5]、BM4[5]相加的和,S026为C025、PM4[6]、0相加的和,S027为PM4[7]、0相加的和,S028为C027、PM4[8]、0相加的和,为C020的逻辑非,为C022的逻辑非,为C024的逻辑非,为C026的逻辑非,为C028的逻辑非;第二条路径的进位链路为其中为0、PM4[0]、BM4[0]相加进位C020的逻辑非,C021为PM4[1]、BM4[1]相加的进位,为C021、PM4[2]、BM4[2]相加进位C022的逻辑非,C023为PM4[3]、BM4[3]相加的进位,为C023、PM4[4]、BM4[4]相加进位C024的逻辑非,C025为PM4[5]、BM4[5]相加的进位,为C025、PM4[6]、0相加进位C026的逻辑非,C027为PM4[7]、0相加的进位,为C027、PM4[8]、0相加进位C028的逻辑非。
所述第三条路径主要过程为:当第一条路径的低位PM0[0]+BM4[0]和第二条路径的低位PM4[0]+BM4[0]运算结束,就立即就从低位S010和S020开始比较,直到最高位S018和S028比较结束;第三条路径的进位链路为其中为1、S020相加进位C030的逻辑非,C031为S011、相加的进位,为C031、S022相加进位C032的逻辑非,C033为S013、相加的进位,为C033、S024相加进位C034的逻辑非,C035为S015、相加的进位,为C035、S026相加进位C036的逻辑非,C037为S017、相加的进位,为C037、S028相加进位C038的逻辑非,为C030的逻辑非,为C032的逻辑非,为C034的逻辑非,为C036的逻辑非,为C038的逻辑非,为S010的逻辑非,为S021的逻辑非,为S012的逻辑非,为S023的逻辑非,为S014的逻辑非,为S025的逻辑非,为S016的逻辑非,为S027的逻辑非,为S018的逻辑非。
所述选择操作的过称为:依据对第一条路径更新后的路径度量[S018 S017S016 S015S014 S013 S012 S011 S010]和第二条路径更新后的路径度量[S028 S027 S026 S025 S024S023 S022S021 S020]进行选择,并输出路径判决信息;若为1,则幸存的路径度量为[S028 S027 S026S025 S024 S023 S022 S021 S020],输出的路径判决信息为1。如果为0,则幸存的路径度量为[S018 S017 S016 S015 S014 S013 S012 S011 S010];输出的路径判决信息为0。
本发明的另一方面是以加法的形式实现“比较”运算,降低了“比较”运算的复杂度。
本发明的另一方面是“比较”的执行顺序与“加”的执行顺序一致,都是从最低位(LSB)开始到最高位(MSB)结束。
本发明的另一方面是利用全加法器为自对偶相关函数的特点,即非的输入产生非的输出,对行波进位加法器改进,进一步降低了“加”进位链路的延时。
本发明的另一方面是利用全加法器为自对偶相关函数的特点,即非的输入产生非的输出,对行波进位加法器改进,进一步降低了“比较”进位链路的延时。
有益效果:与现有加比选技术相比,本发明的并行加比选处理方法有以下优点:
(1)缩短了“加-比较-选择”中“加-比较”运算的长度。将传统的“比较”运算改为“加法”运算来实现。改进后,“比较”运算与“加”运算顺序一致,都从最低位开始,延进位链直到最高位结束。
(2)传统“加-比较-选择”的执行顺序为加->比较->选择,改进后的执行顺序为加(比较)->选择。加与比较同时执行,即一旦“加法”运算的最低位运算完成,“比较”运算也立即从最低位开始,直至“加”与“比较”的最高位运算结束。
(3)传统9位行波进位加法器的进位链路为C0->C1->C2->C3->C4->C5->C6->C7->C8。改进后9位行波进位加法器的进位链路为该路径有效地缩短了进位的传播延迟,并降低了消耗的晶体管数目。
(4)与传统Viterbi译码器方案相比,本发明在比特层,实现了“加”与“比较”的并行,缩短了进位链路的长度,节省了硬件资源,提高了系统时钟频率。
附图说明
下面结合附图对本发明的具体实施方式做进一步说明。
图1为常规Viterbi译码器示意性框图。
图2为常规“加-比较-选择”(ACS)示意性框图。
图3为标准CMOS全加器电路。
图4为常规行波进位加法器结构图。
图5为本文发明实施例晶体管级全加器框图。
图6为本文发明实施例的行波进位加法器结构图。
图7为本文发明实施例的行波进位比较器结构图。
图8(a)为本文发明所涉及的网格图,图8(b)为本文发明所涉及的状态转换图。
图9为本文发明并行“加-比较-选择”(ACS)结构图。
具体实施方式
并行“加-比较-选择”模块包括:第一条路径,从低位开始,逐位计算路径度量与分支度量的和,到计算出路径度量高位与分支度量高位的和结束;第二条路径,从低位开始,逐位计算路径度量与分支度量的和,到计算出路径度量高位与分支度量高位的和结束;第三条路径,一旦第一条路径最低位的和与第二条路径最低位的和计算出来,就开始从低位计算进位,到输出最高位的进位结束;最后依据第三条路径最高的进位信息,对第一条路径和第二条路径更新后的路径度量进行选择,并输出路径判决信息。
第一条路径、第二条路径均为“加”操作路径,第三条路径为“比”操作路径。第一条路径、第二条路径和第三条路径为并行执行,其具体过程如下:
第一条路径(加路径)主要过程为:从路径度量PM0的低位PM0[0]与分支度量BM0的低位BM0[0]开始逐位相加,到高位依次完成PM0[6]与0相加,PM0[7]与0相加,PM0[8]与0相加。第一条路径更新后的路径度量为[S018 S017 S016 S015 S014S013 S012 S011 S010]。第一条路径的进位链路为
第二条路径(比较路径)主要过程为:从路径度量PM4的低位PM4[0]分支度量BM4的低位BM4[0]开始逐位相加,到高位依次完成PM4[6]与0相加,PM4[7]与0相加,PM4[8]与0相加。第二条路径更新后的路径度量为[S028 S027 S026 S025 S024S023 S022 S021 S020]。第二条路径的进位链路为
第三条路径(比路径)主要过程为:一旦第一条路径的低位PM0[0]+BM4[0]和第二条路径的低位PM4[0]+BM4[0]运算结束,就从低位S010和S020开始比较,直到最高位S018和S028比较结束。第三条路径的进位链路为
“选”的过程为:依据对第一条路径更新后的路径度量[S018 S017 S016 S015S014 S013S012 S011 S010]和第二条路径更新后的路径度量[S028 S027 S026 S025 S024 S023 S022S021 S020]进行选择,并输出路径判决信息。若为1,则幸存的路径度量为[S028S027 S026 S025 S024S023 S022 S021 S020],如果为0,则幸存的路径度量为[S018 S017 S016S015 S014 S013 S012S011 S010]。依据网格图,输出路径判决的信息为0。
图3为标准CMOS全加器电路,图中A,B,C为输入信号,进位Cout,和S为输出信号,其中进位Cout的逻辑表达式为:
和S的逻辑表达式为:
图3中共有28个晶体管,PMOS网络与NMOS网络是完全对偶的,即PMOS上拉网络的串联,对应NMOS下拉网络的并联。PMOS上拉网络的并联,对应NMOS下拉网络的串联。
对于“加-比较-选择”中路径度量与分支度量的“加”运算,采用行波进位加法器完成。假定路径度量为9位,分支度量为6位,则行波进位加法器由9个1位全加器级联而成。图4为由9个图3所示全加器组成的行波进位加法器结构示意图,图中A0~A8为路径度量,B0~B5为分支度量,C0~C8为进位。进位链路从最低位C0沿着进位链路一直到传播到最高位C8,即进位链路为C0->C1->C2->C3->C4->C5->C6->C7->C8。图中每级的进位Cn与和Sn的逻辑表达式分别表示如下:
图4中,“加”运算的延时与路径度量位宽呈线性关系。为了提高ACS环路的工作速度,行波进位加法器进位的传播路径应该最短。
全加器是自对偶相关函数,即非的输入产生非的输出。例如输入A,B,Cin,输出进位Cout,和S。如果输入则输出进位的非和的非图5给出了标准CMOS加法器的和的电路图,图5中进位的非与和的非的逻辑表达式分别为:
对于“加-比较-选择”中的“加”运算,利用全加器的对偶特性,即非的输入产生相反输出的特点,用图5所示全法器构建图6所示改进型行波进位加法器。图6中A0~8为路径度量和B0~5为分支度量。图6中第n级与的逻辑表达式可分别表示如下:
图6所示改进型行波进位加法器的进位链路为与图4相比,图6中“加”运算进位链路延时与路径度量位宽同样呈线性关系,但是图6中“加”运算进位链路延时减少为9tadder-9tinv,其中9tadder表示图4所示行波进位加法器的传播延时,9tinv表示9个反相器的传输延时。
传统结构中“比较”运算必须等待“加”运算结束之后,从最高位(MSB)开始进行比较,一直比较到最低位,才比较出结果。
无符号A-B运算可转化为其中表示B的非。如果进位C为1,说明B≤A,反之说明B>A。因此“比较”运算可通过“加”运算来实现,并依据最高位的进位Cout来判断A与B的大小关系。图7为本发明提出的“比较”运算示意图,图中第n级的进位逻辑表达式可表示如下:
本发明所涉及的网格图及状态转移图分别见图8(a),8(b)所示。假定当前状态为St0,如果输入的期望值为0,则下一个状态为St0,如果输入的期望值为1,则下一个状态为St1。假定当前状态为St1,如果输入的期望值为0,则下一个状态为St2,如果输入的期望值为1,则下一个状态为St3。假定当前状态为St2,如果输入的期望值为0,则下一个状态为St4,如果输入的期望值为1,则下一个状态为St5。假定当前状态为St3,如果输入的期望值为0,则下一个状态为St6,如果输入的期望值为1,则下一个状态为St7。假定当前状态为St4,如果输入的期望值为0,则下一个状态为St0,如果输入的期望值为1,则下一个状态为St1。假定当前状态为St5,如果输入的期望值为0,则下一个状态为St2,如果输入的期望值为1,则下一个状态为St3。假定当前状态为St6,如果输入的期望值为0,则下一个状态为St4,如果输入的期望值为1,则下一个状态为St5。假定当前状态为St7,如果输入的期望值为0,则下一个状态为St6,如果输入的期望值为1,则下一个状态为St7。
对于状态St0,能转入状态St0的状态为St0和St4;对于状态St1,能转入状态St1的状态为St0和St4;对于状态St2,能转入状态St2的状态为St1和St5;对于状态St3,能转入状态St3的状态为St1和St5;对于状态St4,能转入状态St4的状态为St2和St6;对于状态St5,能转入状态St5的状态为St2和St6;对于状态St6,能转入状态St6的状态为St3和St7;对于状态St7,能转入状态St7的状态为St3和St7;
以状态St0为例说明本文发明的并行加比选过程。采用图6所示9位行波进位加法器构建第一条路径901和第二条路径902,采用图7所示9位行波进位比较器构建第三条路径903。第一条路径901为计算路径度量路径,即加路径,计算路径度量PM0[8:0]与分支度量BM0[5:0]的和。第二条路径902为计算路径度量路径,即加路径,计算路径度量PM4[8:0]与分支度量BM4[5:0]的和。第三条路径903为比较路径,对第一条路径901和第二条路径902的结果进行比较。最后依据第三条路径903的比较结果,多路选择器输出幸存的路径度量和判决信息。第一条路径901、第二条路径902和第三条路径903为并行执行。
具体地,参照图9,第一条路径(加路径)901主要过程为:从路径度量PM0的低位PM0[0],与分支度量BM0的低位BM0[0]开始逐位相加,到高位依次完成PM0[6]与0相加,PM0[7]与0相加,PM0[8]与0相加。第一条路径901更新后的路径度量为[S018 S017 S016 S015 S014 S013S012 S011 S010]。第一条路径901的进位链路为
第二条路径(加路径)902主要过程为:从路径度量PM4的低位PM4[0],分支度量BM4的低位BM4[0]开始逐位相加,到高位依次完成PM4[6]与0相加,PM4[7]与0相加,PM4[8]与0相加。第二条路径902更新后的路径度量为[S028 S027S026 S025 S024 S023 S022 S021 S020]。第二条路径902的进位链路为
第三条路径(比较路径)903主要过程为:一旦第一条路径901的低位PM0[0]+BM4[0]和第二条路径902的低位PM4[0]+BM4[0]运算结束,就从低位S010和S020开始比较,直到最高位S018和S028比较结束。第三条路径903的进位链路为
“选”的过程为:依据对第一条路径901更新后的路径度量[S018 S017 S016S015 S014S013 S012 S011 S010]和第二条路径902更新后的路径度量[S028 S027 S026 S025 S024S023 S022S021 S020]进行选择,并输出路径判决信息。若为1,则幸存的路径度量为[S028 S027 S026S025 S024 S023 S022 S021 S020],如果为0,则幸存的路径度量为[S018 S017 S016 S015 S014S013 S012 S011 S010]。依据图8(a)所示网格图,输出判决的信息为0。
根据以上描述,本发明的并行的“加-比较-选择”具有如下优点:
(1)缩短了“加-比较-选择”中“加-比较”运算的长度。将传统的“比较”运算改为“加法”运算来实现。改进后,“比较”运算与“加”运算顺序一致,都从最低位开始,延进位链直到最高位结束。
(2)传统“加-比较-选择”的执行顺序为加->比较->选择,改进后的执行顺序为加(比较)->选择。加与比较同时执行,即一旦“加法”运算的最低位运算完成,“比较”运算也立即从最低位开始,直至“加”与“比较”的最高位运算结束。
(3)传统9位行波进位加法器的进位链路为C0->C1->C2->C3->C4->C5->C6->C7->C8。改进后9位行波进位加法器的进位链路为该路径缩短了进位的传播延迟,并降低了消耗的晶体管数目。
(4)与传统Viterbi译码器方案相比,本发明在比特层,实现了“加”与“比较”的并行,缩短了进位链路的长度,节省了硬件资源,提高了系统时钟频率。
图9中并行“加-比较-选择”采用的多位加法器类型为行波进位加法器。在并行“加-比较-选择”中,行波进位加法器与其它类型加法器如超前进位加法器、进位保留加法器相比,有如下优点:
(1)虽然超前进位加法器(CLA)是最快的加法器,但其延时是随着字长按指数增加,并且“加-比较-选择”的“比较”运算并不能在“加法”运算结束之前进行。而行波进位加法器的“比较”运算能够在“加法”运算结束之前就开始,因此采用行波进位加法器能够实现“加法”与“比较”运算的并行。此外,超前进位加法器(CLA)消耗的晶体管数目、芯片面积和功耗是行波进位加法器的两倍。
(2)进位保留加法器中主要优点是可以消除进位链,其进位并不是从最低位传递到最高位,计算出的每一个进位都会被保留,而比较是从最高位开始,考虑到保留的进位,进位保留加法器的比较过于复杂。行波进位加法器实现了加运算与比较运算的并行处理,加和减法都从最低位开始计算,一旦最低位的和被计算出来,就可以用于比较。
以上描述实施例,是对本发明的技术方案做了进一步详细说明,但是应当认识到,上述所描述的实施例只是说明本发明,并不构成对本发明的限制。对于本领域的专业技术人员来讲,对上述实施方式所作的各种修改都属于发明的实质和范围之内。
Claims (6)
1.一种维特比译码器并行加比选处理方法,其特征在于:第一条路径,从低位开始,逐位计算路径为路径度量PM0[8:0]与分支度量BM0[5:0]的和,到计算出路径度量高位与分支度量高位的和结束;第二条路径,从低位开始,逐位计算路径度量PM4[8:0]与分支度量BM4[5:0]和的,到计算出路径度量高位与分支度量高位的和结束;第三条路径,一旦第一条路径最低位的和与第二条路径最低位的和计算出来,就从开始对第一条路径最低位的和与第二条路径最低位的和进行比较;最后依据第三条路径最高的进位信息,对第一条路径计算出的新路径度量和第二条路径计算出的新路径度量进行选择操作;如果第三条路径最高位进位逻辑的非为1,则多路选择器输出的幸存路径度量为第二条路径计算出的新路径度量,输出的路径判决信息为1;如果第三条路径最高位进位逻辑的非为0,则多路选择器输出的幸存路径度量为第一条路径计算出的新路径度量,输出的路径判决信息为0。
2.根据权利要求1所述的一种维特比译码器并行加比选处理方法,其特征在于:所述的第一条路径和第二条路径均需要运算8位,一旦第一条路径最低位的和与第二条路径最低位的和计算出来,第三条路径就开始执行,第三条路径与第一条路径、第二条路径相比只是慢了一个节拍,共8个节拍,总体讲,第三条路径与第一条路径、第二条路径之间属于并行执行关系。
3.根据权利要求1所述的一种维特比译码器并行加比选处理方法,其特征在于:所述第一条路径主要过程为:从路径度量PM0的低位PM0[0]与分支度量BM0的低位BM0[0]开始相加,到高位依次完成PM0[6]与0相加,PM0[7]与0相加,PM0[8]与0相加;第一条路径更新后的路径度量为:[S018 S017 S016 S015 S014 S013 S012 S011 S010]整体表示更新后路径度量,路径度量的每一位均是通过加法器得到,在加法器中,S表示和,C表示进位,其中,S010为0、PM0[0]、BM0[0]相加的和,S011为PM0[1]、BM0[1]相加的和,S012为C011、PM0[2]、BM0[2]相加的和,S013为PM0[3]、BM0[3]相加的和,S014为C013、PM0[4]、BM0[4]相加的和,S015为PM0[5]、BM0[5]相加的和,S016为C015、PM0[6]、0相加的和,S017为PM0[7]、0相加的和,S018为C017、PM0[8]、0相加的和,为C010的逻辑非,为C012的逻辑非,为C014的逻辑非,为C016的逻辑非,为C018的逻辑非;第一条路径的进位链路为其中为0、PM0[0]、BM0[0]相加进位C010的逻辑非,C011为PM0[1]、BM0[1]相加的进位,为C011、PM0[2]、BM0[2]相加进位C012的逻辑非,C013为PM0[3]、BM0[3]相加的进位,为C013、PM0[4]、BM0[4]相加进位C014的逻辑非,C015为PM0[5]、BM0[5]相加的进位,为C015、PM0[6]、0相加进位C016的逻辑非,C017为PM0[7]、0相加的进位,为C017、PM0[8]、0相加进位C018的逻辑非。
4.根据权利要求1所述的一种维特比译码器并行加比选处理方法,其特征在于:所述第二条路径主要过程为:从路径度量PM4的低位PM4[0]与分支度量BM4的低位BM4[0]开始相加,到高位依次完成PM4[6]与0相加,PM4[7]与0相加,PM4[8]与0相加;第二条路径更新后的路径度量为:[S028 S027 S026 S025 S024 S023 S022 S021 S020],整体表示更新后路径度量,路径度量的每一位均是通过加法器得到,在加法器中,S表示和,C表示进位,其中S020为0、PM4[0]、BM4[0]相加的和,S021为PM4[1]、BM4[1]相加的和,S022为C021、PM4[2]、BM4[2]相加的和,S023为PM4[3]、BM4[3]相加的和,S024为C023、PM4[4]、BM4[4]相加的和,S025为PM4[5]、BM4[5]相加的和,S026为C025、PM4[6]、0相加的和,S027为PM4[7]、0相加的和,S028为C027、PM4[8]、0相加的和,为C020的逻辑非,为C022的逻辑非,为C024的逻辑非,为C026的逻辑非,为C028的逻辑非;第二条路径的进位链路为其中为0、PM4[0]、BM4[0]相加进位C020的逻辑非,C021为PM4[1]、BM4[1]相加的进位,为C021、PM4[2]、BM4[2]相加进位C022的逻辑非,C023为PM4[3]、BM4[3]相加的进位,为C023、PM4[4]、BM4[4]相加进位C024的逻辑非,C025为PM4[5]、BM4[5]相加的进位,为C025、PM4[6]、0相加进位C026的逻辑非,C027为PM4[7]、0相加的进位,为C027、PM4[8]、0相加进位C028的逻辑非。
5.根据权利要求1所述的一种维特比译码器并行加比选处理方法,其特征在于:所述第三条路径主要过程为:当第一条路径的低位PM0[0]+BM4[0]和第二条路径的低位PM4[0]+BM4[0]运算结束,就立即就从低位S010和S020开始比较,直到最高位S018和S028比较结束;第三条路径的进位链路为其中为1、S020相加进位C030的逻辑非,C031为S011、相加的进位,为C031、S022相加进位C032的逻辑非,C033为S013、相加的进位,为C033、S024相加进位C034的逻辑非,C035为S015、相加的进位,为C035、S026相加进位C036的逻辑非,C037为S017、相加的进位,为C037、S028相加进位C038的逻辑非,为C030的逻辑非,为C032的逻辑非,为C034的逻辑非,为C036的逻辑非,为C038的逻辑非,为S010的逻辑非,为S021的逻辑非,为S012的逻辑非,为S023的逻辑非,为S014的逻辑非,为S025的逻辑非,为S016的逻辑非,为S027的逻辑非,为S018的逻辑非。
6.根据权利要求1所述的一种维特比译码器并行加比选处理方法,其特征在于:所述选择操作的过称为:依据对第一条路径更新后的路径度量[S018 S017S016 S015 S014 S013S012 S011 S010]和第二条路径更新后的路径度量[S028 S027 S026 S025 S024S023 S022 S021 S020]进行选择,并输出路径判决信息;若为1,则幸存的路径度量为[S028 S027 S026 S025 S024S023 S022 S021 S020],输出的路径判决信息为1。如果为0,则幸存的路径度量为[S018 S017S016 S015 S014 S013 S012 S011 S010];输出的路径判决信息为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911361968.6A CN111030711B (zh) | 2019-12-25 | 2019-12-25 | 一种维特比译码器并行加比选处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911361968.6A CN111030711B (zh) | 2019-12-25 | 2019-12-25 | 一种维特比译码器并行加比选处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111030711A true CN111030711A (zh) | 2020-04-17 |
CN111030711B CN111030711B (zh) | 2023-06-16 |
Family
ID=70213543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911361968.6A Active CN111030711B (zh) | 2019-12-25 | 2019-12-25 | 一种维特比译码器并行加比选处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111030711B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149599A (zh) * | 2023-03-30 | 2023-05-23 | 杭州雄迈集成电路技术股份有限公司 | 一种分步进位处理方法、系统、加法器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10336045A (ja) * | 1997-06-04 | 1998-12-18 | Sharp Corp | ビタビ復号器 |
CN101098150A (zh) * | 2006-06-27 | 2008-01-02 | 中兴通讯股份有限公司 | 一种实现维特比译码路径度量归一化的方法 |
KR20110025433A (ko) * | 2009-09-04 | 2011-03-10 | 인하대학교 산학협력단 | 슬라이딩 방법을 이용한 uwb용 고속 비터비 디코더 및 이를 이용한 디코딩 방법 |
CN102064839A (zh) * | 2009-11-11 | 2011-05-18 | 中国科学院微电子研究所 | 一种高速低功耗多码率的Viterbi译码器 |
CN102723959A (zh) * | 2012-05-31 | 2012-10-10 | 中兴通讯股份有限公司 | 维特比译码器、多路并行译码器和加比选处理方法 |
JP2018207248A (ja) * | 2017-06-01 | 2018-12-27 | Necプラットフォームズ株式会社 | ビタビ復号装置、及び、ビタビ復号方法 |
-
2019
- 2019-12-25 CN CN201911361968.6A patent/CN111030711B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10336045A (ja) * | 1997-06-04 | 1998-12-18 | Sharp Corp | ビタビ復号器 |
CN101098150A (zh) * | 2006-06-27 | 2008-01-02 | 中兴通讯股份有限公司 | 一种实现维特比译码路径度量归一化的方法 |
KR20110025433A (ko) * | 2009-09-04 | 2011-03-10 | 인하대학교 산학협력단 | 슬라이딩 방법을 이용한 uwb용 고속 비터비 디코더 및 이를 이용한 디코딩 방법 |
CN102064839A (zh) * | 2009-11-11 | 2011-05-18 | 中国科学院微电子研究所 | 一种高速低功耗多码率的Viterbi译码器 |
CN102723959A (zh) * | 2012-05-31 | 2012-10-10 | 中兴通讯股份有限公司 | 维特比译码器、多路并行译码器和加比选处理方法 |
JP2018207248A (ja) * | 2017-06-01 | 2018-12-27 | Necプラットフォームズ株式会社 | ビタビ復号装置、及び、ビタビ復号方法 |
Non-Patent Citations (2)
Title |
---|
SHAOWEI HUANG: "Add-select-delay-compare Viterbi decoder for UWB communications in electronic power systems" * |
淦星星: "TCM的全并行维特比译码器的设计及实现" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149599A (zh) * | 2023-03-30 | 2023-05-23 | 杭州雄迈集成电路技术股份有限公司 | 一种分步进位处理方法、系统、加法器 |
CN116149599B (zh) * | 2023-03-30 | 2023-08-08 | 杭州雄迈集成电路技术股份有限公司 | 一种分步进位处理方法、系统、加法器 |
Also Published As
Publication number | Publication date |
---|---|
CN111030711B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8205145B2 (en) | High-speed add-compare-select (ACS) circuit | |
US5027374A (en) | Bit serial Viterbi decoder add/compare/select array | |
US4614933A (en) | Viterbi decoder with the pipeline processing function | |
US6070263A (en) | Circuit for use in a Viterbi decoder | |
EP2339757B1 (en) | Power-reduced preliminary decoded bits in viterbi decoder | |
US20040177304A1 (en) | Fast bit-parallel viterbi decoder add-compare-select circuit | |
US20070113161A1 (en) | Cascaded radix architecture for high-speed viterbi decoder | |
EP3996285A1 (en) | Parallel backtracking in viterbi decoder | |
CN111030711B (zh) | 一种维特比译码器并行加比选处理方法 | |
Kuang et al. | A low-power codeword-based Viterbi decoder with fine-grained error detection and correction techniques | |
Arun et al. | Design and VLSI implementation of a Low Probability of Error Viterbi decoder | |
US7120851B2 (en) | Recursive decoder for switching between normalized and non-normalized probability estimates | |
CN102723959A (zh) | 维特比译码器、多路并行译码器和加比选处理方法 | |
Sugur et al. | Design and implementation of high throughput and area efficient hard decision viterbi decoder in 65nm technology | |
Karim et al. | An area reduced, speed optimized implementation of Viterbi decoder | |
US7020831B2 (en) | Pipelined add-compare-select circuits and methods, and applications thereof | |
WO2007117965A1 (en) | Scheduling pipelined state update for high-speed trellis processing | |
Rashid et al. | Pruning the algorithm complexity of the Add-Compare Select Unit (ACSU) for the Viterbi Decoder-A Review | |
WO2007016871A1 (fr) | Decodeur viterbi et procede pour determiner la largeur de bits de donnees de l'unite ajout-comparaison-selection du decodeur | |
Bourichi | A low power parallel sequential decoder for convolutional codes | |
JPH07245567A (ja) | ビタビ復号演算装置 | |
Shim et al. | Pipelined VLSI architecture of the Viterbi decoder for IMT-2000 | |
Parhi | Novel pipelining of MSB-first add-compare select unit structure for Viterbi decoders | |
US7779339B2 (en) | ACS circuit | |
Jyothula et al. | DESIGN OF HIGH THROUGHPUT ADD COMPARE AND SELECT UNIT FOR LOW POWER VITERBI DECODER |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
OL01 | Intention to license declared |