JPH07288478A - Viterbi decoding method and Viterbi decoding device - Google Patents

Viterbi decoding method and Viterbi decoding device

Info

Publication number
JPH07288478A
JPH07288478A JP6077099A JP7709994A JPH07288478A JP H07288478 A JPH07288478 A JP H07288478A JP 6077099 A JP6077099 A JP 6077099A JP 7709994 A JP7709994 A JP 7709994A JP H07288478 A JPH07288478 A JP H07288478A
Authority
JP
Japan
Prior art keywords
path
traceback
likelihood
state
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6077099A
Other languages
Japanese (ja)
Other versions
JP3235333B2 (en
Inventor
Kazuyuki Miya
和行 宮
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 JP07709994A priority Critical patent/JP3235333B2/en
Publication of JPH07288478A publication Critical patent/JPH07288478A/en
Application granted granted Critical
Publication of JP3235333B2 publication Critical patent/JP3235333B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)
  • Dc Digital Transmission (AREA)

Abstract

(57)【要約】 【目的】 ビタビ復号でトレースバックを複数回行なう
際に、一定処理時間内の復号データ数(復号候補)を増
やす。 【構成】 複数の復号候補を再帰法により検索し、トレ
ースバックによりさかのぼる各状態では、許容メトリッ
ク差とその状態での尤度差とを比較し(ステップ1
3)、尤度差が許容メトリック差以下の場合には、その
時刻と状態と分岐フラグと、さらに、残りメト
リック値の4パラメータを1情報としてスタックメモリ
に記憶する(ステップ14)。再帰法により復号する際
に、次のトレースバックでは1つ前のトレースバックに
より通過したパスの内、共通の部分の復号結果をコピー
して用い、異なる部分パスは、スタックメモリに記憶さ
れた時刻等から新たに分岐し、その分岐点におけるパス
セレクト信号のみを反転させてトレースバックを行な
い、残りの部分パスの復号データを得る。
(57) [Abstract] [Purpose] To increase the number of decoded data (decoding candidates) within a certain processing time when performing traceback multiple times in Viterbi decoding. [Structure] A plurality of decoding candidates are searched by the recursive method, and in each state traced back by traceback, the allowable metric difference and the likelihood difference in that state are compared (step 1
3) If the likelihood difference is less than or equal to the allowable metric difference, the time, state, branch flag, and four parameters of the remaining metric value are stored as one information in the stack memory (step 14). When decoding by the recursive method, in the next traceback, the decoding result of the common part of the paths passed by the previous traceback is used by being copied, and the different partial paths are the times stored in the stack memory. And so on, and only the path select signal at the branch point is inverted to perform traceback to obtain the decoded data of the remaining partial paths.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ディジタル自動車電話
・携帯電話等のデータ伝送に使用する誤り訂正符号のビ
タビ復号方法およびその装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a Viterbi decoding method and apparatus for error correcting codes used for data transmission in digital automobile telephones, mobile telephones and the like.

【0002】[0002]

【従来の技術】ビタビ復号とは、畳み込み符号の復号方
法の一つである。以下、従来のビタビ復号について説明
する。図7で示されるような畳み込み符号器で生成され
る高速長K=3、符号化率R=1/2の畳み込み符号C
を具体例にして説明する。
2. Description of the Related Art Viterbi decoding is one of decoding methods for convolutional codes. The conventional Viterbi decoding will be described below. A convolutional code C having a high speed length K = 3 and a coding rate R = 1/2 generated by a convolutional encoder as shown in FIG.
Will be described as a specific example.

【0003】図7に示したシフトレジスタF1、F2によ
って符号器の状態Sはつぎの4つの状態、すなわち、 S0=(0,0), S1=(1,0), S2=(0,1), S3=(1,1) (1) のいずれかの状態をとる。
With the shift registers F 1 and F 2 shown in FIG. 7, the encoder state S has the following four states: S 0 = (0,0), S 1 = (1,0), S 2 = (0,1), S 3 = (1,1) (1)

【0004】最初に状態S0にあった符号器を時々刻
々、すなわち情報信号が入力される度に各状態を遷移し
ていく模様を表現したものがトレリス線図である。符号
のCのトレリス線図を図8に示す。なおここでは入力情
報信号系列長はJ−K+1であり、さらにK−1個の0
が続くものとする。
The trellis diagram is a representation of the state in which the encoder that was initially in the state S 0 changes every second, that is, each time an information signal is input. A trellis diagram of the code C is shown in FIG. Note that here, the input information signal sequence length is J−K + 1, and K−1 0s are added.
Shall continue.

【0005】トレリス線図の枝状の部分をブランチ、2
個以上のブランチの連なりを部分パスと称する。図8に
示したトレリス線図において、点線のブランチは入力信
号が0であることを示し、実線は、入力信号が1である
ことをそれぞれ示すものとする。さらにブランチ部分に
符号器の出力a,b,c,dを示す。ただし、 a=(0,0),b=(1,0),d=(1,1) (2) とし、左側の成分がCi (1)を、また右側の成分がCi (2)
を表すものとする。
The branch-like portion of the trellis diagram is a branch, 2
A chain of more than one branch is called a partial path. In the trellis diagram shown in FIG. 8, the dotted line branch indicates that the input signal is 0, and the solid line indicates that the input signal is 1. Furthermore, the outputs a, b, c, d of the encoder are shown in the branch part. However, a = (0,0), b = (1,0), d = (1,1) (2), the left component is C i (1) , and the right component is C i (2 )
Shall be represented.

【0006】時刻t=t0における状態S0(t=t0
からt=t1における状態S0(t=t1)に至るブラン
チの連なりをパスという。このパスは畳み込み符号のC
の符号語に対するパスである。部分パスとの混同を避け
る必要がある場合には符号語パスとよぶことにする。
State S 0 (t = t 0 ) at time t = t 0
The series of branches that the path to the state in t = t 1 from S 0 (t = t 1) . This path is the convolutional code C
Is the path for the codeword of. When it is necessary to avoid confusion with the partial path, we call it the codeword path.

【0007】図9に符号Cのトレリス線図における部分
パスを示す。この部分パスに対応する符号語の部分集合
を便宜上、 Cs 1=(00 00 11), Cs 2=(11 10 00) (3) とする。ビタビ復号ではパスCs 1とCs 2の尤度を比較し
て、例えば、Cs 1の尤度の方がCs 2の尤度よりも大きけ
ればCs 2を棄却する。このときパスCs 2を部分パスとし
て含むすべての符号語パスが送信符号語の候補から棄却
されたことになる。Cs 1のように棄却されずに残った部
分パスを生き残りパスという。
FIG. 9 shows a partial path in the trellis diagram of the code C. For the sake of convenience, the subset of codewords corresponding to this partial path is set to C s 1 = (00 00 11) and C s 2 = (11 1000) (3). In Viterbi decoding by comparing the likelihood of the path C s 1 and C s 2, for example, towards the likelihood of C s 1 to reject the C s 2 is greater than the likelihood of C s 2. At this time, all codeword paths including the path C s 2 as a partial path are rejected from the transmission codeword candidates. A partial path that remains without being rejected, such as C s 1 , is called a surviving path.

【0008】図8のトレリス線図を見ると、各状態には
図9に示したような分岐状態を同一とする2本の部分パ
スが存在することがわかる。したがって通常のビタビ復
号では、符号語の両端の状態を除いた定常状態において
は、各時刻において常に2K- 1個の生き残りパスが存在
することがわかる。時刻tJ-K+2以降は生き残りパスは
1/2ずつ減少し、時刻tjにおいては、たった1個の
生き残りパスとなる。そしてこの生き残りパスが、トレ
ースバックにより復号され、最尤復号データを得る。
It can be seen from the trellis diagram of FIG. 8 that each state has two partial paths having the same branch state as shown in FIG. Therefore, in normal Viterbi decoding, it can be seen that there are always 2 K- 1 surviving paths at each time in the steady state excluding the states at both ends of the codeword. After time t J-K + 2 , the number of surviving paths decreases by ½, and at time t j , there is only one surviving path. Then, this survivor path is decoded by traceback to obtain maximum likelihood decoded data.

【0009】これに対し、本願出願人が先に提案した特
願平5−67061号明細書に記載のビタビ復号方法で
は、尤度に差がない場合にも一方の部分パスのみを生き
残りパスとし、他方を棄却してしまうため、誤りの多い
伝送路でのデータ伝送の際などには、生き残り符号語パ
スが正しい復号語にはならない可能性が高くなるという
問題点を解決するため、ACS(Add Compare Selec
t)演算において各状態で生き残りパスの選択をする際
に、最も尤度(メトリック)の高いパスを一つだけ選択
して記憶する(パスセレクト信号の記憶)だけではな
く、最も尤度の高いパスとその他のパスとの尤度差も合
わせて記憶しておき、トレースバックにより復号データ
を求める際に、最尤復号パスだけでなく、最尤パスのト
レースバック区間での尤度(トレースバックによりデー
タ復号する区間での尤度)との間で、あらかじめ設定し
たしきい値(許容メトリック差)以下の尤度となる複数
のパスについても、それぞれトレースバックを行ない、
複数回のトレースバックから複数の復号候補を得るマル
チトレースバックを行なっている。
On the other hand, in the Viterbi decoding method described in the specification of Japanese Patent Application No. 5-67061 previously proposed by the applicant of the present application, only one partial path is set as the surviving path even if there is no difference in likelihood. , The other is rejected. Therefore, in order to solve the problem that there is a high possibility that the surviving codeword path will not be a correct decoded word when data is transmitted through a transmission path with many errors, ACS ( Add Compare Selec
t) When selecting the surviving path in each state in the operation, not only select and store only the path with the highest likelihood (metric) (memorize the path select signal), but also select the path with the highest likelihood. The likelihood difference between the path and other paths is also stored together, and when the decoded data is obtained by traceback, not only the maximum likelihood decoding path but also the likelihood (traceback in the traceback section of the maximum likelihood path And the likelihood of the data decoding section), traceback is performed for each of a plurality of paths having a likelihood equal to or less than a preset threshold (allowable metric difference).
Multi-traceback is performed to obtain multiple decoding candidates from multiple tracebacks.

【0010】このマルチトレースバックの処理は、以下
のようにして行なわれる。 各トレースバックでは、各時刻(tn)毎に以下の処
理(i)〜(iv)を行なう。
This multi-trace back processing is performed as follows. In each traceback, the following processes (i) to (iv) are performed at each time (t n ).

【0011】(i)時刻tnにおける許容差を求める。t
nにおける許容差は、本トレースバック開始からtn+1
でのパス中に、本トレースバック以前の(vi)の処理
によって逆転させた選択パスが含まれていた場合、逆転
させた両パスのメトリック差(複数含まれていた場合は
それらの合計)を、与えられている許容パスメトリック
差が減算することにより求める。
(I) Find the tolerance at time t n . t
The tolerance in n is the difference between the reversed paths when the path from the start of this traceback to t n + 1 includes the selected path reversed by the process (vi) before this traceback. The metric difference (or the sum of those if multiple are included) is calculated by subtracting the given allowable path metric difference.

【0012】(ii)時刻tnでパスが状態Siを通過する
場合、ACSで求めた[時刻tn,状態Si]でのメトリ
ック差が上記許容差以内であれば、そのときの状態とメ
トリックの差を記憶する。ただし、[時刻tn,状態
i]の選択パスが(vi)によって逆転していた場合は
記憶しない。
[0012] (ii) if the path at time t n to pass through the state S i, obtained in ACS [time t n, the state S i] metric difference in the If it is within the tolerance, the state at that time And the metric difference. However, if the selection path of [time t n , state S i ] is reversed due to (vi), it is not stored.

【0013】(iii)ACSで求めた[時刻tn,状態S
i]での選択パスをさかのぼり、時刻時刻tn-1でパスが
通過する状態を求める(通常のトレースバック処理)。
(Iii) [time t n , state S obtained by ACS]
i ] to trace back the selected path and determine the state where the path passes at time t n-1 (normal traceback processing).

