JP2004120791A - Viterbi decoder - Google Patents

Viterbi decoder Download PDF

Info

Publication number
JP2004120791A
JP2004120791A JP2003392604A JP2003392604A JP2004120791A JP 2004120791 A JP2004120791 A JP 2004120791A JP 2003392604 A JP2003392604 A JP 2003392604A JP 2003392604 A JP2003392604 A JP 2003392604A JP 2004120791 A JP2004120791 A JP 2004120791A
Authority
JP
Japan
Prior art keywords
path
state
selection signal
viterbi
path selection
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.)
Withdrawn
Application number
JP2003392604A
Other languages
Japanese (ja)
Inventor
Yukihiro Sasagawa
笹川 幸宏
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
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003392604A priority Critical patent/JP2004120791A/en
Publication of JP2004120791A publication Critical patent/JP2004120791A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce power consumption and to accelerate processing operations by using a memory such as a general RAM for a path metric storage part and a path select signal storage part, and by decreasing the number of times of memory access in ACS arithmetic and trace-back arithmetic in a viterbi decoder. <P>SOLUTION: A trace-back arithmetic part 107 for outputting decoded data by searching status transitions in the past while using path select signals in the past read out of a path select signal storage part 106 is provided with a shift register 304 for storing a viterbi state according to a surviving path based upon a path select signal obtained from the path select signal storage part 106, and a viterbi state prediction part 305 for predicting a part of a viterbi state to be next updated. <P>COPYRIGHT: (C)2004,JPO

Description

 本発明は、畳み込み符号の最尤復号に用いられるビタビ復号器に関するものである。 The present invention relates to a Viterbi decoder used for maximum likelihood decoding of a convolutional code.

 ビタビ(Viterbi)復号器は、畳み込み符号の最尤復号法に使用されるものであり、入力符号系列が取り得る既知の複数個の符号系列のうち、畳み込み符号器が発生した符号系列に最も符号距離が近い符号系列を最尤符号系列(最尤パス)として選択し、この選択した情報に基づいて復号データを得るものである。ビタビ復号は、通信路に生じるランダム誤りに対する訂正能力が高く、軟判定復号方式と組み合わせると、特に大きな符号化利得を得ることができる。例えば、干渉波の影響を受けやすく、ビットエラーが通信品質に著しい影響を与える移動体通信システムでは、誤り訂正符号として畳み込み符号が用いられており、その復号にビタビ復号が用いられている。 The Viterbi decoder is used for the maximum likelihood decoding of a convolutional code, and among a plurality of known code sequences that can be taken by an input code sequence, a code sequence generated by a convolutional encoder is the most significant. A code sequence having a short distance is selected as a maximum likelihood code sequence (maximum likelihood path), and decoded data is obtained based on the selected information. Viterbi decoding has a high ability to correct random errors occurring in a communication channel, and when combined with a soft-decision decoding method, a particularly large coding gain can be obtained. For example, in a mobile communication system which is easily affected by an interference wave and a bit error significantly affects communication quality, a convolutional code is used as an error correction code, and Viterbi decoding is used for decoding the convolutional code.

 このビタビ復号アルゴリズムについて簡単に説明する。例えば生成多項式が以下の式で与えられる符号化率R=1/2、拘束長K=3の畳み込み符号を考える。 簡 単 The Viterbi decoding algorithm will be briefly described. For example, consider a convolutional code having a coding rate R = 1/2 and a constraint length K = 3 in which a generator polynomial is given by the following equation.

(数1)
   G0(D)=1+D2
   G1(D)=1+D+D2
 図9に、このような符号を発生する畳み込み符号器の構成例を示す。図9において、入力データである情報ビットは、2個のフリップフロップ等の遅延素子901、902により順次遅延され、加算器903により入力データと遅延素子902からのデータが加算されて出力G0として取り出され、加算器904、905により、それぞれ、入力データと遅延素子901からのデータ、加算器904からのデータと遅延素子902からのデータが加算されて出力G1として取り出される。
(Equation 1)
G0 (D) = 1 + D 2
G1 (D) = 1 + D + D 2
FIG. 9 shows a configuration example of a convolutional encoder that generates such a code. In FIG. 9, information bits as input data are sequentially delayed by delay elements 901 and 902 such as two flip-flops, and the adder 903 adds the input data and the data from the delay element 902 and takes out as an output G0. Then, the input data and the data from the delay element 901 and the data from the adder 904 and the data from the delay element 902 are added by the adders 904 and 905, respectively, and extracted as an output G1.

 このような符号器における各遅延素子901、902の内容をそれぞれS[1]、S[0]とするとき、符号器の状態S[1:0]としては、(00)、(01)、(10)、(11)の4つの状態が取り得る。また、入力が与えられた時の遷移し得る状態はつねに2通りとなる。 When the contents of the delay elements 901 and 902 in such an encoder are S [1] and S [0], respectively, the states S [1: 0] of the encoder are (00), (01), Four states (10) and (11) can be taken. There are always two possible states when an input is given.

 すなわち、入力が0のとき、現在の状態が(00)または(01)の場合に状態(00)に遷移し、現在の状態が(10)または(11)の場合に状態(01)に遷移する。入力が1のときには、現在の状態が(00)または(01)の場合に状態(10)に遷移し、現在の状態が(10)または(11)の場合に状態(11)に遷移する。 That is, when the input is 0, the state transits to the state (00) when the current state is (00) or (01), and transits to the state (01) when the current state is (10) or (11). I do. When the input is 1, the state transits to the state (10) when the current state is (00) or (01), and transits to the state (11) when the current state is (10) or (11).

 このような状態遷移を示す手法としてトレリス線図があり、トレリス線図で示すと図10のようになる。図10において、実線の矢印(ブランチ)は入力0の時の遷移を示し、破線のブランチは入力1の時の遷移を示す。また、各ブランチに沿って記されている数字は、そのブランチの遷移が生じたときに出力される図1の符号(G0,G1)である。 ト レ A trellis diagram is a technique for indicating such a state transition, and a trellis diagram is as shown in FIG. In FIG. 10, a solid arrow (branch) indicates a transition at the time of input 0, and a dashed branch indicates a transition at the time of input 1. In addition, the numbers written along each branch are the symbols (G0, G1) in FIG. 1 that are output when the transition of the branch occurs.

 図10から明らかなように、各状態への遷移時には、必ず2つのブランチが合流する。ビタビ復号アルゴリズムにおいては、各状態への2つのブランチのうち、最尤(最も確からしい)ブランチの組み合わせ(パス)を選択し、選択されたパス(生き残りパス)の情報(パス選択信号)を記憶手段に格納する。そして所定長までパスの選択を行ったのち、パス選択信号記憶手段の内容に基づいて最尤の生き残りパスを探索(トレースバック)する。このトレースバックによって得られる最尤の各状態の変化より畳み込み符号器に入力された情報を復号する。 As is clear from FIG. 10, at the time of transition to each state, two branches always join. In the Viterbi decoding algorithm, a combination (path) of the most likely (most probable) branch is selected from the two branches to each state, and information (path selection signal) of the selected path (surviving path) is stored. Store in the means. After a path is selected up to a predetermined length, the maximum likelihood surviving path is searched (traced back) based on the contents of the path selection signal storage means. The information input to the convolutional encoder is decoded from the maximum likelihood change in each state obtained by the traceback.

 このようなビタビアルゴリズムに基づいて畳み込み符号を復号するビタビ復号器は、基本的に、送信符号系列と各ブランチで予測される符号系列との符号距離(ブランチメトリック)を計算するブランチメトリック計算手段と、各状態へのブランチメトリックの累算値(パスメトリック)を計算し、生き残りパスを選択するACS(ADD、COMPARE、SELECT=加算、比較、選択)演算手段と、各ステートでのパスメトリックを記憶するパスメトリック記憶手段と、選択したパスの情報を記憶するパス選択信号記憶手段と、パス選択信号記憶手段の内容に基づいて最尤の生き残りパスを探索するトレースバック手段とから構成される。 A Viterbi decoder that decodes a convolutional code based on such a Viterbi algorithm basically includes a branch metric calculation unit that calculates a code distance (branch metric) between a transmission code sequence and a code sequence predicted in each branch. ACS (ADD, COMPARE, SELECT = addition, comparison, selection) calculation means for calculating the accumulated value (path metric) of the branch metric for each state and storing the path metric for each state Path metric storage means, path selection signal storage means for storing information on the selected path, and traceback means for searching for the most likely surviving path based on the contents of the path selection signal storage means.

 ここで、上記ACS演算手段においては、いわゆるパスメトリック・トランジション・ダイアグラムに従って、各ステートでの生き残りパスが選択され、この生き残りパスのパスメトリックが計算される。このパスメトリック・トランジション・ダイアグラムは、図10に示すようなトレリス線図を基にして作成される。 Here, in the ACS calculation means, a surviving path in each state is selected according to a so-called path metric transition diagram, and a path metric of the surviving path is calculated. This path metric transition diagram is created based on a trellis diagram as shown in FIG.

 図10に示すようなトレリス線図で示される符号が用いられている場合には、図11(a)、図11(b)に示すようなパスメトリック・トランジション・ダイアグラムとなる。すなわち、図10に示すトレリス線図の場合、状態(00)で合流するのは、状態(00)から符号(00)を出力して生じるパスと、状態(01)から符号(11)を生じるパスの2通りである。従って、今回の状態(00)でのパスメトリックPM00(new)は、前時刻のステートのパスメトリックをPM00(old)、PM10(old)、ブランチメトリックをBM00、BM11のように表すと、以下の2つの式のいずれかとなる。 {Circle around (4)} When a code shown in a trellis diagram as shown in FIG. 10 is used, a path metric transition diagram as shown in FIGS. 11A and 11B is obtained. That is, in the case of the trellis diagram shown in FIG. 10, the merging in the state (00) includes a path generated by outputting the code (00) from the state (00), and a code (11) from the state (01). There are two types of passes. Accordingly, the path metric PM00 (new) in the current state (00) is as follows, when the path metric of the state at the previous time is expressed as PM00 (old), PM10 (old), and the branch metric is expressed as BM00, BM11. It can be one of two equations.

(数2)
   PM00(new)a=PM00(old)+BM00
   PM00(new)b=PM01(old)+BM11
 すなわち、ACS演算途中の2つのパスメトリックPM00(new)a、PM00(new)bの最尤の値が選択され、そのパスメトリックが、今回の状態(00)のパスメトリックPM00(new)として決定される。
(Equation 2)
PM00 (new) a = PM00 (old) + BM00
PM00 (new) b = PM01 (old) + BM11
That is, the maximum likelihood values of the two path metrics PM00 (new) a and PM00 (new) b during the ACS calculation are selected, and the path metrics are determined as the path metric PM00 (new) in the current state (00). Is done.

 また、状態(10)で合流するのは、状態(00)から符号(11)を出力して生じるパスと、状態(01)から符号(00)を生じるパスの2通りである。従って、今回のパスメトリックPM10(new)は、以下の2つの式のいずれかとなる。 {Circle around (2)} In the state (10), there are two paths, a path generated by outputting the code (11) from the state (00) and a path generated by outputting the code (00) from the state (01). Therefore, the current path metric PM10 (new) is one of the following two equations.

(数3)
   PM10(new)a=PM00(old)+BM11
   PM10(new)b=PM01(old)+BM00
 また、状態(01)で合流するのは、状態(10)から符号(01)を出力して生じるパスと、状態(11)から符号(10)を生じるパスの2通りである。従って、今回のパスメトリックPM01(new)は、以下の2つの式のいずれかとなる。
(Equation 3)
PM10 (new) a = PM00 (old) + BM11
PM10 (new) b = PM01 (old) + BM00
The state (01) merges into two paths: a path generated by outputting the code (01) from the state (10) and a path generated by outputting the code (10) from the state (11). Therefore, the current path metric PM01 (new) is one of the following two equations.

(数4)
   PM01(new)a=PM10(old)+BM01
   PM01(new)b=PM11(old)+BM10
 また、状態(11)で合流するのは、状態(10)から符号(10)を出力して生じるパスと、状態(11)から符号(01)を生じるパスの2通りである。従って、今回のパスメトリックPM11(new)は、以下の2つの式のいずれかとなる。
(Equation 4)
PM01 (new) a = PM10 (old) + BM01
PM01 (new) b = PM11 (old) + BM10
The state (11) merges into two paths: a path generated by outputting the code (10) from the state (10) and a path generated by outputting the code (01) from the state (11). Therefore, the current path metric PM11 (new) is one of the following two equations.

(数5)
   PM11(new)a=PM10(old)+BM10
   PM11(new)b=PM11(old)+BM01
 このことに基づいて、図11(a)、図11(b)に示すようなパスメトリック・トランジション・ダイアグラムを作ることができる。
(Equation 5)
PM11 (new) a = PM10 (old) + BM10
PM11 (new) b = PM11 (old) + BM01
Based on this, a path metric transition diagram as shown in FIGS. 11A and 11B can be created.

 ここで、上式と図11のパスメトリック・トランジション・ダイアグラムから分かる様に、PM00(new)とPM10(new)の違いは、PM00(old)とPM01(old)にBM11とBM00を加算する場合におけるPMxx(old)とBMxxの対応のみである。 Here, as can be seen from the above equation and the path metric transition diagram of FIG. 11, the difference between PM00 (new) and PM10 (new) is that when BM11 and BM00 are added to PM00 (old) and PM01 (old). Is only the correspondence between PMxx (old) and BMxx.

 また、PM01(new)とPM11(new)の違いについても同様に、PM10(old)とPM11(old)にBM01とBM10を加算する場合におけるPMxx(old)とBMxxの対応のみである。 Similarly, the difference between PM01 (new) and PM11 (new) is also only the correspondence between PMxx (old) and BMxx when BM01 and BM10 are added to PM10 (old) and PM11 (old).

 さらに、それぞれ2つのPMxx(old)は連続する偶数、奇数ステートという関係を持っており、PMxx(new)は最上ビットのみが異なる上位、下位ステートという関係を持っている。 {Circle around (2)} Further, each of the two PMxx (old) has a relationship of continuous even and odd states, and PMxx (new) has a relationship of upper and lower states that differ only in the most significant bit.

 これらのことは、連続する偶数、奇数ステートの関係を持つ2つのPMxx(old)と2つのBMxxより、上位、下位ステートの関係を持つ2つのPMxx(new)を算出可能であることを示している(例えば、特許文献1参照)。 These facts show that two PMxx (new) having a relationship of upper and lower states can be calculated from two PMxx (old) and two BMxx having a relationship of continuous even and odd states. (For example, see Patent Document 1).

 次に、パス選択信号と各状態遷移について説明する。上記説明において今回の状態に決定されるべきパスメトリックの組は、それぞれ前時刻において状態の最下位ビットのみが異なるという関係になっている。そこで、各状態の最尤パスメトリック選択情報(パス選択信号)をPS00(new)、PS01(new)、PS10(new)、PS11(new)とし、その値とパスメトリック選択との関係を以下の様にする。 Next, the path selection signal and each state transition will be described. In the above description, the set of path metrics to be determined in the current state has a relationship that only the least significant bit of the state is different at the previous time. Therefore, the maximum likelihood path metric selection information (path selection signal) of each state is set to PS00 (new), PS01 (new), PS10 (new), and PS11 (new), and the relationship between the values and the path metric selection is as follows. Like

(数6)
   PSxx(new)=0 → PMxx(new)aを選択
   PSxx(new)=1 → PMxx(new)bを選択このとき、PSxx(new)の値は、対応する前時刻における状態の最下位ビットの値と同じになる。
(Equation 6)
PSxx (new) = 0 → Select PMxx (new) a PSxx (new) = 1 → Select PMxx (new) b At this time, the value of PSxx (new) is the value of the least significant bit of the state at the corresponding previous time. Will be the same as the value.

 つまり、時刻nにおける状態をS(n)、状態Sにおけるパス選択信号をPS(S)とすると時刻n−1、時刻nにおけるそれぞれの状態、及びパス選択信号の関係は以下の様になる。 That is, if the state at time n is S (n) and the path selection signal at state S is PS (S), the relationship between the respective states at time n-1 and time n and the path selection signal is as follows.

(数7)
   S(n−1)={S(n),PS(S)}ここで、{a,b}はaの最下位ビット側にbを連接し、aの最上位ビット側をbのビット幅分削除するという演算を表す。
(Equation 7)
S (n-1) = {S (n), PS (S)} where {a, b} is a sequence in which b is connected to the least significant bit of a, and the most significant bit of a is the bit width of b. Represents the operation of deleting minutes.

 これらのことは、あるステートのパス選択信号から、そのステートに到達した前回のステートを決定できることを示している。 These facts indicate that the previous state that has reached the state can be determined from the path selection signal of the state.

 上式より、パス選択信号が所定の量だけ格納された状態において、時刻nにおける最尤の状態を決定すれば、各時刻のパス選択信号の値から過去に選択された状態を決定することができる。この演算をトレースバックと呼び、その一例を図12に示す。 From the above equation, if the maximum likelihood state at time n is determined in the state where the path selection signal is stored by a predetermined amount, the state selected in the past can be determined from the value of the path selection signal at each time. it can. This operation is called traceback, and an example is shown in FIG.

 なお、時刻nにおける最尤の状態を決定するために、畳み込み符号の系列を終了する際に符号器の状態を所定の値(例えば00等)に収束するように情報ビットに付加ビット(Tailbit)を追加するという手法を取る場合がある。 In order to determine the maximum likelihood state at time n, an additional bit (Tailbit) is added to the information bit so that the state of the encoder converges to a predetermined value (eg, 00 or the like) at the end of the convolutional code sequence. May be added.

 冒頭に述べた様に、畳み込み符号器の状態の遷移は、情報ビットが逐次遅延素子に入力されることによって発生するため、この状態の遷移を過去に溯って決定するということは、そのまま情報ビットを決定するということを意味する。 As described at the beginning, since the state transition of the convolutional encoder occurs when information bits are sequentially input to the delay element, determining this state transition retroactively means that the information bit Means to determine.

 上記過程を経て、ビタビ復号によって、受信符号系列より情報ビットを復号することが実現できる。
特開平9−232973号公報
Through the above process, decoding of information bits from a received code sequence can be realized by Viterbi decoding.
JP-A-9-232973

 ところで、従来のビタビ復号器において、ACS演算を時分割処理で行い、かつACS演算の結果から得られたパスメトリックを記憶するパスメトリックメモリにRAM(Random Access Memory)を使用するものが知られている。このようなビタビ復号器では、ACS演算の結果から得られた次の時刻でACS演算に使用するパスメトリックをRAMの1アドレスに割り当てている。すなわち1つのステートのパスメトリックを1つのRAMの1アドレスに配置している。 By the way, there is known a conventional Viterbi decoder in which an ACS operation is performed by time-division processing and a RAM (Random Access Memory) is used as a path metric memory for storing a path metric obtained from the result of the ACS operation. I have. In such a Viterbi decoder, a path metric used for the ACS operation is assigned to one address of the RAM at the next time obtained from the result of the ACS operation. That is, the path metric of one state is arranged at one address of one RAM.

 この場合、1回のACS演算では、過去の2つのステートのパスメトリックから新しいパスメトリックを作成することから、過去の2つのパスメトリックを読み出して新しい1つのパスメトリックを書き込むために、1回のACS演算当たり3回のメモリアクセスが必要とされる。ここで、いわゆるデュアルポートRAMを使用して、書き込みと読み出しを分離し並列的に行う様にしても、読み出しが2回必要となる。このため、メモリアクセス回数が多くなり、高速のRAMが必要とされ、低消費電力化や高速化の障害となっている。 In this case, in one ACS operation, a new path metric is created from the path metrics of the past two states. Therefore, in order to read out the past two path metrics and write a new path metric, one ACS calculation is performed. Three memory accesses are required per ACS operation. Here, even if the so-called dual-port RAM is used to separate the writing and reading from each other and perform the reading and writing in parallel, the reading is required twice. For this reason, the number of times of memory access is increased, and a high-speed RAM is required, which is an obstacle to low power consumption and high speed.

 さらに工夫を加えた手法として、特開平9−232973号公報には、先述した、連続する偶数、奇数ステートの関係を持つ2つのPMxx(old)と2つのBMxxより、上位、下位ステートの関係を持つ2つのPMxx(new)を算出可能であることを用いて、2つのパスメトリックを読み出し、2つのパスメトリックを算出するという計算手法が開示されている。この手法では、パスメトリックの上位、下位用にメモリを2個設け、さらに、パスメトリックの連続する偶数、奇数を同時に読み出す仕組みを設けることで、1回の読み出し、1回の書き込みで2つのパスメトリックを算出することができる。 As a technique with further improvement, Japanese Patent Application Laid-Open No. 9-232973 discloses a relationship between upper and lower states than two PMxx (old) and two BMxx having a relationship of continuous even and odd states. A calculation method of reading two path metrics and calculating two path metrics using the fact that two PMxx (new) possessed can be calculated is disclosed. In this method, two memories are provided for upper and lower path metrics, and a mechanism for simultaneously reading even and odd consecutive path metrics is provided. Metrics can be calculated.

 しかしながら、この手法では、ACS演算を行うために2つのパスメトリックメモリを用意する必要がある。一般に同じ容量のメモリを作成する場合、メモリを分割すれば回路規模、面積が増加し、低消費電力化にも不利となる。 However, in this method, it is necessary to prepare two path metric memories for performing the ACS operation. In general, when a memory having the same capacity is created, dividing the memory increases the circuit size and area, which is disadvantageous in reducing power consumption.

 次に、トレースバックについて説明する。先述した、あるステートのパス選択信号から、そのステートに到達した前回のステートを決定できることから、パス選択信号を格納したメモリ(パス選択信号記憶部)の1アドレスにnステート分のパス選択信号を格納する(例えば、16ステート=1ワード)ようにし、トレースバックを実行する場合、図13(a)に示すような構成となる。 Next, traceback will be described. Since the previous state that has reached the state can be determined from the path selection signal of a certain state, the path selection signal for n states is stored in one address of the memory (path selection signal storage unit) storing the path selection signal. In the case of storing (for example, 16 states = 1 word) and executing traceback, a configuration as shown in FIG.

 この構成で重要な点は、ビタビステートからパス選択信号記憶部のアドレスが決定され、さらに、読み出されたパス選択信号より次のビタビステートが決定できるということである。すなわち、1処理単位(サイクル)の間にアドレス決定、メモリ読み出しを行わなければならない。ここで、メモリの動作遅延は一般に図13(b)で表される。まず、遅延Aで示されるアドレスの配線遅延、次に、遅延Cで示されるメモリの出力遅延およびデータの配線遅延がある。そしてこれらの動作遅延は一般的に大きい。 An important point of this configuration is that the address of the path selection signal storage unit is determined from the Viterbi state, and the next Viterbi state can be determined from the read path selection signal. That is, address determination and memory reading must be performed during one processing unit (cycle). Here, the operation delay of the memory is generally shown in FIG. First, there is an address wiring delay indicated by delay A, and then there is a memory output delay and data wiring delay indicated by delay C. And these operation delays are generally large.

 そこで、トレースバック動作速度の上限は、図13(c)に示すようにして決定される。先述した遅延A、遅延Cに加え、パス選択信号記憶部から読み出された1ワードから1ステート分のパス選択信号を取り出すためのセレクタに関する遅延B、遅延Dがあり、ビタビステートを格納するシフトレジスタのセットアップ時間を考慮して、以下の2つの遅延のうち、大きな方の遅延によって動作速度の上限が決定される。 Therefore, the upper limit of the traceback operation speed is determined as shown in FIG. In addition to the above-described delays A and C, there are a delay B and a delay D relating to a selector for extracting a path selection signal for one state from one word read from the path selection signal storage unit, and a shift for storing Viterbi state. In consideration of the register setup time, the upper limit of the operation speed is determined by the larger one of the following two delays.

 (1)パス選択信号記憶部を中心とした遅延:遅延A+遅延C+遅延D
 (2)セレクタを中心とした遅延:遅延B+遅延D上記から、パス選択信号記憶部を中心とした遅延のほうが大きく、そのために動作速度が制限を受け、高速なトレースバックが困難となっている。
(1) Delay centering on path selection signal storage: delay A + delay C + delay D
(2) Delay centering on selector: delay B + delay D From the above, the delay centering on the path selection signal storage unit is larger, which limits the operating speed and makes high-speed traceback difficult. .

 この問題を解決するために、パス選択信号記憶部にレジスタファイルを用いるなどして高速動作を行う手法もあるが、回路規模、面積が増加し、低消費電力化にも不利となる。 手法 In order to solve this problem, there is a method of performing high-speed operation by using a register file for the path selection signal storage unit, but the circuit scale and area are increased, which is disadvantageous for low power consumption.

 本発明は、上述した実情に鑑みてなされたものであり、一般のRAM等のメモリをパスメトリック記憶部とパス選択信号記憶部に用いながら、メモリアクセス回数を減らしたACS演算と高速動作のトレースバック演算を行い、低消費電力化や、ビタビ復号動作の高速化が可能なビタビ復号器の提供を目的とするものである。 The present invention has been made in view of the above-described circumstances, and uses a general RAM or the like as a path metric storage unit and a path selection signal storage unit, and reduces the number of times of memory access and traces ACS operations and high-speed operations. It is an object of the present invention to provide a Viterbi decoder capable of performing a back operation to reduce power consumption and speed up a Viterbi decoding operation.

 前記の目的を達成するため、本発明の第1のビタビ符号器は、入力符号に基づいてブランチメトリックを演算するブランチメトリック演算手段と、前記ブランチメトリック演算手段により算出された前記ブランチメトリックに基づいて、各ステートの上位ステート及び下位ステートのパスメトリックを同時に時分割処理により算出する加算/比較/選択(ACS)演算手段と、前記ACS演算手段により逐次算出される上位ステート及び下位ステートの連続する2組のパスメトリックを、下位ステート及び上位ステートのそれぞれにおいて連続する偶数ステート及び奇数ステートのパスメトリックとして、時系列に並び換えるパスメトリック並び換え手段と、前記パスメトリック並び換え手段により並び換えられたパスメトリックを記憶するパスメトリック記憶手段とを備えたことを特徴とする。 In order to achieve the above object, a first Viterbi encoder according to the present invention includes a branch metric calculation unit that calculates a branch metric based on an input code, and a branch metric calculation unit that calculates a branch metric based on the branch metric calculated by the branch metric calculation unit. Addition / comparison / selection (ACS) calculating means for simultaneously calculating the path metrics of the upper state and the lower state of each state by time division processing, and two consecutive upper and lower states sequentially calculated by the ACS calculating means. A path metric rearranging unit that rearranges a set of path metrics in time series as path metrics of a continuous even-numbered state and an odd-numbered state in each of a lower state and an upper state, and a path rearranged by the path metric rearranging means. Remember metrics Characterized in that a path metric storage means.

 前記第1のビタビ符号器において、前記パスメトリック記憶手段は、それぞれ1アドレス当たり、連続する偶数ステートのパスメトリックと奇数ステートのパスメトリックとを1記憶単位として記憶し、読み出し及び書き込みを行うことが好ましい。 In the first Viterbi encoder, the path metric storage unit may store a continuous even-state path metric and an odd-state path metric as one storage unit for each address, and perform reading and writing. preferable.

 また、前記第1のビタビ符号器において、前記ACS演算手段により算出された、上位ステート及び下位ステートのパスメトリックの複数組からなる時系列を一時的に遅延させ、連続する偶数ステート及び奇数ステートのパスメトリックの複数組からなる時系列にパスメトリックを並び換えるパスメトリック並び換え手段を用いて、前記パスメトリック記憶手段一つに対する2回の読み出し、2回の書き込みにより4つのパスメトリックを更新することが好ましい。 Further, in the first Viterbi encoder, a time series composed of a plurality of sets of path metrics of an upper state and a lower state, which is calculated by the ACS operation means, is temporarily delayed, and a time series of even and odd states which are continuous Updating four path metrics by two readings and two writings to one path metric storage unit using a path metric rearranging unit that rearranges path metrics in a time series including a plurality of sets of path metrics. Is preferred.

 また、前記第1のビタビ符号器において、前記ACS演算手段はまた、前時刻のパスメトリックと組み合わせて最尤のパスを選択し、該選択した(生き残り)パスの情報であるパス選択信号を生成し、前記第1のビタビ復号器はさらに、前記パス選択信号を記憶するパス選択信号記憶手段と、前記パス選択信号記憶手段から読み出した過去のパス選択信号を使用して過去の状態遷移を探索し、復号データを出力するトレースバック演算手段とを備え、前記トレースバック演算手段は、前記パス選択信号記憶手段より得られるパス選択信号に基づいて、生き残りパスに従ったビタビステートを格納するビタビステート格納手段と、前記ビタビステート格納手段の内容に基づいて、次に更新されるビタビステートの一部を予測するビタビステート予測手段と、前記ビタビステート予測手段により予測されたビタビステートの一部に基づいて、前記パス選択信号が記憶されている前記パス選択信号記憶手段のアドレスを算出するパス選択信号記憶アドレス算出手段とを備えることが好ましい。 Further, in the first Viterbi encoder, the ACS calculating means also selects a maximum likelihood path in combination with a path metric at a previous time, and generates a path selection signal which is information on the selected (surviving) path. The first Viterbi decoder further searches for a past state transition using a path selection signal storage unit that stores the path selection signal and a past path selection signal read from the path selection signal storage unit. And a traceback operation means for outputting decoded data, wherein the traceback operation means stores the Viterbistate according to the surviving path based on the path selection signal obtained from the path selection signal storage means. Storage means, and a viterbi state for predicting a part of the viterbi state to be updated next based on the contents of the viterbi state storage means Prediction means, and a path selection signal storage address calculation means for calculating an address of the path selection signal storage means in which the path selection signal is stored, based on a part of the Viterbi state predicted by the Viterbi state prediction means, It is preferable to provide

 また、前記ビタビステート予測手段は、前記パス選択信号記憶手段の読み出し制御信号と前記ビタビステート格納手段のシフト制御信号とによって状態を変化させるアップダウンカウンタと、前記アップダウンカウンタの値に従って、前記ビタビステート格納手段の内容と次に更新されるビタビステートの一部との対応を変化させるセレクタを備えることが好ましい。 Further, the Viterbi state predicting means includes an up / down counter for changing a state according to a read control signal of the path selection signal storage means and a shift control signal of the Viterbi state storage means, and the Viterbi state according to a value of the up / down counter. It is preferable to provide a selector for changing the correspondence between the contents of the state storage means and a part of the Viterbi state to be updated next.

 さらに、前記ビタビステート予測手段により予測されたビタビステートの一部に基づいて、前記パス選択信号記憶アドレス算出手段がアドレスを算出する過程、該算出したアドレスに基づいて、前記パス選択信号記憶手段のパス選択信号を読み出す過程、および該読み出したパス選択信号に基づいて、生き残りパスに従ったビタビステートを前記ビタビステート格納手段に格納する過程の少なくとも一つの過程においてパイプライン処理を使用することが好ましい。 Further, based on a part of the Viterbi state predicted by the Viterbi state prediction means, the path selection signal storage address calculation means calculates an address, and based on the calculated address, the path selection signal storage means It is preferable to use a pipeline process in at least one of the step of reading the path selection signal and the step of storing the Viterbi state according to the surviving path in the Viterbi state storage means based on the read path selection signal. .

 前記の目的を達成するため、本発明の第2のビタビ復号器は、入力符号に基づいて、ブランチメトリックを演算するブランチメトリック演算手段と、前記ブランチメトリック演算手段により算出された前記ブランチメトリックに基づいて、各ステートの上位ステート及び下位ステートのパスメトリックを同時に時分割処理により算出すると共に、前時刻のパスメトリックと組み合わせて最尤のパスを選択し、該選択した(生き残り)パスの情報であるパス選択信号を生成する加算/比較/選択(ACS)演算手段と、前記ACS演算手段により逐次算出される上位ステート及び下位ステートの連続する2組のパスメトリックを、下位ステート及び上位ステートのそれぞれにおいて連続する偶数ステート及び奇数ステートのパスメトリックとして、時系列に並び換えるパスメトリック並び換え手段と、前記パスメトリック並び換え手段により並び換えられたパスメトリック及び前記パス選択信号を記憶する一つのパスメトリック/パス選択信号共通記憶手段と、前記パスメトリック/パス選択信号共通記憶手段から読み出した過去のパス選択信号を使用して過去の状態遷移を探索し、復号データを出力するトレースバック演算手段であって、前記パスメトリック/パス選択信号共通記憶手段より得られるパス選択信号に基づいて、生き残りパスに従ったビタビステートを格納するビタビステート格納手段と、前記ビタビステート格納手段の内容に基づいて、次に更新されるビタビステートの一部を予測するビタビステート予測手段と、前記ビタビステート予測手段により予測されたビタビステートの一部に基づいて、前記パス選択信号が記憶されている前記パス選択信号記憶手段のアドレスを算出するパス選択信号記憶アドレス算出手段とを備えたトレースバック演算手段と、前記パスメトリック並び換え手段からのパスメトリックと前記ACS演算手段からのパス選択信号を受けて、前記パスメトリック/パス選択信号共通記憶手段に対して特定アドレスを生成し書き込みを行うと共に、前記パスメトリック/パス選択信号共通記憶手段に記憶されている前記パスメトリックと前記パス選択信号の読み出しを行い、前記ACS演算手段に前記パスメトリックを、また前記トレースバック演算手段に前記パス選択信号を供給させるアドレス生成/記憶制御手段とを備えたビタビ復号器であって、前記ACS演算手段、前記パスメトリック演算手段、及び前記トレースバック演算手段は、前記アドレス生成/記憶制御手段により、前記パスメトリック/パス選択信号共通記憶手段に対して時分割にアクセスすることを特徴とする。 In order to achieve the above object, a second Viterbi decoder according to the present invention includes a branch metric calculation unit that calculates a branch metric based on an input code, and a branch metric calculation unit that calculates a branch metric based on the branch metric calculated by the branch metric calculation unit. Then, the path metrics of the upper state and the lower state of each state are simultaneously calculated by time division processing, the maximum likelihood path is selected in combination with the path metric of the previous time, and the information of the selected (surviving) path is obtained. Addition / comparison / selection (ACS) operation means for generating a path selection signal, and two consecutive sets of path metrics of an upper state and a lower state sequentially calculated by the ACS operation means are converted into a lower state and an upper state, respectively. Path metrics for consecutive even and odd states A path metric rearranging means for rearranging the path metrics in time series, one path metric / path selection signal common storage means for storing the path metrics rearranged by the path metric rearranging means and the path selection signal; A traceback operation means for searching for a past state transition using a past path selection signal read from the metric / path selection signal common storage means and outputting decoded data, wherein said path metric / path selection signal common storage Viterbi state storage means for storing the Viterbi state according to the surviving path based on the path selection signal obtained from the means, and prediction of a part of the Viterbi state to be updated next based on the contents of the Viterbi state storage means Viterbi state prediction means, and the prediction by the Viterbi state prediction means A traceback calculating means including a path selection signal storage address calculation means for calculating an address of the path selection signal storage means in which the path selection signal is stored, based on a part of the Tabistate; Receiving a path metric from the means and a path selection signal from the ACS operation means, generating and writing a specific address to the common path metric / path selection signal storage means, Address generation / storage control means for reading the path metric and the path selection signal stored in the storage means and supplying the path metric to the ACS operation means and the path selection signal to the traceback operation means A Viterbi decoder comprising: the ACS operation means; The metric calculation means and the traceback calculation means access the path metric / path selection signal common storage means in a time division manner by the address generation / storage control means.

 上記構成によれば、ビタビ復号器のACS演算を時分割処理で行い、パスメトリック並び換え手段を用いて、パスメトリック記憶手段またはパスメトリック/パス選択信号共通記憶手段へ書き込むパスメトリックステートの順番を変更すると共に、ビタビ復号器のトレースバック演算を、ビタビステート予測手段を用いて、パイプライン処理でパス選択信号記憶手段またはパスメトリック/パス選択信号共通記憶手段からのパス選択信号の読み出しにより行うことで、ACS演算のメモリアクセス回数を減らすと共に、トレースバック演算を高速に行うことができ、低消費電力化や、ビタビ復号処理の高速化が可能となる。 According to the above configuration, the ACS operation of the Viterbi decoder is performed by time-division processing, and the order of the path metric state to be written to the path metric storage unit or the path metric / path selection signal common storage unit is determined using the path metric rearranging unit. In addition to the above, the traceback operation of the Viterbi decoder is performed by reading out the path selection signal from the path selection signal storage means or the path metric / path selection signal common storage means by pipeline processing using the Viterbi state prediction means. Thus, the number of times of memory access of the ACS operation can be reduced, and the traceback operation can be performed at high speed, so that the power consumption can be reduced and the speed of the Viterbi decoding process can be increased.

 本発明によれば、ビタビ復号器のACS演算を時分割処理で行い、パスメトリック並び換え部を用いて、パスメトリック記憶部へ書き込むパスメトリックステートの順番を変更することにより、一つのメモリを用いて、4回のメモリアクセスで4つのパスメトリックを算出することが実現でき、ACS演算の1処理当たりに必要とされるメモリアクセスの回数を低下させることができ、ビタビ復号動作を高速化、あるいは低電力化を実現することができる。 According to the present invention, the ACS operation of the Viterbi decoder is performed in a time-division process, and the path metric reordering unit is used to change the order of the path metric state written to the path metric storage unit, thereby using one memory. As a result, four path metrics can be calculated by four memory accesses, the number of memory accesses required per ACS calculation process can be reduced, and the Viterbi decoding operation can be speeded up, or Low power can be realized.

 また、本発明によれば、ビタビ復号器のトレースバック演算部にビタビステート予測部を設けて、パイプライン処理でパス選択信号記憶部からの読み出しを行うことにより、一般のRAM等のメモリをパス選択信号記憶部に用いながら、高速動作のトレースバックを行うことができ、ビタビ復号動作を高速化、あるいは低電力化を実現することができる。 Further, according to the present invention, a Viterbi state prediction unit is provided in the traceback operation unit of the Viterbi decoder, and reading from the path selection signal storage unit is performed by pipeline processing, so that a memory such as a general RAM can be passed. The high-speed operation traceback can be performed while using the selection signal storage unit, and the Viterbi decoding operation can be speeded up or the power consumption can be reduced.

 さらに、アドレス生成/記憶制御部を設けて、一つのRAMをACS演算部と、パスメトリック並び換え部と、トレースバック演算部で共用することで、RAMの使用量を最小限にしたビタビ復号器を実現することができる。 Further, an address generation / storage control unit is provided, and a single RAM is shared by the ACS operation unit, the path metric rearrangement unit, and the traceback operation unit, thereby minimizing the amount of RAM used. Can be realized.

 以下、本発明に係る実施の形態について、図面を参照しながら説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.

 図1は、本発明の実施の形態が適用されるビタビ復号器の概略構成を示すブロック図である。 FIG. 1 is a block diagram showing a schematic configuration of a Viterbi decoder to which an embodiment of the present invention is applied.

 一般にビタビ復号器は、ビタビアルゴリズムを利用して、各状態での2つのブランチのうち最尤(最も確からしい)ブランチの組み合わせ(パス)を選択し、所定長まで生き残りパスの選択を行い、各状態で選択したパスのうち最尤のパスを検出することで、受信符号を復号するものである。 In general, the Viterbi decoder uses the Viterbi algorithm to select the most likely (most likely) combination (path) of the two branches in each state, and to select the surviving path up to a predetermined length. The received code is decoded by detecting the maximum likelihood path from the paths selected in the state.

 このようなビタビアルゴリズムに基づいて畳み込み符号を復号するビタビ復号器は、基本的には、図1に示す様に、端子101からの受信データの系列(受信系列)と、前述した各ブランチとの間のメトリックを計算するブランチメトリック演算部102と、生き残りパスを選択して生き残りパスのパスメトリックを演算するACS(ADD、COMPARE、SELECT=加算、比較、選択)演算部103と、ACS演算部103より逐次算出されるパスメトリックを一時的に遅延させ、算出時と異なる時系列にパスメトリックを並び換えるパスメトリック並び換え部104と、各ステート(状態)でのパスメトリックをそれぞれ記憶するパスメトリック記憶部105と、選択したパスの情報(パス選択信号)を記憶するパス選択信号記憶部106と、このパス選択信号記憶部106から読み出した過去のパス選択信号を使用して過去の状態遷移を探索し、端子108より復号データを出力するトレースバック演算部107とを有して構成されている。 A Viterbi decoder that decodes a convolutional code based on such a Viterbi algorithm basically includes, as shown in FIG. 1, a sequence of received data from a terminal 101 (a received sequence) and each branch described above. A branch metric calculation unit 102 for calculating a metric between them; an ACS (ADD, COMPARE, SELECT = addition, comparison, selection) calculation unit 103 for selecting a surviving path and calculating a path metric of the surviving path; and an ACS calculation unit 103 A path metric reordering unit 104 that temporarily delays the path metrics that are sequentially calculated and rearranges the path metrics in a time series different from that at the time of calculation, and a path metric storage that stores the path metrics in each state (state). A path selection signal storage section 106 for storing information (path selection signal) of the selected path; And a traceback operation unit 107 that searches for a past state transition using the past path selection signal read from the data selection signal storage unit 106 and outputs decoded data from a terminal 108.

 まず、ACS演算部103におけるACS演算について説明する。 First, the ACS operation in the ACS operation unit 103 will be described.

 ここで、畳み込み符号/ビタビ復号の具体例として、拘束長K=9、符号化率R=1/2の場合について説明する。拘束長K=9の場合のステート(状態)数は、2K-1となり、K=9の時、28=256ステートとなる。これらの256ステートを、2桁の16進数を用いて00〜FFと表し、ステートxxのパスメトリックをPM[xx]と表す。また、新たなステートのパスメトリックをPM[xx](new)、その前時刻のステートのパスメトリックをPM[xx](old)と表す。 Here, as a specific example of the convolutional code / Viterbi decoding, a case where the constraint length K = 9 and the coding rate R = 1/2 will be described. When the constraint length K = 9, the number of states is 2 K−1 , and when K = 9, 2 8 = 256 states. These 256 states are represented as 00 to FF using a two-digit hexadecimal number, and the path metric of the state xx is represented as PM [xx]. The path metric of the new state is represented as PM [xx] (new), and the path metric of the state at the previous time is represented as PM [xx] (old).

 上記拘束長K=9、符号化率R=1/2の場合、ACS演算においては、各状態(ステート)に遷移する2つのパスのうち、最尤のパスを選択する演算を行う。例えば、新たなステート00(new)に遷移するパスは、図11に示すように、前時刻のステート00(old)からと、01(old)からの2つのパスであり、この前時刻のステート00(old)、01(old)からステート00(new)に遷移するためには、受信符号(G0,G1)が例えばそれぞれ、(00)、(11)である必要がある。 場合 When the constraint length K = 9 and the coding rate R = 1 /, in the ACS calculation, a calculation is performed to select the most likely path from the two paths that transit to each state. For example, as shown in FIG. 11, the paths that transition to a new state 00 (new) are two paths from the state 00 (old) at the previous time and the path 01 (old) at the previous time. In order to make a transition from 00 (old) and 01 (old) to state 00 (new), the received codes (G0, G1) need to be (00) and (11), respectively, for example.

 この期待される2つの受信符号は、各ステートxx(new)に対して、畳み込み符号器の生成多項式から一意に決定される。この2つの受信符号はそれぞれ、「情報ビットとして0が畳み込み符号器に入力された場合」、および「情報ビットとして1が畳み込み符号器に入力された場合」に期待される受信符号を表す。 The two expected received codes are uniquely determined for each state xx (new) from the generator polynomial of the convolutional encoder. The two received codes respectively represent the expected received codes when “0 is input as an information bit to the convolutional encoder” and “when 1 is input as an information bit to the convolutional encoder”.

 このことから、ブランチメトリック演算部102において、受信符号それぞれの受信符号パターンのメトリック(ブランチメトリック)を求め、ACS演算部103において、前時刻のメトリック(パスメトリック)と組み合わせて、パスの尤度を求め、生き残りパスの選択を行うと共に、次の時刻のためのパスメトリックをパスメトリック記憶部105に記憶して保持する。 Accordingly, the metric (branch metric) of the received code pattern of each received code is obtained in the branch metric calculation unit 102, and the likelihood of the path is calculated in the ACS calculation unit 103 by combining with the metric (path metric) of the previous time. Then, a surviving path is selected, and a path metric for the next time is stored and held in the path metric storage unit 105.

 この時の計算は、ステートxxにおいて、それぞれ「情報ビットとして0が畳み込み符号器に入力された場合」、「情報ビットとして1が畳み込み符号器に入力された場合」のブランチメトリック、およびパスメトリックを、それぞれ、BM0[xx]、BM1[xx]、およびPM0[xx]、PM1[xx]と表し、さらに、パスメトリックと尤度との対応を
   パスメトリック大 → 尤度大
   パスメトリック小 → 尤度小のように表すと、ステート00、01からステート00に遷移する場合、
At this time, in the state xx, the branch metric and the path metric of “when 0 is input as an information bit to the convolutional encoder” and “when 1 is input as an information bit to the convolutional encoder” are calculated. BM0 [xx], BM1 [xx], and PM0 [xx], PM1 [xx], respectively, and furthermore, the correspondence between the path metric and the likelihood is represented by a large path metric → a large likelihood A small path metric → a likelihood When expressed as small, when transitioning from state 00, 01 to state 00,

(数8)
   PM0[00](new)=PM[00](old)+BM0[00]
   PM1[00](new)=PM[01](old)+BM1[00]
   PM[00](new)=max(PM0[00](new),PM1[00](new))となる。ここで、max(x,y)はx、yのうち、大きな値を選択する演算を表す。
(Equation 8)
PM0 [00] (new) = PM [00] (old) + BM0 [00]
PM1 [00] (new) = PM [01] (old) + BM1 [00]
PM [00] (new) = max (PM0 [00] (new), PM1 [00] (new)). Here, max (x, y) represents an operation of selecting a larger value from x and y.

 また、最上位ビットのみが異なるPM[80](new)については以下の様になる。 {Also, PM [80] (new) that differs only in the most significant bit is as follows.

(数9)
   PM0[80](new)=PM[00](old)+BM0[80]
   PM1[80](new)=PM[01](old)+BM1[80]
   PM[80](new)=max(PM0[80](new),PM1[80](new))
 次に、ステート02、03からステート01に遷移する場合は、
(Equation 9)
PM0 [80] (new) = PM [00] (old) + BM0 [80]
PM1 [80] (new) = PM [01] (old) + BM1 [80]
PM [80] (new) = max (PM0 [80] (new), PM1 [80] (new))
Next, when transitioning from state 02 or 03 to state 01,

(数10)
   PM0[01](new)=PM[02](old)+BM0[01]
   PM1[01](new)=PM[03](old)+BM1[01]
   PM[01](new)=max(PM0[00](new),PM1[00](new))となり、最上位ビットのみが異なるPM[81](new)については以下の様になる。
(Equation 10)
PM0 [01] (new) = PM [02] (old) + BM0 [01]
PM1 [01] (new) = PM [03] (old) + BM1 [01]
PM [01] (new) = max (PM0 [00] (new), PM1 [00] (new)), and PM [81] (new) that differs only in the most significant bit is as follows.

(数11)
   PM0[81](new)=PM[02](old)+BM0[81]
   PM1[81](new)=PM[03](old)+BM1[81]
   PM[81](new)=max(PM0[80](new),PM1[80](new))
 さらに、畳み込み符号器の生成多項式が、
(Equation 11)
PM0 [81] (new) = PM [02] (old) + BM0 [81]
PM1 [81] (new) = PM [03] (old) + BM1 [81]
PM [81] (new) = max (PM0 [80] (new), PM1 [80] (new))
Further, the generator polynomial of the convolutional encoder is

(数12)
   G0(D)=1+…+DK-1
   G1(D)=1+…+DK-1の形になっている場合、すなわち、1、DK-1の項をそれぞれ有している場合、情報ビットの入力の0、1によって符号のビットが常に論理反転するため、符号距離が対象の関係になり、最上位ビットのみが異なるステートに関するブランチメトリックに関しては以下の関係が成り立つ。
(Equation 12)
G0 (D) = 1 + ... + D K-1
In the case of G1 (D) = 1 +... + D K−1 , that is, in the case of having a term of 1 and a term of D K−1 , respectively, the sign bit is determined by 0 and 1 of the information bit input. Since the logic is always inverted, the code distance has a target relationship, and the following relationship holds for a branch metric related to a state in which only the most significant bit is different.

(数13)
   BM0[80]=BM1[00]
   BM1[80]=BM0[00]
   BM0[81]=BM1[01]
   BM1[81]=BM0[01]
 この関係を用いると、上記パスメトリックの関係は以下の様に表される。
(Equation 13)
BM0 [80] = BM1 [00]
BM1 [80] = BM0 [00]
BM0 [81] = BM1 [01]
BM1 [81] = BM0 [01]
Using this relationship, the relationship between the path metrics is expressed as follows.

(数14)
   PM0[00](new)=PM[00](old)+BM0[00]
   PM1[00](new)=PM[01](old)+BM1[00]
   PM[00](new)=max(PM0[00](new),PM1[00](new))
(Equation 14)
PM0 [00] (new) = PM [00] (old) + BM0 [00]
PM1 [00] (new) = PM [01] (old) + BM1 [00]
PM [00] (new) = max (PM0 [00] (new), PM1 [00] (new))

(数15)
   PM0[80](new)=PM[00](old)+BM1[00]
   PM1[80](new)=PM[01](old)+BM0[00]
   PM[80](new)=max(PM0[80](new),PM1[80](new))
(Equation 15)
PM0 [80] (new) = PM [00] (old) + BM1 [00]
PM1 [80] (new) = PM [01] (old) + BM0 [00]
PM [80] (new) = max (PM0 [80] (new), PM1 [80] (new))

(数16)
   PM0[01](new)=PM[02](old)+BM0[01]
   PM1[01](new)=PM[03](old)+BM1[01]
   PM[01](new)=max(PM0[00](new),PM1[00](new))
(Equation 16)
PM0 [01] (new) = PM [02] (old) + BM0 [01]
PM1 [01] (new) = PM [03] (old) + BM1 [01]
PM [01] (new) = max (PM0 [00] (new), PM1 [00] (new))

(数17)
   PM0[81](new)=PM[02](old)+BM1[01]
   PM1[81](new)=PM[03](old)+BM0[01]
   PM[81](new)=max(PM0[80](new),PM1[80](new))
 つまり、上式から、PM[00](old)、PM[01](old)、PM[02](old)、PM[03](old)という連続する偶数、奇数ステートの4つのパスメトリックより、PM[00](new)とPM[01](new)、またはPM[80](new)とPM[81](new)という、1組が連続する偶数、奇数ステートの2つのパスメトリックからなる2組のパスメトリックが得られることがわかる。
(Equation 17)
PM0 [81] (new) = PM [02] (old) + BM1 [01]
PM1 [81] (new) = PM [03] (old) + BM0 [01]
PM [81] (new) = max (PM0 [80] (new), PM1 [80] (new))
That is, from the above equation, four path metrics of continuous even and odd states PM [00] (old), PM [01] (old), PM [02] (old) and PM [03] (old) are obtained. , PM [00] (new) and PM [01] (new), or PM [80] (new) and PM [81] (new) from two path metrics of even and odd states in which one set is continuous. It can be seen that two sets of path metrics are obtained.

 本実施の形態では、パスメトリック並び換え部104を用いて、ACS演算部103より逐次得られる4つのパスメトリックを、1組が連続する偶数、奇数ステートの2つのパスメトリックからなる2組のパスメトリックに並び換える。 In the present embodiment, using the path metric rearranging unit 104, the four path metrics sequentially obtained from the ACS operation unit 103 are converted into two sets of two path metrics each consisting of two continuous even and odd state path metrics. Sort by metric.

 さらに、パスメトリック記憶部105として、RAM(Random Access Memory)を用い、かつそれぞれのRAMの1アドレス当たり、連続する偶数、奇数のステートのパスメトリックを1記憶単位として記憶する様に構成することにより、(1)PM[00](old)、PM[01](old)の読み出し、PM[00](new)、PM[80](new)の算出(2)PM[02](old)、PM[03](old)の読み出し、PM[01](new)、PM[81](new)の算出(3)PM[00](new)、PM[01](new)の書き込み(4)PM[80](new)、PM[81](new)の書き込みという4回のメモリアクセスで4つのパスメトリックを更新する様にしている。これをPM[00]〜PM[FF]についての256ステート分行う。 Further, by using a RAM (Random Access Memory) as the path metric storage unit 105 and storing path metrics of continuous even and odd states as one storage unit per address of each RAM. , (1) read PM [00] (old), PM [01] (old), calculate PM [00] (new), PM [80] (new), (2) PM [02] (old), Read PM [03] (old), Calculate PM [01] (new), PM [81] (new) (3) Write PM [00] (new), PM [01] (new) (4) Four path metrics are updated by four memory accesses of writing PM [80] (new) and PM [81] (new). This is performed for 256 states of PM [00] to PM [FF].

 具体的には、例えば図2(a)に示すように、パスメトリック更新をおこなう。 Specifically, as shown in FIG. 2A, for example, the path metric is updated.

 ここで、図2(a)において、ステート(old)をn、ステート(new)をmと表し、さらにステート(new)における上位ステートをm(U)、下位ステートをm(L)と表している。ここで上位ステート、下位ステートの定義は、図9に示すように、情報ビットの入力側がステートの最上位ビットとなっている場合において、最上位ビットを除くビットが同一であるステートの対に関して、最上位ビットが1となっているステートが上位ステート、最上位ビットが0となっているステートが下位ステートとしている。図11のパスメトリック・トランジション・ダイアグラムを例にすると、状態遷移後のステート00が下位ステート、ステート10が上位ステートとなる。なお、情報ビットの入力側がステートの最下位ビットとなる定義も存在するが、数学的には同一である。 Here, in FIG. 2A, the state (old) is represented by n, the state (new) is represented by m, the upper state in the state (new) is represented by m (U), and the lower state is represented by m (L). I have. Here, as shown in FIG. 9, the upper state and the lower state are defined as follows: when the input side of the information bit is the most significant bit of the state, the pair of states having the same bit except the most significant bit is A state in which the most significant bit is 1 is an upper state, and a state in which the most significant bit is 0 is a lower state. Taking the path metric transition diagram of FIG. 11 as an example, the state 00 after the state transition is the lower state, and the state 10 is the upper state. Although there is a definition that the input side of the information bit is the least significant bit of the state, it is mathematically the same.

 まず、端子201、202からそれぞれブランチメトリックBM0[m]、BM1[m]が、また端子203、204からそれぞれ連続した偶数、奇数ステートであるパスメトリックPM[n]、PM[n+1]が入力される。 First, branch metrics BM0 [m] and BM1 [m] are input from terminals 201 and 202, respectively, and path metrics PM [n] and PM [n + 1] which are continuous even and odd states are input from terminals 203 and 204, respectively. You.

 次に、加算器205、206、207、208によって、上位、下位ステートのパスメトリックPM0[m(L)]、PM1[m(L)]、PM0[m(U)]、PM1[m(U)]が算出される。 Next, the path metrics PM0 [m (L)], PM1 [m (L)], PM0 [m (U)], PM1 [m (U) of the upper and lower states are added by the adders 205, 206, 207 and 208. )] Is calculated.

 次に、減算器209、210によって、それぞれ、PM0[m(L)]とPM1[m(L)]、PM0[m(U)]とPM1[m(U)]の大小が比較される。減算器209、210による減算結果のうち、符号ビットが大小の比較結果を意味し、PM0[m(L)]とPM1[m(L)]の比較結果である符号ビットsign[m(L)]、PM0[m(U)]とPM1[m(U)]の比較結果であるsign[m(U)]は、後述するセレクタ211、212の選択信号に使用されると共に、端子217、218よりそれぞれパス選択信号PS[m(L)]、PS[m(U)]として出力される。 Next, the magnitudes of PM0 [m (L)] and PM1 [m (L)], and PM0 [m (U)] and PM1 [m (U)] are compared by the subtracters 209 and 210, respectively. Among the subtraction results of the subtracters 209 and 210, the sign bit means a comparison result of which the magnitude is large, and the sign bit sign [m (L) which is a comparison result of PM0 [m (L)] and PM1 [m (L)]. ], Sign [m (U)] which is a comparison result of PM0 [m (U)] and PM1 [m (U)] is used for a selection signal of selectors 211 and 212 described later, and terminals 217 and 218. The signals are output as path selection signals PS [m (L)] and PS [m (U)], respectively.

 次に、セレクタ211、212によって、尤度の高いパスメトリックがPM[m(L)]、PM[m(U)]として算出される。このパスメトリックは、パスメトリック並び換え部104におけるフリップフロップなどで構成された遅延素子213、214、215によって一時的に遅延される。 Next, the selectors 211 and 212 calculate path metrics with high likelihood as PM [m (L)] and PM [m (U)]. This path metric is temporarily delayed by delay elements 213, 214, and 215 constituted by flip-flops and the like in the path metric rearranging unit 104.

 次に、連続した偶数、奇数ステートであるパスメトリックPM[n+2]、PM[n+3]から同様に、パス選択信号PS[m+1(L)]、PS[m+1(U)]、パスメトリックPM[m+1(L)]、PM[m+1(U)]が算出される。 Next, the path selection signals PS [m + 1 (L)], PS [m + 1 (U)] and the path metric PM [m + 1] are similarly obtained from the path metrics PM [n + 2] and PM [n + 3] which are continuous even and odd states. (L)] and PM [m + 1 (U)] are calculated.

 次にパスメトリックPM[m+1(L)]、PM[m+1(U)]は、先に遅延されていたパスメトリックPM[m(L)]、PM[m(U)]と合わせて並び換えられ、PM[m(L)]とPM[m+1(L)]の組、およびPM[m(U)]とPM[m+1(U)]の組として、セレクタ216より選択される。そして端子219、220より出力される。 Next, the path metrics PM [m + 1 (L)] and PM [m + 1 (U)] are rearranged together with the previously delayed path metrics PM [m (L)] and PM [m (U)]. , PM [m (L)] and PM [m + 1 (L)], and a pair of PM [m (U)] and PM [m + 1 (U)]. The signals are output from terminals 219 and 220.

 上記動作を図2(b)のタイミングチャートに示す。4サイクルの動作の中で、パスメトリック読み出し、書き込み動作がそれぞれ2サイクルで行われていることが分かる。このような仕組みによって、ACS演算におけるメモリアクセスの頻度を削減できることがわかる。 The above operation is shown in the timing chart of FIG. It can be seen that, among the operations of four cycles, the path metric read and write operations are each performed in two cycles. It can be seen that such a mechanism can reduce the frequency of memory access in the ACS operation.

 次に、トレースバック演算について説明する。本実施の形態を図3(a)に示す。図3(a)において、パス選択信号を格納したパス選択信号記憶部106を除いた残りの部分がトレースバック演算部107を構成し、トレースバック演算部107は、複数(n)ステート分のパス選択信号をまとめたパス選択信号データ(nビット幅)を一時的に遅延するデータバッファ302と、パス選択信号データから1ステート分のパス選択信号(1ビット幅)を取り出すセレクタ303と、パス選択信号よりビタビステートを更新するシフトレジスタ304と、ビタビステートから次に更新されるビタビステートの一部を予測する次ビタビステート予測部305と、次ビタビステート予測部305から算出されたパス選択信号記憶部アドレスを一時的に遅延するアドレスバッファ306を有して構成されている。 Next, the traceback operation will be described. This embodiment is shown in FIG. In FIG. 3A, the remaining part other than the path selection signal storage unit 106 storing the path selection signal constitutes a traceback operation unit 107. The traceback operation unit 107 includes a plurality of (n) state paths. A data buffer 302 for temporarily delaying path selection signal data (n-bit width) obtained by combining selection signals; a selector 303 for extracting a path selection signal (1 bit width) for one state from the path selection signal data; A shift register 304 for updating the Viterbi state from the signal, a next Viterbi state predictor 305 for predicting a part of the Viterbi state to be updated next from the Viterbi state, and storing a path selection signal calculated from the next Viterbi state predictor 305 It has an address buffer 306 for temporarily delaying a unit address.

 なお、シフトレジスタ304は、ビタビステートを表すと共にビタビステートの遷移から得られる復号ビットも表す。 The shift register 304 indicates Viterbi state and also indicates decoded bits obtained from the transition of Viterbi state.

 上記構成で重要な点は、従来動作ではシフトレジスタ304で更新されたビタビステートを基に、パス選択信号記憶部106からパス選択信号データを読み出し、パス選択信号データから取り出されたパス選択信号によって、次サイクルでシフトレジスタ304を更新する必要があったトレースバック処理が、本実施の形態において新規に設けた次ビタビステート予測部305によって、次に更新されるビタビステートを予測し、予測したパス選択信号記憶部アドレスを算出することで、パス選択信号記憶部アドレス、及びパス選択信号データをそれぞれ一時的に遅延するアドレスバッファ306、データバッファ302を用いたトレースバック処理へと改良されたことにある。 An important point of the above configuration is that, in the conventional operation, the path selection signal data is read from the path selection signal storage unit 106 based on the Viterbi state updated by the shift register 304, and the path selection signal is extracted from the path selection signal data. In the traceback processing that required updating the shift register 304 in the next cycle, the next Viterbi state prediction unit 305 newly provided in the present embodiment predicts the next Viterbi state to be updated, and the predicted path. By calculating the selection signal storage section address, the path selection signal storage section address and the path selection signal data have been improved to traceback processing using the address buffer 306 and the data buffer 302 for temporarily delaying the data, respectively. is there.

 上記改良の利点を次に説明する。図3(b)は、上記構成における各信号の遅延について示したタイミングチャートである。まず基準となるクロックがあり、次ビタビステート予測部出力、パス選択信号記憶部アドレス入力、パス選択信号記憶部データ出力、データバッファ出力の順に記載している。それぞれの信号には、アドレスの配線遅延、パス選択信号記憶部の出力遅延、データの配線遅延がある。これらの遅延のうち、図3(a)に記載した遅延A、遅延Cについては、パス選択信号記憶部106がクロックに同期して動作すること、およびアドレスバッファ306、データバッファ302によって、図3(b)に示す様に、パイプライン動作として分割されている。 (4) The advantages of the above improvement will be described below. FIG. 3B is a timing chart showing the delay of each signal in the above configuration. First, there is a reference clock, which is described in the order of next Viterbi state prediction unit output, path selection signal storage unit address input, path selection signal storage unit data output, and data buffer output. Each signal has an address wiring delay, an output delay of the path selection signal storage unit, and a data wiring delay. Of these delays, delay A and delay C described in FIG. 3A are determined by the fact that the path selection signal storage unit 106 operates in synchronization with the clock and the address buffer 306 and the data buffer 302. As shown in (b), it is divided as a pipeline operation.

 そこで、トレースバック動作速度の上限は図3(c)のようにして決定される。先述した遅延A、遅延Cに加え、セレクタ303に関する遅延B、遅延D、そしてシフトレジスタ304のセットアップ時間を考慮して、以下の遅延のうち、大きな遅延によって動作速度の上限が決定する。 (4) Therefore, the upper limit of the traceback operation speed is determined as shown in FIG. In consideration of the delay A and the delay C described above, the delay B and the delay D related to the selector 303, and the setup time of the shift register 304, the upper limit of the operation speed is determined by the larger delay among the following delays.

  ・パス選択信号記憶部106を中心とした遅延(1):遅延A
  ・パス選択信号記憶部106を中心とした遅延(2):遅延C+遅延D
  ・セレクタ303を中心とした遅延:遅延B+遅延Dここで、先述した様に、アドレスバッファ306、データバッファ302によって遅延A、遅延Cは非常に小さくすることができるので、セレクタ303を中心とした遅延によって動作速度が制限を受けることがわかる。このセレクタ303を中心とした遅延は、従来のパス選択信号記憶部を中心とした遅延と比較して非常に小さいので、高速なトレースバックを実現することができる。
-Delay centering on path selection signal storage unit 106 (1): Delay A
Delay (2) centering on path selection signal storage unit 106: delay C + delay D
The delay centered on the selector 303: delay B + delay D As described above, the delay A and the delay C can be made very small by the address buffer 306 and the data buffer 302. It can be seen that the operation speed is limited by the delay. Since the delay centered on the selector 303 is much smaller than the delay centered on the conventional path selection signal storage section, high-speed traceback can be realized.

 次に、本実施例の重要な点である次ビタビステート予測部305の原理について図4を用いて説明する。 Next, the principle of the next Viterbi state prediction unit 305, which is an important point of the present embodiment, will be described with reference to FIG.

 先述した様に、ビタビステートは、畳み込み符号器の遅延素子の内容をあらわしている。この遅延素子の内容は、1ビットの情報ビットが入力される度に1ビットシフトされる。つまり、1ビットシフトと1サイクルの時間変化はビタビステートの一部分に関して等価となる。この関係を利用して、パス選択信号記憶部アドレスとなるビタビステートの一部として、シフトレジスタ304のどのビット範囲を選択するかによって、次に更新されるパス選択信号記憶部アドレスの予測が実現できる。 ビ As described above, Viterbi state represents the contents of the delay element of the convolutional encoder. The contents of the delay element are shifted by one bit each time one information bit is input. That is, the one-bit shift and the one-cycle time change are equivalent for a part of the Viterbi state. By utilizing this relationship, as a part of the Viterbi state serving as the path selection signal storage unit address, prediction of the next updated path selection signal storage unit address is realized by selecting which bit range of the shift register 304 is selected. it can.

 この動作を実現する具体的な回路構成を示したのが、図5(a)である。シフトレジスタ304から次ビタビステート予測部305に入力されるビタビステートの下位(パス選択信号の入力側)が、パス選択信号データからパス選択信号を取り出すセレクタ303(図3(a))への選択情報(ビットアドレス)となり、同様に入力されるビタビステートの上位が、パス選択信号記憶部アドレス(ワードアドレス)となり、セレクタ501が、ワードアドレスをビタビステートのどのビット範囲から取り出すかを選択し、アップダウンカウンタ502がセレクタ501の選択情報を算出する。なお、アップダウンカウンタ502は、パス選択データのリード信号、及びシフトレジスタ304のシフト信号によってカウンタの値を変化させる。 FIG. 5A shows a specific circuit configuration for realizing this operation. The lower order (the input side of the path selection signal) of the Viterbi state input from the shift register 304 to the next Viterbi state prediction unit 305 is selected by the selector 303 (FIG. 3A) that extracts the path selection signal from the path selection signal data. Information (bit address), the upper part of the Viterbi state similarly input becomes the path selection signal storage unit address (word address), and the selector 501 selects from which bit range of the Viterbi state the word address is taken out. An up / down counter 502 calculates selection information of the selector 501. The up / down counter 502 changes the value of the counter according to a read signal of the path selection data and a shift signal of the shift register 304.

 図5(b)に、パス選択データリード信号、シフトレジスタシフト信号と、アップダウンカウンタ502の値との関係を表す。図5(b)において、パス選択データリード信号が0(リードしない)、かつ、シフトレジスタシフト信号が0(シフトしない)とき、または、パス選択データリード信号が1(リードする)、かつ、シフトレジスタシフト信号が1(シフトする)ときは、アップダウンカウンタ502は以前の値を保持する。次に、パス選択データリード信号が1(リードする)、かつ、シフトレジスタシフト信号が0(シフトしない)ときは、アップダウンカウンタ502は1だけ加算する。次に、パス選択データリード信号が0(リードしない)、かつ、シフトレジスタシフト信号が1(シフトする)ときは、アップダウンカウンタ502は1だけ減算する。 FIG. 5B shows the relationship between the path selection data read signal, the shift register shift signal, and the value of the up / down counter 502. In FIG. 5B, when the path selection data read signal is 0 (not read) and the shift register shift signal is 0 (no shift), or when the path selection data read signal is 1 (read) and the shift When the register shift signal is 1 (shift), the up / down counter 502 holds the previous value. Next, when the path selection data read signal is 1 (read) and the shift register shift signal is 0 (no shift), the up / down counter 502 increments by one. Next, when the path selection data read signal is 0 (no read) and the shift register shift signal is 1 (shift), the up / down counter 502 decrements by one.

 ここでトレースバック動作時は、パス選択データリードとシフトレジスタシフトが常に1対1で対応するので、パス選択データリード信号か、シフトレジスタシフト信号のどちらかのみ1であるという状態は、図3(b)に示したパイプライン構成の段数によって決定される。本構成例の場合は、トレースバック初期において、パス選択データリード信号が1で、かつ、シフトレジスタシフト信号が0であるという状態が3サイクル連続し、トレースバックの終了時はパス選択データリード信号が0で、かつ、シフトレジスタシフト信号が1であるという状態が3サイクル連続する。そのため、アップダウンカウンタ502の初期値を0とすると、アップダウンカウンタ502の値は0から3の間を変化することになる。 Here, at the time of the traceback operation, the path selection data read and the shift register shift always correspond one-to-one, so that only one of the path selection data read signal and the shift register shift signal is 1 in FIG. It is determined by the number of stages of the pipeline configuration shown in (b). In the case of this configuration example, the state that the path selection data read signal is 1 and the shift register shift signal is 0 continues for three consecutive cycles at the beginning of traceback, and the path selection data read signal is at the end of traceback. Is 0 and the shift register shift signal is 1 for three consecutive cycles. Therefore, assuming that the initial value of the up / down counter 502 is 0, the value of the up / down counter 502 changes between 0 and 3.

 図5(c)に、アップダウンカウンタ502の値と、セレクタ501によって選択されるワードアドレスとの関係を示す。アップダウンカウンタ502の値が増加する、すなわち、パス選択データリード信号が1で、かつ、シフトレジスタシフト信号が0の時は、ワードアドレスとして、ビタビステートの下位側を順次選択する動作となる。この動作は、図4で説明したように、次に更新されるパス選択信号記憶部アドレスを予測する動作である。この予測時は、ビットアドレスの一部をワードアドレスとして使用する動作となるため、予測範囲は、最大ビットアドレスのビット幅分取り得ることができる。 FIG. 5C shows the relationship between the value of the up / down counter 502 and the word address selected by the selector 501. When the value of the up / down counter 502 increases, that is, when the path selection data read signal is 1 and the shift register shift signal is 0, the lower order side of Viterbi state is sequentially selected as a word address. This operation is, as described with reference to FIG. 4, an operation for estimating a path selection signal storage unit address to be updated next. At the time of this prediction, an operation is performed in which a part of the bit address is used as the word address, so that the prediction range can be obtained by the bit width of the maximum bit address.

 図6に、上記トレースバック演算による一連の動作タイミングを示す。図6は、上から順に、基準クロック、次ビタビステート予測部305出力、アドレスバッファ306出力、メモリ(パス選択信号記憶部)106出力、パス選択信号、シフトレジスタ304の最下位ビット、パス選択データリード信号、シフトレジスタシフト信号、アップダウンカウンタ502の値を表している。図6に示すように、ビタビステート予測部305の出力を用いることにより、パイプライン動作でトレースバックが実行できていることがわかる。 FIG. 6 shows a series of operation timings by the traceback operation. FIG. 6 shows, in order from the top, a reference clock, an output of the next Viterbi state prediction unit 305, an output of the address buffer 306, an output of the memory (path selection signal storage unit) 106, a path selection signal, the least significant bit of the shift register 304, and path selection data. A read signal, a shift register shift signal, and a value of the up / down counter 502 are shown. As shown in FIG. 6, by using the output of the Viterbi state prediction unit 305, it can be seen that the traceback can be executed by the pipeline operation.

 このような仕組みによって、通常のRAMを使用しながらも、高速なトレースバックを実現することができる。 仕 組 み With such a mechanism, high-speed traceback can be realized while using a normal RAM.

 次に、図7を参照して、上記したような演算手段を用いて、通常のRAMを使用し、かつ、RAMの使用量を最小限にした本発明の他の実施形態によるビタビ復号器の例を説明する。 Next, referring to FIG. 7, using the above-described arithmetic means, a normal RAM is used, and a Viterbi decoder according to another embodiment of the present invention in which the amount of RAM used is minimized. An example will be described.

 図7に示すビタビ復号器は、前述したブランチメトリック演算部102、ACS演算部103、パスメトリック並び換え部104、トレースバック演算部107に加えて、ACS演算部103、パスメトリック並び換え部104、およびトレースバック演算部107に接続されるアドレス生成/記憶制御部706、及びアドレス生成/記憶制御部706に接続されるパスメトリック/パス選択信号共通記憶部705を有している。 The Viterbi decoder shown in FIG. 7 includes an ACS operation unit 103, a path metric rearrangement unit 104, a branch metric operation unit 102, an ACS operation unit 103, a path metric rearrangement unit 104, and a traceback operation unit 107. And an address generation / storage control unit 706 connected to the traceback operation unit 107, and a path metric / path selection signal common storage unit 705 connected to the address generation / storage control unit 706.

 アドレス生成/記憶制御部706は、パスメトリック格納領域開始アドレスPMSADR、パス選択信号格納領域開始アドレスPSSADR、格納領域指定信号PMPSSELをもとに、パスメトリックステート番号n、m、及びパス選択信号ステート番号jから、以下のメモリアクセスアドレスMEMADRを生成する。 Based on the path metric storage area start address PMSADR, the path selection signal storage area start address PSSADR, and the storage area designation signal PMPSSEL, the address generation / storage control unit 706 determines the path metric state numbers n and m and the path selection signal state number. The following memory access address MEMADR is generated from j.

(数18)
   MEMADR=PMPSSEL?(PMSADR+n):(PMSADR
+m):(PSSADR+j)ここで、演算式s?x:y:zは、s=0の時x、s=1の時y、s=2の時zを出力する演算を表す。
(Equation 18)
MEMADR = PMPSSEL? (PMSADR + n): (PMSADR
+ M): (PSSADR + j) where the arithmetic expression s? x: y: z represents an operation of outputting x when s = 0, y when s = 1, and z when s = 2.

 ビタビ復号動作時は、図8に示す様に、PMPSSELが適当な時点で0、1、2のいずれかの値となり、PMPSSELに同期して、ACS演算部103、パスメトリック並び換え部104、およびトレースバック演算部107のそれぞれが動作する。 At the time of the Viterbi decoding operation, as shown in FIG. 8, PMPSSEL takes a value of 0, 1, or 2 at an appropriate time, and in synchronization with PMPSSEL, the ACS operation unit 103, the path metric rearrangement unit 104, and Each of the traceback calculation units 107 operates.

 このような仕組みによって、一つのRAMを各演算部で共用し、通常のRAMを使用し、かつ、RAMの使用量を最小限にしたビタビ復号を実現することができる。 (4) By such a mechanism, it is possible to realize Viterbi decoding in which one RAM is shared by the arithmetic units, a normal RAM is used, and the amount of RAM used is minimized.

 本発明によれば、ビタビ復号器のトレースバック演算部にビタビステート予測部を設けて、パイプライン処理でパス選択信号記憶部からの読み出しを行うことにより、一般のRAM等のメモリをパス選択信号記憶部に用いながら、高速動作のトレースバックを行うことができ、ビタビ復号動作を高速化、あるいは低電力化を実現することが可能となり、畳み込み符号の最尤復号に用いられるビタビ復号器に有用である。 According to the present invention, a Viterbi state prediction unit is provided in a traceback operation unit of a Viterbi decoder, and reading from a path selection signal storage unit is performed by pipeline processing, so that a memory such as a general RAM can store a path selection signal. Traceback of high-speed operation can be performed while using it for the storage unit, which makes it possible to realize high-speed or low-power Viterbi decoding operation, and is useful for a Viterbi decoder used for maximum likelihood decoding of convolutional codes. It is.

本発明の実施形態によるビタビ復号器の概略構成を示すブロック図FIG. 1 is a block diagram illustrating a schematic configuration of a Viterbi decoder according to an embodiment of the present invention. ACS演算部及びパスメトリック並び換え部の構成を示すブロック図及びその動作を示すタイミングチャートBlock diagram showing the configuration of the ACS operation unit and the path metric rearranging unit, and a timing chart showing the operation thereof トレースバック演算の構成の具体例及び動作遅延を示す図The figure which shows the specific example of a structure of a traceback calculation, and operation delay 次ビタビステート予測部の原理を示す図Diagram showing the principle of the next Viterbi state prediction unit 次ビタビステート予測部の構成を示す図Diagram showing the configuration of the next Viterbi state prediction unit トレースバック演算動作を示すタイミングチャートTiming chart showing traceback operation 本発明の他の実施形態による、一つのRAMを各演算部で共用するビタビ復号器の概略構成を示すブロック図FIG. 4 is a block diagram illustrating a schematic configuration of a Viterbi decoder according to another embodiment of the present invention, in which one arithmetic unit shares one RAM. 一つのRAMを各演算部で共用する動作を示すタイミングチャートTiming chart showing the operation of sharing one RAM for each operation unit 畳み込み符号器の一例を示すブロック図Block diagram showing an example of a convolutional encoder ビタビ復号を説明するためのトレリス線図Trellis diagram for explaining Viterbi decoding ビタビ復号を説明するためのパスメトリック・トランジション・ダイアグラムPath metric transition diagram to explain Viterbi decoding トレースバック演算を説明するためのステート遷移図State transition diagram for explaining traceback operation トレースバック演算の従来例を示す図Diagram showing conventional example of traceback operation

符号の説明Explanation of reference numerals

 101 ビタビ復号器の受信データ入力端子
 102 ブランチメトリック演算部
 103 ACS演算部
 104 パスメトリック並び換え部
 105 パスメトリック記憶部
 106 パス選択信号記憶部
 107 トレースバック演算部
 108 ビタビ復号器の復号データ出力端子
 201、202 ACS演算部103のブランチメトリック入力端子
 203、204 ACS演算部103のパスメトリック入力端子
 205、206、207、208 ACS演算用加算器
 209、210 ACS演算用減算器
 211、212 ACS演算用セレクタ
 213、214、215 パスメトリック並び換え用遅延素子
 216 パスメトリック並び換え用セレクタ
 217、218 ACS演算部103のパス選択信号出力端子
 219、220 パスメトリック並び換え部104のパスメトリック出力端子
 302 トレースバック用データバッファ
 303 パス選択信号取り出し用セレクタ
 304 トレースバック用シフトレジスタ
 305 次ビタビステート予測部
 306 トレースバック用アドレスバッファ
 501 次ビタビステート予測部305のセレクタ
 502 次ビタビステート予測部305のアップダウンカウンタ
 705 パスメトリック/パス選択信号共通記憶部
 706 アドレス生成/記憶制御部
 901、902 畳み込み符号器の遅延素子
 903、904、905 畳み込み符号器の加算器
101 Received data input terminal of Viterbi decoder 102 Branch metric operation unit 103 ACS operation unit 104 Path metric rearrangement unit 105 Path metric storage unit 106 Path selection signal storage unit 107 Traceback operation unit 108 Decoded data output terminal 201 of Viterbi decoder 201 , 202 The branch metric input terminals 203, 204 of the ACS operation unit 103 The path metric input terminals 205, 206, 207, 208 of the ACS operation unit 103 The ACS operation adders 209, 210 The ACS operation subtractors 211, 212 The ACS operation selector 213, 214, 215 Path metric rearranging delay element 216 Path metric rearranging selector 217, 218 Path selection signal output terminal of ACS operation section 103 219, 220 Path metric rearranging section 04 path metric output terminal 302 trace back data buffer 303 path selection signal extraction selector 304 trace back shift register 305 next Viterbi state predictor 306 trace back address buffer 501 selector of primary Viterbi state predictor 305 502 next Viterbi state Up / down counter 705 of prediction unit 305 Path metric / path selection signal common storage unit 706 Address generation / storage control unit 901 902 Convolutional encoder delay element 903 904 905 Convolutional encoder adder

Claims (3)

 パス選択信号を記憶するパス選択信号記憶手段と、
 前記パス選択信号記憶手段から読み出した過去のパス選択信号を使用して過去の状態遷移を探索し、復号データを出力するトレースバック演算手段とを備え、
 前記トレースバック演算手段は、
  前記パス選択信号記憶手段より得られるパス選択信号に基づいて、生き残りパスに従ったビタビステートを格納するビタビステート格納手段と、
  前記ビタビステート格納手段の内容に基づいて、次に更新されるビタビステートの一部を予測するビタビステート予測手段と、
  前記ビタビステート予測手段により予測されたビタビステートの一部に基づいて、前記パス選択信号が記憶されている前記パス選択信号記憶手段のアドレスを算出するパス選択信号記憶アドレス算出手段とを備えたことを特徴とするビタビ復号器。
Path selection signal storage means for storing a path selection signal;
Traceback operation means for searching for a past state transition using a past path selection signal read from the path selection signal storage means, and outputting decoded data,
The traceback calculation means,
Viterbi state storage means for storing Viterbi state according to a surviving path based on a path selection signal obtained from the path selection signal storage means,
Based on the contents of the Viterbi state storage means, Viterbi state prediction means for predicting a part of the next updated Viterbi state,
A path selection signal storage address calculation unit that calculates an address of the path selection signal storage unit in which the path selection signal is stored based on a part of the Viterbi state predicted by the Viterbi state prediction unit. A Viterbi decoder characterized by the above-mentioned.
 前記ビタビステート予測手段は、
 前記パス選択信号記憶手段の読み出し制御信号と前記ビタビステート格納手段のシフト制御信号とによって状態を変化させるアップダウンカウンタと、
 前記アップダウンカウンタの値に従って、前記ビタビステート格納手段の内容と次に更新されるビタビステートの一部との対応を変化させるセレクタを備えたことを特徴とする請求項1記載のビタビ復号器。
The Viterbi state prediction means,
An up-down counter that changes state according to a read control signal of the path selection signal storage means and a shift control signal of the Viterbi state storage means,
2. The Viterbi decoder according to claim 1, further comprising a selector for changing the correspondence between the contents of said Viterbi state storage means and a part of Viterbi state to be updated next according to the value of said up / down counter.
 前記ビタビステート予測手段により予測されたビタビステートの一部に基づいて、前記パス選択信号記憶アドレス算出手段がアドレスを算出する過程、該算出したアドレスに基づいて、前記パス選択信号記憶手段のパス選択信号を読み出す過程、および該読み出したパス選択信号に基づいて、生き残りパスに従ったビタビステートを前記ビタビステート格納手段に格納する過程の少なくとも一つの過程においてパイプライン処理を使用することを特徴とする請求項1記載のビタビ復号器。 A step of calculating an address by the path selection signal storage address calculation means based on a part of the Viterbi state predicted by the Viterbi state prediction means; and selecting a path of the path selection signal storage means based on the calculated address. A pipeline process is used in at least one of a step of reading a signal and a step of storing Viterbi state according to a surviving path in the Viterbi state storage means based on the read path selection signal. The Viterbi decoder according to claim 1.
JP2003392604A 2003-11-21 2003-11-21 Viterbi decoder Withdrawn JP2004120791A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003392604A JP2004120791A (en) 2003-11-21 2003-11-21 Viterbi decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003392604A JP2004120791A (en) 2003-11-21 2003-11-21 Viterbi decoder

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP33161299A Division JP3515720B2 (en) 1999-11-22 1999-11-22 Viterbi decoder

Publications (1)

Publication Number Publication Date
JP2004120791A true JP2004120791A (en) 2004-04-15

Family

ID=32291088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003392604A Withdrawn JP2004120791A (en) 2003-11-21 2003-11-21 Viterbi decoder

Country Status (1)

Country Link
JP (1) JP2004120791A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531161A (en) * 2022-02-23 2022-05-24 电子科技大学 Multi-mode list Viterbi realization method and decoder

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531161A (en) * 2022-02-23 2022-05-24 电子科技大学 Multi-mode list Viterbi realization method and decoder
CN114531161B (en) * 2022-02-23 2023-04-28 电子科技大学 Multimode list Viterbi realization method and decoder

Similar Documents

Publication Publication Date Title
JP3515720B2 (en) Viterbi decoder
KR100580160B1 (en) Two-step soft output viterbi algorithm decoder using modified trace-back
EP0926836B1 (en) Viterbi decoding apparatus and viterbi decoding method
US20070089043A1 (en) Viterbi decoder and Viterbi decoding method
JPH0144058B2 (en)
US7277507B2 (en) Viterbi decoder
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
JP4600183B2 (en) Viterbi decoder
JP4580927B2 (en) Viterbi decoding apparatus and Viterbi decoding method
JPH09232971A (en) Viterbi decoding method and viterbi decoding circuit
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
JP3259725B2 (en) Viterbi decoding device
JP2018207248A (en) Viterbi decoding device and viterbi decoding method
JPH0951278A (en) Viterbi decoder
JP2004120791A (en) Viterbi decoder
JP4047697B2 (en) Viterbi decoder
JP2010206570A (en) Decoding apparatus and decoding method
JP3753822B2 (en) Viterbi decoding method and apparatus
JP3260714B2 (en) Viterbi decoding device and Viterbi decoding method
JP4422867B2 (en) Viterbi decoder
JP4729938B2 (en) Viterbi decoder and mobile communication device, base station device, and mobile communication terminal using the same
JP2904271B2 (en) Path memory unit for Viterbi decoder and decoding method
KR100491016B1 (en) Trace-Back Viterbi Decoder with Consecutive Control of Backward State Transition and Method thereof
JPH05335973A (en) Viterbi decoder and decoder for convolution code
JP2002198827A (en) Maximum likelihood decoding method and decoder thereof

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070206