JPH0837466A - Viterbi decoding circuit - Google Patents

Viterbi decoding circuit

Info

Publication number
JPH0837466A
JPH0837466A JP6172602A JP17260294A JPH0837466A JP H0837466 A JPH0837466 A JP H0837466A JP 6172602 A JP6172602 A JP 6172602A JP 17260294 A JP17260294 A JP 17260294A JP H0837466 A JPH0837466 A JP H0837466A
Authority
JP
Japan
Prior art keywords
path
difference
metric
surviving
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.)
Granted
Application number
JP6172602A
Other languages
Japanese (ja)
Other versions
JP3258174B2 (en
Inventor
Tsuneo Fujiwara
恒夫 藤原
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP17260294A priority Critical patent/JP3258174B2/en
Publication of JPH0837466A publication Critical patent/JPH0837466A/en
Application granted granted Critical
Publication of JP3258174B2 publication Critical patent/JP3258174B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To attain high speed operation by feeding back a difference from bus metrics of each of survived buses for succeeding arithmetic operation so as to prevent an increase in the arithmetic operation without degrading the accuracy of the arithmetic operation thereby reducing number of stages of arithmetic operation in the feedback loop. CONSTITUTION:Data obtained by quantizing a reproduced signal from an optical disk and equalized by the PR system are applied to a difference branch metric(BM) arithmetic means 1 for each clock, in which the difference from the BMs in all branches is calculated and the result is outputted. A survived bus discrimination means 2 calculates an output of the means 1 and a difference between the BMs between survived buses of one preceding clock of a latch means 5 to discriminate the survived bus. A difference BM arithmetic means 3 uses the difference from the BMs of the survived bus from the means 1, 5 to calculate the BM of the bus transited from each survived bus. An output of the means 3 is selected depending on an output of the means 2 by a difference BM selection means 4. The means 5 latches the output of the means 4 as a difference from the BMs between the survived buses. A data decoding means 6 is used to decode the data by using the output of the means 2.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、ビタビ復号回路に関
し、特に光ディスクに記録された情報をパーシャルレス
ポンス方式に等化した後に、その信号を最尤復号するP
RML検出におけるビタビ復号回路の改良に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a Viterbi decoding circuit, and more particularly, it performs a maximum likelihood decoding of the signal recorded on an optical disk after the information is equalized by the partial response method.
The present invention relates to improvement of a Viterbi decoding circuit in RML detection.

【0002】[0002]

【従来の技術】高密度記録された光ディスクの再生信号
のデータ検出方式として、再生信号をパーシャルレスポ
ンス方式の一種であるPR(1,1)特性に等化して、
この等化された信号をビタビ信号により最尤復号するも
のがある(M.Tobita;"ViterbiDetection of Partial Re
sponse on a Magneto Optical Recording Channel";SPI
E Vol.1663 Optical Data Strage(1992)p166-p173)。
2. Description of the Related Art As a data detection method of a reproduction signal of an optical disc recorded at high density, the reproduction signal is equalized to PR (1,1) characteristics which is a kind of partial response method,
There is one that performs maximum likelihood decoding of this equalized signal using a Viterbi signal (M. Tobita; "Viterbi Detection of Partial Re
sponse on a Magneto Optical Recording Channel "; SPI
E Vol.1663 Optical Data Strage (1992) p166-p173).

【0003】更に、高密度記録された場合のデータ検出
方式として、再生信号をパーシャルレスポンス方式の一
種であるPR(1,2,1)特性に等化して、この等化
された信号をPR(1,2,1)特性に対する4状態の
ビタビ信号により最尤復号する方式が提案されている
(藤原、山口 他;”光磁気記録再生系におけるPRM
L検出の一検討”;1993年電子情報通信学会春季大
会予稿集C−474、出願番号特願平5−31699
号、出願番号特願平5−266762号等)。
Further, as a data detection method for high-density recording, a reproduction signal is equalized to a PR (1,2,1) characteristic which is a kind of partial response method, and the equalized signal is PR ( A maximum likelihood decoding method has been proposed using a 4-state Viterbi signal for 1, 2, 1) characteristics (Fujiwara, Yamaguchi et al .; "PRM in magneto-optical recording / reproducing system".
A Study of L Detection "; Proceedings of the 1993 Spring Conference of the Institute of Electronics, Information and Communication Engineers, C-474, Application No. 5-31699
No., application number Japanese Patent Application No. 5-266762, etc.).

【0004】上記PR(1,1)特性に対するビタビ復
号回路は(M.J.Ferguson,"OptimalReception for Binar
y Partial Response Channels";The Bell System Techn
ical Journal,Vol.51,No.2,pp493-505,Feb,1972.)に提
案されている方式を用いるのが簡単で高速動作させる場
合においても有効である。
The Viterbi decoding circuit for the PR (1,1) characteristic is described in (MJ Ferguson, "Optimal Reception for Binar
y Partial Response Channels "; The Bell System Techn
The method proposed in ical Journal, Vol.51, No.2, pp493-505, Feb, 1972.) is simple and effective for high speed operation.

【0005】この方式をPR(1,1)特性に対するビ
タビ復号回路に用いた場合、次のように、生き残りパス
間の差Δkと入力データyk+1の加算結果がどの範囲に入
っているかで生き残りパスの組み合わせの種類であるm
ergeの種類を判別し、生き残りパス間の差を演算し
ている。
[0005] When using this method to the Viterbi decoding circuit for PR (1, 1) characteristics, as follows, contains the difference delta k with which range the addition result of the input data y k + 1 between the survivor path M is the type of combination of surviving paths
The type of edge is discriminated and the difference between the surviving paths is calculated.

【0006】 Δk+yk+1>+1のとき; +merge,Δk+1=yk+1−1 −1≦Δk+yk+1≦+1のとき; no merge,Δk+1=−Δk −1>Δk+yk+1 のとき; −merge,Δk+1=yk+1+1 ここで、+merge,no merge,−merg
eはそれぞれ図8に示すような生き残りパスの組み合わ
せであることを示す。なお、上記演算式は、記録される
デジタルデータの0を−1、1を+1とおいているの
で、ノイズがないと仮定すると、入力データyk+1は−
2、0、+2の3値となるが、これは簡単のためであっ
てyk+1がADコンバータの出力であれば、それに合わ
せて修正する。
When Δ k + y k + 1 >+1; + merge, Δ k + 1 = y k + 1 −1 −1 ≦ Δ k + y k + 1 ≦ + 1; no merge, Δ k + 1 = − When Δ k −1> Δ k + y k + 1 ; −merge, Δ k + 1 = y k + 1 +1 where + merge, no merge, −merge
Each e indicates a combination of survivor paths as shown in FIG. In the above arithmetic expression, since 0 of digital data to be recorded is set to −1 and 1 is set to +1, assuming that there is no noise, the input data y k + 1 is −.
There are three values of 2, 0, and +2, but this is for simplicity and if y k + 1 is the output of the AD converter, it is corrected accordingly.

【0007】従って、上記のような条件を判定すれば、
その判定結果を用いてデータを復号することができる。
Therefore, if the above conditions are judged,
Data can be decoded using the determination result.

【0008】この方式は演算が単純で、2状態のビタビ
復号には有効であるが、例えばPR(1,2,1)特性
に対する4状態のビタビ復号回路はこの方法を用いるこ
とはできない。従って、この場合、G.D.Forney.JR;"The
Viterbi Argorithm",Proc IEEE,61,No.3,pp268-278,Ma
rch,1972やトリケップス;”実戦誤り訂正技術”pp1
59−161に示されているような一般的な方法を用い
る。
Although this method is simple in operation and is effective for 2-state Viterbi decoding, for example, a 4-state Viterbi decoding circuit for PR (1,2,1) characteristics cannot use this method. So in this case, GDForney.JR; "The
Viterbi Argorithm ", Proc IEEE, 61, No.3, pp268-278, Ma
rch, 1972 and Trikeps; "Actual error correction technology" pp1
The general method as shown in 59-161 is used.

【0009】この方法を適用するビタビ復号回路は、図
9に示すように、入力データからブランチメトリックを
演算するブランチメトリック演算手段10と、ブランチ
メトリック演算手段10により算出されたブランチメト
リックと保持手段12に保持されている過去の生き残り
パスのパスメトリックとを加算、比較、選択を行う加算
比較選択手段11と、過去の生き残りパスのパスメトリ
ックを保持する保持手段12と、加算比較選択手段11
の出力からデータを復号するデータ復号手段6とを具備
している。そして、加算比較選択手段11は、ブランチ
メトリック演算手段10により算出されたブランチメト
リックと保持手段12に保持されている過去の生き残り
パスのパスメトリックとを加算する加算手段13と、ブ
ランチメトリックと保持手段12に保持されている過去
の生き残りパスのパスメトリックとの大きさを比較する
比較手段14と、比較手段14の結果を用いてより確か
らしい方のパスメトリックを生き残りパスのパスメトリ
ックとして選択する選択手段15とにより構成されてい
る。
A Viterbi decoding circuit to which this method is applied, as shown in FIG. 9, is a branch metric calculating means 10 for calculating a branch metric from input data, a branch metric calculated by the branch metric calculating means 10 and a holding means 12. The addition / comparison and selection means 11 for performing addition, comparison, and selection with the path metrics of the past surviving paths held in the table, the holding means 12 for holding the path metrics of the past surviving paths, and the addition / comparison and selection means 11
Data decoding means 6 for decoding the data from the output of. Then, the addition / comparison / selection means 11 adds the branch metric calculated by the branch metric calculation means 10 and the path metric of the past surviving path held in the holding means 12, and the branch metric and holding means. The comparison means 14 for comparing the magnitude of the past surviving path held in 12 with the path metric, and the selection of selecting the more probable path metric as the path metric of the surviving path using the result of the comparing means 14. And means 15.

【0010】次に、本従来例の動作について説明する。Next, the operation of this conventional example will be described.

【0011】入力データからブランチメトリック演算手
段10によりブランチメトリックが算出され、ブランチ
メトリック演算手段10により算出されたブランチメト
リックと保持手段12に保持されている過去の生き残り
パスのパスメトリックとが加算手段13により加算さ
れ、ブランチメトリックと保持手段12に保持されてい
る過去の生き残りパスのパスメトリックとの大きさが比
較手段14により比較される。比較手段14の結果を用
いてより確からしい方のパスメトリックが選択手段15
により生き残りパスのパスメトリックとして選択され、
保持手段12に保持される。また、比較手段14の出力
はデータ復号手段6に入力され、復号データとして出力
される。
The branch metric calculating means 10 calculates a branch metric from the input data, and the branch metric calculated by the branch metric calculating means 10 and the path metric of the past surviving path held in the holding means 12 are added together by the adding means 13 The branch metric and the path metric of the past surviving path held in the holding means 12 are compared by the comparing means 14 and compared. Using the result of the comparing means 14, the more probable path metric is the selecting means 15.
Selected as the path metric for the surviving path by
It is held by the holding means 12. The output of the comparison means 14 is input to the data decoding means 6 and is output as decoded data.

【0012】次に、上述した従来のビタビ復号回路を、
PR(1,2,1)特性に対する4状態のビタビ復号回
路に応用した場合について図10を用いて説明する。な
お、図9と同一構成部分には同一符号を付して説明を省
略する。
Next, the above-mentioned conventional Viterbi decoding circuit is
A case of application to a four-state Viterbi decoding circuit for PR (1,2,1) characteristics will be described with reference to FIG. The same components as those in FIG. 9 are designated by the same reference numerals and the description thereof will be omitted.

【0013】加算比較選択手段11は、複数の加算器1
6と、複数の比較器17と、複数の選択器18とにより
構成されている。そして、保持手段12は、複数のレジ
スタ19により構成されている。
The addition / comparison / selection means 11 comprises a plurality of adders 1
6, a plurality of comparators 17, and a plurality of selectors 18. The holding means 12 is composed of a plurality of registers 19.

【0014】次に、本従来例の動作について説明する。Next, the operation of this conventional example will be described.

【0015】1クロック毎に入力されるデータから各ブ
ランチに対するブランチメトリックがブランチメトリッ
ク演算手段1により演算され、算出したブランチメトリ
ックの値と1クロック前に演算された生き残りパスのパ
スメトリックが加算器16によって加算され、比較器1
7によってその大きさが比較される。比較手段14の結
果により尤度の大きい方の加算器16の出力が選択器1
8により選択され、次クロックにおける演算に用いられ
る。一方、比較器17の出力は、データ復号手段6に入
力され、これを用いてデータが復号されて出力される。
The branch metric for each branch is calculated by the branch metric calculating means 1 from the data input every one clock, and the value of the calculated branch metric and the path metric of the surviving path calculated one clock before are added. Is added by the comparator 1
The sizes are compared by 7. According to the result of the comparison means 14, the output of the adder 16 having the larger likelihood is the selector 1
It is selected by 8 and used for the calculation in the next clock. On the other hand, the output of the comparator 17 is input to the data decoding means 6, and the data is decoded using this and output.

【0016】しかしながら、上述した図9及び図10に
示したビタビ復号回路では、生き残りパスのパスメトリ
ックは毎回加算されるので、データが入力される度に値
が増加するため、加算器16、比較器17、選択器1
8、レジスタ19等の演算器が扱うデータのワード長を
十分な大きさとするか、あるいは演算の度に生き残りパ
スのパスメトリックの下位ビットを切り捨てることによ
りワード長を制限するか、あるいは図11に示すように
生き残りパスのパスメトリックを正規化するパスメトリ
ック正規化演算手段10ををフィードバックループの中
に挿入する等の処理が必要となってくる。
However, in the Viterbi decoding circuits shown in FIGS. 9 and 10, the path metrics of the surviving paths are added every time, and therefore the value increases each time data is input. Vessel 17, selector 1
8, the word length of the data handled by the arithmetic unit such as the register 19 is made sufficiently large, or the word length is limited by truncating the lower bits of the path metric of the surviving path at each operation, or as shown in FIG. As shown, processing such as inserting the path metric normalization calculating means 10 for normalizing the path metric of the surviving path into the feedback loop becomes necessary.

【0017】[0017]

【発明が解決しようとする課題】上述したワード長を十
分な大きさとする方法は復号のブロック単位が小さい場
合は有効であるが、光ディスクのように復号単位が1セ
クターで数百バイトになる場合は、非常に長いワード長
が必要になり、特に加算器16、比較器17の演算に要
する時間が長くなるため、1クロック時間内で処理する
には、クロック周期を長くしなければならず、高速に動
作させることができない。
The method of making the word length sufficiently large is effective when the block unit for decoding is small, but when the decoding unit is several hundred bytes in one sector like an optical disk. Requires a very long word length, and in particular, the time required for the arithmetic operation of the adder 16 and the comparator 17 becomes long. Therefore, in order to perform processing within one clock time, the clock cycle must be lengthened. It cannot be operated at high speed.

【0018】また、生き残りパスのパスメトリックの下
位ビットを切り捨てる方法では、パスメトリックの精度
が失われ、ビタビ復号回路の性能が低下してしまう。
Further, in the method of truncating the lower bits of the path metric of the surviving path, the accuracy of the path metric is lost and the performance of the Viterbi decoding circuit deteriorates.

【0019】更に、フィードバックループ内にパスメト
リックを正規化するための演算器を挿入する方法が最も
有効であるが、1クロック時間内に処理しなければなら
ない演算処理が増えるためクロック周期を長くしなけれ
ばならず、高速に動作させることができない。
Further, the method of inserting an arithmetic unit for normalizing the path metric in the feedback loop is the most effective, but since the arithmetic processing which must be processed within one clock time increases, the clock cycle is lengthened. It must be operated at a high speed.

【0020】本発明は、上記のような課題を解消するた
めになされたもので、演算の精度を落とすことなく、演
算に用いる値が常に増加することを抑え、フィードバッ
クループ内の演算段数を低減することにより、高速動作
が可能なビタビ復号回路を提供することを目的とする。
The present invention has been made in order to solve the above-mentioned problems, and it is possible to prevent the value used for the calculation from always increasing without lowering the accuracy of the calculation and to reduce the number of calculation stages in the feedback loop. By doing so, it is an object of the present invention to provide a Viterbi decoding circuit that can operate at high speed.

【0021】[0021]

【課題を解決するための手段】本発明によれば、前述の
目的は、入力データから各ブランチメトリック間の差を
演算する差分ブランチメトリック演算手段と、前記演算
された各ブランチメトリック間の差と前回までの入力デ
ータから演算されかつフィードバックされた各生き残り
パス間のパスメトリックの差を用いて各生き残りパスを
判定する生き残りパス判定手段と、前記演算された各ブ
ランチメトリック間の差と前記各生き残りパス間のパス
メトリックの差を用いて各パスメトリック間の差を演算
する差分パスメトリック演算手段と、生き残りパス判定
手段の結果に基づいて差分パスメトリック演算手段の出
力の中から各生き残りパス間のパスメトリックの差を選
択する差分パスメトリック選択手段と、前回までの入力
データを用いて演算された各生き残りパス間のパスメト
リックの差を生き残りパス判定手段及び差分パスメトリ
ック演算手段へフィードバックする保持手段と、生き残
りパス判定手段の出力からデータを復号するデータ復号
手段とを具備する請求項1に記載のビタビ復号回路によ
って達成される。
According to the present invention, the above object is to provide a difference branch metric calculation means for calculating a difference between branch metrics from input data, and a difference between the calculated branch metrics. Survivor path determination means for determining each survivor path by using the difference in path metric between each survivor path calculated from the input data up to the previous time, and the difference between each calculated branch metric and each survivor. The difference path metric calculating means for calculating the difference between the respective path metrics using the difference in the path metric between the paths, and the difference path metric calculating means based on the result of the surviving path determining means between the respective surviving paths. It is performed by using the difference path metric selection means for selecting the difference of the path metric and the input data up to the previous time. 3. The method further comprising: holding means for feeding back the difference in path metric between the respective surviving paths to the surviving path determining means and the differential path metric calculating means; and data decoding means for decoding data from the output of the surviving path determining means. This is achieved by the Viterbi decoding circuit described in.

【0022】なお、前記生き残りパス判定手段は、差分
ブランチメトリック演算手段の出力と前回までの入力デ
ータから演算されかつフィードバックされた各生き残り
パス間のパスメトリックとの差を比較することにより生
き残りパスを判定するようにするとよい。
The survivor path determination means determines the survivor path by comparing the difference between the output of the differential branch metric calculator means and the path metric between the survivor paths calculated and fed back from the previous input data. You should make a decision.

【0023】更に、前記差分パスメトリック演算手段
は、差分ブランチメトリック演算手段の出力と前回まで
の入力データから演算されかつフィードバックされた各
生き残りパス間のパスメトリックとの差を加算あるいは
減算することにより各パスメトリックの差を演算するこ
とが好ましい。
Further, the differential path metric calculating means adds or subtracts the difference between the output of the differential branch metric calculating means and the path metric between the surviving paths calculated and fed back from the input data up to the previous time. It is preferable to calculate the difference between each path metric.

【0024】また、前記パスメトリック演算手段により
差分ブランチメトリック演算手段の出力から前回までの
入力データから演算されかつフィードバックされた各生
き残りパス間のパスメトリックの差が減算される場合、
前記差分ブランチメトリック演算手段は、本来の値に1
を加算した場合と等しい値を出力し、前記差分パスメト
リック演算手段は、前回までの入力データから演算され
かつフィードバックされた各生き残りパス間のパスメト
リックの差を反転してから加算するようにしてもよい。
Further, when the path metric difference between the surviving paths calculated and fed back from the input data up to the previous time from the output of the differential branch metric calculator is subtracted by the path metric calculator,
The differential branch metric calculation means has 1 as the original value.
And outputs the same value as the case of adding, and the difference path metric calculating means inverts the difference in the path metric between the surviving paths calculated and fed back from the input data up to the previous time, and then adds the values. Good.

【0025】[0025]

【作用】請求項1に記載のビタビ復号回路においては、
フィードバックループ外で演算された各ブランチメトリ
ックの差と、前回の入力データにより演算されかつフィ
ードバックされた各生き残りパス間の差を用いて各生き
残りパスが判定され、フィードバックループ外で演算さ
れた各ブランチメトリック間の差と、前回の入力データ
により演算されかつフィードバックされた各生き残りパ
スの差を用いて演算された各パスメトリック間の差が、
前記生き残りパスの判定結果に従い選択されて保持され
る。
In the Viterbi decoding circuit according to claim 1,
Each survivor path is judged using the difference between each branch metric calculated outside the feedback loop and each survivor path calculated and fed back from the previous input data, and each branch calculated outside the feedback loop The difference between the metrics and the difference between each path metric calculated using the difference between each surviving path calculated and fed back from the previous input data is
It is selected and held according to the determination result of the surviving path.

【0026】これら各生き残りパス間のパスメトリック
の差はデータが入力される度に増大していくことはない
ため、保持しているデータすなわちフィードバックされ
るデータのワード長を短く抑えることができる。
Since the difference in path metric between these surviving paths does not increase each time data is input, the word length of the held data, that is, the data to be fed back can be suppressed to be short.

【0027】従って、フィードバックループ内にパスメ
トリックを正規化するための演算器を設ける必要がない
ので、高速に動作するビタビ復号回路を構成することが
できる。また、各パスメトリック間の差はフィードバッ
クループ外で演算されるため、パイプライン化等の手法
を使用することができ、高速化の妨げとはならない。
Therefore, since it is not necessary to provide an arithmetic unit for normalizing the path metric in the feedback loop, a Viterbi decoding circuit which operates at high speed can be constructed. Further, since the difference between the path metrics is calculated outside the feedback loop, it is possible to use a technique such as pipelining, which does not hinder the speedup.

【0028】請求項2に記載のビタビ復号回路において
は、各生き残りパスの判定は、各ブランチメトリックの
差と保持されている各生き残りパス間のパスメトリック
の差を比較することにより行うので、簡単な演算で生き
残りパスを判定することができ、フィードバックループ
内の演算段数を少なくすることができ、高速動作にとっ
ても有効である。
In the Viterbi decoding circuit according to a second aspect of the present invention, each survivor path is determined by comparing the difference in each branch metric with the difference in path metric between the retained survivor paths. The survivor path can be determined by various calculations, the number of calculation stages in the feedback loop can be reduced, and this is also effective for high-speed operation.

【0029】請求項3に記載のビタビ復号回路において
は、各パスメトリック間の差の演算はフィードバックル
ープ外で演算された各ブランチメトリックの差を加算あ
るいは減算することにより行われ、簡単な演算で各パス
メトリックの差を演算することができるため、フィード
バックループ内の演算段数を少なくすることができ、高
速動作にとっても有効である。
In the Viterbi decoding circuit according to the third aspect of the present invention, the difference between the path metrics is calculated by adding or subtracting the difference between the branch metrics calculated outside the feedback loop, which is a simple calculation. Since the difference between the path metrics can be calculated, the number of calculation stages in the feedback loop can be reduced, which is also effective for high-speed operation.

【0030】請求項4に記載のビタビ復号回路において
は、各パスメトリック間の差の演算において、フィード
バックループ外で演算された各ブランチメトリック間の
差からフィードバックされた生き残りパス間のパスメト
リックの差が減算される場合、差分パスメトリック演算
は本来ならフィードバックされた生き残りパス間のパス
メトリックの差を減算するため、”2”の補数を取った
後に加算すべきだが、ブランチメトリック演算において
本来の値に”1”を加算した場合と等しい値が出力され
るので、差分パスメトリック演算ではフィードバックさ
れた生き残りパス間の差を単に反転してから加算すれば
よく、演算が単純になるため、フィードバックループ内
の演算段数を少なくでき、高速動作にとって有利であ
る。
In the Viterbi decoding circuit according to the fourth aspect, in calculating the difference between the path metrics, the difference in the path metric between the surviving paths fed back from the difference between the branch metrics calculated outside the feedback loop. When subtracting, the difference path metric calculation should subtract after subtracting the complement of "2" to subtract the path metric difference between the surviving paths that were fed back. Since a value equal to the value obtained by adding "1" to is output, the difference path metric calculation can be performed by simply inverting the difference between the surviving paths fed back and then adding the result. This is advantageous for high-speed operation because the number of calculation stages can be reduced.

【0031】[0031]

【実施例】以下、本発明のビタビ復号回路の構成を図1
を参照しながら説明する。
1 is a block diagram showing the arrangement of a Viterbi decoding circuit according to the present invention.
Will be described with reference to.

【0032】ビタビ復号回路は、入力データから各ブラ
ンチメトリック間の差を演算する差分ブランチメトリッ
ク演算手段1と、差分ブランチメトリック演算手段1に
より算出された各ブランチメトリック間の差と前回まで
の入力データから演算されかつフィードバックされた各
生き残りパス間のパスメトリックの差を用いて各生き残
りパスを判定する生き残りパス判定手段2と、差分ブラ
ンチメトリック演算手段1により演算された各ブランチ
メトリック間の差と前回までの入力データから演算され
かつフィードバックされた各生き残りパス間のパスメト
リックの差を用いて各パスメトリック間の差を演算する
差分パスメトリック演算手段3と、生き残りパス判定手
段2の結果に基づいて差分パスメトリック演算手段3の
出力の中から各生き残りパス間のパスメトリックの差を
選択する差分パスメトリック選択手段4と、前回までの
入力データを用いて演算された各生き残りパス間のパス
メトリックの差を生き残りパス判定手段2及び差分パス
メトリック演算手段3へフィードバックする保持手段5
と、生き残りパス判定手段2の出力からデータを復号す
るデータ復号手段6とを具備している。
The Viterbi decoding circuit comprises a differential branch metric calculating means 1 for calculating the difference between the branch metrics from the input data, a difference between the branch metrics calculated by the differential branch metric calculating means 1 and the previous input data. The difference between the survivor path determination means 2 for determining each survivor path using the difference in the survivor paths calculated and fed back from the above, and the difference between each branch metric calculated by the differential branch metric calculator 1 and the previous time. Based on the results of the difference path metric calculation means 3 for calculating the difference between the respective path metrics by using the path metric difference between the respective surviving paths calculated from the input data up to Each output from the output of the differential path metric calculation means 3 Difference path metric selecting means 4 for selecting the difference in path metric between the remaining paths, survivor path determining means 2 for calculating the difference in path metric between the surviving paths calculated using the input data up to the previous time, and difference path metric calculation Holding means 5 for feeding back to the means 3
And a data decoding means 6 for decoding data from the output of the survivor path determination means 2.

【0033】次に、上述したビタビ復号回路の動作につ
いて説明する。
Next, the operation of the above Viterbi decoding circuit will be described.

【0034】差分ブランチメトリック演算手段1には、
例えば光ディスクからの再生信号がA/Dコンバータに
より量子化され、等化回路によりPR方式に等化された
データが入力データとして1クロック毎に入力される。
差分ブランチメトリック演算手段1により上記の入力デ
ータから全ブランチ間のブランチメトリックの差が演算
されて出力される。生き残りパス判定手段2により差分
ブランチメトリック演算手段1の出力と保持手段5に保
持されている1クロック前までの各生き残りパス間のパ
スメトリックの差が演算されて生き残りパスが判定され
る。差分パスメトリック演算手段3により差分ブランチ
メトリック演算手段1の出力と保持手段5に保持されて
いる1クロック前までの各生き残りパス間のパスメトリ
ックの差を用いて各生き残りパスから遷移するパスのパ
スメトリックが演算される。差分パスメトリック選択手
段4により生き残りパス判定手段2の出力に対応して差
分パスメトリック演算手段3の出力が選択される。保持
手段5により差分パスメトリック選択手段4の出力が各
生き残りパス間のパスメトリックの差として保持され、
この値がフィードバックされ、次のデータが入力したと
きの演算に使用される。データ復号手段6により生き残
りパス判定手段2の出力を用いてデータの復号が行われ
る。
The differential branch metric calculation means 1 includes
For example, a reproduction signal from an optical disc is quantized by an A / D converter, and data equalized by the PR system by the equalization circuit is input as input data every clock.
The difference branch metric calculator 1 calculates the branch metric difference between all the branches from the above input data and outputs it. The survivor path determination unit 2 calculates the difference between the output of the differential branch metric operation unit 1 and the path metric of each survivor path stored in the storage unit 5 up to one clock before and determines the survivor path. The path of the path that transitions from each surviving path by using the difference in the output of the differential branch metric calculating means 1 by the differential path metric calculating means 3 and the path metric between the surviving paths held by the holding means 5 up to one clock before The metric is calculated. The output of the differential path metric calculating means 3 is selected by the differential path metric selecting means 4 corresponding to the output of the surviving path determining means 2. The holding means 5 holds the output of the differential path metric selecting means 4 as the path metric difference between the surviving paths,
This value is fed back and used for the calculation when the next data is input. The data decoding means 6 decodes the data using the output of the surviving path determination means 2.

【0035】なお、生き残りパス判定手段2における生
き残りパスの判定は、保持手段5の出力と、差分ブラン
チメトリック演算手段1の出力とが比較されることによ
って行われる。差分パスメトリック演算手段3における
差分パスメトリックの演算は、差分ブランチメトリック
演算手段1の出力と保持手段5の出力とが加算あるいは
減算されることによって行われる。これらの演算方法
は、後に詳細に説明する。 以上のように、常に各生き
残りパス間のパスメトリックの差が演算され、これをフ
ィードバックして次の演算を行うので、従来例のように
値が累積して増加することがなく、ワード長は小さく抑
えることができる。保持手段5により各生き残りパスの
パスメトリックの差が保持されているため、データが入
力される度に増加してゆくことはない。従って、下位ビ
ットを切り捨てたり、パスメトリック正規化手段を設け
なくてもワード長を短く抑えられるので、高速に動作さ
せることができ、回路規模も抑えることができる。
The survival path determination means 2 determines the survival path by comparing the output of the holding means 5 with the output of the differential branch metric calculation means 1. The calculation of the differential path metric in the differential path metric calculating means 3 is performed by adding or subtracting the output of the differential branch metric calculating means 1 and the output of the holding means 5. These calculation methods will be described in detail later. As described above, the difference in the path metric between the surviving paths is always calculated, and this is fed back to perform the next calculation. Therefore, unlike the conventional example, the value does not accumulate and increase, and the word length is It can be kept small. Since the holding means 5 holds the difference in the path metric of each surviving path, it does not increase each time data is input. Therefore, the word length can be shortened without discarding the lower bits or providing the path metric normalization means, so that the operation can be performed at high speed and the circuit scale can be suppressed.

【0036】また、生き残りパス判定手段2と差分パス
メトリック演算手段3とが並列動作であり、パスメトリ
ック正規化手段も必要ないことから、フィードバックル
ープ内のクリティカルパスは、 生き残りパス判定手段2→差分パスメトリック選択手段
4→保持手段5 か、あるいは、 差分パスメトリック演算手段3→差分パスメトリック選
択手段4→保持手段5 となるので、従来より短くすることができ、高速に動作
させることができる。
Further, since the survivor path determining means 2 and the differential path metric calculating means 3 operate in parallel and the path metric normalizing means is not necessary, the critical path in the feedback loop is the survivor path determining means 2 → difference. Since the path metric selecting means 4 → holding means 5 or the differential path metric calculating means 3 → differential path metric selecting means 4 → holding means 5 is used, the length can be shortened and the operation can be performed at high speed.

【0037】差分ブランチメトリック演算手段1は、フ
ィードバックループの外に構成され、フィードフォーワ
ード処理であるのでパイプライン化が可能であり、高速
動作の障害とはならない。
Since the differential branch metric calculation means 1 is formed outside the feedback loop and is feedforward processing, it can be pipelined and does not become an obstacle to high speed operation.

【0038】次に、光ディスクに記録されたデータの再
生信号を、PR(1,2,1)特性に等化し、これを最
尤復号する、本発明の第1のビタビ復号回路の実施例に
ついて図2を参照しながら説明する。
Next, an embodiment of the first Viterbi decoding circuit of the present invention for equalizing the reproduction signal of the data recorded on the optical disk into the PR (1,2,1) characteristic and performing maximum likelihood decoding This will be described with reference to FIG.

【0039】差分ブランチメトリック演算手段1は、複
数の差分ブランチメトリック演算器101〜128によ
り構成されている。生き残りパス判定手段2は、複数の
比較器201〜204により構成されている。差分パス
メトリック演算手段3は複数の加算器301〜320に
より構成されている。差分パスメトリック選択手段4は
複数の選択器401〜407により構成されている。保
持手段5は、複数のレジスタ501〜506により構成
されている。
The differential branch metric calculator 1 is composed of a plurality of differential branch metric calculators 101 to 128. The survivor path determination means 2 is composed of a plurality of comparators 201 to 204. The differential path metric calculation means 3 is composed of a plurality of adders 301 to 320. The differential path metric selection means 4 is composed of a plurality of selectors 401 to 407. The holding unit 5 is composed of a plurality of registers 501 to 506.

【0040】入力データがPR(1,2,1)特性に等
化されていると考えた場合のトレリス線図は図3に示す
ようになる。図3において、状態遷移を示す矢印の符号
b00〜b33は、矢印で示した状態遷移の確からしさ
であるブランチメトリックを示しており、例えばk時点
において、状態S00であったパスがk+1時点におい
て状態S01に遷移したと考えた場合(以降、状態遷移
S00k→S01k+1と記す。)のブランチメトリックは
b01、状態遷移S11k→S10k+1の場合のブランチ
メトリックはb32と記してある。
The trellis diagram when the input data is considered to be equalized to the PR (1,2,1) characteristic is as shown in FIG. In FIG. 3, reference symbols b00 to b33 indicating the state transitions indicate branch metrics that are the likelihoods of the state transitions indicated by the arrows. For example, a path that was in state S00 at a time point k is a state at a time point k + 1. The branch metric when the transition to S01 is considered (hereinafter, described as state transition S00 k → S01 k + 1 ) is described as b01, and the branch metric when state transition S11 k → S10 k + 1 is described as b32. .

【0041】各ブランチメトリックは以下のような演算
により得られる。
Each branch metric is obtained by the following calculation.

【0042】b00=2・yk+1・d0−d0 2 b02=2・yk+1・d1−d1 2 b21=2・yk+1・d2−d2 2 b23=2・yk+1・d3−d3 2 b10=2・yk+1・d1−d1 2 b12=2・yk+1・d2−d2 2 b31=2・yk+1・d3−d3 2 b33=2・yk+1・d4−d4 2 上記のyk+1 は、k+1時点の復号回路入力データであ
り、d0〜d4は、対応する状態遷移が起きた時の入力デ
ータの期待値である。
B00 = 2 · y k + 1 · d 0 −d 0 2 b02 = 2 · y k + 1 · d 1 −d 1 2 b21 = 2 · y k + 1 · d 2 −d 2 2 b23 = 2 · y k + 1 · d 3 −d 3 2 b10 = 2 · y k + 1 · d 1 −d 1 2 b 12 = 2 · y k + 1 · d 2 −d 2 2 b 31 = 2 · y k + 1 · d 3 −d 3 2 b 33 = 2 · y k + 1 · d 4 −d 4 2 The above y k + 1 is the decoding circuit input data at the time point k + 1, and d 0 to d 4 correspond to it. It is the expected value of the input data when a state transition occurs.

【0043】図2に示したビタビ復号回路は、図3のト
レリス線図に沿って状態が遷移する符号を最尤復号する
復号回路である。
The Viterbi decoding circuit shown in FIG. 2 is a decoding circuit for performing maximum likelihood decoding on a code whose state changes along the trellis diagram of FIG.

【0044】差分ブランチメトリック演算手段1では、
1クロック毎に入力される入力データからそれぞれ二つ
のブランチ間のブランチメトリックの差が全ての組み合
わせについて演算される。図示例では8個のブランチが
存在するから28通りの組み合わせが存在し、それらの
全てについてのブランチメトリックの差が演算される。
In the differential branch metric calculation means 1,
The branch metric differences between the two branches are calculated for all the combinations from the input data input every one clock. In the illustrated example, since there are 8 branches, 28 combinations exist, and the branch metric differences for all of them are calculated.

【0045】差分ブランチメトリック演算手段1の構成
要素である差分ブランチメトリック演算器101〜12
8の符号は図3と同様であり、例えば差分ブランチメト
リック演算器105の中には「b21−b00」と記さ
れているが、これは状態遷移S00k→S00k+1の場合
のブランチメトリックb00と、状態遷移S10k→S
01k+1の場合のブランチメトリックb21との差を演
算することを表している。
Difference branch metric calculators 101 to 12 which are constituent elements of the difference branch metric calculator 1
The reference numeral 8 is the same as that in FIG. 3, and for example, it is described as “b21−b00” in the differential branch metric calculator 105, but this is the branch metric in the case of the state transition S00 k → S00 k + 1. b00 and state transition S10 k → S
This indicates that the difference from the branch metric b21 in the case of 01 k + 1 is calculated.

【0046】生き残りパス判定手段2の比較器201〜
204は、入力された二つの値の大小を比較し、その比
較結果を出力する。比較器201〜204は、入力A>
入力Bのとき0、入力A≦入力Bのとき1を出力Yから
出力する。
Comparators 201 to 1 of the survivor path judging means 2
204 compares the magnitudes of the two input values and outputs the comparison result. The comparators 201 to 204 have inputs A>
Output 0 outputs 0 when input B and 1 when input A ≦ input B.

【0047】差分パスメトリック演算手段3の複数の加
算器301〜320により、入力Aと入力Bとが加算さ
れて出力Yとして出力される。加算器301〜320の
入力に○印を付加しているものは、該当する入力の全ビ
ットを反転してから加算することを意味している。
The input A and the input B are added by the plurality of adders 301 to 320 of the differential path metric calculation means 3 and output as the output Y. A mark ◯ added to the inputs of the adders 301 to 320 means that all the bits of the corresponding inputs are inverted before the addition.

【0048】差分パスメトリック選択手段4の選択器4
01〜407により入力S1、S2に対応して以下のよ
うに入力A、B、C、Dが選択され出力Yから出力され
る。 S1=0、S2=0のときAを出力 S1=0、S2=1のときBを出力 S1=1、S2=0のときCを出力 S1=1、S2=1のときDを出力 これらの選択器401〜407の出力は、前回のデータ
により各状態に遷移してきた各生き残りパス中の全ての
組み合わせについてのパスメトリックの差であり、この
例では状態数が4なので、生き残りパスは4本存在す
る。従って、生き残りパス間のパスメトリックの差は6
個存在し、それらを図2の中ではΔ01、Δ23、Δ0
2、Δ21、Δ13、Δ03と記している。
Selector 4 of the differential path metric selection means 4
Inputs A, B, C, and D are selected from 01 to 407 in correspondence with the inputs S1 and S2 as follows, and output from the output Y. Outputs A when S1 = 0 and S2 = 0 Outputs B when S1 = 0 and S2 = 1 Outputs C when S1 = 1 and S2 = 0 Outputs D when S1 = 1 and S2 = 1 The outputs of the selectors 401 to 407 are path metric differences for all combinations in each surviving path that has transited to each state by the previous data. In this example, the number of states is 4, so there are 4 surviving paths. Exists. Therefore, the path metric difference between surviving paths is 6
2 exist, and they are represented by Δ01, Δ23, Δ0 in FIG.
2, Δ21, Δ13, and Δ03.

【0049】これらの記号は以下のような状態に遷移し
ている各生き残りパス間のパスメトリックの差を表して
いる。
These symbols represent the difference in the path metric between the surviving paths transiting to the following states.

【0050】Δ01=状態S01に遷移している生き残
りパスのパスメトリックと状態S00に遷移している生
き残りパスのパスメトリックとの差 Δ23=状態S11に遷移している生き残りパスのパス
メトリックと状態S10に遷移している生き残りパスの
パスメトリックとの差 Δ02=状態S10に遷移している生き残りパスのパス
メトリックと状態S00に遷移している生き残りパスの
パスメトリックとの差 Δ21=状態S01に遷移している生き残りパスのパス
メトリックと状態S10に遷移している生き残りパスの
パスメトリックとの差 Δ13=状態S11に遷移している生き残りパスのパス
メトリックと状態S01に遷移している生き残りパスの
パスメトリックとの差 Δ03=状態S11に遷移している生き残りパスのパス
メトリックと状態S00に遷移している生き残りパスの
パスメトリックとの差 保持手段5の複数のレジスタ501〜506の内部に記
号Δ01、Δ23、Δ02、Δ21、Δ13、Δ03と
記されているのは、上述した各生き残りパス間のパスメ
トリックの差が保持されることを示している。
Δ01 = Difference between path metric of surviving path transiting to state S01 and path metric of surviving path transiting to state S00 Δ23 = path metric of surviving path transiting to state S11 and state S10 Difference between the path metric of the surviving path transiting to state Δ02 = difference between the path metric of the surviving path transiting to state S10 and the path metric of the surviving path transiting to state S00 Δ21 = transition to state S01 Difference between the path metric of the surviving path that is present and the path metric of the surviving path that is transiting to state S10 Δ13 = The path metric of the surviving path that is transiting to state S11 and the path metric of the surviving path that is transiting to state S01 Difference Δ03 = path met of surviving path transiting to state S11 Between the clock and the path metric of the surviving path transiting to the state S00. The symbols Δ01, Δ23, Δ02, Δ21, Δ13, Δ03 are written inside the plurality of registers 501 to 506 of the holding means 5. , The path metric differences between the surviving paths described above are retained.

【0051】以下、ある時点のブランチメトリックやパ
スメトリック間の差を示す場合、それぞれの記号にその
時点を指し示す添字を添加する。例えば、k時点におけ
るブランチメトリックb02はb02k、k+1時点に
おける生き残りパス間のパスメトリックの差Δ01はΔ
01k+1と記述する。
Hereinafter, when showing a difference between a branch metric and a path metric at a certain time point, a subscript indicating the time point is added to each symbol. For example, the branch metric b02 at the time point k is b02 k , and the path metric difference Δ01 between the surviving paths at the time point k + 1 is Δ.
Write as 01 k + 1 .

【0052】以下に、Δ01、Δ23、Δ02、Δ2
1、Δ13、Δ03が保持される過程を、Δ01k+1
保持される過程を例にとり説明する。
Below, Δ01, Δ23, Δ02, Δ2
The process of holding 1, Δ13, and Δ03 will be described by taking the process of holding Δ01 k + 1 as an example.

【0053】差分ブランチメトリック演算器101によ
りk+1時点における入力データからb00k+1とb1
k+1の差が演算される。比較器201により差分ブラ
ンチメトリック演算器101の出力とレジスタ501に
保持されているΔ01kとが大小比較される。これは状
態遷移S00k→S00k+1と状態遷移S01k→S00
k+1のどちらのパスがパスメトリックが大きいか、すな
わちより確からしいかを比較していることと等価であ
る。
The differential branch metric calculator 101 calculates b00 k + 1 and b1 from the input data at the time point k + 1.
The difference of 0 k + 1 is calculated. The comparator 201 compares the output of the differential branch metric calculator 101 and Δ01 k held in the register 501 in magnitude. This is the state transition S00 k → S00 k + 1 and the state transition S01 k → S00.
It is equivalent to comparing which path of k + 1 has a larger path metric, that is, more likely.

【0054】Δ01kは状態S00と状態S01に遷移
している生き残りパス間のパスメトリックの差であるか
ら、状態S00に遷移している生き残りパスのメトリッ
クを基点として考えて、b00k+1とΔ01k+b10
k+1とを比較することで得られる。これはb00k+1−b
10k+1とΔ01kを比較することである。従って、差分
ブランチメトリック演算器101とレジスタ501の出
力を比較器201によって比較するという演算によって
状態遷移S00k→S00k+1と状態遷移S01k→S0
k+1のどちらが生き残りパスなのかという判定結果が
得られる。
Since Δ01 k is the difference in the path metric between the surviving paths transiting to the state S00 and the state S01, the metric of the surviving path transiting to the state S00 is considered as the base point, and b00 k + 1 is obtained. Δ01 k + b10
It is obtained by comparing with k + 1 . This is b00 k + 1 −b
Comparing 10 k + 1 with Δ01 k . Therefore, the state transition S00 k → S00 k + 1 and the state transition S01 k → S0 are calculated by comparing the outputs of the differential branch metric calculator 101 and the register 501 by the comparator 201.
It is possible to obtain the determination result of which of 0 k + 1 is the surviving path.

【0055】差分ブランチメトリック演算器103によ
りk+1時点における入力データからb21k+1とb3
k+1の差が演算される。比較器203により差分ブラ
ンチメトリック演算器103の出力とレジスタ502に
保持されているΔ23kとが比較される。これは状態遷
移S10k→S11k+1と状態遷移S11k→S11k+1
どちらのパスがパスメトリックが大きいかを比較するこ
とと等価であるので、比較器203の出力は状態遷移S
10k→S11k+1と状態遷移S11k→S11k+1のどち
らが生き残りパスなのかという判定結果である。
The differential branch metric calculator 103 calculates b21 k + 1 and b3 from the input data at the time point k + 1.
A difference of 1 k + 1 is calculated. The comparator 203 compares the output of the differential branch metric calculator 103 with the Δ23 k held in the register 502. This is equivalent to comparing which path of the state transition S10 k → S11 k + 1 and the state transition S11 k → S11 k + 1 has a larger path metric, and therefore the output of the comparator 203 is the state transition S
It is the determination result of which of 10 k → S11 k + 1 and state transition S11 k → S11 k + 1 is the surviving path.

【0056】同様に、比較器202の出力は状態遷移S
00k→S10k+1と状態遷移S01k→S10k+1のどち
らが生き残りパスなのかという判定結果であり、比較器
204の出力は状態遷移S10k→S11k+1と状態遷移
S11k→S11k+1のどちらが生き残りパスなのかとい
う判定結果である。
Similarly, the output of the comparator 202 is the state transition S
The result of the determination is which one of 00 k → S10 k + 1 and state transition S01 k → S10 k + 1 is the surviving path, and the output of the comparator 204 is state transition S10 k → S11 k + 1 and state transition S11 k → This is the determination result as to which of S11 k + 1 is the surviving path.

【0057】差分ブランチメトリック演算器105によ
りk+1時点における入力データからb21k+1とb0
k+1の差が演算される。加算器301により差分ブラ
ンチメトリック演算器105の出力とレジスタ503の
出力が加算される。生き残りパスが仮に状態遷移S00
k→S00k+1かつ状態遷移S10k→S01k+1であった
としたとき、S00kを基点と考えると、状態遷移S0
k→S00k+1のパスメトリックはb00k+1となり、
状態遷移S10k→S01k+1のパスメトリックはΔ02
k+b21k+1となり、Δ01kはS00k+1に遷移するパ
スとS01k+1に遷移するパスとの差であるので、 Δ01k=(Δ02k+b21k+1)−b00k+1 =Δ02k+(b21k+1−b00k+1) となる。従って、加算器301の出力は、生き残りパス
が状態遷移S00k→S00k+1かつ状態遷移S10k
S01k+1であったとしたときのΔ01k+1を示してい
る。同様に、加算器302の出力は、生き残りパスが状
態遷移S00k→S00k+1かつ状態遷移S11k→S0
k+1であったとしたときのΔ01k+1を示しており、加
算器304の出力は、生き残りパスが状態遷移S01k
→S00k+1かつ状態遷移S11k→S01k+1であった
としたときのΔ01k+1を示している。加算器303の
出力は、生き残りパスが状態遷移S01k→S00k+1
つ状態遷移S10k→S01k+1であったとしたときのΔ
01k+1を示しているのであるが、この場合、 Δ01k+1=b21k+1−(b10k+1+Δ21k) =(b21k+1−b10k+1)−Δ21k であるので、Δ21kを減算する必要がある。そのため
には、Δ21kの2の補数をとって加算すればよいが、
その処理にはΔ21kの全ビットを反転して、それに1
を加算しなければならない。しかし、フィードバックル
ープ内に1を加算するための回路を挿入することは動作
速度の低下を招く。従って、ここでは1を加算するとい
う処理だけを分離してフィードバックループの外に出
し、ブランチメトリック演算器107で1を加算してい
る。これによってフィードバックループ内では加算器3
03の入力段にて減算処理のための反転のみを行えばよ
いので、演算段数を抑えることができ、高速に動作させ
ることができる。
The differential branch metric calculator 105 calculates b21 k + 1 and b0 from the input data at the time point k + 1.
The difference of 0 k + 1 is calculated. The adder 301 adds the output of the differential branch metric calculator 105 and the output of the register 503. If the surviving path is in state transition S00
Assuming that k → S00 k + 1 and state transition S10 k → S01 k + 1 , if S00 k is considered as a base point, state transition S0
The path metric of 0 k → S00 k + 1 is b00 k + 1 ,
The path metric of the state transition S10 k → S01 k + 1 is Δ02.
Since k + b21 k + 1 , Δ01 k is the difference between the path transiting to S00 k + 1 and the path transiting to S01 k + 1 , Δ01 k = (Δ02 k + b21 k + 1 ) −b00 k + 1 = Δ02 k + (b21 k + 1 −b00 k + 1 ). Therefore, the output of the adder 301 is such that the surviving path has state transition S00 k → S00 k + 1 and state transition S10 k
It shows Δ01 k + 1 when S01 k + 1 . Similarly, the output of the adder 302 is such that the surviving path has state transition S00 k → S00 k + 1 and state transition S11 k → S0.
Shows a Δ01 k + 1 when a was 1 k + 1, the output of the adder 304, the survivor path state transition S01 k
→ S00 k + 1 and shows a Δ01 k + 1 when a was in a state transition S11 k → S01 k + 1. The output of the adder 303 is Δ when the surviving path is the state transition S01 k → S00 k + 1 and the state transition S10 k → S01 k + 1.
Although 01 k + 1 is shown, in this case, Δ01 k + 1 = b21 k + 1 − (b10 k + 1 + Δ21 k ) = (b21 k + 1 −b10 k + 1 ) −Δ21 k . Therefore, it is necessary to subtract Δ21 k . For that purpose, the two's complement of Δ21 k may be taken and added.
To do that, invert all bits of Δ21 k and add 1
Must be added. However, inserting a circuit for adding 1 in the feedback loop causes a decrease in operating speed. Therefore, here, only the process of adding 1 is separated and put out of the feedback loop, and 1 is added by the branch metric calculator 107. This causes the adder 3 in the feedback loop.
Since only the inversion for the subtraction process needs to be performed at the input stage 03, the number of operation stages can be suppressed and the operation can be performed at high speed.

【0058】ブランチメトリック演算器111、11
5、119、123、127についても同様の作用を得
るために1が加算されており、加算器307。310、
313、316、319の入力段の反転処理も同様に行
われる。
Branch metric calculators 111 and 11
In order to obtain a similar operation, 5 is added to 5 119 123 and 127, and adders 307 and 310 are added.
The inversion processing of the input stages 313, 316, and 319 is similarly performed.

【0059】選択器401により比較器201と比較器
203の結果に従い加算器301、302、303、3
04の出力の内から一つが選択、出力され、この出力が
Δ01k+1としてレジスタ501に保持される。例え
ば、比較器201の出力が1で、比較器203の出力が
0であった場合、生き残りパスが状態遷移S01k→S
00k+1かつ状態遷移S10k→S01k+1であったこと
を示しているので、加算器303の出力が選択器401
により選択され、Δ01k+1としてレジスタ501に保
持される。この動作は、生き残りパス判定手段2の判定
結果がどのような値であっても生き残りパスから遷移す
るパスの全組み合わせについて同時に演算されているの
で、動作に遅延が生じることはない。
The adder 301, 302, 303, 3 according to the results of the comparator 201 and the comparator 203 by the selector 401.
One of the outputs of 04 is selected and output, and this output is held in the register 501 as Δ01 k + 1 . For example, when the output of the comparator 201 is 1 and the output of the comparator 203 is 0, the surviving path has a state transition S01 k → S.
Since 00 k + 1 and the state transition S10 k → S01 k + 1 are shown, the output of the adder 303 is the selector 401.
And is held in the register 501 as Δ01 k + 1 . This operation is calculated simultaneously for all combinations of paths that transit from the surviving path, regardless of the value of the judgment result of the surviving path judging means 2, so there is no delay in the operation.

【0060】以上はΔ01k+1が演算されて保持される
過程を説明したが、Δ01k、Δ23k、Δ02k、Δ2
k、Δ13k、Δ03kとb00k+1〜b33k+1を用い
てΔ01k+1、Δ23k+1、Δ02k+1、Δ21k+1、Δ1
k+1、Δ03k+1が演算されて保持される過程は上述同
様であり、説明を省略する。
Although the process of calculating and holding Δ01 k + 1 has been described above, Δ01 k , Δ23 k , Δ02 k and Δ2
1 k, Δ13 k, Δ03 k and b00 k + 1 ~b33 k + 1 Δ01 k + 1 using, Δ23 k + 1, Δ02 k + 1, Δ21 k + 1, Δ1
The process of calculating and holding 3 k + 1 and Δ03 k + 1 is the same as described above, and a description thereof will be omitted.

【0061】以上のように、レジスタ501〜506は
生き残りパスのパスメトリックの差を保持している。こ
の例の場合、四つの生き残りパスが存在するのである
が、これら生き残りパスのパスメトリックの差は常に実
用レベルで小さく、データが入力される度に増加してい
くことはないので、ワード長は短くてよい。従って、加
算器、比較器等の演算処理が短時間で行えるため、高速
動作が可能となる。
As described above, the registers 501 to 506 hold the path metric differences of the surviving paths. In this example, there are four surviving paths, but the path metric difference between these surviving paths is always small at a practical level and does not increase each time data is input, so the word length is It can be short. Therefore, since the arithmetic processing of the adder, the comparator, etc. can be performed in a short time, high speed operation becomes possible.

【0062】また、生き残りパスの判定は、各ブランチ
メトリックの差と各生き残りパス間のパスメトリックの
差を比較することにより得られ、生き残りパスの間のパ
スメトリックはブランチメトリックの差と生き残りパス
の間のパスメトリックの差とを加算することにより得ら
れるため、処理が単純かつ短時間で行え、フィードバッ
クループ内クリティカルパスは「比較器→選択器→レジ
スタ」かあるいは「加算器→選択器→レジスタ」とな
り、従来装置の「加算器→比較器→選択器→パスメトリ
ック正規化回路→レジスタ」よりも処理時間を短く抑え
ることができるため、高速動作が可能となる。また、差
分パスメトリック演算手段3において減算処理が必要な
場合であっても差分ブランチメトリック演算手段1にお
いて予め1を加算しておくので、入力を反転して加算す
れば減算処理を行うことができ、フィードバックループ
内の演算処理時間を短く抑えることができ、高速動作が
可能となる。
The determination of the surviving path is obtained by comparing the difference between the branch metrics and the difference between the path metrics between the surviving paths, and the path metric between the surviving paths is obtained by comparing the difference between the branch metrics and the surviving path. Since it can be obtained by adding the path metric difference between the two, the processing can be performed simply and in a short time, and the critical path in the feedback loop can be "comparator → selector → register" or "adder → selector → register". Since the processing time can be suppressed to be shorter than that of the “adder → comparator → selector → path metric normalization circuit → register” of the conventional device, high-speed operation is possible. Further, even when the subtraction processing is necessary in the differential path metric calculation means 3, since 1 is added in advance in the differential branch metric calculation means 1, the subtraction processing can be performed by inverting and adding the inputs. The calculation processing time in the feedback loop can be shortened, and high-speed operation is possible.

【0063】なお、データの復号は、生き残りパス判定
手段2の結果を用いてデータ復号手段6で行われる。こ
のデータ復号手段6は図4に示すように、複数の選択器
7及び複数のレジスタ8とから構成されており、選択器
7とレジスタ8とによりシフトレジスタが構成されてお
り、このシフトレジスタは図2の生き残りパス判定手段
2の出力によりシフトされる方向が決められる。選択器
7により入力Sが0のとき入力Aが選択され、また入力
Sが1のとき入力Bが選択されて出力Yから出力する。
従って、シフトレジスタの初段では生き残りパスがどの
ような状態遷移であったかによって復号結果が選ばれ、
次段以降は生き残ったパスの復号結果がコピーされる。
このシフトレジスタの段数をある程度長くすると、最終
段の四つのレジスタの値が同じになる。
The data decoding is performed by the data decoding means 6 using the result of the survivor path determination means 2. As shown in FIG. 4, the data decoding means 6 is composed of a plurality of selectors 7 and a plurality of registers 8, and the selectors 7 and 8 constitute a shift register. The direction to be shifted is determined by the output of the survivor path determining means 2 in FIG. When the input S is 0, the input A is selected by the selector 7, and when the input S is 1, the input B is selected and the output Y is output.
Therefore, at the first stage of the shift register, the decoding result is selected depending on the state transition of the surviving path,
After the next stage, the decoding result of the surviving path is copied.
If the number of stages of this shift register is increased to some extent, the values of the four registers at the final stage will be the same.

【0064】つまり、過去にさかのぼると、四つの生き
残りパスは一つのパスに収束されているのである。従っ
て、シフトレジスタの最終段には生き残りパスの復号結
果が四つのレジスタに同じ値として残る。また、万が
一、上記最終段のレジスタの内の一つが他のレジスタと
値が違っても多数決論理回路9により多いほうの値が選
択される。これらの選択器7とレジスタ8により構成さ
れるシフトレジスタと多数決論理回路9によって復号さ
れたデータは、復号ブロックの最終データの入力が行わ
れてから最終的に残った四つの生き残りパスの中から最
も確からしいものを選択して復号を行った場合のデータ
と実用レベルで等価となる。
In other words, as far back as the past, the four surviving paths are converged into one path. Therefore, in the final stage of the shift register, the decoding result of the surviving path remains as the same value in the four registers. Further, even if one of the final stage registers has a different value from the other registers, the majority value is selected by the majority logic circuit 9. The data decoded by the shift register composed of the selector 7 and the register 8 and the majority logic circuit 9 is selected from the four surviving paths finally left after the final data of the decoding block is input. It is equivalent to the data when the most probable one is selected and decrypted at a practical level.

【0065】以下、本発明のビタビ復号回路の第2の実
施例について説明する。なお、光ディスクに対して例え
ば1−7RLL・NRZI符号や2−7RLL・NRZ
I符号のような最小反転間隔が2チャネルビット以上と
いうランレングス制限を持つ符号を用いて符号化して記
録されたデータの再生信号をPR(1,2,1)特性に
等化し、これを最尤復号する場合について説明する。
The second embodiment of the Viterbi decoding circuit of the present invention will be described below. It should be noted that for the optical disc, for example, 1-7 RLL / NRZI code or 2-7 RLL / NRZ
A reproduction signal of data recorded by encoding using a code having a run length limitation such as an I code having a minimum inversion interval of 2 channel bits or more is equalized to a PR (1,2,1) characteristic, and this is maximized. The case of likelihood decoding will be described.

【0066】入力データがPR(1,2,1)特性に等
化されていると考えかつ最小反転間隔が2チャネルビッ
ト以上というランレングス制限を考慮した場合のトレリ
ス線図は図5に示すようになる。図5において、状態遷
移を示す矢印の符号b00〜b33は、図3と同様であ
るので説明を省略する。
FIG. 5 shows a trellis diagram when the input data is considered to be equalized to the PR (1,2,1) characteristic and the run length limitation that the minimum inversion interval is 2 channel bits or more is taken into consideration. become. In FIG. 5, reference numerals b00 to b33 of arrows indicating state transitions are the same as those in FIG.

【0067】本実施例のビタビ復号回路の構成は、図6
示すようになっており、図2と同一構成部分には同一符
号を付して説明を省略する。
The configuration of the Viterbi decoding circuit of this embodiment is shown in FIG.
The same components as those shown in FIG. 2 are designated by the same reference numerals and the description thereof will be omitted.

【0068】差分ブランチメトリック演算手段1では、
1クロック毎に入力される入力データからそれぞれ二つ
のブランチ間のブランチメトリックの差が全ての組み合
わせについて演算される。図示例では6個のブランチが
存在するから15通りの組み合わせが存在し、それらの
全てについてのブランチメトリックの差が演算される。
In the differential branch metric calculation means 1,
The branch metric differences between the two branches are calculated for all the combinations from the input data input every one clock. In the illustrated example, since there are 6 branches, there are 15 combinations, and the branch metric differences for all of them are calculated.

【0069】差分パスメトリック選択手段4の構成要素
である選択器407〜410により、入力Sが0のとき
は入力Aが選択され、入力Sが1のときは入力Bが選択
され、出力Yから出力される。
Inputs A are selected when the input S is 0, input B is selected when the input S is 1, and selected from the output Y by the selectors 407 to 410 which are the components of the differential path metric selection means 4. Is output.

【0070】以下に、Δ01、Δ23、Δ02、Δ2
1、Δ13、Δ03が保持される過程を、Δ01k+1
保持される過程を例にとり説明する。
Below, Δ01, Δ23, Δ02, Δ2
The process of holding 1, Δ13, and Δ03 will be described by taking the process of holding Δ01 k + 1 as an example.

【0071】差分ブランチメトリック演算器101によ
りk+1時点における入力データからb00k+1とb1
k+1の差が演算される。比較器201により差分ブラ
ンチメトリック演算器101の出力とレジスタ501に
保持されているΔ01kとが大小比較される。これは状
態遷移S00k→S00k+1と状態遷移S01k→S00
k+1のどちらのパスがパスメトリックが大きいか、すな
わちより確からしいかを比較していることと等価であ
る。
The differential branch metric calculator 101 calculates b00 k + 1 and b1 from the input data at the time point k + 1.
The difference of 0 k + 1 is calculated. The comparator 201 compares the output of the differential branch metric calculator 101 and Δ01 k held in the register 501 in magnitude. This is the state transition S00 k → S00 k + 1 and the state transition S01 k → S00.
It is equivalent to comparing which path of k + 1 has a larger path metric, that is, more likely.

【0072】つまり、Δ01kは状態S00と状態S0
1に遷移している生き残りパス間のパスメトリックの差
であるから、状態S00に遷移している生き残りパスの
メトリックを基点として考えて、b00k+1とΔ01k
b10k+1とを比較することで得られる。これはb00
k+1−b10k+1とΔ01kを比較することである。従っ
て、差分ブランチメトリック演算器101とレジスタ5
01の出力を比較器201によって比較するという演算
によって状態遷移S00k→S00k+1と状態遷移S01
k→S00k+1のどちらが生き残りパスなのかという判定
結果が得られる。従って、比較器204の出力は、状態
遷移S10k→S11k+1と状態遷移S11k→S11k+1
のどちらが生き残りパスなのかという判定結果である。
That is, Δ01 k is the state S00 and the state S0.
Since it is the difference in the path metric between the surviving paths transiting to 1, the metric of the surviving paths transiting to the state S00 is considered as the base point, and b00 k + 1 and Δ01 k +
It is obtained by comparing with b10 k + 1 . This is b00
Comparing k + 1 −b10 k + 1 with Δ01 k . Therefore, the differential branch metric calculator 101 and the register 5
State transition S00 k → S00 k + 1 and state transition S01 by the operation of comparing the output of 01 with the comparator 201.
The determination result of which of k → S00 k + 1 is the surviving path is obtained. Therefore, the output of the comparator 204 is the state transition S10 k → S11 k + 1 and the state transition S11 k → S11 k + 1.
Which is the surviving pass.

【0073】また、状態遷移S10k→S01k+1と状態
遷移S01k→S10k+1は、最小反転間隔が2チャネル
ビット以上というランレングス制限があるので存在せ
ず、常に状態遷移S11k→S01k+1、状態遷移S00
k→S10k+1が生き残りパスなので判定の必要はない。
Further, the state transition S10 k → S01 k + 1 and the state transition S01 k → S10 k + 1 do not exist because there is a run length limitation that the minimum inversion interval is 2 channel bits or more, and the state transition S11 k is always present. → S01 k + 1 , state transition S00
Since k → S10 k + 1 is the surviving path, there is no need to judge.

【0074】差分ブランチメトリック演算器106によ
りk+1時点における入力データからb31k+1とb0
k+1の差が演算される。加算器302により差分ブラ
ンチメトリック演算器106の出力とレジスタ506の
出力が加算される。生き残りパスが仮に状態遷移S00
k→S00k+1であるすると、常に状態遷移S10k→S
11k+1は生き残りパスであるから、S00kを基点と考
えると、状態遷移S00k→S00k+1のパスメトリック
はb00k+1となり、状態遷移S10k→S11k+1のパ
スメトリックはΔ03k+b31k+1となり、Δ01k+1
はS00k+1に遷移するパスとS01k+1に遷移するパス
との差であるので、 Δ01k+1=(Δ03k+b31k+1)−b00k+1 =Δ03k+(b31k+1−b00k+1) 従って、加算器302の出力は、生き残りパスが状態遷
移S00k→S00k+1であったとしたときのΔ01k+1
を示している。同様に、加算器304の出力は、生き残
りパスが状態遷移S01k→S00k+1であったとしたと
きのΔ01k+1を示している。
The differential branch metric calculator 106 calculates b31 k + 1 and b0 from the input data at the time point k + 1.
The difference of 0 k + 1 is calculated. The adder 302 adds the output of the differential branch metric calculator 106 and the output of the register 506. If the surviving path is in state transition S00
If k → S00 k + 1 , the state transition is always S10 k → S
Since 11 k + 1 is a surviving path, if S00 k is considered as a base point, the path metric of the state transition S00 k → S00 k + 1 is b00 k + 1 , and the path metric of the state transition S10 k → S11 k + 1 . Is Δ03 k + b31 k + 1 and Δ01 k + 1
Is the difference between the path transiting to S00 k + 1 and the path transiting to S01 k + 1 , so Δ01 k + 1 = (Δ03 k + b31 k + 1 ) −b00 k + 1 = Δ03 k + (b31 k +1 -b00 k + 1) Thus, the output of the adder 302, Δ01 k + 1 when the survivor path is that a state transition S00 k → S00 k + 1
Is shown. Similarly, the output of the adder 304 shows Δ01 k + 1 when the surviving path is the state transition S01 k → S00 k + 1 .

【0075】選択器407により比較器201の結果に
従い加算器302、304の出力の内から一つが選択、
出力され、この出力がΔ01k+1としてレジスタ501
に保持される。例えば、比較器201の出力が1であっ
た場合、生き残りパスが状態遷移S01k→S00k+1
あったことを示しているので、加算器304の出力が選
択器401により選択され、Δ01k+1としてレジスタ
501に保持される。この動作は、生き残りパス判定手
段2の判定結果がどのような値であっても生き残りパス
から遷移するパスの全組み合わせについて同時に演算さ
れているので、動作に遅延が生じることはない。
The selector 407 selects one of the outputs of the adders 302 and 304 according to the result of the comparator 201,
This is output, and this output is set as Δ01 k + 1 in the register 501.
Is held. For example, when the output of the comparator 201 is 1, it indicates that the surviving path is the state transition S01 k → S00 k + 1. Therefore, the output of the adder 304 is selected by the selector 401, and Δ01 It is held in the register 501 as k + 1 . This operation is calculated simultaneously for all combinations of paths that transit from the surviving path, regardless of the value of the judgment result of the surviving path judging means 2, so there is no delay in the operation.

【0076】以上はΔ01k+1が演算されて保持される
過程を説明したが、Δ01k、Δ23k、Δ02k、Δ2
k、Δ13k、Δ03kとb00k+1〜b33k+1を用い
てΔ01k+1、Δ23k+1、Δ02k+1、Δ21k+1、Δ1
k+1、Δ03k+1が演算されて保持される過程は上述同
様であり、説明を省略する。ただし、Δ21k+1につい
ては、状態遷移S00k→S10k+1および状態遷移S1
k→S01k+1が常に生き残りパスとなるので選択する
必要はなく、無条件で加算器312の出力がΔ21k+1
としてレジスタ504に保持される。Δ03k+1につい
ては、第1の実施例と同様に加算器317〜320から
一つが選択されてΔ03k+1としてレジスタ506に保
持される。
Although the process of calculating and holding Δ01 k + 1 has been described above, Δ01 k , Δ23 k , Δ02 k and Δ2
1 k, Δ13 k, Δ03 k and b00 k + 1 ~b33 k + 1 Δ01 k + 1 using, Δ23 k + 1, Δ02 k + 1, Δ21 k + 1, Δ1
The process of calculating and holding 3 k + 1 and Δ03 k + 1 is the same as described above, and a description thereof will be omitted. However, for Δ21 k + 1 , state transition S00 k → S10 k + 1 and state transition S1
There is no need to select 1 k → S01 k + 1 as the surviving path, and the output of the adder 312 is unconditionally Δ21 k + 1.
Is held in the register 504. As for Δ03 k + 1 , one of the adders 317 to 320 is selected and stored in the register 506 as Δ03 k + 1 as in the first embodiment.

【0077】以上のように、レジスタ501〜506は
生き残りパスのパスメトリックの差を保持している。こ
の例の場合、四つの生き残りパスが存在するのである
が、これら生き残りパスのパスメトリックの差は常に実
用レベルで小さく、データが入力される度に増加してい
くことはないので、ワード長は短くてよい。従って、加
算器、比較器等の演算処理が短時間で行えるため、高速
動作が可能となる。
As described above, the registers 501 to 506 hold the difference between the path metrics of the surviving paths. In this example, there are four surviving paths, but the path metric difference between these surviving paths is always small at a practical level and does not increase each time data is input, so the word length is It can be short. Therefore, since the arithmetic processing of the adder, the comparator, etc. can be performed in a short time, high speed operation becomes possible.

【0078】また、生き残りパスの判定は、各ブランチ
メトリックの差と各生き残りパス間のパスメトリックの
差を比較することにより得られ、生き残りパスの間のパ
スメトリックはブランチメトリックの差と生き残りパス
の間のパスメトリックの差とを加算することにより得ら
れるため、処理が単純かつ短時間で行え、フィードバッ
クループ内クリティカルパスは「比較器→選択器→レジ
スタ」かあるいは「加算器→選択器→レジスタ」とな
り、従来装置の「加算器→比較器→選択器→パスメトリ
ック正規化回路→レジスタ」よりも処理時間を短く抑え
ることができるため、高速動作が可能となる。また、差
分パスメトリック演算手段3において減算処理が必要な
場合であっても差分ブランチメトリック演算手段1にお
いて予め1を加算しておくので、入力を反転して加算す
れば減算処理を行うことができ、フィードバックループ
内の演算処理時間を短く抑えることができ、高速動作が
可能となる。
The determination of the surviving path is obtained by comparing the difference between the branch metrics and the difference between the path metrics between the surviving paths, and the path metric between the surviving paths is obtained by comparing the difference between the branch metrics and the surviving path. Since it can be obtained by adding the path metric difference between the two, the processing can be performed simply and in a short time, and the critical path in the feedback loop can be "comparator → selector → register" or "adder → selector → register". Since the processing time can be suppressed to be shorter than that of the “adder → comparator → selector → path metric normalization circuit → register” of the conventional device, high-speed operation is possible. Further, even when the subtraction processing is necessary in the differential path metric calculation means 3, since 1 is added in advance in the differential branch metric calculation means 1, the subtraction processing can be performed by inverting and adding the inputs. The calculation processing time in the feedback loop can be shortened, and high-speed operation is possible.

【0079】なお、データの復号は生き残りパス判定手
段2の結果を用いてデータ復号手段6で行われる。この
データ復号手段6は図7に示すように、複数の選択器7
及び複数のレジスタ8とから構成されており、選択器7
とレジスタ8とによりシフトレジスタが構成されてお
り、このシフトレジスタは図6の生き残りパス判定手段
2の出力によりシフトされる方向が決められる。選択器
7により入力Sが0のとき入力Aが選択され、また入力
Sが1のとき入力Bが選択されて出力Yから出力され
る。従って、シフトレジスタの初段では生き残りパスが
どのような状態遷移であったかによって復号結果が選ば
れ、次段以降は生き残ったパスの復号結果がコピーされ
る。このシフトレジスタの段数をある程度長くすると、
最終段の四つのレジスタの値が同じになる。
Data decoding is performed by the data decoding means 6 using the result of the survivor path determination means 2. This data decoding means 6 has a plurality of selectors 7 as shown in FIG.
And a plurality of registers 8 and a selector 7
And the register 8 constitute a shift register, and the shift direction of this shift register is determined by the output of the survivor path determining means 2 of FIG. When the input S is 0, the input A is selected by the selector 7, and when the input S is 1, the input B is selected and the output Y is output. Therefore, the decoding result is selected in the first stage of the shift register depending on the state transition of the surviving path, and the decoding result of the surviving path is copied in the subsequent stages. If the number of stages of this shift register is increased to some extent,
The values of the four registers at the final stage are the same.

【0080】つまり、過去にさかのぼると、四つの生き
残りパスは一つのパスに収束されているのである。従っ
て、シフトレジスタの最終段には生き残りパスの復号結
果が四つのレジスタに同じ値として残る。また、万が
一、上記最終段のレジスタの内の一つが他のレジスタと
値が違っても多数決論理回路9により多いほうの値が選
択される。これらの選択器7とレジスタ8により構成さ
れるシフトレジスタと多数決論理回路9によって復号さ
れたデータは、復号ブロックの最終データの入力が行わ
れてから最終的に残った四つの生き残りパスの中から最
も確からしいものが選択されて復号が行われた場合のデ
ータと実用レベルで等価となる。
In other words, as far back as the past, the four surviving paths are converged into one path. Therefore, in the final stage of the shift register, the decoding result of the surviving path remains as the same value in the four registers. Further, even if one of the final stage registers has a different value from the other registers, the majority value is selected by the majority logic circuit 9. The data decoded by the shift register composed of the selector 7 and the register 8 and the majority logic circuit 9 is selected from the four surviving paths finally left after the final data of the decoding block is input. The data is practically equivalent to the data when the most probable one is selected and decrypted.

【0081】最小反転間隔が2チャネルビット以上とい
うランレングス制限を持つ符号を用いて符号化して記録
されたデータの再生信号をPR(1,2,1)特性に等
化し、これを最尤復号する場合、図2に示したビタビ復
号回路よりも図6に示したビタビ復号回路により復号し
た方が低いデータ誤り率を得ることができる。
A reproduced signal of data encoded and recorded by using a code having a run length limit of which the minimum inversion interval is 2 channel bits or more is equalized to a PR (1,2,1) characteristic and this is subjected to maximum likelihood decoding. In that case, a lower data error rate can be obtained by decoding with the Viterbi decoding circuit shown in FIG. 6 than with the Viterbi decoding circuit shown in FIG.

【0082】図1、図2、図6共に差分パスメトリック
選択手段4の直後に保持手段5が配置されているが、こ
の保持手段はフィードバックループ内のどこに配置され
ても良い。例えば、差分パスメトリック演算手段3の直
後に配置されても良い。この場合は、生き残りパス判定
手段2の出力も1クロック遅らせて位相を整合させなけ
ればならないので、生き残りパス判定手段2の直後にも
レジスタを配置する。また、復号手段6の構成は、図4
及び図7に限ったものではなく、多数決論理回路9を用
いずに四つのレジスタのうちの任意の一つを出力しても
よい。また、復号単位ブロックの最終データの入力が行
われてから、最終的に残った四つの生き残りパスの中か
ら最も尤度の大きいものを選択して、そのパスの遷移状
態に応じてデータを復号しても良い。
Although the holding means 5 is arranged immediately after the differential path metric selection means 4 in FIGS. 1, 2 and 6, this holding means may be arranged anywhere in the feedback loop. For example, it may be arranged immediately after the differential path metric calculation means 3. In this case, the output of the survivor path determination means 2 must also be delayed by one clock to match the phase, so that a register is also arranged immediately after the survivor path determination means 2. Further, the configuration of the decoding means 6 is as shown in
The output is not limited to FIG. 7 and any one of the four registers may be output without using the majority logic circuit 9. Also, after the final data of the decoding unit block is input, the one with the highest likelihood is selected from the four surviving paths that finally remained, and the data is decoded according to the transition state of that path. You may.

【0083】[0083]

【発明の効果】請求項1のビタビ復号回路によれば、各
生き残りパスのパスメトリックの差がフィードバックさ
れ、次回の演算に用いられるため、演算の度に値が増加
することがなく、演算データのワード長が短く抑えら
れ、フィードバックされるデータの下位ビットを切り捨
てた場合のように、性能を落とすことなく高速に動作さ
せることができる。また、演算結果を正規化するための
演算手段を必要とせず、フィードバックループ内の演算
段数を少なくして、高速に動作させることができる。
According to the Viterbi decoding circuit of the first aspect, since the difference in the path metric of each surviving path is fed back and used for the next calculation, the value does not increase each time the calculation is performed, and the calculation data The word length of is suppressed to be short, and it is possible to operate at high speed without degrading the performance as in the case where the lower bit of the data to be fed back is truncated. Further, it is possible to operate at a high speed by reducing the number of calculation stages in the feedback loop without requiring a calculation means for normalizing the calculation result.

【0084】請求項2のビタビ復号回路によれば、各生
き残りパスの判定は各ブランチメトリックの差と前回ま
での入力データから演算されかつフィードバックされた
各生き残りパスの間のパスメトリックの差を比較するこ
とにより行うので、簡単な演算により生き残りパスを判
定でき、フィードバックループ内の演算段数を少なくし
て、高速に動作させることができる。
According to the Viterbi decoding circuit of the second aspect, the determination of each surviving path is made by comparing the difference of each branch metric with the difference of the path metric between each surviving path calculated and fed back from the previous input data. Since it is performed by doing so, it is possible to determine the surviving path by a simple calculation, reduce the number of calculation stages in the feedback loop, and operate at high speed.

【0085】請求項3のビタビ復号回路によれば、各パ
スメトリックの差分の演算は、各ブランチメトリックの
差と前回までの入力データにより演算されかつフィード
バックされた各生き残りパスの間のパスメトリックの差
を加算あるいは減算することにより行うので、簡単な演
算により各パスメトリックの差を演算でき、フィードバ
ックループ内の演算段数を少なくして、高速に動作させ
ることができる。
According to the Viterbi decoding circuit of the third aspect, the calculation of the difference of each path metric calculates the difference of each branch metric and the path metric between each surviving path calculated and fed back by the input data up to the previous time. Since the difference is added or subtracted, the difference between the path metrics can be calculated by a simple calculation, the number of calculation stages in the feedback loop can be reduced, and the operation can be performed at high speed.

【0086】請求項4のビタビ復号回路によれば、ブラ
ンチメトリックの差の演算結果からフィードバックされ
た生き残りパスの間のパスメトリックの差を減算するこ
とにより行われる場合、ブランチメトリックの差の演算
は本来の値に1を加算した場合と等しい値としているの
で、フィードバックループ内の2の補数をとる処理が簡
略化され、演算段数を少なくして、高速に動作させるこ
とができる。
According to the Viterbi decoding circuit of the fourth aspect, when the difference in the path metric between the surviving paths fed back is subtracted from the calculation result of the difference in the branch metric, the difference in the branch metric is calculated. Since the value is the same as the value obtained by adding 1 to the original value, the process of taking the 2's complement in the feedback loop is simplified, and the number of operation stages can be reduced to operate at high speed.

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

【図1】本発明のビタビ復号回路の構成を示すブロック
図である。
FIG. 1 is a block diagram showing a configuration of a Viterbi decoding circuit of the present invention.

【図2】本発明のビタビ復号回路の第1の実施例の構成
を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a first embodiment of a Viterbi decoding circuit of the present invention.

【図3】PR(1,2,1)特性の状態遷移の様子を示
したトレリス線図である。
FIG. 3 is a trellis diagram showing a state transition of a PR (1,2,1) characteristic.

【図4】図2のビタビ復号回路のデータ復号手段の構成
を示すブロック図である。
4 is a block diagram showing a configuration of a data decoding means of the Viterbi decoding circuit of FIG.

【図5】最小反転間隔が2チャネルビット以上の符号を
用いて記録され、再生時にPR(1,2,1)特性に等
化される場合の状態遷移の様子を示したトレリス線図で
ある。
FIG. 5 is a trellis diagram showing state transitions when a minimum inversion interval is recorded using a code having two or more channel bits and is equalized to a PR (1,2,1) characteristic during reproduction. .

【図6】本発明のビタビ復号回路の第2の実施例の構成
を示すブロック図である。
FIG. 6 is a block diagram showing a configuration of a second embodiment of a Viterbi decoding circuit of the present invention.

【図7】図6のビタビ復号回路のデータ復号手段の構成
を示すブロック図である。
7 is a block diagram showing a configuration of data decoding means of the Viterbi decoding circuit of FIG.

【図8】PR(1,1)特性に対するビタビ復号の方式
の説明図である。
FIG. 8 is an explanatory diagram of a Viterbi decoding method for PR (1,1) characteristics.

【図9】従来のビタビ復号回路の構成を示すブロック図
である。
FIG. 9 is a block diagram showing a configuration of a conventional Viterbi decoding circuit.

【図10】図9のビタビ復号回路を、再生時にPR
(1,2,1)特性に応用した場合の構成を示すブロッ
ク図である。
FIG. 10 shows the Viterbi decoding circuit of FIG.
It is a block diagram which shows the structure at the time of applying to a (1, 2, 1) characteristic.

【図11】従来のビタビ復号回路の他の構成を示すブロ
ック図である。
FIG. 11 is a block diagram showing another configuration of a conventional Viterbi decoding circuit.

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

1 差分ブランチメトリック演算手段 2 生き残りパス判定手段 3 差分パスメトリック演算手段 4 差分パスメトリック選択手段 5 保持手段 6 データ復号手段 1 differential branch metric calculation means 2 survivor path determination means 3 differential path metric calculation means 4 differential path metric selection means 5 holding means 6 data decoding means

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G11B 20/18 570 F 8940−5D ─────────────────────────────────────────────────── ─── Continuation of the front page (51) Int.Cl. 6 Identification code Internal reference number FI technical display location G11B 20/18 570 F 8940-5D

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 パーシャルレスポンス方式に等化された
データや畳み込み符号により符号化されたデータを最尤
復号するビタビ復号回路であって、入力データから各ブ
ランチメトリック間の差を演算する差分ブランチメトリ
ック演算手段と、前記演算された各ブランチメトリック
間の差と前回までの入力データから演算されかつフィー
ドバックされた各生き残りパス間のパスメトリックの差
を用いて各生き残りパスを判定する生き残りパス判定手
段と、前記演算された各ブランチメトリック間の差と前
記各生き残りパス間のパスメトリックの差を用いて各パ
スメトリック間の差を演算する差分パスメトリック演算
手段と、生き残りパス判定手段の結果に基づいて差分パ
スメトリック演算手段の出力の中から各生き残りパス間
のパスメトリックの差を選択する差分パスメトリック選
択手段と、前回までの入力データを用いて演算された各
生き残りパス間のパスメトリックの差を生き残りパス判
定手段及び差分パスメトリック演算手段へフィードバッ
クする保持手段と、生き残りパス判定手段の出力からデ
ータを復号するデータ復号手段とを具備するビタビ復号
回路。
1. A Viterbi decoding circuit for performing maximum likelihood decoding of data equalized by a partial response method or data coded by a convolutional code, and a differential branch metric for calculating a difference between branch metrics from input data. Computing means, and survivor path determining means for determining each surviving path using the difference between the computed branch metrics and the path metric difference between each surviving path computed and fed back from the input data up to the previous time, A difference path metric calculation means for calculating a difference between the path metrics using the calculated difference between the branch metrics and the path metric difference between the surviving paths, and based on a result of the survivor path determining means From the output of the differential path metric calculation means, the path metric of each surviving path Difference path metric selection means for selecting the difference, holding means for feeding back the difference in path metric between the surviving paths calculated using the input data up to the previous time to the surviving path determination means and the difference path metric calculating means, and the surviving A Viterbi decoding circuit including a data decoding unit that decodes data from the output of the path determination unit.
【請求項2】 前記生き残りパス判定手段は、差分ブラ
ンチメトリック演算手段の出力と前回までの入力データ
から演算されかつフィードバックされた各生き残りパス
間のパスメトリックとの差を比較することにより生き残
りパスを判定する請求項1に記載のビタビ復号回路。
2. The survivor path determining means compares the output of the differential branch metric calculating means with the path metric between the survivor paths calculated from the input data up to the previous time and fed back to determine the survivor path. The Viterbi decoding circuit according to claim 1, wherein the determination is performed.
【請求項3】 前記差分パスメトリック演算手段は、差
分ブランチメトリック演算手段の出力と前回までの入力
データから演算されかつフィードバックされた各生き残
りパス間のパスメトリックとの差を加算あるいは減算す
ることにより各パスメトリックの差を演算する請求項1
に記載のビタビ復号回路。
3. The differential path metric calculating means adds or subtracts the difference between the output of the differential branch metric calculating means and the path metric between the surviving paths calculated and fed back from the input data up to the previous time. A method for calculating a difference between path metrics.
The Viterbi decoding circuit described in 1.
【請求項4】 前記パスメトリック演算手段により差分
ブランチメトリック演算手段の出力から前回までの入力
データから演算されかつフィードバックされた各生き残
りパス間のパスメトリックの差が減算される場合、前記
差分ブランチメトリック演算手段は、本来の値に1を加
算した場合と等しい値を出力し、前記差分パスメトリッ
ク演算手段は、前回までの入力データから演算されかつ
フィードバックされた各生き残りパス間のパスメトリッ
クの差を反転してから加算する請求項1に記載のビタビ
復号回路。
4. The differential branch metric when the path metric calculation means subtracts the difference in path metric between the surviving paths calculated and fed back from the input data up to the previous time from the output of the differential branch metric calculation means. The calculation means outputs a value equal to the value obtained by adding 1 to the original value, and the difference path metric calculation means calculates the difference in path metric between the surviving paths calculated from the input data up to the previous time and fed back. The Viterbi decoding circuit according to claim 1, wherein the Viterbi decoding circuit performs the inversion and the addition.
JP17260294A 1994-07-25 1994-07-25 Viterbi decoding circuit Expired - Fee Related JP3258174B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17260294A JP3258174B2 (en) 1994-07-25 1994-07-25 Viterbi decoding circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17260294A JP3258174B2 (en) 1994-07-25 1994-07-25 Viterbi decoding circuit

Publications (2)

Publication Number Publication Date
JPH0837466A true JPH0837466A (en) 1996-02-06
JP3258174B2 JP3258174B2 (en) 2002-02-18

Family

ID=15944908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17260294A Expired - Fee Related JP3258174B2 (en) 1994-07-25 1994-07-25 Viterbi decoding circuit

Country Status (1)

Country Link
JP (1) JP3258174B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000018018A1 (en) * 1998-09-17 2000-03-30 Asahi Kasei Kabushiki Kaisha Branch metric operation device and viterbi decoding device
US6771580B2 (en) 2000-05-22 2004-08-03 Fujitsu Limited Data reproduction apparatus
KR100560627B1 (en) * 2001-06-19 2006-03-16 마이크로나스 세미컨덕터, 인코포레이티드 Combined trellis decoder and decision feedback equalizer
US7426681B2 (en) 2001-05-18 2008-09-16 Matsushita Electric Industrial Co., Ltd. Viterbi detector
CN102749571A (en) * 2011-04-22 2012-10-24 昆山金鑫新能源科技有限公司 Automatic tester for multi-string lithium battery control panel

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779339B2 (en) 2004-05-14 2010-08-17 Panasonic Corporation ACS circuit

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000018018A1 (en) * 1998-09-17 2000-03-30 Asahi Kasei Kabushiki Kaisha Branch metric operation device and viterbi decoding device
US6771580B2 (en) 2000-05-22 2004-08-03 Fujitsu Limited Data reproduction apparatus
US7426681B2 (en) 2001-05-18 2008-09-16 Matsushita Electric Industrial Co., Ltd. Viterbi detector
KR100560627B1 (en) * 2001-06-19 2006-03-16 마이크로나스 세미컨덕터, 인코포레이티드 Combined trellis decoder and decision feedback equalizer
CN102749571A (en) * 2011-04-22 2012-10-24 昆山金鑫新能源科技有限公司 Automatic tester for multi-string lithium battery control panel

Also Published As

Publication number Publication date
JP3258174B2 (en) 2002-02-18

Similar Documents

Publication Publication Date Title
JP2718859B2 (en) Viterbi detection device and Viterbi trellis coding method
US7653868B2 (en) Method and apparatus for precomputation and pipelined selection of branch metrics in a reduced state Viterbi detector
JP2693256B2 (en) Viterbi equalizer for recording device and recording device
US7702991B2 (en) Method and apparatus for reduced-state viterbi detection in a read channel of a magnetic recording system
US7581160B2 (en) ACS circuit and Viterbi decoder with the circuit
JP3292323B2 (en) Information playback device
JPH10150370A (en) Viterbi decoder and viterbi decoding method
US6678862B1 (en) Detection apparatus
US6070263A (en) Circuit for use in a Viterbi decoder
US7392463B2 (en) Data reproducing apparatus avoiding selection of incorrect path
JP3567067B2 (en) Digital magnetic recording and reproducing device
JP3258174B2 (en) Viterbi decoding circuit
US7653154B2 (en) Method and apparatus for precomputation and pipelined selection of intersymbol interference estimates in a reduced-state Viterbi detector
JP3653391B2 (en) Viterbi detector and digital magnetic recording / reproducing apparatus using the same
JP3858362B2 (en) Decoding apparatus and method, and data reproducing apparatus
JPH10336045A (en) Viterbi decoder
JPH0964756A (en) Viterbi decoding circuit
KR19980070857A (en) Digital magnetic recording and playback device
JP2000057708A (en) Reproduced data detection device
JPH10178354A (en) Viterbi decoder
JP3448679B2 (en) Viterbi decoder
US20070006058A1 (en) Path metric computation unit for use in a data detector
WO1994000843A1 (en) Alternative system and method to viterbi detection
JP3533668B2 (en) Magnetic signal reproducing apparatus and magnetic signal reproducing method
JP2001035088A (en) Differential viterbi decoding device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071207

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081207

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091207

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091207

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees