CN1049778C - 用于实现误码纠错用卷积码的维特比译码的运算装置 - Google Patents

用于实现误码纠错用卷积码的维特比译码的运算装置 Download PDF

Info

Publication number
CN1049778C
CN1049778C CN93118166A CN93118166A CN1049778C CN 1049778 C CN1049778 C CN 1049778C CN 93118166 A CN93118166 A CN 93118166A CN 93118166 A CN93118166 A CN 93118166A CN 1049778 C CN1049778 C CN 1049778C
Authority
CN
China
Prior art keywords
register
data
latch
unit
arithmetic
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.)
Expired - Fee Related
Application number
CN93118166A
Other languages
English (en)
Other versions
CN1086618A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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
Priority claimed from JP25956392A external-priority patent/JP3191442B2/ja
Priority claimed from JP14494893A external-priority patent/JPH0722969A/ja
Priority claimed from JP19109293A external-priority patent/JPH0746145A/ja
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1086618A publication Critical patent/CN1086618A/zh
Application granted granted Critical
Publication of CN1049778C publication Critical patent/CN1049778C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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/3961Arrangements of methods for branch or transition metric calculation
    • 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
    • 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
    • H03M13/4107Sequence 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
    • 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
    • H03M13/413Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
    • 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
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种用于进行误码校错用卷积码的维特比译码的运算装置,其包括存储器,鼓式移位器,移位寄存器及数据变换器。其中以数据变换器的输出信号数据作为鼓式移位器的移位比特数,将从所述存储器读取的数据按照由所述数据变换器的输出信号数据所指定的移位比特数,由鼓式移位器进行移位,并将鼓式移位器的输出信号数据输入到移位寄存器,从而高速度地进行维特比译码。

Description

用于实现误码纠错用卷积码的维特比译码的运算装置
本发明涉及数字信号处理微处理器内部的运算装置,该数字信号处理微处理器用来进行误码校正用卷积码数据的维特比译码。
近年来,数字信号处理微处理器(以下简称为DSP)伴随移动通信领域中数字化的趋势,例如作为组装在携带式电话等机器内的微处理器受到人们注视。在移动无线回路的数据通信中,经常发生误码现象,所以,必须进行误码校正处理。对于误码校正的方法,有对卷积码使用维特比译码的方法,有时在误码校正处理中使用DSP。
维特比译码就是利用反复进行加法运算、比较、选择这种单纯的处理和最后将数据译码的跟踪反馈操作而实现卷积码的最优译码。
在维特比译码中,每当得到与信息位1比特对应的编码数据(接收数据序列)时,就计算该时刻各个状态路径的汉明距(量度),求出幸存路径。
图1是在约束长度为K的卷积码编码器中,对于某一时刻的状态S2n(n为正整数),根据前一时刻的状态Sn和状态(数1)表示状态迁移的2条路径延伸的情况。
[数1]
                      Sn+2 (k-1)
路径量度a是输入于状态S2n的路径输出代码与接收数据序列的汉明距(支路量度)以及到前一时刻的状态Sn为止的幸存路径的分支路量度总和,即路径量之和。同样,路径量度b是输入状态S2n的路径输出符号与接收数据序列的汉明距(支路量度)以及到前一时刻的状态(数1)为止的幸存路径的支路量度总和即路径量度之和。
比较输入状态S2n的路径量度a和b,选择小的一方作为幸存路径。这样,在各个时刻,对2k-1个状态进行为了求路径量度的加法运算、路径量度的比较和路径的选择等各种处理。另外,在路径的选择中,必须将选择哪一方的滞后作为路径选择信号Ps[Si],(i=0~(2k-1-1))预先保留。如果选择的路径的前一状态的下标小于另一方时,令PS[Si]=0,否则,就令PS[Si]=1。最后利用跟踪反馈进行译码时,根据该路径选择信号,在追溯幸存路径的同时,进行译码。
图2是对某一时刻的状态S2n(n是正整数)以路径选择信号PS[S2n]为基码向前一时刻的状态Sn或状态(数1)追溯路径的情况。
通常,状态Si和路径选择信号PS[Si]前一时刻的状态用[数2]表示。
[数2]
                S·i/2+PS[Si]·2(k-1)
这时,在末位使用终端的卷积码时,可以以路径选择信号作为译码数据。
在图3中,1是数据存储器,用来存储路径量度、路径选择信号和译码数据等。3是鼓式移位器,使从数据存储器1中读取的数据移位。6是第1总线,与数据存储器1连接,进行数据的供给及运算结果的存储等。7是第1寄存器,用来保持鼓式移位器3进行移位时的移位比特数。8是算术逻辑运算电路(以下简称为ALU),进行算术逻辑运算。9是第1锁存器,用来暂时存储ALU8左侧输入的值。10是第2锁存器,用来暂时存储ALU8右侧输入的值。11和12分别是第2寄存器,由多个构成,用来暂时存储运算结果。13是第2总线,从寄存器11或寄存器12进行数据供给。用2的补码体系表示鼓式移位器3的移位比特数,正数时为右移位,负数时为左移位。
对于上述结构的运算装置,对在以末位终止的卷积编码的编码数据进行维特比译码时跟踪反馈操作的动作进行说明。假定条件是卷积码的约束长度为K,进行了编码的信息位数为n,数据存储器1、第1总线6、第2总线13、第1锁存器9、第2锁存器10、ALU8、第2寄存器11和12的位宽分别为2k-1比特。另外,设t时刻的路径选择信号PSt[Si](t=0~((n+1)+(k-1),i=0~(2k-1-1)如路径量度(数3)那样,填在1个字内,以PM[t](t=0~(n-1)+(k-1)的形式存储在数据存储器中。
[数3]
PM[t]=(PSt[S2 (k-1)-1],PSt[S2 (k-1)-2]
……,PSt[S1],PSt[S0]
经过译码的数据Y[i](i=0~(n-1)以1位1字的形式存储到数据存储器中。
下面,分阶段说明跟踪反馈的动作。
(1)将固定值[0]存储到第2锁存器10内。ALU8直接将第2锁存器10的值存储到第2寄存器11中。
[从0状态开始]
对后面的阶段(2)~(10),在((n-1)+(k-1))-(k-1)内,对i反复n次进行减法计数。
(2)通过第2总线13将第2寄存器11的值存储到第1锁存器9内。利用ALU8求出第1锁存器9的值的2的补码,并存储到第2寄存器12中。
(3)通过第1总线6将第2寄存器12的值存储到第1寄存器7中。
[成为用于选择如下路径选择信号的移位比特数]
(4)从数据存储器1中读出路径量度PM[i],利用鼓式移位器3移位第1寄存器7指示的移位比特数,然后存储到第2锁存器10内。ALU8直接将第2锁存器10的值存储到第2寄存器12中。
[将选择的路径选择信号寄存在最低位比特(LSB)]
(5)通过第2总线13将第2寄存器12的值存储到第1锁存器9内,将固定值[1]存储到第2锁存器10内。在ALU8中,求第1锁存器9和第2锁存器10的逻辑积,并存储到第2寄存器12内。
[只抽出LSB]
(6)将第2寄存器12的值作为译码数据Y[i-(k-1)]存储到数据存储器中。
[LSB成为译码数据]
(7)将固定值[k]存储到第1寄存器7内。
(8)通过第2总线13将第2寄存器12的值存储到第1锁存器9内,利用鼓式移位器3把第2寄存器12的值按第1寄存器7指定的移位比特数移位,并通过第1总线6将其输出,存储到第2锁存器10内。在ALU8中,求第1锁存器9和第2锁存器10的逻辑和,并存储到第2寄存器12内。
(9)将固定值[-1]存储到第1寄存器7内。
(10)用鼓式移位器3把第2寄存器12的值按第1寄存器7指定的移位比特数移位,再将其输出存储到第2锁存器10内。ALU8直接将第2锁存器10的值存储到第2寄存器12内。
[在步骤(6)~(10)计算前一时刻的状态]
这样,在上述以往的运算装置中,通过将鼓式移位器3和ALU8相结合进行运算,可以将n比特信息位的维特比译码中的跟踪反馈操作进行到(9n+1)步。
另外,运算位宽小于状态数2k-1时,或不是以末位的比特终止而连续使用卷积码时,同样也可以进行跟踪反馈操作。
另外,US4,979,175公开了一种ACS运算,通过该运算处理,从其先前旧路径度量和分支度量可以得到一个新路径度量。其中该ACS运算是用于实现维特比译码的处理之一,在该公开技术中,路径度量被定义为状态度量。在进行ACS运算时,需要用于存储旧路径度量的存储空间及用于存储计算出的新路径度量的存储空间。在该公开文件中,提供了一公共存储空间来存储新路径度量与旧路径度量。
但是,在上述以往的运算装置中,为了求前一时刻的状态所需要的运算步骤多,另外,由于以1比特1字节的形式存储译码数据,所以,要求数据存储器的容量大。
本发明就是为解决上述问题提出的,其目的旨在提供一种优异的运算装置,可以用很少的运算步骤和很少的数据存储器进行维特比译码中的跟踪反馈操作。
为了达到上述目的,本发明设有存储器、鼓式移位器、移位寄存器和数据变换器,存储器用来存储数据;鼓式移位器将从上述存储器读出的上述数据进行移位;移位寄存器也具有将上述鼓式移位器的输出信号即数据的特定的1位作为移位输入后,并向上述存储器的数据负载及上述存储器进行数据存储的功能;数据变换器用来使上述移位寄存器的特定寄存器的输出变换。以上述数据变换器的输出信号即数据作为上述鼓式移位器的移位比特数,将从上述存储器读出的上述数据按照由上述数据变换器的输出即数据所表示的移位比特数由鼓式移位器进行移位,同时,将上述鼓式移位器的输出信号即数据输入上述移位寄存器。
因此,按照本发明,通过利用鼓式移位器将从数据存储器读出的路径量度进行移位,只将所选择的路径选择信号输入移位寄存器,便可求出前一时刻的状态和决定下一个鼓式移位器的移位比特数,进而可以将存储在移位寄存器中的路径选择信号作为译码数据,所以,利用很少的运算步骤和很少的数据存储器就可以进行维特比译码中的跟踪反馈操作。
图1是表示维特比译码中卷积编码器的状态转移路径的状态转移图(结构线图)。
图2是表示追溯维特比译码中跟踪反馈时的路径的状态迁移图(结构线图)。
图3是表示先有的维特比译码用运算装置的结构框图。
图4是本发明的一个实施例中维特比译码用运算装置的结构框图。
图5是其它实施例中维特比译码用运算装置的结构框图。
图6也是其它实施例中维特比译码用运算装置的结构框图。
图7是本发明的一个实施例中运算装置的结构框图。
图8是表示数据存储器的区域分配例子的模式图,用于运算装置的动作说明。
图9是表示所有的状态从前一时刻的状态向现时刻的状态转移的情况的状态转移图,用于运算装置的动作说明。
图10是表示本发明的运算装置实施例的结构框用。
图4是本发明的一个实施例中维特比译码用运算装置的结构框图。
在图4中,1是数据存储器,用来存储路径量度、路径选择信号和译码数据等。2是总线,和数据存储器1相连接,进行数据的供给和运算结果的存储等。3是鼓式移位器,用来移位从数据存储器1读取的数据。4是移位寄存器,可以移位输入鼓式移位器3所输出的特定1比特,并且通过总线2向数据存储器1的数据负载或数据存储器1进行数据存储。5是倒相器,用来使移位寄存器4的特定寄存器的值倒相后将移位比特数供给鼓式移位器3。需要指出的是,倒相器5亦可以是其他的含有倒相器功能的数据变换器,在本发明中为了便于说明,特以倒相器为例。鼓式移位器3的移位比特数用2的补码体系表示,正数时为右移,负数时为左移。移位寄存器4以移位输入端为最高位(MSB)。
对于上述结构的运算装置,对以末位终止的卷积编码的编码数据进行维特比译码时跟踪反馈操作的动作进行说明。假定条件是卷积码的约束长度为K,进行过编码的信息位数为n,数据存储器1、总线2和移位寄存器4的位宽为2k-1比特。对于移位寄存器4的移位输入,输入鼓式移位器3所输出的MSB,倒相器5使移位寄存器4的上位(k-1)比特倒相,使在该输出(k-1)比特MSB附加了0的k位成为鼓式移位器3的移位比特数。此外,t时刻的路径选择信号PSt[Si](t=0~((n-1)+(k-1)),i=0~(2k-1-1))像路径量度(数3)那样,填在1个字内,以PM[t]t=0~((n-1)+(k-1)),的形式存储到数据存储器1内。
经过译码的数据Y[i](i=0~(n-1))将2K-1比特填在1个字内,存储到数据存储器1内。下面,分步骤说明跟踪反馈的动作。
(1)将固定值[1]存储到移位寄存器4内。
[从0状态开始]
对于后面的步骤(2)~(3),按照((n-1)+(k-1)~(k-1)减法计数i,反复n次。
(2)从数据存储器1读出路径量度PM[i],由鼓式移位器3使之按倒相器5的输出K比特指定的移位比特数进行移位,并将鼓式移位器3输出的MSB移位输入移位寄存器4内。
[将选择的路径选择信号寄存到MSB]
[移位输入后上位(k-1)比特表示前一时刻的状态]
[同时,上位(k-1)比特的倒相成为用于选择下一个路径选择信号的移位比特数基础]
(3)每进行一次2k-1比特译码,就把移位寄存器4的内容向数据存储器1中存储一次。
[选择的路径选择信号成为译码数据]
如上所述,按照本发明,在步骤(2)可以进行路径选择信号的选择和前一时刻的状态计算,所以,可以用(n+(n/2k-1)+1)步进行n比特信息比的维特比译码中的跟踪反馈操作。
图5和图6是本发明其它实施例的运算装置的结构框图。图5和图6是在图4所示的结构上再加上第一寄存器7、ALU8、第1锁存器9、第2锁存器10、第2寄存器11,12和第2总线13,为了进行维特比译码的跟踪反馈操作以外的处理,这些结构是必须的。
运算位宽度小于状态数2k-1时,或者末位不是终端,连续使用卷积码时,同样也可以进行跟踪反馈操作。
图7是本发明的一个实施例中运算装置的结构框图。在图7中,21和22是存储路径量度和路径选择信号等的第1数据存储器和第2数据存储器,23,24分别是和数据存储器21,22连接的用于进行数据的供给和运算结果的存储等的总线。25是用来选择来自总线24的输入和来自后面所述的寄存器的输入的多路转换器。26是暂时存储ALU8的右侧输入值的锁存器,27是暂时存储ALU8的左侧输入值的锁存器。28是暂时存储加法器31的右侧输入值的锁存器,29是暂时存储加法器31的左侧输入值的锁存器,8是对锁存储器26和27的内容进行算术逻辑运算的ALU,31是将锁存器28和29的内容进行加法运算的加法器,32、33、34和35是用来暂时存储ALU8和加法器31的运算结果的多个成对寄存器,36和37是用来选择寄存器32-35的输出的多路转换器,38是用来暂时存储ALU8的运算结果的第1寄存器,39是用来暂时存储加法器31的运算结果的第2寄存器,40是用来选择寄存器38和39的输出的多路转换器。41是大小比较器,用来对ALU8的输出和加法器31的输出进行大小比较,当ALU8的输出小或等于加法器31的输出时,输出比较结果0,当加法器31的输出小时,输出比较结果1。42是大小比较器41的比较结果即选择信号,43是将选择信号42进行移位输入的移位寄存器,44、45和46是表示数据存储器21,22的读取地址或存储地址的指示器,47是选择指示器输出的多路转换器,48是用来使选择信号42延迟1个步长的延迟器。
下面,对于上述结构的运算装置,对某时刻的2k-1个状态的ACS计算动作进行说明。为了简单起见,取N=2,K=3。预先在数据存储器21和22中,设定存储前一时刻各状态的路径量度P^[i](i=0~3),现时刻得到的各状态的路径量度P[i](i=0~3)和选择信号PS[i](i=0~3)的区域。图8是数据存储器21和22的区域分配的例子。在指示器44、45和46中,作为初始值分别预先设置(P^[0],P^[2])的读取地址、(P[0],P[2])的存储地址和选择信号的存储地址。图9对所有状态表示从前一时刻的状态向现时刻的状态转移的情况。在图9中,给出了从前一时刻的状态向现时刻的状态转移时,分别通过各卷积编码器的原来的输出代码的例子。所计算的接收信号和各个输出代码的距离为支路量度,只要输出代码相同,分路量度就相等,所以,可以预先计算输出代码00,01,10,11和22种支路量度,并将已计算了22种的支路量度预先存储到寄存器32、33、34和35内。
下面,分步骤说明某时刻22个状态的ACS计算的动作概要。
状态S[0]的ACS计算
(1)从由指示器44指示的数据存储器21和22的地址读取路径量度P^[0],P^[2],分别存储到锁存器26和锁存器29内。将寄存器32的内容存储到锁存器27内,将与之配对的寄存器35的内容存储到锁存器28内。ALU8将锁存器26的内容和锁存器27的内容进行加法计算,并将其结果存储到寄存器38内,同时作为大小比较器41的一侧输入。另一方面,加法器31将锁存器28的内容和锁存器29的内容进行加法运算,并将其结果存储到寄存器39内,同时作为大小比较器41的另一侧输入。大小比较器41将ALU8的输出和加法器31的输出进行大小比较,产生选择信号42。将选择信号42锁存到移位寄存器43和延迟器48内。该状态就是“求P^[0]和相对于输出代码00的支路量度之和,求P^[2]和相对于输出代码11的支路量度之和,并进行路径量度的比较、选择和路径选择信号的存储”。
(2)将由延迟器48的输出所选择的寄存器38或寄存器39的内容存储到指示器45指示的数据存储器21的地址中。
状态S[1]的ACS计算
(3)将寄存器35的内容存储到锁存器27内,将与之配对的寄存器32的内容存储到锁存器28内。ALU8将在步骤(1)已存储到锁存器26内的内容和锁存器27的内容进行加法运算,并将其结果存储到寄存器38内,同时作为大小比较器41的一边输入。另一方面,加法器31将在步骤(1)已存储到锁存器29内的内容和锁存器28的内容进行加法运算,并将其结果存储到寄存器39内,同时作为大小比较器41的另一边输入。大小比较器41将ALU8的输出和加法器31的输出进行比较,产生路径选择信号42。将路径选择信号42锁存在移位寄存器43和延迟器48中。这一状态就是“P^[0]和相对于输出代码11的支路量度之和,求P^[2]和相对于输出代码00的支路量度之和,并进行路径量度的比较、选择和路径选择信号的存储”。
(4)使指示器45增值后,将由延迟器48的输出所选择的寄存器38或寄存器39的内容存储到指示器45指示的数据存储器21的地址中。
(5)使指示器45的内容返回到(P[0],P[2])的存储地址。
状态S[2]的ACS计算
(6)使指示器44增值后,从指示器44指示的数据存储器21和22的地址读取路径量度P^[1],P^[3],分别将它们存储到锁存器26和锁存器27内。将寄存器33的内容存储到锁存器27内,将与之配对的寄存器34的内容存储到锁存器28内。ALU8将锁存器26的内容和锁存器27的内容进行加法运算,并将其结果存储到寄存器38内,同时,作为大小比较器41的一边输入。另一方面,加法器31将锁存器28的内容和锁存器29的内容进行加法运算,并将其结果存储到寄存器39内,同时作为大小比较器41的另一边输入。大小比较器41将ALU8的输出和加法器31的输出进行大小比较,产生路径选择信号42。将路径选择信号42锁存到移位寄存器43和延迟器48内。这一状态就是“求P^[1]和相对于输出代码01的支路量度之和,求P^[3]和相对于输出代码01的支路量度之和,并进行路径量度的比较、选择和路径选择信号的存储”。
(7)将由延迟器48的输出所选择的寄存器38或寄存器39的内容存储到指示器45指示的数据存储器22的地址中。
状态S[3]的ACS计算
(8)将寄存器34的内容存储到锁存器27内,将与之配对的寄存器33的内容存储到锁存器28内。ALU8将在步骤(6)已存储到锁存器26内的内容和锁存器27内的内容进行加法运算,并将其结果存储到寄存器38内,同时作为大小比较器41的一边输入。另一方面,加法器31将在步骤(6)已存储到锁存器28内的内容和锁存器29的内容进行加法运算,并将其结果存储到存器39内,同时作为大小比较器41的另一边输入。大小比较器41将ALU8的输出和加法器31的输出进行大小比较,产生路径选择信号42。将路径选择信号42锁存到寄存器43和延迟器48内。这一状态就是“求P^[1]和相对于输出代码10的支路量度之和,求P^[3]和相对于输出代码01的支路量度之和,并进行路径量度的比较、选择和路径选择信号的存储”。
(9)使指示器45增值后,将由延迟器48的输出所选择的寄存器38或寄存器39内的内容存储到指示器45指示的数据存储器22的地址中。
(10)将移位寄存器43内的内容存储到指示器46指示的数据存储器21的地址中。这一状态就是“将前一时刻各状态的路径选择信号填在1个字内进行存储”。
这样,在上述实施例的运算装置中,对于N=2,K=3的情况,为了进行某一时刻22个状态的ACS计算。相对于以往的大约37个步骤,用本发明的装置大约10个步骤就可以完成。另外,通常,对于N=2,K=3的情况,为了进行某时刻的2k-1个状态的ACS计算,相对于以往的大约(9*2k-1+1)个步骤,用大约(2*(2k-1+1)个步骤就能完成。只是当N增大或寄存器数量有限制时,多少要加一些步骤。
下面,参照附图详细说明本发明的运算装置的实施例。
图10是本发明运算装置的实施例的结构框图。在图10中,该运算装置具有数据存储器51及52、总线53及54和多路转换器55,数据存储器51及52用来存储接收信号和距离等;总线53及54和数据存储器51及52连接,用来进行数据的供给及运算结果的存储等;多路转换器55用来选择来自总线54的输入和来自多路转换器66的输入。并且该运算装置还具有锁存器56、57、58和59,锁存器56用来暂时存储算术逻辑运算电路(以下简称为ALU)8的右侧输入值;锁存器57用来暂时存储ALU8的左侧输入值;锁存器58用来暂时存储加法器31的右侧输入值;锁存器59用来暂时存储加法器31的左侧输入值。另外,该运算装置还具有进行算术逻辑运算的ALU8、加法器31、暂时存储运算结果的寄存器62,63,64及65、选择这些寄存器62,63,64,65的输出的多路转换器66及67和指示数据存储器51及52的读取地址或存储地址的指示器68。
下面,说明本实施例的构成的动作。
这里,先说明求某时刻2N种支路量度的动作。只要是有接收信号和现实性的规模,对于接收信号R取得的所有值,将距离d(R,0)作为预先求出的表存储到数据存储器51内。对于接收信号R取得的所有值,将距离d(R,1)作为预先求出的表存储到数据存储器52内。在数据存储器51和52内,d(R,0)和d(R,1)存储在同一地址。另外,在数据存储器51中存储的接收信号是为了查表用的地址。同时使用ALU8和加法器31时,将寄存器62与寄存器65及寄存器63与寄存器64分别配对使用。
下面,对于N=2的情况,按处理顺序说明求支路量度的动作概要。
(1)从数据存储器51读取接收信号R0,存储到指示器68内。
(2)从指示器68指示的数据存储器51的地址读取距离d(R0,0),存储到储存器56内。ALU8使锁存器56的内容通过后,存储到寄存器62内。另一方面,从指示器68指示的数据存储器52的地址读取距离d(R0,1),存储到锁存器59内。加法器31使锁存器59的内容通过后,存储到寄存器65内。
(3)ALU8使锁存器56的经过上述(2)的处理所存储的内容通过后存储到寄存器63内。另一方面,加法器31使锁存器59的经过上述(2)的处理所存储的内容通过后存储到寄存器64内。
(4)从数据存储器51读取接收信号R1,将其存储到指示器68内。
(5)从指示器68指示的数据存储器51的地址读取距离d(R1,0)后,存储到锁存器56内。将寄存器62的内容存储到锁存器57内。ALU8将锁存器56的内容和锁存器57的内容进行加法运算,并将其结果存储到寄存器62内。另一方面,从指示器68指示的数据存储器52的地址读取距离d(R1,1),存储到锁存器59内。将寄存器65的内容存储到锁存器59内。加法器31将锁存器58的内容和锁存器59的内容进行加法运算,并将其结果存储到寄存器65内。
因此,在寄存器62内可以求出R0,R1和00的距离,在寄存器65内可以求出R0,R1和11的距离。
(6)将寄存器64的内容存储到锁存器57内。ALU8将锁存器56的经过上述(5)的处理后存储的内容和锁存器57的内容进行加法运算,并将其结果存储到寄存器64内。另一方面,将锁存器63的内容存储到锁存器58内。加法器31将锁存器59的经过上述(5)的处理后存储的内容和锁存器58的内容进行加法运算,并将其结果存储到寄存器63内。因此,在寄存器63内可以求出R0,R1和01的距离,在寄存器64内可以求出R0,R1和10的距离。
如上所述,按照本实施例,对于N=2的情况,求22种支路量度时的处理用大约6步就可以完成。通常,对于N=N的情况,为了求2N种支路量度,进行N(2N/2+1)步处理就可以完成。只是当N增大,寄存器的数量有限制时,多少要增加若干处理步骤。另外,所具备的表不现实时,需要根据接收信号求出每次的距离d(R,0)、d(R,1),增加这部分所需要的处理步骤。即,和通常的处理一样。
从上述说明可知,由于本发明的运算装置可以利用ALU和加法器同时进行加法运算,所以,可以同时计算两个支路量度。这时,把数据存储器分为两部分,不增加存储器的大小,就可以减少进行支路量度计算的运算步骤数。

Claims (6)

1.一种运算装置,用于误码纠错用卷积码的维特比译码,其特征在于:包括
一个存储器(1),用于存储数据;
一个鼓式移位器(3),用于将从所述存储器读出的数据移位;
一个移位寄存器(4),用于接收表示所述鼓式移位器的输出信号的数据的特定一比特的移位输入,并执行对于所述存储器的数据的读出和存储;及
一个数据变换器(5),用于将所述移位寄存器的特定寄存器输出进行变换,
其特征在于:
所述鼓式移位器(3)使用表示所述数据变换器(5)的输出信号的数据作为其一个移位比特数;并且
所述鼓式移位器(3)以由所述数据变换器(5)的输出信号数据所指定的移位比特数将从所述存储器(1)读取的数据进行移位;
所述移位寄存器(4)接收表示所述鼓式移位器(3)的输出信号的数据,从而高速度地进行维特比译码。
2.如权利要求1所述的运算装置,其特征在于,所述数据变换器(5)包括倒相器。
3.如权利要求1所述的运算装置,其特征在于,进一步包括:
算术逻辑运算器(8);
多个存储装置(9,10),用于算术逻辑运算器进行运算时使用;
第1寄存器(7),用于保持由所述鼓式移位器进行移位时的移位比特数;及
第2寄存器(11,12),用于暂时存储所述算术逻辑运算的运算结果。
4.如权利要求3所述的运算装置,其特征在于,所述数据变换器(5)包括倒相器。
5.如权利要求1所述的运算装置,其特征在于,进一步包括:
算术逻辑运算器(8);
多个存储装置(9,10),用于算术逻辑运算器进行运算时使用;
第1寄存器(7),用于保持由所述鼓式移位器进行移位时的移位比特数;及
第2寄存器(11,12),用于暂时存储所述鼓式移位器的输出信号。
6.如权利要求5所述的运算装置,其特征在于:所述数据变换器(5)包括倒相器。
CN93118166A 1992-09-29 1993-09-29 用于实现误码纠错用卷积码的维特比译码的运算装置 Expired - Fee Related CN1049778C (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP259563/92 1992-09-29
JP25956392A JP3191442B2 (ja) 1992-09-29 1992-09-29 ビタビ復号用演算装置
JP259563/1992 1992-09-29
JP144948/93 1993-06-16
JP144948/1993 1993-06-16
JP14494893A JPH0722969A (ja) 1993-06-16 1993-06-16 演算装置
JP19109293A JPH0746145A (ja) 1993-08-02 1993-08-02 演算装置
JP191092/1993 1993-08-02
JP191092/93 1993-08-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN99106651.0A Division CN1237046A (zh) 1992-09-29 1999-05-18 用于实现误码纠错用卷积码的维特比译码的运算装置

Publications (2)

Publication Number Publication Date
CN1086618A CN1086618A (zh) 1994-05-11
CN1049778C true CN1049778C (zh) 2000-02-23

Family

ID=27318908

Family Applications (2)

Application Number Title Priority Date Filing Date
CN93118166A Expired - Fee Related CN1049778C (zh) 1992-09-29 1993-09-29 用于实现误码纠错用卷积码的维特比译码的运算装置
CN99106651.0A Pending CN1237046A (zh) 1992-09-29 1999-05-18 用于实现误码纠错用卷积码的维特比译码的运算装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN99106651.0A Pending CN1237046A (zh) 1992-09-29 1999-05-18 用于实现误码纠错用卷积码的维特比译码的运算装置

Country Status (5)

Country Link
US (1) US5715470A (zh)
EP (2) EP1049001B1 (zh)
CN (2) CN1049778C (zh)
AU (1) AU652896B2 (zh)
DE (2) DE69331568T2 (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970097A (en) * 1996-10-15 1999-10-19 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus for use in Viterbi decoding
DE19647157A1 (de) * 1996-11-14 1998-05-28 Siemens Ag Mehrstufige Multiplexeranordnung
DE19647156A1 (de) * 1996-11-14 1998-05-20 Siemens Ag Mehrstufige Multiplexeranordnung
TW374885B (en) * 1997-06-06 1999-11-21 Matsushita Electric Ind Co Ltd The arithmetic unit
JP3338374B2 (ja) * 1997-06-30 2002-10-28 松下電器産業株式会社 演算処理方法および装置
US6641897B2 (en) 1998-02-13 2003-11-04 The Milwaukee School Of Engineering Three dimensional object
US6309581B1 (en) 1998-02-13 2001-10-30 Milwaukee School Of Engineering Method of making a three dimensional object
US6496920B1 (en) * 1998-03-18 2002-12-17 Qiuzhen Zou Digital signal processor having multiple access registers
US6573936B2 (en) * 1998-08-17 2003-06-03 Intel Corporation Method and apparatus for providing a single-instruction multiple data digital camera system that integrates on-chip sensing and parallel processing
US6952823B2 (en) * 1998-09-01 2005-10-04 Pkware, Inc. Software patch generator using compression techniques
US7031407B1 (en) * 1998-09-28 2006-04-18 Ceva D.S.P. Ltd. Apparatus and method for decoding and trace back of convolution codes using the viterbi decoding algorithm
FR2789247B1 (fr) * 1999-01-28 2004-10-15 St Microelectronics Sa Circuit electronique modulaire a synchronisation amelioree
US6623687B1 (en) 1999-08-06 2003-09-23 Milwaukee School Of Engineering Process of making a three-dimensional object
US6318156B1 (en) * 1999-10-28 2001-11-20 Micro Motion, Inc. Multiphase flow measurement system
US20050015608A1 (en) * 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US20060143253A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143237A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060155788A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060173847A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143249A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143199A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US7844579B2 (en) * 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US6879988B2 (en) * 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US20060143180A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
DE10127348A1 (de) * 2001-06-06 2002-12-19 Infineon Technologies Ag Verfahren und Schaltungsanordnung zur Übertragung von Daten zwischen einem Prozessor und einem Hardware-Rechenwerk
CN1442009A (zh) 2000-07-03 2003-09-10 因芬尼昂技术股份公司 采用多个硬件数据路径实现acs和传输度量操作的维特比均衡器
JP3532884B2 (ja) * 2001-05-18 2004-05-31 松下電器産業株式会社 ビタビ復号器
US6934728B2 (en) * 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US6952711B2 (en) * 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US7467178B2 (en) * 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US20030028696A1 (en) * 2001-06-01 2003-02-06 Michael Catherwood Low overhead interrupt
US20030023836A1 (en) * 2001-06-01 2003-01-30 Michael Catherwood Shadow register array control instructions
US6728856B2 (en) 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US20030005269A1 (en) * 2001-06-01 2003-01-02 Conner Joshua M. Multi-precision barrel shifting
US7020788B2 (en) * 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US6976158B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6985986B2 (en) * 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US20020184566A1 (en) * 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US20030005268A1 (en) * 2001-06-01 2003-01-02 Catherwood Michael I. Find first bit value instruction
US6937084B2 (en) * 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
US7007172B2 (en) * 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US6975679B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6848074B2 (en) * 2001-06-21 2005-01-25 Arc International Method and apparatus for implementing a single cycle operation in a data processing system
AUPR679201A0 (en) * 2001-08-03 2001-08-30 Lucent Technologies Inc. Path metric normalization of add-compare-select processing
US20040021483A1 (en) * 2001-09-28 2004-02-05 Brian Boles Functional pathway configuration at a system/IC interface
US6552567B1 (en) 2001-09-28 2003-04-22 Microchip Technology Incorporated Functional pathway configuration at a system/IC interface
JP2005045727A (ja) * 2003-07-25 2005-02-17 Matsushita Electric Ind Co Ltd ビタビ復号器
US7188302B2 (en) * 2004-04-14 2007-03-06 Realtek Semiconductor Corp. Parallel decision-feedback decoder and method for joint equalizing and decoding of incoming data stream
US7231586B2 (en) * 2004-07-21 2007-06-12 Freescale Semiconductor, Inc. Multi-rate viterbi decoder
CN101192833B (zh) * 2006-11-28 2011-12-07 华为技术有限公司 一种低密度校验码ldpc并行编码的装置及方法
US10057587B2 (en) * 2015-01-31 2018-08-21 Qualcomm Incorporated Coding escape pixels for palette mode coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979175A (en) * 1988-07-05 1990-12-18 Motorola, Inc. State metric memory arrangement for a viterbi decoder
JPH04352518A (ja) * 1991-05-30 1992-12-07 Matsushita Electric Ind Co Ltd 演算装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488252A (en) * 1982-02-22 1984-12-11 Raytheon Company Floating point addition architecture
US4639887A (en) * 1984-02-24 1987-01-27 The United States Of America As Represented By The United States Department Of Energy Bifurcated method and apparatus for floating point addition with decreased latency time
US4622877A (en) * 1985-06-11 1986-11-18 The Board Of Trustees Of The Leland Stanford Junior University Independently controlled wavetable-modification instrument and method for generating musical sound
JPS648438A (en) * 1987-06-30 1989-01-12 Mitsubishi Electric Corp Data processor
DE3886739D1 (de) * 1988-06-02 1994-02-10 Itt Ind Gmbh Deutsche Einrichtung zur digitalen Signalverarbeitung.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979175A (en) * 1988-07-05 1990-12-18 Motorola, Inc. State metric memory arrangement for a viterbi decoder
JPH04352518A (ja) * 1991-05-30 1992-12-07 Matsushita Electric Ind Co Ltd 演算装置

Also Published As

Publication number Publication date
EP0590597A3 (en) 1995-10-18
DE69333460T2 (de) 2005-02-03
EP0590597B1 (en) 2002-02-13
DE69333460D1 (de) 2004-04-22
US5715470A (en) 1998-02-03
EP0590597A2 (en) 1994-04-06
EP1049001B1 (en) 2004-03-17
CN1237046A (zh) 1999-12-01
DE69331568D1 (de) 2002-03-21
DE69331568T2 (de) 2002-10-24
AU652896B2 (en) 1994-09-08
AU4759893A (en) 1994-04-14
CN1086618A (zh) 1994-05-11
EP1049001A1 (en) 2000-11-02

Similar Documents

Publication Publication Date Title
CN1049778C (zh) 用于实现误码纠错用卷积码的维特比译码的运算装置
US5509021A (en) Viterbi decoder for decoding error-correcting encoded information symbol string
JPH10107651A (ja) ビタビ復号装置
KR100439211B1 (ko) 연산처리장치
CN1198422C (zh) 检测带逆序校验位的循环冗余校验码中的错误的装置和方法
CN1190902C (zh) 用于维特比译码器的相加比较选择单元
CN1853350A (zh) 用于移动通信系统的维特比/涡轮联合译码器
CN1106081C (zh) 译码电路
CN1302624C (zh) 基于格子的信道编码所用的解码器
WO2005011129A1 (ja) ビタビ復号器
US8301990B2 (en) Programmable compute unit with internal register and bit FIFO for executing Viterbi code
CN1165193C (zh) 在维特比译码器中储存路径量度的方法
CN1399197A (zh) 公用存储器设备及其控制方法
CN101145790B (zh) 译码器、相加-比较-选择单元和其方法
JPH10303854A (ja) デインタリーブ装置
CN1300391A (zh) 运算处理装置
EP1322041A1 (en) Viterbi decoder using restructured trellis
CN1175581C (zh) 相加-比较选择电路
US7031407B1 (en) Apparatus and method for decoding and trace back of convolution codes using the viterbi decoding algorithm
US8583998B2 (en) System and method for Viterbi decoding using application specific extensions
KR20000049852A (ko) 비터비복호기
JPH06112848A (ja) ビタビ復号用演算装置
JP3259343B2 (ja) ビタビ復号器
KR100414152B1 (ko) 프로그래머블 프로세서에서의 비터비 디코딩 연산방법 및그 연산방법을 실행하기 위한 연산회로
CN101527573B (zh) 维特比解码器

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
PB01 Publication
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CI01 Publication of corrected invention patent application

Correction item: The patent conferred the name of the invention

Correct: Computing device for Viterbi decoding of convolutional codes for error correction

False: An operation device for decoding a convolutional code used to perform error correction

Number: 8

Page: 154

Volume: 16

ERR Gazette correction

Free format text: CORRECT: GRANTED DENOMINATION OF INVENTION BY PATENT RIGHT; FROM: ERROR CORRECTION IMPLEMENTATION OF CONVOLUTIONAL CODES WITH VITERBI DECODING OF THE COMPUTING DEVICES TO: ERROR CORRECTION IMPLEMENTATION OF CONVOLUTIONAL CODES WITH VITERBI COMPUTING DEVICE

C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee