JPH03253123A - Decoding system for error correcting code - Google Patents

Decoding system for error correcting code

Info

Publication number
JPH03253123A
JPH03253123A JP4956790A JP4956790A JPH03253123A JP H03253123 A JPH03253123 A JP H03253123A JP 4956790 A JP4956790 A JP 4956790A JP 4956790 A JP4956790 A JP 4956790A JP H03253123 A JPH03253123 A JP H03253123A
Authority
JP
Japan
Prior art keywords
decoding
backward
value
error correction
state
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
JP4956790A
Other languages
Japanese (ja)
Other versions
JP2614524B2 (en
Inventor
Masayoshi Ohashi
正良 大橋
Yutaka Yasuda
豊 安田
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.)
KDDI Corp
Original Assignee
Kokusai Denshin Denwa KK
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 Kokusai Denshin Denwa KK filed Critical Kokusai Denshin Denwa KK
Priority to JP2049567A priority Critical patent/JP2614524B2/en
Publication of JPH03253123A publication Critical patent/JPH03253123A/en
Application granted granted Critical
Publication of JP2614524B2 publication Critical patent/JP2614524B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

PURPOSE:To efficiently execute minimum bit error decoding algorithm and to reduce the capacity of a memory by reusing a working storage area to be used for forward or backward repeating operation again in revesed repeating operation to execute decoding. CONSTITUTION:In the case of applying the minimum bit error decoding algorithm to a linear code obtained by terminating a code word by a certain length, forward repeating operation and backward repeating operation are executed once in each by using only the storage area required for the forward repeating operation. In this case, all calculated results on the way of a decoding process are stored in a decoding operation RAM 112, and at the time of advancing decoding, data are read out from a RAM 112 and the product sum operation between the read data and a branch metric value is executed by a multiplexer 140, an adder/subtractor 141 and an accumulator 122. Thus, the bit error rate can be efficiently reduced.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、誤り訂正用線型符号器によって符号化されて
送信された系列に対し、受信側で、各々の復号情報ビッ
トの誤り率を最小化する誤り訂正符号の復号方式に関す
るものである。
Detailed Description of the Invention (Industrial Application Field) The present invention provides a system for minimizing the error rate of each decoded information bit on the receiving side for a sequence encoded by an error correction linear encoder and transmitted. The present invention relates to a decoding method for error correction codes.

(従来技術) 従来伝送路上で生じる誤りを効果的に取り除いて信頼度
の高い通信を行う手法の一つとして、あらかしめ送信側
において、ある一定の冗長度を含んだ符号化を行い、受
信側では逆にこの符号化された受信系列から、送信側で
送信されたと判断される情報系列の推定を行うことによ
り、伝送路で生じた誤りを訂正する方法かある。これは
FEC(Forward Error Correct
ion)または前方誤り訂正方式と呼ばれている。
(Prior art) Conventionally, as one of the methods to effectively remove errors that occur on the transmission path and achieve highly reliable communication, the sending side performs encoding with a certain degree of redundancy, and the receiving side Conversely, there is a method of correcting errors that occur on the transmission path by estimating the information sequence that is determined to have been transmitted on the transmitting side from this encoded received sequence. This is FEC (Forward Error Correct
ion) or forward error correction method.

FECに用いる符号化の方法としては大別してブロック
符号化によるものと、たたみ込み符号化によるものが存
在する。このうち、たたみ込み符号化は一定長のシフト
レジスタを用いて情報系列を連続的に符号化してゆく方
式である。一方、ブロック符号化は、ある一定長の情報
系列をひとまとめとして符号化を行う方式である。次に
、これらの符号に対する代表的な復号方式として、ビタ
ビ復号方式か存在する。ビタビ復号方式は、一般にはト
レリス構造を有する線型符号に対して適用可能であるか
、現在は主にたたみ込み符号に対して適用されている。
Encoding methods used in FEC can be broadly classified into block encoding and convolutional encoding. Among these, convolutional encoding is a method in which an information sequence is continuously encoded using a shift register of a fixed length. On the other hand, block encoding is a method in which information sequences of a certain length are encoded as a group. Next, there is a Viterbi decoding method as a typical decoding method for these codes. The Viterbi decoding method is generally applicable to linear codes having a trellis structure, or is currently mainly applied to convolutional codes.

ビタビ復号は、記憶のない雑音通信路における有限状態
離散時間マルコフ過程の下で状態系列の最尤推定を行う
アルゴリズムであり、観測系列全体が与えられた下では
最も尤度か大きい状態系列すなわち符号語か必ず選び出
される。従ってビタビ復号はこの意味において、最適な
復号アルゴリズムであるといえる。ビタビ復号はまた軟
判定復号も比較的簡単に行えることから、現在衛星通信
システムを中心としてたたみ込み符号に対する有効な復
号アルゴリズムとして広く普及している。このビタビア
ルゴリズムについては文献(1) (G、D、 For
ney、 Jr、 :“The Viterbi Al
gorithm”、 Proc、 of IEEE、 
Vol、 61. No、3. pp、268−278
. March 1973)に詳しく述べられている。
Viterbi decoding is an algorithm that performs maximum likelihood estimation of a state sequence under a finite state discrete-time Markov process in a noisy channel with no memory. Words are always selected. Therefore, in this sense, Viterbi decoding can be said to be the optimal decoding algorithm. Since Viterbi decoding also allows soft-decision decoding to be performed relatively easily, it is currently widely used as an effective decoding algorithm for convolutional codes, mainly in satellite communication systems. This Viterbi algorithm is described in literature (1) (G, D, For
ney, Jr.: “The Viterbi Al
gorithm”, Proc, of IEEE,
Vol, 61. No, 3. pp, 268-278
.. March 1973).

一方、符号語としての誤り率を最小化するビタビ復号に
対し、符号語を構成するシンボルまたはビット毎の誤り
率を最小化する復号アルゴリズムか存在する(以下この
アルゴリズムを最小ビット誤り復号アルゴリズムと呼ぶ
)。以下このアルゴリズムについて簡単に説明する。
On the other hand, in contrast to Viterbi decoding, which minimizes the error rate as a codeword, there is a decoding algorithm that minimizes the error rate for each symbol or bit that constitutes a codeword (hereinafter this algorithm will be referred to as the minimum bit error decoding algorithm). ). This algorithm will be briefly explained below.

ここで表記は文献(1)に従う。符号拘束長をV時刻k
における送信情報をUk+ その直前の符号器の状態を
X * ” (U k−1+ U k−2+・・・、U
k−v)とする。また時刻0からkまての受信側での観
測系列をZ o”” (21111211・・’ ! 
Z k ) 、これに対応した時刻0の初期状態から時
刻にの終端状態までの状態系列をX 6”’ −(X 
Or X ++ ”’ + X h++)とする。
The notation here follows Document (1). The code constraint length is V time k
The transmitted information at Uk+ The state of the encoder immediately before that is X*'' (U k-1+ U k-2+..., U
k-v). Also, the observation sequence on the receiving side from time 0 to k is Z o""(21111211...'!
Z k ), and the corresponding state sequence from the initial state at time 0 to the terminal state at time is expressed as
Or X ++ ”' + X h++).

x o”’に対する尤度は。The likelihood for x o”’ is.

λ(ξ→=  InP (X+++ l x+)  I
nP (z+ l x+)・・・(1) で与えられる。
λ(ξ→= InP (X+++ l x+) I
nP (z+ l x+)...(1) It is given as follows.

但しξ+ =(X++++ X+)は時刻iの遷移を、
また、P(%)は条件突き確率をそれぞれ表す。
However, ξ+ = (X++++ X+) represents the transition at time i,
Moreover, P (%) each represents the conditional thrust probability.

符号語は符号化系列の最終時刻である時刻にの直後、あ
る状態X K + 1で終端されるとする。その間の観
測系列z (= z oK)とX、との結合確率は、P
(xk、z)=P(xk、zok−’)P(zkKlx
k)   ・−・(2)で与えられるか、これは、 P (xi、 zo’−’)::Σ P (L−++ zo’−2)exp(−λ(ξ、−1
)・・・(4) の繰り返し演算て求められる。S(u、)を時刻kにお
けるX5,1のはしめの成分かu、EE (o、 1)
であるような状態の集合とする。このときP (um、
  z)=  Σ P (xm−+、z)k+1〔S(
u工)        ・・(5)を計算することて時
刻にの情報ビットU、の結合確率か求まるo P(um
=0. z)>P(uh=1. z)ならばu、=0、
P(um=0. z)<P(um=1. z)ならばu
b = L P(u*=0. z)=P(uh=l、 
z)ならばランダムにU、=Oまたはum=1を出力す
ることで復号を行う。なおこの最小ビット誤り復号アル
ゴリズムについては文献(2) (L、R,Bahl。
It is assumed that the code word is terminated in a certain state X K + 1 immediately after the final time of the coded sequence. The joint probability between observation series z (= z oK) and X during that time is P
(xk, z)=P(xk, zok-')P(zkKlx
k) ・−・(2), which is given by P (xi, zo′−′)::Σ P (L−++ zo′−2)exp(−λ(ξ, −1
)...(4) It is obtained by repeating the calculation. Let S(u,) be the last component of X5,1 at time k or u, EE (o, 1)
Let be a set of states such that . At this time P (um,
z) = Σ P (xm-+, z)k+1 [S(
By calculating (5), we can find the combination probability of information bits U at time o P(um
=0. z)>P(uh=1. If z), then u,=0,
If P(um=0.z)<P(um=1.z), then u
b = L P(u*=0.z)=P(uh=l,
z), decoding is performed by randomly outputting U,=O or um=1. This minimum bit error decoding algorithm is described in Reference (2) (L, R, Bahl.

J、 Cocke、 F、 Jelinek and 
J、 Raviv : ”OptimalDecodi
ng of Linear Codes for Mi
nimizing SymboI Error Rat
e″、IEEE Trans、  Inf、 Theo
ry、 Vol。
J., Cocke, F., Jelinek and
J. Raviv: “Optimal Decodi
ng of Linear Codes for Mi
nimizing SymboI Error Rat
e'', IEEE Trans, Inf, Theo
ry, Vol.

IT−20,pp、 284−287. March 
1974)に詳しく述べられている。最小ビット誤り復
号アルゴリズムはビット誤り率特性において最も優れた
特性を有すると同時に各ビットまたはシンボル単位にそ
の後号結果の確かさの尺度を与えられるという長所かあ
るか、反面、以下に述へるように本質的な欠点をいくつ
か持−っているためビタビ復号にとって代わる復号方式
とはなっていない。
IT-20, pp. 284-287. March
1974). The minimum bit error decoding algorithm has the advantage of having the best bit error rate characteristics and being able to provide a measure of the accuracy of the subsequent result for each bit or symbol, but on the other hand, as will be discussed below. However, it has not been used as a decoding method to replace Viterbi decoding because it has some essential drawbacks.

ビタビ復号と比較を行ったとき、最小ビット誤り復号ア
ルゴリズLの持つ欠点としては、復号中にビタビ復号て
必要な前方繰りかえし演算の他に後方繰りかえし演算か
要求されるところにある。
When compared with Viterbi decoding, the disadvantage of the minimum bit error decoding algorithm L is that it requires backward iterative operations in addition to the forward iterative operations necessary for Viterbi decoding during decoding.

しかも後方繰りかえし演算の対象となる受信系列は、常
に復号対象としているビットの時刻から受信語の終わり
までの区間であるために、復号にあたっては、必ず符号
語全体を受信し終わった後に前方および後方繰りかえし
演算を行わねばならない。一方、ビタビ復号の場合には
、前方繰りかえし演算のみて復号を行うことか可能であ
る。しかもビットまたはシンボルか受信される毎に前方
繰りかえし演算を続けてゆけばよいのて、−括して受信
系列か与えられる必要もなく、連続モードての復号か可
能である。
Moreover, since the received sequence that is subject to backward repetition operations is always the interval from the time of the bit targeted for decoding to the end of the received word, decoding must always be performed forward and backward after the entire codeword has been received. Calculations must be performed repeatedly. On the other hand, in the case of Viterbi decoding, it is possible to perform decoding using only forward iterative operations. Moreover, since the forward iterative operation can be continued every time a bit or symbol is received, it is not necessary to provide the received sequence all at once, and decoding in continuous mode is possible.

また、最小ビット誤り復号の場合、さらに復号に際して
大きな記憶領域が必要となること、積和演算の繰りかえ
しか多数必要になる等の欠点かある。これらの理由によ
り現在ではビタヒ復号か特にたたみ込み符号の復号用に
fIJ広く用いられるすう勢にある。
Further, in the case of minimum bit error decoding, there are disadvantages such as a large storage area being required for decoding and a large number of repetitions of product-sum operations being required. For these reasons, Vitahi decoding or especially fIJ is becoming more widely used for decoding convolutional codes.

(発明か解決しようとする課題) 最小ビット誤り復号アルゴリズムは従来技術の項でも述
べたように、演算量か多大な上、復号に要求される記憶
領域か非常に大きくなる。文献(2)に従えば、拘束長
■、符号化率R=ko/noのたたみ込み符号を用い、
CF (2)上で定義された符号長をτとすると、前方
繰りかえし演算に2×2kOv・τの記憶領域が要求さ
れる。また後方繰りかえし演算も、直接演算を行えば前
方繰りかえし演算と同じだけの記憶領域か必要となるた
め、総数で2×2kOv・τだけの記憶領域か必要とな
る。例えば符号長をτ=1000ビット、v=6、R=
l/2.1個の記憶領域に32ビツトか割当てられると
すると総記憶領域は約4 Mbitとなり復号器にかか
る負担は大きい。また実際に前方および後方繰りかえし
演算を行う際には、構成されるトレリスに応し、初期処
理、定常処理、終端処理とその演算処理を変更する必要
かあるという欠点を持っている。
(Problems to be Solved by the Invention) As mentioned in the section of the prior art, the minimum bit error decoding algorithm requires a large amount of calculations and also requires a very large storage area for decoding. According to literature (2), using a convolutional code with constraint length ■ and coding rate R = ko/no,
If the code length defined on CF (2) is τ, a storage area of 2×2 kOv·τ is required for the forward iterative operation. Further, if the backward repeat operation is performed directly, it will require the same storage area as the forward repeat operation, so a total storage area of only 2×2 kOv·τ is required. For example, the code length is τ=1000 bits, v=6, R=
If 32 bits are allocated to 1/2.1 storage areas, the total storage area will be approximately 4 Mbits, and the load placed on the decoder will be large. Furthermore, when actually performing forward and backward iterative calculations, there is a drawback that it is necessary to change initial processing, steady processing, terminal processing, and the calculation processing thereof depending on the configured trellis.

次に最小ビット誤り復号アルゴリズムを実際に実行する
際には尤度を実数値て取り扱うため、実数間での乗算か
必要になる。その結果ブロック長りか長くなると尤度の
値か極度に増加したり、極度に減少して演算器の演算可
能範囲を逸脱する可能性か非常に高くなる。また本アル
ゴリズムは前述の如く結合確率P (um 、 z)を
求めているためにum=0の確率とり、=1の確率を加
えても1とはならない。従ってこの情報だけからは客観
的な信頼度が得られ難いという欠点を有している。
Next, when actually executing the minimum bit error decoding algorithm, the likelihood is treated as a real value, so multiplication between real numbers is required. As a result, when the block length becomes longer, the possibility that the likelihood value increases or decreases extremely and goes beyond the computable range of the arithmetic unit becomes very high. Furthermore, since this algorithm calculates the joint probability P (um, z) as described above, taking the probability of um=0 and adding the probability of =1 does not result in 1. Therefore, it has the disadvantage that it is difficult to obtain objective reliability from this information alone.

さらに最小ビット誤り復号アルゴリズムを用いて復号を
行う際には、適切な復号用の枝メトリックを用いること
か望ましいか、そのためにはあらかしめ通信路の遷移確
率を知っておく必要かある。
Furthermore, when performing decoding using the minimum bit error decoding algorithm, it is desirable to use an appropriate branch metric for decoding, and to do so, it is necessary to know the transition probability of the channel.

通信路の状態が既知である場合には問題は生しないか、
そうでない場合には適当な通信路の状態を仮定するか、
もしくは他の何らかの手段を用いて遷移確率の情報を得
なければならない。
If the state of the communication path is known, there will be no problem, or
If not, assume an appropriate communication channel state, or
Alternatively, information on transition probabilities must be obtained using some other means.

本発明は、上述した従来技術の問題点を解決するために
なされたものて、効率的にビット誤り率を減少すること
のできる誤り訂正符号の復号方式を提供するものである
The present invention has been made to solve the problems of the prior art described above, and provides a decoding method for error correction codes that can efficiently reduce the bit error rate.

(課題を解決するための手段) この目的を達成するための本発明の方式は、構成におい
て次のような特徴を有している。
(Means for Solving the Problems) The system of the present invention for achieving this object has the following features in its configuration.

すなわち、本発明の第1の特徴は、符号語がある長さで
終端された線型符号にたいして最小ビット誤り復号アル
ゴリズムを適用する際に、前方繰りかえし演算に要求さ
れる記憶領域のみを用いて、前方繰りかえし演算ならび
に後方繰りかえし演算を1度づつ行って、効率的に最小
ビット誤り復号アルゴリズムを実行し、メモリの削減を
図るものである。
That is, the first feature of the present invention is that when applying the minimum bit error decoding algorithm to a linear code whose code word is terminated with a certain length, forward The iterative operation and the backward iterative operation are performed once each to efficiently execute the minimum bit error decoding algorithm and to reduce the amount of memory.

本発明の第2の特徴は、前方繰りかえし演算で得た値の
逆数を後方繰りかえし演算の初期値として用いることに
より最大事後確率P (ulz)を求められるようにし
たことにある。
A second feature of the present invention is that the maximum posterior probability P (ulz) can be determined by using the reciprocal of the value obtained in the forward iterative calculation as the initial value of the backward iterative calculation.

本発明の第3の特徴は、メトリックテーブルの規格化を
行うことにより演算器のオーバーフローを避けることに
ある。
The third feature of the present invention is to avoid overflow of the arithmetic unit by standardizing the metric table.

本発明の第4の特徴は、軟判定復号を行う場合に受信さ
れた軟判定重み情報を利用して通信路の遷移確率を推定
し、この情報を用いて適切な枝メトリックを選び出し、
これを復号演算に用いることで精度の良い最小ビット誤
り復号を行うことにある。
A fourth feature of the present invention is to estimate the transition probability of a channel using received soft decision weight information when performing soft decision decoding, and use this information to select an appropriate branch metric.
By using this in decoding operations, the purpose is to perform accurate minimum bit error decoding.

(発明の構成および作用) 以下具体例により本発明の構成および作用を詳細に説明
する。なお本発明の実施例は、簡単のため符号化率R=
1/2のたたみ込み符号を対象として述べる。
(Structure and operation of the invention) The structure and operation of the present invention will be explained in detail below using specific examples. Note that in the embodiment of the present invention, for simplicity, the encoding rate R=
The following describes a 1/2 convolutional code.

(実施例1) 第1図は本発明を用いて構成した最小ビット誤り復号器
である。図において受信された軟判定受信系列100は
、−旦受信系列RAMll0中に格納される。この格納
データは、必要に応じて読み出され、ROMアドレス演
算部142を通じてメトリック用ROMIIIの適当な
番地がアクセスされる。メトリック用ROM111の中
には枝メトリックの値か格納されており、受信データと
、演算対象となるトレリス上の枝に応じた適切なメトリ
ック値かマルチプレクサ130を通じて乗算器に与えら
れる。
(Embodiment 1) FIG. 1 shows a minimum bit error decoder constructed using the present invention. In the figure, the received soft-decision reception sequence 100 is stored in the reception sequence RAMll0. This stored data is read out as necessary, and an appropriate address of the metric ROM III is accessed through the ROM address calculation unit 142. The value of a branch metric is stored in the metric ROM 111, and an appropriate metric value corresponding to the received data and the branch on the trellis to be calculated is given to the multiplier through the multiplexer 130.

復号過程における途中の計算結果は、全て復号用演算R
AM112中に格納されている。復号を進める際には、
同RAM112よりデータを読み出し、前述の枝メトリ
ツク値との積和演算を乗算器140、加減算器141.
アキュムレータ122によって行う。
All intermediate calculation results in the decoding process are calculated using the decoding operation R.
It is stored in AM112. When proceeding with decryption,
Data is read from the RAM 112 and multiplied and summed with the aforementioned branch metric values by a multiplier 140, an adder/subtractor 141.
This is done by the accumulator 122.

アキュムレータ122に残された演算結果は復号用演算
RAM112に格納されるか、あるいは必要に応じて後
に続く積和演算に利用される。またアキュムレータ12
2の内容の正負に応じてステータスレジスタ123の内
部のフラグが変化する。アキュムレータ122中に最終
演算結果が得られた時には、ステータスレジスタ123
のフラグ内容が復号結果格納RAM113中に書き込ま
れる。受信符号語に対する復号か全て終了したならばこ
の格納データが読み出され、復号データ101が得られ
る。
The calculation results left in the accumulator 122 are stored in the decoding calculation RAM 112, or are used in subsequent product-sum calculations as necessary. Also, accumulator 12
The internal flag of the status register 123 changes depending on whether the contents of 2 are positive or negative. When the final operation result is obtained in the accumulator 122, the status register 123
The contents of the flag are written into the decoding result storage RAM 113. When all the decoding for the received codeword is completed, this stored data is read out and decoded data 101 is obtained.

次に本復号器を用いて実際に復号か行われる過程が本発
明の中心であるので、以下これについて詳述する。
Next, since the process of actually performing decoding using this decoder is the center of the present invention, this will be described in detail below.

ここで復号対象とするたたみ込み符号は、符号化率R=
1/2  拘束長v=2の非組織符号とし、符号語長は
L=6技とする。但し、この中には符号語を終端するた
めの2枝か含まれている。第2図にたたみ込み符号器の
結線図を、第3図にはこの符号器によって構成されるト
レリス線図を示す。
Here, the convolutional code to be decoded has a coding rate R=
1/2 An unsystematic code with a constraint length v=2 is used, and the code word length is L=6 techniques. However, this includes two branches for terminating the code word. FIG. 2 shows a wiring diagram of the convolutional encoder, and FIG. 3 shows a trellis diagram constructed by this encoder.

第3図において、状態から状態への遷移は一定時刻毎に
生じるとし、時刻tの遷移が生じる直前の状態の持つ時
刻を状態時刻を−と呼ぶこととする。
In FIG. 3, it is assumed that transitions from state to state occur at regular time intervals, and the time of the state immediately before the transition at time t occurs is referred to as state time -.

各状態は符号器のシフトレジスタの状態に対応しており
、00.01110.11の4状態を有する。枝上には
符号化された枝コードが示されている。また図中実線の
枝は情報ビット入力が0、点線は情報ビット入力がlで
あることを示している。
Each state corresponds to a shift register state of the encoder, and has four states: 00.01110.11. An encoded branch code is shown on the branch. Further, the solid line branch in the figure indicates that the information bit input is 0, and the dotted line indicates that the information bit input is l.

表り、l復号用演算RAM112の初期状態状態時刻 
0 − − 一 表1.1は、復号を行うための最小ビット誤り復号用演
算RAM112の構成および初期状態の内容を示してい
る。同RAMは2v行L+2列の2次元配列の構造を持
ち、i行j列のRAMの内容をr(i。
Initial state state time of the calculation RAM 112 for decoding
Table 1.1 shows the configuration and initial state of the minimum bit error decoding arithmetic RAM 112 for decoding. The RAM has a two-dimensional array structure with 2v rows and L+2 columns, and the contents of the RAM in the i row and j column are r(i.

j)で示す。本発明の例ではV=2  L=6であるの
で0≦i≦3.0≦j≦7となる。またi=0.1.2
.3 に対応する符号器の状態は0O1lO101、1
1とする。
Indicated by j). In the example of the present invention, since V=2 and L=6, 0≦i≦3.0≦j≦7. Also i=0.1.2
.. The encoder state corresponding to 3 is 0O1lO101,1
Set to 1.

復号は大別して、前方繰りかえし演算と後方繰りかえし
演算に分けられる。
Decoding can be broadly divided into forward iterative operations and backward iterative operations.

前方繰りかえし演算においては、まず演算RAM112
の内容をゼロクリアした後、初期状態ての状態時刻0−
の状態00の確率(1)をr (0,0)に書き込む。
In the forward iterative calculation, first the calculation RAM 112
After clearing the contents to zero, the state time in the initial state is 0-
Write the probability (1) of state 00 in r (0,0).

これが表1.1に示された状態である。ここで表の添字
jは状態時刻j−に対応している。
This is the situation shown in Table 1.1. Here, the subscript j in the table corresponds to state time j-.

続けて1−〜5−にわたる状態時刻j−の状態の確率P
(x+−、zo’−’)を以下のように1≦j≦5まで
の繰りかえし演算で求め、これをr’ (XI−+j)
の値とする。
Then, the probability P of the state at state time j- over 1- to 5-
(x+-, zo'-') is calculated as follows until 1≦j≦5, and this is calculated as r' (XI-+j)
be the value of

状態時刻j− 状態00 : r(0,j)=r’(0,j−1)”λ
+−+(00)+ r (2,j−1)” λ+−+(
11)状態10 : r(1,D=r(0,j−1)”
λ+−+(0)+r(2,j−1)”λr −1(oo
)状態01 : r(2,j)=r(1,j−1)” 
λ、−+(Of)+r(3,j−1)”λ+−1(10
)状態11 : r(3,D=r(1,j−1)”λ+
−+(10)+ r (3,j−1)” λt−+(0
1)ここで λr (oo)とは時刻jにおける枝コー
ド00の枝に対応する枝メトリックを示している。以上
のステップは、復号器中において次のように行われる。
State time j- State 00: r(0,j)=r'(0,j-1)"λ
+−+(00)+ r (2,j−1)” λ+−+(
11) State 10: r(1, D=r(0, j-1)"
λ+-+(0)+r(2,j-1)"λr-1(oo
) State 01: r(2,j)=r(1,j-1)"
λ, −+(Of)+r(3,j−1)”λ+−1(10
) State 11: r(3,D=r(1,j-1)"λ+
−+(10)+ r (3,j−1)” λt−+(0
1) Here, λr (oo) indicates the branch metric corresponding to the branch with branch code 00 at time j. The above steps are performed in the decoder as follows.

第1にアキュムレータ122の内容をクリアする。First, the contents of accumulator 122 are cleared.

続いて時刻j−1における受信語を受信系列格納RAM
ll0より取り出し、ROMアドレス演算部142内に
ラッチしておく。マルチプレクサ130はROMIII
からの入力を選択するようにしておく。
Next, the received word at time j-1 is stored in the received sequence storage RAM.
It is taken out from ll0 and latched in the ROM address calculation unit 142. Multiplexer 130 is ROMIII
Select the input from .

第2に以下の様にして状態00から状態11に至るまで
の状態時刻j−に対するrの更新を行う。
Second, r is updated for state time j- from state 00 to state 11 as follows.

状態00を例にとれば、まずRAM112からr’ (
0゜j−1)を取り出しレジスタ121  にロードす
る。
Taking state 00 as an example, first r' (
0°j-1) is loaded into the fetch register 121.

同時にROMアドレス演算部142を通じメトリック用
ROMIIIよりλJ −1(00)を求める。次のタ
イミングで乗算器140は両者間の乗算を行い、その結
果r(0,j−1)” λ+−+(00)かアキュムレ
ータ122に残る。次のタイミングでRAM112より
r (2,j−1)を取り出し同じくレジスタ121に
ロードする。
At the same time, λJ -1 (00) is obtained from the metric ROM III through the ROM address calculation unit 142. At the next timing, the multiplier 140 multiplies the two, and as a result, r(0,j-1)" λ+-+(00) remains in the accumulator 122. At the next timing, r(2,j- 1) and similarly loads it into the register 121.

このとき、同時にROMアドレス演算部142を通じメ
トリック用ROMIIIよりλ+−+(11)かロード
される。次のタイミングでr’ (2,j−1)” λ
+−+(11)か乗算器140により求められ、最終的
に加減算器141で加算か行われてアキュムレータ12
2内にr(0,J  1)”  λ+−+ (00)十
r  (2,J  1)”  λ4−1(11)の値が
残る。最後にこの計算値かRAM112内のr’ (0
,j)に格納され、アキュムレータ122はクリアされ
る。この動作を全ての状態に対して行うことにより、時
刻jにおける受信語に対する演算か終了したので、引続
き時刻j+1に対応する受信語を受信系列格納RAMl
l0より取り出し、同様の動作を繰り返す。
At this time, λ+-+(11) is simultaneously loaded from the metric ROM III through the ROM address calculation unit 142. At the next timing r' (2, j-1)" λ
+−+(11) is calculated by the multiplier 140, and finally added by the adder/subtractor 141 and stored in the accumulator 12.
2, the value r(0, J 1)" λ+-+ (00) + r (2, J 1)" λ4-1 (11) remains. Finally, this calculated value or r' (0
, j), and the accumulator 122 is cleared. By performing this operation for all states, the calculation for the received word at time j has been completed, and the received word corresponding to time j+1 is then stored in the received sequence storage RAM l.
Take it out from l0 and repeat the same operation.

状態時刻 0− 1− 2− 3− 4− 5− 6前
方繰りかえし演算が終わった時点でのRAMII2の内
容を表1.2に示す。図中斜線を引いた部分か計算が行
われた部分である。なお斜線を引いた部分て0が書き込
まれているのは演算結果が必ず0であることを示してい
る。このことは特に例外処理を行うことなく初期処理か
行われたことを示している。また特別な終端処理も特に
行われていないか、後に示すように後方繰りかえし演算
終了時には自動的に等価な処理が行われることになる。
State time 0- 1- 2- 3- 4- 5- 6 Table 1.2 shows the contents of RAM II2 at the time when the forward repeat operation is completed. The shaded area in the figure is the area where calculations were performed. The fact that 0 is written in the shaded area indicates that the calculation result is always 0. This indicates that initial processing was performed without any special exception handling. Also, no special termination processing is performed, or as shown later, equivalent processing is automatically performed at the end of the backward iterative calculation.

0−  1−  2−  3−  4−  5−  6
状態時刻 続いて後方演算を行う。まず演算RAM112において
I’ (0,7) =1とおいて後方探索の初期値をセ
ットする。表1.3にこの時点のRAM112の状態を
示す。0≦j≦5までは前方繰りかえし演算で得られた
結果が格納されている。なお、後方繰りかえし演算にお
いては状態時刻j−に対する状態X、−の演算結果は r’  (x+ 、 J+1)  に格納される。
0- 1- 2- 3- 4- 5- 6
The state time is followed by backward calculation. First, an initial value for backward search is set in the calculation RAM 112 by setting I' (0,7) =1. Table 1.3 shows the state of the RAM 112 at this point. Up to 0≦j≦5, the results obtained by the forward iterative calculation are stored. In addition, in the backward iterative calculation, the calculation result of state X, - for state time j- is stored in r' (x+, J+1).

続けて、5−〜1−にわたる状態時刻j−の状態の確率
P (z+51 x+−)を以下のように計算した後、
前に求めたP (XI−+ Zo’−’)との積をとり
P(x+。
Next, after calculating the probability P (z+51 x+-) of the state at state time j- over 5- to 1- as follows,
Multiply it with the previously calculated P (XI-+ Zo'-') and get P(x+).

2)を求める。Find 2).

状態時刻j− 状態 00: r’(0,j+1)=r(0,j+2)
” λj(00)十r(1,j+2)” λj(11) 状態 10: r’(1,j+1)=r(2,j+2)
” λj(01)+ r (3,j+2)”  λ j
(10)状態 01 : r (2,j+1)= r 
(0,j+2)” λj(11)十r’ (1,j+2
)”λj(OO)状態 11 : r’(3,j+1)
=r’(2,j+2)”λj(10)+r(3,j+2
)” λj(01) ある状態時刻j−に対して実際に復号器内で演算か行わ
れる過程は前方繰りかえし演算と全く同様であるので省
略する。J−における上記繰りかえし演算が終了した時
点で、1”(XI−+ j)には状態時刻j−の状態X
、−の前方繰りかえし演算結果、r(x+−1J+1)
には同状態時刻の状態Xの後方繰りかえし演算結果か格
納されている。r’ (XI−+ J)”r(x+−、
j+1)を計算することによりP (XI−+ Z)を
得る。この後、時刻j−1の情報ビットが0であるよう
な枝が繋がっている状態P (L−、z)の和、および
情報ビットが1であるような枝が繋がっているP(x+
−、z)の和をそれぞれ求め、両者の大小を比較し、確
率の大なる方を選択することにより時刻j−1における
復号を行うことができる。この動作を時刻0まで繰りか
えせば全ての受信語に対する復号が完了する。ここで後
方繰りかえし演算において、状態時刻5−ではr (2
,6)、 r (3゜6)が0となり、この結果P (
xs =2. z)、P(xs=3. z)がそれぞれ
0となる。このことは特に例外処理を行うことなく終端
処理が行われたことを示している。また同様にP (x
+ =2. Z) 、P (x+=3. z)もそれぞ
れ0となり、初期処理も完了している。
State time j- State 00: r' (0, j+1) = r (0, j+2)
” λj (00) + r (1, j + 2)” λ j (11) State 10: r' (1, j + 1) = r (2, j + 2)
” λj (01) + r (3, j + 2)” λ j
(10) State 01: r (2, j+1) = r
(0, j+2)" λj (11) 10 r' (1, j+2
)”λj(OO) state 11: r'(3,j+1)
=r'(2,j+2)"λj(10)+r(3,j+2
)" λj (01) The process of actually performing an operation in the decoder for a certain state time j- is exactly the same as the forward iterative operation, so it will be omitted. When the above-mentioned iterative operation at J- is completed, 1” (XI-+ j) is state X at state time j-
, - forward iterative operation result, r(x+-1J+1)
stores the backward iterated calculation result of state X at the same state time. r' (XI-+ J)"r(x+-,
P (XI-+ Z) is obtained by calculating j+1). After this, the sum of states P (L-, z) in which branches such that the information bit at time j-1 is 0 is connected, and P(x+
−, z), compare the magnitudes of both, and select the one with greater probability to perform decoding at time j−1. By repeating this operation until time 0, decoding of all received words is completed. Here, in the backward iterative operation, at state time 5-, r (2
, 6), r (3°6) becomes 0, and as a result P (
xs=2. z) and P(xs=3.z) are each 0. This indicates that termination processing was performed without any special exception handling. Similarly, P (x
+=2. Z) and P (x+=3. z) also become 0, and the initial processing is also completed.

本実施例の符号器を用いる場合には第3図のトレリス線
図より明らかなように状態00.01には情報ビット−
〇の枝の先端が、状態10.11には情報ビット−1の
枝の先端が対応している。すなわちRAM112におい
てi= 0.2が情報ビット=0の枝の先端に、i=1
.3が情報ビット=1の枝の先端に対応する。これらよ
り復号の実際例は以下のように行われる。
When using the encoder of this embodiment, as is clear from the trellis diagram of FIG.
The tip of the branch of 0 corresponds to state 10.11, and the tip of the branch of information bit -1 corresponds to state 10.11. That is, in the RAM 112, i=0.2 is at the tip of the branch with information bit=0, and i=1
.. 3 corresponds to the tip of the branch with information bit=1. A practical example of decoding is performed as follows.

まずアキュムレータ122をクリアし、マルチプレクサ
130をRAM112に選択しておく。RAM112よ
りI” (0,j+1)をレジスタ121にロードする
。続イテ同じ< RAM112よりr’(0,3)  
を読み出し、レジスタ121との間で乗算を行い、その
結果をアキュムレータ122に格納する。次にRAM1
12より(1,j+1)をレジスタにロードする。続い
て同じくRAM112よりr’(1,j)を読み出し、
レジスタ121との間で乗算を行うが、この結果は情報
ビット■に対応する状態に対する結果であるのて、加減
算器141  によりアキュムレータ122から乗算結
果を減じる演算を行う。さらに次の1==2の状態に対
しては乗算を上記と同様に実施した後、加減算器141
によりアキュムレータ122に乗算結果を加える。最後
にi=3の状態に対して加減算器141を用いて減算処
理を行う。これらの演算を行った結果は、P (uk=
Q、 z)  P (uh =1. z)となっている
。すなわちこれは、時刻jにおける情報ビット=0の尤
度から情報ビット=1の尤度を減じたものであり、この
値が正ならば0を、負ならばlを、0ならばランダムに
Oまたは1を復号結果とする。この場合、アキュムレー
タ122の内容の正負の情報はステータスレジスタ12
3に格納されているので、これを復号結果格納RAM1
13に書き込む。以上の演算処理により時刻j−1にお
ける復号が完了する。この時点でj列の前方繰りかえし
演算結果は不要となるので、これを時刻j−2の後方繰
りかえし演算用の記憶領域として使用する。この演算、
記憶領域の使用を繰りかえし行い、時刻0に至るまでの
復号か完了したならば、最終的に端末からの要求により
復号結果格納RAM113の情報を復号データ101と
して出力する。
First, the accumulator 122 is cleared and the multiplexer 130 is selected as the RAM 112. Load I" (0, j+1) from RAM 112 into register 121. Same as next item <r' (0, 3) from RAM 112
is read out, multiplied with the register 121, and the result is stored in the accumulator 122. Next, RAM1
Load (1, j+1) into the register from 12. Next, read r'(1,j) from the RAM 112,
Multiplication is performed with the register 121, but since this result is a result for the state corresponding to the information bit (2), an operation is performed to subtract the multiplication result from the accumulator 122 by the adder/subtractor 141. Furthermore, for the next state of 1==2, after performing multiplication in the same manner as above, the adder/subtractor 141
The multiplication result is added to the accumulator 122 by . Finally, subtraction processing is performed using the adder/subtractor 141 for the state of i=3. The result of performing these operations is P (uk=
Q, z) P (uh = 1. z). In other words, this is the likelihood of information bit = 1 subtracted from the likelihood of information bit = 0 at time j, and if this value is positive, it is 0, if it is negative, it is l, and if it is 0, it is randomly Or 1 is the decryption result. In this case, the positive and negative information of the contents of the accumulator 122 is stored in the status register 12.
3, so this is stored in the decryption result storage RAM 1.
Write to 13. The above calculation process completes the decoding at time j-1. At this point, the forward iterative calculation result for column j is no longer needed, so it is used as a storage area for the backward iterative calculation at time j-2. This operation,
The storage area is repeatedly used, and when decoding up to time 0 is completed, information in the decoding result storage RAM 113 is finally output as decoded data 101 in response to a request from the terminal.

なお本例では、メモリの最初と最後の列に固定した初期
値を書き込んでいるか、オペレーションの工夫によりこ
の2列は省略か可能である。この時には2v行り列の2
次元配列の構造を持ったメモリで本発明が実施できる。
In this example, fixed initial values are written in the first and last columns of the memory, or these two columns can be omitted by improving the operation. In this case, 2 of the 2v matrix
The present invention can be implemented with a memory having a dimensional array structure.

(実施例2) 第4図は本発明に基づく第2の実施例を示した図である
。第1図と異なる点は、受信語を格納するRAM410
からのMSBを除く軟判定重みデータかマルチプレクサ
431を通じて加減算器441に接続されていることと
、アキュムレータ422の演算結果がレジスタ424に
格納されることである。このレジスタ424はROMア
ドレス演算部422へ与える値を保持する機能を持つ。
(Embodiment 2) FIG. 4 is a diagram showing a second embodiment based on the present invention. The difference from FIG. 1 is that the RAM 410 stores the received word.
The soft-decision weight data excluding the MSB is connected to the adder/subtractor 441 through the multiplexer 431, and the calculation result of the accumulator 422 is stored in the register 424. This register 424 has a function of holding a value given to the ROM address calculation section 422.

またメトリックROM411中には異なる伝送路の状態
にして最適化されたメトリックテーブルか複数個格納さ
れている。このテーブルの1例を示したのが表2.1で
ある。
Further, the metric ROM 411 stores a plurality of metric tables optimized for different transmission path conditions. Table 2.1 shows an example of this table.

表2.1 (E、AO=0.OdB用RAM) 表2.1はE、/N、(伝送路における1ビツトあたり
のエネルギ/片側雑音電力密度) =0.0dBの伝送
路を想定して作られた8値軟判定用のメトリックテーブ
ルROMの内容を示している。表2.1においてアドレ
スは8ビツトであり、うち上位2ビツトが復号器か想定
するトレリス枝上の枝コード、下位3ビツト×2かそれ
ぞれの技コードに対応する8値軟判定受信データである
Table 2.1 (RAM for E, AO = 0.OdB) Table 2.1 assumes a transmission path where E, /N, (energy per 1 bit in the transmission path/one-sided noise power density) = 0.0 dB. This shows the contents of a metric table ROM for 8-value soft decision. In Table 2.1, the address is 8 bits, of which the upper 2 bits are the decoder or the branch code on the assumed trellis branch, and the lower 3 bits are the 8-value soft decision reception data corresponding to each technique code. .

表2.2 (E 、/N o = o、 odB)軟判定受信領域 0  (011) ]、   (010) 2  (001) 3  (000) 4  (100) 5  (101) 6  (110) 7  (111) 領域確率 0.4658 0.1948 0.1591 0.1017 0.0509 0.0199 0.0061 0.0017 例えば枝コードか00で軟判定受信ビットl、2かそれ
ぞれ000.001のとき、表2.2の領域遷移確率を
参照して枝メトリツク値は 0、1017X 0.1591= 0.01618とな
る。
Table 2.2 (E, /N o = o, odB) Soft decision reception area 0 (011) ], (010) 2 (001) 3 (000) 4 (100) 5 (101) 6 (110) 7 ( 111) Region probability 0.4658 0.1948 0.1591 0.1017 0.0509 0.0199 0.0061 0.0017 For example, when the branch code is 00 and the soft decision reception bits l and 2 are each 000.001, the table Referring to the region transition probability in Section 2.2, the branch metric value is 0, 1017X 0.1591=0.01618.

この値が本来の枝メトリツク値である。This value is the original branch metric value.

しかしながら、このような小さな値を枝メトリツク値と
して採用し、乗算の実行を繰りかえすと計算かアンダー
フローする可能性が高い。そこで本来の枝メトリック値
全てにある一定の値をあらかじめ乗算しておいて復号を
行うと、アンダーフローおよびオーバーフローの問題を
解決することができる。そこで領域確率そのものを確率
変数とみてその平均をとると、この場合0.2936が
得られる。従って受信ビット1ビツトあたりメトリック
値を0.2936− ’ = 3.4060倍あればメ
トリックの平均増分は1となり発散を抑制できる。ここ
では受信2ビツトの規格化のため本来のメトリック値を
3゜40602 =11.6008倍した値を枝メトリ
ツクデータとして用いる。ROM411中には各種のE
、/N、値に応じたこのような枝メトリツクテーブルが
複数用意される。
However, if such a small value is adopted as a branch metric value and the multiplication is repeated, there is a high possibility that the calculation will underflow. Therefore, if all original branch metric values are multiplied by a certain value in advance before decoding, the underflow and overflow problems can be solved. Therefore, if the area probability itself is regarded as a random variable and the average is taken, 0.2936 is obtained in this case. Therefore, if the metric value per received bit is multiplied by 0.2936-' = 3.4060, the average metric increment will be 1, and divergence can be suppressed. Here, in order to normalize the received 2 bits, a value obtained by multiplying the original metric value by 3°40602 = 11.6008 is used as branch metric data. There are various E in ROM411.
, /N, a plurality of such branch metric tables are prepared according to the values.

次に第4図に基づき動作の概要について述べる。Next, an outline of the operation will be described based on FIG.

まず受信された軟判定受信系列400は一旦受信語格納
RAM410中に格納される。初期値としてマルチプレ
クサ431はRAM410側に接続されており、アキュ
ムレータ422の内容は0にリセットされている。
First, the received soft decision reception sequence 400 is temporarily stored in the received word storage RAM 410. As an initial value, the multiplexer 431 is connected to the RAM 410 side, and the contents of the accumulator 422 are reset to 0.

受信系列格納RAM410中に格納された軟判定データ
のうちMSBを除いた受信データ重み情報は順にマルチ
プレクサ431を通じて加減算器441に入力され、ア
キュムレータ422の内容と加算され、その結果がアキ
ュムレータ422に残る。この演算を受信したデータ全
てについて実施すれば、受信給金てにわたる受信軟判定
重みの総和がアキュムレータ422に得られる。これを
レジスタ424に格納する。軟判定の重み分布は、伝送
路の雑音状態と密接に関連しているため、レジスタ42
4の値から伝送路の状態を推定することが可能である。
The received data weight information excluding the MSB from the soft decision data stored in the received sequence storage RAM 410 is sequentially input to the adder/subtractor 441 through the multiplexer 431 and added to the contents of the accumulator 422, and the result remains in the accumulator 422. If this calculation is performed on all the received data, the sum of the reception soft decision weights over the reception amount will be obtained in the accumulator 422. This is stored in register 424. The soft decision weight distribution is closely related to the noise state of the transmission path, so the register 42
It is possible to estimate the state of the transmission path from the value of 4.

ROMアドレス演算部442は、この情報を受けて伝送
路の雑音状態に最も整合したメトリックテーブルを複数
の伝送路用に最適化されたグループの中から選び、その
ROMアドレスをROM411に与える。
Upon receiving this information, the ROM address calculation unit 442 selects the metric table that best matches the noise condition of the transmission path from among the groups optimized for a plurality of transmission paths, and provides the ROM address to the ROM 411 .

この後マルチプレクサ431は乗算器440側に接続さ
れる。またレジスタ424の内容は受信系列全体が復号
されるまでの間保持される。
After this, the multiplexer 431 is connected to the multiplier 440 side. Further, the contents of the register 424 are held until the entire received sequence is decoded.

以降最小ビット誤り復号アルゴリズムに基づく復号動作
は実施例1の場合と同様である。なお本実施例では、受
信軟判定重みの総和より伝送路状態を推定して、その後
、その伝送路に最適化されたメトリックテーブルを選ぶ
手段を述べたか、メトリックテーブル−つしか存在せず
、規格化を各符号語の復号毎に行う場合には、受信軟判
定重みの分布を求め、この分布より最適な規格化の値を
決定して復号を行えば、効果的にオーバーフローおよび
アンダフローを防止することができる。
Thereafter, the decoding operation based on the minimum bit error decoding algorithm is the same as in the first embodiment. In addition, in this embodiment, the transmission path state is estimated from the sum of reception soft decision weights, and then a metric table optimized for the transmission path is selected. When decoding is performed every time each codeword is decoded, overflow and underflow can be effectively prevented by finding the distribution of reception soft decision weights, determining the optimal normalization value from this distribution, and performing decoding. can do.

(実施例3) 第5図は最小ビット誤り復号アルゴリズムを用いて、復
号情報ビットをそれぞれ0.1とした時の確度情報を与
える復号器の構成を示したものである。同図の動作につ
いて説明する。
(Third Embodiment) FIG. 5 shows the configuration of a decoder that uses a minimum bit error decoding algorithm and provides accuracy information when each decoded information bit is set to 0.1. The operation shown in the figure will be explained.

前方繰りかえし演算および後方繰りかえし演算によって
状態時刻j−ての状態x1−に対する前方繰りかえし演
算結果I’(x+−、j)と同状態時刻での後方繰りか
えし演算結果r’(x+ 、 j+1)か得られるまで
の過程は実施例1と同一である。全てのXl−について
上記のr’ (XI−+ J)とr’ (x+−2J+
1)か求められたならば、時刻j−tの情報ビットが0
であるような枝が繋がっている状態P(x+−、z)の
和を求め、P(u+−+ =0. z)としてこの値を
確度情報納RAM513に保存する。全く同様にして、
P(IJ+−+=1.z)をRAM513に保存する。
The forward iterative operation and the backward iterative operation yield the forward iterative operation result I'(x+-, j) for state x1- at state time j- and the backward iterative operation result r'(x+, j+1) at the same state time. The steps up to this point are the same as in Example 1. For all Xl-, the above r' (XI-+ J) and r' (x+-2J+
1), the information bit at time j−t is 0.
The sum of states P(x+-, z) in which branches such that In exactly the same way,
P(IJ+-+=1.z) is stored in the RAM 513.

このための積和乗算が行われる過程は実施例1と同一で
ある。全ての時刻にわたり確度情報か計算され、RAM
513に格納されたならばこの値は確度情報501とし
て端末側にわたされる。
The process of performing product-sum multiplication for this purpose is the same as in the first embodiment. Accuracy information is calculated over all times and stored in RAM.
513, this value is passed to the terminal side as accuracy information 501.

(実施例4) 表3.1と3.2は本発明に基づき、第5図の回路構成
を用いて、復号中にuk=0とu、=1をとる確率の和
がlとなる規格化か自動的に行われるような第4の実施
例を示したものである。
(Example 4) Tables 3.1 and 3.2 are based on the present invention, and using the circuit configuration shown in FIG. This figure shows a fourth embodiment in which the conversion is automatically performed.

状態時刻 〇− − − 0″′ − 一 −6 状態時刻 以下実施例3と異なる点について述へる。本実施例では
前方繰りかえし演算をj=6のレベル、あるいは少なく
ともr (0,6)の値か求まるまで行う。j=6に対
する前方繰りかえし演算が終了した時点のRAM112
の状態を表3.1に示す。r(0,6)にはP (z)
の値が格納されている。
State time〇 − − − 0″′ − 1-6 State time The following points will be described about the differences from the third embodiment.In this embodiment, the forward iterative operation is performed at the level of j=6, or at least at the level of r (0,6). Repeat until the value is found.RAM 112 at the time when the forward iterative operation for j=6 is completed
The conditions are shown in Table 3.1. P (z) for r(0,6)
The value of is stored.

次にP (z)から、除算を行うことにより1/P(z
)の値を求め、r’(0,7)に格納する。r’(0,
7)を初期値として後方繰り返し演算を開始する。この
時点のRAM112の状態を示したのが表3.2である
j=6の値は不要なので、この領域を状態時刻5−に対
する作業領域とし、実施例3と同様に後方繰りかえし演
算を実行する。これにより時刻jの復号結果として得ら
れる確度情報はP(u、 、 z)/P(z)=P(u
+lz)となる。これはu j=1である確率と、0で
ある確率の和が常に1となることを意味する。
Next, from P (z), by performing division, we get 1/P (z
) and store it in r'(0,7). r'(0,
7) is used as the initial value and the backward iterative calculation is started. Table 3.2 shows the state of the RAM 112 at this point. Since the value of j = 6 is unnecessary, this area is used as the work area for state time 5-, and the backward iterative calculation is performed as in Example 3. . As a result, the accuracy information obtained as the decoding result at time j is P(u, , z)/P(z)=P(u
+lz). This means that the sum of the probability that u j = 1 and the probability that u j = 0 is always 1.

従って特に規格化等を施すことなく、直ちに当該ビット
の信頼度を評価することか可能である。また本演算処理
によってトレリスの初期処理、終端処理に影響が及ぶこ
とはない。
Therefore, it is possible to immediately evaluate the reliability of the bit without special standardization or the like. Furthermore, this calculation process does not affect the initial processing and terminal processing of the trellis.

(応用例) 次に本発明の応用例について述べる。実施例1゜2は最
小ビット誤り復号アルゴリズムに基づいた、・情報ビッ
トを決定する復号器を、実施例3は同アルゴリズムを用
いて情報ビットを決定したとき、その確度情報を与える
復号器を示した。この2者は容易に組み合せることがで
きる。その際には、情報ビットを決定した上にどの程度
当該ビットに関する確度が高いかの情報を含んだ復号器
を構成することができる。また本実施例では簡単のため
、符号化率R= 1/2の時不変たたみ込み符号による
実現例のみを示したか、他の符号化率を有するたたみ込
み符号や、時変のたたみ込み符号、さらにはパンクチャ
ド符号に対しても本発明は全く同様に適用できる他、線
型ブロック符号に値しても本発明の適用は容易である。
(Application Example) Next, an application example of the present invention will be described. Example 1.2 shows a decoder that determines information bits based on a minimum bit error decoding algorithm, and Example 3 shows a decoder that provides accuracy information when information bits are determined using the same algorithm. Ta. The two can be easily combined. In this case, it is possible to configure a decoder that not only determines the information bit but also includes information on how high the accuracy is regarding the bit. In addition, for the sake of simplicity in this embodiment, only an example of implementation using a time-invariant convolutional code with a coding rate R = 1/2 is shown, or a convolutional code with another coding rate, a time-varying convolutional code, Furthermore, the present invention can be applied to punctured codes in exactly the same way, and the present invention can also be easily applied to linear block codes.

このように本発明は、符号語が終端されていること以外
にはほとんど符号に対する拘束が存在しない。従って、
既に存在している通信システムに対しても、システムの
符号仕様、送信側の装置に何ら変更を行うことなく、受
信側の装置変更のみて本発明の実現か可能であるので、
本発明は極めて容易、円滑に既システムに導入できる。
In this way, in the present invention, there are almost no restrictions on the code other than that the code word is terminated. Therefore,
Even in existing communication systems, the present invention can be implemented by simply changing the receiving side equipment without making any changes to the code specifications of the system or the transmitting side equipment.
The present invention can be very easily and smoothly introduced into existing systems.

また、本発明による誤り訂正復号方式は、同一発明者か
同日出願している「二重復号方式」の最小ビット誤り復
号器に適用すれば極めて有効である。
Furthermore, the error correction decoding method according to the present invention is extremely effective when applied to a minimum bit error decoder of the "double decoding method" which was filed by the same inventor on the same day.

(発明の効果) 本発明方式を用いると、受信系列の全ての時刻に対して
同一のアルゴリズムを繰りかえし行うだけで復号が行え
るため、ハードウェア実現が容易になる。また本発明に
よる復号方式は、本来なら前方繰りかえし演算、後方繰
りかえし演算に別々のメモリを用いる必要があったもの
が一個のメモリにより復号を行うことができるのでメモ
リの削減効果が大きい。また復号に用いるメトリックテ
ーブルの規格化を行うことにより、実数積和演算に伴う
レジスタのオーバーフローやアンダーフローの発生を抑
えることができる。さらに本発明により、最小ビット誤
り復号アルゴリズムを実施する上で、伝送路の状態に最
も合致したメトリックのパラメータを選び出すことかて
きるという効果を持つ。さらに本発明では全復号ステッ
プ中に除算を1回加えるだけで、任意の時刻iにおける
復号結果の信頼度情報P(u、 l z)を正しく得ら
れる。
(Effects of the Invention) When the method of the present invention is used, decoding can be performed by simply repeating the same algorithm for all times of the received sequence, which facilitates hardware implementation. Further, the decoding method according to the present invention has a large memory saving effect because decoding can be performed using a single memory, whereas separate memories would normally have to be used for forward iterative calculations and backward iterative calculations. Furthermore, by standardizing the metric table used for decoding, it is possible to suppress the occurrence of register overflows and underflows associated with real number product-sum operations. Furthermore, the present invention has the effect that it is possible to select the metric parameters that best match the state of the transmission path when implementing the minimum bit error decoding algorithm. Furthermore, in the present invention, reliability information P(u, l z) of the decoding result at any time i can be correctly obtained by adding division only once during all decoding steps.

従ってこの値に基づき消失判定や軟判定情報を後段の復
号器や端末に容易に渡すことかできる。本発明により実
現される復号器は、与えられた受信系列の下ではビット
誤り率を最も小さくする復号器であることが文献(1)
により明らかにされている。このような復号器の実現に
より通信の信頼性を向上させる効果は大きいと考えられ
る。
Therefore, erasure determination and soft decision information can be easily passed to subsequent decoders and terminals based on this value. Document (1) shows that the decoder realized by the present invention is a decoder that minimizes the bit error rate under a given received sequence.
clarified by. The implementation of such a decoder is considered to have a great effect on improving communication reliability.

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

第1図は本発明による第1の実施例を示すブロック図、
第2図は拘束長■=2.符号化率R= 1/またたみ込
み非組織符号器の例を示すブロック図、第3図は第2図
の符号器によって構成されるトレリス線図、第4図は本
発明の第2の実施例を示すブロック図、第5図は本発明
による第3の実施例を示すブロック図である。 100・・・軟判定受信系列、 101・・・復号データ出力、 110・・・受信系列格納RAM、 ill・・・メトリック用ROM。 112・・・復号用演算RAM、 113・・・復号結果格納RAM、 120・・・アドレス用補助レジスタ、121・・・乗
算器入力用レジスタ、 122・・・アキュムレータ、 123・・・ステータスレジスタ 130・・・マルチプレクサ、 140・・・乗算器、 141・・・加減算器、 142・・・ROMアドレス演算部、 200・・・情報ビット入力端子、 210・・・符号化出力端子1. 211・・・符号化出力端子2. 213・・・1タイムスロツト遅延素子、214・・・
1タイムスロツト遅延素子、15 16 00 01 10 11 12 13 20 21 22 23 24 30 31 40 41 42 50 51 ・・・モジュロ2加算回路、 ・・・モジュロ2加算回路、 ・・・軟判定受信系列、 ・・・復号データ出力、 ・・・受信系列格納RAM、 ・・・メトリック用ROM。 ・・・復号用演算RAM、 ・・・復号結果格納RAM、 ・・・アドレス用補助レジスタ、 ・・・乗算器入力用レジスタ、 ・・・アキュムレータ、 ・・・ステータスレジスタ、 ・・・レジスタ、 ・・・マルチプレクサ、 ・・・マルチプレクサ、 ・・・乗算器、 ・・・加減算器、 ・・・ROMアドレス演算部、 ・・・軟判定重み情報(MSBを除く)、・・・軟判定
情報(MSBを含む)、 00 01 10 11 12 13 20 21 22 30 40 41 42 ・・・軟判定受信系列、 ・・・確度情報系列、 ・・・受信系列格納RAM、 ・・・メトリック 用ROM。 ・・・復号用演算RAM、 ・・・確度情報格納RAM、 ・・・アドレス用補助レジスタ、 ・・・乗算器入力用レジスタ、 ・・・アキュムレータ、 ・・・マルチプレクサ、 ・・・乗算器、 ・・・加減算器、 ・・・ROMアドレス演算部。
FIG. 1 is a block diagram showing a first embodiment of the present invention;
Figure 2 shows the constraint length ■=2. A block diagram showing an example of a coding rate R=1/convolutional non-systematic encoder, FIG. 3 is a trellis diagram constructed by the encoder of FIG. 2, and FIG. Block Diagram Showing Embodiment FIG. 5 is a block diagram showing a third embodiment according to the present invention. 100...Soft decision reception sequence, 101...Decoded data output, 110...Reception sequence storage RAM, ill...Metric ROM. 112... Decoding operation RAM, 113... Decoding result storage RAM, 120... Address auxiliary register, 121... Multiplier input register, 122... Accumulator, 123... Status register 130 ... multiplexer, 140 ... multiplier, 141 ... adder/subtractor, 142 ... ROM address calculation section, 200 ... information bit input terminal, 210 ... encoding output terminal 1. 211... Encoding output terminal 2. 213...1 time slot delay element, 214...
1 time slot delay element, 15 16 00 01 10 11 12 13 20 21 22 23 24 30 31 40 41 42 50 51 ... Modulo 2 addition circuit, ... Modulo 2 addition circuit, ... Soft decision receiving sequence, ...Decoded data output, ...Received sequence storage RAM, ...Metric ROM. ...Decoding operation RAM, ...Decoding result storage RAM, ...Address auxiliary register, ...Multiplier input register, ...Accumulator, ...Status register, ...Register, ・...multiplexer, ...multiplexer, ...multiplier, ...adder/subtractor, ...ROM address calculation section, ...soft decision weight information (excluding MSB), ...soft decision information (MSB ), 00 01 10 11 12 13 20 21 22 30 40 41 42 ... soft decision reception sequence, ... accuracy information sequence, ... reception sequence storage RAM, ... ROM for metric. ...Decoding calculation RAM, ...Accuracy information storage RAM, ...Address auxiliary register, ...Multiplier input register, ...Accumulator, ...Multiplexer, ...Multiplier, ...Adder/subtractor, ...ROM address calculation section.

Claims (1)

【特許請求の範囲】 (1)各トレリス上の尤度計算を受信時刻の早いビット
から受信時刻の遅いビットの方向に前方繰りかえし演算
により行った後に逆方向に後方繰りかえし演算を行うか
、または該後方繰りかえし演算を行った後に該前方繰り
かえし演算を行うことによってビット誤りを最小とする
誤り訂正符号の復号方式において、 前記前方あるいは後方の繰りかえし演算を行った際用い
た作業用記憶領域を逆方向の繰りかえし演算において再
度使用して復号を行うことを特徴とする誤り訂正符号の
復号方式。(2)前記尤度計算に用いるための枝メトリ
ックの全ての要素に、ある一定値をあらかじめ乗算して
規格化しておくことにより、復号演算器のオーバーフロ
ーおよびアンダーフローを防ぐことを特徴とする請求項
(1)記載の誤り訂正符号の復号方式。 (3)前記受信系列に対する軟判定復調データが与えら
れている場合に、該復号すべき受信系列の重み情報より
伝送路状態を推定し、この推定値に基づいて前記の規格
値を決定して、復号演算器のオーバーフローおよびアン
ダーフローを防ぐことを特徴とする請求項(2)記載の
誤り訂正符号の復号方式。 (4)前記受信系列に対する軟判定復調データが与えら
れている場合に、該復号すべき受信系列の重み情報より
伝送路状態を推定し、この推定値に基づいて適切なメト
リック表を選択して、精度の良い復号を行うことを特徴
とする請求項(1)記載の誤り訂正符号の復号方式。 (5)前記前方あるいは後方の繰りかえし演算が終了し
た時点で、当該受信系列の生起確率の推定を行い、この
値の逆数を初期値として逆方向の繰りかえし演算を行う
ことを特徴とする請求項(1)記載の誤り訂正符号の復
号方式。 (6)前記前方あるいは後方の繰りかえし演算が終了し
た時点で、当該受信系列の生起確率の推定を行い、この
値の逆数を初期値として逆方向の繰りかえし演算を行い
、これによって得られる復号ビットの確度情報を出力す
ることを特徴とする請求項(1)記載の誤り訂正符号の
復号方式。
[Scope of Claims] (1) The likelihood calculation on each trellis is performed by a forward iterative operation from a bit with an earlier reception time to a bit with a later reception time, and then a backward iteration operation is performed in the opposite direction, or In an error correction code decoding method that minimizes bit errors by performing the forward iterative operation after performing the backward iterative operation, the working storage area used when performing the forward or backward iterative operation is used to store the working storage area in the backward direction. A decoding method for an error correction code, which is characterized in that it is used again in repeated calculations to perform decoding. (2) A claim characterized in that overflow and underflow of the decoding arithmetic unit are prevented by multiplying and normalizing all elements of the branch metric used in the likelihood calculation by a certain constant value in advance. A decoding method for the error correction code described in item (1). (3) When soft-decision demodulation data for the received sequence is given, the transmission path condition is estimated from the weight information of the received sequence to be decoded, and the standard value is determined based on this estimated value. 3. The error correction code decoding method according to claim 2, wherein overflow and underflow of the decoding arithmetic unit are prevented. (4) When soft-decision demodulation data for the received sequence is given, the transmission path state is estimated from the weight information of the received sequence to be decoded, and an appropriate metric table is selected based on this estimated value. The error correction code decoding method according to claim 1, wherein the error correction code decoding method performs highly accurate decoding. (5) When the forward or backward iterative calculation is completed, the probability of occurrence of the received sequence is estimated, and the reciprocal of this value is used as an initial value to perform the iterative calculation in the reverse direction. 1) Decoding method of the error correction code described above. (6) When the forward or backward iterative calculation is completed, estimate the probability of occurrence of the received sequence, perform the iterative calculation in the reverse direction using the reciprocal of this value as the initial value, and calculate the decoded bits obtained by this. 2. The error correction code decoding method according to claim 1, wherein accuracy information is output.
JP2049567A 1990-03-02 1990-03-02 Error correction code decoding method Expired - Fee Related JP2614524B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2049567A JP2614524B2 (en) 1990-03-02 1990-03-02 Error correction code decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2049567A JP2614524B2 (en) 1990-03-02 1990-03-02 Error correction code decoding method

