JP2002076924A - Viterbi decoder - Google Patents
Viterbi decoderInfo
- Publication number
- JP2002076924A JP2002076924A JP2000268347A JP2000268347A JP2002076924A JP 2002076924 A JP2002076924 A JP 2002076924A JP 2000268347 A JP2000268347 A JP 2000268347A JP 2000268347 A JP2000268347 A JP 2000268347A JP 2002076924 A JP2002076924 A JP 2002076924A
- Authority
- JP
- Japan
- Prior art keywords
- likelihood
- state
- memory
- branch
- viterbi decoder
- 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.)
- Pending
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は誤り訂正符号の復号
器に係わり、特に畳み込み符号の復号に効果のあるビタ
ビ復号器に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an error correction code decoder, and more particularly to a Viterbi decoder effective for decoding a convolutional code.
【0002】[0002]
【従来の技術】データ伝送の信頼性を高めるため、伝送
途中で生ずる伝送データの符号誤りを受信側で訂正する
誤り訂正技術が多方面で用いられている。中でも畳み込
み符号を最尤復号出来るビタビ復号器は誤り訂正能力が
大きいことで知られている。2. Description of the Related Art In order to improve the reliability of data transmission, an error correction technique for correcting a code error of transmission data occurring during transmission on a receiving side has been used in various fields. Among them, a Viterbi decoder capable of maximum likelihood decoding of a convolutional code is known to have a large error correction capability.
【0003】従来の最尤復号器の動作説明に先立ち、最
尤復号において重要な役割をする畳み込み符号器の状態
の概念とトレリス線図について図3を用いて説明する。
図3aは畳み込み符号器の構成を表すブロック、図3bは
8状態のトレリス線図、図3cは基本単位のトレリス線
図である。Prior to the description of the operation of a conventional maximum likelihood decoder, the concept of a state of a convolutional encoder and a trellis diagram which play an important role in maximum likelihood decoding will be described with reference to FIG.
3A is a block diagram illustrating a configuration of a convolutional encoder, FIG. 3B is a trellis diagram of eight states, and FIG. 3C is a trellis diagram of a basic unit.
【0004】図3aにそのブロック構成図で示した畳み
込み符号器は、排他論理和ゲート31〜35、および1ビッ
ト遅延素子36〜38から成るシフトレジスタで構成され
る。入力データx0は1ビット遅延素子36〜38に順次入力
され、遅延データx1、x2、x3を順次出力する。そして排
他論理和ゲート31〜35の接続状態に従って、x0x1x2x3の
排他論理和をとり、符号化出力g0とg1を生成し、生成
された符号化出力g0とg1を送信する。即ち、図3aで
は、排他論理和ゲート31と32とによって、x0とx1とx3と
が加算出力され出力g0(g0=x0+x1+x3)となり、排他
論理和ゲート33と34と35とによって、x0とx1とx2とx3と
が加算出力され出力g1(g1=x0+x1+x2+x3)となる。The convolutional encoder shown in the block diagram of FIG. 3A comprises a shift register including exclusive OR gates 31 to 35 and 1-bit delay elements 36 to 38. Input data x 0 is sequentially inputted to the 1-bit delay element 36 to 38, and sequentially outputs the delayed data x 1, x 2, x 3 . And depending on the connection of the exclusive OR gates 31~35, x 0 x 1 x 2 takes the exclusive logical sum of x 3, generates an encoded output g 0 and g 1, generated encoded output g 0 and g to send 1. That is, in FIG. 3a, by the exclusive OR gates 31 and 32, x 0 and x 1 and x 3 and are summed output Output g 0 (g 0 = x 0 + x 1 + x 3) , and the exclusive OR by the gate 33 and 34 and 35 and, the x 0 and x 1 and x 2 and x 3 and are summed output output g 1 (g 1 = x 0 + x 1 + x 2 + x 3).
【0005】図3aに示した畳み込み符号器は、入力1
ビットに対して2ビット出力されるので、符号化率r=1/
2である。また、入力データ4ビットで符号を生成する
ので、拘束長K=4の畳み込み符号器と呼ばれている。[0005] The convolutional encoder shown in FIG.
Since two bits are output for each bit, the coding rate r = 1 /
2 Also, since a code is generated with 4 bits of input data, it is called a convolutional encoder with a constraint length K = 4.
【0006】畳み込み符号器のシフトレジスタ38,37,
36が保持している3ビットx3x2x1を符号器の状態とい
う。3ビットであるから000〜111の8状態があり、入力
データが入る都度8状態が遷移しながら、符号化が行わ
れる。この状態遷移の状況を図に表したものがトレリス
線図と呼ばれ、図3bに時点tn-1から時点tnへの遷移状
況を示している(nは自然数)。The convolutional encoder shift registers 38, 37,
The 3 bits x 3 x 2 x 1 held by 36 are called the state of the encoder. Since there are three bits, there are eight states from 000 to 111, and the encoding is performed while the eight states transit each time input data is input. FIG. 3B shows a transition state from the time point t n-1 to the time point t n (n is a natural number).
【0007】符号器の状態が状態番号x3x2x1のときに、
畳込み符号器に入力データx0が入力されシフトレジスタ
36に入る。同時に、シフトレジスタ36からx1が出力され
シフトレジスタ37に入り、同時にシフトレジスタ37から
x2が出力されシフトレジスタ38に入り、シフトレジスタ
38からx3が出力される。これによって、符号器の状態が
状態番号x2x1x0の状態に遷移する。When the state of the encoder is state number x 3 x 2 x 1 ,
Input data x 0 is input to the convolutional encoder and shift register
Enter 36. At the same time, it enters from the shift register 36 to the shift register 37 x 1 is outputted from the shift register 37 at the same time
x 2 is output to the shift register 38 and the shift register
38 x 3 is output from. Thus, the state of the encoder makes a transition to the state of the state number x 2 x 1 x 0.
【0008】つまり、状態番号x3x2x1から状態番号x2x1
x0に遷移するわけであるから、m=x2x1(m=0〜3、2進数
ではm=00〜11)とすると、x3=0のときの(0m、即ち000
〜011)とx3=1のとき(1m、即ち100〜111)の状態が、x
0=0のときの(m0、即ち000〜110)とx0=1のとき(m1、
即ち001〜111)の状態へ遷移する。即ち、10進数で表す
と、m(x3=0、即ち2進数の“0m”)とm+4(x3=1、即ち2
進数の“1m”)の状態から2m(x1=0)と2m+1((x1=
1))の状態に遷移する。That is, from state number x 3 x 2 x 1 to state number x 2 x 1
since it is not a transition to x 0, m = x 2 x 1 When (m = In 0~3,2 binary number m = 00-11) and for, when the x 3 = 0 (0m, i.e. 000
011) and when x 3 = 1 (1 m, that is, 100 to 111), x
0 = when the 0 (m0, i.e., 000-110) and when x 0 = 1 (m1,
That is, the state transits to the state of 001 to 111). That is, in decimal notation, m (x 3 = 0, ie, “0m” in binary) and m + 4 (x 3 = 1, ie, 2
2m (x 1 = 0) and 2m + 1 ((x 1 =
1)).
【0009】例えば、x3=0(0m)のときとは、状態番号
x3x2x1が0x2x1であり、この状態からの遷移は、状態番
号mx0の状態に遷移するということであり、x0=0(m0)
か、またはx0=1(m1)かのどちらかである。従ってm=00
の場合には、状態番号000から状態番号000かまたは状態
番号001のどちらかに遷移する。同様に、x3=1(1m)の
場合にも、状態番号100から状態番号001かまたは状態番
号001のどちらかに遷移する。また例えば、m=01の場合
でも、この状態からの遷移は、状態番号mx0の状態に遷
移するということであり、x0=0(m0)か、またはx0=1
(m1)かのどちらかである。従って、x3=0(0m)のとき
には、状態番号001から状態番号010かまたは状態番号01
1のどちらかに遷移する。同様に、x3=1(1m)の場合に
も、状態番号101から状態番号010かまたは状態番号011
のどちらかに遷移する。また同様にm=10の場合には、x3
=0(0m)のときには、状態番号010から状態番号100かま
たは状態番号101のどちらかに遷移し、x3=1(1m)の場
合にも、状態番号110から状態番号100かまたは状態番号
101のどちらかに遷移する。また同様にm=11の場合に
は、x3=0(0m)のときには、状態番号011から状態番号1
10かまたは状態番号111のどちらかに遷移し、x3=1(1
m)の場合にも、状態番号111から状態番号110かまたは
状態番号111のどちらかに遷移する。即ち、図3bの8状
態トレリスは、図3cの基本単位トレリスが4個組合わ
さったものである。For example, when x 3 = 0 (0 m), the state number
x 3 x 2 x 1 is 0x 2 x 1 , and the transition from this state is to transit to the state of state number mx 0 , and x 0 = 0 (m0)
Or x 0 = 1 (m1). Therefore m = 00
In the case of, the state changes from state number 000 to either state number 000 or state number 001. Similarly, when x 3 = 1 (1 m), the state transitions from state number 100 to either state number 001 or state number 001. Further, for example, even in the case of m = 01, transition from the state is that a transition to a state of the state number mx 0, x 0 = 0 ( m0) or x 0 = 1
(M1). Therefore, when x 3 = 0 (0 m), state number 001 to state number 010 or state number 01
Transitions to either one. Similarly, when x 3 = 1 (1 m), the state number 101 to the state number 010 or the state number 011
Transitions to either. Similarly, when m = 10, x 3
When = 0 (0 m), transition from state number 010 to either state number 100 or state number 101, and when x 3 = 1 (1 m), state number 110 to state number 100 or state number
Transition to one of 101. Similarly, when m = 11, when x 3 = 0 (0 m), the state numbers 011 to 1
Transition to either 10 or state number 111, x 3 = 1 (1
Also in the case of m), the state number 111 makes a transition to either the state number 110 or the state number 111. That is, the 8-state trellis in FIG. 3B is a combination of four basic unit trellises in FIG. 3C.
【0010】符号化出力g0とg1は、次の式(1)に示す
符号の生成多項式で計算される。The encoded outputs g 0 and g 1 are calculated by the code generator polynomial shown in the following equation (1).
【数1】 但し、式(1)における加算は排他論理和で行う。また、x
Tはxの転置ベクトルを示す。(Equation 1) However, the addition in equation (1) is performed by exclusive OR. Also, x
T indicates a transposed vector of x.
【0011】このように、図3cの状態遷移に伴って出
力される符号g0、g1は式(1)に図3cのx3m、mx0(m=x2
x1)を代入して、次の式(2)のようになる。As described above, the codes g 0 and g 1 output in accordance with the state transition of FIG. 3C are expressed by the following equation (1): x 3 m, mx 0 (m = x 2
x 1 ), the following equation (2) is obtained.
【数2】 但し、式(2)においてx′はxの論理反転を示す。以上述
べたように、畳込み符号のトレリス構造(遷移前後の状
態番号、および出力される符号)は、状態番号m=0〜2
K-2-1(Kは拘束長)を与えると、一意的に決定される。(Equation 2) However, in equation (2), x 'indicates the logical inversion of x. As described above, the trellis structure of the convolutional code (the state numbers before and after the transition and the code to be output) are state numbers m = 0 to 2
Given K-2 -1 (K is the constraint length), it is uniquely determined.
【0012】受信側の最尤復号器では、時点tnの全ての
状態に至る遷移パス(図3bの例では8本)を候補パス
として保持しておき、受信信号y0、y1から求めた符号
r0、r1を手がかりとして送信機の符号器の状態遷移とし
て最も確からしい遷移パスを選択(最尤選択)すること
で符号器の状態遷移を推定しながら復号を行う。ここで
確からしさを具体的に表す量として尤度を用いる。状態
番号mからm′への状態遷移に伴って出力される符号
g0、g1と、実際に受信した符号r0、r1とのハミング距
離を、その遷移枝の枝尤度とする。受信符号r0、r1は受
信信号y0、y1を識別して、y>0ときはr=0、y<0のとき
はr=1とする。このような0、1判定した復号値で求める
尤度を硬判定尤度という。In the maximum likelihood decoder on the receiving side, the transition paths (8 in the example of FIG. 3B) reaching all the states at the time point t n are held as candidate paths, and are obtained from the received signals y 0 and y 1. Sign
The decoding is performed while estimating the state transition of the encoder by selecting the most probable transition path as the state transition of the encoder of the transmitter using r 0 and r 1 as clues (maximum likelihood selection). Here, likelihood is used as a quantity that specifically represents the likelihood. The Hamming distance between the codes g 0 and g 1 output with the state transition from the state number m to m ′ and the actually received codes r 0 and r 1 is taken as the branch likelihood of the transition branch. The received codes r 0 and r 1 identify the received signals y 0 and y 1 , where r = 0 when y> 0 and r = 1 when y <0. Such a likelihood obtained from the decoded values determined as 0 and 1 is called hard decision likelihood.
【0013】他方、状態遷移に伴う符号(g0,g1)=
(0,0)、(0,1)、(1,0)、(1,1) を直交信号点座標
(I,Q)=(1,1)、(-1,1)、(1,-1)、(-1,-1) に割り
当て、直交信号点(I,Q)と受信信号点(y0,y1)との
ユークリッド距離、または直交、同相成分の差の絶対値
和を尤度として与える方法もある。この場合には、求め
た尤度(実数値)を数ビットの整数値に丸めて尤度とす
る。On the other hand, code (g 0 , g 1 ) associated with state transition =
(0,0), (0,1), (1,0), (1,1) are converted to orthogonal signal point coordinates (I, Q) = (1,1), (-1,1), (1, -1) and (-1, -1), and calculate the Euclidean distance between the quadrature signal point (I, Q) and the received signal point (y 0 , y 1 ), or the sum of the absolute values of the differences between the quadrature and in-phase components. There is also a method of giving the likelihood. In this case, the obtained likelihood (real value) is rounded to an integer value of several bits to be the likelihood.
【0014】こうして求めた枝尤度を軟判定尤度とい
う。従って、枝尤度は次の式(3)で与えられる。The branch likelihood thus obtained is called a soft decision likelihood. Therefore, the branch likelihood is given by the following equation (3).
【数3】 ただし、式(3)でのdH(x,y)は符号xとyのハミング距離
を表す。実際の最尤復号器では、図2に示すような枝尤
度計算部で、受信符号が入力される毎に全ての遷移枝の
枝尤度を計算する。図2を用いてビタビアルゴリズムに
よる最尤復号器について説明する。(Equation 3) Here, d H (x, y) in Equation (3) represents the Hamming distance between the codes x and y. In an actual maximum likelihood decoder, a branch likelihood calculation unit as shown in FIG. 2 calculates the branch likelihood of all transition branches every time a received code is input. A maximum likelihood decoder based on the Viterbi algorithm will be described with reference to FIG.
【0015】図2は誤り訂正符号の復号に用いられる従
来の最尤復号器(ビタビ復号器)の構成を示すブロック
図である。20は枝尤度計算部、3は加算比較選択演算(A
CS:Add、Compare、Select)部、4は状態尤度メモリ、5は
パスメモリ、6は最尤復号部である。枝尤度計算部20で
は、受信符号が入力される度に全ての遷移枝の枝尤度を
計算し加算比較選択演算部3に与える。加算比較選択演
算部3では、入力された枝尤度を用いて状態尤度を計算
する。FIG. 2 is a block diagram showing a configuration of a conventional maximum likelihood decoder (Viterbi decoder) used for decoding an error correction code. 20 is a branch likelihood calculation unit, and 3 is an addition comparison selection operation (A
CS: Add, Compare, Select) unit, 4 is a state likelihood memory, 5 is a path memory, and 6 is a maximum likelihood decoding unit. The branch likelihood calculation unit 20 calculates the branch likelihood of all transition branches every time a received code is input, and supplies the calculated branch likelihood to the addition comparison selection operation unit 3. The addition / comparison / selection operation unit 3 calculates the state likelihood using the input branch likelihood.
【0016】状態尤度とは、各状態に至る遷移パスの枝
尤度を全て加算したものである。実際には図3bのトレ
リス線図で示されているように、各状態には2本ずつ遷
移枝が入っているので、それぞれの遷移枝の枝尤度を1
状態前の状態尤度に加算(Add)し、尤度を比較(Compa
re)し、確からしい方の遷移パスを選択(Select)す
る。それぞれの選択肢の枝尤度は、実際にはハミング距
離で表されているので、状態尤度も小さい方が確からし
い(尤度が高い)ことになる。The state likelihood is the sum of all the branch likelihoods of the transition path leading to each state. Actually, as shown in the trellis diagram of FIG. 3B, each state has two transition branches, and thus the likelihood of each transition branch is 1
Add to the state likelihood before the state (Add) and compare the likelihood (Compa
re) and select the more likely transition path. Since the branch likelihood of each option is actually represented by the Hamming distance, the smaller the state likelihood, the more likely (the higher the likelihood).
【0017】加算比較選択演算部3が計算した状態尤度
は状態尤度メモリ4に与えられ、状態尤度メモリ4に格納
されるとともに、ACS(加算、比較、選択)演算によっ
て選択した遷移情報がパスメモリ5に与えられる。パス
メモリ5では、全ての状態に至る遷移パスを記憶してお
く。データの入力が終了した時点で状態尤度の最も高い
(数値としては最も小さい)状態に至る遷移パスを符号
器の遷移パスとして推定し、最尤復号部6で最尤復号し
て出力する。The state likelihood calculated by the addition / comparison / selection operation unit 3 is given to the state likelihood memory 4 and stored in the state likelihood memory 4 and the transition information selected by the ACS (addition, comparison, selection) operation Is given to the path memory 5. The path memory 5 stores transition paths leading to all states. A transition path leading to a state having the highest state likelihood (smallest as a numerical value) when data input is completed is estimated as a transition path of the encoder, and the maximum likelihood decoding unit 6 performs maximum likelihood decoding and outputs the result.
【0018】以上述べたように、最尤復号法では受信し
た入力データを直ちに復号しないで、情報の確からしさ
を、状態尤度の形で保持しておき、複数の送信シンボル
にわたる遷移パスについて復号するので、1シンボル毎
に混入する雑音成分の影響を軽減し、誤りを少なくする
ことが出来る。As described above, in the maximum likelihood decoding method, received input data is not immediately decoded, but the likelihood of information is held in the form of state likelihood, and a transition path over a plurality of transmission symbols is decoded. Therefore, it is possible to reduce the influence of a noise component mixed for each symbol and reduce errors.
【0019】ビタビ復号器においては、枝尤度に軟判定
尤度を用いると、誤り訂正能力が大きくなり、符号誤り
率が改善されることが知られている。軟判定尤度は式
(2)および式(3)によって求めることが出来る。即ち、図
3cに示した基本単位トレリスの番号m(m=0〜2K-2-1)
から状態遷移前後の状態番号(m、m+2K-2 → 2m、2m+
1)を求め、式(2)によって状態遷移に伴う符号g0、g1
を計算する。次に式(3)にg0、g1を代入し枝尤度を求
めることが出来る。しかしながら、これら一連の演算
は、拘束長Kが小さい時には比較的容易に実行できる
が、Kが大きくなると、演算量が指数関数的に増加し、
処理時間が長くなる。It is known that in a Viterbi decoder, when soft decision likelihood is used as branch likelihood, error correction capability is increased and a code error rate is improved. The soft decision likelihood is
It can be obtained by (2) and equation (3). That is, the number m of the basic unit trellis shown in FIG. 3C (m = 0 to 2 K−2 −1)
From the state number before and after the state transition (m, m + 2 K-2 → 2m, 2m +
1) is obtained, and codes g 0 , g 1 accompanying the state transition are calculated according to equation (2).
Is calculated. Next, the branch likelihood can be obtained by substituting g 0 and g 1 into equation (3). However, these series of operations can be performed relatively easily when the constraint length K is small, but when K is large, the amount of operation increases exponentially,
Processing time becomes longer.
【0020】また、式(3)の計算において、硬判定の場
合には受信信号振幅y0、y1を識別符号r0、r1に変換し、
ハミング距離を求め、軟判定の場合には、符号g0、g1
を直交信号点座標(I,Q)に変換して、ユークリッド距
離を求める必要があり、演算処理がかなり煩雑になる。In the calculation of equation (3), in the case of a hard decision, the received signal amplitudes y 0 and y 1 are converted into identification codes r 0 and r 1 ,
The Hamming distance is obtained, and in the case of soft decision, codes g 0 , g 1
Needs to be converted to the orthogonal signal point coordinates (I, Q) to find the Euclidean distance, which makes the computation process considerably complicated.
【0021】また畳込み符号、ビタビ復号による誤り訂
正技術が、様々な分野に応用されるにつれて、ビタビ復
号出力にも軟判定尤度情報が求められている。図4を用
いて軟判定尤度出力を得る方法について説明する。図4
はトレリス遷移と生残りパスの説明する図である。列の
t1〜t6は時点、行数字の0〜7は状態を表している。また
○印は時点の列と状態の行によって、状態を示す記号で
ある。時点t1列と状態1の行がクロスする位置にある○
印は、時点t1での状態1を表す。更に実線は各時点から
遷移する状態の生き残りパス、破線は各トレリスの状態
尤度の差である。Further, as the error correction technique using convolutional codes and Viterbi decoding is applied to various fields, soft decision likelihood information is required for Viterbi decoded output. A method for obtaining a soft decision likelihood output will be described with reference to FIG. FIG.
FIG. 4 is a diagram for explaining trellis transition and surviving paths. Column
t 1 ~t 6 the time, 0-7 of the row numbers represent the state. In addition, a mark “○” is a symbol indicating a state by a column at the time and a row of the state. At the position where the column at time t 1 and the row at state 1 cross each other ○
Mark represents the state 1 at time t 1. Further, a solid line indicates a surviving path of a state transitioning from each time point, and a broken line indicates a difference in state likelihood of each trellis.
【0022】符号の尤度は符号間距離で表わされる。畳
込み符号の符号間距離は1ビット異なる情報系列を符号
化したときに得られる符号のハミング距離で表わすこと
が出来る。例として、図4のt=t1の時点の状態0(状態尤
度ms0)から、情報系列xA=(0,0,0,0)を符号化した
ときのトレリスをAで、情報系列xB=(1,0,0,0)を符
号化したときのトレリスをBで示す。情報系列XAに対し
ては符号系列gA=(00,00,00,00)が出力され、t=t5
の時点で状態尤度はmsA=ms0となる。他方、トレリスBに
対しては、符号系列はgB=(11,01,11,11)となり、t=
t5の時点で状態尤度はmsB=ms0+7となる。ここで、1ビ
ット異なる情報系列xA、xBに対して、符号系列gA 、g
Bは7ビット異なっており、これが畳込み符号の最小自
由距離と言われるものである。t=t5の時点でトレリスA
とトレリスBは状態0に遷移するが、加算比較選択演算部
3(図2参照)により、状態尤度の小さいトレリスA(ms
A<msB )の方が選択されて生残り、トレリスBはトレリ
スAに合流し捨てられる。こうして、全ての状態に至る
生残りパス(実線)の中で、状態尤度の最小のパス(破
線)が最尤パスである。The likelihood of a code is represented by the distance between codes. The inter-code distance of a convolutional code can be represented by a Hamming distance of a code obtained when an information sequence different by one bit is encoded. As an example, from state 0 (state likelihood ms 0 ) at time t = t 1 in FIG. 4, the trellis when the information sequence x A = (0, 0, 0, 0) is coded as A, The trellis when the sequence x B = (1, 0, 0, 0) is encoded is denoted by B. A code sequence g A = (00,00,00,00) is output for the information sequence XA, and t = t 5
State likelihood at the time of the ms A = ms 0. On the other hand, for trellis B, the code sequence is g B = (11,01,11,11), and t =
state likelihood at time t 5 becomes ms B = ms 0 +7. Here, for information sequences x A and x B that differ by 1 bit, code sequences g A and g
B differs by 7 bits, which is called the minimum free distance of the convolutional code. Trellis A at t = t 5
And trellis B transition to state 0,
3 (see FIG. 2), the trellis A (ms
A <ms B ) is selected and survives, and trellis B joins trellis A and is discarded. Thus, of the surviving paths (solid lines) reaching all the states, the path with the smallest state likelihood (broken line) is the maximum likelihood path.
【0023】ビタビ復号器の最尤復号出力は、その時点
の最尤パスによって決定される。今、t=t6の時点で、状
態5が最尤状態(状態尤度の最も小さい状態)と判定さ
れ、トレリスCが捨てられ、トレリスDが生残り最尤パス
として選択されたとする。このとき、最尤復号出力に対
する尤度は、トレリスCとトレリスDの状態尤度の差とな
る。即ち、復号出力の尤度(mo)は最尤状態(mL=5)に
遷移する1時点前の2つの状態尤度(ms(m1)、ms(m2)、
m1=mL/2、m2=mL/2+2K-2、(ここで、“/”は整数除算
を表わす)と、その遷移に伴う2つの枝尤度(mb(m1、m
L)、mb(m2、mL))から、次の式(4)で与えられる。The maximum likelihood decoding output of the Viterbi decoder is determined by the current maximum likelihood path. Now, at the time of t = t 6, the state 5 is determined maximum likelihood state (smallest states of the state likelihood), trellis C is discarded, and the trellis D is selected as the survivor maximum likelihood path. At this time, the likelihood for the maximum likelihood decoded output is the difference between the state likelihood of trellis C and trellis D. That is, the likelihood (mo) of the decoded output is the two state likelihoods (ms (m 1 ), ms (m 2 ), and m (m 2 ) one time before the transition to the maximum likelihood state (m L = 5).
m 1 = m L / 2, m 2 = m L / 2 + 2 K−2 (where “/” represents integer division) and two branch likelihoods (mb (m 1 , M
L ) and mb (m 2 , m L )) are given by the following equation (4).
【数4】 (Equation 4)
【0024】式(4)で与えられる復号出力の尤度を計算
するには、状態尤度メモリから状態尤度が最小の最尤状
態を探査し、最尤状態に遷移する一時点前の2つの状態
尤度を求め、更にこの遷移に伴う枝尤度を求めなければ
ならない。しかしながら、従来のビタビ復号器の構造で
は、遷移後の状態尤度を計算し終えた時点で状態尤度メ
モリを更新して最尤状態の探査を行うため、遷移前の状
態尤度は廃棄されてしまい、復号出力の尤度を求めるこ
とは出来ない。更に、ビタビ復号器は入力信号レベルが
低く、伝送路における伝送符号誤りが多い状況では、復
号器自身が復号誤りを起こし、符号化を行わない場合よ
りも符号誤り率が悪くなる。ビタビ復号器では最尤パス
が求まっても直ちには復号せず、拘束長の5〜6倍の遅
延(パスメモリの打ち切り長)を持たせて復号を行う。こ
れは、トレリスの合流が十分行われて、生残りパスが1
本に纏まった状態になるまで、復号を待つことにより、
復号結果の信頼性を高めるためであり、パスメモリの記
憶容量を抑える目的もある。しかしながら、伝送符号誤
りが多い状態では、トレリスの合流が十分行われず複数
本のパスが生残っている状態となる。つまり、最尤パス
とさほど尤度差の無いパスが存在する。このような場
合、最尤パスについて復号を行っても復号出力の符号誤
り率は改善することは出来ない。即ち、入力信号レベル
が低い場合には符号誤り率が悪くなる。To calculate the likelihood of the decoded output given by equation (4), the maximum likelihood state with the smallest state likelihood is searched from the state likelihood memory, and the maximum likelihood state before transition to the maximum likelihood state is calculated. One state likelihood must be obtained, and a branch likelihood accompanying this transition must be obtained. However, in the structure of the conventional Viterbi decoder, the state likelihood before the transition is discarded because the state likelihood memory is updated and the maximum likelihood state is searched when the state likelihood after the transition is calculated. Thus, the likelihood of the decoded output cannot be obtained. Further, in a situation where the input signal level of the Viterbi decoder is low and there are many transmission code errors in the transmission path, the decoder itself causes a decoding error and the code error rate becomes worse than when no coding is performed. The Viterbi decoder does not immediately decode even if the maximum likelihood path is obtained, but performs decoding with a delay (truncation length of the path memory) of 5 to 6 times the constraint length. This is due to the trellis merging being sufficient and one surviving path
By waiting for decoding until it is in a book,
This is to improve the reliability of the decoding result, and also to reduce the storage capacity of the path memory. However, in a state where there are many transmission code errors, trellis merging is not sufficiently performed and a plurality of paths survive. In other words, there is a path having no likelihood difference with the maximum likelihood path. In such a case, even if decoding is performed for the maximum likelihood path, the bit error rate of the decoded output cannot be improved. That is, when the input signal level is low, the code error rate becomes worse.
【0025】[0025]
【発明が解決しようとする課題】前述の従来技術には、
以下の欠点が有る。 (1)軟判定枝尤度を求める信号処理の演算量が大き
い。 (2)復号出力の軟判定尤度情報を簡単に求めることが
出来ない。 (3)入力信号レベルが低い場合、誤り率の改善が出来
ない。 本発明の目的は、上記のような欠点を除去し、まず第1
に枝尤度の信号処理における演算量を低下することにあ
る。また、第2に、復号出力の軟判定尤度情報を容易に
求めることが可能なビタビ復号器の構成を提供すること
にある。更に、第3に、入力信号レベルが低い場合の復
号結果の符号誤り率を改善できるビタビ復号器を構成す
ることにある。The above-mentioned prior art includes the following:
It has the following disadvantages. (1) The amount of computation in signal processing for obtaining soft decision branch likelihood is large. (2) The soft decision likelihood information of the decoded output cannot be easily obtained. (3) When the input signal level is low, the error rate cannot be improved. An object of the present invention is to eliminate the above-mentioned drawbacks, and
Another object is to reduce the amount of calculation in the signal processing of the branch likelihood. A second object is to provide a configuration of a Viterbi decoder capable of easily obtaining soft decision likelihood information of a decoded output. A third object is to configure a Viterbi decoder that can improve the bit error rate of the decoding result when the input signal level is low.
【0026】[0026]
【課題を解決するための手段】上記第1の目的を達成す
るため、本発明のビタビ復号器は、枝尤度の計算を2段
階の処理に分け、まず全ての符号パターンと受信符号と
のハミング距離または、ユークリッド距離を予め計算し
て、枝尤度メモリに格納しておき、各状態遷移枝に伴う
符号パターンによってこの枝尤度メモリを参照すること
により、枝尤度計算の処理を簡素化したものである。ま
た、上記第2の目的を達成するため、状態尤度メモリを
2式設け、交互に使用することによって、常に一時点前
の状態尤度を保持しておくようにしたものである。更
に、上記第3の目的を達成するため、任意の生残りパス
に対する復号結果を容易に出力することが出来るパスメ
モリ構成とすることによって、任意の生残りパスに対す
る復号結果を容易に出力することが出来るようにしたも
のである。In order to achieve the first object, the Viterbi decoder according to the present invention divides the calculation of the branch likelihood into two-stage processing, and firstly, processes all the code patterns and received codes. The Hamming distance or the Euclidean distance is calculated in advance and stored in the branch likelihood memory, and the branch likelihood calculation process is simplified by referring to this branch likelihood memory by a code pattern associated with each state transition branch. It is a thing. In order to achieve the second object, two state likelihood memories are provided and used alternately so that the state likelihood before the temporary point is always held. Further, in order to achieve the third object, a path memory configuration capable of easily outputting a decoding result for an arbitrary surviving path is provided, thereby easily outputting a decoding result for an arbitrary surviving path. Is made possible.
【0027】[0027]
【発明の実施の形態】本発明によるビタビ復号器の一実
施例を、図1を使用して説明する。図1は本発明のビタ
ビ復号器の構成を示すブロック図である。1は枝尤度前
処理部、2は枝尤度メモリ、3は加算比較選択演算(AC
S)部、4は状態尤度メモリ、5はパスメモリ、6は最尤復
号部である。図1の実施例は、図2の従来のビタビ復号
器の枝尤度計算部20の信号処理を枝尤度前処理部1と、
枝尤度メモリ2に分けたものであり、他の構成要素3〜6
までの構成と動作は図2と同様であるので詳細説明は省
略する。DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of a Viterbi decoder according to the present invention will be described with reference to FIG. FIG. 1 is a block diagram showing a configuration of a Viterbi decoder according to the present invention. 1 is a branch likelihood preprocessor, 2 is a branch likelihood memory, and 3 is an addition comparison selection operation (AC
S) unit, 4 is a state likelihood memory, 5 is a path memory, and 6 is a maximum likelihood decoding unit. In the embodiment of FIG. 1, the branch likelihood calculation unit 20 of the conventional Viterbi decoder of FIG.
Branch likelihood memory 2 divided into other components 3 to 6
Since the configuration and operation up to this point are the same as those in FIG. 2, detailed description is omitted.
【0028】図1において、ビタビ復号に用いる枝尤度
は、ビタビ復号器に入力される受信信号(またはこれを
識別した受信符号)と状態遷移に伴って出力される送信
符号(またはこれを直交信号点に割り当てた送信信号)
との間のハミング距離(またはユークリッド距離、ある
いは同相、直交成分の差の絶対値和)で与えられる。送
信符号は状態遷移前後の状態番号によって、式(2)に示
すように2K-1通り(Kは拘束長)の組合せがある。In FIG. 1, the branch likelihood used for Viterbi decoding is obtained by dividing a reception signal (or a reception code identifying the reception signal) input to the Viterbi decoder and a transmission code (or orthogonal code) output along with the state transition. (Transmission signal assigned to signal point)
And the Hamming distance (or the Euclidean distance, or the sum of the absolute values of the differences between the in-phase and quadrature components). There are 2 K-1 combinations (K is the constraint length) of the transmission code according to the state numbers before and after the state transition, as shown in Expression (2).
【0029】しかしながら、送信符号そのものは2n個
(nは符号語のビット数、n=2の場合は(g0,g1)=
(0,0)、(0,1)、(1,0)、(1,1)の4個 )しかない。
そこで、枝尤度前処理部1において、式(3)により受信符
号と2n個の送信符号で決まる枝尤度を予め計算し、枝尤
度メモリ2に書き込んでおく。加算比較選択演算部3でm
(=0〜2K-2)個の基本単位トレリスについて、状態遷
移前後の状態番号を求め、式(2)によって状態遷移に伴
って出力される送信符号(g0,g1)で枝尤度メモリ2
を参照することにより、枝尤度が求められる。即ち、従
来例のように、全ての状態番号mに対して、式(2)と式
(3)を使って計算する必要が無く、枝尤度演算処理の時
間短縮が図れる。However, the transmission code itself is 2 n (n is the number of bits of the code word, and if n = 2, (g 0 , g 1 ) =
(0,0), (0,1), (1,0), (1,1)).
Therefore, in the branch likelihood preprocessing unit 1, the branch likelihood determined by the reception code and 2 n transmission codes is calculated in advance by the equation (3), and is written in the branch likelihood memory 2. M in addition / comparison / selection operation unit 3
For (= 0 to 2 K-2 ) basic unit trellis, the state numbers before and after the state transition are obtained, and the branch likelihood is calculated by the transmission code (g 0 , g 1 ) output according to the state transition according to equation (2). Degree memory 2
, The branch likelihood is obtained. That is, as in the conventional example, for all state numbers m, the equation (2) and the equation
There is no need to perform calculation using (3), and the time for branch likelihood calculation processing can be reduced.
【0030】本発明による第2の実施例を図6を用いて
説明する。図6は本発明の第2の実施例のビタビ復号器
の構成を示すブロック図である。これまで説明した構成
要素と同一の機能の構成要素には同一の番号を付した。
その他、61は第1の状態尤度メモリ、62は第2の状態尤
度メモリ、63は出力尤度演算部である。図6の実施例
は、図1の本発明によるビタビ復号器の第1の実施例の
状態尤度メモリ4を第1の状態尤度メモリ61と、第2の
状態尤度メモリ62の2組のメモリで構成し、更に、出力
尤度演算部63を設けたものである。構成要素1〜3および
5と6の動作は、図1の実施例と同様であるので説明を省
略する。A second embodiment according to the present invention will be described with reference to FIG. FIG. 6 is a block diagram showing the configuration of the Viterbi decoder according to the second embodiment of the present invention. Components having the same functions as those described above are denoted by the same reference numerals.
In addition, 61 is a first state likelihood memory, 62 is a second state likelihood memory, and 63 is an output likelihood calculator. In the embodiment of FIG. 6, two sets of the state likelihood memory 4 and the second state likelihood memory 62 of the first embodiment of the Viterbi decoder according to the present invention shown in FIG. And an output likelihood calculating section 63 is further provided. Components 1-3 and
The operations 5 and 6 are the same as those in the embodiment of FIG.
【0031】図6に示した実施例では、加算比較選択演
算部3は、ビタビ復号器の動作時点の偶奇により、状態
尤度メモリを切り替えて信号処理を行う。即ち、偶数時
点では第1の状態尤度メモリ61から、状態遷移前の状態
尤度を読み出し、ACS演算を行なって状態遷移後の状態
尤度を求めて、第2の状態尤度メモリ62に格納し(デー
タの流れを実線矢印で示す)、奇数時点では、第2の状
態尤度メモリ62から読み出し、ACS演算結果を第1の状
態尤度メモリ61に書き込む(データの流れを点線矢印で
示す)。このように、2組の状態尤度メモリ61と62を用
いると、状態遷移前の状態尤度が保持されているので、
出力尤度演算部63に、最尤状態に遷移した一時点前の状
態尤度を読み込むことが出来る。In the embodiment shown in FIG. 6, the addition / comparison / selection operation unit 3 performs signal processing by switching the state likelihood memory depending on the evenness of the operation of the Viterbi decoder. That is, at an even time point, the state likelihood before the state transition is read from the first state likelihood memory 61, the ACS operation is performed to obtain the state likelihood after the state transition, and the second state likelihood memory 62 It is stored (the data flow is indicated by a solid arrow), and at an odd-numbered time point, it is read from the second state likelihood memory 62 and the ACS operation result is written into the first state likelihood memory 61 (the data flow is indicated by a dotted arrow). Shown). As described above, when the two sets of state likelihood memories 61 and 62 are used, the state likelihood before the state transition is held, so that
The output likelihood calculating section 63 can read the state likelihood immediately before the transition to the maximum likelihood state.
【0032】更に、枝尤度メモリ2から最尤状態への遷
移に伴う枝尤度を読み出し、式(4)によって計算するこ
とにより、復号出力の軟判定尤度情報を容易に求めるこ
とが出来る。また、図6の実施例では、2組のメモリを
用いることにより、ACS演算に伴う状態尤度メモリの更
新を行う必要がなくなるので、従来のビタビ復号器より
処理時間を短縮できる効果もある。Further, the branch likelihood associated with the transition to the maximum likelihood state is read out from the branch likelihood memory 2 and calculated by equation (4), so that the soft decision likelihood information of the decoded output can be easily obtained. . In the embodiment of FIG. 6, the use of two sets of memories eliminates the necessity of updating the state likelihood memory associated with the ACS operation, so that the processing time can be reduced as compared with the conventional Viterbi decoder.
【0033】本発明の第3の実施例を図5と図7にによ
って説明する。通常、パスメモリにはACS演算によって
得られたパスの遷移情報(現時点の最尤状態に遷移した
一時点前の状態番号)が記憶される。しかしながら、こ
の方法では、パスメモリの打ち切り長だけ遡って(トレ
ースバック処理)最尤復号をする必要がある。この欠点
を回避し、任意の生残りパスに対する復号結果を容易に
出力することが出来るパスメモリ構成法が、特開平5−
315976号“ヴィタビ復号器”に述べられている。
このパスメモリ構成法を図5を用いて説明する。A third embodiment of the present invention will be described with reference to FIGS. Normally, the path memory stores path transition information (state number before the temporary point at which transition to the maximum likelihood state at the present time) obtained by the ACS operation. However, in this method, it is necessary to perform maximum likelihood decoding by going back by the truncation length of the path memory (traceback processing). A path memory configuration method that avoids this drawback and can easily output a decoding result for an arbitrary surviving path is disclosed in
No. 315976, entitled "Viterbi Decoder".
This path memory configuration method will be described with reference to FIG.
【0034】図5において、51、53はパスメモリ、52は
パス演算回路、510、511、512、530、531、532はパスメ
モリ内の1ワード記憶領域である。パスメモリ51、52
は、状態数2K-1に等しいワード数の記憶領域を有し、
各ワードはパスメモリ打切り長に等しいビット数のデー
タを記憶できるものとする。パスメモリ51、52はACS演
算部から得られる遷移情報(状態遷移前後の状態番号 m
0→m1)を基に、各状態に至る生残りパスを記憶する。
まず遷移前のパスを記憶している第1のパスメモリ53か
らm0番目のパス情報を読み出し、パス演算回路52でMSB
側に1ビットシフトする。次に遷移後の状態番号m1のLS
Bビットをパス情報のLSBに格納する。得られた新しいパ
ス情報は、遷移後のパスを記憶する第2のパスメモリ51
のm1番目のパス情報として書き込む。こうして得られた
パス情報には各時点での状態番号のLSBビットが時系列
的に並べられている。図3cの説明において、遷移後の
状態番号(x2x1x0)のLSBビット(x0)は、その状態遷
移が符号器で起こったとしたときの符号器の入力ビット
であり、それは即、その符号を受信したときの復号ビッ
トである。従って、図5のパスメモリに記憶されている
パス情報は各生き残りパスに対する復号出力である。In FIG. 5, 51 and 53 are path memories, 52 is a path operation circuit, and 510, 511, 512, 530, 531 and 532 are one-word storage areas in the path memory. Path memory 51, 52
Has a storage area with a number of words equal to the number of states 2 K-1 ,
Each word can store data of the number of bits equal to the path memory cutoff length. The path memories 51 and 52 store the transition information (the state number m before and after the state transition m) obtained from the ACS operation unit.
Based on 0 → m 1 ), the surviving paths leading to each state are stored.
Reads the m 0 th path information first from the first path memory 53 for storing the path before the transition, MSB path calculating circuit 52
Shift one bit to the side. Next, the LS of the state number m 1 after the transition
The B bit is stored in the LSB of the path information. The obtained new path information is stored in a second path memory 51 for storing the path after the transition.
Is written as the first path information of m. In the path information thus obtained, the LSB bits of the state number at each time are arranged in time series. In the description of FIG. 3c, the LSB bit (x 0 ) of the state number (x 2 x 1 x 0 ) after the transition is the input bit of the encoder when the state transition occurs in the encoder, and it is immediately , Decoded bits when the code is received. Accordingly, the path information stored in the path memory of FIG. 5 is a decoded output for each surviving path.
【0035】図5の構造のパスメモリを用いると各生き
残りパスに対する復号結果を容易に得ることが出来る。
入力信号レベルが大きい場合には、生残りパスは最尤パ
スに合流しているので、パスメモリの全てのパス情報は
一致しているが、入力信号レベルが小さい場合には、複
数の生き残りパスが存在し、各々の復号出力が異なる。
そこで、パスメモリの全ての復号出力を検査し、割合が
大きい方の符号を復号出力とすると、入力信号レベルが
大きい場合には、最尤復号と一致し、入力信号レベルが
小さい場合には多数決判定による復号と一致する復号が
行える。When the path memory having the structure shown in FIG. 5 is used, a decoding result for each surviving path can be easily obtained.
When the input signal level is high, the surviving paths merge with the maximum likelihood path, so that all the path information in the path memory matches, but when the input signal level is low, multiple surviving paths Exist, and the respective decoded outputs are different.
Therefore, all the decoded outputs of the path memory are inspected, and the code with the larger ratio is regarded as the decoded output. If the input signal level is large, the decoding coincides with the maximum likelihood decoding, and if the input signal level is small, the majority decision is made. Decoding that matches decoding by determination can be performed.
【0036】図7は本発明の第3の実施例の最尤復号器
の構成を示すブロック図である。これまで説明した構成
要素と同一の機能の構成要素には同一の番号を付した。
その他、71は第1のパスメモリ、72は第2のパスメモ
リ、73はビットカウンタ、74は復号部である。図7の実
施例は、図1の本発明によるビタビ復号器の第1の実施
例のパスメモリ5を、第1のパスメモリ71と第2のパス
メモリ72の2組のメモリで構成し、更に、ビットカウン
タ73、と復号部74とを設けたものである。構成要素1〜4
の動作は図1の実施例と同様である。FIG. 7 is a block diagram showing the configuration of the maximum likelihood decoder according to the third embodiment of the present invention. Components having the same functions as those described above are denoted by the same reference numerals.
In addition, 71 is a first path memory, 72 is a second path memory, 73 is a bit counter, and 74 is a decoding unit. In the embodiment shown in FIG. 7, the path memory 5 of the first embodiment of the Viterbi decoder according to the present invention shown in FIG. 1 is constituted by two sets of memories, a first path memory 71 and a second path memory 72. Further, a bit counter 73 and a decoding unit 74 are provided. Components 1-4
Is similar to that of the embodiment of FIG.
【0037】図7において、第1のパスメモリ71と第2
のパスメモリ72は、図5の説明で述べたように、状態数
2K-1に等しいワード数の記憶領域を有し、各ワードはパ
スメモリ打切り長に等しいビット数のデータを記憶でき
るものとする。図7の実施例でも、図6の実施例と同じ
ようにビタビ復号器の動作時点の偶奇により、パスメモ
リを切り替えて信号処理を行う。即ち、図5で説明した
ように偶数時点では、第1のパスメモリ71から、一時点
前のパス情報を読み出し、加算比較選択演算部3からの
遷移情報に従って、新しいパス情報を求め、第2のパス
メモリ72に格納し、奇数時点では、第2のパスメモリ72
から一時点前のパス情報を読み出して、求めた新しいパ
ス情報を第1のパスメモリ72に書き込む。ビットカウン
タ73は偶数時点では第2のパスメモリ72から、奇数時点
では第1のパスメモリ71から、2K-1個の生残りパスのパ
スメモリ打切り長遡ったビット位置のビットを読み出
し、“0”(または“1”)の個数を計数する。計数した
値は復号部74に入力し、計数値の高い方の符号を復号出
力とする。In FIG. 7, the first path memory 71 and the second
Path memory 72, as described in the description of FIG.
It has a storage area with the number of words equal to 2 K−1 , and each word can store data with the number of bits equal to the path memory truncation length. In the embodiment shown in FIG. 7, as in the embodiment shown in FIG. 6, signal processing is performed by switching the path memory depending on whether the operation of the Viterbi decoder is even or odd. That is, as described with reference to FIG. 5, at an even time, the path information before the temporary point is read from the first path memory 71, new path information is obtained in accordance with the transition information from the addition / comparison / selection operation unit 3, and the second path information is obtained. At the odd number, the second path memory 72
The path information before the temporary point is read from, and the obtained new path information is written to the first path memory 72. The bit counter 73 reads the bit at the bit position which is traced back from the path memory cutoff length of the 2 K -1 surviving paths from the second path memory 72 at the even time and from the first path memory 71 at the odd time, The number of "0" (or "1") is counted. The counted value is input to the decoding unit 74, and the code with the higher counted value is used as the decoded output.
【0038】この実施例による復号出力は、入力信号レ
ベルが大きいときは、生残りパスは最尤パスに合流して
いるので、パスメモリから読み出す復号出力は、最尤復
号した結果と一致する。他方、入力信号レベルが小さい
場合には、パスメモリ打切り長遡った時点でも、複数の
生残りパスが存在するようになるため、最尤パスと他の
生残りパスとの尤度差が小さくなり、必ずしも最尤復号
が正しい結果を出力するとは限らなくなる。しかし、こ
の実施例による復号法では、そのような場合でも多数決
判定による復号が可能であり、正しく復号される確率が
大きくなる。また、図7の実施例ではビットカウンタ73
の計数値をある一定時間積算することにより、復号結果
の符号誤り率が推定できる。In the decoded output according to this embodiment, when the input signal level is large, the surviving path merges with the maximum likelihood path, so that the decoded output read from the path memory matches the result of the maximum likelihood decoding. On the other hand, when the input signal level is low, a plurality of surviving paths exist even when the path memory truncation length goes back, so that the likelihood difference between the maximum likelihood path and the other surviving paths decreases. However, maximum likelihood decoding does not always output a correct result. However, in the decoding method according to this embodiment, even in such a case, decoding by majority decision is possible, and the probability of correct decoding increases. In the embodiment shown in FIG.
Is integrated for a certain period of time, the code error rate of the decoding result can be estimated.
【0039】以上説明したように、本発明のビタビ復号
器は下記のような特徴がある。 (1)枝尤度の演算処理量を低減することが出来、処理
の高速化が可能となる。 (2)復号出力の軟判定尤度情報を出力することが出来
るので、様々な応用が可能になる。 (3)復号器が入力信号レベルに応じて自動的に最尤復
号と多数決判定により 復号を切り替える動作をするので、入力信号レベルの低
いときに符号誤り率の改善が可能である。 (4)復号器自身で、復号出力の誤り率を推定できる。 (5)状態尤度メモリ、パスメモリを2組備えた構造で
あるため、メモリの更新が不要となり、演算処理時間の
短縮が図れる。As described above, the Viterbi decoder of the present invention has the following features. (1) The amount of calculation of the branch likelihood can be reduced, and the processing can be speeded up. (2) Since the soft decision likelihood information of the decoded output can be output, various applications are possible. (3) Since the decoder automatically switches the decoding according to the maximum likelihood decoding and the majority decision according to the input signal level, the code error rate can be improved when the input signal level is low. (4) The decoder itself can estimate the error rate of the decoded output. (5) Since the structure includes two sets of the state likelihood memory and the path memory, the memory does not need to be updated, and the calculation processing time can be reduced.
【0040】[0040]
【発明の効果】以上説明したように、本発明によれば、
以下に示すような効果を得ることができる。 (1)枝尤度処理が簡単化され、処理時間の短縮が可能
である。 (2)復号出力の軟判定尤度情報が得られる。 (3)最尤復号と多数決判定による復号が自動的に切り
替わるビタビ復号器が構成できる。As described above, according to the present invention,
The following effects can be obtained. (1) The branch likelihood processing is simplified, and the processing time can be reduced. (2) Soft decision likelihood information of the decoded output is obtained. (3) A Viterbi decoder that automatically switches between maximum likelihood decoding and decoding based on majority decision can be configured.
【図1】 本発明の一実施例の構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.
【図2】 従来のビタビ復号器の構成を示すブロック
図。FIG. 2 is a block diagram showing a configuration of a conventional Viterbi decoder.
【図3】 ビタビ復号器の動作を説明するための畳込み
符号器とトレリスを説明するための図。FIG. 3 is a diagram illustrating a convolutional encoder and a trellis for explaining the operation of the Viterbi decoder.
【図4】 トレリス遷移と生残りパスの説明図。FIG. 4 is an explanatory diagram of trellis transitions and surviving paths.
【図5】 本発明で使用するパスメモリの原理構成図。FIG. 5 is a diagram showing the principle configuration of a path memory used in the present invention.
【図6】 本発明の一実施例の構成を示すブロック図。FIG. 6 is a block diagram showing the configuration of an embodiment of the present invention.
【図7】 本発明の一実施例の構成を示すブロック図。FIG. 7 is a block diagram showing a configuration of one embodiment of the present invention.
1:枝尤度前処理部、 2:枝尤度メモリ、 3:加算比
較選択演算部、 4,61,62:状態尤度メモリ、 5,5
1,53,71,72:パスメモリ、 6:最尤復号部、20:枝
尤度計算部、 31〜35:排他論理和ゲート、 36〜38:
1ビット遅延素子、 52:パス演算回路、 510〜512,
530〜532:パスメモリ記憶領域、 63:出力尤度演算
部、 73:ビットカウンタ、 74復号部。1: branch likelihood preprocessing unit, 2: branch likelihood memory, 3: addition / comparison / selection operation unit, 4, 61, 62: state likelihood memory, 5, 5
1, 53, 71, 72: path memory, 6: maximum likelihood decoder, 20: branch likelihood calculator, 31 to 35: exclusive OR gate, 36 to 38:
1-bit delay element, 52: path operation circuit, 510 to 512,
530 to 532: path memory storage area, 63: output likelihood calculation section, 73: bit counter, 74 decoding section.
Claims (6)
符号に符号化する符号化率r=k/n、拘束長Kの畳み
込み符号を最尤復号するビタビ復号器の枝尤度演算処理
において、 生起し得る全ての送信符号と、受信符号との間のハミン
グ距離を枝尤度として、予め記憶する枝尤度メモリを設
け、 該枝尤度メモリに記憶された該枝尤度を、任意の状態遷
移において出力される送信符号によって読み出すことに
より、全ての状態遷移における前記枝尤度演算処理を行
うことを特徴とするビタビ復号器。1. A branch likelihood of a Viterbi decoder for maximum likelihood decoding of a convolutional code having a coding rate r = k / n and a constraint length K for encoding k-bit information into an n-bit (n> k) code. In the arithmetic processing, a branch likelihood memory is provided in which a Hamming distance between all possible transmission codes and a reception code is stored as a branch likelihood, and the branch likelihood stored in the branch likelihood memory is provided. A Viterbi decoder which reads out a transmission code output in any state transition to perform the branch likelihood calculation process in all state transitions.
前記枝尤度メモリは、前記生起し得る全ての送信符号
と、前記受信符号の信号座標面におけるユークリッド距
離、または同相成分と直交成分の差の絶対値和を枝尤度
として記憶することを特徴とするビタビ復号器。2. The Viterbi decoder according to claim 1, wherein
The branch likelihood memory stores, as branch likelihood, all possible transmission codes, Euclidean distances in the signal coordinate plane of the reception codes, or sums of absolute values of differences between in-phase components and quadrature components. And a Viterbi decoder.
符号に符号化する符号化率r=k/n、拘束長Kの畳み
込み符号を最尤復号するビタビ復号器の状態尤度演算処
理において、 第1の状態尤度メモリと、第2の状態尤度メモリとを設
け、 状態尤度演算処理時点tnの偶奇により、前記第1の状
態尤度メモリと前記第2の状態尤度メモリとを交互に使
用し、偶数時点では、前記第1の状態尤度メモリから一
時点前(tn-1)の状態尤度を読み出して、状態尤度演
算処理を行ったtn時点の状態尤度を前記第2の状態尤
度メモリに書き込み、奇数時点では、前記第2の状態尤
度メモリから一時点前(tn-1)の状態尤度を読み出し
て、状態尤度演算処理を行ったtn時点の状態尤度を前
記第1の状態尤度メモリに書き込むように動作すること
を特徴とするビタビ復号器。3. The state likelihood of a Viterbi decoder that performs maximum likelihood decoding on a convolutional code having a coding rate r = k / n and a constraint length K for coding k-bit information into an n-bit (n> k) code. in the arithmetic processing, a first state likelihood memory, and a second state likelihood memory is provided, the even and odd state likelihood calculation processing time t n, and the first state likelihood memory said second state using a likelihood memory alternately in the even time, t n of the from the first state likelihood memory reads the state likelihood one time before (t n-1), was carried out state likelihood calculation process The state likelihood at a point in time is written into the second state likelihood memory, and at odd points, the state likelihood before the temporary point (t n−1 ) is read from the second state likelihood memory, and the state likelihood is read. The operation is such that the state likelihood at the time point t n at which the arithmetic processing has been performed is written to the first state likelihood memory. Viterbi decoder.
器において、軟判定尤度出力部を設け、前記状態尤度演
算処理時点tnの偶奇により、偶数時点では前記第1の
状態尤度メモリから、また奇数時点では前記第2の状態
尤度メモリから、現時点(tn)の最尤状態(状態尤度
の最も小さい状態、m番目の状態とする。但し、0≦m
≦2K-1−1)に至る一時点前(tn-1)のm1=m/2
番目および m2=m/2+2k-2番目(但し、/は整数
除算を示す)の状態の状態尤度ms(m1)およびms
(m2)を読み出し、前記枝尤度メモリから、 m1番目
の状態からm番目の状態への遷移に伴う枝尤度mb(m
1、m)と、m2番目の状態からm番目の状態への遷移に
伴う枝尤度mb(m2、m)を読み出し、 mo=|ms(m1)−ms(m2)+mb(m1、m)
−mb(m2、m)|を計算する(但し、|x|はxの
絶対値)ことにより、tn時点の復号結果に対する軟判
定尤度情報として出力することを特徴とするビタビ復号
器。4. The Viterbi decoder according to claim 1, further comprising: a soft decision likelihood output unit, wherein the first state likelihood is obtained at an even number time by an even / odd time of the state likelihood calculation processing time t n. The maximum likelihood state (the state with the smallest state likelihood, the m-th state at the current time (t n ) from the second state likelihood memory at the odd number time point and from the second state likelihood memory, where 0 ≦ m.
M 1 = m / 2 before the temporary point (t n-1 ) leading to ≦ 2 K−1 −1)
State likelihood ms (m 1 ) and ms for the 2nd and m 2 = m / 2 + 2 k−2 (where / indicates integer division) states
(M 2) reads, the branch from the likelihood memory, branch likelihood mb with m from the first state to transition to m-th state (m
1 , m) and the branch likelihood mb (m 2 , m) associated with the transition from the m 2 state to the m th state, and mo = | ms (m 1 ) −ms (m 2 ) + mb ( m 1, m)
−mb (m 2 , m) | (where | x | is the absolute value of x), and is output as soft-decision likelihood information for the decoding result at time point t n . .
符号に符号化する符号化率r=k/n、拘束長Kの畳み
込み符号を最尤復号するビタビ復号器に、状態数2K-k
と同じ数のパスメモリを設け、該パスメモリの記憶内容
をMSB側にkビットシフトして空いたLSB側kビッ
トの位置に、前記状態尤度演算処理によって選択された
状態番号のLSB側kビットの情報を追加書き込みし、
該パスメモリのシフト動作によって桁あふれ情報を復号
出力とするように構成したビタビ復号器において、前記
2K-k個のパスメモリの同一桁のビット“1”(または
“0”)の個数を計数するカウンタを設け、該カウンタ
のカウント値の大きい方の符号を復号結果として出力す
ることを特徴とするビタビ復号器。5. A Viterbi decoder for performing maximum likelihood decoding on a convolutional code having a coding rate r = k / n and a constraint length K for encoding k-bit information into an n-bit (n> k) code has a number of states. 2 Kk
The same number of path memories as described above are provided, and the LSB side k of the state number selected by the state likelihood calculation processing is stored at the position of the LSB side k bit which is obtained by shifting the storage content of the path memory by the MSB side by k bits. Write additional bit information,
In the Viterbi decoder configured to output overflow information as a decoded output by the shift operation of the path memory, the number of bits "1" (or "0") of the same digit in the 2Kk path memories is counted. A Viterbi decoder having a counter and outputting a code having a larger count value of the counter as a decoding result.
前記ビットカウンタのカウント値を一定時間積算し、該
積算値を復号出力の符号誤り率推定値として出力するこ
とを特徴とするビタビ復号器。6. The Viterbi decoder according to claim 5, wherein
A Viterbi decoder which accumulates a count value of the bit counter for a certain period of time and outputs the accumulated value as an estimated error rate of a decoded output.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000268347A JP2002076924A (en) | 2000-09-05 | 2000-09-05 | Viterbi decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000268347A JP2002076924A (en) | 2000-09-05 | 2000-09-05 | Viterbi decoder |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002076924A true JP2002076924A (en) | 2002-03-15 |
Family
ID=18755136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000268347A Pending JP2002076924A (en) | 2000-09-05 | 2000-09-05 | Viterbi decoder |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002076924A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040044589A (en) * | 2002-11-21 | 2004-05-31 | 한국전자통신연구원 | A Soft-Input Decoding Method of Reed-Muller Codes Using Majority Logic and Apparatus thereof |
CN100466480C (en) * | 2004-07-23 | 2009-03-04 | 建兴电子科技股份有限公司 | Method for judging output signal in Viterbi decoder |
-
2000
- 2000-09-05 JP JP2000268347A patent/JP2002076924A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040044589A (en) * | 2002-11-21 | 2004-05-31 | 한국전자통신연구원 | A Soft-Input Decoding Method of Reed-Muller Codes Using Majority Logic and Apparatus thereof |
CN100466480C (en) * | 2004-07-23 | 2009-03-04 | 建兴电子科技股份有限公司 | Method for judging output signal in Viterbi decoder |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5432803A (en) | Maximum likelihood convolutional decoder | |
KR100580160B1 (en) | Two-step soft output viterbi algorithm decoder using modified trace-back | |
US8578254B1 (en) | Modified trace-back using soft output Viterbi algorithm (SOVA) | |
CN1808912B (en) | Error correction decoder | |
KR100779782B1 (en) | High-speed acs unit for a viterbi decoder | |
JP2005045727A (en) | Viterbi decoder | |
US6601215B1 (en) | Traceback buffer management for VLSI Viterbi decoders | |
US20070201586A1 (en) | Multi-rate viterbi decoder | |
JP2002076924A (en) | Viterbi decoder | |
JP4049620B2 (en) | Method and apparatus for decoding a bit sequence | |
EP1322041A1 (en) | Viterbi decoder using restructured trellis | |
JP2002217748A (en) | Error correction decoder | |
JP3720251B2 (en) | Viterbi decoder | |
JP2002198827A (en) | Maximum likelihood decoding method and decoder thereof | |
KR101134806B1 (en) | Method for decoding code | |
US20050138535A1 (en) | Method and system for branch metric calculation in a viterbi decoder | |
JP2002534902A (en) | ML state selection apparatus and method in decoding apparatus | |
KR20000049852A (en) | Viterbi decoder | |
JP3235333B2 (en) | Viterbi decoding method and Viterbi decoding device | |
JP2591332B2 (en) | Error correction decoding device | |
JP3343217B2 (en) | Viterbi comparison / selection operation for 2-bit traceback coding | |
JP3288328B2 (en) | Apparatus and method for speeding up traceback processing of Viterbi decoder | |
JP2003258650A (en) | Maximum likelihood decoder | |
JP3269845B2 (en) | Viterbi decoder | |
KR100726170B1 (en) | Apparatus and method for viterbi decoding |