JPH0783280B2 - Error correction device - Google Patents
Error correction deviceInfo
- Publication number
- JPH0783280B2 JPH0783280B2 JP26718686A JP26718686A JPH0783280B2 JP H0783280 B2 JPH0783280 B2 JP H0783280B2 JP 26718686 A JP26718686 A JP 26718686A JP 26718686 A JP26718686 A JP 26718686A JP H0783280 B2 JPH0783280 B2 JP H0783280B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- data
- circuit
- state
- output
- 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.)
- Expired - Fee Related
Links
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、連続モードのディジタル通信における畳込
み符号化/ビタービ復号化を用いた誤り訂正方式に関す
るものである。Description: TECHNICAL FIELD The present invention relates to an error correction method using convolutional coding / Viterbi decoding in continuous mode digital communication.
第3図及び第4図は従来の畳込み符号化/ビタービ復号
化を用いた連続モードの誤り訂正方式を示すブロック図
であり、それぞれ送信側,受信側を示す。第3図におい
て、1は送信データ入力端子、3はフレーム同期パター
ンを発生するフレーム同期パターン発生回路、2はこの
フレーム同期パターンよりフレームを作り、これと送信
データとを多重化する速度変換(多重)回路、4は畳込
み符号器、5は畳込み符号器4から出力される符号化デ
ータにより搬送波を変調する変調器、6は変調波出力端
子である。また第4図において、7は受信変調波入力端
子、8は変調波より符号化データを復調する復調器、9
は符号化データより多重化データを復号するビタービ復
号器であり、このビタービ復号器9において、10は枝メ
トリック計算回路、11はACS回路(ACS=Add Compare Se
lect:加算・比較・選択)、12はパスメモリ回路、13は
最尤状態検出回路、14はトレースバック制御回路であ
る。15はビタービ復号器9により復号された多重化デー
タよりフレーム同期をとるためのフレーム同期回路、16
はフレーム同期回路15からのフレームタイミングに従っ
て元の受信データを速度変換し分離する速度変換(分
離)回路である。FIG. 3 and FIG. 4 are block diagrams showing a conventional continuous mode error correction method using convolutional coding / Viterbi decoding, and show a transmitting side and a receiving side, respectively. In FIG. 3, 1 is a transmission data input terminal, 3 is a frame synchronization pattern generation circuit for generating a frame synchronization pattern, 2 is a speed conversion (multiplexing) for making a frame from this frame synchronization pattern and multiplexing this with transmission data. ) Circuit 4, 4 is a convolutional encoder, 5 is a modulator which modulates a carrier wave by the encoded data output from the convolutional encoder 4, and 6 is a modulated wave output terminal. Further, in FIG. 4, reference numeral 7 is a received modulated wave input terminal, 8 is a demodulator for demodulating coded data from the modulated wave, and 9 is a demodulator.
Is a Viterbi decoder for decoding multiplexed data from encoded data. In this Viterbi decoder 9, 10 is a branch metric calculation circuit, 11 is an ACS circuit (ACS = Add Compare Se
lect: addition / comparison / selection), 12 is a path memory circuit, 13 is a maximum likelihood state detection circuit, and 14 is a traceback control circuit. Reference numeral 15 is a frame synchronization circuit for frame synchronization from the multiplexed data decoded by the Viterbi decoder 9, 16
Is a speed conversion (separation) circuit for speed-converting and separating the original received data according to the frame timing from the frame synchronization circuit 15.
次に動作について説明する。Next, the operation will be described.
まず第3図の送信側について説明する。送信データは、
速度変換(多重)回路2においてフレーム同期パターン
発生回路3からのフレーム同期パターンとともに多重化
され、フレームを形成する。さらにこの多重化データ
は、誤り訂正符号化を行うために畳込み符号器4におい
て畳込み符号化され、冗長ビットが付加される。さらに
この符号化データは、伝送路に適合しやすい形態とする
ために変調器5に導びかれ、該符号化データにより搬送
波(キャリア)を変調して変調波出力端子6より出力さ
れる。First, the transmitting side of FIG. 3 will be described. The transmitted data is
The speed conversion (multiplexing) circuit 2 multiplexes together with the frame synchronization pattern from the frame synchronization pattern generation circuit 3 to form a frame. Furthermore, this multiplexed data is convolutionally coded in the convolutional encoder 4 to perform error correction coding, and redundant bits are added. Further, the coded data is guided to the modulator 5 so as to be easily adapted to the transmission path, and a carrier wave is modulated by the coded data and output from the modulated wave output terminal 6.
次に第4図の受信側について説明する前に、まずビター
ビ復号器について説明する。一般にレート1/n,拘束長K
の畳込み符号器は第5図の様に表わされる。即ち、時刻
iにおいて、K個のシフトレジスタの左端より送信デー
タuiが入力すると、シフトレジスタはデータを右へ1ビ
ットシフトし、データuiと、レジスタ内の過去のデータ
ui−1〜ui−k+1とから適当な組合わせのn個のモジ
ュロ2の加算を行ない、それらn個のデータを伝送路に
符号化データとして出力する。この時、情報ビット1ビ
ットと符号化データnビットの比1/nをレート(符号化
率)、シフトレジスタの段数Kを拘束長と呼んでいる。Before explaining the receiving side of FIG. 4, the Viterbi decoder will be described first. Generally rate 1 / n, constraint length K
The convolutional encoder of is represented as shown in FIG. That is, at time i, when the transmission data ui is input from the left end of the K shift registers, the shift register shifts the data to the right by 1 bit, and the data ui and the past data in the registers are shifted.
An appropriate combination of n modulo 2 is added from ui-1 to ui-k + 1, and the n data are output to the transmission path as encoded data. At this time, the ratio 1 / n of 1 information bit to n bits of coded data is called a rate (coding rate), and the number K of shift register stages is called a constraint length.
説明の簡略化のため、ここではレート1/2,K=3の場合
について述べる。レート1/2,K=3の畳込み符号器を第
6図に示す。ある時刻i(iは整数)におけるシフトレ
ジスタの記憶内容のうち、左からK−1(=2)までの
内容を状態と称している。第6図の例では、現在の時刻
iの状態が01であり、シフトレジスタが1ビットシフト
した次の時刻i+1の状態は00となる。状態の種類は全
部で2K-1通り存在する。この例から明らかな様に、時刻
i+1にて出力される符号化シンボルは、時刻iにおけ
る状態01によって決定されており、一番右端のデータに
は関係しない。For simplification of description, a case of rate 1/2 and K = 3 will be described here. A rate 1/2, K = 3 convolutional encoder is shown in FIG. Of the stored contents of the shift register at a certain time i (i is an integer), the contents from the left to K-1 (= 2) are called a state. In the example of FIG. 6, the state at the current time i is 01, and the state at the next time i + 1 after the shift register is shifted by 1 bit is 00. There are 2 K-1 kinds of states in all. As is clear from this example, the coded symbol output at time i + 1 is determined by the state 01 at time i and is not related to the rightmost data.
ここで状態4つ(00,01,10,11)を例にとり、これら状
態間の遷移を表わすトレリス図を第7図の様に考える。
図において、最初の開始状態は00、即ちレジスタの左か
ら2つの内容が00であり、上の分枝は0のデータ,下の
分枝は1のデータが次の時刻にレジスタに入力した場合
の状態の遷移を表わしている。即ち、時刻0において状
態00であった時、データ0が時刻1において入力する
と、時刻1の状態は00となり、また、もしデータ1が入
力すると、時刻1の状態は10となる。また、この時出力
される符号化シンボルが各分枝の上に書かれており、上
の分枝は00,下の分枝は11がそれぞれ符号化データとし
て出力される。即ち、第7図のトレリス図は、畳込み符
号器がとり得るすべての状態間の遷移を示したものと考
えることができる。Here, taking four states (00, 01, 10, 11) as an example, consider a trellis diagram showing transitions between these states as shown in FIG.
In the figure, the first start state is 00, that is, the two contents from the left of the register are 00, the upper branch is 0 data, and the lower branch is 1 data is input to the register at the next time. Represents the state transition of. That is, if the data 0 is input at the time 1 at the time 00 at the time 0, the state at the time 1 becomes 00, and if the data 1 is input, the state at the time 1 becomes 10. The coded symbol output at this time is written on each branch, and 00 is output as the upper branch and 11 is output as the lower branch as encoded data. That is, the trellis diagram of FIG. 7 can be thought of as showing the transitions between all possible states of the convolutional encoder.
ビタービ復号法は、上記畳込み符号の一復号法であり、
米国のA.J.ビタービ(A.J.Viterbi)が提案したもの
で、その動作の詳細については、例えば論文「G.D.フォ
ーニー・ジュニア“ビタービ アルゴリズム”」(「G.
D.Forney,JR.;“The Viterbi Algorithm",Proceeceing
of the IEEE,Vol.61,No.3,March 1973,pp.268〜278」)
に記載されている。今、例として第6図のレート1/2,K
=3の畳込み符号器において情報シンボル00000……が
送信される場合を考える。この時出力される符号化シン
ボルは第8図に示すように、00 00 00 00…である。
今、これら符号化シンボルが伝送路に出力され、雑音に
より2ビット誤って受信されて、同図に示すように10
00 10 00 00…となったとする。この時、受信側では
次の操作を行なって送信された情報シンボルを復号す
る。即ち、受信側では、状態00から始まるトレリス図上
で各状態の尤度(メトリック)を計算する。The Viterbi decoding method is one decoding method of the above convolutional code,
It was proposed by AJ Viterbi of the United States, and details of its operation are described in, for example, the paper “GD Forney Jr.“ Viterbi Algorithm ”” (“G.
D.Forney, J R .; “The Viterbi Algorithm”, Proceeceing
of the IEEE, Vol.61, No.3, March 1973, pp.268-278 ")
It is described in. Now, as an example, rate 1/2, K in Fig. 6
Consider the case where information symbols 00000 ... Are transmitted in a convolutional encoder of = 3. The coded symbols output at this time are 00 00 00 00 ... As shown in FIG.
Now, these coded symbols are output to the transmission line, and 2 bits are erroneously received due to noise, and as shown in FIG.
Let's say 00 10 00 00 ... At this time, the receiving side performs the following operation to decode the transmitted information symbol. That is, the receiving side calculates the likelihood (metric) of each state on the trellis diagram starting from state 00.
ここでメトリックとしては、例えば畳込み符号器のトレ
リス図(第7図)における符号化シンボルと実際に受信
された符号化シンボルとのハミング距離(不一致数)が
用いられる。第9図を用いて説明すると、同図(a)に
おいて、まず状態00のメトリックを0とする。第7図の
トレリス図において、時刻0の状態00から時刻1の状態
00へ遷移する場合の符号化シンボルは00,また状態10へ
遷移する場合は11であり、実際にこの時受信されたデー
タは第8図から10であるので、それぞれの分枝のハミン
グ距離(枝メトリックと称する)はそれぞれ1となる。
この値を時刻1における状態00及び状態10のメトリック
として記憶させる(これを状態メトリックと称する)。
時刻1→2の遷移においても全く同様に、第7図のトレ
リス図上の分枝上の符号化シンボルと、実際に受信され
たデータのハミング距離(=枝メトリック)を計算し、
その状態に遷移してくる前の状態のメトリックと加算し
て、その状態のメトリックとする。この様子を第9図
(a)に示す。次に時刻2→3の遷移においては、各分
枝のメトリック計算は同様に行なうが、第7図のトレリ
ス図から明らかな様に、1つの状態に遷移してくる分枝
が時刻3においては2つある。従って、ここでは、ある
状態に遷移してくる2つの分枝について、その遷移して
くる前の状態のメトリック(状態メトリク)と、分枝の
メトリック(枝メトリック)とを加算し、メトリックの
少ない方(即ち尤度の高い方)を残して他は捨て、残っ
た方のメトリックを新しい状態の状態メトリックとす
る。この手順を加算・比較・選択手順(ACS手順=Add S
elect Compare)と称している。この様子を第9図
(b)に示す。以下、全く同様にして、時刻を進めてい
くと、第9図(c),(d),(e)の様になる。Here, as the metric, for example, the Hamming distance (the number of mismatches) between the coded symbol in the trellis diagram (FIG. 7) of the convolutional encoder and the actually received coded symbol is used. This will be described with reference to FIG. 9. First, in FIG. 9A, the metric of the state 00 is set to 0. In the trellis diagram of FIG. 7, the state 0 at time 0 to the state 1 at time
The coded symbol when transiting to 00 is 00, and when transitioning to state 10 is 11, the data actually received at this time is from FIG. 8 to 10, so the Hamming distance ( Each of them is 1).
This value is stored as a metric for state 00 and state 10 at time 1 (this is called a state metric).
In the transition from time 1 to time 2, the coded symbols on the branch on the trellis diagram of FIG. 7 and the Hamming distance (= branch metric) of the actually received data are calculated in exactly the same way,
The metric of the state before transitioning to that state is added to obtain the metric of that state. This is shown in FIG. 9 (a). Next, in the transition of time 2 → 3, the metric calculation of each branch is performed in the same manner, but as is clear from the trellis diagram of FIG. 7, the branch transitioning to one state is at time 3 There are two. Therefore, here, for two branches that make a transition to a certain state, the metric of the state before the transition (state metric) and the metric of the branch (branch metric) are added, and the number of metrics is small. One (that is, one with higher likelihood) is left and the others are discarded, and the remaining metric is used as the state metric of the new state. This procedure is the addition / comparison / selection procedure (ACS procedure = Add S
elect Compare). This state is shown in FIG. 9 (b). Thereafter, when the time is advanced in exactly the same manner, it becomes as shown in FIGS. 9 (c), (d), and (e).
次に、実際にデータを出力する方法について述べる。上
記の様に、各時刻毎に、各状態毎で加算・比較・選択手
順が繰り返されるが、この各時刻毎の加算,比較,選択
の結果を、各状態毎に、上の分枝を選択した時は0,下の
分枝を選択した時は1という様にして、ある時間分まず
メモリに記憶させる。次にある程度このような記憶がた
まった段階で、もっとも状態メトリックの少ない状態、
即ち尤度の高い状態から、パスを前記記憶された加算,
比較,選択の結果に従ってさかのぼり、ある時刻数さか
のぼった段階で、その時のメモリに記憶されている加
算,比較,選択の結果のデータを復号データとして出力
する。この様な方法をパスのトレースバックと呼んでい
る。これは例えば第9図(e)において、右端の状態00
からトレースバックを始め、9時刻さかのぼった時の状
態00に記憶されているACS手順の結果0を復号データと
して出力することに相当する。第9図(e)において
は、どの状態から始めても、2時刻以内に正しいパス、
即ち送信されたパスに収束することがわかる。なお、さ
かのぼる必要のある時刻数、即ちそれ以上さかのぼって
も符号化利得の改善が得られない時刻数は、(拘束長−
1)の5倍程度であり、これをトランケーションの深さ
と呼んでいる。Next, a method of actually outputting data will be described. As described above, the addition / comparison / selection procedure is repeated for each state at each time, and the result of addition, comparison, and selection at each time is selected by the upper branch for each state. When it is done, it is set to 0, and when the lower branch is selected, it is set to 1 and so on. Next, when such memory is accumulated to some extent, the state with the least state metric,
That is, from the high likelihood state, the path is added to the stored addition,
It traces back according to the result of comparison and selection, and at a stage traced back by a certain number of times, the data of the result of addition, comparison and selection stored in the memory at that time is output as decoded data. This method is called path traceback. This is, for example, the state 00 at the right end in FIG. 9 (e).
This is equivalent to outputting the result 0 of the ACS procedure stored in the state 00 when the traceback is started from 9 and going back to the 9th time as decoded data. In FIG. 9 (e), no matter which state is started, the correct path within 2 hours,
That is, it can be seen that the path converges to the transmitted path. It should be noted that the number of times that need to be traced back, that is, the number of times that the improvement in coding gain cannot be obtained by tracing back more than that, is (constraint length-
It is about 5 times that of 1), which is called the truncation depth.
次に第4図の受信側の動作について説明する。伝送路を
通って雑音とともに受信された前記変調波は、入力端子
7より入力し、復調器8により元の符号化データに復調
される。この符号化データは伝送路の雑音により誤りを
多く含むので、ビタービ復号器9に導びかれて誤りが訂
正される。ビタービ復号器9においては、前述したよう
に、送信された複合語を受信する毎に受信側で符号化器
のとり得るすべての枝の符号語を発生し、受信した符号
語との相関(前述の不一致数に相当)をとる。この相関
値を枝メトリックと称し、枝メトリック計算回路10にて
この動作を行う。次にこの枝メトリックを、記憶されて
いる各状態の現在のメトリックに加算して新しいメトリ
ックを計算し、前述したACS手順(Add Compare Select:
加算・比較・選択)をACS回路11にて実行する。なお、
上述の様にメトリックは1符号語を受信する毎に増加し
ていくため、メトリックがオーバーフローしない様に、
周期的にメトリックの減算を行う必要があるが、ここで
は特に本質的問題ではないので第4図では削除した。さ
らに、前記ACS手順により得られた各状態の加算・比較
・選択の結果は、各状態毎にパスメモリ回路12に記憶さ
れる。Next, the operation on the receiving side in FIG. 4 will be described. The modulated wave received along with noise through the transmission line is input from the input terminal 7 and demodulated by the demodulator 8 into the original encoded data. Since this coded data contains many errors due to noise on the transmission path, it is guided to the Viterbi decoder 9 and the errors are corrected. In the Viterbi decoder 9, as described above, every time the transmitted compound word is received, the receiving side generates code words of all the branches that the encoder can take, and the correlation with the received code word (described above). Corresponding to the number of disagreements). This correlation value is called a branch metric, and the branch metric calculation circuit 10 performs this operation. This branch metric is then added to the stored current metric for each state to calculate a new metric, and the ACS procedure (Add Compare Select:
The addition / comparison / selection) is executed by the ACS circuit 11. In addition,
As described above, the metric increases every time one codeword is received, so that the metric does not overflow,
It is necessary to periodically perform the metric subtraction, but since it is not a particularly essential problem here, it was deleted in FIG. Further, the result of addition, comparison, and selection of each state obtained by the ACS procedure is stored in the path memory circuit 12 for each state.
次にデータの出力は、前述のように、最尤状態検出回路
13により一復号サイクル(データ1ビットを復号する時
間)の間に見つけられた最尤のメトリックを持つ状態よ
り、パスのトランケーションの深さだけ、トレースバッ
ク制御回路14によりパスメモリ回路12のトレースバック
を行い、最後にパスメモリ回路12に記憶されているデー
タ1ビットを復号データとして出力する。即ち、この方
法では、データ1ビットを復号するために、一復号サイ
クルの間にトランケーションの深さに相当する回数だけ
パスメモリにアクセスする必要がある。Next, the data output is the maximum likelihood state detection circuit as described above.
From the state having the maximum likelihood metric found during one decoding cycle (time to decode one bit of data) by 13, the traceback control circuit 14 traces back the path memory circuit 12 by the depth of the truncation of the path. Finally, 1 bit of data stored in the path memory circuit 12 is output as decoded data. That is, according to this method, in order to decode 1 bit of data, it is necessary to access the path memory a number of times corresponding to the truncation depth during one decoding cycle.
パスのトレースバックにより復号された多重化データ
は、フレーム同期回路15においてフレーム同期がとら
れ、このフレーム同期タイミングに従って速度変換(分
離)回路16において元の送信データが分離された後、デ
ータ出力端子17より出力される。The multiplexed data decoded by the traceback of the path is frame-synchronized by the frame synchronization circuit 15, and the original transmission data is separated by the speed conversion (separation) circuit 16 according to this frame synchronization timing, and then the data output terminal. It is output from 17.
従来の連続モードのディジタル通信における畳込み符号
化/ビタービ復号化を用いた誤り訂正方式は以上のよう
に構成されているので、ビタービ復号器において、パス
のトレースバックを一復号サイクルの間に、トランケー
ションの深さ((拘束長−1)の5倍程度)の全長にわ
たって行なう必要があり、従って伝送路のデータ伝送速
度を上げることが困難であった。Since the conventional error correction method using convolutional coding / Viterbi decoding in continuous mode digital communication is configured as described above, in the Viterbi decoder, path traceback is performed during one decoding cycle. It is necessary to perform the truncation over the entire length of the truncation depth (about 5 times the (constraint length-1)). Therefore, it is difficult to increase the data transmission rate of the transmission path.
この発明は、上記のような問題点を解消するためになさ
れたもので、一復号サイクルの間にビタービ復号器のパ
スメモリに対して行なうトレースバックの回数を1回と
してビタービ復号器の復号速度を高速化し、その結果伝
送路のデータ伝送路度を飛躍的に上げることのできる畳
込み符号化/ビタービ復号化を用いた誤り訂正方式を得
ることを目的とする。The present invention has been made in order to solve the above problems, and the decoding speed of a Viterbi decoder is defined by setting the number of tracebacks performed to the path memory of the Viterbi decoder to be one during one decoding cycle. It is an object of the present invention to obtain an error correction method using convolutional coding / Viterbi decoding which can speed up the transmission speed, and as a result, can dramatically increase the data transmission rate of the transmission path.
この発明に係る誤り訂正方式は、 フレーム中のデータ開始時点で畳込み符号器のシフトレ
ジスタをリセットし、またフレーム中のデータの終了時
点では(拘束長−1)個のダミーデータ(符号の末尾)
を付ける様にして1フレーム単位でデータを畳込み符号
化するための制御回路と、該符号化データにフレームの
区切りを示すためのフレームパターンを付加する手段と
を送信装置に設け、 フレームパターンを検出することによりフレーム同期を
とるフレーム同期回路と、実際に受信された符号化デー
タと前記送信装置の畳込み符号化手段のとり得る符号化
データとに基づいて各状態間での枝メトリックを計算す
る回路と、該枝メトリック計算回路の枝メトリック値と
当該状態に遷移する前の状態のメトリック値とを加算し
て当該状態でのメトリック値を算出し,当該状態に遷移
する前の状態が複数ある場合にはさらに各加算結果を比
較し,最小のメトリック値を当該状態でのメトリック値
して選択するACS回路と、該ACS回路の出力である加算,
比較,選択の結果を1フレーム分記憶可能な第1,第2の
パスメモリ回路と、あるフレーム期間において前記2つ
のパスメモリ回路のいずれか一方に前記ACS回路の出力
である加算,比較,選択の結果を1フレーム分記憶させ
るとともに該期間に他方のパスメモリ回路に記憶させて
おいた1フレーム前の加算,比較,選択のデータを全て
の状態においてトレースバックし、次のフレームでは上
記2つのメモリの役割を交代させてデータを復号するた
めのトレースバック制御回路を有するビタービ復号器と
を受信装置に設けたものである。The error correction system according to the present invention resets the shift register of the convolutional encoder at the start of data in a frame, and (constraint length-1) dummy data (end of code) at the end of data in a frame. )
A control circuit for convolutionally coding the data in units of one frame as shown in FIG. 2 and means for adding a frame pattern for indicating a frame delimiter to the coded data are provided in the transmission device, and the frame pattern is A frame synchronization circuit that obtains frame synchronization by detection, and calculates a branch metric between states based on the actually received encoded data and the encoded data that can be taken by the convolutional encoding means of the transmitter. Circuit, the branch metric value of the branch metric calculation circuit, and the metric value of the state before the transition to the state are added to calculate the metric value in the state, and the state before the transition to the state is plural. In some cases, each addition result is further compared, and an ACS circuit that selects the smallest metric value as the metric value in the state and an addition that is the output of the ACS circuit,
The first and second path memory circuits capable of storing the result of comparison and selection for one frame, and addition, comparison, and selection which are outputs of the ACS circuit to either one of the two path memory circuits in a certain frame period. The result of 1 is stored for one frame, and the addition, comparison, and selection data of one frame before stored in the other path memory circuit during that period are traced back in all states, and in the next frame, the above two A Viterbi decoder having a traceback control circuit for changing the role of a memory and decoding data is provided in the receiving device.
この発明においては、ビタービ復号器において、パスメ
モリ回路を2つ設け、一方のパスメモリへACSの結果を
書き込んでいる間に、他方のパスメモリにおいて1フレ
ームの期間に全フレーム長をトレースバックするから、
一復号サイクルの間にパスメモリに対して行なうトレー
スバックの回数は1回となり、復号速度が飛躍的に増大
する。また、最ゆい状態検出回路を省略できるので、ハ
ードウェア規模の大幅な削減が可能となる。According to the present invention, in the Viterbi decoder, two path memory circuits are provided, and while writing the result of ACS to one path memory, the other path memory traces back the entire frame length in one frame period. From
The number of tracebacks performed on the path memory during one decoding cycle is once, and the decoding speed is dramatically increased. In addition, since the most recent state detection circuit can be omitted, the hardware scale can be greatly reduced.
以下、この発明の一実施例を図について説明する。第1
図は送信側、第2図は受信側をそれぞれ示し、第1図に
おいて、31はフレーム同期パターン発生回路3から伝達
されるフレームの区切りに従って、フレーム開始時点で
畳込み符号器4のレジスタをリセットし、フレームの終
了時点で(拘束長−1)個の符号の末尾データを付加す
る制御回路である。また第2図において、21,22は1フ
レーム分の加算・比較・選択の結果を各状態につき記憶
する第1,第2のパスメモリ回路、23はこれら2つのパス
メモリ21,22に対し、フレーム単位で加算・比較・選択
結果の記憶とトレースバックの機能を交代させ、データ
を出力するトレースバック制御回路、24はフレーム毎に
1フレーム分の復号データの時間軸上の並びかえを行う
出力バッファ回路である。また、25はビタービ復号器で
ある。An embodiment of the present invention will be described below with reference to the drawings. First
The figure shows the transmitting side, and FIG. 2 shows the receiving side. In FIG. 1, 31 indicates resetting the register of the convolutional encoder 4 at the frame start point according to the frame delimiter transmitted from the frame synchronization pattern generating circuit 3. The control circuit adds the end data of (constraint length-1) codes at the end of the frame. In FIG. 2, reference numerals 21 and 22 denote first and second path memory circuits that store the results of addition, comparison, and selection for one frame for each state, and 23 denotes these two path memories 21 and 22. Traceback control circuit that outputs the data by alternating the functions of addition / comparison / selection result storage and traceback on a frame-by-frame basis, and 24 is an output that rearranges the decoded data for one frame on the time axis It is a buffer circuit. Further, 25 is a Viterbi decoder.
次に動作について説明する。Next, the operation will be described.
本実施例では、データを畳込み符号化する際に、データ
をフレーム毎に区切り、フレームの開始時点では畳込み
符号器4のレジスタをリセットし、フレームの終了時点
では(拘束長−1)個の符号の末尾(通常オール0)を
付加している。この制御は送信側の制御回路31で行われ
る。この結果、各データはフレーム毎に完結した形とな
って畳込み符号化され、速度変換(多重)回路2によ
り、フレーム毎にフレームパターンが挿入されてフレー
ムの区切をつけ、変調器5に送られた後変調出力端子6
より伝送路に送出される。フレーム毎の畳込み符号の完
結をトレリス図に示したのが第10図である。但し、図で
は、レート1/2,拘束長3の場合について示している。In this embodiment, when the data is convolutionally encoded, the data is divided into frames, the register of the convolutional encoder 4 is reset at the start of the frame, and (constraint length-1) at the end of the frame. Is added to the end of the code (usually all 0s). This control is performed by the control circuit 31 on the transmission side. As a result, each data is convolutionally coded in a complete form for each frame, and the rate conversion (multiplexing) circuit 2 inserts a frame pattern for each frame to divide the frame and send it to the modulator 5. After modulation output terminal 6
Is transmitted to the transmission line. FIG. 10 shows the trellis diagram showing the completion of the convolutional code for each frame. However, the figure shows the case where the rate is 1/2 and the constraint length is 3.
次に受信側について説明する。まず第2図の復号器8に
より復調されたベースバンド信号は、フレーム同期回路
15によりフレーム同期がとられてフレーム毎に区切ら
れ、該フレーム毎にビタービ復号器25にて次の処理がな
される。即ち、レート1/2,拘束長3の場合について説明
すると、まずフレームの開始時点においては、ビタービ
復号器のASC回路11において、状態00の状態メトリック
を0とし、その他の状態については状態メトリックを∞
(十分大きな数)とすればよい。これは、第10図のトレ
リス図から明らかな様に、フレームの開始時点では、符
号のトレリス構造が状態00から始まるように送信側の符
号器を構成しているためである。Next, the receiving side will be described. First, the baseband signal demodulated by the decoder 8 in FIG.
The frame is synchronized by 15 and divided into frames, and the Viterbi decoder 25 performs the following processing for each frame. That is, a case of rate 1/2 and constraint length 3 will be described. First, at the start of a frame, the ASC circuit 11 of the Viterbi decoder sets the state metric of the state 00 to 0, and the state metric for other states. ∞
(A sufficiently large number). This is because, as is clear from the trellis diagram in FIG. 10, the transmission side encoder is configured so that the trellis structure of the code starts from the state 00 at the start of the frame.
次に、第2図の第1のパスメモリ回路21及び第2のパス
メモリ回路22の動作を次の様に制御してデータを出力す
る。即ち、あるフレーム期間におけるACS回路11出力の
加算・比較・選択の結果は、第1のパスメモリ回路21に
すべて記憶させる。この間に、第2のパスメモリ回路22
のトレースバックを1フレーム前に記憶した加算・比較
・選択の結果を用いて1フレーム分のデータの全長にわ
たって行うが、この時のトレースバックの開始状態は、
常に符号の末尾に相当する状態である。これは、レート
1/2,拘束長3のトレリス図(第10図)において、1フレ
ームのトレリス構造の終結状態00からトレースバックを
開始することに相当する。即ち、送信側で(拘束長−
1)ビットの符号の末尾をフレームの最後に付加したた
めに、フレームは、常に符号の末尾に相当する最尤状態
で終結することが受信側でわかっており、従って、この
状態からトレースバックを開始することによって、劣化
の少ない復号が可能となる。更に、次のフレーム期間に
おいては、上記第1のパスメモリ回路21と第2のパスメ
モリ回路22の役割を交代し、今度は、第2のパスメモリ
回路22に1フレーム中の加算・比較・選択結果の記憶を
行い、第1のパスメモリ回路21で1フレーム分のトレー
スバックを行なう。この様なフレーム単位のパスメモリ
への書き込みとトレースバックの制御は、フレーム同期
回路10からのフレーム同期パルスを元にトレースバック
制御回路23が行う。Next, the operations of the first path memory circuit 21 and the second path memory circuit 22 of FIG. 2 are controlled as follows to output data. That is, all the results of addition, comparison, and selection of the output of the ACS circuit 11 in a certain frame period are stored in the first path memory circuit 21. During this time, the second path memory circuit 22
The traceback of is performed over the entire length of the data for one frame using the results of addition, comparison and selection stored one frame before. The start state of the traceback at this time is
It always corresponds to the end of the code. This is the rate
In the trellis diagram with 1/2 and constraint length 3 (Fig. 10), it corresponds to starting the traceback from the final state 00 of the trellis structure of one frame. That is, on the transmitting side (the constraint length-
1) Since the end of the code of bits is added to the end of the frame, the receiving side knows that the frame always ends in the maximum likelihood state corresponding to the end of the code. Therefore, traceback is started from this state. By doing so, it is possible to perform decoding with little deterioration. Further, in the next frame period, the roles of the first path memory circuit 21 and the second path memory circuit 22 are changed, and this time, the second path memory circuit 22 performs addition / comparison in one frame. The selection result is stored, and the first path memory circuit 21 traces back one frame. The trace-back control circuit 23 controls the writing to the path memory in units of frames and the trace-back control based on the frame synchronization pulse from the frame synchronization circuit 10.
次に、トレースバックにより読み出されたフレーム毎の
データは、出力バッファ回路24に1度蓄えられ、時間軸
上に並びかえ、即ち元の順序への並びかえが行われた
後、受信データ出力端子12より出力される。Next, the data for each frame read out by the traceback is stored once in the output buffer circuit 24 and rearranged on the time axis, that is, rearranged in the original order, and then the received data is output. Output from terminal 12.
このような本実施例では、ビタービ復号器においては、
一復号サイクルの間にトランケーションの深さの回数ト
レースバックするのではなく、1フレームの期間に全フ
レーム長をトレースバックするので、復号データ1ビッ
ト出力するのに要するトレースバックの回数は1回でよ
い。この結果、復号データ速度は大幅に増加でき、伝送
速度の高い誤り訂正方式が実現できる。In this embodiment, in the Viterbi decoder,
Instead of tracing back the number of truncation depths during one decoding cycle, the entire frame length is traced back during the period of one frame, so the number of tracebacks required to output 1 bit of decoded data is only once. Good. As a result, the decoding data rate can be greatly increased, and an error correction method with a high transmission rate can be realized.
さらに本実施例によれば、常に符号の末尾に相当する状
態からトレースバックを開始するので最尤状態を見つけ
る必要がなく、従来ハードウェア規模が大きかった最尤
状態検出回路を省略できる効果もある。Further, according to the present embodiment, since the traceback is always started from the state corresponding to the end of the code, it is not necessary to find the maximum likelihood state, and there is an effect that the maximum likelihood state detection circuit, which has conventionally been large in hardware scale, can be omitted. .
なお、上記実施例では畳込み符号器の直後で速度変換
(多重)回路によりフレーム同期パターンと多重化する
方式を示したが、畳込み符号器の後にインターリーブ回
路を設け、伝送路のバースト誤りに対しても、強力な誤
り訂正ができるようにしてもよい。これは、従来畳込み
符号化/ビタービ復号化は、伝送路のバースト誤りに対
し劣化を受けやすかったので特に有効となる。この場合
には、第2図の受信側で、フレーム同期回路からのフレ
ーム同期パルスに従ってデインターリーブする回路が復
調器の後に設けられる。In the above embodiment, the method of multiplexing with the frame synchronization pattern by the rate conversion (multiplexing) circuit immediately after the convolutional encoder is shown. However, an interleave circuit is provided after the convolutional encoder to prevent a burst error in the transmission line. In contrast, strong error correction may be possible. This is particularly effective because the conventional convolutional coding / Viterbi decoding is susceptible to deterioration due to burst errors in the transmission path. In this case, on the receiving side in FIG. 2, a circuit for deinterleaving according to the frame synchronization pulse from the frame synchronization circuit is provided after the demodulator.
以上のように、この発明によれば、送信側ではフレーム
の開始で畳込み符号器のレジスタをリセットし、終了で
ダミーデータを付加してフレーム毎に畳込み符号化が完
結するようにし、また受信側では、ビタービ復号器にお
いて実際に受信された符号化データと前記送信装置の畳
込み符号化手段のとり得る符号化データとに基づいて全
ての状態の枝メトリックを計算する回路と、該枝メトリ
ック計算回路の枝メトリック値と当該状態に遷移する前
の状態のメトリック値とを加算して当該状態でのメトリ
ック値を算出し,当該状態に遷移する前の状態が複数あ
る場合にはさらに各加算結果を比較し,最小のメトリッ
ク値を当該状態でのメトリック値として選択するACS回
路と、該ACS回路の出力である加算,比較,選択の結果
を1フレーム分記憶可能な2つのパスメモリ回路とを設
け、各フレーム毎に書き込みとトレースバックの役割を
交代させ、1フレーム分のデータを1フレーム期間の間
に1フレームの全長にわたってトレースバックするよう
に構成したので、1フレーム分の全データを復号する間
にメモリに対して行なうトレースバックの回数は1回と
なり、復号速度が飛躍的に増大し、また、最尤状態検出
回路が省略できるため、ハードウェア規模の小さい誤り
訂正方式が得られる効果がある。As described above, according to the present invention, on the transmission side, the register of the convolutional encoder is reset at the start of the frame, dummy data is added at the end, and the convolutional encoding is completed for each frame. On the receiving side, a circuit for calculating branch metrics of all states based on the coded data actually received by the Viterbi decoder and the coded data that can be taken by the convolutional coding means of the transmitter, and the branch The branch metric value of the metric calculation circuit and the metric value of the state before the transition to the relevant state are added to calculate the metric value in the relevant state, and if there are multiple states before the transition to the relevant state, An ACS circuit that compares addition results and selects the smallest metric value as the metric value in this state, and the result of addition, comparison, and selection that is the output of the ACS circuit can be stored for one frame. 2 path memory circuits are provided, the roles of writing and traceback are alternated for each frame, and data for one frame is traced back over the entire length of one frame during one frame period. The number of tracebacks to be performed on the memory while decoding all data for one frame is one, which dramatically increases the decoding speed, and since the maximum likelihood state detection circuit can be omitted, the hardware scale is reduced. There is an effect that a small error correction method can be obtained.
第1図はこの発明の一実施例による誤り訂正方式の送信
側を示すブロック図、第2図はその受信側を示すブロッ
ク図、第3図は従来の誤り訂正方式の送信側を示すブロ
ック図、第4図はその受信側を示すブロック図、第5図
はレート1/n,拘束長kの畳込み符号器のブロック図、第
6図はレート1/2,K=3の畳込み符号器のブロック図、
第7図はレート1/2,K=2の畳込み符号器のトレリス
図、第8図は送信シンボルと受信シンボルの一例を示す
図、第9図はビタービ復号法を説明するためのトレリス
図の一例を示す図、第10図は本発明方式におけるレート
1/2,拘束長3の畳込み符号器の1フレーム分の状態遷移
を表わすトレリス図である。 2……速度変換(多重)回路、3……フレーム同期パタ
ーン発生回路、4……畳込み符号器、5……変調器、8
……復調器、10……枝メトリック計算回路、11……ACS
回路、15……フレーム同期回路、21,22……パスメモリ
回路、23……トレースバック制御回路、24……出力バッ
ファ回路、25……ビタービ復号器、31……制御回路。 なお図中同一符号は同一又は相当部分を示す。FIG. 1 is a block diagram showing a transmission side of an error correction system according to an embodiment of the present invention, FIG. 2 is a block diagram showing its reception side, and FIG. 3 is a block diagram showing a transmission side of a conventional error correction system. , FIG. 4 is a block diagram showing the receiving side, FIG. 5 is a block diagram of a convolutional encoder with a rate 1 / n, constraint length k, and FIG. 6 is a convolutional code with a rate 1/2, K = 3. Block diagram of the vessel,
FIG. 7 is a trellis diagram of a rate 1/2, K = 2 convolutional encoder, FIG. 8 is a diagram showing an example of transmission symbols and reception symbols, and FIG. 9 is a trellis diagram for explaining the Viterbi decoding method. Fig. 10 shows an example of the rate in the method of the present invention.
It is a trellis diagram showing the state transition for 1 frame of the convolutional encoder of 1/2, constraint length 3. 2 ... Velocity conversion (multiplexing) circuit, 3 ... Frame synchronization pattern generation circuit, 4 ... Convolutional encoder, 5 ... Modulator, 8
…… Demodulator, 10 …… Branch metric calculation circuit, 11 …… ACS
Circuit, 15 ... Frame synchronization circuit, 21, 22 ... Path memory circuit, 23 ... Traceback control circuit, 24 ... Output buffer circuit, 25 ... Viterbi decoder, 31 ... Control circuit. The same reference numerals in the drawings indicate the same or corresponding parts.
フロントページの続き (56)参考文献 特開 昭63−78439(JP,A) 特開 昭62−233933(JP,A) 米国特許4583078(US,A) 国際公開87−6081(WO,A) COMSAT TECHNICAL R EVIEW VOLUME13 NUMBE R2,(1983)「Serial impl ementation of Viter bi decoders″P.315−330; A.SHENOY,P.JOHNSONContinuation of the front page (56) References JP-A-63-78439 (JP, A) JP-A-62-233933 (JP, A) US Patent 4583078 (US, A) International Publication 87-6081 (WO, A) COMSAT TECHNICAL R EVIEW VOLUME 13 NUMBE R2, (1983) "Serial implmentation of Viter bi decoders" P. 315-330; A. SHENOY, P.M. JOHNSON
Claims (2)
訂正装置であって、 送信データをフレーム毎に区切って畳込み符号化する畳
込み符号化手段, この畳込み符号化に際し、フレームの開始時点に前記畳
込み符号化手段のレジスタの初期値を設定し、フレーム
の終了時点に当該フレームの終了を示すダミーデータを
挿入する制御手段, 前記畳込み符号化手段から出力されるフレーム毎に畳込
み符号化されたデータに、フレームパターンを挿入する
フレームパターン挿入手段, 前記制御手段とフレームパターン挿入手段にフレームタ
イミングを供給するフレーム発生手段,及び 前記フレームパターン挿入手段の出力により搬送波を変
調する変調手段からなる送信装置と、 受信変調波より元のベースバンド信号を復調する復調手
段, この復調手段に接続され、フレーム同期をとるためのフ
レーム同期手段,及び 実際に受信された符号化データと前記送信装置の畳込み
符号化手段のとり得る符号化データとに基づいて各状態
間での枝メトリックを計算する回路と、該枝メトリック
計算回路の枝メトリック値と当該状態に遷移する前の状
態のメトリック値とを加算して当該状態でのメトリック
値を算出し,当該状態に遷移する前の状態が複数ある場
合にはさらに各加算結果を比較し,最小のメトリック値
を当該状態でのメトリック値として選択する,加算,比
較,選択回路(Add Compare Select,以下ACS回路と言
う)と、該ACS回路の出力である加算,比較,選択の結
果を1フレーム分記憶可能な第1,第2のパスメモリ回路
と、あるフレーム期間において前記2つのパスメモリ回
路のいずれか一方に前記ACS回路の出力である加算,比
較,選択の結果を1フレーム分記憶させるとともに該期
間に他方のパスメモリ回路に記憶させておいた1フレー
ム前の加算,比較,選択のデータを全ての状態において
トレースバックし、次のフレーム期間ではこれら2つの
パスメモリ回路の役割を交代させるトレースバック制御
回路と、このトレースバックにより得られた1フレーム
毎の復号データの時間順序を並べかえて出力する出力バ
ッファ回路とを有するビタービ復号器からなる受信装置
とを備えたことを特徴とする誤り訂正装置。1. An error correction device for use in continuous mode digital communication, comprising convolutional coding means for performing convolutional coding by dividing transmission data into frames, and at the time of starting a frame at the time of convolutional coding. Control means for setting an initial value of a register of the convolutional coding means and inserting dummy data indicating the end of the frame at the end time of the frame; convolutional code for each frame output from the convolutional coding means Frame pattern inserting means for inserting a frame pattern into the converted data; frame generating means for supplying frame timing to the control means and frame pattern inserting means; and a modulating means for modulating a carrier wave by the output of the frame pattern inserting means. And a demodulation means for demodulating the original baseband signal from the received modulated wave. Frame synchronization means for establishing frame synchronization connected to the adjustment means, and between the states based on the actually received encoded data and the encoded data that can be taken by the convolutional encoding means of the transmitter. Before the transition to the relevant state, the circuit that calculates the branch metric, the branch metric value of the branch metric calculation circuit, and the metric value of the state before the transition to the relevant state are added to calculate the metric value in the relevant state When there are a plurality of states, an addition, comparison, and selection circuit (Add Compare Select, hereinafter referred to as ACS circuit) that further compares each addition result and selects the smallest metric value as the metric value in that state, One of the first and second path memory circuits capable of storing the addition, comparison, and selection results output from the ACS circuit for one frame, and one of the two path memory circuits in a certain frame period. One side stores the addition, comparison, and selection results output from the ACS circuit for one frame, and all the addition, comparison, and selection data for one frame before stored in the other path memory circuit during the period. Traceback in the above state, and in the next frame period, the traceback control circuit that alternates the roles of these two path memory circuits and the time order of the decoded data for each frame obtained by this traceback are rearranged and output. An error correction device comprising: a receiving device including a Viterbi decoder having an output buffer circuit.
の間に、フレーム毎にデータを適当な順序にインターリ
ーブするインターリーブ手段が設けられ、 前記受信装置においては、 前記復調手段と前記ビタービ復号器の間に、前記フレー
ム同期手段出力のフレーム同期パルスに従ってフレーム
毎にデータを元の順序にデインターリーブするデインタ
ーリーブ手段が設けられていることを特徴とする特許請
求の範囲第1項記載の誤り訂正装置。2. The transmitting apparatus is provided with an interleaving means for interleaving data in each frame in an appropriate order between the convolutional coding means and the frame pattern inserting means, and in the receiving apparatus, Deinterleaving means is provided between the demodulation means and the Viterbi decoder for deinterleaving data in each frame in the original order according to a frame synchronization pulse output from the frame synchronization means. The error correction device according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26718686A JPH0783280B2 (en) | 1986-11-10 | 1986-11-10 | Error correction device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26718686A JPH0783280B2 (en) | 1986-11-10 | 1986-11-10 | Error correction device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63121322A JPS63121322A (en) | 1988-05-25 |
JPH0783280B2 true JPH0783280B2 (en) | 1995-09-06 |
Family
ID=17441307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26718686A Expired - Fee Related JPH0783280B2 (en) | 1986-11-10 | 1986-11-10 | Error correction device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0783280B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3277856B2 (en) | 1997-08-29 | 2002-04-22 | 日本電気株式会社 | Viterbi decoder |
CN114221748B (en) * | 2021-11-30 | 2022-09-06 | 中国人民解放军63921部队 | Deep space low code rate data frame backtracking method |
-
1986
- 1986-11-10 JP JP26718686A patent/JPH0783280B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
COMSATTECHNICALREVIEWVOLUME13NUMBER2,(1983)「SerialimplementationofViterbidecoders″P.315−330;A.SHENOY,P.JOHNSON |
Also Published As
Publication number | Publication date |
---|---|
JPS63121322A (en) | 1988-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0227473B1 (en) | Error correcting coder/decoder | |
US6088404A (en) | Method and apparatus for decoding trellis code data | |
KR19990044097A (en) | Data transmission method, data transmission system and transmitter and receiver | |
EP2418796B1 (en) | Bitwise reliability indicators from survivor bits in Viterbi decoders | |
JPH0555932A (en) | Error correction coding and decoding device | |
JPH05335972A (en) | Viterbi decoder | |
KR100212833B1 (en) | A variable rate viterbi decoder | |
JP2000209106A (en) | Realization by minimum amount of memory of high-speed viterbi decoder | |
JP3259297B2 (en) | Viterbi decoding device | |
US5822340A (en) | Method for decoding data signals using fixed-length decision window | |
US6385753B1 (en) | Punctured Viterbi decoding method | |
US6035428A (en) | Apparatus for deinterleaving and output-processing decoded data in a trellis decoder | |
KR101212856B1 (en) | Method and apparatus for decoding data in communication system | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
JPH0783280B2 (en) | Error correction device | |
KR100249046B1 (en) | Device for retrace in trellis decoder | |
JP3337950B2 (en) | Error correction decoding method and error correction decoding device | |
JP4025226B2 (en) | Error correction transmission device | |
JP2871140B2 (en) | Demodulation reference phase ambiguity removal system and receiving apparatus therefor | |
JP2803627B2 (en) | Convolutional decoding circuit | |
JPH038140B2 (en) | ||
JP3445279B6 (en) | Data transmission method, data transmission system, transmitter, receiver | |
EP0312200A2 (en) | Synchroniser for a decoder and decoder system | |
KR20090061853A (en) | Apparatus and method fo viterbi decoder using cable modem | |
JP2002077281A (en) | Decoding device and decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |