CN102761342A - 维特比译码器和维特比译码方法 - Google Patents
维特比译码器和维特比译码方法 Download PDFInfo
- Publication number
- CN102761342A CN102761342A CN2011101155063A CN201110115506A CN102761342A CN 102761342 A CN102761342 A CN 102761342A CN 2011101155063 A CN2011101155063 A CN 2011101155063A CN 201110115506 A CN201110115506 A CN 201110115506A CN 102761342 A CN102761342 A CN 102761342A
- Authority
- CN
- China
- Prior art keywords
- data
- decode
- state
- code element
- unit
- 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
本发明公开一种维特比译码器和维特比译码方法。所述维特比译码器包括:待译码数据管理器,用于将输入的待译码数据分配给多个维特比译码器单元;多个维特比译码器单元,每个维特比译码器单元用于对所分配的待译码数据独立地进行基于前向滑块方式的维特比译码,以得到所分配的待译码数据的译码数据,其中,每一个维特比译码器单元对应的待译码数据包括相继的同步块、译码块和回溯块;以及译码数据输出管理器,用于从所述多个维特比译码器单元接收相应的译码数据,并组合和输出译码数据。根据本发明的维特比译码器和维特比译码方法能够提供较高的译码速率和较高的硬件资源利用率。
Description
技术领域
本发明涉及通信领域中的卷积码译码技术,更具体而言,涉及一种维特比译码器(Viterbi decoder)和维特比译码方法。
背景技术
卷积码(convolution code)是信道编码技术的一种。相对于分组码,卷积码维持信道的记忆效应。卷积码将k个信息比特编成n个比特,但k和n通常很小,特别适合以串行形式进行传输,时延小。与分组码不同,卷积码编码后的n个码元不仅与当前段的k个信息有关,还与前面的N-1段信息有关。编码过程中互相关联的码元个数为nN,N称为卷积码的约束长度。卷积码是一种性能优良、硬件复杂度低的高效信道编码,其性能表现稳定,在很多通信系统中得到了应用。
目前最为常见的卷积码译码器为维特比译码器和序列译码器。维特比译码器在卷积码约束长度较小时(N<10),与序列译码器相比具有设计结构相对简单、计算速度快、效率高的优点,因此被广泛使用。
一般的维特比译码器由判决处理部分和回溯译码部分组成。判决处理部分的主要工作为状态度量值的计算、分支度量值的加法运算比较以及状态度量值的存储等,大体由分支度量单元(BMU,Branch metrics unit)110、加比选单元(ACSU,Add compare select unit)120和幸存路径管理单元(SMU,Survivor management unit)130三部分组成,如图1所示。接收到的待译码数据首先被送入分支度量单元110,以计算出相应的分支度量值。加比选单元120将旧的状态度量值与分支度量单元110新计算出的分支度量值相加,通过比较后选择到达同一编码寄存器状态的分支中使得相加后的状态度量值最小的一个分支来更新状态度量值。幸存路径管理单元130存储和管理加比选单元120产生的路径判决信息。这三部分构成单路维特比译码器的基本处理单元(PE,Processing Element),将待译码数据进行处理,最终得到路径判决信息,并存入缓存中。路径判决信息作为回溯译码部分的输入信息。图2示出维特比译码器的回溯译码部分的示意性工作时序图。回溯译码部分通过对加比选单元运算得到的路径判决信息的回溯查找,不仅得到了译码输出的信息,还获得了在时间上向后(baclkword)跟踪选定的历史状态的信息。当幸存路径信息的存储达到一定深度后,回溯译码部分可以在时间上向后跟踪,以完成译码。
维特比译码设计的主要技术瓶颈,是由于加比选单元的反馈环结构而导致的流水线结构无法直接引入,而导致的译码器运算速度的瓶颈。为了获得足够高的译码速率,一般采用多路并行的方式。目前常用的并行维特比译码器的设计方案有基-2n超前处理模式、对折滑块处理模式等。基-2n超前处理模式是通过提高每步的步进长度来获得并行处理效果的。然而,基-2n超前处理模式由于通过超前的级数获得的速度增加与硬件开销数量成开方关系,因此速度提高的空间有限。对折滑块处理模式则是将数据块在正向和反向上同步并行对折处理,最终将译码结果汇总缓存、并行输出的模式。对折滑块处理模式,能够基本上实现译码器速度增加与硬件开销数量成线性关系,但是在约束深度较大的情况下,由于编码寄存器状态点较多,维特比译码器中的寄存器消耗较大,而且由于正向和反向滑块的导入数据来自相同的缓冲移位寄存器组,导致布线拥塞、路径延迟激增进而降低系统工作时钟。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明的目的之一是提出一种并行的维特比译码器和维特比译码方法,以提供较高的译码速率和较高的硬件资源利用率。
根据本发明的一个方面,提供了一种维特比译码器,包括:待译码数据管理器,用于将输入的待译码数据分配给多个维特比译码器单元;所述多个维特比译码器单元,每个维特比译码器单元用于对所分配的待译码数据独立地进行基于前向滑块方式的维特比译码,以得到所分配的待译码数据的译码数据,其中,每一个维特比译码器单元对应的待译码数据包括相继的同步块、译码块和回溯块;以及译码数据输出管理器,用于从所述多个维特比译码器单元接收相应的译码数据,并组合和输出所述译码数据。
根据本发明的另一个方面,提供了一种维特比译码方法,包括:将待译码数据划分为多个数据段;对每个数据段独立地进行基于前向滑块方式的维特比译码,以得到每个数据段的译码数据,其中,每一个数据段包括相继的同步块、译码块和回溯块;以及将每个数据段的译码数据组合并输出。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中:
图1示出常规单路维特比译码器的判决处理部分的示意性框图;
图2示出常规单路维特比译码器的回溯译码部分的示意性工作时序图;
图3示出根据本发明实施例的维特比译码器的示意性框图;
图4示出根据本发明实施例的维特比译码方法的示意性流程图;
图5示出单路前向滑块式维特比译码模式图;
图6示出根据本发明实施例的多路并行前向滑块式维特比译码模式图;
图7示出根据本发明实施例的维特比译码器单元的示意性框图;
图8示出根据本发明实施例的处理单元的示意性框图;
图9示出根据本发明另一实施例的处理单元的示意性框图;以及
图10示出根据本发明另一实施例的维特比译码器单元的示意性框图。
具体实施方式
下面将参照附图来说明本发明的实施例。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。
为了提供较高的译码速率和较高的硬件资源利用率,本发明提出一种基于前向滑块方式的并行维特比译码器和维特比译码方法。
图3示出根据本发明实施例的维特比译码器的示意性框图。如图所示,维特比译码器300包括待译码数据管理器310、多个维特比译码器单元320(维特比译码器单元1,维特比译码器单元2,......,维特比译码器单元m,m为大于1的正整数)、以及译码数据输出管理器330。待译码数据管理器310用于将输入的待译码数据分配给多个维特比译码器单元320。每个维特比译码器单元320用于对分配给它的待译码数据独立地进行基于前向滑块方式的维特比译码,以得到分配给它的待译码数据的译码数据。由于要基于前向滑块方式进行维特比译码,每一个维特比译码器单元320对应的待译码数据包括相继的同步块、译码块和回溯块。同步块、译码块和回溯块的每一个也称为滑块。译码数据输出管理器330用于从多个维特比译码器单元320分别接收相应的译码数据,并组合和输出所述译码数据,作为最终的译码结果。
由于采用并行结构,并且每个维特比译码器单元能够独立地进行基于前向滑块方式的维特比译码,因此根据本发明实施例的维特比译码器能够同时对多个数据块进行独立译码,从而提供较高的译码速率。
这里,结合图4来说明基于前向滑块方式的维特比译码原理。图4示出单路前向滑块式维特比译码模式图。卷积码在网格图上的一个重要性质是:从任意时间出发,假设初始状态度量值未知,经过依次进行Lsyn次前向(forward)加比选操作后,幸存路径仍然会和初始状态度量值已知情况下得到的幸存路径重合。这里Lsyn称为同步长度(synchronizationlength),一般为卷积码约束长度N的5倍。另外,卷积码在网格图上的另一个重要性质是:不论起始位置如何,当回溯到达一定回溯长度LTrc后,幸存路径都会聚合在一起,从而找到正确的幸存路径。回溯长度LTrc一般也为卷积码约束长度N的5倍。本发明利用卷积码的上述性质,在待译码的数据块(译码块)之前和之后都保留一段足够长的(≥5N)数据块(同步块和回溯块),从而使得整个数据块(同步块、译码块加回溯块)可以独立于其他数据序列完成译码,如图4所示。
相应地,在本发明的实施例中,每一个维特比译码器单元320对应的待译码数据所包括的同步块的长度大于或等于5倍待译码数据的卷积码约束长度,回溯块的长度也大于或等于5倍待译码数据的卷积码约束长度。这样,每个维特比译码器单元320就可以对所分配的待译码数据独立地进行基于前向滑块方式的维特比译码。
另外,为了方便处理,根据本发明的一个实施例,同步块、译码块和回溯块可以具有相同的长度。但是,应当理解,只要满足前述条件,三个块的长度可以不同。
下面结合图5和图6来说明维特比译码器300的工作流程。
图5示出根据本发明实施例的维特比译码方法的示意性流程图。在步骤S510中,待译码数据管理器310将待译码数据划分为多个数据段。每个数据段将分配给一个维特比译码器单元。其中,每一个数据段包括相继的同步块、译码块和回溯块。这里,可以由待译码数据管理器310直接将每个数据段分为相继的三个块,同步块、译码块和回溯块,也可以在每个维特比译码器单元320接收到数据段后,将该数据段分为相继的同步块、译码块和回溯块来分别进行处理,只要待译码数据管理器310在划分数据段的时候保证数据段的长度能够满足以上所述的同步块和回溯块的长度限制。接着,在步骤S520中,每个维特比译码器单元320分别对每个数据段独立地进行基于前向滑块方式的维特比译码,以得到每个数据段的译码数据。然后,在步骤S530中,译码数据输出管理器330将每个数据段的译码数据组合并输出,以形成最终的连续译码结果。
图6示出根据本发明实施例的多路并行前向滑块式维特比译码模式图。在图6的实施例中,待译码数据管理器310将缓存后的待译码数据根据基于前向滑块方式的维特比译码原理进行并行化处理。具体而言,待译码数据管理器310依次将包括同步块(SVEx_Syn)、译码块(SVEx_Dec)和回溯块(SVEx_Trc)的数据段分配给维特比译码器单元1、维特比译码器单元2、......、维特比译码器单元m,使各个维特比译码器单元能够并行地分段进行译码,其中,x表示维特比译码器单元的编号。同步块和回溯块的长度满足以上所述的大于或等于5倍待译码数据的卷积码约束长度的条件。当然,这里维特比译码器单元的编号并不对待译码数据管理器310的数据段分配产生约束。也就是说,待译码数据管理器310也可以按照任意顺序,例如先奇数编号的维特比译码器单元、后偶数编号的维特比译码器单元的顺序,来顺次分配数据段。另外,由于利用回溯法进行译码,维特比译码器单元输出的译码数据通常与输入的待译码数据顺序相反。因此,可以由译码数据输出管理器330来将各个维特比译码器单元得到的译码数据进行相应的组合,以得到正常顺序的连续译码结果。
根据本发明的一个实施例,维特比译码器单元1-m各自的待译码数据中的译码块在待译码数据管理器310的待译码数据中是连续且不交迭的,以利用各个维特比译码器单元进行对待译码数据的连续译码。如图6所示,例如,在图左侧的一轮分配中,分配给维特比译码器单元1的译码块(SVE1_Dec)对应于待译码数据段Block(n),分配给维特比译码器单元2的译码块(SVE2_Dec)对应于待译码数据段Block(n+1),依此类推,分配给维特比译码器单元m的译码块(SVEm_Dec)对应于待译码数据段Block(n+m-1)。当然,本领域的技术人员也可根据本发明的构思,进行少许变化,令维特比译码器单元1-m各自的待译码数据中的译码块在待译码数据管理器310的待译码数据中是部分交迭的,在译码输出时进行相应处理,亦可实现对待译码数据进行连续译码,因此本发明并不限定于此。
至于维特比译码器单元1-m各自的待译码数据中的同步块和回溯块,如前文所述其长度可以互不相同并且可以与译码块不同,并且在个维特比译码器单元之间它们可以相同也可以不同。但是,为了数据块划分的便利,图6将所有的数据块在所有的维特比译码器单元之间的长度都图示为相同的,但这并不是限制性的。
每个维特比译码器单元320对所分配的数据段进行译码后,分别得到与所分配的数据段相对应的译码数据。如图6所示,例如,在图左侧的一轮分配中,维特比译码器单元1对所分配的译码块译码后,得到与待译码数据段Block(n)相对应的译码结果,维特比译码器单元2对所分配的译码块译码后,得到与待译码数据段Block(n+1)相对应的译码结果,依此类推,不再赘述。
相对于维特比译码器300的多路并行结构,每个维特比译码器单元320可以是用于进行基于前向滑块方式的单路串行维特比译码的单元。作为示例,图7示出根据本发明实施例的维特比译码器单元的示意性框图。
如图7所示,维特比译码器单元700包括同步块处理单元(PE_Syn)710、译码块处理单元(PE_Dec)720、回溯块处理单元(PE_Trc)730、回溯单元(TBE)740和译码单元(TDE)750。其中,同步块处理单元710用于对同步块中的码元依次进行分支度量和加比选操作,以得到同步块中最后一个码元对应的编码寄存器各可能状态的状态度量值。译码块处理单元720用于以同步块中最后一个码元对应的编码寄存器各可能状态的状态度量值作为初始状态度量值,对译码块中的码元依次进行分支度量和加比选操作,以得到译码块中的最后一个码元对应的编码寄存器各可能状态的状态度量值和译码块中的每个码元对应的编码寄存器各可能状态的路径判决信息。回溯块处理单元730用于以译码块中的最后一个码元对应的多个可能的编码寄存器状态的状态度量值作为初始状态度量值,对回溯块中的码元依次进行分支度量和加比选操作,以得到回溯块中的每个码元对应的编码寄存器各可能状态的路径判决信息。回溯单元740用于根据回溯块中的所有码元对应的编码寄存器各可能状态的路径判决信息对回溯块进行回溯操作,以得到合并的幸存路径。译码单元750用于以回溯单元740得到的幸存路径的终点作为起点、根据译码块中的所有码元对应的编码寄存器各可能状态的路径判决信息来对译码块进行回溯译码操作,以得到译码块的译码数据。由于利用回溯法进行译码,译码单元750输出的译码数据通常是倒序的译码数据。
根据本发明的一个实施例,维特比译码器单元700还可以包括输入数据处理单元760,用于缓存所分配的待译码数据,并将所分配的待译码数据中的同步块中的码元逐个输入到同步块处理单元710,将所分配的译码数据中的译码块中的码元逐个输入到译码块处理单元720,以及将所分配的待译码数据中的回溯块中的码元逐个输入到回溯块处理单元730。应当理解,输入数据处理单元760的工作也可以由根据本发明实施例的维特比译码器中的待译码数据管理器来完成。
根据本发明的另一个实施例,维特比译码器单元700还可以包括判决信息存储管理器770,用于存储译码块的路径判决信息和回溯块的路径判决信息,并将回溯块的路径判决信息分配给回溯单元740,将译码块的路径判决信息分配给译码单元750。应当理解,也可以由回溯块处理单元730将回溯块的路径判决信息直接提供给回溯单元740,由译码块处理单元720将译码块的路径判决信息直接提供给译码单元750,由回溯单元740和译码单元750进行路径判决信息的存储。
作为示例,维特比译码器单元700中的同步块处理单元710、译码块处理单元720和回溯块处理单元730均可以使用图8所示的处理单元来实现。根据图8所示的实施例,处理单元800主要由分支度量单元(BMU)810和加比选单元(ACSU)820组成。分支度量单元810用于针对当前接收到的码元进行分支度量,以得到所述码元对应的编码寄存器各可能状态的分支度量值。加比选单元820用于根据分支度量单元810得到的分支度量值和先前状态度量值来进行加比选操作,以得到当前接收到的码元对应的编码寄存器各可能状态的状态度量值和路径判决信息。
为了保存根据本次计算的状态度量值以用于下一次加比选操作,处理单元800还可以包括状态度量值寄存器组830。状态度量值寄存器组830包括多个状态度量值寄存器,用于分别存储当前接收到的码元对应的编码寄存器各可能状态的状态度量值。
另外,如前文所述,译码块处理单元720以同步块中最后一个码元对应的编码寄存器各可能状态的状态度量值作为初始状态度量值,对译码块中的码元依次进行分支度量和加比选操作,而回溯块处理单元730以译码块中的最后一个码元对应的多个可能的编码寄存器状态的状态度量值作为初始状态度量值,对回溯块中的码元依次进行分支度量和加比选操作.由此,处理单元800还可以包括计数器840和多路选择器850。计数器840用于对分支度量单元810和加比选单元820的运算次数进行计数。多路选择器850用于根据计数器840的计数来选择是以前一级处理单元传递过来的初始状态度量值还是以前一个接收到的码元对应的编码寄存器各可能状态的状态度量值(图8中的前一个码元对应的运算后状态度量值)作为加比选单元820的先前状态度量值(图8中的运算前状态度量值)。
作为示例,对于译码块处理单元而言,当计数器的计数等于本级处理单元所处理的数据块,即译码块处理单元所处理的译码块的长度或其整数倍时,控制多路选择器850选择前一级处理单元传递过来的初始状态度量值作为输入到加比选单元820的先前状态度量值。否则,控制多路选择器850选择前一个接收到的码元对应的编码寄存器各可能状态的状态度量值作为输入到加比选单元820的先前状态度量值。对于同步块处理单元710而言,没有前一级处理单元,因此多路选择器850中的前级PE状态度量值可以设置为零。另外,对于同步块处理单元710而言,由于后续处理不需要使用同步块的路径判决信息,因此加比选单元820可以不向外输出路径判决结果。对于回溯块处理单元730而言,没有后一级处理单元,因此加比选单元820输出的运算后状态度量值实际上可以不传递给后级PE。
为了节约硬件资源、提高系统的工作时钟,根据本发明的一个实施例,同步块处理单元、译码块处理单元和回溯块处理单元中的每一个还包括最高位全一归零单元,用于在当前接收到的码元对应的编码寄存器各可能状态的状态度量值的最高位全是一的情况下,将多个状态度量值的最高位设置为零。
图9示出根据所述实施例的包括最高位全一归零单元的处理单元的示意性框图。如图9所示,处理单元900的结构与图8所示的处理单元800的结构基本相同,除了包括最高位全一归零单元960。最高位全一归零单元960可以对加比选单元920输出的各个运算后状态度量值进行判断,当各个运算后状态度量值(二进制表示)的最高位全是一时,将各个运算后状态度量值的最高位设置为零,然后将最高位归零后的各个运算后状态度量值保存到状态度量值寄存器组930中。当各个运算后状态度量值(二进制表示)的最高位不全是一时,直接将各个运算后状态度量值保存到状态度量值寄存器组930中。
常规的并行模式维特比译码器中,每个状态度量值寄存器的字长LACSU设为:
其中,ψmax为最大分支度量值,t为滑块的前向总步数(同步块、译码块、回溯块长度之和)。而在采用根据本发明实施例的最高位全一归零单元的情况下,状态度量值寄存器的字长LACSU为:
其中,ψmax为最大分支度量值,Δmax为同一时刻加比选单元所得到的各编码寄存器各可能状态的状态度量值之间的最大差值。根据维特比译码器的网格结构可得,同一时刻加比选单元所得到的编码寄存器各可能状态的状态度量值之间的最大差值Δmax是受限的:
Δmax≤ψmaxlog2M (3)
其中,ψmax为最大分支度量值,M为编码寄存器各可能状态的数目。
由公式(2)可以看到,最高位全一归零的应用使得状态度量值寄存器的长度与滑块前向总步数无关,不会随着滑块前向总步数的增加而增大,而能够保持为一个恒定值。以输入的待译码数据为3比特软信息表示的(2,1,7)维特比编码数据为例,由于滑块模式单向步数一般不少于128,由公式1得传统方式码距寄存器字长LACSU至少为11位,由公式(2)得改进后码距寄存器字长LACSU恒定为8位,因此状态度量值寄存器字长LACSU至少可以减小27%。另外,由于最高位全一归零,使得状态度量值的大小能够保持在较小范围内。因此,通过状态度量值的最高位全一归零,能够有效降低加比选单元中加法器、比较器的阶数,既节约了硬件资源,又提高了系统工作时钟。
另外,为了进一步提高译码速率,维特比译码器单元中也可以采用多个译码块处理单元的结构。图10示出根据本发明另一实施例的维特比译码器单元的示意性框图。在图10的实施例中,每个维特比译码器单元中的译码块处理单元可以包括多个译码块处理子单元,用于并行地处理分配给所述维特比译码器单元的待译码数据中的译码块,以提高译码速率。如图10所示,在维特比译码器单元1000中,包括一个同步块处理单元1010,一个回溯块处理单元1030,以及p个译码块处理单元1020,p为大于1的正整数。译码块处理单元1020的结构与图7中所示的译码块处理单元720基本相同。图10中的其他模块与图7中相应的模块的结构相同。为了方便描述,也将维特比译码器单元包括多个译码块处理单元的情况称为维特比译码器单元的译码块处理单元包括多个译码块处理子单元。即,译码块处理单元1020也可以描述为译码块处理单元720的译码块处理子单元。
为了提高根据本发明实施例的维特比译码器的灵活性,根据本发明的另一实施例,待译码数据管理器310还可以用于仅将输入的待译码数据分配给多个维特比译码器单元320中的一部分。由于各个维特比译码器单元320可以独立进行维特比译码,因此通过待译码数据管理器310的控制,可以方便地选择一路、两路或更多路维特比译码器单元运行的模式,配合打孔运算,可以满足多码率和编码增益的要求。
另外,在信道通信的接收方接收到信号后,在译码前,根据解调器的量化级别不同,对信号进行硬判决或软判决。由此,输入到维特比译码器的待译码数据可以分为经过硬判决的待译码数据和经过软判决的待译码数据(也称为软信息)。对于经过硬判决的待译码数据而言,分支度量值是码元序列之间的汉明距离。对于软信息而言,分支度量值是码元序列之间的欧氏距离。根据本发明实施例的维特比译码器可以对经过硬判决和经过软判决的待译码数据进行译码,而没有任何限制。软信息的使用能够带来更大的编码增益和更强的纠错能力,因此,在实际应用时,优选地,可以以软信息作为根据本发明实施例的维特比译码器的待译码数据。
与传统并行维特比译码方案相比,根据本发明实施例的维特比译码器和维特比译码方法进行基于前向滑块模式的并行维特比译码,具有较高的资源利用率。由于各个维特比译码器单元之间相对独立的结构模式,可以较好的减小系统综合时出现的布线拥塞、路径延迟激增的问题。
另外,由于各个维特比译码器单元之间有着相对独立的结构模式,用户可以方便地选择一路运行、两路运行或更多路运行的模式,配合打孔运算,可以满足有些高速通信系统中多码率和编码增益的要求。
此外,通过对状态度量值最高位全1取反,有效降低了加比选单元的加法器、比较器的阶数,既节约了硬件资源,又较大地提高了系统的工作时钟。
以上虽然结合附图详细描述了本发明的实施例,但是应当明白,上面所描述的实施方式只是用于说明本发明,而并不构成对本发明的限制。对于本领域的技术人员来说,可以对上述实施方式作出各种修改和变更而没有背离本发明的实质和范围。因此,本发明的范围仅由所附的权利要求及其等效含义来限定。
Claims (20)
1.一种维特比译码器,包括:
待译码数据管理器,用于将输入的待译码数据分配给多个维特比译码器单元;
所述多个维特比译码器单元,每个维特比译码器单元用于对所分配的待译码数据独立地进行基于前向滑块方式的维特比译码,以得到所分配的待译码数据的译码数据,其中,每一个维特比译码器单元对应的待译码数据包括相继的同步块、译码块和回溯块;以及
译码数据输出管理器,用于从所述多个维特比译码器单元接收相应的译码数据,并组合和输出所述译码数据。
2.根据权利要求1的维特比译码器,其中,所述多个维特比译码器单元各自的待译码数据中的译码块在所述待译码数据管理器的待译码数据中是连续且不交迭的。
3.根据权利要求1或2的维特比译码器,其中,所述同步块的长度大于或等于所述待译码数据的卷积码约束长度的5倍,所述回溯块的长度大于或等于所述待译码数据的卷积码约束长度的5倍。
4.根据权利要求1的维特比译码器,其中,每一个维特比译码器单元包括:
同步块处理单元,用于对所述同步块中的码元依次进行分支度量和加比选操作,以得到所述同步块中最后一个码元对应的编码寄存器各可能状态的状态度量值;
译码块处理单元,用于以所述同步块中最后一个码元对应的编码寄存器各可能状态的状态度量值作为初始状态度量值,对所述译码块中的码元依次进行分支度量和加比选操作,以得到所述译码块中的最后一个码元对应的编码寄存器各可能状态的状态度量值和所述译码块中的每个码元对应的编码寄存器各可能状态的路径判决信息;
回溯块处理单元,用于以所述译码块中的最后一个码元对应的多个可能的编码寄存器状态的状态度量值作为初始状态度量值,对所述回溯块中的码元依次进行分支度量和加比选操作,以得到所述回溯块中的每个码元对应的编码寄存器各可能状态的路径判决信息;
回溯单元,用于根据所述回溯块中的所有码元对应的所述编码寄存器各可能状态的路径判决信息对所述回溯块进行回溯操作,以得到合并的幸存路径;以及
译码单元,用于以所述回溯单元得到的幸存路径的终点作为起点、根据所述译码块中的所有码元对应的所述编码寄存器各可能状态的路径判决信息来对所述译码块进行回溯译码操作,以得到所述译码块的译码数据。
5.根据权利要求4的维特比译码器,其中,每一个维特比译码器单元还包括:
输入数据处理单元,用于缓存所分配的待译码数据,并将所分配的待译码数据中的同步块中的码元逐个输入到所述同步块处理单元,将所分配的译码数据中的译码块中的码元逐个输入到所述译码块处理单元,以及将所分配的待译码数据中的回溯块中的码元逐个输入到所述回溯块处理单元。
6.根据权利要求4的维特比译码器,其中,每一个维特比译码器单元还包括:
判决信息存储管理器,用于存储所述译码块的路径判决信息和所述回溯块的路径判决信息,并将所述回溯块的路径判决信息分配给所述回溯单元,将所述译码块的路径判决信息分配给所述译码单元。
7.根据权利要求4的维特比译码器,其中,所述同步块处理单元、所述译码块处理单元和所述回溯块处理单元中的每一个包括:
分支度量单元,用于针对当前接收到的码元进行分支度量,以得到所述码元对应的编码寄存器各可能状态的分支度量值;以及
加比选单元,用于根据所述分支度量值和先前状态度量值来进行加比选操作,以得到所述当前接收到的码元对应的编码寄存器各可能状态的状态度量值和路径判决信息。
8.根据权利要求7的维特比译码器,其中,所述同步块处理单元、所述译码块处理单元和所述回溯块处理单元中的每一个还包括:
状态度量值寄存器组,包括多个状态度量值寄存器,用于分别存储所述当前接收到的码元对应的所述编码寄存器各可能状态的状态度量值。
9.根据权利要求7或8的维特比译码器,其中,所述同步块处理单元、所述译码块处理单元和所述回溯块处理单元中的每一个还包括:
最高位全一归零单元,用于在所述当前接收到的码元对应的所述编码寄存器各可能状态的状态度量值的最高位全是一的情况下,将所述多个状态度量值的最高位设置为零。
10.根据权利要求7的维特比译码器,其中,所述同步块处理单元、所述译码块处理单元和所述回溯块处理单元中的每个还包括:
计数器,用于对所述分支度量单元和所述加比选单元的运算次数进行计数;以及
多路选择器,用于根据所述计数器的计数来选择是以初始状态度量值还是以前一个接收到的码元对应的编码寄存器各可能状态的状态度量值作为所述先前状态度量值。
11.根据权利要求4的维特比译码器,其中,所述译码块处理单元包括多个译码块处理子单元,用于并行地处理分配给所述译码块处理单元所在的所述维特比译码器单元的待译码数据中的译码块。
12.根据权利要求1的维特比译码器,其中,所述待译码数据管理器进一步用于仅将所述输入的待译码数据分配给所述多个维特比译码器单元中的一部分。
13.根据权利要求1的维特比译码器,其中,所述输入的待译码数据是经过软判决之后的软信息。
14.一种维特比译码方法,包括:
将待译码数据划分为多个数据段;
对每个数据段独立地进行基于前向滑块方式的维特比译码,以得到每个数据段的译码数据,其中,每一个数据段包括相继的同步块、译码块和回溯块;以及
将每个数据段的译码数据组合并输出。
15.根据权利要求14的维特比译码方法,其中,各个数据段中的译码块在所述待译码数据中是连续且不交迭的。
16.根据权利要求14或15的维特比译码方法,其中,将所述同步块的长度取为大于或等于所述待译码数据的卷积码约束长度的5倍,将所述回溯块的长度取为大于或等于所述待译码数据的卷积码约束长度的5倍。
17.根据权利要求14的维特比译码方法,其中,所述对每个数据段进行基于前向滑块方式的维特比译码包括:
针对所述同步块中的码元依次进行分支度量和加比选操作,以得到所述同步块中最后一个码元对应的编码寄存器各可能状态的状态度量值;
以所述同步块中最后一个码元对应的编码寄存器各可能状态的状态度量值作为初始状态度量值,对所述译码块中的码元依次进行分支度量和加比选操作,以得到所述译码块中的最后一个码元对应的编码寄存器各可能状态的状态度量值和所述译码块中的每个码元对应的编码寄存器各可能状态的路径判决信息;
以所述译码块中的最后一个码元对应的编码寄存器各可能状态的状态度量值作为初始状态度量值,对所述回溯块中的码元依次进行分支度量和加比选操作,以得到所述回溯块中的每个码元对应的编码寄存器各可能状态的路径判决信息;
根据所述回溯块中的所有码元对应的编码寄存器各可能状态的路径判决信息对所述回溯块进行回溯操作,以得到合并的幸存路径;以及
以所得到的幸存路径的终点作为起点、根据所述译码块中的所有码元对应的编码寄存器各可能状态的路径判决信息来对所述译码块进行回溯和译码操作,以得到所述译码块的译码数据。
18.根据权利要求17的维特比译码方法,其中,
所述分支度量操作包括:针对当前码元进行分支度量,以得到所述当前码元对应的编码寄存器各可能状态的分支度量值;以及
所述加比选操作包括:根据所述分支度量值和先前状态度量值来进行加比选操作,以得到所述当前码元对应的编码寄存器各可能状态的状态度量值和路径判决信息。
19.根据权利要求18的维特比译码方法,还包括:
分别存储所述当前接收到的码元对应的所述编码寄存器各可能状态的状态度量值。
20.根据权利要求18或19的维特比译码方法,还包括:
在所述当前接收到的码元对应的所述编码寄存器各可能状态的状态度量值的最高位全是一的情况下,将所述多个状态度量值的最高位设置为零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110115506.3A CN102761342B (zh) | 2011-04-27 | 维特比译码器和维特比译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110115506.3A CN102761342B (zh) | 2011-04-27 | 维特比译码器和维特比译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102761342A true CN102761342A (zh) | 2012-10-31 |
CN102761342B CN102761342B (zh) | 2016-12-14 |
Family
ID=
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184481A (zh) * | 2013-05-24 | 2014-12-03 | 成都林海电子有限责任公司 | 一种高速viterbi译码器及译码算法的FPGA实现方法 |
CN105933090A (zh) * | 2016-04-14 | 2016-09-07 | 电子科技大学 | 一种多核并行scma译码系统 |
CN106209119A (zh) * | 2015-05-02 | 2016-12-07 | 宁波中国科学院信息技术应用研究院 | 一种DRM/DRM+接收机中的Viterbi解码器的硬件设计方法 |
CN111030710A (zh) * | 2019-12-02 | 2020-04-17 | 北京北方联星科技有限公司 | 一种自适应提高Galileo导航系统E5信号译码速度的方法 |
CN111614363A (zh) * | 2019-02-26 | 2020-09-01 | 扬智科技股份有限公司 | 维特比算法的改进方法和接收装置 |
CN114745107A (zh) * | 2022-03-22 | 2022-07-12 | 西安电子科技大学 | 一种基于矩阵编码的编码层隐秘通信方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1089441A2 (en) * | 1999-10-01 | 2001-04-04 | Matsushita Electric Industrial Co., Ltd. | Viterbi decoder and Viterbi decoding method |
CN101247380A (zh) * | 2008-03-27 | 2008-08-20 | 复旦大学 | 用于多带正交频分复用超宽带系统的高速维特比解码器 |
CN101764622A (zh) * | 2010-01-19 | 2010-06-30 | 清华大学 | 并行多码率卷积码译码方法及其实现装置 |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1089441A2 (en) * | 1999-10-01 | 2001-04-04 | Matsushita Electric Industrial Co., Ltd. | Viterbi decoder and Viterbi decoding method |
CN101247380A (zh) * | 2008-03-27 | 2008-08-20 | 复旦大学 | 用于多带正交频分复用超宽带系统的高速维特比解码器 |
CN101764622A (zh) * | 2010-01-19 | 2010-06-30 | 清华大学 | 并行多码率卷积码译码方法及其实现装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184481A (zh) * | 2013-05-24 | 2014-12-03 | 成都林海电子有限责任公司 | 一种高速viterbi译码器及译码算法的FPGA实现方法 |
CN106209119A (zh) * | 2015-05-02 | 2016-12-07 | 宁波中国科学院信息技术应用研究院 | 一种DRM/DRM+接收机中的Viterbi解码器的硬件设计方法 |
CN105933090A (zh) * | 2016-04-14 | 2016-09-07 | 电子科技大学 | 一种多核并行scma译码系统 |
CN105933090B (zh) * | 2016-04-14 | 2019-07-16 | 电子科技大学 | 一种多核并行scma译码系统 |
CN111614363A (zh) * | 2019-02-26 | 2020-09-01 | 扬智科技股份有限公司 | 维特比算法的改进方法和接收装置 |
US11108415B2 (en) * | 2019-02-26 | 2021-08-31 | Ali Corporation | Method of Viterbi algorithm and receiving device |
CN111614363B (zh) * | 2019-02-26 | 2023-03-24 | 扬智科技股份有限公司 | 维特比算法的改进方法和接收装置 |
CN111030710A (zh) * | 2019-12-02 | 2020-04-17 | 北京北方联星科技有限公司 | 一种自适应提高Galileo导航系统E5信号译码速度的方法 |
CN114745107A (zh) * | 2022-03-22 | 2022-07-12 | 西安电子科技大学 | 一种基于矩阵编码的编码层隐秘通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070266303A1 (en) | Viterbi decoding apparatus and techniques | |
JP4227481B2 (ja) | 復号装置および復号方法 | |
US5878092A (en) | Trace-back method and apparatus for use in a viterbi decoder | |
US7277507B2 (en) | Viterbi decoder | |
US20050235193A1 (en) | Low-latency high-speed trellis decoder | |
EP3996285A1 (en) | Parallel backtracking in viterbi decoder | |
EP2339757B1 (en) | Power-reduced preliminary decoded bits in viterbi decoder | |
US8111767B2 (en) | Adaptive sliding block Viterbi decoder | |
US7590928B2 (en) | Apparatus and method for Viterbi decoding | |
US20040243916A1 (en) | Method and apparatus for decoding multi-level trellis coded modulation | |
US7617440B2 (en) | Viterbi traceback initial state index initialization for partial cascade processing | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
Nargis et al. | Design of high speed low power viterbi decoder for TCM system | |
KR20070074213A (ko) | 통신 시스템의 복호화 방법 | |
US8942326B2 (en) | Channel decoding method and tail biting convolutional decoder | |
CN102761342A (zh) | 维特比译码器和维特比译码方法 | |
US7561641B2 (en) | Method of Viterbi decoding with reduced butterfly operation | |
CN100505557C (zh) | 基于Viterbi译码的多路并行循环块回溯方法 | |
Gupta et al. | A comparative study of Viterbi and Fano decoding algorithm for convolution codes | |
US20020112211A1 (en) | Minimum error detection in a viterbi decoder | |
Arun et al. | Design and VLSI implementation of a Low Probability of Error Viterbi decoder | |
Chandel et al. | Viterbi decoder plain sailing design for TCM decoders | |
CN102932014A (zh) | 卷积码译码器和译码方法 | |
KR100195021B1 (ko) | 비터비복호기의 상태평가량 저장방법 및 장치 | |
US8042032B2 (en) | Four-stage pipeline based VDSL2 Viterbi decoder |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161214 |