CN111614363A - 维特比算法的改进方法和接收装置 - Google Patents
维特比算法的改进方法和接收装置 Download PDFInfo
- Publication number
- CN111614363A CN111614363A CN201910141323.5A CN201910141323A CN111614363A CN 111614363 A CN111614363 A CN 111614363A CN 201910141323 A CN201910141323 A CN 201910141323A CN 111614363 A CN111614363 A CN 111614363A
- Authority
- CN
- China
- Prior art keywords
- registers
- viterbi decoder
- output signal
- last
- viterbi
- 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
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
- H03M13/4107—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
-
- 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
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- 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/27—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 using interleaving techniques
- H03M13/2732—Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2939—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using convolutional codes
-
- 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/3961—Arrangements of methods for branch or transition metric calculation
-
- 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
- H03M13/4123—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing the return to a predetermined state
-
- 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
- H03M13/4138—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
-
- 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
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4184—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using register-exchange
-
- 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6527—IEEE 802.11 [WLAN]
-
- 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/395—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a collapsed trellis, e.g. M-step algorithm, radix-n architectures with n>2
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种维特比算法的改进方法和接收装置。所述改进方法适用于维特比译码器中,维特比译码器接收原始信号所经由卷积码编码器而产生的输出信号,且卷积码编码器具有M个寄存器,M为大于等于2的正整数,所述改进方法则包括如下步骤。首先,针对输出信号的第一至第M个数据,维特比译码器是根据已知的该M个寄存器的M个初始值,来进行维特比算法中的加比选操作。再者,针对输出信号的倒数第M至最后一个数据,维特比译码器是根据已知的原始信号的最后M个比特值,来进行维特比算法中的加比选操作,借此减少加比选单元的运算复杂度。
Description
技术领域
本发明涉及一种维特比(Viterbi)算法,且特别涉及一种维特比算法的改进方法和接收装置。
背景技术
卷积码(Convolution Code)是一种常见的通道编码技术,在电信领域中,卷积码是属于一种错误更正码(Error-correction Code),并且在编码过程中,原始信号是会依序由输入端进入到卷积码编码器的寄存器,每一寄存器可存储一个比特值,而且前一寄存器内的比特值会被移往下一寄存器,接着作各自的运算,然后将运算(编码)后的输出信号传至输出端。由于原始信号是依序输入至卷积码编码器的寄存器中,因此每笔卷积码数据皆与过去的原始信号有关系,以致于卷积码更能保有维持通道的记忆效应(MemoryProperty),而且对于现存的卷积码来说,维特比算法就是一种最广泛被用来译码的算法。
维特比算法也是用了编码的网格图(Trellis Diagram),并且只有当译码过程进行到网格图较深处时,维特比译码器才会产生第一个译码比特,所以在习知的作法中,维特比译码器应回溯的幸存路径长度D则通常大于等于约束长度K的5倍,例如在Wi-Fi中的约束长度K为7的话,这时回溯的幸存路径长度D就较佳为35。然而,有些电信标准的信令长度较短,例如传统模式的信号栏位(Legacy Mode Signal Field,L-SIG)就只有24个比特,因此,这样所能回溯的幸存路径长度D就不够长,从而也就影响到卷积码的误码率。
发明内容
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
有鉴于此,本发明实施例提供一种维特比算法的改进方法,适用于维特比译码器中,维特比译码器接收原始信号所经由卷积码编码器而产生的输出信号,且卷积码编码器具有M个寄存器,M为大于等于2的正整数,所述改进方法则包括如下步骤。首先,针对输出信号的第一至第M个数据,维特比译码器是根据已知的该M个寄存器的M个初始值,来进行维特比算法中的加比选操作。再者,针对输出信号的倒数第M至最后一个数据,维特比译码器是根据已知的原始信号的最后M个比特值,来进行维特比算法中的加比选操作。此外,本发明实施例另提供一种接收装置,所述接收装置包括维特比译码器及存储装置,维特比译码器用来接收原始信号所经由卷积码编码器而产生的输出信号,并且使用维特比算法来对输出信号进行译码。存储装置则存储应用程序,且应用程序用来指示维特比译码器执行前述实施例的维特比算法的改进方法。
本发明的其他目的和优点可以从本发明所揭露的技术特征中得到进一步的了解。为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举实施例并配合所附图式,作详细说明如下。
附图说明
图1是本发明实施例所提供的卷积码编码器的功能方块示意图。
图2是图1的卷积码编码器于一较佳实施例下编码的网格图的示意图。
图3是本发明实施例所提供的维特比译码器的功能方块示意图。
图4是本发明实施例所提供的维特比算法的改进方法的流程示意图。
图5A与图5B是图4的改进方法于一较佳实施例下执行步骤S410与步骤S420的示意图。
图6A与图6B是图4的改进方法于另一较佳实施例下执行步骤S410与步骤S420的示意图。
图7是本发明实施例所提供的接收装置的功能方块示意图。
具体实施方式
在下文中,将通过附图说明本发明的各种实施例来详细描述本发明。然而,本发明概念可能以许多不同形式来体现,且不应解释为限于本文中所阐述的例示性实施例。此外,在附图中相同参考数字可用以表示类似的组件。
仔细地说,本发明实施例所提供的维特比算法的改进方法,可以是适用于任何电信标准下的维特比译码器。举例来说,所述电信标准可例如是IEEE 802.11n或IEEE802.11ac等,但本发明皆不以此为限制。此外,根据现有技术可知,维特比译码器即用来接收原始信号所经由卷积码编码器而产生的输出信号,并且使用维特比算法来对输出信号进行译码,但本发明亦不限制维特比译码器或卷积码编码器的具体实现方式,本技术领域中具有通常知识者应可依据实际需求或应用来进行设计。总而言之,卷积码编码器会具有M个寄存器,且M为大于等于2的正整数。
实施例1
为了方便以下说明,本实施例将仅先以(n,k,M)=(2,1,3)的卷积码编码器来作说明,但其并非用以限制本发明。应当理解的是,上述n与k分别代表卷积码编码器的输出比特数与输入比特数。举例来说,请参阅图1,图1是本发明实施例所提供的卷积码编码器的功能方块示意图。如图1所示,卷积码编码器1是由3个寄存器R0~R2与2个加法器所组成,经由此结构来作一进二出的编码运算。可以了解的是,每一寄存器R0~R2可存储一个比特值,每当原始信号(未绘示)的一个比特值由输入端进入到寄存器R0时,前一寄存器内的比特值就会被移往下一寄存器,接着作各自的运算,然后将运算(编码)后的输出信号传至输出端。由于卷积码编码器的运作原理已为本技术领域中具有通常知识者所习知,因此有关上述细节于此就不再多加赘述。
实施例2
另外,在一较佳实施例下,假设每一寄存器R0~R2所存储的比特值均初始为“0”的话,根据图1的编码方式,本实施例将可更产生一个编码的网格图,如图2所示。也就是说,在图2的网格图中,卷积码编码器1是会以“000”作为初始状态,并且分别于垂直与水平轴上显示它所有可能产生的状态与时间逐步的变化关系。接着,请参阅图3,图3是本发明实施例所提供的维特比译码器的功能方块示意图。如图3所示,维特比译码器2主要包括分支度量单元(Branch Metric Unit,BMU)210、加比选单元(Add-Compare-Select Unit,ACSU)220与幸存路径寄存单元(Survivor path Memory Unit,SMU)230。
简单来说,当分支度量单元210收到一个新数据时,分支度量单元210会去计算与它相关的分支距离,而加比选单元220则不断在执行加比选操作后,更新每个状态的最短分支距离。另外,幸存路径寄存单元230则记录加比选单元220的决策结果,并且回溯幸存路径以找出译码比特。根据以上内容的教示,本技术领域中具有通常知识者应可理解到,加比选单元220就是最能代表维特比算法的电路部分,而且加比选单元220的运算复杂度是会以卷积码编码器所用的寄存器数量来呈指数形式增加。
因此,如图3所示,在维特比译码器2是用来对图1的卷积码编码器1所产生的输出信号进行译码的话,每当维特比译码器2收到该输出信号的一个数据时,加比选单元220就都会要比较2M个,即8个状态,来找出最佳路经。由于维特比译码器2的运作原理亦已为本技术领域中具有通常知识者所习知,故有关上述细节于此就不再多加赘述。总而言之,相较于现有技术,本实施例的改进方法就在于降低加比选单元220的运算复杂度。
进一步来说,因为在某些电信标准下,除了会设定该M个寄存器的M个初始值均为“0”之外,还会在该电信标准的信令或数据包尾端上添加M个“0”,以作为该原始信号的尾部比特(Tail Bits),从而使得该M个寄存器能在编码结束后恢复成初始状态“000”,又或者是说,因为某些电信标准下的接收端也可已知道该M个寄存器的M个初始值与该原始信号的最后M个比特值,所以本实施例的改进方法就是根据已知的编码特性来对网格图中的初始状态与结束状态进行特殊处理。
实施例3
请参阅图4,图4是本发明实施例所提供的维特比算法的改进方法的流程示意图。
首先,在步骤S410中,针对输出信号的第一至第M个数据,维特比译码器是根据已知的该M个寄存器的M个初始值,来进行维特比算法中的加比选操作。其次,在步骤S420中,针对输出信号的倒数第M至最后一个数据,维特比译码器是根据已知的原始信号的最后M个比特值,来进行维特比算法中的加比选操作。然而,为了方便以下说明,图4的实施例也将仅先以Radix-2为基底的维特比译码器2和(n,k,M)=(2,1,3)的卷积码编码器1来作说明,但其并非用以限制本发明。
接着,可请一并参阅图5A与图5B,图5A与图5B是图4的改进方法于一较佳实施例下执行步骤S410与步骤S420的示意图,而且在图5A与图5B的实施例中,我们就先以假设维特比译码器2已知道该3个寄存器R0~R2的3个初始值与该原始信号的最后3个比特值均为“0”的情况来作说明,但其亦非用以限制本发明。也就是说,在编码过程中,当原始信号的第一比特值B1由输入端进入到寄存器R0时,寄存器R0与R1内的初始值“0”就会被分别移往其下一寄存器R1与R2,接着作各自的运算,然后将运算后的输出信号的第一个数据S1传至输出端。因此,如图5A所示,在维特比译码器2收到输出信号的第一个数据S1时,维特比译码器2就能知道编码那时的网格图,应该是会从初始状态“000”变为“B100”,并且因为原始信号的第一比特值B1可能是“0”或“1”,所以这时刻的加比选单元220就只需选择对能够相应于状态“B100”的“000”与“100”这2个状态进行加比选操作,而不需对全部8个状态都进行加比选操作。当然,因为维特比译码器2就已能知道这时刻的状态“000”或“100”是会由前一时刻的初始状态“000”变化而来,所以加比选单元220也就只需考虑选择由状态“000”变为状态“000”或“100”的路径来作为这时刻的幸存路径。
类似地,当原始信号的第二比特值B2由输入端进入到寄存器R0时,寄存器R0内的第一比特值B1与寄存器R1内的初始值“0”又会被分别移往其下一寄存器R1与R2,接着作各自的运算,然后将运算后的输出信号的第二个数据S2传至输出端。因此,在维特比译码器2收到输出信号的第二个数据S2时,维特比译码器2就能知道编码那时的网格图,应该是会从状态“B100”变为“B2B10”,并且因为原始信号的第二比特值B2也可能是“0”或“1”,所以这时刻的加比选单元220就只需选择对能够相应于状态“B2B10”的“000”、“100”、“010”与“110”这4个状态进行加比选操作,而且加比选单元220也就只需考虑选择由状态“000”变为状态“000”或“100”的路径,或者由状态“100”变为状态“010”或“110”的路径来作为这时刻的幸存路径,以此类推,在维特比译码器2收到输出信号的第三个数据S3时,维特比译码器2就能知道编码那时的网格图,应该是会从状态“B2B10”变为“B3B2B1”,所以这时刻的加比选单元220才需选择对全部8个状态都进行加比选操作,但加比选单元220还是可只需考虑选择由状态“000”变为状态“000”或“100”的路径、由状态“100”变为状态“010”或“110”的路径、由状态“010”变为状态“001”或“101”的路径,或者由状态“110”变为状态“011”或“111”的路径来作为这时刻的幸存路径,如图5A所示。
同理,当原始信号的倒数第三个比特值,例如B25由输入端进入到寄存器R0时,寄存器R0与R1内的比特值B24与B23就会被分别移往其下一寄存器R1与R2,接着作各自的运算,然后将运算后的输出信号的倒数第三个数据S25传至输出端。因此,如图5B所示,在维特比译码器2收到输出信号的倒数第三个数据S25时,维特比译码器2就能知道编码那时的网格图,应该是会从状态“B24B23B22”变为“B25B24B23”,并且因为原始信号的倒数第三个比特值B25已知为“0”,所以这时刻的加比选单元220就只需选择对能够相应于状态“0B24B23”的“000”、“010”、“001”与“011”这4个状态进行加比选操作,而不需对全部8个状态都进行加比选操作。
类似地,当原始信号的倒数第二个比特值B26由输入端进入到寄存器R0时,寄存器R0与R1内的比特值B25与B24就会又被分别移往其下一寄存器R1与R2,接着作各自的运算,然后将运算后的输出信号的倒数第二个数据S26传至输出端。因此,如图5B所示,在维特比译码器2收到输出信号的倒数第二个数据S26时,维特比译码器2就能知道编码那时的网格图,应该是会从状态“0B24B23”变为“B260B24”,并且因为原始信号的倒数第二个比特值B26也已知为“0”,所以这时刻的加比选单元220就只需选择对能够相应于状态“00B24”的“000”与“001”这2个状态进行加比选操作,以此类推,在维特比译码器2收到输出信号的最后一个比特值B27时,维特比译码器2也就能知道编码那时的网格图,应该是会从状态“00B24”恢复成初始状态“000”,所以这时刻的加比选单元220就只需选择对状态“000”进行加比选操作。
另一方面,考虑到某些电信标准下的接收端也可已知道该3个寄存器R0~R2的3个初始值与该原始信号的最后3个比特值,但该原始信号的最后3个比特值却又不是与该3个寄存器R0~R2的3个初始值统设为“0”的话,再请一并参阅图6A与图6B。图6A与图6B是图4的改进方法于另一较佳实施例下执行步骤S410与步骤S420的示意图,而且在图6A与图6B的实施例中,我们就改以假设维特比译码器2已知道该3个寄存器R0~R2的3个初始值即分别为“110”,且该原始信号的最后3个比特值则分别为“010”的情况来作说明,但其亦非用以限制本发明。
因此,如图6A所示,在维特比译码器2收到输出信号的第一个数据S1时,维特比译码器2就能知道编码那时的网格图,应该是会从初始状态“110”变为“B111”,并且因为原始信号的第一比特值B1可能是“0”或“1”,所以这时刻的加比选单元220就只需选择对能够相应于状态“B111”的“011”与“111”这2个状态进行加比选操作,而不需对全部8个状态都进行加比选操作。当然,因为维特比译码器2就已能知道这时刻的状态“011”或“111”是会由前一时刻的初始状态“110”变化而来,所以加比选单元220也就只需考虑选择由状态“110”变为状态“011”或“111”的路径来作为这时刻的幸存路径。
类似地,在维特比译码器2收到输出信号的第二个数据S2时,维特比译码器2就能知道编码那时的网格图,应该是会从状态“B111”变为“B2B11”,并且因为原始信号的第二比特值B2也可能是“0”或“1”,所以这时刻的加比选单元220就只需选择对能够相应于状态“B2B11”的“001”、“101”、“011”与“111”这4个状态进行加比选操作,而且加比选单元220也就只需考虑选择由状态“011”变为状态“001”或“101”的路径,或者由状态“111”变为状态“011”或“111”的路径来作为这时刻的幸存路径,以此类推,在维特比译码器2收到输出信号的第三个数据S3时,维特比译码器2就能知道编码那时的网格图,应该是会从状态“B2B11”变为“B3B2B1”,所以这时刻的加比选单元220才需选择对全部8个状态都进行加比选操作,但加比选单元220还是可只需考虑选择由状态“001”变为状态“000”或“100”的路径、由状态“101”变为状态“010”或“110”的路径、由状态“011”变为状态“001”或“101”的路径,或者由状态“111”变为状态“011”或“111”的路径来作为这时刻的幸存路径,如图6A所示。
同理,如图6B所示,在维特比译码器2收到输出信号的倒数第三个数据,例如S25时,维特比译码器2就能知道编码那时的网格图,应该是会从状态“B24B23B22”变为“B25B24B23”,并且因为原始信号的倒数第三个比特值B25已知为“0”,所以这时刻的加比选单元220就只需选择对能够相应于状态“0B24B23”的“000”、“010”、“001”与“011”这4个状态进行加比选操作,而不需对全部8个状态都进行加比选操作。类似地,在维特比译码器2收到输出信号的倒数第二个数据S26时,维特比译码器2就能知道编码那时的网格图,应该是会从状态“0B24B23”变为“B260B24”,并且因为原始信号的倒数第二个比特值B26也已知为“1”,所以这时刻的加比选单元220就只需选择对能够相应于状态“10B24”的“100”与“101”这2个状态进行加比选操作,以此类推,在维特比译码器2收到输出信号的最后一个比特值B27时,维特比译码器2也就能知道编码那时的网格图,应该是会从状态“10B24”变为“B2710”,并且因为原始信号的最后一个比特值B27也已知为“0”,所以这时刻的加比选单元220就只需选择对状态“010”进行加比选操作。
也就是说,只要在维特比译码器2已知道该3个寄存器R0~R2的3个初始值与该原始信号的最后3个比特值的情况下,本实施例的改进方法就能根据已知的编码特性来减少加比选单元220所对于输出信号的头尾3个数据的运算复杂度,尤其是在原始信号长度本来就不够长的情况下,本实施例的改进方法就能够让幸存路径更快收敛到寄存器R0~R2的初始状态,或者是说有助于让维特比译码器2更快找出译码的最佳路径。另外,在本实施例已使用以Radix-2为基底的维特比译码器2作说明后,本技术领域中具有通常知识者应可清楚了解到其他更高维度,例如以Radix-4为基底的维特比译码器的运作原理。
总而言之,在本实施例的维特比译码器是以Radix-2i为基底的话,i为大于等于1的正整数,图4的步骤S410就可以包括:针对该输出信号的第一至第M个数据,该维特比译码器是逐次地将已知的该M个寄存器的M个初始值,以每次i个的方式移位出该M个寄存器,并且从该M个寄存器所包含的2M个状态中,选择能够相应于经本次移位后的状态来进行加比选操作。类似地,图4的步骤S420也就可以包括:针对该输出信号的倒数第M至最后一个数据,该维特比译码器是逐次地将已知的原始信号的最后M个比特值,以每次i个的方式移位入该M个寄存器,并且从该M个寄存器所包含的2M个状态中,选择能够相应于经本次移位后的状态来进行加比选操作。由于详尽细节已如同前述内容所述,故于此就不再多加赘述。
实施例4
最后,为了更进一步说明关于前述改进方法的实现,本发明进一步提供其接收装置的一种实施方式。请参阅图7,图7是本发明实施例所提供的接收装置的功能方块示意图。然而,下述接收装置7仅是前述改进方法的其中一种实现方式,其并非用以限制本发明。如图7所示,接收装置7包括维特比译码器710与存储装置720,其中维特比译码器710即可例如为图3的维特比译码器2,但本发明亦不以此为限制。另外,根据现有技术可知,图4的改进方法可以是由具有复数个指令的应用程序(未绘示)来实现。因此,该应用程序被存储于存储装置720中,且用来指示维特比译码器710执行图4的改进方法。
也就是说,当接收装置7安装该应用程序后,接收装置7即可启动执行图4的改进方法。需要说明的是,本发明并不限制接收装置7所安装该应用程序及启动执行图4的改进方法时的具体实现方式,本技术领域中具有通常知识者应可依据实际需求或应用来进行相关设计。另外,存储装置720可以是直接整合在接收装置7中,如图7所示,或是分开设置在接收装置7外,总而言之,本发明亦不限制存储装置720的具体实现方式。由于详尽细节也如同前述内容所述,故于此就不再多加赘述。
综上所述,本发明实施例所提供的维特比算法的改进方法和接收装置,可以是有效减少加比选单元的运算复杂度,尤其是在原始信号长度本来就不够长的情况下,本实施例的改进方法就能够让幸存路径更快收敛到寄存器的初始状态,或者是说有助于让维特比译码器更快找出译码的最佳路径。
以上所述仅为本发明的实施例,其并非用以局限本发明的专利范围。
Claims (6)
1.一种维特比算法的改进方法,适用于一维特比译码器中,其特征在于,该维特比译码器接收一原始信号所经由一卷积码编码器而产生的一输出信号,且该卷积码编码器具有M个寄存器,M为大于等于2的正整数,该改进方法包括:
针对该输出信号的第一至第M个数据,该维特比译码器是根据已知的该M个寄存器的M个初始值,来进行该维特比算法中的加比选操作;以及
针对该输出信号的倒数第M至最后一个数据,该维特比译码器是根据已知的该原始信号的最后M个比特值,来进行该维特比算法中的该加比选操作。
2.如权利要求1所述的改进方法,其特征在于,该维特比译码器是以Radix-2i为基底,i为大于等于1的正整数,并且在针对该输出信号的该第一至该第M个数据,根据已知的该M个寄存器的该M个初始值,来进行该加比选操作的步骤中,包括:
针对该输出信号的该第一至该第M个数据,该维特比译码器是逐次地将已知的该M个寄存器的该M个初始值,以每次i个的方式移位出该M个寄存器,并且从该M个寄存器所包含的2M个状态中,选择能够相应于经本次移位后的状态来进行该加比选操作。
3.如权利要求2所述的改进方法,其特征在于,在针对该输出信号的该倒数第M至该最后一个数据,根据已知的该原始信号的该最后M个比特值,来进行该加比选操作的步骤中,包括:
针对该输出信号的该倒数第M至该最后一个数据,该维特比译码器是逐次地将已知的该原始信号的该最后M个比特值,以每次i个的方式移位入该M个寄存器,并且从该M个寄存器所包含的该2M个状态中,选择能够相应于经本次移位后的状态来进行该加比选操作。
4.一种接收装置,其特征在于,该接收装置包括:
一维特比译码器,用来接收一原始信号所经由一卷积码编码器而产生的一输出信号,并且使用一维特比算法来对该输出信号进行译码,其中该卷积码编码器具有M个寄存器,M为大于等于2的正整数;以及
一存储装置,存储一应用程序,该应用程序用来指示该维特比译码器执行该维特比算法的一改进方法,其中该改进方法包括:
针对该输出信号的第一至第M个数据,该维特比译码器是根据已知的该M个寄存器的M个初始值,来进行该维特比算法中的加比选操作;以及
针对该输出信号的倒数第M至最后一个数据,该维特比译码器是根据已知的该原始信号的最后M个比特值,来进行该维特比算法中的该加比选操作。
5.如权利要求4所述的接收装置,其特征在于,该维特比译码器是以Radix-2i为基底,i为大于等于1的正整数,并且在针对该输出信号的该第一至该第M个数据,根据已知的该M个寄存器的该M个初始值,来进行该加比选操作的步骤中,包括:
针对该输出信号的该第一至该第M个数据,该维特比译码器是逐次地将已知的该M个寄存器的该M个初始值,以每次i个的方式移位出该M个寄存器,并且从该M个寄存器所包含的2M个状态中,选择能够相应于经本次移位后的状态来进行该加比选操作。
6.如权利要求5所述的接收装置,其特征在于,在针对该输出信号的该倒数第M至该最后一个数据,根据已知的该原始信号的该最后M个比特值,来进行该加比选操作的步骤中,包括:
针对该输出信号的该倒数第M至该最后一个数据,该维特比译码器是逐次地将已知的该原始信号的该最后M个比特值,以每次i个的方式移位入该M个寄存器,并且从该M个寄存器所包含的该2M个状态中,选择能够相应于经本次移位后的状态来进行该加比选操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910141323.5A CN111614363B (zh) | 2019-02-26 | 2019-02-26 | 维特比算法的改进方法和接收装置 |
US16/691,624 US11108415B2 (en) | 2019-02-26 | 2019-11-22 | Method of Viterbi algorithm and receiving device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910141323.5A CN111614363B (zh) | 2019-02-26 | 2019-02-26 | 维特比算法的改进方法和接收装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111614363A true CN111614363A (zh) | 2020-09-01 |
CN111614363B CN111614363B (zh) | 2023-03-24 |
Family
ID=72141933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910141323.5A Active CN111614363B (zh) | 2019-02-26 | 2019-02-26 | 维特比算法的改进方法和接收装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11108415B2 (zh) |
CN (1) | CN111614363B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0543554A1 (en) * | 1991-11-15 | 1993-05-26 | Sony Corporation | Viterbi decoding apparatus |
JP2000312234A (ja) * | 1999-04-27 | 2000-11-07 | Sony Corp | ブランチメトリックおよびセクター算出方法とその装置、および、その装置を用いた復号装置 |
CN101090274A (zh) * | 2007-07-31 | 2007-12-19 | 华为技术有限公司 | 一种维特比译码器及其回溯译码方法和回溯译码装置 |
CN102123009A (zh) * | 2011-03-18 | 2011-07-13 | 京信通信系统(广州)有限公司 | 一种动态维特比解码方法及装置 |
CN102761342A (zh) * | 2011-04-27 | 2012-10-31 | 索尼公司 | 维特比译码器和维特比译码方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4823346A (en) * | 1986-04-16 | 1989-04-18 | Hitachi, Ltd. | Maximum likelihood decoder |
US5416787A (en) * | 1991-07-30 | 1995-05-16 | Kabushiki Kaisha Toshiba | Method and apparatus for encoding and decoding convolutional codes |
WO2005055434A1 (en) * | 2003-11-04 | 2005-06-16 | Arithmatica Limited | Apparatus and method for calculating path metric differences in a maximum likelihood detector or decoder |
CN101036299B (zh) * | 2004-08-25 | 2012-11-14 | 阿苏克斯有限公司 | 用于实现可重构网格类型解码的方法和装置 |
US8140949B2 (en) * | 2007-11-13 | 2012-03-20 | Alpha Imaging Technology Corp. | ACS unit of a Viterbi decoder and method for calculating a bit error rate before a Viterbi decoder |
CN101262233B (zh) * | 2008-04-17 | 2012-09-12 | 四川虹微技术有限公司 | 维特比译码方法 |
US8255780B2 (en) * | 2009-02-18 | 2012-08-28 | Saankhya Labs Pvt Ltd. | Scalable VLIW processor for high-speed viterbi and trellis coded modulation decoding |
CN102932014A (zh) * | 2011-08-12 | 2013-02-13 | 索尼公司 | 卷积码译码器和译码方法 |
CN102386935B (zh) * | 2011-11-03 | 2014-10-08 | 中国科学院深圳先进技术研究院 | 维特比译码方法及维特比译码器 |
CN103546170A (zh) * | 2013-11-04 | 2014-01-29 | 广州市花都区中山大学国光电子与通信研究院 | 一种低功耗状态反馈式维特比译码器及译码方法 |
CN103986477A (zh) * | 2014-05-15 | 2014-08-13 | 江苏宏云技术有限公司 | 矢量viterbi译码指令及viterbi译码装置 |
JP7007115B2 (ja) * | 2017-06-01 | 2022-01-24 | Necプラットフォームズ株式会社 | ビタビ復号装置、及び、ビタビ復号方法 |
KR102338852B1 (ko) * | 2017-08-08 | 2021-12-13 | 삼성전자주식회사 | 무선 통신 시스템에서 신호를 복호하기 위한 장치 및 방법 |
-
2019
- 2019-02-26 CN CN201910141323.5A patent/CN111614363B/zh active Active
- 2019-11-22 US US16/691,624 patent/US11108415B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0543554A1 (en) * | 1991-11-15 | 1993-05-26 | Sony Corporation | Viterbi decoding apparatus |
JP2000312234A (ja) * | 1999-04-27 | 2000-11-07 | Sony Corp | ブランチメトリックおよびセクター算出方法とその装置、および、その装置を用いた復号装置 |
CN101090274A (zh) * | 2007-07-31 | 2007-12-19 | 华为技术有限公司 | 一种维特比译码器及其回溯译码方法和回溯译码装置 |
CN102123009A (zh) * | 2011-03-18 | 2011-07-13 | 京信通信系统(广州)有限公司 | 一种动态维特比解码方法及装置 |
CN102761342A (zh) * | 2011-04-27 | 2012-10-31 | 索尼公司 | 维特比译码器和维特比译码方法 |
Also Published As
Publication number | Publication date |
---|---|
US11108415B2 (en) | 2021-08-31 |
CN111614363B (zh) | 2023-03-24 |
US20200274557A1 (en) | 2020-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7765459B2 (en) | Viterbi decoder and viterbi decoding method | |
US20070266303A1 (en) | Viterbi decoding apparatus and techniques | |
US20050157823A1 (en) | Technique for improving viterbi decoder performance | |
US7277507B2 (en) | Viterbi decoder | |
KR100853139B1 (ko) | 전송 포맷 검출 장치 및 방법 | |
JPH10117149A (ja) | ビタービ復号化器用トレースバック装置及びトレースバック方法 | |
KR100309517B1 (ko) | 비타비복호장치 | |
KR100195741B1 (ko) | 가변 레이트 비터비 복호화기 | |
JP3233847B2 (ja) | ビタビ復号方法及びビタビ復号回路 | |
US8055986B2 (en) | Viterbi decoder and method thereof | |
CN114448562A (zh) | 维特比解码器中的并行回溯 | |
JP2008118327A (ja) | ビタビ復号方法 | |
JP2005294898A (ja) | ビタビ復号方法、復号化装置、移動局無線装置、基地局無線装置および移動通信システム | |
CN111614363B (zh) | 维特比算法的改进方法和接收装置 | |
JP2004349901A (ja) | ターボ復号器及びそれに用いるダイナミック復号方法 | |
JPH05183448A (ja) | 誤り訂正符復号化装置 | |
CN108768412B (zh) | 一种低延时Viterbi译码方法及系统 | |
US20130136215A1 (en) | Channel decoding method and tail biting convolutional decoder | |
US20070283232A1 (en) | Method for near maximum-likelihood sequential decoding | |
JP5370487B2 (ja) | 復号方法および復号装置 | |
JP3351414B2 (ja) | ビタビ復号装置 | |
US8503585B2 (en) | Decoding method and associated apparatus | |
JPH09135177A (ja) | ビタビ復号同期判定方法および装置 | |
JPH07321671A (ja) | ビタビ復号装置 | |
Laddha et al. | Implementation of Adaptive Viterbi Decoder through FPGA |
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 |