CN111030711B - 一种维特比译码器并行加比选处理方法 - Google Patents

一种维特比译码器并行加比选处理方法 Download PDF

Info

Publication number
CN111030711B
CN111030711B CN201911361968.6A CN201911361968A CN111030711B CN 111030711 B CN111030711 B CN 111030711B CN 201911361968 A CN201911361968 A CN 201911361968A CN 111030711 B CN111030711 B CN 111030711B
Authority
CN
China
Prior art keywords
path
carry
addition
logic
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.)
Active
Application number
CN201911361968.6A
Other languages
English (en)
Other versions
CN111030711A (zh
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.)
Jishou University
Original Assignee
Jishou University
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 Jishou University filed Critical Jishou University
Priority to CN201911361968.6A priority Critical patent/CN111030711B/zh
Publication of CN111030711A publication Critical patent/CN111030711A/zh
Application granted granted Critical
Publication of CN111030711B publication Critical patent/CN111030711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing 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
Figure BDA0002335734140000031
PM0[1]、BM0[1]相加的和,S012为C011、PM0[2]、BM0[2]相加的和,S013为/>
Figure BDA0002335734140000032
PM0[3]、BM0[3]相加的和,S014为C013、PM0[4]、BM0[4]相加的和,S015为/>
Figure BDA0002335734140000033
PM0[5]、BM0[5]相加的和,S016为C015、PM0[6]、0相加的和,S017为/>
Figure BDA0002335734140000041
PM0[7]、0相加的和,S018为C017、PM0[8]、0相加的和,/>
Figure BDA0002335734140000042
为C010的逻辑非,/>
Figure BDA0002335734140000043
为C012的逻辑非,/>
Figure BDA0002335734140000044
为C014的逻辑非,/>
Figure BDA0002335734140000045
为C016的逻辑非,/>
Figure BDA0002335734140000046
为C018的逻辑非;第一条路径的进位链路为
Figure BDA0002335734140000047
其中/>
Figure BDA0002335734140000048
为0、PM0[0]、BM0[0]相加进位C010的逻辑非,C011为/>
Figure BDA0002335734140000049
PM0[1]、BM0[1]相加的进位,/>
Figure BDA00023357341400000410
为C011、PM0[2]、BM0[2]相加进位C012的逻辑非,C013为/>
Figure BDA00023357341400000411
PM0[3]、BM0[3]相加的进位,/>
Figure BDA00023357341400000412
为C013、PM0[4]、BM0[4]相加进位C014的逻辑非,C015为/>
Figure BDA00023357341400000414
PM0[5]、BM0[5]相加的进位,/>
Figure BDA00023357341400000415
为C015、PM0[6]、0相加进位C016的逻辑非,C017为/>
Figure BDA00023357341400000416
PM0[7]、0相加的进位,/>
Figure BDA00023357341400000417
为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
Figure BDA00023357341400000418
PM4[1]、BM4[1]相加的和,S022为C021、PM4[2]、BM4[2]相加的和,S023为/>
Figure BDA00023357341400000419
PM4[3]、BM4[3]相加的和,S024为C023、PM4[4]、BM4[4]相加的和,S025为/>
Figure BDA00023357341400000420
PM4[5]、BM4[5]相加的和,S026为C025、PM4[6]、0相加的和,S027为/>
Figure BDA00023357341400000421
PM4[7]、0相加的和,S028为C027、PM4[8]、0相加的和,/>
Figure BDA00023357341400000422
为C020的逻辑非,/>
Figure BDA00023357341400000423
为C022的逻辑非,
Figure BDA00023357341400000424
为C024的逻辑非,/>
Figure BDA00023357341400000425
为C026的逻辑非,/>
Figure BDA00023357341400000426
为C028的逻辑非;第二条路径的进位链路为
Figure BDA00023357341400000427
其中/>
Figure BDA00023357341400000428
为0、PM4[0]、BM4[0]相加进位C020的逻辑非,C021为/>
Figure BDA00023357341400000429
PM4[1]、BM4[1]相加的进位,/>
Figure BDA0002335734140000051
为C021、PM4[2]、BM4[2]相加进位C022的逻辑非,C023为/>
Figure BDA0002335734140000052
PM4[3]、BM4[3]相加的进位,/>
Figure BDA0002335734140000053
为C023、PM4[4]、BM4[4]相加进位C024的逻辑非,C025为/>
Figure BDA0002335734140000054
PM4[5]、BM4[5]相加的进位,/>
Figure BDA0002335734140000055
为C025、PM4[6]、0相加进位C026的逻辑非,C027为/>
Figure BDA0002335734140000056
PM4[7]、0相加的进位,/>
Figure BDA0002335734140000057
为C027、PM4[8]、0相加进位C028的逻辑非。
所述第三条路径主要过程为:当第一条路径的低位PM0[0]+BM4[0]和第二条路径的低位PM4[0]+BM4[0]运算结束,就立即就从低位S010和S020开始比较,直到最高位S018和S028比较结束;第三条路径的进位链路为
Figure BDA0002335734140000058
其中/>
Figure BDA0002335734140000059
为1、/>
Figure BDA00023357341400000510
S020相加进位C030的逻辑非,C031为/>
Figure BDA00023357341400000511
S011、/>
Figure BDA00023357341400000512
相加的进位,/>
Figure BDA00023357341400000513
为C031、/>
Figure BDA00023357341400000514
S022相加进位C032的逻辑非,C033为/>
Figure BDA00023357341400000515
S013、/>
Figure BDA00023357341400000516
相加的进位,/>
Figure BDA00023357341400000517
为C033、/>
Figure BDA00023357341400000518
S024相加进位C034的逻辑非,C035为/>
Figure BDA00023357341400000519
S015、/>
Figure BDA00023357341400000520
相加的进位,/>
Figure BDA00023357341400000521
为C035、/>
Figure BDA00023357341400000522
S026相加进位C036的逻辑非,C037为/>
Figure BDA00023357341400000523
S017、/>
Figure BDA00023357341400000524
相加的进位,/>
Figure BDA00023357341400000525
为C037、/>
Figure BDA00023357341400000526
S028相加进位C038的逻辑非,/>
Figure BDA00023357341400000527
为C030的逻辑非,/>
Figure BDA00023357341400000528
为C032的逻辑非,/>
Figure BDA00023357341400000529
为C034的逻辑非,/>
Figure BDA00023357341400000530
为C036的逻辑非,/>
Figure BDA00023357341400000531
为C038的逻辑非,/>
Figure BDA00023357341400000532
为S010的逻辑非,/>
Figure BDA00023357341400000533
为S021的逻辑非,/>
Figure BDA00023357341400000534
为S012的逻辑非,/>
Figure BDA00023357341400000535
为S023的逻辑非,/>
Figure BDA00023357341400000536
为S014的逻辑非,/>
Figure BDA00023357341400000537
为S025的逻辑非,/>
Figure BDA00023357341400000538
为S016的逻辑非,/>
Figure BDA00023357341400000539
为S027的逻辑非,
Figure BDA00023357341400000540
为S018的逻辑非。
所述选择操作的过称为:依据
Figure BDA00023357341400000541
对第一条路径更新后的路径度量[S018 S017S016S015 S014 S013 S012 S011 S010]和第二条路径更新后的路径度量[S028 S027 S026 S025 S024S023S022 S021 S020]进行选择,并输出路径判决信息;若/>
Figure BDA00023357341400000542
为1,则幸存的路径度量为[S028 S027S026 S025 S024 S023 S022 S021 S020],输出的路径判决信息为1。如果/>
Figure BDA00023357341400000543
为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位行波进位加法器的进位链路为
Figure BDA0002335734140000061
该路径有效地缩短了进位的传播延迟,并降低了消耗的晶体管数目。
(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]。第一条路径的进位链路为
Figure BDA0002335734140000071
第二条路径(比较路径)主要过程为:从路径度量PM4的低位PM4[0]分支度量BM4的低位BM4[0]开始逐位相加,到高位依次完成PM4[6]与0相加,PM4[7]与0相加,PM4[8]与0相加。第二条路径更新后的路径度量为[S028 S027 S026 S025 S024S023 S022 S021 S020]。第二条路径的进位链路为
Figure BDA0002335734140000072
第三条路径(比路径)主要过程为:一旦第一条路径的低位PM0[0]+BM4[0]和第二条路径的低位PM4[0]+BM4[0]运算结束,就从低位S010和S020开始比较,直到最高位S018和S028比较结束。第三条路径的进位链路为
Figure BDA0002335734140000073
“选”的过程为:依据
Figure BDA0002335734140000081
对第一条路径更新后的路径度量[S018 S017 S016 S015S014S013 S012 S011 S010]和第二条路径更新后的路径度量[S028 S027 S026 S025 S024 S023 S022S021S020]进行选择,并输出路径判决信息。若/>
Figure BDA0002335734140000082
为1,则幸存的路径度量为[S028S027 S026 S025S024 S023 S022 S021 S020],如果/>
Figure BDA0002335734140000083
为0,则幸存的路径度量为[S018 S017 S016S015 S014 S013S012 S011 S010]。依据网格图,输出路径判决的信息为0。
图3为标准CMOS全加器电路,图中A,B,C为输入信号,进位Cout,和S为输出信号,其中进位Cout的逻辑表达式为:
Figure BDA0002335734140000084
和S的逻辑表达式为:
Figure BDA0002335734140000085
图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的逻辑表达式分别表示如下:
Figure BDA0002335734140000086
Figure BDA0002335734140000087
图4中,“加”运算的延时与路径度量位宽呈线性关系。为了提高ACS环路的工作速度,行波进位加法器进位的传播路径应该最短。
全加器是自对偶相关函数,即非的输入产生非的输出。例如输入A,B,Cin,输出进位Cout,和S。如果输入
Figure BDA0002335734140000088
则输出进位的非/>
Figure BDA0002335734140000089
和的非/>
Figure BDA00023357341400000810
图5给出了标准CMOS加法器的/>
Figure BDA00023357341400000811
和/>
Figure BDA00023357341400000812
的电路图,图5中进位的非/>
Figure BDA00023357341400000813
与和的非/>
Figure BDA0002335734140000091
的逻辑表达式分别为:
Figure BDA0002335734140000092
Figure BDA0002335734140000093
对于“加-比较-选择”中的“加”运算,利用全加器的对偶特性,即非的输入产生相反输出的特点,用图5所示全法器构建图6所示改进型行波进位加法器。图6中A0~8为路径度量和B0~5为分支度量。图6中第n级
Figure BDA0002335734140000094
与/>
Figure BDA0002335734140000095
的逻辑表达式可分别表示如下:
Figure BDA0002335734140000096
Figure BDA0002335734140000097
图6所示改进型行波进位加法器的进位链路为
Figure BDA0002335734140000098
与图4相比,图6中“加”运算进位链路延时与路径度量位宽同样呈线性关系,但是图6中“加”运算进位链路延时减少为9tadder-9tinv,其中9tadder表示图4所示行波进位加法器的传播延时,9tinv表示9个反相器的传输延时。
传统结构中“比较”运算必须等待“加”运算结束之后,从最高位(MSB)开始进行比较,一直比较到最低位,才比较出结果。
无符号A-B运算可转化为
Figure BDA0002335734140000099
其中/>
Figure BDA00023357341400000910
表示B的非。如果进位C为1,说明B≤A,反之说明B>A。因此“比较”运算可通过“加”运算来实现,并依据最高位的进位Cout来判断A与B的大小关系。图7为本发明提出的“比较”运算示意图,图中第n级的进位逻辑表达式可表示如下:
Figure BDA00023357341400000911
图7中进位链路为
Figure BDA00023357341400000912
该方法改变了传统“比较”运算的执行顺序,不再是从最高位开始比较,到最低位比较结束。而是从最低位开始,沿着进位链到最高位结束。
本发明所涉及的网格图及状态转移图分别见图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 S013 S012 S011 S010]。第一条路径901的进位链路为
Figure BDA0002335734140000111
第二条路径(加路径)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的进位链路为
Figure BDA0002335734140000112
第三条路径(比较路径)903主要过程为:一旦第一条路径901的低位PM0[0]+BM4[0]和第二条路径902的低位PM4[0]+BM4[0]运算结束,就从低位S010和S020开始比较,直到最高位S018和S028比较结束。第三条路径903的进位链路为
Figure BDA0002335734140000113
“选”的过程为:依据
Figure BDA0002335734140000114
对第一条路径901更新后的路径度量[S018 S017 S016S015S014 S013 S012 S011 S010]和第二条路径902更新后的路径度量[S028 S027 S026 S025 S024S023S022 S021 S020]进行选择,并输出路径判决信息。若/>
Figure BDA0002335734140000115
为1,则幸存的路径度量为[S028 S027S026 S025 S024 S023 S022 S021 S020],如果/>
Figure BDA0002335734140000116
为0,则幸存的路径度量为[S018 S017 S016 S015S014 S013 S012 S011 S010]。依据图8(a)所示网格图,输出判决的信息为0。
根据以上描述,本发明的并行的“加-比较-选择”具有如下优点:
(1)缩短了“加-比较-选择”中“加-比较”运算的长度。将传统的“比较”运算改为“加法”运算来实现。改进后,“比较”运算与“加”运算顺序一致,都从最低位开始,延进位链直到最高位结束。
(2)传统“加-比较-选择”的执行顺序为加->比较->选择,改进后的执行顺序为加(比较)->选择。加与比较同时执行,即一旦“加法”运算的最低位运算完成,“比较”运算也立即从最低位开始,直至“加”与“比较”的最高位运算结束。
(3)传统9位行波进位加法器的进位链路为C0->C1->C2->C3->C4->C5->C6->C7->C8。改进后9位行波进位加法器的进位链路为
Figure BDA0002335734140000117
该路径缩短了进位的传播延迟,并降低了消耗的晶体管数目。
(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
Figure FDA0004224343110000011
PM0[1]、BM0[1]相加的和,S012为C011、PM0[2]、BM0[2]相加的和,S013
Figure FDA0004224343110000012
PM0[3]、BM0[3]相加的和,S014为C013、PM0[4]、BM0[4]相加的和,S015为/>
Figure FDA0004224343110000013
PM0[5]、BM0[5]相加的和,S016为C015、PM0[6]、0相加的和,S017为/>
Figure FDA0004224343110000014
PM0[7]、0相加的和,S018为C017、PM0[8]、0相加的和,/>
Figure FDA0004224343110000021
为C010的逻辑非,/>
Figure FDA0004224343110000022
为C012的逻辑非,/>
Figure FDA0004224343110000023
为C014的逻辑非,/>
Figure FDA0004224343110000024
为C016的逻辑非,/>
Figure FDA0004224343110000025
为C018的逻辑非;第一条路径的进位链路为/>
Figure FDA0004224343110000026
Figure FDA0004224343110000027
其中/>
Figure FDA0004224343110000028
为0、PM0[0]、BM0[0]相加进位C010的逻辑非,C011为/>
Figure FDA0004224343110000029
PM0[1]、BM0[1]相加的进位,/>
Figure FDA00042243431100000210
为C011、PM0[2]、BM0[2]相加进位C012的逻辑非,C013为/>
Figure FDA00042243431100000211
PM0[3]、BM0[3]相加的进位,/>
Figure FDA00042243431100000212
为C013、PM0[4]、BM0[4]相加进位C014的逻辑非,C015为/>
Figure FDA00042243431100000213
PM0[5]、BM0[5]相加的进位,/>
Figure FDA00042243431100000214
为C015、PM0[6]、0相加进位C016的逻辑非,C017为/>
Figure FDA00042243431100000215
PM0[7]、0相加的进位,/>
Figure FDA00042243431100000216
为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
Figure FDA00042243431100000217
PM4[1]、BM4[1]相加的和,S022为C021、PM4[2]、BM4[2]相加的和,S023为/>
Figure FDA00042243431100000218
PM4[3]、BM4[3]相加的和,S024为C023、PM4[4]、BM4[4]相加的和,S025为/>
Figure FDA00042243431100000219
PM4[5]、BM4[5]相加的和,S026为C025、PM4[6]、0相加的和,S027为/>
Figure FDA00042243431100000220
PM4[7]、0相加的和,S028为C027、PM4[8]、0相加的和,/>
Figure FDA00042243431100000221
为C020的逻辑非,/>
Figure FDA00042243431100000222
为C022的逻辑非,/>
Figure FDA00042243431100000223
为C024的逻辑非,/>
Figure FDA00042243431100000224
为C026的逻辑非,/>
Figure FDA00042243431100000225
为C028的逻辑非;第二条路径的进位链路为
Figure FDA00042243431100000226
其中/>
Figure FDA00042243431100000227
为0、PM4[0]、BM4[0]相加进位C020的逻辑非,C021为/>
Figure FDA00042243431100000228
PM4[1]、BM4[1]相加的进位,/>
Figure FDA00042243431100000229
为C021、PM4[2]、BM4[2]相加进位C022的逻辑非,C023为/>
Figure FDA00042243431100000230
PM4[3]、BM4[3]相加的进位,/>
Figure FDA00042243431100000231
为C023、PM4[4]、BM4[4]相加进位C024的逻辑非,C025为/>
Figure FDA00042243431100000232
PM4[5]、BM4[5]相加的进位,/>
Figure FDA00042243431100000233
为C025、PM4[6]、0相加进位C026的逻辑非,C027为/>
Figure FDA00042243431100000234
PM4[7]、0相加的进位,/>
Figure FDA00042243431100000235
为C027、PM4[8]、0相加进位C028的逻辑非。
5.根据权利要求1所述的一种维特比译码器并行加比选处理方法,其特征在于:所述第三条路径主要过程为:当第一条路径的低位PM0[0]+BM4[0]和第二条路径的低位PM4[0]+BM4[0]运算结束,就立即就从低位S010和S020开始比较,直到最高位S018和S028比较结束;第三条路径的进位链路为
Figure FDA0004224343110000031
Figure FDA0004224343110000032
其中/>
Figure FDA0004224343110000033
为1、
Figure FDA0004224343110000034
S020相加进位C030的逻辑非,C031为/>
Figure FDA0004224343110000035
S011、/>
Figure FDA0004224343110000036
相加的进位,/>
Figure FDA0004224343110000037
为C031、/>
Figure FDA0004224343110000038
S022相加进位C032的逻辑非,C033为/>
Figure FDA0004224343110000039
S013、/>
Figure FDA00042243431100000310
相加的进位,/>
Figure FDA00042243431100000311
为C033、/>
Figure FDA00042243431100000312
S024相加进位C034的逻辑非,C035为/>
Figure FDA00042243431100000313
S015、/>
Figure FDA00042243431100000314
相加的进位,/>
Figure FDA00042243431100000315
为C035、/>
Figure FDA00042243431100000316
S026相加进位C036的逻辑非,C037
Figure FDA00042243431100000317
S017、/>
Figure FDA00042243431100000318
相加的进位,/>
Figure FDA00042243431100000319
为C037、/>
Figure FDA00042243431100000320
S028相加进位C038的逻辑非,/>
Figure FDA00042243431100000321
为C030的逻辑非,
Figure FDA00042243431100000322
为C032的逻辑非,/>
Figure FDA00042243431100000323
为C034的逻辑非,/>
Figure FDA00042243431100000324
为C036的逻辑非,/>
Figure FDA00042243431100000325
为C038的逻辑非,/>
Figure FDA00042243431100000326
为S010的逻辑非,/>
Figure FDA00042243431100000327
为S021的逻辑非,/>
Figure FDA00042243431100000328
为S012的逻辑非,/>
Figure FDA00042243431100000329
为S023的逻辑非,/>
Figure FDA00042243431100000330
为S014的逻辑非,/>
Figure FDA00042243431100000331
为S025的逻辑非,/>
Figure FDA00042243431100000332
为S016的逻辑非,/>
Figure FDA00042243431100000333
为S027的逻辑非,/>
Figure FDA00042243431100000334
为S018的逻辑非。
6.根据权利要求1所述的一种维特比译码器并行加比选处理方法,其特征在于:所述选择操作的过称为:依据
Figure FDA00042243431100000335
对第一条路径更新后的路径度量
[S018 S017 S016 S015 S014 S013 S012 S011 S010]和第二条路径更新后的路径度量
[S028 S027 S026 S025 S024 S023 S022 S021 S020]进行选择,并输出路径判决信息;
Figure FDA00042243431100000336
为1,则幸存的路径度量为[S028S027 S026 S025 S024 S023 S022 S021 S020],输出的路径判决信息为1;如果/>
Figure FDA00042243431100000337
为0,则幸存的路径度量为[S018 S017 S016 S015 S014 S013 S012 S011S010];输出的路径判决信息为0。/>
CN201911361968.6A 2019-12-25 2019-12-25 一种维特比译码器并行加比选处理方法 Active CN111030711B (zh)

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 CN111030711A (zh) 2020-04-17
CN111030711B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149599B (zh) * 2023-03-30 2023-08-08 杭州雄迈集成电路技术股份有限公司 一种分步进位处理方法、系统、加法器

Citations (6)

* Cited by examiner, † Cited by third party
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プラットフォームズ株式会社 ビタビ復号装置、及び、ビタビ復号方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Shaowei Huang.Add-select-delay-compare Viterbi decoder for UWB communications in electronic power systems.《2014 IEEE International Conference on Communiction Problem-solving》.2015,第1-4页. *
淦星星. TCM的全并行维特比译码器的设计及实现.《航空电子技术》.2006,第16-20页. *

Also Published As

Publication number Publication date
CN111030711A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
US5027374A (en) Bit serial Viterbi decoder add/compare/select array
US8205145B2 (en) High-speed add-compare-select (ACS) circuit
US4614933A (en) Viterbi decoder with the pipeline processing function
KR20010027540A (ko) 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기
US7131055B2 (en) Fast bit-parallel Viterbi decoder add-compare-select circuit
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
US20070113161A1 (en) Cascaded radix architecture for high-speed viterbi decoder
CN111030711B (zh) 一种维特比译码器并行加比选处理方法
US11165446B1 (en) Parallel backtracking in Viterbi decoder
US7308640B2 (en) Low-latency architectures for high-throughput Viterbi decoders
US7698624B2 (en) Scheduling pipelined state update for high-speed trellis processing
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
Karim et al. An area reduced, speed optimized implementation of Viterbi decoder
Rashid et al. Pruning the algorithm complexity of the Add-Compare Select Unit (ACSU) for the Viterbi Decoder-A Review
US7020831B2 (en) Pipelined add-compare-select circuits and methods, and applications thereof
WO2007016871A1 (fr) Decodeur viterbi et procede pour determiner la largeur de bits de donnees de l'unite ajout-comparaison-selection du decodeur
KR101114667B1 (ko) 비터비 복호 장치 및 방법
Shim et al. Pipelined VLSI architecture of the Viterbi decoder for IMT-2000
Véstias High-Speed Viterbi Decoder
Bourichi A low power parallel sequential decoder for convolutional codes
JP3343217B2 (ja) 2ビットトレースバック符号化に対するビタビ比較・選択動作
Latha et al. Low-Power Adaptive Viterbi Decoder for TCM Using T-Algorithm
US7779339B2 (en) ACS circuit
KR20020072628A (ko) 고속 연판정 출력 비터비 복호기를 위한 경로 메트릭정규화 방법 및 장치

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