JP2000209106A - 高速ビタビ復号器の最小量のメモリによる実現 - Google Patents

高速ビタビ復号器の最小量のメモリによる実現

Info

Publication number
JP2000209106A
JP2000209106A JP11375443A JP37544399A JP2000209106A JP 2000209106 A JP2000209106 A JP 2000209106A JP 11375443 A JP11375443 A JP 11375443A JP 37544399 A JP37544399 A JP 37544399A JP 2000209106 A JP2000209106 A JP 2000209106A
Authority
JP
Japan
Prior art keywords
symbol
state
data
node
path
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.)
Abandoned
Application number
JP11375443A
Other languages
English (en)
Inventor
Hirohisa Yamaguchi
博久 山口
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2000209106A publication Critical patent/JP2000209106A/ja
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/413Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【課題】 最小量のメモリでビタビアルゴリズムを実現
すること 【解決手段】 FIFOを使ってブランチ距離を計算
し、距離が一旦計算されると、演算全体で最小量のメモ
リしか必要でないように、これら距離を単一のメモリ内
に記憶する。このような演算は各ノードで1つのバック
パスしか必要でないような各ノードにおいて、最も可能
性の少ないパスを思い出す必要性を実質的に不要にする
ビタビアルゴリズムによって容易となっている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的には最尤復号
器に関し、より詳細には、最小量のメモリを使用したビ
タビ復号器に関する。
【0002】
【従来の技術】デジタル通信システムでは、ノイズおよ
び歪みによって、受信したデータが劣化していることが
ある。かかる場合、受信局で得られたデジタルデータ
は、送信されたデータの正確なレプリカとならないこと
がある。かかる誤りは送信前にデータに冗長性を加える
よう、送信データを符号化することによって低減でき
る。
【0003】
【発明が解決しようとする課題】シンボルレートを増す
ことによって冗長性を導入できる。例えばソースデータ
の固定長さブロックに誤りチェックおよび誤り訂正符号
を付与して、高速データレートで送ることができる。し
かしながらこの結果、バンド幅が広がることによって受
信機は更にノイズを受ける。
【0004】別の方法としてソースデータを「ライン符
号」に変換することにより冗長性を増すように、信号空
間符号を使用することも可能である。このライン符号は
同じシンボルレートで送信できるが、より多数の可能な
シンボル(信号空間内の離散的ポイント)を使用する。
かかる符号が必要とするバンド幅は、等価的な符号化さ
れたシステムのバンド幅より広くなく、よって受信機で
はノイズは増加しない。しかしながら送信電力の増加を
防止するために、シンボルをより密にしなければならな
いという事実により、ノイズに対するイミュニティが低
下する。音声グレードの電話リンクのような、バンド幅
が限定され、固定された送信システムでは、信号空間符
号化によって誤り訂正された送信のレートを大幅に大き
くすることが可能となる。
【0005】性能が優れていることよりこれまで採用が
増しているとみられる信号空間符号の一種に「トレリス
符号」、すなわちトレリス線図を使用すると最良に説明
されるたたみ込み符号がある。このトレリス符号では、
ノードの垂直列はソースデータを符号化する「ステート
マシン」が時間内の連続ポイントでとり得る可能なステ
ートを示す。送信を開始する前に符号化マシンを所定の
ステートに初期化し、その後、送信される各シンボルは
現在のステートから限られた数の許容可能なサクセサー
ステートへの遷移を指定する。前に送信されたシンボル
シーケンスは符号化マシンの現在のステートを指定す
る。現在のステートは順番に送信されたシーケンスの内
の次に出現するシンボルを全アルファベットから指定す
る。このようにして、送信シンボルの選ばれたシーケン
スのみが符号計画によって残り、その正当なシーケンス
がトレリス線図のパスとして表わされる。
【0006】従って、送信された各シンボルはソース符
号を示すだけでなく、受信されたシーケンスのシンボル
から誘導できるステート情報で示されたヒストリー情報
も含む。送信中、メッセージを載せた信号がノイズおよ
び歪みによって変化していても、このような冗長性によ
って復号動作時に送信されたシンボルシーケンスを正確
に再現することが可能である。
【0007】トレリス符号は、ダイヤルアップおよび専
用アナログ電話設備を通して誤りのない、高データレー
トを提供するのに使用されるタイプの、音声バンドのデ
ータモデムを実現する際に、特に有利に使用できる。こ
れら構造を処理するために、これまで提案者A.J.ビタ
ビ氏の名前をとって命名された高効率のビタビアルゴリ
ズムが使用されている。このビタビ技術は、遷移がその
遷移への最も可能性の低いパスを示していない場合に、
所定ステートへの多数の遷移を削除できるという事実を
活用するものである。この点で、ステート間で最も可能
性の高いパスを決定する際に、より少数の遷移を記憶す
るだけでよい。
【0008】
【課題を解決するための手段】本明細書に開示し、請求
項に記載する本発明は、たたみ込み符号化されたシンボ
ルを送受信する、ビタビアルゴリズムにより符号化され
たデータシーケンスを復号化する方法を含む。シーケン
スの終了時に符号化されたデータシーケンスが既知のス
テートを有する符号化されたデータを受信する。受信さ
れた各シンボルおよびたたみ込み符号化プロセスの各ス
テートに対し、情報ノードの1つのテーブルを構築す
る。M個のステートとM個のノードがあり、各ステート
および受信された各シンボルに関連する対応するノード
に対し、これらと共に、復号化されたデータビットおよ
び先に受信されたシンボルに関連する最も可能性の高い
ステートおよび対応するノードへのパスポインタの双方
が関連している。テーブルからはテーブル内の情報から
の復号化されたデータワードを抽出する。このような抽
出は、まず選択されたノードを構成する既知のステート
に対応するノードをシーケンスの終了時に最後に受信さ
れたシンボルに関連するテーブルからまず選択すること
により実行される。次に、選択ノードからデータビット
を抽出し、これを符号化されたデータワードに添付す
る。関連するシンボルに対する選択されたノードおよび
選択されたノードのためのパスポインタによって表示さ
れた先のシンボルの対応するノードからパスをトラバー
スする。第1シンボルに対するデータが検査され、復号
化されたデータワードに、復号化され、関連したデータ
ビットが添付されるまで、受信されたシンボルごとに抽
出およびトラバース工程を繰り返す。
【0009】本発明およびその利点についてより完全に
理解するために、添付図面を参照し、次に詳細な説明に
おいて本発明について説明する。
【0010】
【発明の実施の形態】次に図1を参照すると、ここには
ソースデータを受信し、そのソースデータを符号化し、
無線リンクを通してソースデータを送信し、受信された
データを復号化し、復号化されたデータを発生するため
のデータ処理システムのブロック図が示されている。図
1に示された実施例では、このシステムはたたみ込み符
号を使用している。ソースデータはブロック111で受
信され、このソースデータはリード−ソロモン符号器1
13で符号化される。次にこの符号化されたデータはシ
ンボルインターリーブバッファ115を通してたたみ込
み符号器117へ送られる。たたみ込み符号器から出力
される信号は、次に変調器119へ入力され、通信リン
ク121を通して送信される。この通信リンク121は
無線通信リンクを含む任意のタイプの通信リンクでよ
い。しかしながら、この通信リンクまたはチャンネル1
21は一部がリード−ソロモン符号器113で得られ
る、誤りを生じ易いチャンネル特性に起因し、あるタイ
プの誤り訂正機能を必要とする。データソースからの情
報ビットはリード−ソロモン符号によって使用される2
mのシンボルアルファベットを作成するよう、mのブロ
ックにグループ分けされる。このデータは連結符号シス
テムのうちの「外側符号」である。リード−ソロモン符
号器113の出力シンボルはmに関して二進表示に変換
され、シンボルインターリーブバッファ115へ入力さ
れる。このバッファ115はリード−ソロモン符号ワー
ドにわたってチャンネルシンボルの誤りのバーストをで
きるだけ均一に拡散できる。
【0011】受信機では復調ブロック123において変
調された信号が受信され、この変調信号はたたみ込み符
号器117によって符号化されたシンボルを符号化する
ようにビタビ復号器125を通して処理される。たたみ
込み符号は符号システムのうちの「内側符号」である。
ビタビ復号器の出力は符号器へ入力された二進シーケン
スの予測値である。次にこれら復号化されたシンボルは
デインターリーブバッファ127へ出力され、リード−
ソロモン復号器129へ送られ、復号化されたデータを
発生する。この復号化されたデータはブロック131に
よって受信データをして表示される。
【0012】たたみ込み符号器は従来のたたみ込み符号
化技術を利用してデータを符号化するように作動でき
る。これら符号化技術はある種の符号であり、この符号
では符号器がk個のシンボル(ほとんど多くの場合k=
1である)のグループのデータを受け入れ、各出力グル
ープが、その時にk個の入力に依存するだけでなく、先
の数個の入力グループにも依存する性質を有するn(n
>k)個のシンボルの小グループの符号化された出力デ
ータを発生する、すなわち符号器はメモリを有する。
【0013】次に図2を参照すると、ここにはたたみ込
み符号器のブロック図が示されている。この符号器では
直列に接続された8個のシフトレジスタ211が設けら
れており、これらシフトレジスタ211のうちの第1レ
ジスタがその入力端で入力ビットX0を受信し、その出
力端に出力ビットX1を発生するようになっている。続
くシフトレジスタ211はその出力端にX2、X
3、....X8を発生する。入力X0と第2、第3、第
5、第7および第8シフトレジスタ211の出力は排他
的OR(EXOR)ゲート213へ入力され、その出力
端に出力Y0を発生する。同じように、入力X0と第
2、第3、第4、第7、第8シフトレジスタ211の出
力は、EXORゲート215へ入力され、その出力端で
Y1を発生する。第3EXORゲート217の入力端は
X0入力端および第1、第2、第5および第8シフトレ
ジスタ211の出力端に接続されており、EXORゲー
ト217の出力端はY2出力を発生する。これらシフト
レジスタの関係は次のように定義できる。
【0014】
【数1】
【0015】従って、シフトレジスタ211を制御する
クロックがシフトするたびに、シンボルを示す3ビット
の符号が出力される。これら3ビットシンボルの各々は
入力ビットおよびレジスタの各々の出力によって決ま
る。基本的にはこれらレジスタは共に加算された場合に
制約長さ(本実施例では8である)を定める多数のステ
ートビットを有するステートマシンである。レートRは
入力のステートごとにビットの数(1である)として定
められ、入力ビットを定めるよう、出力ビットの数(本
例では3である)で割られる。従って、レートは1/3
である。
【0016】上記のようにたたみ込み符号化アルゴリズ
ムを使用してデータが一旦符号化されると、シンボルが
出力される。この場合、各出力シンボルは包囲ビットを
もつ1入力ビットによってあらわされる。一般にたたみ
込み符号の構造および特性はトレリス図を利用して変わ
り得る。00、01、10および11の22個のステー
トを生じさせるような2つのレジスタを有するステート
マシンを考えてみる。これらステートの各々は別のステ
ートへの遷移を行うことができ、この遷移は図3に示さ
れている。符号化アルゴリズムは01、00、10、1
1のシンボルを発生する。これにより基本的には制約長
さが3であって、レートが1/2であるたたみ込み符号
器が構成される。もし制約長が3であれば256ステー
トとなる。ステート間の遷移を生じさせるシンボルが矢
印で示されるたたみ込み符号器が描かれている。最初、
符号器は「0」に初期化され、2つの内部レジスタ、す
なわちステートは初期ステートが「00」となるよう
に、「0」の値にセットされる。
【0017】次に図4を参照する。ここにはトレリス線
図が示されており、この図には符号器を通過するあるシ
ーケンスのデータビットが示されている。データワード
にはテールシーケンスの2つのゼロが加えられている。
実線は「0」の符号器入力信号を示し、点線は「1」の
符号器入力信号を示す。このようなコンフィギュレーシ
ョンでは符号器が「0」ステートに初期化された場合
に、出力されるシンボルのシーケンスおよび符号器の種
々のステートがこのトレリス図から理解できる。
【0018】ビタビ復号化アルゴリズムはトレリス表示
で示された再合流パス構造の長所を活用するたたみ込み
符号に対するパス最尤復号化方法である。このアルゴリ
ズムについて、図5a、5b、6a、6b、6c、7
a、7bおよび7cを参照して説明する。これら図はハ
ード決定復号器用の復号化トレリス線図、および特定の
受信シーケンスを介しての工程を示す。トレリス線図に
おけるブランチには、正規化されたブランチ距離が付け
られている。そのブランチ距離は、図4における対応す
る符号器トレリス表示に示された符号器の出力シンボル
と異なり、そのブランチにおける受信シンボルのビット
数に等しい。
【0019】図5Aを参照すると、受信シーケンスの最
初の遷移では第1シンボル「00」が生じるが、このシ
ンボルはステート「00」から「00」へのステート遷
移では差がない。しかしながらステート「00」からシ
ンボル「11」に対応するステート「10」へは許容で
きる変化である。この結果、2ビットのブランチ距離の
差が生じる。第1の2つのブランチでは、復号器は単に
ブランチ距離を累積し、2K-1個のパス距離を得るだけ
である。ここで、Kは3の制約長さである。この結果、
可能なパスは4つとなる。3つのブランチの後に図5A
に示されるようにパスが再び合流し始める。ビタビ復号
器は各ノードに進入する2つのパスのパス距離を比較
し、最悪の(本例では最大の)距離を除く。この結果、
3つの受信シンボルに対応する3つのブランチの後に、
図5Bのトレリス線図が得られる。
【0020】n個のチャンネルシンボルの新しいブラン
チが受信されるたびに、ビタビ復号器は2K-1個の先に
計算されたパス距離にブランチ距離を加えることによ
り、2K個のパス距離を計算する。次に、各ステートに
入る2つのパス間で2K-1回の比較が行われ、各ノード
において最良の距離を有するパスだけが保持される。こ
のやり方は図6a〜6cに示されている。
【0021】図6aにはビタビアルゴリズムにより除か
れた後の、図5bのトレリス線図に加えられた別の、す
なわち第4のブランチが示されている。図6bは最悪の
パスを除去することを示し、図6cは別の最悪パスを除
去する簡略化を示す。このポイントでは、第1ブランチ
においてすべてのパスは「00」から「00」へのステ
ート遷移に合流しており、ここでは復号器は出力が
「0」となるようにこのステートが「0」の符号器の入
力と一致したと判断できる。
【0022】次に図7a〜7cを参照すると、ここには
第5ブランチの最初にテールシーケンスが示されてい
る。これらは「0」であることが判っているので、
「0」パスしか示されておらず、これらパスは延長され
たパスのみである。図7bは2つのパスしか残っていな
い比較後のトレリスを示す。図7cは「0」の入力ビッ
トに対する延長部しか示していない第6および最終ブラ
ンチを示す。双方のパスに対しブランチ距離が足される
と、上方のパスが選択されたパスであり、最終の完全な
復号器の出力シーケンスが「001000」となること
が理解できよう。
【0023】最後に図4〜7cの例に示されるように、
パスはいずれもすべて0ステートのノードに合流し、ビ
タビ復号器には単一の最も可能性の高いパスが残され
る。実際にはたたみ込み符号は通常テールシーケンスの
ない任意の長いシーケンスのデータと共に使用される。
復号器にN個の量子化された受信信号の新しいブランチ
が与えられるようなアプリケーションでは、復号器は過
去の固定された数のブランチである、あるブランチに対
応する情報ビットの推測値を与える。このことは、最良
のパス距離を有するパスに対応する現在ステートをピッ
クアップし、次にブランチmの一部(パスメモリと称さ
れる)のためのトレリスを通るこのパスを逆にたどり、
最後にそのブランチに対応する情報を出力として発生す
ることにより達成される。このような方法は2K-1個の
パスの各々に対しm個のビットを保持するだけでよいこ
とを意味する。保持されたパスはある制約長さのブラン
チを再合流させる傾向があるので、これよりも大きいメ
モリは性能にほとんど影響しない。より大きいパスメモ
リを設けた場合、任意の現在ステートからトレースバッ
クすることにより性能を達成することも可能である。パ
スを現在の最尤ステートからトレースバックする際、R
=1/2符号に対しては約5つの制約長さ、すなわちブ
ランチのパスメモリが良好な選択となる。より低いレー
トの符号には若干小さいパスメモリでも適当であり、よ
り高いレートの符号の場合、より大きいメモリが必要と
なる。
【0024】図3の遷移図に記載のたたみ込み符号器を
用いる上記例では、誤りなしですべてのシンボルが送信
されている。誤りがない場合、パスのブランチ距離、す
なわちパス内の各ブランチに対するブランチの距離は、
所定のブランチに対する2つのステート間の遷移に関連
するシンボルと実際に受信された信号との間の距離を計
算することにより決定できる。しかしながら受信した情
報がシンボル空間内の所定のシンボルに正しく対応しな
い場合、シンボルの実際の受信情報とシンボルの各々と
の間の距離を計算する。所定のパスに対してブランチ距
離のすべてが決定されれば、トレリスを通る純正のパス
と受信した実際の信号値との間のブランチ距離の合計に
よって定められる「パス距離」を決定できる。
【0025】ビタビ復号器では、この復号器の目的はた
たみ込み符号器から出力される最も可能性の高いデータ
シーケンスを探すことにある。図2の開示された実施例
のたたみ込み符号器は8つのレジスタを有し、これらレ
ジスタは256(28=256)個の異なるステートに
マッピングしなければならず、ここではこれらステート
に関連する受信した3つのデータ(Y0、Y1、Y2)
に従ってステート遷移をトレースし、これら3つのデー
タはシンボルである。たたみ込み符号器の内部ステート
は次のように定められる。
【0026】
【数2】
【0027】ビタビ復号器を作動させるために、たたみ
込み符号器の初期ステート(8個のレジスタ211の
値)の「0」と見なす。更にビタビ復号器を公知のステ
ートで終了させるために、入力データのテールで8個の
「0」を追加し、対応する符号化されたデータ(8個の
シンボル)も送信する。
【0028】次に図8を参照すると、ここには8個のシ
ンボルの初期化から8個のシンボルの終了までのトレリ
ス線図内のステート遷移が示されている。図示されるよ
うに、このシステムはステート「0」で初期化され、最
初のシンボルに対してこのステートから可能な遷移はス
テート「0」またはステート「1」だけである。シンボ
ル「000」が送信される場合、遷移はステート「0」
から「0」までとなる。シンボル「111」が送信され
る場合、このことはステート「0」から「1」までの遷
移を示す。しかしながら誤りがあり、着信シンボルが
「010」となるように1つのビットがフリップした場
合、この結果、エラーが生じる。ブランチの距離を考慮
するために、ブランチの各々に対するブランチ距離が次
の式で表されるようハミング距離における距離を計算す
る。
【0029】
【数3】
【0030】ビタビ復号器では、1回の遷移だけでは着
信データの判断を行わない。むしろ着信シンボルの全て
が復号化され、累積距離、すなわちパス距離が異なるス
テート遷移トレースを有する他の全ての候補点と比較さ
れるまで復号化操作を続ける。可能なステート遷移トレ
ースの数は爆発的には増加しない。その理由は、この数
はたたみ込み符号器におけるシフトレジスタの数および
関連するステートの数(256)によって制限されてい
るからである。
【0031】更に図8を参照すると、初期化動作に関連
する最初の8つのシンボル期間の後に、受信された各シ
ンボルに対し256のステートの間のフルステートの遷
移が生じる。この作動段階では、各左側ノードは2つの
出発ブランチを有し、各右側ノードが2つの到着ブラン
チを有する。累積距離に従い、着信ブランチのうちの1
つの選択が行われる。これにより所定の受信シンボルに
対し最大遷移ノードは256に維持される。次に、ビタ
ビ復号化で比較する必要があるトレースの最大数も25
6となり、各トレースに関連する累積距離も256種類
となる。この累積距離はビタビパス距離である。
【0032】一般に着信シンボル(3ビット)と適正な
シンボルとの間の距離はハードによる決定(例えばハミ
ング距離)によるか、またはソフトによる判断のいずれ
かで計算できる。ソフト判断を利用することにより、次
の表1は、受信したビットが「0」または「1」である
かどうかの判断と、受信したビットの振幅との間の関係
を示し。この関係はノイズがガウスノイズである場合に
定められる。
【0033】
【表1】
【0034】例えばレンジ0L内の振幅を有する信号と
1との間のソフト判断のペナルティは約10の値である
ことが理解できよう。「0」に対するペナルティは2で
ある。ビタビ復号化アルゴリズムにはこのように距離の
拡張を容易に組み込むことができるという事実により、
以下、開示する実施例ではハード判断による復号化しか
説明しない。図9にはガウス分布が示されている。
【0035】付属書として添付した下記の表3には左側
ノードから右側ノードまでのステートの各々に対するス
テート遷移が示されている。各左側ノードに対する右側
ノードは2つあるので、これらを入力=0および入力=
1と称す。対応するシンボルは( )内にY0+2*
1+4*Y2として示されている。この表から、左側ノ
ードの距離と右側ノードの距離との間には次の式が成り
立つことが理解できよう。
【0036】
【数4】
【0037】上記式3および4では、「シンボル」は受
信シンボルを示し、m(N)はステートNおよび入力0
の場合のたたみ込み符号器の出力である。
【0038】次に図10を参照する。この図には式3お
よび4の図が示されている。NおよびN+128の双方
に対し、累積パス距離が存在することが理解できよう。
ノードNおよびN+128からノード2Nおよび2N+
1の1つにそれぞれトラバースする際、新しい「距離」
すなわち計算されたブランチ距離が存在しなければなら
ない。これらブランチ距離は表1を参照して上で説明し
たソフト判断値である。これら値は受信されたシンボル
の実際のビットレベルと遷移に対し局部的に発生された
たたみ込み符号を比較することによって決定される。2
Nのノードでは、すなわちすべての偶数ノードに対して
は、復号化されたデータは「0」ビットとなり、2N+
1ノード、すなわちすべての奇数ノードに対してはデー
タは「1」となることが理解できよう。これらデータは
特定のパスに対し復号化されたデータに加えられるビッ
トとなる。
【0039】次に図11を参照すると、ここには中間パ
ス距離値を決定し、これら中間パス距離値を記憶するた
めのビタビ復号器ループの一部のブロック図が示されて
いる。図11に示されたビタビ復号器の一部には複数の
先入れ先出し(FIFO)メモリが設けられている。こ
のメモリ空間は等しい64ワードのセグメントに分割さ
れており、各64ワードセグメントは128よりも小さ
い値を有する、偶数番号ノードに関連するFIFO30
0、128よりも小さい値を有する奇数番号のノードに
関連するFIFO302、128以上の値を有する偶数
番号のノードに関連するFIFO304、128以上の
値を有する奇数番号のノードに関連するFIFO30
6、128以上の値を有する偶数番号のノードに関連す
るオーバーフローFIFO308、128以上の値を有
する奇数番号のノードに関連するFIFO310のうち
の1つに記憶される。FIFO300および302の出
力は選択可能であり、バス314を通してラッチ312
に入力される。ラッチ312の出力は合計接合部316
の入力端へ入力され、この接合部の出力はラッチ318
に入力される。ラッチ312の出力も合計接合部320
へ入力され、接合部320の出力はラッチ322に入力
される。FIFO304、306、308および310
の出力は全てラッチ324に選択自在に入力される。ラ
ッチ324の出力は合計接続部326へ入力され、この
合計接続部の出力はラッチ328に入力される。ラッチ
324の出力は合計接続部330の入力にも入力され、
合計接続部330の出力はラッチ332に入力される。
合計接続部316および合計接続部330の双方は第2
入力端が出力d(m(N)、シンボル)を受けるよう、
ソフト判断パス距離テーブル340の出力端に接続され
ており、合計接続部326および320は第2入力端が
値d(7−m(N)、シンボル)に関連したテーブル3
40の出力端に接続されている。
【0040】ラッチ318および328の出力はブロッ
ク350に入力され、ブロック350は2つのラッチ3
18と328の内容を比較し、どちらの内容の方が低い
値であるかを判断するようになっている。この値、すな
わちそのノードに対する新しいブランチ距離は次にラッ
チ352に記憶される。更に比較の結果を示すライン3
54には単一ビット出力が発生される。この出力をSE
L0出力と称す。同様に、ラッチ322および332の
出力はブロック358に入力される。このブロック35
8はラッチ322と332の内容の出力を比較し、ラッ
チ360にその低い方の値を記憶するようになってい
る。ブロック358もSEL1と表示されたライン36
2に単一の値を出力するようになっている。ライン35
2の出力は、バス372を通してFIFO300、30
4および308の入力に入力される。ラッチ360の出
力はバス370を通してFIFO302、306および
310の入力に入力される。FIFO300〜310の
各々の作動は制御ブロック374によって制御され、こ
の制御ブロック374は後述するように、FIFO30
0〜310のうちの選択FIFO内に情報を記憶し、こ
れから情報を抽出するための読み出しおよび書き込み制
御信号を発生するようになっている。更に、制御ブロッ
ク374はスタート信号、更にリセット信号も受信す
る。この制御ブロックは出力信号として完了信号も発生
するようになっている。制御回路374はN個の値も発
生し、このN個の値はたたみ込み符号器378に入力さ
れる。このたたみ込み符号器378の出力はブロック3
40へ入力するための3ビットの値としてラッチ384
に記憶される。d(m(N)、symbol)およびd
(7−m(N)、symbol)に対してはそれぞれブ
ロック340にソフト判断パス距離テーブルが記憶され
る。m(N)および7−m(N)は1の補数の関係にあ
り、7−m(N)はm(N)から容易に得られる。
【0041】初期パス距離値に対しては先のパス距離値
を定める必要がある。ビタビ復号化では、先の距離値
(N)および距離値(N+128)を最大例外距離
(0)にセットし、この最大例外距離値は0の値にセッ
トされる。このことは、双方のブロック350および3
58に入力される制御ライン382上の飽和制御信号に
よってイネーブルされる。
【0042】距離値(2N)の計算の結果は偶数値を構
成し、この偶数値は偶数FIFO300および偶数FI
FO304または偶数FIFO308に記憶される。後
述するように、先の情報を保持するために、偶数FIF
O308および偶数FIFO310が設けられている。
従って、偶数FIFO304または308のいずれかに
新しいパス距離値が書き込まれると、偶数FIFO30
4および308の他方は先のパス距離値を維持する。こ
のことは、距離(2N+1)を計算するための奇数FI
FO306および310の場合でも同じである。
【0043】更に図11を参照すると、比較器350は
ラッチ318内の値と328内の値を比較するように働
く。ラッチ318は奇数または偶数であるN+値d(m
(N)、symbol)の場合の先のパス距離に関連す
る値を含む。このラッチ328は先のパス距離と、距離
(N+128)および値d(7−m(N)、symbo
l)との和を記憶する。これら2つの値は比較され、最
も可能性の高い距離値、すなわち最も小さい値がFIF
O300〜310のうちの適当な1つに書き戻される。
レジスタ300および302はラッチ312への最初の
クロックサイクルでクロック制御され、次に距離が計算
され、次のクロックサイクルでラッチ318に記憶され
ることに留意されたい。128以上のNの値に対して
は、冗長FIFO304、308および非冗長FIFO
306、310を交互に動作させることが重要である。
これは先のパス距離値にオーバーライトしないように保
証するためである。このことは、2Nパス、W2Nおよび
2N+1パス、W2N+1に対する書き込み動作と共に、N
<128に対する読み出し動作RNおよびN≧128に
対する読み出し動作RN+128の場合の次の表2に示され
ている。
【0044】
【表2】
【0045】このような構造では、Nは127から0へ
デクリメントされ、次に即座にオーバーライトできる。
しかしながらN≧128の値に関連するFIFOとの間
の読み出しおよび書き込み動作は異なるFIFOとの間
で読み出しおよび書き込みされる。これは所定のノード
計算に対してはN>128のFIFOを1回読み出すだ
けでよいことに起因し、同じノード計算の間、再び同じ
FIFOが使用されるという事実のために、N≧128
のFIFOとの競合があり得るからである。式3および
4の双方を計算するこのような構造では、N≧128の
FIFOに対しては冗長FIFOがあるだけでよいの
で、必要なメモリ数は少なくてすむ。更にFIFOを使
用することによりビタビアルゴリズムを実現する際には
パス距離1の記憶を少なくすることにより、より高速の
読み出しおよび書き込みが可能となる。
【0046】コンパレータ350および358はそれぞ
れのラッチ352および360に対する出力に対し、関
連するラッチ318および328または322および3
32のうちの1つの出力をそれぞれ選択するように作動
し、更にこれらコンパレータはSEL0およびSEL1
信号を出力するように働く。上方パスが選択される際に
はSEL0信号は論理「0」であり、下方パスが選択さ
れる際には論理「1」である。同じように、上方パスが
選択される際にはSEL1信号は論理「0」であり、下
方パスが選択される際には論理「1」である。図示され
ていないが、コンパレータ350はこれに関連するマル
チプレクサを有しており、コンパレータの出力はこのマ
ルチプレクサからの出力に対し、ラッチ318またはラ
ッチ328を選択する。SEL0またはSEL1信号の
出力は、出力ラッチに対する出力に対し2つの入力ラッ
チの一方を選択する内部マルチプレクサ(図示せず)を
備えたコンパレータの判断を示す。このようにSEL0
およびSEL1ビットの値はどの着信パスが可能性の最
も高いパスとなるかを示し、この値は各着信シンボルの
ための256個のノードの各々に対して発生される。こ
れらノードの各々はこれに関連するNの値を有し、ノー
ドが偶数である時、復号化されたデータは論理「0」と
なり、ノードが奇数である時は論理「1」の値となると
決定されているので、最も可能性の高いパスをトラバー
スするにはSELの値を検査するだけでよい。
【0047】次に図2を参照すると、ここにはビタビ復
号器のループの第2部分のブロック図が示されている。
2つのSEL0およびSEL1ビットはレジスタ400
を通してデータバス398上で多重化される。データバ
ス398は4ビットのデータバスであり、後述するよう
に最初の2つのSELビットがデータバスの2つの最小
位ビット(LSB)に入力され、次の2つのSELビッ
トが2つの最大位ビット(MSB)に入力されるよう、
SEL0ビットおよびSEL1ビットとデータバス39
8の4ビットとをインターフェースするためのマルチプ
レクサ(図示せず)が設けられている。データバス39
8はダイナミックランダムアクセスメモリ(DRAM)
400に入力される。このメモリ400は各列アドレス
に対し4ビットが与えられるように構成されている。図
示されたDRAM400では1024の行と256の列
が設けられている。ビタビ復号器が作動する際の各クロ
ックサイクルごとにSEL0ビットおよびSEL1ビッ
トが発生される。これらビットは所定の入力シンボルに
対する256個のノード、すなわち256のステートの
うちの2つに対応する。このように関連するノードの各
々から後方に進む最も可能性の高いパスを示す所定のシ
ンボルに対し、256個のSELビットを発生しなけれ
ばならない。従って、受信された所定のシンボルに対し
256個すべてのノードを通過するようにサイクル動作
するには、128のクロックサイクルが必要となる。こ
れらビットはDRAM400の1つの行に逐次記憶され
る。従って、まず1つの行が選択され、次にNの値がイ
ンクリメントされるにつれ、選択された列にデータが逐
次記憶され始める。
【0048】列アドレスは4ビットを選択するので、こ
こには4ビットを記憶できる。このような記憶はまず2
つのレジスタ400をデータバス398の第1および第
2の最小位ビットに接続することによって容易にされ
る。次のクロックサイクルでレジスタ400の内容がメ
モリ400内の選択された対応するセル内に記憶される
ように、これら内容はデータバス398の第3および第
4の最大位ビットに接続される。次のサイクルでコラム
アドレスがインクリメントされ、次にこのような動作が
繰り返される。この動作は所定のシンボルに対し64の
列アドレスに対し続けられるので、1つの行に1つのシ
ンボルが関連する。しかしながら、他の行長さでも対応
できると理解すべきである。行の終端部では列アドレス
は63である。次のシンボルに対する次の256のSE
Lビットに対し、列アドレスを0に戻すようにセットす
るかわりに、行アドレスをインクリメントした後に時間
を節約するために列アドレスを逆方向にデクリメントす
る。これによりその新しい行にSEL情報のより価値の
あるシンボルが記憶される。このような操作は所定のシ
ーケンスに対する全てのデータが受信されるまで続けら
れる。
【0049】復号化動作では、復号器は逆の順序で作動
するだけでよい。すなわち最終ステートがステート
「0」となる知識を復号器が有する状態で、復号化すべ
き最終シンボルに256のノードが関連する状態でスタ
ートする。次に逆方向にどのパスをトラバースすべきか
を判断するよう、この1つの状態だけを見る。このよう
にするには、最終シンボルに対し、「0」ステートに関
連する記憶ロケーションにあるSELビットを見るだけ
でよい。SELビットが論理「0」であれば、上方パス
に進み、論理「1」であれば、下方パスに進む。実際に
はこれは逆方向パスに対するポインタになる。この復号
器の動作は値を決定するのにポイントされたノードであ
る次の256のノードのための情報に進むだけでよい。
ポイントされたノードが偶数ノードである場合、復号化
された出力ビットは「0」となり、奇数ノードであれ
ば、復号化された出力は論理「1」となる。この新しい
ノードでは、そのノードに対するSELビットを読み出
し、次に復号器は先のシンボルに関連して記憶された先
の256のビットに進み、そのシンボルのためのSEL
ビットを読み出し、そのビットに関連する値に対する復
号化されたビットを出力する。この動作は受信されたす
べてのシンボルに対して続けられる。従って、この動作
によって復号化された出力データが得られる。所定のシ
ーケンスの受信データに対し、メモリ400内に記憶さ
れた全ての情報を読み出すには、全メモリを通過するよ
うにトラバースする必要がある。
【0050】次に図13を参照する。ここにはメモリ4
00の動作の図が示されている。このバックトレーシン
グ動作はメモリからデータを取り出し、メモリへ戻す態
様を示している。上記のようにデータは列アドレスを1
方向にインクリメントし、次に記憶するように他の方向
にデクリメントするよう、蛇行して入力される。所定の
シーケンスに対し、一旦情報が記憶されると、これを復
号化しなければならない。
【0051】図13からは、最初の動作は最も可能性の
高いパスに対するSELビットを選択するためのバック
トレーシングアクセスであることが判る。この動作の次
に、フォワードトレーシング情報が続く。ここでは25
6個のSELビットが記憶される。バックトレーシング
動作はビタビ復号化アルゴリズムにおけるトレリスのバ
ックトレーシング動作に従って先に記憶されたSEL情
報を復号化する。このバックトレーシング動作の工程は
次のとおりである。
【0052】「0」の初期化から「0」シンボルのテー
ルまでの全シーケンスのデータが受信されると、バック
トレーシング動作が開始される。このバックトレーシン
グ動作は最終ステートが「0」であることが判っている
ということを考慮する。256個のSELビットの最終
ブロックの最初のノードが読み出される。このノードは
偶数であるので、復号化されたデータは論理「0」とな
る。更にSELビットは次の列アドレスがどこにあるの
かを復号器に伝える。すなわち2Nまたは2N+1ノー
ドである現在ノードに対するNまたはN+128ノード
への上方パスに従うのか、または下方パスに従うのかを
復号器に伝える。従って、行アドレスがバックワード動
作でデクリメントされた場合に、ポイントされた列アド
レスは下方または上方パスのどちらかの定義されたパス
に関連した単一ビットにアクセスするだけでよい。特定
の動作は次のとおりである。
【0053】1.シーケンス内の最終テールビットまで
のSEL情報を記憶する。
【0054】2.(n7、n6、n5、n4、n3、n2、n
1、n0)(ここでn7はMSBである)のように8ビッ
トの列アドレスを定めることによりバックトレーシング
動作を開始する。メモリ400にアクセスするのに64
のコラムアドレスが必要であることに留意されたい。し
かしながら4ビットであるので、メモリのための列アド
レスは6ビットの他に列アドレスごとの4ビットを選択
するのに必要な別の4ビットを有しているだけでよい。
これにより、図示されていない所定の予備的復号化動作
が必要となる。従って、この8ビットアドレスは行内の
単一ビットを選択する。
【0055】3.アドレス(n7、n6、n5、n4
3、n2、n1、n0)=(0、0、0、0、0、0、
0、0)とセットする。このアドレスは上記のようにバ
ックトレーシング動作における最初のノードは「0」ス
テートとなることが判っているので、このアドレスは最
初のノードのアドレスである。
【0056】4.行アドレスは最終行アドレスにセット
される。この最終行アドレスには所定のシーケンスに対
するSEL情報が記憶される。この情報は「0」データ
ビットに関連する最終記憶シンボルに対応し、このこと
は既知である。
【0057】5.最も望ましい逆パス、すなわち上方パ
スか下方パスかを示す、このアドレスにおけるSELビ
ットを読み出す。
【0058】6.SELビット情報に従い、新しいアド
レスを次のように定義する。 SEL=0(上方パス):(0、n7、n6、n5、n4
3、n2、n1); n1が偶数のとき、復号化された出力=0であり、奇数
のとき、復号化された出力=1となる。 SEL=1(下方パス):(1、n7、n6、n5、n4
3、n2、n1); n1が偶数のとき、復号化された出力=0であり、奇数
のとき、復号化された出力=1となる。
【0059】7.行アドレスを逆方向に1だけインクリ
メントする。
【0060】8.行アドレスがスタートアドレスに戻る
まで、上記工程5〜6を繰り返す。
【0061】上記工程により、トレリスを通して後方に
トレースされた最も可能性の高いパスに従って復号化さ
れたビットストリームを組み立てできる。このバックト
レーシング動作の後に新しい着信データに対し、そのブ
ロックのSEL情報の全てをオーバーライトできる。こ
の動作はたたみ込み符号の次の組に対応する。このよう
な順方向のメモリアクセスと逆方向のメモリアクセスと
を繰り返すことにより、1つのメモリで経済的にバック
トレーシング復号化と新しいSEL情報の記憶を行うこ
とができる。上記工程6では、SEL情報は常にトレリ
スがトラバースすべき256個のノードの先の組のアド
レスを常に定めることに留意されたい。ノードが2Nノ
ードであったか、または2N+1ノードであったかに応
じ、MSBはノードからもどりのNパスに対しては
「0」となり、N+128パスに対しては「1」とな
る。
【0062】図12の実現例からアクセスされる出力は
バックトレーシング動作に起因し、逆順序となっている
ことが理解できよう。通常の順序でデータシーケンスを
発生するには、すなわちデータストリームを「フリッ
プ」するには、別のメモリを増設しなければならない。
【0063】次に図14を参照する。ここには図12の
実施例と別の、ビデオRAM(VRAM)500を利用
した実施例が示されている。このVRAM500はリア
ルタイムのビデオおよびグラフィック入出力のために利
用されている、業界における商品である代表的なビデオ
メモリである。VRAMの内部構造により2方向へのア
クセスが可能である。第1の態様では、メモリアレイの
パラレルアクセスが得られ、第2の態様ではシリアルア
クセスが得られる。従って、最も一般的には1行にピク
セルの1列を記憶できるよう、スクリーンにVRAMを
「ピクセル」マップする。このようにビデオスクリーン
の1列に対応するピクセルの全行を1行の長さに等しい
シリアル出力シフトレジスタに出力できる。次にこの情
報をディスプレイのラスターと同期させてビデオディス
プレイ内にこのレジスタよりシリアルに出力できる。こ
のシフトレジスタの内容が出力される間、先のサイクル
で実際にアドレス指定され、シフトレジスタに出力され
た行を更新できる。
【0064】SEL情報を記憶することと逆に、1つの
行内に実際の復号化されたデータを蓄積できるようにす
るには、後述するようにVRAM500を制御する。こ
のような制御は「0」である既知のデータビットを記憶
して、最初に受信されたシンボルに対する演算を開始す
ることにより容易となる。次のサイクルでは、各ノード
に対し復号化されたデータストリームが与えられる。こ
のデータはそのノードが最も可能性の高いパスであると
判断された場合、復号化されたデータとなる。所定の受
信されたシンボルに対し、256個の可能なノードから
新しいノードを取り出し、式3および4を計算すること
により、どのパスがそのノードに対し最も可能性がある
かを判断することにより、すなわち先のシンボル内のN
モードからのパスまたは先のシンボル内のN+128の
ノードからのパスのいずれかを判断することにより、そ
のノードに対する復号化されたデータがこれに添付され
た新しいノードに関連する復号化されたデータを有する
ことができ、このデータは偶数のノード(2N)に対し
ては「0」の復号化されたデータビットとなり、奇数の
ノード(2N+1)に対しては「1」の復号化されたデ
ータビットとなる。従って、受信された各シンボルに対
しては、トレリスを通して各ノードまたはステートに対
する復号化されたデータストリームを累積できる。この
操作は、符号化されたシーケンスの最終部が受信され、
この受信時において復号化された有効なデータはステー
ト「0」に関し記憶されたデータだけであることが判る
まで続く。
【0065】更に図14を参照すると、ここにはNの値
を受信し、更にSEL0およびSEL1ビットも受信す
るようになっているアドレス発生器兼制御回路502が
設けられている。これらビットはアドレスバス504に
行アドレスを発生するのに利用される。更に、アドレス
発生器兼制御回路502は制御ライン506を介してタ
イミング信号を発生し、VRAM500上の2つのマル
チポートの種々の制御を行う。VRAM500のシリア
ル入力端はシリアル入力バス510に接続されており、
この入力バスはマルチプレクサ512によって選択可能
な「1」または「0」の値のいずれかを受信するように
なっている。このマルチプレクサ512はアドレス発生
器兼制御回路502によって制御される。VRAM50
0は復号化されたデータバス514に復号化されたパラ
レルデータを出力するようになっている。
【0066】次に図15a〜15dを参照する。ここに
は復号化されたデータを蓄積する態様を逐次示す4つの
略図が示されている。VRAM500は2つのブロック
のメモリに分割されており、各ブロックは1024の列
および256の行に配置されており、これらブロックは
上方部分520と下方部分522を含む。更にシフトレ
ジスタ524も設けられている。次の動作の処理フロー
説明で、図15a〜15dの略図を利用する。
【0067】プロセスフローの第1工程では、所定のノ
ードに対し上方パスを選択するか、または下方パスを選
択するかを判断するよう、ノードの各々における所定の
受信シンボルに対しパスの距離の比較を行う。すなわち
この決定はSEL1ビットおよびSEL0のビットの値
によって決定される。所定のノードに対するパス距離が
一旦決定されると、所定のノード(2Nまたは2N+
1)は先のノードのうちのどちら(Nまたは+128)
からパスがフローするのかを知る。所定のノード(2N
または2N+1)に対し、パス距離が決定された後に、
SEL1およびSEL2の値に応じ、本例における上方
ブロック520から(Nからフローする)決定された上
方ブランチまたは(N+128からフローする)下方ブ
ランチの値が選択される。図15aでは、ロケーション
528内に先に復号化された組のデータが記憶される。
このデータはノード2Nまたは2N+1における受信さ
れたシンボルに対するノードN(上方パス)またはN+
128(下方パス)における復号化されたデータのステ
ートである。このデータは先のシンボルが受信されたと
きに計算されたノードNまたはN+128に対する復号
化されたデータのストリングを構成する。
【0068】この第1工程では、図15bに示されるよ
うに、アドレス指定されたロケーション528の内容が
シフトレジスタ524にダウンロードされる。このアド
レスはまず受信されたシンボルに対するノードを選択
し、次にそのノードが偶数(2Nノード)または奇数
(2N+1ノード)であるかを判断することによって定
められる。次にブランチ距離を計算し、上方パス(N)
または下方パス(N+128)を最も可能性の高いパス
として決定する。この値、すなわちNまたはN+128
は、ロケーション528のアドレスとなる。このポイン
トにおけるシフトレジスタ内に記憶されているデータは
先に受信されたシンボルに対する復号化されたデータを
構成すると理解することが重要である。
【0069】図15bに示される先の工程でシフトレジ
スタ524に一旦情報がロードされると、所定のノード
(2Nまたは2N+1)に対し、このノードが奇数であ
るか、または偶数であるかを判断する必要がある。偶数
であればマルチプレクサ512によりシフトレジスタ5
24に「0」をシフトする。次にシフトレジスタ524
内のデータストリームの長さが記憶ロケーション528
内のデータストリームの長さよりも1ビット長いことに
留意すべきである。この長さはその所定のノード(2N
または2N+1)における復号化されたデータストリー
ムおよび受信されたシーケンスのデータを有する関連す
るシンボルを示す。
【0070】所定のノードに対するシフトレジスタ52
4に復号化されたデータビットが一旦シフトされると、
その結果生じる、シフトレジスタ524内の復号化され
たビットストリームは、図5dに示されるようにVRA
M500内の下方ブロック522に転送される。このア
ドレスは偶数アドレス(2N)または奇数アドレス(2
N+1)のいずれかとなり、式3および4に関連する。
【0071】所定の受信シンボルの1つのノードに対す
る復号化されたデータが一旦決定されると、2Nまたは
2N+1の値がインクリメントされ、次に2N+1また
は2Nの新しいノードに対する新しいブランチ距離が計
算され、最も可能性の高い先のノードNまたはN+12
8が決定され、そのノードに対する復号化されたデータ
ストリームが検索され、適当なデータストリームが添付
されて下方ブロック522へ戻されるような記憶が行わ
れる。次のシンボルが受信される時はデータをブロック
522から検索し、これをシフトレジスタ524にシフ
トし、次にシフトレジスタ524からのデータをブロッ
ク520内の適当なロケーションにシフトするように操
作を交互に行うだけでよい。VRAMを用いたこのよう
な操作では、復号化されたビットストリームを得るのに
バックトレーシングは不要である。その理由は、復号化
されたビットストリームの形態で直接復号化された結果
が記憶されるからである。しかしながら、SEL0およ
びSEL1情報はVRAM500の操作ごとに一度に1
つずつ処理する必要がある。
【0072】要約すれば、最小量のメモリしか使用しな
いビタビアルゴリズムの実現例について説明した。第1
の特徴では、FIFOを使ってブランチ距離を計算し、
距離が一旦計算されると演算全体に最小量のメモリしか
必要でないように、これら距離は単一のメモリ内に記憶
される。このような演算は各ノードで1つのバックパス
しか必要でないような各ノードにおいて、最も可能性の
少ないパスを思い出す必要性を実質的に解消するビタビ
アルゴリズムによって容易となっている。
【0073】以上の説明に関して更に以下の項を開示す
る。 (1)シーケンスの終わりにたたみ込み符号化プロセス
の既知のステートを有する符号化されたデータシーケン
スを受信する工程と、M個のステートおよびM個のノー
ドがあり、各ステートおよび各受信されたシンボルに関
連する対応するノードに対し、復号化されたデータビッ
トおよび最も可能性の高いステートおよび先に受信され
たシンボルに関連する対応するノードに対するパスポイ
ンタが関連している、たたみ込み符号化プロセスの各受
信シンボルおよび各ステートに対する情報ノードのテー
ブルを構築する工程と、テーブル内の情報から復号化さ
れたデータワードを抽出する工程とを備え、前記抽出す
る工程が、 a)シーケンスの終わりで最後に受信されたシンボルに
関連するテーブルから選択されたノードを構成する既知
のステートに対応するノードを選択する工程と、 b)選択されたノードからデータビットを抽出し、抽出
されたデータビットを復号化されたデータワードに添付
する工程と、 c)関連するシンボルに対する選択されたノードから、
選択されたノードに対するパスポインタによって示され
るステートおよび先のシンボルの対応するノードへトラ
バースする工程と、第1シンボルに対するデータを検査
し、復号化されたデータワードに関連する復号化された
データビットを添付するまで、受信された各シンボルに
対し、上記工程b)およびc)を繰り返すことにより、
テーブル内の情報から復号化されたデータワードを抽出
する工程とを備えた、たたみ込みにより符号化されたシ
ンボルを送受信するビタビアルゴリズムによって符号化
されたデータシーケンスを復号化するための方法。
【0074】(2)出力データワードを発生するよう
に、復号化され、アセンブルされたデータワードのシー
ケンスを反転する工程を更に含む、第1項記載の方法。
【0075】(3)シーケンスの終了時の公知のステー
トが「0」データビットに対応する、第1項または2項
記載の方法。
【0076】(4)たたみ込み符号器内のステートの数
が2n=Mに等しくなるようにセットし、データシーケ
ンスの終了時のシーケンスがn個の「0」のストリング
を含むように、たたみ込み符号化演算が「n」の長さの
演算に関連する複数の遅延時間を生じる、第3項記載の
方法。
【0077】(5)テーブルを構築する工程が、受信さ
れた各シンボルが1つの行に対応し、各シンボルに関連
する各ステートが関連する行内の列アドレスに対応する
よう構成されたメモリを設ける工程と、受信した各シン
ボルに関連する行内の各列アドレスと共に、先に受信し
たシンボルに対するノードおよび関連する列アドレスに
対する最も可能性の高いパスを示すデータビットを記憶
する工程とを備え、各行内の列アドレスが「1」からM
個のステートに対応する「M」まで変化する値Nを有
し、N(偶数または奇数)の値が選択された列アドレス
における選択された行内の選択されたステートに対する
復号化されたデータビットを発生するよう、各ノードお
よび値Nを有する対応するステートに関連する復号化さ
れたデータビットに対するデータ値が、偶数または奇数
のステートのいずれかに対し「1」であり、偶数または
奇数のステートの他方のステートに対し「0」となる、
第1項記載の方法。
【0078】(6)テーブルを構築する工程が、各関連
するステートに対し、先に受信したシンボルに関連する
ステートおよび対応するノードへの最も可能性の高いパ
スを判断するよう、受信した各シンボルをビタビアルゴ
リズムにより処理し、偶数ステートであるか、または奇
数ステートであるかを示すビットにより、その最も可能
性の高いパスを表わすことを含む、第5項記載の方法。
【0079】(7)先に受信したシンボルのステートへ
のパスが、処理したシンボルのステートに等しいか、ま
たは処理したシンボル+N/2に等しいかのいずれかで
ある、第6項記載の方法。
【0080】(8)受信したシンボルを処理するための
ビタビアルゴリズムが、
【数5】 であり、ここで、metric(2N)=現在受信したシンボ
ルに関連する偶数のノードに対するパス距離であり、me
tric(2N+1)=現在受信したシンボルに関連する奇
数ノードのパス距離であり、metric(N)=先に受信し
たシンボルに対するパス距離であり、metric(N+M/
2)=ノードN+M/2に対するパス距離であり、「sy
mbol」は受信したシンボルを示し、m(N)はステート
Nおよび入力0に対するたたみ込み符号器の出力であ
り、d(symbol、7−m(N))およびd(symbol、m
(N))=シンボル間の関連するパスに対するブランチ
距離である、第8項記載の方法。
【0081】(9)偶数ステートに対するパス距離およ
び奇数ステートに対するパス距離を計算し、計算後、最
も可能性の高いパス距離および先のパス距離と置き換わ
るこの新しいパス距離に関する判断を行うように、2N
および2N+1に対する式をパラレルに計算する第8項
記載の方法。
【0082】(10)ビタビアルゴリズムを計算する工
程が、FIFO内に各パス距離を記憶する工程と、演算
ごとに関連するFIFOからパス距離を抽出し、このパ
ス距離に計算されたブランチ距離を加え、先に受信した
シンボルに関連する先の2つのノードから各ノードに対
する新しいパス距離を発生すると共に、関連する偶数ノ
ードおよび奇数ノードに対する新しいパス距離を比較
し、偶数ノードおよび奇数ノードの各々における最も可
能性の高いパスを選択し、処理したNのステートに対す
る対応する2Nまたは2N+1ロケーション内に最も可
能性の高いパスを戻すように記憶し、「0」から
max、すなわちMのNに対する最大値まで変化するN
をインクリメントし、Nに対する計算を繰り返すことを
含む、第9項記載の方法。
【0083】(11)符号化され、受信された各シンボ
ルに対し、M個のステートが関連する符号化されたデー
タシーケンスを受信する工程と、M個のステートの各々
に対し、復号化されたデータワードを記憶する工程と、
受信した初期シンボルの後に、受信した所定のシンボル
に対し、「0」から「M」へ変化する各ステートNに対
するパス距離を計算する工程と、受信した所定のシンボ
ルに対するステートNごとに先に受信したシンボルに関
連するステートN’(このN’はNと異なる)に対する
最も可能性の高いパスを決定する工程と、先に受信した
シンボルに関連する決定されたステートN’に関連する
復号化されたデータワードを検索する工程と、先に受信
したシンボルからのN’ステートからの検索されたデー
タワードに、所定の受信したシンボルのNステートに関
連するデータビットを添付し、更新されたデータワード
を発生する工程と、N番目のステートに関連して更新さ
れたデータワードを記憶する工程とを備え、最後に受信
したシンボルに関連するステートごとに、復号化された
データワードが発生され、この最後に受信したシンボル
が既知のステートを含むようになっている、たたみ込み
符号化されたシンボルを送受信する、符号化されたデー
タシーケンスを復号化するための方法。
【0084】(12)受信した所定のシンボルに対する
ステートNごとに、最も可能性の高いパスを決定する工
程が、受信した所定のシンボルに対するステートごと
に、ビタビアルゴリズムに従って先に受信したシンボル
に関連するデータへの最も可能性の高いパスを決定する
ことを含む、請求項11記載の方法。
【0085】(13)各ノードに対するデータビットは
Nの偶数値に対し「1」または「0」であり、Nの奇数
値に対し「1」または「0」の他方を含む、請求項11
記載の方法。
【0086】(14)シーケンスの終わりにたたみ込み
符号化プロセスの既知のステートを有する符号化された
データシーケンスを受信する入力と、M個のステートお
よびM個のノードがあり、各ステートおよび各受信され
たシンボルに関連する対応するノードに対し、復号化さ
れたデータビットおよび最も可能性の高いステートおよ
び先に受信されたシンボルに関連する対応するノードに
対するパスポインタが関連している、たたみ込み符号化
プロセスの各受信シンボルおよび各ステートに対する情
報ノードのテーブルを構築する復号器要素と、テーブル
内の情報から復号化されたデータワードを抽出する抽出
器とを備え、前記抽出器が、 a)シーケンスの終わりで最後に受信されたシンボルに
関連するテーブルから選択されたノードを構成する既知
のステートに対応するノードを選択し、 b)選択されたノードからデータビットを抽出し、抽出
されたデータビットを復号化されたデータワードに添付
し、 c)関連するシンボルに対する選択されたノードから、
選択されたノードに対するパスポインタによって示され
るステートおよび先のシンボルの対応するノードへトラ
バースするよう作動し、第1シンボルに対するデータを
検査し、復号化されたデータワードに関連する復号化さ
れたデータビットを添付するまで、受信された各シンボ
ルに対し、上記抽出動作およびトラバース動作を繰り返
すことにより、テーブル内の情報から復号化されたデー
タワードを抽出する工程とを備えた、たたみ込みにより
符号化されたシンボルを送受信するビタビアルゴリズム
によって符号化されたデータシーケンスを復号化するた
めの復号器。
【0087】(15)出力データワードを発生するよう
に、復号化され、アセンブルされたデータワードのシー
ケンスを反転するデータワードインバータを更に含む、
第14項記載の復号器。
【0088】(16)シーケンスの終了時の公知のステ
ートが「0」データビットに対応する、第14項または
15項記載の復号器。
【0089】(17)たたみ込み符号器内のステートの
数が2n=Mに等しくなるようにセットし、データシー
ケンスの終了時のシーケンスがn個の「0」のストリン
グを含むように、たたみ込み符号化演算が「n」の長さ
の演算に関連する複数の遅延時間を生じる、第16項記
載の符号器。
【0090】(18)前記テーブルが、受信された各シ
ンボルが1つの行に対応し、各シンボルに関連する各ス
テートが関連する行内の列アドレスに対応するよう構成
されたメモリと、受信した各シンボルに関連する行内の
各列アドレスと共に、先に受信したシンボルに対するノ
ードおよび関連する列アドレスに対する最も可能性の高
いパスを表示するデータビットを記憶するアドレスコン
トローラとを備え、各行内の列アドレスが「1」からM
個のステートに対応する「M」まで変化する値Nを有
し、N(偶数または奇数)の値が選択された列アドレス
における選択された行内の選択されたステートに対する
復号化されたデータビットを発生するよう、各ノードお
よび値Nを有する対応するステートに関連する復号化さ
れたデータビットに対するデータ値が、偶数または奇数
のステートのいずれかに対し「1」であり、偶数または
奇数のステートの他方のステートに対し「0」となる、
第14、15、16、または17項記載の復号器。
【0091】(19)前記復号器が、各関連するステー
トに対し、先に受信したシンボルに関連するステートお
よび対応するノードへの最も可能性の高いパスを判断す
るよう、受信した各シンボルをビタビアルゴリズムによ
り処理し、偶数ステートであるか、または奇数ステート
であるかを示すビットにより、その最も可能性の高いパ
スを表わすビタビ復号器を含む、第18項記載の復号
器。
【0092】(20)先に受信したシンボルのステート
へのパスが、処理したシンボルのステートに等しいか、
または処理したシンボル+N/2に等しいかのいずれか
である、第19項記載の復号器。
【0093】(21)受信したシンボルを処理するため
の前記ビタビアルゴリズムが、
【数6】 であり、ここで、metric(2N)=現在受信したシンボ
ルに関連する偶数のノードに対するパス距離であり、me
tric(2N+1)=現在受信したシンボルに関連する奇
数ノードのパス距離であり、metric(N)=先に受信し
たシンボルに対するパス距離であり、metric(N+M/
2)=ノードN+M/2に対するパス距離であり、「sy
mbol」は受信したシンボルを示し、m(N)はステート
Nおよび入力0に対するたたみ込み符号器の出力であ
り、d(symbol、7−m(N))およびd(symbol、m
(N))=シンボル間の関連するパスに対するブランチ
距離である、第20項記載の復号器。
【0094】(22)偶数ステートに対するパス距離お
よび奇数ステートに対するパス距離を計算し、計算後、
最も可能性の高いパス距離および先のパス距離と置き換
わるこの新しいパス距離に関する判断を行うように、2
Nおよび2N+1に対する式をパラレルに計算する第2
1項記載の復号器。
【0095】(23)前記ビタビ復号器が、各パス距離
を記憶するFIFOと、演算ごとに関連するFIFOか
らパス距離を抽出し、このパス距離に計算されたブラン
チ距離を加え、先に受信したシンボルに関連する先の2
つのノードから各ノードに対する新しいパス距離を発生
すると共に、関連する偶数ノードおよび奇数ノードに対
する新しいパス距離を比較し、偶数ノードおよび奇数ノ
ードの各々における最も可能性の高いパスを選択するF
IFO抽出器と、処理したNのステートに対する対応す
る2Nまたは2N+1ロケーション内に最も可能性の高
いパスを戻すように記憶するためのフィードバックデバ
イスと、「0」からNmax、すなわちMのNに対する最
大値まで変化するNをインクリメントし、Nに対する計
算を繰り返すためのコントローラとを含む、第22項記
載の復号器。
【0096】(24)符号化され、受信された各シンボ
ルに対し、M個のステートが関連する符号化されたデー
タシーケンスを受信する入力と、M個のステートの各々
に対し、復号化されたデータワードを記憶するメモリ
と、受信した初期シンボルの後に、受信した所定のシン
ボルに対し、「0」から「M」へ変化する各ステートN
に対するパス距離を計算する手段と、受信した所定のシ
ンボルに対するステートNごとに先に受信したシンボル
に関連するステートN’(このN’はNと異なる)に対
する最も可能性の高いパスを決定する手段と、先に受信
したシンボルに関連する決定されたステートN’に関連
する復号化されたデータワードを検索する手段と、先に
受信したシンボルからのN’ステートからの検索された
データワードに、所定の受信したシンボルのNステート
に関連するデータビットを添付し、復号器されたデータ
ワードを発生して、N番目のステートに関連して更新さ
れたデータワードを前記メモリに記憶する手段とを備
え、最後に受信したシンボルに関連するステートごと
に、復号化されたデータワードが発生され、この最後に
受信したシンボルが既知のステートを含むようになって
いる、たたみ込み符号化されたシンボルを送受信する、
符号化されたデータシーケンスを復号化するための復号
器。
【0097】(25)受信した所定のシンボルに対する
ステートNごとに、最も可能性の高いパスを決定する前
記手段が、受信した所定のシンボルに対するステートご
とに、ビタビアルゴリズムに従って先に受信したシンボ
ルに関連するデータへの最も可能性の高いパスを決定す
るようになっている、請求項24記載の復号器。
【0098】(26)復号化演算のために最小量のメモ
リしか使用しないビタビ復号器が開示されている。複数
のFIFO300、302、304、306、308、
310が設けられており、これらFIFOは2つのブロ
ックのFIFOに分割されている。すなわち上方ステー
トのためのブロック304、306、308、310と
下方ステートのためのブロック300、302とに分割
されている。先に記憶されたブランチ距離を利用して演
算計算を行い、FIFOからの情報を検索し、検索する
ことにより新しいブランチ距離を決定し、ソフト判断テ
ーブルによって定められた新しいブランチ距離を加え、
このテーブルより最も可能性の高いパスを選択し、他を
廃棄する。次に、古いブランチ距離と置き換わるように
FIFO内にこの新しいブランチ距離を戻すように記憶
する。各ブランチ距離を計算する結果、そのステートお
よび受信したシンボルに関連する所定のステートに対す
る復号化されたデータビットに対する最も可能性の高い
パスが決定される。この最も可能性の高いパスはノード
の各々に対する別個のメモリ内に記憶され、その後、復
号化されたビットストリームを検索するように、出力が
復号化される。
【0099】
【表3】
【0100】
【表4】
【0101】
【表5】
【0102】
【表6】
【0103】
【表7】
【0104】
【表8】
【図面の簡単な説明】
【図1】無線リンクを通してデータを送信するための連
設された符号器/復号器構造のブロック図である。
【図2】たたみ込み符号器のブロック図である。
【図3】簡略化されたたたみ込み符号器の遷移図であ
る。
【図4】図3の簡略化されたたたみ込み符号器のための
トレリス図である。
【図5】3つのブランチに対するビタビ復号器のための
トレリス図である。
【図6】4つのブランチに対するトレリスおよびビタビ
アルゴリズムである。
【図7】ビタビアルゴリズムに従ったトレリス線図であ
る。
【図8】ビタビ復号化を示すステート遷移図である。
【図9】ソフト判断における距離の定義をするために利
用されるプロットである。
【図10】開示された実施例における左ノード距離と右
ノード距離との関係の図である。
【図11】ビタビ復号器のループである。
【図12】図11のビタビ復号器ループのメモリ記憶部
分のブロック図を示す。
【図13】DRAMにアクセスするための図を示す。
【図14】VRAMを利用する別の実施例を示す。
【図15】VRAMの動作の4つの図を示す。
【符号の説明】
300、302、304、306、308、310 F
IFO 350、358 圧縮器 374 制御回路 378 たたみ込み符号器

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 シーケンスの終わりにたたみ込み符号化
    プロセスの既知のステートを有する符号化されたデータ
    シーケンスを受信する工程と、 M個のステートおよびM個のノードがあり、各ステート
    および各受信されたシンボルに関連する対応するノード
    に対し、復号化されたデータビットおよび最も可能性の
    高いステートおよび先に受信されたシンボルに関連する
    対応するノードに対するパスポインタが関連している、
    たたみ込み符号化プロセスの各受信シンボルおよび各ス
    テートに対する情報ノードのテーブルを構築する工程
    と、 テーブル内の情報から復号化されたデータワードを抽出
    する工程とを備え、 前記抽出する工程が、 a)シーケンスの終わりで最後に受信されたシンボルに
    関連するテーブルから選択されたノードを構成する既知
    のステートに対応するノードを選択する工程と、 b)選択されたノードからデータビットを抽出し、抽出
    されたデータビットを復号化されたデータワードに添付
    する工程と、 c)関連するシンボルに対する選択されたノードから、
    選択されたノードに対するパスポインタによって表示さ
    れるステートおよび先のシンボルの対応するノードへト
    ラバースする工程と、 第1シンボルに対するデータを検査し、復号化されたデ
    ータワードに関連する復号化されたデータビットを添付
    するまで、受信された各シンボルに対し、上記工程b)
    およびc)を繰り返すことにより、テーブル内の情報か
    ら復号化されたデータワードを抽出する工程とを備え
    た、たたみ込みにより符号化されたシンボルを送受信す
    るビタビアルゴリズムによって符号化されたデータシー
    ケンスを復号化するための方法。
  2. 【請求項2】 シーケンスの終わりにたたみ込み符号化
    プロセスの既知のステートを有する符号化されたデータ
    シーケンスを受信する入力と、 M個のステートおよびM個のノードがあり、各ステート
    および各受信されたシンボルに関連する対応するノード
    に対し、復号化されたデータビットおよび最も可能性の
    高いステートおよび先に受信されたシンボルに関連する
    対応するノードに対するパスポインタが関連している、
    たたみ込み符号化プロセスの各受信シンボルおよび各ス
    テートに対する情報ノードのテーブルを構築する復号器
    要素と、 テーブル内の情報から復号化されたデータワードを抽出
    する抽出器とを備え、 前記抽出器が、 a)シーケンスの終わりで最後に受信されたシンボルに
    関連するテーブルから選択されたノードを構成する既知
    のステートに対応するノードを選択し、 b)選択されたノードからデータビットを抽出し、抽出
    されたデータビットを復号化されたデータワードに添付
    し、 c)関連するシンボルに対する選択されたノードから、
    選択されたノードに対するパスポインタによって表示さ
    れるステートおよび先のシンボルの対応するノードへト
    ラバースするよう作動し、 第1シンボルに対するデータを検査し、復号化されたデ
    ータワードに関連する復号化されたデータビットを添付
    するまで、受信された各シンボルに対し、上記抽出動作
    およびトラバース動作を繰り返すことにより、テーブル
    内の情報から復号化されたデータワードを抽出する工程
    とを備えた、たたみ込みにより符号化されたシンボルを
    送受信するビタビアルゴリズムによって符号化されたデ
    ータシーケンスを復号化するための復号器。
JP11375443A 1998-12-29 1999-12-28 高速ビタビ復号器の最小量のメモリによる実現 Abandoned JP2000209106A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US222027 1998-12-29
US09/222,027 US6272661B1 (en) 1998-12-29 1998-12-29 Minimum memory implementation of high speed viterbi decoder

Publications (1)

Publication Number Publication Date
JP2000209106A true JP2000209106A (ja) 2000-07-28

Family

ID=22830455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11375443A Abandoned JP2000209106A (ja) 1998-12-29 1999-12-28 高速ビタビ復号器の最小量のメモリによる実現

Country Status (2)

Country Link
US (1) US6272661B1 (ja)
JP (1) JP2000209106A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2377598A (en) * 2001-02-19 2003-01-15 Radioscape Ltd Convolutional decoder realised as a look up table
CN100417031C (zh) * 2004-08-06 2008-09-03 南京邮电学院 宽带无线接入***中里德索洛门卷积级联码的实现方法
US7434920B2 (en) 2004-06-11 2008-10-14 Canon Kabushiki Kaisha Liquid container for ink jet recording apparatus with structure to promote gas-liquid exchange

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG80035A1 (en) * 1999-05-27 2001-04-17 Inst Of Microelectronics Viterbi decoding of punctured convolutional codes without real-time branch metric computation
DE19926649A1 (de) * 1999-06-11 2000-12-14 Philips Corp Intellectual Pty Anordnung zur Trelliscodierung
US6970520B1 (en) * 2000-11-13 2005-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for accumulating metrics generated by a sequence estimation algorithm
KR100408037B1 (ko) * 2001-03-03 2003-12-01 엘지전자 주식회사 비트 레벨 부호화/복호화 방법 및 장치
US7647547B2 (en) * 2001-08-03 2010-01-12 Alcatel-Lucent Usa Inc. Turbo decoder with reduced-size branch metric cache
US7191387B1 (en) * 2002-01-15 2007-03-13 Ikanos Communication Inc. Method and apparatus for forward error correction
US20050174269A1 (en) * 2004-02-05 2005-08-11 Broadcom Corporation Huffman decoder used for decoding both advanced audio coding (AAC) and MP3 audio
GB2414638A (en) * 2004-05-26 2005-11-30 Tandberg Television Asa Decoding a concatenated convolutional-encoded and block encoded signal
DE102004038754A1 (de) * 2004-08-09 2006-02-23 Micronas Gmbh Decoder und Verfahren zum Durchführen eines Viterbi-Algorithmus
US20070230606A1 (en) * 2006-03-31 2007-10-04 Anders Mark A Viterbi traceback
US20080123210A1 (en) * 2006-11-06 2008-05-29 Wei Zeng Handling synchronization errors potentially experienced by a storage device
KR101480383B1 (ko) * 2007-07-25 2015-01-09 삼성전자주식회사 코드 인코딩 장치
US8301990B2 (en) * 2007-09-27 2012-10-30 Analog Devices, Inc. Programmable compute unit with internal register and bit FIFO for executing Viterbi code
US8402342B2 (en) 2010-02-26 2013-03-19 Research In Motion Limited Method and system for cyclic redundancy check
US8433004B2 (en) * 2010-02-26 2013-04-30 Research In Motion Limited Low-latency viterbi survivor memory architecture and method using register exchange, trace-back, and trace-forward

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8527913D0 (en) * 1985-11-12 1985-12-18 Pa Consulting Services Analysing transitions in finite state machines
DE3600905A1 (de) * 1986-01-15 1987-07-16 Ant Nachrichtentech Verfahren zum dekodieren von binaersignalen sowie viterbi-dekoder und anwendungen
US5144644A (en) * 1989-10-13 1992-09-01 Motorola, Inc. Soft trellis decoding
US5095484A (en) * 1989-11-13 1992-03-10 International Business Machines Company Corporation Phase invariant rate 8/10 matched spectral null code for PRML
BE1004814A3 (nl) * 1991-05-08 1993-02-02 Bell Telephone Mfg Decodeerinrichting.
US5432803A (en) * 1992-04-30 1995-07-11 Novatel Communications, Ltd. Maximum likelihood convolutional decoder
JP2755045B2 (ja) 1992-05-26 1998-05-20 日本電気株式会社 ビタビ復号器
JPH05335972A (ja) 1992-05-27 1993-12-17 Nec Corp ビタビ復号器
US5588028A (en) 1993-02-02 1996-12-24 U.S. Robotics Simplified trellis decoder
CA2165342C (en) 1993-06-18 2005-11-15 Brian K. Butler Method and apparatus for determining the data rate of a received signal
US5410556A (en) 1993-10-29 1995-04-25 Ampex Corporation Pipelined viterbi decoder
US5539757A (en) * 1993-12-22 1996-07-23 At&T Corp. Error correction systems with modified Viterbi decoding
EP0668660A1 (en) 1994-02-18 1995-08-23 Matsushita Electric Industrial Co., Ltd. Maximum likelihood decoder and decoding method
FR2718865B1 (fr) * 1994-04-15 1996-07-19 Texas Instruments France Procédé et dispositif à processeur de signaux numériques pour la mise en Óoeuvre d'un algorithme de Viterbi.
JP3241210B2 (ja) * 1994-06-23 2001-12-25 沖電気工業株式会社 ビタビ復号方法及びビタビ復号回路
US5646950A (en) * 1994-11-18 1997-07-08 Seagate Technology, Inc. Matched spectral null codes for partial response channels
US5996112A (en) * 1996-03-28 1999-11-30 Lsi Logic Corporation Area-efficient surviving paths unit for Viterbi decoders
US6108374A (en) * 1997-08-25 2000-08-22 Lucent Technologies, Inc. System and method for measuring channel quality information

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2377598A (en) * 2001-02-19 2003-01-15 Radioscape Ltd Convolutional decoder realised as a look up table
GB2377598B (en) * 2001-02-19 2003-09-03 Radioscape Ltd Convolutional decoder
US7434920B2 (en) 2004-06-11 2008-10-14 Canon Kabushiki Kaisha Liquid container for ink jet recording apparatus with structure to promote gas-liquid exchange
CN100417031C (zh) * 2004-08-06 2008-09-03 南京邮电学院 宽带无线接入***中里德索洛门卷积级联码的实现方法

Also Published As

Publication number Publication date
US6272661B1 (en) 2001-08-07

Similar Documents

Publication Publication Date Title
US4583078A (en) Serial Viterbi decoder
US4606027A (en) Error correction apparatus using a Viterbi decoder
EP0967730B1 (en) Convolutional decoder with modified metrics
KR100580160B1 (ko) 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기
US6272661B1 (en) Minimum memory implementation of high speed viterbi decoder
US6088404A (en) Method and apparatus for decoding trellis code data
US6269129B1 (en) 64/256 quadrature amplitude modulation trellis coded modulation decoder
US4630032A (en) Apparatus for decoding error-correcting codes
US5537424A (en) Matched spectral null codes with partitioned systolic trellis structures
JPS61289732A (ja) デ−タワ−ド伝送システム
US4797887A (en) Sequential decoding method and apparatus
JPH07221655A (ja) 通信システムおよび情報処理方法
JP2755045B2 (ja) ビタビ復号器
JP3259297B2 (ja) ビタビ復号装置
US5930298A (en) Viterbi decoder for decoding depunctured code
US5257263A (en) Circuit for decoding convolutional codes for executing the survivor path storage and reverse scanning stage of a Viterbi algorithm
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
US6035428A (en) Apparatus for deinterleaving and output-processing decoded data in a trellis decoder
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
US7225393B2 (en) Viterbi decoder and Viterbi decoding method
JP3235333B2 (ja) ビタビ復号方法およびビタビ復号化装置
JPH05335973A (ja) ビタビ復号器及び畳み込み符号の復号器
US7359464B2 (en) Trellis decoder and method of decoding
KR0169681B1 (ko) 비터비 복호기
KR0169680B1 (ko) 비터비 복호기

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061228

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20081209