Publications (2)

Publication Number Publication Date
JPH03253123A true JPH03253123A (en) 1991-11-12
JP2614524B2 JP2614524B2 (en) 1997-05-28

Family

ID=12834785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2049567A Expired - Fee Related JP2614524B2 (en) 1990-03-02 1990-03-02 Error correction code decoding method

Country Status (1)

Country Link
JP (1) JP2614524B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995015034A1 (en) * 1993-11-29 1995-06-01 Oki Electric Industry Co., Ltd. Device for estimating soft judgement value and device for estimating maximum likelihood system
KR100838292B1 (en) * 2007-06-20 2008-06-17 삼성전자주식회사 Read level control device of memory cell and method thereof
JP2009159037A (en) * 2007-12-25 2009-07-16 Sumitomo Electric Ind Ltd Receiver

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62164321A (en) * 1986-01-16 1987-07-21 Fujitsu Ltd Sequential decoder
JPH02309821A (en) * 1989-05-25 1990-12-25 Fujitsu Ltd Fano type successive decoder

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62164321A (en) * 1986-01-16 1987-07-21 Fujitsu Ltd Sequential decoder
JPH02309821A (en) * 1989-05-25 1990-12-25 Fujitsu Ltd Fano type successive decoder

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995015034A1 (en) * 1993-11-29 1995-06-01 Oki Electric Industry Co., Ltd. Device for estimating soft judgement value and device for estimating maximum likelihood system
US6302576B1 (en) 1993-11-29 2001-10-16 Oki Electric Industry Co., Ltd. Soft decision estimation unit and maximum-likelihood sequence estimation unit
KR100838292B1 (en) * 2007-06-20 2008-06-17 삼성전자주식회사 Read level control device of memory cell and method thereof
US7835209B2 (en) 2007-06-20 2010-11-16 Samsung Electronics Co., Ltd. Method and apparatus for controlling reading level of memory cell
JP2009159037A (en) * 2007-12-25 2009-07-16 Sumitomo Electric Ind Ltd Receiver

Also Published As

Publication number Publication date
JP2614524B2 (en) 1997-05-28

Similar Documents

Publication Publication Date Title
US5844946A (en) Soft-decision receiver and decoder for digital communication
US5349608A (en) Viterbi ACS unit with renormalization
US6697443B1 (en) Component decoder and method thereof in mobile communication system
EP1049001B1 (en) Arithmetic apparatus
US4606027A (en) Error correction apparatus using a Viterbi decoder
US4240156A (en) Concatenated error correcting system
EP0670636A1 (en) Viterbi processor
EP0671817A1 (en) Soft symbol decoding for use in an MLSE-equaliser or convolutional decoder
US7941734B2 (en) Method and apparatus for decoding shortened BCH codes or reed-solomon codes
US7107509B2 (en) Higher radix Log MAP processor
JP3846527B2 (en) Turbo code error correction decoder, turbo code error correction decoding method, turbo code decoding apparatus, and turbo code decoding system
JP2001352258A (en) Decoding device and decoding method
US6192084B1 (en) Soft output decoding apparatus and method for convolutional code
CA2338919A1 (en) A simple implementation of turbo decoder
US4130818A (en) Analog threshold decoding
US20030026347A1 (en) Path metric normalization
WO1998038746A2 (en) A reception method and a receiver
JPH03253123A (en) Decoding system for error correcting code
US7437657B2 (en) High speed add-compare-select processing
KR100876566B1 (en) Arithmetic circuit
Arun et al. Design and VLSI implementation of a Low Probability of Error Viterbi decoder
US20080152045A1 (en) High-throughput memory-efficient BI-SOVA decoder architecture
US7917565B2 (en) High-speed radix-4 butterfly module and method of performing Viterbi decoding using the same
US7020831B2 (en) Pipelined add-compare-select circuits and methods, and applications thereof
US20030103587A1 (en) Viterbi equalizer using various hardware data paths for ACS and transmission metric operations

Legal Events

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