【0014】(iv)時刻tnでの復号データを求める
(通常のトレースバック処理)。 各トレースバック終了時毎に以下の処理を行なう。
(Iv) Obtain decoded data at time t n (normal traceback processing). The following processing is performed at the end of each traceback.

【0015】(v)復号データを出力する(通常のトレ
ースバック処理)。 (vi)(ii)において記憶したもののうち、時刻が最も
早い(t0に最も近い)ものが[時刻tm,状態Sj]で
あった場合、次の2処理を行なう。
(V) Decoded data is output (normal traceback processing). (Vi) If the one stored earliest (closest to t 0 ) among the items stored in (ii) is [time t m , state S j ], the following two processes are performed.

【0016】・ACSで求めた[時刻tm,状態Sj]で
のパスセレクト信号を逆転 させる。
Invert the path select signal at [time t m , state S j ] obtained by ACS.

【0017】・以前の処理によって、時刻t0〜tm-1
いずれかの状態に逆転パス が存在した場合、それら全
てを元に戻す。 上記を繰り返し、(vi)において逆転すべきパスが
なかった場合に終了する。
By the previous processing, if there are reverse paths in any of the times t 0 to t m-1 , they are all restored. The above is repeated, and when there is no pass to be reversed in (vi), the process ends.

【0018】[0018]

【発明が解決しようとする課題】しかしながら、上記先
行発明におけるマルチトレースバックの処理アルゴリズ
ムでは、各トレースバックでは、最終時刻から最初の時
刻t0までの全時刻に渡り、毎回復号データの計算を行
なう必要があり、また、時刻および状態の記憶する条件
も複雑であるため、処理時間が多くかかり、このため、
ハードウェア化において限られた処理時間内でマルチト
レースバックを行なう際には、与えられた許容メトリッ
ク差以内の復号候補が多数存在している場合でも、トレ
ースバックの回数(復号データ数)により処理時間を制
限され、十分な回数のトレースバックが行なえず、その
ために一部の復号候補しか得られないという問題があっ
た。
However, in the multi-traceback processing algorithm of the above-mentioned prior invention, in each traceback, the decoded data is calculated every time from the final time to the first time t 0. It is necessary, and the conditions for storing the time and the state are complicated, so that it takes a lot of processing time.
When performing multi-trace back within a limited processing time in hardware, even if there are many decoding candidates within the given allowable metric difference, processing is performed according to the number of times of trace back (decoded data number). There is a problem that the time is limited and the traceback cannot be performed a sufficient number of times, so that only some decoding candidates can be obtained.

【0019】本発明は、このような先行発明の問題を解
決するものであり、より効率的で優れたビタビ復号方法
およびその装置を提供することを目的とするものであ
る。
The present invention solves the above problems of the prior invention, and an object of the present invention is to provide a more efficient and excellent Viterbi decoding method and its apparatus.

【0020】[0020]

