JPH0730438A - Viterbi decoding method - Google Patents

Viterbi decoding method

Info

Publication number
JPH0730438A
JPH0730438A JP19428493A JP19428493A JPH0730438A JP H0730438 A JPH0730438 A JP H0730438A JP 19428493 A JP19428493 A JP 19428493A JP 19428493 A JP19428493 A JP 19428493A JP H0730438 A JPH0730438 A JP H0730438A
Authority
JP
Japan
Prior art keywords
path
memory
branch metric
state
metric value
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
JP19428493A
Other languages
Japanese (ja)
Inventor
Kiyoshi Utsugi
潔 宇都木
Masako Kato
雅子 加藤
Masato Ito
正人 伊藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP19428493A priority Critical patent/JPH0730438A/en
Publication of JPH0730438A publication Critical patent/JPH0730438A/en
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To sharply reduce operation volume to be required for branch metric calculation in respect to a viterbi decoding method for decoding a receiving sequence encoded by convolusion by means of the arithmetic processing of a processor. CONSTITUTION:In this Viterbi decoding method for decoding a receiving sequence encoded by convolution by means of a processor, a branch metric value corresponding to each state is tabulated and stored in a memory 1, and at the time of executing operation for selecting a remaining pass, the branch metric value is read out front the memory 1 and used.

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 for decoding a convolutionally coded received sequence by arithmetic processing by a processor.

【0002】衛星通信あるいは移動通信などでは、伝送
路が無線区間になるため有線伝送に比べて誤り率が非常
に高く、このため符号化/復号化方式としては誤り訂正
能力の優れた訂正符号化/復号化方式が用いられる。そ
のなかでも畳込み符号化された受信系列を最尤復号する
ビタビ復号法は誤り訂正能力が特に優れているので、用
いられることが多い。
In satellite communication or mobile communication, since the transmission path is a wireless section, the error rate is much higher than that in wired transmission. Therefore, as a coding / decoding method, correction coding having excellent error correction capability is performed. / Decoding scheme is used. Among them, the Viterbi decoding method for performing maximum likelihood decoding on a convolutionally encoded reception sequence is often used because it has a particularly excellent error correction capability.

【0003】[0003]

【従来の技術】図4には符号化率が1/2で、生成行列
が G=〔1+D2 ,1+D+D2 〕 の二元畳込み符号を生成する畳込み符号器の例が示され
る。この2元畳込み符号を用いた場合のビタビ復号法を
図5に示す。
2. Description of the Related Art FIG. 4 shows an example of a convolutional encoder that generates a binary convolutional code having a code rate of 1/2 and a generator matrix of G = [1 + D 2 , 1 + D + D 2 ]. A Viterbi decoding method using this binary convolutional code is shown in FIG.

【0004】図5は遅延素子Dの状態Sab(a,b∈
0,1)の遷移を時間軸に対して表したトレリスを示
す。各状態間の遷移は、時点tk における情報ビット
0,1にそれぞれ対応して実線および破線の枝で示され
る。各枝に付されている2ビットの数値はそのときの畳
込み符号器の出力を表し、( )内の値はパスメトリッ
ク値を表す。
FIG. 5 shows the state S ab (a, bε) of the delay element D.
The trellis which represents the transition of 0, 1) with respect to a time axis is shown. The transitions between the states are indicated by the solid and dashed branches corresponding to the information bits 0 and 1 at time t k , respectively. The 2-bit numerical value attached to each branch represents the output of the convolutional encoder at that time, and the value in parentheses represents the path metric value.

【0005】いま、送信側の入力情報系列が“1101
0010”であるとすると、畳込み符号器出力の符号系
列は、上述の生成行列より、“11 10 00 00
01 11 11 01 ”となる。
Now, the input information sequence on the transmission side is "1101".
0010 ”, the code sequence of the convolutional encoder output is“ 11 10 00 00 from the above-mentioned generator matrix.
01 11 11 01 ″.

【0006】ここで、伝送路上においてこの出力符号系
列に雑音による誤り系列“00 01 00 10 0
1 00 00 10”が付加されたため、受信側では
受信系列として“11 11 00 10 00 11
11 11”というパターンが受信されたものとす
る。
Here, on the transmission path, an error sequence "00 01 00 100 0 due to noise is added to this output code sequence.
Since "1 00 00 10" is added, the receiving side receives "11 11 00 10 00 11" as a reception sequence.
It is assumed that the pattern 11 11 "has been received.

【0007】図5における各状態Sabは、状態S00が送
信側の畳込み符号器の遅延素子Dに入っている情報系列
が“00”、状態S10が“10”、状態S01が“0
1”、状態S11が“11”であることをそれぞれ表す。
In each state S ab in FIG. 5, the state S 00 is “00” for the information sequence contained in the delay element D of the convolutional encoder on the transmission side, the state S 10 is “10”, and the state S 01 is the state S 01. "0
1 ”and state S 11 are“ 11 ”, respectively.

【0008】このトレリス遷移図を説明すると、最初
(時点t0 )は状態S00から始まり、このとき畳込み符
号器に入力された情報系列が“0”であれば、畳込み符
号器は出力符号系列“00”を生成して状態S00に遷移
(実線の枝)し、一方、“1”であれば“11”を生成
して状態S01に遷移(破線の枝)する。
The trellis transition diagram will be described. At first (time t 0 ), the state starts from state S 00 , and if the information sequence input to the convolutional encoder is “0”, the convolutional encoder outputs. transition to generate a code sequence "00" to the state S 00 (branch line), whereas, a transition to a state S 01 generates a "1" into "11" (branch dashed line).

【0009】次に、時点t1 においては、状態S00で情
報系列が“0”であれば、畳込み符号器は“00”を生
成して状態S00に遷移し、“1”であれば“11”を生
成して状態S10に遷移する。状態S10では情報系列が
“0”であれば畳込み符号器では“01”を生成して状
態S01に遷移し、“1”であれば“10”を生成して状
態S11に遷移する。以下、同様の操作を繰り返す。
Next, at time t 1 , if the information sequence is "0" in state S 00 , the convolutional encoder generates "00", transits to state S 00 , and is "1". a transition to a state S 10 generates a bus "11". In state S 10 , if the information sequence is “0”, the convolutional encoder generates “01” and transits to state S 01 , and if “1”, generates “10” and transits to state S 11 . To do. Hereinafter, the same operation is repeated.

【0010】ここで、各時点tk での受信系列と各枝と
のハミング距離(枝メトリック)を計算し、トレリスに
沿った枝列をつなげて作られるパスの枝メトリックを加
算することでパスメトリックを求め、各時点で各状態S
abに入る複数のパスのうちその時点でのパスメトリック
が最小のものを生き残りパスとして選択し、最後に生き
残ったパス(すなわちパスメトリックが最小のパス)に
対応する入力情報系列を出力することで、送信側で送信
したと考えられることが最も確からしい入力情報系列を
推定し、伝送路での誤りを除去する。
Here, the Hamming distance (branch metric) between the reception sequence and each branch at each time t k is calculated, and the branch metric of the path formed by connecting the branch trains along the trellis is added to obtain the path. Obtain the metric, each state S at each time
By selecting the surviving path with the smallest path metric at that time among the multiple paths entering ab , and outputting the input information sequence corresponding to the last surviving path (that is, the path with the smallest path metric). , Estimate the input information sequence most likely to be transmitted on the transmission side, and eliminate errors in the transmission path.

【0011】上述の操作を行うための従来のビタビ復号
法の処理について以下に述べる。上述の二元畳込み符号
においては、図6に示されるように、4つの状態S00
10、S01、S11に対して情報ビット“0”、“1”が
入力されると、畳込み符号器からは図示の各出力符号が
出力される。これらの値をテーブル用ROMに格納して
おく。この畳込み符号器状態用メモリをtrelで表すこと
にすると、図7に示されるように、trel(0),trel(1) に
は状態S00に対し情報ビット“0”が入力した場合の畳
込み符号器の出力を格納し、trel(2),trel(3) には状態
10に対し情報ビット“0”が入力した場合の畳込み符
号器の出力を格納し、・・・trel(6),trel(7) には状態
11に対し情報ビット“0”が入力した場合の畳込み符
号器の出力を格納する。同様にtrel(8) 〜trel(15)には
各状態S00、S10、S01、S11に対し情報ビット“1”
が入力した場合の畳込み符号器の出力をそれぞれ格納す
る。
The processing of the conventional Viterbi decoding method for performing the above operation will be described below. In the above binary convolutional code, as shown in FIG. 6, four states S 00 ,
S 10, S 01, information bits "0" for S 11, when "1" is inputted, from the convolutional encoder Each output code shown is output. These values are stored in the table ROM. If you represent the convolutional encoder state memory in trel, as shown in FIG. 7, trel (0), in the case of input information bit "0" to state S 00 in trel (1) The output of the convolutional encoder is stored, and the output of the convolutional encoder when the information bit “0” is input to the state S 10 is stored in trel (2) and trel (3). (6), trel (7) stores the output of the convolutional encoder when the information bit “0” is input for the state S 11 . Similarly trel (8) ~trel (15) in each state S 00, S 10, S 01 , S 11 to the information bits "1"
Stores the output of the convolutional encoder when is input.

【0012】すなわち、入力情報ビット“0”のときの
畳込み符号器の出力として、 trel(0) =0 trel(1) =0 状態S00に対する畳込み符号器出力 trel(2) =0 trel(3) =1 状態S10に対する畳込み符号器出力 trel(4) =1 trel(5) =1 状態S01に対する畳込み符号器出力 trel(6) =1 trel(7) =0 状態S00に対する畳込み符号器出力
Namely, as the output of convolutional encoder when the input information bit "0", trel (0) = 0 trel (1) = 0 state convolutional encoder output trel (2) with respect to S 00 = 0 trel (3) = 1 Convolutional encoder output for state S 10 trel (4) = 1 trel (5) = 1 Convolutional encoder output for state S 01 trel (6) = 1 trel (7) = 0 State S 00 Convolutional encoder output for

【0013】入力情報ビット“1”のときの畳込み符号
器の出力として、 trel(8) =1 trel(9) =1 状態S00に対する畳込み符号器出力 trel(10)=1 trel(11)=0 状態S10に対する畳込み符号器出力 trel(12)=0 trel(13)=0 状態S01に対する畳込み符号器出力 trel(14)=0 trel(15)=1 状態S00に対する畳込み符号器出力 となる。
[0013] As the output of the convolutional encoder at the time of input information bits "1", trel (8) = 1 trel (9) = 1 state convolutional encoder output trel (10) with respect to S 00 = 1 trel (11 ) = 0 Convolutional encoder output for state S 10 trel (12) = 0 trel (13) = 0 Convolutional encoder output for state S 01 trel (14) = 0 trel (15) = 1 Convolutional encoder for state S 00 It becomes the output of the encoder.

【0014】また、受信系列を格納する受信系列メモリ
をinp で表すことにすると、図5の例の場合には、inp
(0)・・・inp(7)・・・には受信系列“11 11 0
0 10 00 11 11 11・・・”が格納され
る。その他、各状態のメトリック値を格納するメトリッ
ク値メモリmetric、枝メトリックの計算の際に作業用に
用いるワーク用メモリwork、生き残りパスの情報を格納
するパスメモリpathmemが用意される。
If the reception sequence memory for storing the reception sequence is represented by inp, in the case of the example of FIG.
(0) ・ ・ ・ inp (7) ・ ・ ・ contains the reception sequence “11 11 0
"0 10 00 11 11 11 11 ..." is stored. In addition, a metric value memory metric that stores the metric value of each state, a work memory work used for work when calculating a branch metric, and survivor path information. A path memory pathmem for storing is prepared.

【0015】図8にはプロセッサ形のビタビ復号回路の
例が示される。図示するように、書換え可能なRAMと
固定値を格納するROMが、それぞれデータバス#1、
#2に接続され、論理演算回路ALUへの演算入力用レ
ジスタとしてレジスタA、レジスタBを、また演算結果
出力用レジスタとしてレジスタC、レジスタDをそれぞ
れ備え、これらの各レジスタA、B、C、Dもデータバ
ス#1、#2に接続される。
FIG. 8 shows an example of a processor-type Viterbi decoding circuit. As shown in the figure, the rewritable RAM and the ROM for storing a fixed value are the data bus # 1 and
The register A and the register B, which are connected to the # 2 and are provided as the operation input registers to the logical operation circuit ALU, and the operation result output registers, are provided as the register C and the register D, respectively. D is also connected to the data buses # 1 and # 2.

【0016】図9には従来のビタビ復号法の処理手順が
示される。二元畳込み符号においては、各状態Sabに対
して受信系列データ二つが対応づけられ、各状態に対す
るパスメトリックを計算する。
FIG. 9 shows a processing procedure of the conventional Viterbi decoding method. In the binary convolutional code, two reception series data are associated with each state S ab , and the path metric for each state is calculated.

【0017】まず、受信系列inp(i),inp(i+1) とトレリ
スの各枝trel(j),trel(j+1) との枝メトリックをステッ
プS1 〜S12で計算する。すなわち、受信系列inp
(i),inp(i+1) のうちのinp(i)をレジスタAに、またtre
l(j) (ここではj=1から始めるものとする)をレジ
スタBにロードし (ステップS1) 、レジスタAとレジ
スタBの内容の排他的論理和を計算してレジスタCに格
納する (ステップS2) 。次いで、受信系列inp(i),inp
(i+1) のうちのinp(i+1)をレジスタAに、またtrel(j+
1) をレジスタBにロードし (ステップS3) 、レジス
タAとレジスタBの内容の排他的論理和を計算してレジ
スタDに格納する (ステップS4) 。次いで、レジスタ
CとレジスタDの内容を加算することで状態S00に入る
入力情報ビット“0”対応の枝の枝メトリックを求め
て、これをメモリwork1に格納する。
First, the branch metric of the reception sequence inp (i), inp (i + 1) and each trellis branch trel (j), trel (j + 1) is calculated in steps S1 to S12. That is, the reception sequence inp
Inp (i) of (i), inp (i + 1) is stored in register A and tre
l (j) (starting from j = 1 here) is loaded into register B (step S1), and the exclusive OR of the contents of register A and register B is calculated and stored in register C (step S1). S2). Then, the reception sequence inp (i), inp
Inp (i + 1) of (i + 1) is stored in register A, and trel (j +
1) is loaded into the register B (step S3), the exclusive OR of the contents of the registers A and B is calculated and stored in the register D (step S4). Then, seeking input information bit "0" corresponding branch of the branch metrics entering a state S 00 by adding the contents of register C and register D, and stores it in memory work1.

【0018】同様にして、受信系列inp(i)をレジスタA
に、またtrel(j+8) をレジスタBにロードし (ステップ
S6) 、レジスタAとレジスタBの内容の排他的論理和
を計算してレジスタCに格納し (ステップS7) 、次い
で、受信系列inp(i+1)をレジスタAに、またtrel(j+9)
をレジスタBにロードし (ステップS8) 、レジスタA
とレジスタBの内容の排他的論理和を計算してレジスタ
Dに格納する (ステップS9) 。次いで、レジスタCと
レジスタDの内容を加算することで状態S00に入る入力
情報ビット“1”に対応する枝の枝メトリックを求め
て、これをメモリwork2に格納する。
Similarly, the reception sequence inp (i) is stored in the register A.
, Trel (j + 8) is loaded into register B (step S6), the exclusive OR of the contents of register A and register B is calculated and stored in register C (step S7), and then the reception sequence inp (i + 1) to register A and trel (j + 9)
Is loaded into register B (step S8), and register A
And the exclusive OR of the contents of the register B are stored in the register D (step S9). Then, seeking branch of the branch metric corresponding to the input information bits "1" to enter the state S 00 by adding the contents of register C and register D, and stores it in memory work2.

【0019】次に、上述のようにして求めた枝メトリッ
クに基づいてACS (加算・比較・選択) 処理を行う
(ステップS11) 。すなわち、求めた枝メトリックを
メモリwork1, work2からそれぞれ読み出して、その枝
のパスの一時点前のパスメトリック値metricと加算して
現時点でのパスメトリック値を計算し、このパスメトリ
ック値の大小を比較して、値の小なるほうを生き残りパ
スとして選択する。
Next, ACS (addition / comparison / selection) processing is performed based on the branch metric obtained as described above.
(Step S11). That is, the obtained branch metric is read from each of the memories work1 and work2, and added to the path metric value metric one time before the path of the branch to calculate the path metric value at the present time. By comparison, the smaller value is selected as the surviving path.

【0020】このステップ1〜S11の処理 (枝メトリ
ックの計算処理) をjが7となるまで、順次にjに2を
加算して更新しつつ繰り返し行う (ステップS12) 。
これにより、他の状態S10、S01、S11についても順次
に枝メトリックを計算してそれに基づいてパスメトリッ
ク値を求め、生き残りパスを決定する。
The processing of steps 1 to S11 (branch metric calculation processing) is repeated until j becomes 7 by sequentially adding 2 to j and updating (step S12).
As a result, the branch metric is sequentially calculated for the other states S 10 , S 01 , and S 11 , and the path metric value is calculated based on the branch metric to determine the surviving path.

【0021】ステップ1〜S11の処理が終了したら、
その結果に基づいて受信系列inp(i),inp(i+1) に対する
各枝のパスメトリック、すなわちパスメトリック値メモ
リmetric(0) 〜metric(7) の内容を更新する (ステップ
S13) 。また生き残りパスの情報をパスメモリpathme
m に書き込む (ステップS14) 。
When the processing of steps 1 to S11 is completed,
Based on the result, the path metric of each branch for the received sequence inp (i), inp (i + 1), that is, the contents of the path metric value memories metric (0) to metric (7) are updated (step S13). In addition, the survivor path information is stored in the path memory
Write to m (step S14).

【0022】次に、iに2を加算することでiの値を更
新し (ステップS15) 、上述のステップS1〜S14
を繰り返すことで、次の受信系列に対してパスメトリッ
クの計算と生き残りパスの決定を行う。この処理をiを
更新することで順次に行っていく。
Next, the value of i is updated by adding 2 to i (step S15), and the above steps S1 to S14 are performed.
By repeating the above, the path metric is calculated and the surviving path is determined for the next reception sequence. This process is sequentially performed by updating i.

【0023】[0023]

【発明が解決しようとする課題】図9に示すフローチャ
ートからも分かるように、枝メトリック値の計算処理
(ステップS1〜S12)は、二重ループのなかに組み
込まれており、従ってi、jを更新しつつ多数回繰り返
して実行する必要がある。このため、これをプロセッサ
で行う場合には膨大な演算量が必要となり、この演算量
は畳込み符号器の状態数、受信データ数が増えるにつれ
て増加する。この結果、プロセッサの負担が大きくな
り、またその演算処理に長時間を要するようになる。し
たがって、順次に入力された受信データに対してリアル
タイムで復号出力を得るためには、この演算量をできう
る限り削減する必要がある。
As can be seen from the flowchart shown in FIG. 9, the branch metric value calculation process (steps S1 to S12) is incorporated in a double loop, and therefore i, j It needs to be repeated many times while updating. Therefore, when this is performed by the processor, a huge amount of calculation is required, and this amount of calculation increases as the number of states of the convolutional encoder and the number of received data increase. As a result, the burden on the processor is increased and the arithmetic processing takes a long time. Therefore, in order to obtain a decoded output in real time with respect to sequentially received data, it is necessary to reduce this calculation amount as much as possible.

【0024】本発明はかかる問題点に鑑みてなされたも
のであり、その目的とするところは、枝メトリック計算
に要する演算量を大幅に削減することにある。
The present invention has been made in view of such problems, and an object thereof is to significantly reduce the amount of calculation required for branch metric calculation.

【0025】[0025]

【課題を解決するための手段】図1は本発明に係る原理
説明図である。図1中、1はメモリ、2はビタビ復号処
理を行うプロセッサを含む部分である。本発明のビタビ
復号方法は、畳込み符号化された受信系列をプロセッサ
により復号化するビタビ復号方法であって、各状態に対
応した枝メトリック値をテーブル化してメモリ1に記憶
させておき、生き残りパス選択のための演算にあたって
はメモリ1から枝メトリック値を読み出して使用するよ
うにしたものである。
FIG. 1 is a diagram illustrating the principle of the present invention. In FIG. 1, 1 is a memory, and 2 is a portion including a processor that performs a Viterbi decoding process. The Viterbi decoding method of the present invention is a Viterbi decoding method in which a convolutionally encoded reception sequence is decoded by a processor, and a branch metric value corresponding to each state is tabulated and stored in the memory 1 to survive. The branch metric value is read from the memory 1 and used in the calculation for path selection.

【0026】上述のビタビ復号方法は、パンクチャド畳
込み符号化された受信系列に対する枝メトリック値をテ
ーブル化してメモリ1に記憶させることにより、パンク
チャド畳込み符号化した受信系列を復号化するようにで
きる。
The Viterbi decoding method described above decodes the punctured convolutionally encoded reception sequence by tabulating the branch metric values for the punctured convolutionally encoded reception sequence and storing them in the memory 1. You can

【0027】[0027]

【作用】従来のビタビ復号方法で演算量を要していた枝
メトリック値の計算を、枝メトリック値を記憶したメモ
リ1によるテーブル・ルック・アップ処理に置き換える
ことで、演算量を大幅に削減できる。
By replacing the calculation of the branch metric value, which required the calculation amount in the conventional Viterbi decoding method, with the table lookup process by the memory 1 storing the branch metric value, the calculation amount can be greatly reduced. .

【0028】[0028]

【実施例】以下、図面を参照して本発明の実施例を説明
する。図2には本発明の一実施例としてのビタビ復号方
法の処理手順が示され、図3には実施例方法で用いる各
種メモリが示される。この実施例で用いるハードウェア
は図8に示したものと同じプロセッサ形の復号回路であ
る。メモリとしては従来の畳込み符号器状態用メモリtr
elに換えて枝メトリック値メモリpathが新たに用意され
ている。またワーク用メモリとしてメモリkが用意され
ている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 2 shows a processing procedure of the Viterbi decoding method as one embodiment of the present invention, and FIG. 3 shows various memories used in the embodiment method. The hardware used in this embodiment is the same processor type decoding circuit as that shown in FIG. As a memory, the conventional convolutional encoder state memory tr
A branch metric value memory path is newly prepared instead of el. A memory k is prepared as a work memory.

【0029】各状態Sabにおいて、受信系列は、inp
(i),inp(i+1) の組合せが“00”、“10 ”、“01
”、“11 ”を取りえる。したがって、各状態におい
て入力情報ビットが“0”と“1”のそれぞれに対する
枝メトリック値を予めテーブル化して枝メトリック値メ
モリpathに格納しておく。
In each state S ab , the received sequence is inp
The combination of (i) and inp (i + 1) is "00", "10", "01"
Therefore, the branch metric value for each of the input information bits "0" and "1" in each state is tabulated in advance and stored in the branch metric value memory path.

【0030】すなわち、状態S00においてinp(i),inp(i
+1) の組合せが“00”に対する枝メトリック「0」を
path(0) に、" 01 ”に対する枝メトリック値「1」を
path(1) に、“10”に対する枝メトリック値「1」を
path(2) に“11”に対する枝メトリック値「2」をpa
th(3) にそれぞれテーブル値として格納する。以下同様
にして入力情報ビットが“0”のときの各状態S10、S
01、S11における枝メトリック値を順次に並べ、そのあ
とに、入力情報ビットが“1”のときの各状態S00、S
10、S01、S11における枝メトリック値を順次に並べ
る。すなわち、
That is, in state S 00 , inp (i), inp (i
The branch metric “0” for the combination “+1” is “00”.
The branch metric value "1" for "01" is added to path (0).
The branch metric value “1” for “10” is added to path (1).
The branch metric value “2” for “11” is set to path (2) pa
Store as table value in th (3). Similarly, each state S 10 , S when the input information bit is “0”
The branch metric values in 01 and S 11 are sequentially arranged, and thereafter, the states S 00 and S when the input information bit is “1”
The branch metric values at 10 , S 01 , and S 11 are sequentially arranged. That is,

【0031】 inp(i),inp(i+1) 入力情報ビット 状態 枝メトリック値メモリ 00 0 S00 path(0) =0 01 0 S00 path(1) =1 10 0 S00 path(2) =1 11 0 S00 path(3) =2 00 0 S10 path(4) =1 01 0 S10 path(5) =0 10 0 S10 path(6) =2 11 0 S10 path(7) =1 00 0 S01 path(8) =2 01 0 S01 path(9) =1 10 0 S01 path(10)=1 11 0 S01 path(11)=0 00 0 S11 path(12)=1 01 0 S11 path(13)=2 10 0 S11 path(14)=0 11 0 S11 path(15)=1 00 1 S00 path(16)=2 01 1 S00 path(17)=1 10 1 S00 path(18)=1 11 1 S00 path(19)=0 00 1 S10 path(20)=1 01 1 S10 path(21)=2 10 1 S10 path(22)=0 11 1 S10 path(23)=1 00 1 S01 path(24)=0 01 1 S01 path(25)=1 10 1 S01 path(26)=1 11 1 S01 path(27)=2 00 1 S11 path(28)=1 01 1 S11 path(29)=0 10 1 S11 path(30)=2 11 1 S11 path(31)=1Inp (i), inp (i + 1) input information bit state branch metric value memory 00 0 S 00 path (0) = 0 01 0 S 00 path (1) = 1 10 0 S 00 path (2) = 1 11 0 S 00 path (3) = 2 00 0 S 10 path (4) = 1 01 0 S 10 path (5) = 0 10 0 S 10 path (6) = 2 11 0 S 10 path (7) = 1 00 0 S 01 path (8) = 2 01 0 S 01 path (9) = 1 10 0 S 01 path (10) = 1 11 0 S 01 path (11) = 0 00 0 S 11 path (12) = 1 01 0 S 11 path (13) = 2 10 0 S 11 path (14) = 0 0 11 0 S 11 path (15) = 1 100 1 S 00 path (16) = 2 01 1 S 00 path (17) = 1 10 1 S 00 path (18) = 1 1 11 1 S 00 path (19) = 0 0 00 1 S 10 path (20) = 1 01 1 S 10 path (21) = 2 10 1 S 10 path (22) = 0 11 1 S 10 path (23) = 1 00 1 S 01 path (24) = 0 0 1 1 S 01 path (25) = 1 1 10 1 S 01 path (26) = 1 1 1 1 S 01 path (27) = 200 1 S 11 path (28) = 1 01 1 S 11 path (29) = 0 10 1 S 11 path (30) = 2 11 1 S 11 path (31) = 1

【0032】この枝メトリック値メモリを用いた本発明
によるビタビ復号方法を図2のフローチャートを参照し
て以下に説明する。
A Viterbi decoding method according to the present invention using this branch metric value memory will be described below with reference to the flowchart of FIG.

【0033】この実施例方法においては、最適なパスを
選択する前に、受信系列データに対する枝メトリック値
メモリのアドレスを算出する(ステップS21〜S2
3)。この演算は新たに追加されたものであるが、二重
ループの外で行うため、二重ループ内の演算(ステップ
S24〜S27)をそれ以上に削減することで、ビタビ
復号全体としての演算量は大きく削減される。本発明で
は二重ループ内の処理は入力情報ビット“0”のとき、
および入力情報ビット“1”のときの枝メトリック値を
それぞれメモリから読み出すだけの処理となるので、演
算量が大幅に削減される。
In the method of this embodiment, the address of the branch metric value memory for the reception sequence data is calculated before selecting the optimum path (steps S21 to S2).
3). Although this calculation is newly added, since it is performed outside the double loop, the calculation amount in the entire Viterbi decoding can be reduced by further reducing the calculation (steps S24 to S27) inside the double loop. Is greatly reduced. In the present invention, the processing in the double loop is as follows when the input information bit is "0".
Since the processing is performed only by reading the branch metric value when the input information bit is "1" from the memory, the amount of calculation is greatly reduced.

【0034】まず、枝メトリック値メモリpathのアドレ
スを算出する処理として、レジスタAにinp(i)をロード
し、レジスタBにinp(i+1)をロードし (ステップS2
1) 、レジスタBとレジスタAの内容を加算してその結
果をレジスタCに格納し (ステップS22) 、このレジ
スタCの内容をさらにワーク用メモリkに移して、この
kを枝メトリック値メモリpathを読み出すときのアドレ
スとする。
First, as a process of calculating the address of the branch metric value memory path, inp (i) is loaded into register A and inp (i + 1) is loaded into register B (step S2).
1) The contents of the registers B and A are added and the result is stored in the register C (step S22), the contents of the register C are further transferred to the work memory k, and this k is stored in the branch metric value memory path. Is the address for reading.

【0035】すなわち、上記のkを用いて、枝メトリッ
ク値メモリpath(j+k) から枝メトリック値を読み出して
これをワーク用メモリwork1に格納する (ステップS2
4)。この枝メトリック値は入力情報ビットが“0”の
ときの値となる。
That is, using the above k, the branch metric value is read from the branch metric value memory path (j + k) and stored in the work memory work1 (step S2).
4). This branch metric value is a value when the input information bit is "0".

【0036】次に、枝メトリック値メモリpath(j+k+16)
から枝メトリック値を読み出してこれをワーク用メモリ
work2に格納する (ステップS25) 。この枝メトリッ
ク値は入力情報ビットが“1”のときの値となる。
Next, the branch metric value memory path (j + k + 16)
Read the branch metric value from the
Store in work2 (step S25). This branch metric value is a value when the input information bit is "1".

【0037】このワーク用メモリwork1, work2の内容
を用いて従来と同様のACS (加算・比較・選択) 処理
を行ってパスメトリック値の計算、生き残りパスの選択
をする (ステップS29) 。その後で、jに4を加算し
て更新し (ステップS27)、ステップS24〜S26
の処理を繰り返す。これにより、同じ受信系列inp(i),i
np(i+1) に対して、状態S00、S10、S01、S11の枝メ
トリック値が順次に読み出されて処理されることにな
る。
Using the contents of the work memories work1 and work2, ACS (addition / comparison / selection) processing similar to the conventional one is performed to calculate a path metric value and select a surviving path (step S29). After that, 4 is added to j to update (step S27), and steps S24 to S26 are performed.
The process of is repeated. This allows the same reception sequence inp (i), i
For np (i + 1), the branch metric values of the states S 00 , S 10 , S 01 , S 11 are sequentially read and processed.

【0038】その後で、メトリック値メモリの更新、生
き残りパスの書込みを従来方法と同じにして行い(ステ
ップS28、S29)、iに2を加算する更新を行って
(ステップS30)、次の受信系列に対して同様の処理
を行う。
After that, the metric value memory is updated and the survivor path is written in the same manner as in the conventional method (steps S28 and S29), and the update is performed by adding 2 to i (step S30), and the next reception sequence is performed. The same process is performed for.

【0039】本発明の実施にあたっては種々の変形形態
が可能である。例えば本発明は、パンクチャド畳込み符
号化された受信系列に対しても、枝メトリック値メモリ
pathの値を書き換えるのみで対応可能である。このパン
クチャド畳込み符号化は、例えば特開昭57−1558
57号公報等に開示されているように、周波数利用効率
を高めるために、符号ビットの一部を消去することによ
り符号化率を高めた方式である。
Various modifications are possible in carrying out the present invention. For example, the present invention can be applied to a branch metric value memory even for a punctured convolutionally coded reception sequence.
It is possible to respond only by rewriting the value of path. This punctured convolutional coding is disclosed in, for example, Japanese Patent Laid-Open No. 57-1558.
As disclosed in Japanese Patent Laid-Open No. 57-57, it is a system in which a coding rate is increased by erasing a part of code bits in order to improve frequency utilization efficiency.

【0040】また、二つの多項式の次数が同じ場合 (本
発明の例で用いたような場合) には、図6からも分かる
ように、状態数が半分のテーブルを用意すればよい。
If the two polynomials have the same degree (as used in the example of the present invention), a table having half the number of states may be prepared, as can be seen from FIG.

【0041】[0041]

【発明の効果】以上に説明したように、本発明によれ
ば、、枝メトリック計算に要する演算量を大幅に削減す
ることができる。
As described above, according to the present invention, the amount of calculation required for branch metric calculation can be greatly reduced.

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

【図1】本発明に係る原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】本発明の一実施例としてのビタビ復号方法を示
すフローチャートである。
FIG. 2 is a flowchart showing a Viterbi decoding method as an embodiment of the present invention.

【図3】実施例方法で用いる各種メモリを示す図であ
る。
FIG. 3 is a diagram showing various memories used in an embodiment method.

【図4】畳込み符号器の例を示す図である。FIG. 4 is a diagram illustrating an example of a convolutional encoder.

【図5】トレリス表現による遷移図である。FIG. 5 is a transition diagram based on a trellis representation.

【図6】畳込み符号器の状態を示す図である。FIG. 6 is a diagram showing a state of a convolutional encoder.

【図7】従来方法で用いる各種メモリを示す図である。FIG. 7 is a diagram showing various memories used in a conventional method.

【図8】プロセッサ形の復号器を示す図である。FIG. 8 shows a processor-type decoder.

【図9】従来のビタビ復号方法を示すフローチャートで
ある。
FIG. 9 is a flowchart showing a conventional Viterbi decoding method.

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

#1、#2 データバス RAM ランダムアクセスメモリ ROM 読出し専用メモリ A、B、C、D レジスタ ALU 論理演算回路 inp 受信系列メモリ path 枝メトリック値メモリ metric メトリック値メモリ pathmem パスメモリ work ワーク用メモリ trel 畳込み符号器状態用メモリ # 1, # 2 Data bus RAM Random access memory ROM Read-only memory A, B, C, D register ALU Logical operation circuit inp Received sequence memory path Branch metric value memory metric metric value memory pathem Path memory work memory trel convolution Memory for encoder state

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 畳込み符号化された受信系列をプロセッ
サにより復号化するビタビ復号方法であって、各状態に
対応した枝メトリック値をテーブル化してメモリ(1)
に記憶させておき、生き残りパス選択のための演算にあ
たっては該メモリから枝メトリック値を読み出して使用
するようにしたビタビ復号方法。
1. A Viterbi decoding method for decoding a convolutionally encoded received sequence by a processor, wherein a branch metric value corresponding to each state is tabulated and stored in a memory (1).
The Viterbi decoding method in which the branch metric value is read from the memory and used in the calculation for selecting the surviving path.
【請求項2】 パンクチャド畳込み符号化された受信系
列に対する枝メトリック値をテーブル化して該メモリに
記憶させることにより、パンクチャド畳込み符号化した
受信系列を復号化するようにした請求項1記載のビタビ
復号方法。
2. The punctured convolutionally encoded reception sequence is decoded by tabulating the branch metric values for the punctured convolutionally encoded reception sequence and storing them in the memory. Viterbi decoding method described.
JP19428493A 1993-07-09 1993-07-09 Viterbi decoding method Withdrawn JPH0730438A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19428493A JPH0730438A (en) 1993-07-09 1993-07-09 Viterbi decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19428493A JPH0730438A (en) 1993-07-09 1993-07-09 Viterbi decoding method

Publications (1)

Publication Number Publication Date
JPH0730438A true JPH0730438A (en) 1995-01-31

Family

ID=16322047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19428493A Withdrawn JPH0730438A (en) 1993-07-09 1993-07-09 Viterbi decoding method

Country Status (1)

Country Link
JP (1) JPH0730438A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467064B1 (en) 1999-03-19 2002-10-15 Fujitsu Limited Viterbi decoder
US6535345B1 (en) 1999-07-21 2003-03-18 Fujitsu Limited Signal processing apparatus and signal processing method
US8808470B2 (en) 2010-12-13 2014-08-19 Nippon Steel & Sumitomo Metal Corporation High-carbon chromium bearing steel and production method of the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467064B1 (en) 1999-03-19 2002-10-15 Fujitsu Limited Viterbi decoder
US6535345B1 (en) 1999-07-21 2003-03-18 Fujitsu Limited Signal processing apparatus and signal processing method
US8808470B2 (en) 2010-12-13 2014-08-19 Nippon Steel & Sumitomo Metal Corporation High-carbon chromium bearing steel and production method of the same

Similar Documents

Publication Publication Date Title
US6448910B1 (en) Method and apparatus for convolution encoding and viterbi decoding of data that utilize a configurable processor to configure a plurality of re-configurable processing elements
US7765459B2 (en) Viterbi decoder and viterbi decoding method
CA2293079C (en) A repeatable data error correction system
JP3281868B2 (en) Viterbi decoding method
JP3233847B2 (en) Viterbi decoding method and Viterbi decoding circuit
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
US8489972B2 (en) Decoding method and decoding device
US20070201586A1 (en) Multi-rate viterbi decoder
KR100387089B1 (en) Viterbi decoder with reduced number of bits in branch metric calculation processing
JPH0730438A (en) Viterbi decoding method
US20030120993A1 (en) Viterbi decoder using restructured trellis
JP5370487B2 (en) Decoding method and decoding apparatus
US20070168845A1 (en) Viterbi decoder
JPH07336239A (en) Viterbi decoder
JP4295871B2 (en) Error correction decoder
JP3837913B2 (en) Viterbi decoder
JP2591332B2 (en) Error correction decoding device
JP4729938B2 (en) Viterbi decoder and mobile communication device, base station device, and mobile communication terminal using the same
JP3351414B2 (en) Viterbi decoding device
JP3269845B2 (en) Viterbi decoder
KR100205547B1 (en) Trace-back device for viterbi decoder
JP3257060B2 (en) Viterbi decoder
JP2002198827A (en) Maximum likelihood decoding method and decoder thereof
JPH08139614A (en) Error correction encoding/decoding device
JP2000252840A (en) Error-correcting decoder

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: 20001003