【課題を解決するための手段】本発明は、上記目的を達
成するために、複数の復号候補を再帰法により検索し、
このときトレースバックによりさかのぼる各状態では、
許容メトリック差とその状態で記憶しておいた尤度差と
を比較し、尤度差が許容メトリック差以下の場合には、
その状態は複数のブランチを選択できる状態であるとし
て、その時刻と状態と、またどのブランチを選択してト
レースバックを行なっているかを示す分岐フラグと、さ
らに、許容メトリック差から尤度差を引いた値(残りメ
トリック値)の4つのパラメータを1つの情報としてス
タックメモリに記憶しておき、再帰法により復号する際
に、次のトレースバックでは、1つ前のトレースバック
により通過したパスの内、共通の部分パスの復号結果を
コピー(メモリ転送)して用い、異なる部分パスは、ス
タックメモリに記憶した時刻および状態で新たに分岐
し、その分岐点におけるパスセレクト信号のみを反転さ
せてトレースバックを行なうことにより、残りの部分パ
スの復号データを得るようにしたものである。
In order to achieve the above object, the present invention searches a plurality of decoding candidates by a recursive method,
At this time, in each state traced back by traceback,
The allowable metric difference is compared with the likelihood difference stored in that state, and if the likelihood difference is less than or equal to the allowable metric difference,
Assuming that the state is a state in which multiple branches can be selected, the time and state, the branch flag indicating which branch is selected and performing traceback, and the likelihood difference is subtracted from the allowable metric difference. Value (remaining metric value) is stored in the stack memory as one piece of information, and when decoding by the recursive method, in the next traceback, among the paths that have been passed by the previous traceback, , Copy the common partial path decoding result (memory transfer), and use different partial paths with a new branch at the time and state stored in the stack memory and invert only the path select signal at that branch point to trace By performing back, the decoded data of the remaining partial paths is obtained.

【0021】また、限られた処理時間内でマルチトレー
スバックを行なう際には、従来のようにトレースバック
の回数(復号データ数)により処理時間を制限する方法
に代わり、新たに分岐してトレースバックを行なう部分
パスのブランチ数(パスの長さ)を、スタックメモリに
記憶してある時刻から求めて、その累積値があらかじめ
設定した制限値以下であれば、トレースバックを行なっ
て復号データを出力し、一方、制限値を越えるときは、
トレースバックを行なわずに復号処理を終了することに
より処理時間を制限するようにしたものである。
In addition, when performing multi-trace back within a limited processing time, instead of the conventional method of limiting the processing time by the number of trace backs (the number of decoded data), a new branch is made to trace. Obtain the number of branches (path length) of the partial path to be backed from the time stored in the stack memory, and if the cumulative value is less than or equal to the preset limit value, perform traceback to obtain the decoded data. If the output exceeds the limit value,
The processing time is limited by ending the decoding process without performing the traceback.

【0022】[0022]

【作用】したがって、本発明によれば、限られた処理時
間内でより多くの復号データ候補を求めることができ、
より効率的かつ優れた誤り訂正復号を行なうことができ
る。
Therefore, according to the present invention, more decoded data candidates can be obtained within a limited processing time,
More efficient and excellent error correction decoding can be performed.

【0023】[0023]

【実施例】図1は本発明の一実施例におけるビタビ復号
化装置の構成を示すものである。図1において、1はビ
タビ復号化装置、2はメトリック計算回路、3はACS
回路、4はパスセレクト記憶回路、5はパスメトリック
記憶回路、6はマルチトレースバック回路、7はスタッ
クメモリである。
1 is a block diagram showing the arrangement of a Viterbi decoding apparatus according to an embodiment of the present invention. In FIG. 1, 1 is a Viterbi decoding device, 2 is a metric calculation circuit, and 3 is ACS.
A circuit, 4 is a path select storage circuit, 5 is a path metric storage circuit, 6 is a multi-trace back circuit, and 7 is a stack memory.

【0024】ビタビ復号化装置1では、受信データ列か
らメトリック計算回路2において、各部分パス(ブラン
チ)の尤度(メトリック)を計算する。次に、ACS回
路3において、各時刻の各状態に遷移する複数のパスの
メトリックを比較して、パスセレクト記憶回路4に、メ
トリックの最も高いパスを選択してそのパスセレクト信
号を記憶するだけでなく、他のパスとのメトリック差を
も同時に記憶する。また、通常のビタビ復号と同様に、
パスメトリック記憶回路5において、パスメトリックの
記憶・更新も行なうものとする。そして、パスセレクト
記憶回路4の情報を基に、マルチトレースバック回路6
およびスタックメモリ7によって、トレースバックを行
なう。この場合、与えられる許容メトリック差によって
は、生き残りパスがただ1個となるとは限らず、図2に
示すように、一般には複数回のトレースバックにより、
複数個のパスが生き残る。
In the Viterbi decoding apparatus 1, the metric calculation circuit 2 calculates the likelihood (metric) of each partial path (branch) from the received data string. Next, the ACS circuit 3 compares the metrics of a plurality of paths that transit to each state at each time, selects the path with the highest metric, and stores the path select signal in the path select storage circuit 4. However, the metric difference with other paths is also stored at the same time. Also, as with normal Viterbi decoding,
The path metric memory circuit 5 also stores and updates the path metric. Then, based on the information in the path select storage circuit 4, the multi-trace back circuit 6
And the traceback is performed by the stack memory 7. In this case, depending on the given allowable metric difference, the number of surviving paths does not always become one, and as shown in FIG.
Multiple paths survive.

【0025】図2の場合は、In the case of FIG.

【0026】[0026]

【数1】 [Equation 1]

【0027】の6個のパスが生き残りパスとして、マル
チトレースバック回路6において、これら複数パスをト
レースバックして複数の復号データを得る。
In the multi-trace back circuit 6, these six paths are traced back and a plurality of decoded data are obtained, with the six paths as surviving paths.

【0028】図3および図4は、本実施例におけるマル
チトレースバック回路6の処理アルゴリズムの一例を示
す。この例では、図8のトレリス線図のように1状態か
ら2本のパスが出ている場合を示している。
3 and 4 show an example of the processing algorithm of the multi-trace back circuit 6 in this embodiment. In this example, as shown in the trellis diagram of FIG. 8, there are two paths from the 1 state.

【0029】まず、ステップ10の初期化処理におい
て、スタックメモリ、スタックメモリアドレス、許容メ
トリック差、トレースバック(TB)ブランチ数カウン
タ、TBカウンタ、および状態の初期化を行なう。そし
て、時刻tnを初期化し(ステップ11)、以後トレー
スバック処理を行なう。その状態におけるパスセレクト
信号およびメトリック差をパスセレクト記憶回路4から
読み出し(ステップ12)、許容セレクト差と比較し
(ステップ13)、メトリック差が許容メトリック差以
下であれば、スタックメモリ7に記憶し(ステップ1
4)、アドレスの更新を行なう(ステップ15)。この
ときのスタックメモリ7に記憶される1情報(4パラメ
ータ)の1例を図5に示す。
First, in the initialization process of step 10, the stack memory, the stack memory address, the allowable metric difference, the traceback (TB) branch number counter, the TB counter, and the state are initialized. Then, the time tn is initialized (step 11), and the traceback process is performed thereafter. The path select signal and the metric difference in that state are read from the path select storage circuit 4 (step 12) and compared with the allowable select difference (step 13). If the metric difference is less than the allowable metric difference, it is stored in the stack memory 7. (Step 1
4) The address is updated (step 15). FIG. 5 shows an example of 1 information (4 parameters) stored in the stack memory 7 at this time.

【0030】そして、1時刻前の状態の計算(ステップ
16)と、復号データの計算・格納(ステップ17)を
した上で、時刻の変更(ステップ18)をして、さらに
さかのぼるかの判断(ステップ19)を行なう。ここで
1回のトレースバックが終了したと判断されると、スタ
ックメモリ7に情報が記憶されているかを見て(ステッ
プ20)、ない場合は終了し(ステップ29)、また、
ある場合は最上位アドレス(最後に記憶したアドレス)
の1情報の分岐フラグを判断し(ステップ21)、
“1”であれば最上位アドレスの1情報を消去、アドレ
スを1減らして(ステップ30)、再びステップ20へ
戻る。一方、分岐フラグが“0”の場合は、その1情報
のその他のパラメータを読み出し、残りメトリック値を
許容メトリック差として(ステップ22)、分岐フラグ
は0から1に変換した上で、その更新された1情報を再
びスタックメモリ7に記憶しておく(ステップ23)。
Then, after calculating the state one hour before (step 16) and calculating / storing the decoded data (step 17), the time is changed (step 18) and it is judged whether or not to go back further ( Perform step 19). If it is determined that one traceback has been completed, it is checked whether or not the information is stored in the stack memory 7 (step 20), and if there is no information, the process is completed (step 29).
If there is, the highest address (last stored address)
The branch flag of 1 information is determined (step 21),
If it is "1", 1 information of the highest address is erased, the address is decremented by 1 (step 30), and the process returns to step 20 again. On the other hand, when the branch flag is "0", the other parameters of the 1 information are read, the remaining metric value is set as the allowable metric difference (step 22), and the branch flag is converted from 0 to 1 and then updated. The other information is stored in the stack memory 7 again (step 23).

【0031】そして、トレースバック(TB)されるブ
ランチ数の累積値を計算し(ステップ24)、制限数以
下であれば、TBカウンタを増やし(ステップ26)、
分岐点までの復号データは1つ前の復号データからコピ
ーし(ステップ27)、さらにその分岐点の状態におけ
るパスセレクト信号を反転された(ステップ28)上
で、ステップ16に戻ってトレースバックを行なう。一
方、制限数を越える場合は、処理直が足りないと判断し
て、復号処理を終了(ステップ29)する。
Then, the cumulative value of the number of branches to be traced back (TB) is calculated (step 24), and if it is less than the limit number, the TB counter is increased (step 26).
The decoded data up to the branch point is copied from the immediately preceding decoded data (step 27), the path select signal in the state of the branch point is inverted (step 28), and the process returns to step 16 to trace back. To do. On the other hand, if the number exceeds the limit, it is determined that the process is insufficient, and the decoding process ends (step 29).

【0032】上記した処理アルゴリズムの例では、TB
ブランチ数により処理時間の制限を与えているが、処理
時間ではなく復号データ数で制限したいときは、ステッ
プ26で復号データ数をモニタしているので、予め設定
された復号データ数になったら処理を終了することで、
容易に制限できることは明らかである。
In the above processing algorithm example, TB
Although the processing time is limited by the number of branches, if it is desired to limit the number of decoded data instead of the processing time, the number of decoded data is monitored in step 26. Therefore, the processing is performed when the preset number of decoded data is reached. By terminating
Obviously, it can be easily restricted.

【0033】図3および図4の処理アルゴリズムによっ
て、マルチトレースバックを行なうときのスタックメモ
リ7の変化の一例を図6に示す。この図は、トレースバ
ックするパスが(a)から(e)に移って行くときのス
タックメモリ7の変化を示している。ここでは、許容メ
トリック差を5とし、黒点の状態において、メトリック
差(図中で+xで表示、数字のあるパス方が尤度が低い
とする)の累計が許容メトリック差以下であるとして、
スタックメモリ7に記憶されている。
FIG. 6 shows an example of changes in the stack memory 7 when multi-trace back is performed by the processing algorithms of FIGS. 3 and 4. This figure shows changes in the stack memory 7 when the path for traceback moves from (a) to (e). Here, the allowable metric difference is set to 5, and in the state of black dots, it is assumed that the total of the metric differences (displayed as + x in the figure, the likelihood that a path with a number has a lower likelihood) is less than or equal to the allowable metric difference.
It is stored in the stack memory 7.

【0034】例えば(a)のパスでは、時刻N−2にお
いてのみ、尤度の低い方を選択しているので、時刻N−
2のスタックメモリの分岐フラグが1になっている。ト
レースバックが時刻N−7において、(b)のパスの方
に分岐した場合は、時刻N−7で尤度の低いパスを選択
しているので、その時刻の選択フラグが1になる。
(c)の方に分岐する場合は、時刻N−7の情報は一旦
消去され、時刻N−6の選択フラグが1になり、時刻N
−7で新たに記憶されている。この情報は(d)の方の
TBが行なう際には、分岐フラグが1になるのは上記の
アルゴリズムから明らかである。
For example, in the path of (a), since the lower likelihood is selected only at time N-2, time N-
The branch flag of stack memory 2 is set to 1. When the traceback branches to the path of (b) at time N-7, the path with a low likelihood is selected at time N-7, so the selection flag at that time becomes 1.
When branching to (c), the information at time N-7 is once erased, the selection flag at time N-6 becomes 1, and the time N-7
It is newly stored at -7. It is clear from the above algorithm that the branch flag becomes 1 when the TB of (d) performs this information.

【0035】[0035]

【発明の効果】本発明は、上記実施例から明らかなよう
に、マルチトレースバックを行なう際に、複数の候補を
再帰法により検索し、このときトレースバックによりさ
かのぼる各状態において、許容メトリック差とその状態
で記憶しておいた尤度差とを比較し、尤度差が許容メト
リック差以下の場合には、複数のブランチを選択できる
状態であるとして、その状態の時刻と状態とどのブラン
チを選択してトレースバックを行なっているかを示す分
岐フラグと、許容メトリック差から尤度差を引いた値と
をスタックメモリに記憶しておき、再帰法により復号す
る際に、次のトレースバックでは、1つ前のトレースバ
ックにより通過したパスの復号データの内、共通の部分
パスの復号結果をコピーして用い、異なる部分パスは、
スタックメモリに記憶された時刻および状態等から新た
に分岐し、その分岐点におけるパスセレクト信号のみを
反転させてトレーはバックを行なうことにより、残りの
部分パスの復号データを得るようにしたので、ビタビ復
号において複数のパスを生き残りとし複数の復号データ
候補を求める際に、処理時間を縮小できるという効果を
有する。
As is apparent from the above-described embodiment, the present invention searches for a plurality of candidates by the recursive method when performing multi-traceback, and at this time, in each state traced back by traceback, the allowable metric difference is calculated. The likelihood difference stored in that state is compared, and if the likelihood difference is less than or equal to the allowable metric difference, it is considered that a plurality of branches can be selected, and the time and state of that state and which branch is selected. The branch flag indicating whether or not the selected traceback is being performed and the value obtained by subtracting the likelihood difference from the allowable metric difference are stored in the stack memory, and when decoding by the recursive method, in the next traceback, Of the decoded data of the paths that have passed through the trace back one before, the decoding result of the common partial path is copied and used, and the different partial paths are
Since a new branch is made from the time and state stored in the stack memory and only the path select signal at the branch point is inverted and the tray is backed, the decoded data of the remaining partial paths is obtained. In Viterbi decoding, there is an effect that the processing time can be shortened when a plurality of paths are made to survive and a plurality of decoded data candidates are obtained.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例におけるビタビ復号化装置の
ブロック図
FIG. 1 is a block diagram of a Viterbi decoding device according to an embodiment of the present invention.

【図2】本実施例における複数の生き残りパスの一例を
示す模式図
FIG. 2 is a schematic diagram showing an example of a plurality of survivor paths in the present embodiment.

【図3】本実施例におけるマルチトレースバックの処理
アルゴリズムの一例を示すフロー図
FIG. 3 is a flowchart showing an example of a multi-traceback processing algorithm in this embodiment.

【図4】同処理アルゴリズムの続きを示すフロー図FIG. 4 is a flowchart showing the continuation of the processing algorithm.

【図5】本実施例におけるマルチトレースバック処理に
おけるスタックメモリへの格納の一例を示す模式図
FIG. 5 is a schematic diagram showing an example of storage in a stack memory in multi-trace back processing in this embodiment.

【図6】本実施例におけるマルチトレースバック処理に
おけるスタックメモリの変化の一例を示す模式図
FIG. 6 is a schematic diagram showing an example of changes in the stack memory in the multi-trace back processing in this embodiment.

【図7】従来例における誤り訂正符号化回路の一例を示
すブロック図
FIG. 7 is a block diagram showing an example of an error correction coding circuit in a conventional example.

【図8】従来例におけるトレリス線図の一例を示す模式
FIG. 8 is a schematic diagram showing an example of a trellis diagram in a conventional example.

【図9】従来例における再合流する2本の部分パスの一
例を示す模式図
FIG. 9 is a schematic diagram showing an example of two rejoining partial paths in a conventional example.

【符号の説明】[Explanation of symbols]

1 ビタビ復号化装置 2 メトリック計算回路 3 ACS回路 4 パスセレクト記憶回路 5 パスメトリック記憶回路 6 マルチトレースバック回路 7 スタックメモリ 1 Viterbi Decoding Device 2 Metric Calculation Circuit 3 ACS Circuit 4 Path Select Storage Circuit 5 Path Metric Storage Circuit 6 Multi Trace Back Circuit 7 Stack Memory

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 ACS(Add Compare Select)演算
において各状態で生き残りパスの選択をする際に、最も
尤度の高いパスを一つだけ選択してそのパスセレクト信
号を記憶するだけでなく、最も尤度の高いパスとその他
のパスとの尤度差も合わせて記憶しておき、トレースバ
ックにより復号データを求める際に、最尤度復号パスだ
けでなく、最尤パスのトレースバック区間での尤度との
間で、あらかじめ設定したしきい値である許容メトリッ
ク差以下の尤度となるパスについて、それぞれトレース
バックを行なって複数の復号パス候補を得るマルチトレ
ースバックを行なうとともに、前記マルチトレースバッ
クを行なう際に、複数の候補を再帰法により検索し、こ
のときトレースバックによりさかのぼる各状態におい
て、許容メトリック差とその状態で記憶しておいた尤度
差とを比較し、尤度差が許容メトリック差以下の場合に
は、複数のブランチを選択できる状態であるとして、そ
の状態の時刻と状態とどのブランチを選択してトレース
バックを行なっているかを示す分岐フラグと、さらに許
容メトリック差から尤度差を引いた値とをスタックメモ
リに記憶しておき、再帰法により復号する際に、次のト
レースバックでは、1つ前のトレースバックにより通過
したパスの復号データの内、共通の部分パスの復号結果
をコピーして用い、異なる部分パスは、スタックメモリ
に記憶された時刻および状態から新たに分岐し、その分
岐点におけるパスセレクト信号のみを反転させてトレー
スバックを行なうことにより、残りの部分パスの復号デ
ータを得ることを特徴とするビタビ復号方法。
1. When selecting a surviving path in each state in an ACS (Add Compare Select) operation, not only one path with the highest likelihood is selected and its path select signal is stored, The likelihood difference between a path with a high likelihood and another path is also stored together, and when obtaining decoded data by traceback, not only the maximum likelihood decoding path but also the traceback section of the maximum likelihood path With respect to the likelihood, a multi-trace back is performed to obtain a plurality of decoding path candidates by performing a trace back for each path having a likelihood equal to or less than an allowable metric difference that is a preset threshold value. When performing back, multiple candidates are searched by the recursive method, and in each state traced back by traceback, the allowable metric difference and its The likelihood difference stored in the state is compared, and if the likelihood difference is less than or equal to the allowable metric difference, it is considered that multiple branches can be selected, and the time and state of that state and which branch is selected. Then, a branch flag indicating whether or not the traceback is being performed, and a value obtained by subtracting the likelihood difference from the allowable metric difference are stored in the stack memory, and when decoding by the recursive method, in the next traceback, Of the decoded data of the paths passed by the preceding traceback, the decoding result of the common partial path is copied and used, and the different partial paths are newly branched from the time and state stored in the stack memory, and A Viterbi decoding method characterized in that the decoded data of the remaining partial paths are obtained by performing traceback by inverting only the path select signal at the branch point.
【請求項2】 1つ前のトレースバックにより通過した
パスの復号データの内、その共通部分の復号結果をコピ
ーまたはメモリ転送して用い、異なる部分は、分岐点に
おけるパスセレクト信号のみを反転させてトレースバッ
クを行なう際、トレースバックを行なうブランチ数また
はパスの長さをスタックメモリに記憶してある時刻から
求め、そのブランチ数の累積値があらかじめ設定した制
限値以下であれば、トレースバックを行ない、制限値を
越えるときはトレースバックを行なわずに復号処理を終
了することを特徴とする請求項1記載のビタビ復号方
法。
2. Of the decoded data of the path that has passed by the preceding traceback, the decoding result of the common part is used by copying or memory transfer, and the different part inverts only the path select signal at the branch point. When performing traceback by performing traceback, obtain the number of branches or the length of the path to be traceback from the time stored in the stack memory.If the cumulative value of the number of branches is less than or equal to the preset limit value, traceback is performed. The Viterbi decoding method according to claim 1, wherein the decoding process is terminated without performing traceback when the limit value is exceeded.
【請求項3】 受信データ列から各部分パスの尤度を計
算するメトリック計算手段と、各時刻の各状態に遷移す
る複数のパスのメトリックを比較する手段と、メトリッ
クの最も高いパスを選択してその信号を記憶するだけで
なく、他のパスとのメトリック差をも同時に記憶するパ
スセレクト記憶手段と、パスメトリックの記憶・更新を
行なうパスメトリック記憶手段と、前記パスセレクト記
憶手段の情報を基に、請求項1または2記載のマルチト
レースバックを行なうマルチトレースバック手段と、マ
ルチトレースバックに必要な情報を記憶するスタックメ
モリとを備えたビタビ復号化装置。
3. A metric calculation means for calculating the likelihood of each partial path from the received data string, a means for comparing the metrics of a plurality of paths transiting to each state at each time, and a path with the highest metric is selected. Not only that signal but also the metric difference with other paths at the same time, the path metric storage means for storing and updating the path metric, and the information in the path select storage means. A Viterbi decoding device, comprising: a multi-trace back means for performing the multi-trace back according to claim 1 or 2; and a stack memory for storing information necessary for the multi-trace back.
JP07709994A 1994-04-15 1994-04-15 Viterbi decoding method and Viterbi decoding device Expired - Fee Related JP3235333B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07709994A JP3235333B2 (en) 1994-04-15 1994-04-15 Viterbi decoding method and Viterbi decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07709994A JP3235333B2 (en) 1994-04-15 1994-04-15 Viterbi decoding method and Viterbi decoding device

Publications (2)

Publication Number Publication Date
JPH07288478A true JPH07288478A (en) 1995-10-31
JP3235333B2 JP3235333B2 (en) 2001-12-04

Family

ID=13624349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07709994A Expired - Fee Related JP3235333B2 (en) 1994-04-15 1994-04-15 Viterbi decoding method and Viterbi decoding device

Country Status (1)

Country Link
JP (1) JP3235333B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990077972A (en) * 1998-03-18 1999-10-25 이데이 노부유끼 Viterbi decoding apparatus and viterbi decoding method
JP2006505172A (en) * 2002-10-30 2006-02-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Trellis based receiver

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990077972A (en) * 1998-03-18 1999-10-25 이데이 노부유끼 Viterbi decoding apparatus and viterbi decoding method
JP2006505172A (en) * 2002-10-30 2006-02-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Trellis based receiver
KR101143695B1 (en) * 2002-10-30 2012-05-09 에스티 에릭슨 에스에이 Trellis-based receiver

Also Published As

Publication number Publication date
JP3235333B2 (en) 2001-12-04

Similar Documents

Publication Publication Date Title
US4606027A (en) Error correction apparatus using a Viterbi decoder
US5432803A (en) Maximum likelihood convolutional decoder
EP1102408B1 (en) Viterbi decoder
JPH10107651A (en) Viterbi decoder
US6272661B1 (en) Minimum memory implementation of high speed viterbi decoder
JPS6037834A (en) Error correction code decoding method and decoder
KR100779782B1 (en) High Speed ACS Unit for Viterbi Decoder
JP3264855B2 (en) Survivor memory in Viterbi decoder using Torres elimination method
JP3233847B2 (en) Viterbi decoding method and Viterbi decoding circuit
US5878060A (en) Viterbi decoding apparatus and viterbe decoding method
US20040044947A1 (en) Method and device for decoding a sequence of physical signals, reliability detection unit and viterbi decoding unit
JP3235333B2 (en) Viterbi decoding method and Viterbi decoding device
KR100262303B1 (en) Method and apparatus for backtracking survival path in decoding process using Viterbi algorithm
JPH06284018A (en) Viterbi decoding method and error correcting and decoding device
JP4580927B2 (en) Viterbi decoding apparatus and Viterbi decoding method
JP3753822B2 (en) Viterbi decoding method and apparatus
JP2591332B2 (en) Error correction decoding device
JPH05335973A (en) Viterbi decoder and convolutional code decoder
JP3269845B2 (en) Viterbi decoder
JP3337950B2 (en) Error correction decoding method and error correction decoding device
JPH06112848A (en) Viterbi decoding arithmetic unit
KR100531840B1 (en) Method for computing branch metric in viterbi decoder and circuit thereof
JP3120342B2 (en) Viterbi decoder
JPH0722969A (en) Arithmetic unit
JPH0510850B2 (en)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees