JP2003512756A - ビタビデコーダ用の高速acsユニット - Google Patents

ビタビデコーダ用の高速acsユニット

Info

Publication number
JP2003512756A
JP2003512756A JP2001531212A JP2001531212A JP2003512756A JP 2003512756 A JP2003512756 A JP 2003512756A JP 2001531212 A JP2001531212 A JP 2001531212A JP 2001531212 A JP2001531212 A JP 2001531212A JP 2003512756 A JP2003512756 A JP 2003512756A
Authority
JP
Japan
Prior art keywords
metric
target state
state metric
bit
source
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.)
Pending
Application number
JP2001531212A
Other languages
English (en)
Inventor
ハンスクイン、デビッド
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2003512756A publication Critical patent/JP2003512756A/ja
Pending 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
    • 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/6566Implementations concerning memory access contentions
    • 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/395Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a collapsed trellis, e.g. M-step algorithm, radix-n architectures with n>2
    • 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/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • 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/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback

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)【要約】 【解決手段】 システムはビタビアルゴリズムの実現において加算比較選択(ACS)バタフライ動作を実行する。このシステムには複数のソース状態メトリックを記憶する第1のメモリエレメント(145)と、偶数および奇数クロックサイクルに基づいて第1および第2の動作パス間の選択を行うことができるマルチプレクサ(670)が含まれている。ACSメカニズム(600)は各ソース状態メトリックに対してターゲット状態メトリックを計算する。第2のメモリはACSメカニズムとマルチプレクサに結合され、ターゲットメトリックを一時的に記憶するのに使用される。したがってマルチプレクサは偶数クロックサイクル中に第1の動作パスを選択し、ソース状態メトリックを第1のメモリからACSメカニズムに供給してターゲット状態メトリックを発生させる。奇数クロックサイクル中、マルチプレクサは第2の動作パスを選択して、第2のメモリにアクセスし、中間的なソース状態メトリックとして、前に計算されたターゲット状態メトリックを使用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は一般的にビタビアルゴリズムの応用に関する。特に、本発明はビタビ
アルゴリズムの実現において高レート加算比較選択(ACS)バタフライ動作を
実行する改良されたシステムおよび方法に関する。
【0002】
【従来の技術】
ビタビアルゴリズムは1967年に畳み込みエンコードされた信号をデコーデ
ィングする方法として初めて導入された。その導入から、このアルゴリズムはデ
ータ通信、データ記録、およびデジタル信号処理の分野で幅広く受け入れられた
。このアルゴリズムはさまざまなデジタル推定問題の撲滅を成功させるために使
用された。この問題には記憶媒体における記録エラーの減少、シンボル間干渉の
除去、文字およびテキスト認識の向上が含まれる。
【0003】 このようなことであるから、ビタビアルゴリズムは畳み込みエンコードされた
データのエラー訂正デコーディングに対して主要な方法となった。このような応
用に対して、ビタビアルゴリズムは一連の観察に基づいて、すべての可能性ある
エンコーダ状態の特徴を示すトレリスを横断する最小エラーメトリクスを持つパ
スを決定する。この最短パスは畳み込みエンコーダにより発生される最も可能性
があるシーケンスを具現する。
【0004】 図1は典型的な畳み込みエンコーダを例示している。畳み込みエンコーダ10
0は8ビットタップ付きシフトレジスタ110と1対の排他的論理和タイプの合
計器120を具備し、入力データビットU(D)105のシーケンスを出力コー
ドシンボルC0(D)、C1(D)125のシーケンスに変換する。特に、図1は
レート1/2コードの例を示しており、これは各入力データビットU(D)10
5に対して2つの出力コーディングシンボルC0(D)、C1(D)125を発生
させる。示されている畳み込みエンコーダ100の特定のコードレートおよび構
成は単なる例示であり、本発明のさまざまな実施形態の動作または範囲を制限す
るものでないことに留意すべきである。このようなことであるから、例えば1/
3または3/4のような異なるコードレートを本発明の実施形態とともに使用す
ることができる。
【0005】 エンコーダ100は、生成コード多項式G0(D)、G1(D)により特定され
る特定のシフトレジスタ構成にしたがって入力ビットストリームU(D)105
をシフトおよび排他的論理和合計することにより、各出力コードシンボルC0
D)、C1(D)125を発生させる。このケースでは、図1はシフトレジスタ
の相互接続を示しており、これは以下のレート1/2生成コード多項式を提供す
る。
【数1】
【0006】 多項式G0(D)の係数は入力データシーケンスU(D)105と畳み込まれ
、出力畳み込みコードシンボルC0(D)125が発生される。同様に、図1は
以下のレート1/2生成コード多項式を示している。
【数2】
【0007】 この係数は入力データシーケンスU(D)105と畳み込まれ、出力畳み込み
コードシンボルC1(D)125を発生させる。エンコーダ100の束縛長Kは
シフトレジスタ110における遅延エレメントの数より1つ多く、エンコーダ1
00に対して、束縛長Kは9に等しい。エンコーダ100に入力される各データ
ビット105に対して、出力コードシンボルC0(D)、C1(D)125は入力
されたビットとともに前のK−1入力ビットに依存する。したがって、エンコー
ダ100は出力コードシンボルC0(D)、C1(D)125を生成し、これは2 K-1 の可能なエンコーダ状態に及ぶことできる。
【0008】 典型的な通信システムでは、出力コードシンボルC0(D)、C1(D)125
はシーケンシャルに変調され、(示されていない)ノイズのあるチャネルを介し
て送信される。デコーダはノイズのある畳み込みエンコードされたデータストリ
ームを最終的に受信し、ビタビアルゴリズムを使用する。ビタビアルゴリズムは
畳み込みコードの特性を活用し、入力データシーケンスU(D)105を最終的
に決定する。
【0009】 畳み込みコードの1つの利点は高い反復構造であり、これは対称的なコードツ
リーを提供する。理論的には、畳み込みコードは無限シーケンスのコードシンボ
ルを発生させることができる。しかしながら、その対称性のために、入力された
データシーケンスU(D)105に導く最も可能性があるパスを位置付ける際に
評価しなければならない状態数が2K-1状態(このケースでは256)に減少さ
れる。さらに、このような対称的なコードをデコードする際に、256の可能性
あるエンコード状態のそれぞれに入る最も可能性のある(すなわち、残存する)
ローカルパスが対象となる。他のすべてのパスはさらなる考慮から外される。こ
れは、状態を通る最も可能性があるグローバルパスはその状態を通る残存ローカ
ルパスを必ずたどる必要があるからである。
【0010】 ビタビデコーダはこれらのコード特性に依存して、限定されたセットの状態遷
移を有する有限状態マシーンとして機能する。デコーダは可能性あるエンコーダ
K-1状態のそれぞれに仮定を設け、受信されたノイズのある畳み込みエンコー
ドされたデータストリームから得られた観察に基づいて、エンコーダがこれらの
状態のそれぞれから次のセットの2K-1可能性あるエンコーダ状態に遷移した確
率を決定する。
【0011】 遷移確率は量により表され、メトリクスとして呼ばれ、確率値の負の対数に比
例する。明らかに、メトリクスがさらに小さくなると、発生確率はさらに高くな
る。2つのタイプのメトリクスがあり、状態メトリクスとブランチメトリクスで
ある。状態メトリクスはパスメトリクスとも呼ばれ、送信されたセットのコード
シンボルが特定の状態を通った相対確率を表す。ブランチメトリクスは(ソース
状態が正しかったと仮定して)特定のソース状態から特定のターゲット状態へ遷
移した条件確率を表す。
【0012】 ビタビアルゴリズムは以下のように要約することができる。時間がdサンプル
に分割され、nの可能性ある状態Si kが各時間サンプルkに存在する。ここでi
は次の式からの整数である。
【数3】
【0013】 またkは次の式からの整数である。
【数4】
【0014】 k>1に対して、各状態はpの前兆状態Sj k-1の任意の1つからのパスによっ
て到達される。ここでjは次の式からの整数である。
【数5】
【0015】 各状態に対して、これらのpの可能性あるパスの中の最小メトリクスを持つパ
スが識別され、そのメトリクスの値とともに記憶される。
【0016】 初期化:開始時間サンプル(k=1)に対して、各状態Si 1に記憶されるメト
リクスが初期化される。開始状態が知られているケースでは、このケースのメト
リクスはゼロに設定される一方で、他の状態Si 1のメトリクスは大きな数に設定
される。このスキームはアルゴリズムの後の反復を強制し、所望の開始状態から
始まるパスのみを選択させる。
【0017】 反復:次の式で示される各時間サンプルに対して、すべての状態Si kがたどら
れる。
【数6】
【0018】 各状態Si kにおいて、その状態に向かう各パスjに対するメトリクスは、(a
)前兆状態Sj k-1のメトリクスと、(b)状態Sj k-1から状態Si kに向かうブラ
ンチのメトリクスbmj kの合計として計算される。各状態Si kに向かうpパスの
中から、最低メトリクスを持つパス(すなわち、残存パス)が選択され、その状
態に記憶される。そのパスに対するメトリクスもその状態に対するメトリクスs
i kとして記憶される。
【0019】 チェーンバック:最後の時間サンプルに対するすべての状態がたどられたとき
、最低状態メトリクスを有する状態Si dが識別される。この状態に対する残存パ
スが記憶装置から読み出され、時間サンプルd−1の対応する状態がそれにより
識別される。この後者の状態に対する残存パスが記憶装置から読み出され、状態
i dに向かうパス(すなわち、状態−時間マトリクスを通る最も可能性があるパ
ス)を含むすべての状態が識別されるまで、チェーンバックプロセスが反復され
る。
【0020】 したがって、任意時間kにおいて、ビタビアルゴリズムは状態Sn kに向かうパ
スのメトリクスを計算し、残存パス(n状態Sn kのそれぞれに対して1つ)を決
定し、nの残存パスとともにそれらの各メトリクスを記憶する。これはすべての
考慮されているターゲット状態に対して、それに向かうソース状態を記憶するこ
とと等価である。このようなことであるから、ビタビアルゴリズムの実現は図2
に示されているような加算比較選択(ACS)ユニット150を使用して、これ
らの動作を実行することを必要とする。ACSユニット150は状態メトリクス
値を計算する役割を果たし、ACSバタフライ動作によりソース状態とターゲッ
ト状態との間の関係を特徴付ける。図3は単一ACSバタフライ動作155を図
示している。
【0021】 バタフライ動作155には、エンコーダ100中の2つの特定なソース状態に
対して生じることがある可能性ある状態遷移のみが含まれている。これは所定時
間において、エンコーダ100の状態が1ビットだけエンコーダの前の状態を右
シフトさせたものであるという事実に幾分よるものである。次の(右シフトされ
た)情報ビットはソース状態からどの遷移がなされ、ターゲット状態の最上位ビ
ット(MSB)として現れるかを決定する。このようなことであるから、ソース
状態が遷移する2つの可能性あるターゲット状態のみが存在する。したがって、
図3から明らかなように、エンコーダ100は、入力されたデータビットU(D
)の値に基づいて、ソース状態“x0”からターゲット状態“0x”または“1
x”への遷移、あるいはソース状態“x1”からターゲット状態“0x”または
“1x”への遷移のみとりうる。表記“x0”または“x1”はソース状態の最
下位ビット(LSB)がそれぞれ“0”および“1”であることを示し、上位ビ
ットは“x”により表され、表記“0x”および“1x”はターゲット状態のM
SBがそれぞれ“0”および“1”であることを示し、下位ビットは“x”によ
り表されることに留意すべきである。ソース状態またはターゲット状態に含まれ
ているかにかかわらず、項“x”は同じ値(例えば7ビット値)を表す。
【0022】 図3はまた、ソース状態からターゲット状態への各遷移が仮定されたセットの
コードシンボルH0(D)、H1(D)または ̄H0(D)、 ̄H1(D)を発生さ
せることを明らかにしている。実際、エンコーダ100がACSバタフライ15
5の平行ブランチに沿って動作しているとき(例えば、“x0”から“0x”へ
の遷移、あるいは“x1”から“1x”への遷移)、コードシンボルH0(D)
、H1(D)125が両平行ブランチに対して発生される。この特徴は一般的に
畳み込みコードの反復的性質に部分的によるものであり、それとともに単位元に
セットされたそれらのMSBおよびLSBを持つ生成コード多項式(すなわち、
両G0(D)およびG1(D)に対して、g0およびg8が1に等しい)の使用によ
るものである。同様な方法で、エンコーダ100がACSバタフライ155の斜
めのブランチのいずれかに沿って動作するときに(例えば、“x0”から“1x
”への遷移、または“x1”から“0x”への遷移)、コードシンボル ̄H0
D)、 ̄H1(D)が発生される。
【0023】 先に述べたように、ACSユニット150はターゲット状態メトリクスtm0x 、tm1xを計算する。ACS150論理回路はソース状態メトリクスsmx0、s
x1を記憶し、これらは受信されたセットのコードシンボルがソース状態“x0
”および“x1”に向かう確率に関係する。図2に戻ると、1セットのコードシ
ンボルを受信するとき、ブランチメトリクスユニット140はブランチメトリク
ス値bmij、bm ̄ijを計算する。ACS150は、特定ターゲット状態に向か
う2つの遷移のそれぞれに対応するブランチメトリクス値bmij、bm ̄ijを、
対応するソース状態メトリクスsmx0、smx1に“加算”する。ブランチメトリ
クス値bmij、bm ̄ijは、特定のソース状態から特定のターゲット状態への遷
移が生じた条件確率を表す。ブランチメトリクスbmijは受信コードシンボルが
どれくらい近くACS150仮定されたコードシンボルH0(D)、H1(D)1
25と一致しているかを示し、ブランチメトリクスbm ̄ijは受信コードシンボ
ルがどれくらい近く ̄H0(D)、 ̄H1(D)と一致しているかを示す。ブラン
チメトリクスbmij、bm ̄ijの値は、受信シンボル対と仮定されたシンボル対
0(D)、H1(D)との間の距離にのみ依存している。
【0024】 2つのターゲット状態のそれぞれに対して、ACS150はソース状態メトリ
クスの合計と、そのターゲット状態に向かうブランチメトリクス対を比較する。
各ターゲット状態への最も可能性がある遷移は最小メトリクス合計により表され
、ACS150により“選択”され、そのターゲット状態にターゲット状態メト
リクスtm0x、tm1xとして割り当てられる。
【0025】 先に述べたように、ACS150論理回路は、ターゲット状態に向かう2つの
遷移のそれぞれに対して、ブランチメトリクスbmij、bm ̄ijをソース状態メ
トリクスsmx0、smx1に加算し、そのターゲット状態に入る最も可能性がある
パスが、最小メトリクス合計を生み出す遷移から来ることを決定する。最小メト
リクス合計が選択され、新しいターゲット状態メトリクスtm0x、tm1xになる
。ACS150はまた状態メトリクス(各ターゲット状態に向かう最も可能性が
あるパスに関係するコスト)を状態RAM145に記憶させる。図2に示されて
いるように、最小メトリクス合計の選択は、判定ビットと呼ばれる1ビット量の
、チェーンバックメモリユニット160のパスメモリへの記憶となる。判定ビッ
トは到達ソース状態メトリクスのLSBにより示され、2つの遷移のいずれが選
択されたかを識別する。
【0026】 チェーンバックメモリユニット160は各ターゲット状態への最も可能性があ
る遷移に対応する判定ビットを記憶する。束縛長K=9を有するエンコーダ10
0に対して、2K-1すなわち256判定ビットが生成され、これはエンコーダ1
00の256の可能性ある状態のそれぞれに対応する。いったん、予め定められ
た数の状態に対して、このようなすべての情報のマトリクスが発生され、記憶さ
れると、チェーンバックユニット160は正しいパスの先頭に立つ最高尤度を持
った状態(すなわち、最新時間ユニットに対応するすべての中の最低コストを持
つ状態)で開始する。チェーンバックユニット160は、最後のP×256(す
なわち、P×2K-1)判定ビットを通して読み出すことにより時間的に戻る方向
にチェーンしてPビットを選択する。ここでPはパスメモリの有効チェーンバッ
ク深さである。判定ビットは、エンコーダ100を通るように仮定された最も可
能性があるセットのビットを表すことから、判定ビットはデコーダにより出力す
ることができる最良のデータである。結果として、判定履歴においてさらに戻っ
てチェーンが進むと、選択されたパスが正しいパスと合流する尤度がさらに良く
なる。したがって、チェーンバック深さPがさらに高くなると、性能はより良く
なるが、パイプライン遅延および記憶遅延がさらに大きくなる。チェーンバック
深さPはしたがって一般的にエンコーダ100の束縛長Kの3ないし10倍にセ
ットされる。K=9のエンコーダに対して、チェーンバック深さPは一般的に6
4にセットされる。
【0027】 ACS処理サイクルはACSユニット150が、予め定められた数の受信コー
ドシンボルに対して、新しいターゲット状態メトリクスtm0x、tm1xを計算す
る期間を規定する。1/2レート畳み込みコードに対して、各対の受信コードシ
ンボルはメトリクス計算に1プロセスサイクル必要である。プロセスサイクルの
長さは、2セットの受信シンボルに対するすべてのエンコーダ状態のACSバタ
フライ動作を実行するのに必要なクロックサイクル数に等しい。例えば、図3に
示されているような単一ACSバタフライを持つビタビデコーダは一般的に受信
コードシンボル当たり128クロックサイクル必要とし、エンコーダ100の2
56すべての状態の動作を実行する。処理速度を向上させるために、複数のAC
Sバタフライを展開するACSバタフライアレイアーキテクチャを使用して、1
つの処理サイクル中のクロックサイクル数を減少させることができる。
【0028】 このようなアーキテクチャの例は8×1ACSバタフライアレイ300であり
、図4に図示されている。アレイ300は、並列に8つの並列ACSバタフライ
ユニット155を実現することにより処理速度において8倍の向上をもたらす。
1セットの受信コードシンボルに対して、8×1バタフライアレイ300は8つ
すべてのバタフライユニット155を使用して、単一クロックサイクル内に、1
6のソース状態を読み出して、16の対応するターゲット状態メトリクスtm0x 、tm1xを計算する。先に説明したように、ACSユニット155はソース状態
のそれぞれに対する状態メトリクスと、4つの可能性ある遷移のそれぞれに対す
るブランチメトリクスbmij、bm ̄ijを受け取る。ブランチメトリクスbmij 、bm ̄ijは、受信されたコードシンボル対と仮定されたシンボル対H0(D)
、H1(D)または ̄H0(D)、 ̄H1(D)の値にのみ基づき、2つの間の距
離の測定値である。図4におけるソース状態とターゲット状態の一部として含ま
れる“X”は、4ビットプレースホールダー(すなわち、X=[X0、X1、X
2、X3])を表し、これは0から15をカウントすることにより16クロック
サイクルを通して記録にとどめる。したがって、2セットの受信コードシンボル
に対して、8×1バタフライアレイ300は、32クロックサイクル(すなわち
、各受信コードシンボルに対して16クロックサイクル)中にエンコーダ100
の256すべての可能性ある状態に対して、ターゲット状態メトリクスtm0x
tm1xを計算する。
【0029】 8×1バタフライアレイアーキテクチャ300の欠点は、各セットの受信コー
ドシンボルに対して、16のソース状態メトリクスを読み出す必要があり、16
クロックサイクルのそれぞれに対して、要求されるブランチメトリクスを同時に
発生させなければならないことである。したがって、8×1バタフライアレイ3
00はこのような動作に対応するために巨大なメモリ帯域幅を必要とする。
【0030】 アレイアーキテクチャの他の例は図5に示されている4×2ACSバタフライ
アレイ400である。4×2ACSバタフライアレイ400は8×1バタフライ
アレイ300と同じ速度向上を奏するが、並列に2セットの4つのACSバタフ
ライユニット155を実現することによりそのようにしている。バタフライアレ
イ400は、中間ターゲット状態メトリクスtm0x、tm1xを一時的に記憶する
ことによりメモリ帯域幅問題を軽減する。例えば、単一クロックサイクル内に、
アレイ400の第1のステージが8つのソース状態を読み出し、8つの対応する
ターゲット状態メトリクスtm0x、tm1xを計算する。しかしながら、バタフラ
イアレイ400は中間ターゲット状態メトリクスtm0x、tm1xをすぐに記憶し
ない。代わりに、クロックサイクル内である間に、バタフライアレイ400は中
間ターゲット状態を再配置して、ソース状態として第2のステージに供給し、そ
の後、次のセットの受信コードシンボルに対して8つの対応するターゲット状態
メトリクスtm0x、tm1xを計算する。したがって、ほとんど8×1バタフライ
アレイのように、バタフライアレイ400は、32クロックサイクルのスパンに
対して、2セットの受信コードシンボルのターゲット状態メトリクスtm0x、t
1xを計算することができる。
【0031】 4×2ACSバタフライアレイ400はACS150の状態メトリクス帯域幅
を減少させる別の利点を持つ。その理由は中間ターゲット状態メトリクス(すな
わち、第1のステージのターゲット状態tm0x、tm1x)をACS150状態メ
モリから読み出し、このメモリに書き込む必要がないからである。むしろ、中間
ターゲット状態値は次のステージに組み合わされて流れ、遅延を避け、帯域幅要
求を最小にする。
【0032】 しかしながら、4×2ACSバタフライアレイ300はその制限がないわけで
はない。例えば、状態メモリ帯域幅を減少させる利点は、アレイ400が単一ク
ロックサイクル内で2ステージのACS150計算を実行するという事実にまと
もに頼っている。このクリティカルパスはより高いクロック速度に対して大きな
制限となる可能性がある。
【0033】 さらに、8×1ACSバタフライアレイ400または4×2ACSバタフライ
アレイ400に対して、チェーンバック動作に関する性能問題が存在する。先に
説明したように、チェーンバックユニット160はACSアレイにより発生され
た判定ビットを記憶し、記憶された判定ビットを通してチェーンバックすること
によりデコードされた判定ビットを発生させる役割を果たす。束縛長K=9を持
つエンコーダ(例えば、エンコーダ100)に対して、デコーダ中のACSアレ
イは、各セットの受信コードシンボルに対して2K-1すなわち256判定ビット
を発生させ(すなわち、256の可能性あるエンコーダ状態のそれぞれに対して
1判定ビット)、チェーンバックメモリユニット160は一般的にP=64ブロ
ックのチェーンバックパスメモリ深さを含む。
【0034】 図6に示されているように、各プロセスサイクルが2セットの受信シンボルに
対するターゲット状態メトリクスを計算する、32プロセスサイクル後、チェー
ンバックユニット160は最新プロセスサイクル(例えば、64のパスメモリブ
ロックの最も右のメモリブロックB0)で開始する。チェーンバックユニット1
60は、チェーンバックメモリブロックB0内の256判定ビットから、最低メ
トリクス値R0を持つ状態に対応する判定ビットを識別する。図7に示すように
、この状態は最良状態BS0として規定され、8ビットアドレスを持つ。図7に
示されているように、チェーンバックユニット160は最良状態判定ビットチェ
ーンバックを読み出し、そして、それをBS0最下位ビット(すなわち、bs0
に左シフトすることにより、その値をBS0アドレスに導く。図7は、BS0アド
レス中の他のビットの値(すなわち、bs6、bs5、bs4、bs3、bs2、b
1)も左シフトされ、BS0の最上位ビット(すなわち、bs7)の喪失となり
、新しいアドレスBS1の出現となることをさらに図示している。図6に図示さ
れているように、BS1はチェーンバックメモリブロックB1中の最良状態値R1
のアドレスである。チェーンバックユニット160はその後BS1アドレスに対
応する判定ビット値を読み出し、その値をBS1アドレスに左シフトし、次のア
ドレスBS2を発生させ、これはチェーンバックメモリブロックB2の最良状態に
対応する。
【0035】 この読み出しおよび左シフト動作は、すべてのチェーンバックメモリブロック
(すなわち、P=64ブロック)が処理されるまで反復される。一般的に、チェ
ーンバック動作は規定されたチェーンバック長Pと同じだけの読み出しを実行す
るので、このケースでは、例えば、64読み出しが実行されて、所望のパスをト
レースバックし、デコーダされた判定ビットを発生させる。しかしながら、この
多くの読み出しは、デコーディングプロセスの効率および性能を損なうかもしれ
ない。
【0036】
【発明が解決しようとする課題】
したがって、必要とされるものは、ビタビアルゴリズム実現において高レート
ACSバタフライ動作を効率的に実行することができるシステムおよび方法であ
る。
【0037】
【課題を解決するための手段】
本発明の原理と矛盾しないシステムおよび方法は、ビタビアルゴリズムの実現
において高レートACSバタフライ動作を実行するシステムおよび方法を提供す
ることにより、先に識別された必要性を取り扱う。
【0038】 ここに具体化され広く説明されているような本発明の原理と矛盾しないシステ
ムおよび方法は、複数のソース状態メトリクスを記憶する第1のメモリエレメン
トを含む。第1のメモリエレメントはマルチプレクサに結合され、このマルチプ
レクサは偶数および奇数クロックサイクルに基づいて第1および第2の動作パス
間を選択することができる。このマルチプレクサは加算比較選択メカニズムに結
合され、このメカニズムはソース状態メトリクスのそれぞれに対してターゲット
状態メトリクスを計算する。第2の記憶エレメントは加算比較選択メカニズムと
マルチプレクサに結合され、ターゲット状態メトリクスを一時的に記憶するため
に使用される。一方、第3の記憶エレメントは予め定められた論理ビットを記憶
し、この論理ビットは最低チェーンバックターゲット状態メトリクスになるソー
ス状態に対応する。したがって、マルチプレクサは偶数クロックサイクル中に第
1の動作パスを選択し、ソース状態メトリクスを第1のメモリエレメントから加
算比較選択メカニズムに供給して、ターゲット状態メトリクスを発生させる。奇
数クロックサイクル中、マルチプレクサは第2の動作パスを選択して、第2のメ
モリエレメントにアクセスして、前に計算されたターゲット状態メトリクスを中
間ソース状態メトリクスとして使用するので、加算比較選択メカニズムは中間ソ
ース状態メトリクスに基づいてターゲット状態メトリクスを発生させる。
【0039】 この明細書に組み込まれ、この明細書の一部を構成する添付図面は、本発明の
実施形態を例示し、説明とともに、本発明の目的、効果および原理を説明する。
【0040】
【発明の実施の形態】
本発明の以下の詳細な説明は本発明と矛盾しない好ましい実施形態を例示する
添付図面に言及している。他の実施形態も可能であり、本発明の精神および範囲
を逸脱することなく実施形態に変更を行ってもよい。したがって、以下の詳細な
説明は本発明を限定することを意味しているものではない。むしも本発明の範囲
は特許請求の範囲により規定される。
【0041】 以下に説明するような本発明は、図面に例示されているエンティティにおける
ソフトウェア、ファームウェア、ハードウェアの多くの異なる実施形態で実現し
てもよいことは当業者に明らかであろう。本発明を実現するために使用される、
実際のソフトウェアコードまたは特殊な制御ハードウェアは本発明を制限するも
のではない。したがって、本発明の動作および態様は実際のソフトウェアコード
または特殊なハードウェア構成要素に対する特定の言及を行うことなく説明する
。ここにおける説明に基づいて本発明の好ましい実施形態を実現するためにソフ
トウェアおよび制御ハードウェアを当業者が設計できることが理解されるであろ
う。
【0042】 図8および図9は本発明の実施形態を例示している。この実施形態は8×1A
CSバタフライアレイ600を使用し、これは8つのパラレルACSバタフライ
155ユニットを組み込み、処理速度において8倍の改良をもたらす。このよう
な改良を達成する他の試みとは異なり、バタフライアレイ600は異なるクロッ
クサイクルに対して機能し、メモリ帯域幅要求を減少させつつ、クロックサイク
ル当たりの計算数を制限する。
【0043】 図8を参照すると、バタフライアレイ600は偶数クロックサイクル中に8つ
すべてのバタフライ155ユニットを使用して、4ビットカウンタXにより識別
される新しい16のソース状態を読み取る。バタフライアレイ600はその後現
在のレベルのトレリスに対して、16の対応するターゲット状態メトリックtm 0x 、tm1xを計算する。偶数クロックサイクル後(すなわち奇数クロックサイク
ル中)、バタフライアレイ600は、次のトレリスレベルに対する奇数ソース状
態として偶数サイクルターゲット状態を使用する。このようなことであるから、
バタフライアレイ600は奇数ソース状態メトリック値smx0、smx0として、
偶数サイクルターゲット状態メトリックの値tm0x、tm1xを採用する。バタフ
ライアレイ600はその後、対応するトレリスレベルに対するメトリック値sm x0 、smx0にしたがって奇数ターゲット状態メトリックtm0x、tm1xを計算す
る。
【0044】 したがって、図8に図示されているような8×1修正ACSバタフライアレイ
600は、K=9エンコーダにより発生される2セットの受信シンボルを完全に
処理するために32クロックサイクル必要とする。偶数クロックサイクル中、バ
タフライアレイ600はインクリメントされた4ビットカウンタXにより識別さ
れる16の新しいソース状態を読み取り、受信シンボルの第1のセットに対して
16の対応するターゲット状態メトリックtm0x、tm1xを計算する。奇数クロ
ックサイクルに対して、バタフライアレイ600は新しいソース状態として偶数
サイクルターゲット状態を使用し、受信シンボルの第2のセットに対して奇数タ
ーゲット状態メトリックtm0x、tm1xを計算する。このようなことであるから
、バタフライアレイ600はクロックサイクル毎に1レベルのACSを実行する
だけであり、それにより4×2バタフライアレイ400の単一クロックサイクル
マルチレベルACS計算問題を解消する。
【0045】 図9は図8に示されている8×1修正ACSバタフライアレイ600をサポー
トするビタビデコーダ回路650を例示している。すべての状態に対するソース
状態メトリックsmx0、smx1は状態RAM145に記憶される。例示のために
、偶数クロックサイクル中に状態RAM145から読み出して始めることからビ
タビデコーダ回路650の動作を説明する。当業者は、奇数クロックサイクル中
に状態RAM145から読み出すことから始めることによりこの実施形態を等し
く説明できることを容易に理解するであろう。同様に、すべての読み出し動作は
奇数サイクル中に実行してもよく、そしてすべての書き込み動作を偶数サイクル
中に実行してもよく、逆でもよい。
【0046】 このようなことであるから、偶数クロックサイクル中、マルチプレクサMUX
670は16のシーケンシャル状態に対するソース状態メトリック情報をRAM
から選択するように構成され、このソース状態メトリックス情報は受信コードシ
ンボルの第1のセットに対応する。ソース状態情報はACSユニット150に直
接供給され、このACSユニット150には8×1ACSバタフライアレイ60
0が含まれている。バタフライアレイ600はその後、対応する16のターゲッ
ト状態メトリックtm0x、tm1xを計算し、これは状態RAM145およびMU
X670にフィードバックされる。計算されたターゲット状態情報は、ターゲッ
ト状態情報を一時的に記憶するレジスタ680に供給される。レジスタ680に
ターゲット状態情報を一時的に記憶することにより、バタフライアレイ600は
状態情報をメモリに戻して記憶するのを回避し、それにより8×1ACSバタフ
ライアレイ300のメモリ帯域幅問題を改善する。
【0047】 奇数クロックサイクル中、マルチプレクサMUX670は前のクロックサイク
ルで計算されたターゲット状態メトリック情報を選択し、これはレジスタ680
にラッチされる。このターゲット状態メトリック情報は、新しいソース状態メト
リックsmx0、smx1として8×1ACSバタフライアレイ600により使用さ
れる。バタフライアレイ600はソース状態メトリック情報を後に処理して、受
信コードシンボルの第2のセットに対応するターゲットメトリック情報を発生さ
せる。ターゲットメトリックはその後状態メモリRAM145に記憶され、これ
は以下の反復に対するソース状態メトリックとして使用される。受信されたコー
ドシンボルの第1および第2セットに対して、このプロセスは32のクロックサ
イクルに対して繰り返し処理され、受信シンボルの2つのセットのそれぞれに対
して256の判定ビットを発生させる。32クロックサイクル後、ビタビデコー
ダ回路650は受信コードシンボルの次の2セットでこの全プロセスの処理を開
始する。
【0048】 ビタビデコーダ回路650はデコードされた判定ビットを発生させるために要
求される読み取りの数を減少させることによりチェーンバック動作の性能も改善
する。先に説明したように、チェーンバックユニット160はACSアレイによ
り発生される判定ビットを記憶する役割を果たしている。さらに、2クロックサ
イクル(すなわち偶数および奇数クロックサイクル)後、8×1修正ACSバタ
フライアレイ600は32の判定ビットを発生させる。ビタビデコーダ回路65
0はこれらの32判定ビットを単一の32ビットメモリワードで記憶させること
ができ、したがって偶数および奇数クロックサイクル中に発生された判定ビット
は同じメモリワードに記憶される。
【0049】 したがって、チェーンバック動作に関して先に説明したように、時間的に後方
にチェーンするための開始点を確立するために、最良状態は、最後のプロセスサ
イクルから最も小さいメトリック(すなわち、最良状態判定ビット値)を持つ状
態を識別するために最初に使用される。メモリワード当たり32ビットあること
から、(2セットの受信コードシンボルのために)プロセス当たり16ワード存
在し、各32ビットメモリワードは独特な8ビットアドレスを有する。1つの実
施形態は4ビットの最良状態アドレスを使用してどのメモリワードを読み取るか
を選択し、一方、最良状態アドレスの他の4ビットは32ビットメモリワード中
のどの16ビットを読み取るかを決定する。特に、最良状態BS0は8ビットア
ドレス(bs7、bs6、bs5、bs4、bs3、bs2、bs1、bs0)を有する
場合、実施形態はビット(bs5、bs4、bs3、bs2)を選んで、メモリブロ
ックB0内の特定のメモリワードを選択し、ビット(bs7、bs6、bs1、bs 0 )に基づいて最良状態判定ビットR0を選択する。新しい最良状態アドレスBS 1 は最良状態判定ビットR0をBS0のLSB(bs6、bs5、bs4、bs3、b
2、bs1、bs0、0)に左へシフトさせることにより形成される。
【0050】 ACS計算は2セットの受信シンボル上で演算することから、ちょうど読み取
った判定ビットに対するターゲット状態に導くソース状態は、同じ32ビットメ
モリワード内に記憶された判定ビットを順番に持つ。したがって、実施形態は(
bs6、bs1、bs0、R0)を選び、32ビットメモリワードの他の半分から次
の最良状態判定ビットR1を選択する。したがって、最良状態判定ビットは32
ビットメモリワード中のビットの半分から選択される。ここで、選択されたビッ
トは、32ビットメモリワードの他の半分中のどの判定ビットが次の最良状態判
定ビットであるかを決定するのを助ける。このようにすることにより、所望のパ
スを正しくチェーンバックし、デコードされた判定ビットを発生させるのに要求
される読み出し数は2分の1に減少される。したがって、P=64メモリブロッ
クのパスメモリの深さを持つチェーンバックユニット160に対して、32の読
み出しが必要とされるだけである。
【0051】 本発明の好ましい実施形態の先の説明は例示および説明を提供するが、開示さ
れている正確な形態に本発明を減縮または制限することを意図しているものでは
ない。先の教示と矛盾しない変更および変形が可能であり、本発明の実施から獲
得できる。例えば、ここに開示されている実施形態のアーキテクチャは16×1
アレイまたは32×1アレイに容易に拡張することができ、この場合、クロック
サイクル当たり32または64状態を発生させることができる。さらに、2セッ
トの受信シンボルで動作する代わりに、実施形態は数セットの受信シンボルで動
作するように適応させることができる。したがって、本発明の範囲は特許請求の
範囲およびその均等物により規定されることに留意すべきである。
【図面の簡単な説明】
【図1】 図1はK=9、レート=1/2の畳み込みエンコーダを例示しているブロック
レベルの図である。
【図2】 図2はACSおよびチェーンバックユニットを図示しているシステムレベルの
ブロック図である。
【図3】 図3はACSバタフライ動作を例示している遷移図である。
【図4】 図4は8×1ACSバタフライアレイを図示している遷移図である。
【図5】 図5は4×2ACSバタフライアレイを図示している遷移図である。
【図6】 図6はチェーンバック動作を図示している機能ブロック図である。
【図7】 図7はチェーンバック動作を図示している機能ブロック図である。
【図8】 図8は本発明の実施形態を図示している図である。
【図9】 図9は本発明の実施形態を図示している図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,UZ,VN,YU, ZA,ZW Fターム(参考) 5B001 AA10 AB02 AD04 AD06 AE07 5J065 AA01 AB01 AC02 AC03 AD10 AE06 AF01 AH05 AH06 AH09 AH17 AH23

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 ビタビアルゴリズム実現のために加算比較選択バタフライ動
    作を実行する方法において、 偶数クロックサイクル中に、第1の記憶エレメントから、第1セットの受信シ
    ンボルに対応する複数のソース状態メトリックを読み出し、 前記ソース状態メトリックのそれぞれに対して、ターゲット状態メトリックを
    計算し、 前記ターゲット状態メトリックを第2の記憶エレメントに一時的に記憶し、 前記ターゲット状態メトリックのいずれが最低値を含むかを決定し、 前記最低値ターゲット状態メトリックに対応する予め定められた論理ビットを
    第3の記憶エレメントに記憶し、 奇数クロックサイクル中に、前記第2の記憶エレメントから前記ターゲット状
    態メトリックを読み出し、前記読み出されたターゲット状態メトリックを第2セ
    ットの受信シンボルに対応する複数の中間ソース状態メトリックとして使用し、 前記中間ソース状態メトリックのそれぞれに対して、中間ターゲット状態メト
    リックを計算し、 前記中間ターゲット状態メトリックのいずれが最低値を含むかを決定し、 前記最低値中間ターゲット状態メトリックに対応する予め定められた論理ビッ
    トを前記第3の記憶エレメントに記憶することを含む方法。
  2. 【請求項2】 前記第1および第2セットの受信シンボルは束縛長Kを使用
    してエンコードされる請求項1記載の方法。
  3. 【請求項3】 前記加算比較選択バタフライ動作は、前記第1および第2セ
    ットの受信シンボルのそれぞれに対して、各2K-1ターゲット状態が巡回される
    まで実行される請求項2記載の方法。
  4. 【請求項4】 前記加算比較選択バタフライ動作は8×1加算比較選択バタ
    フライ構造により実行される請求項3記載の方法。
  5. 【請求項5】 前記複数のソース状態メトリックは1セットの16連続ソー
    ス状態に対するメトリックからなり、前記1セットの16連続ソース状態は増加
    する偶数クロックサイクル中にシーケンシャルに選択される請求項4記載の方法
  6. 【請求項6】 前記ターゲット状態メトリックを計算することは、 前記ソース状態メトリックを2つの可能性ある遷移のそれぞれに対応するブラ
    ンチメトリックに加算し、 前記ソース状態メトリックの合計のそれぞれとブランチメトリックを比較し、 最小合計を選択し、それをターゲット状態メトリックとして指定することを含
    む請求項5記載の方法。
  7. 【請求項7】 前記中間ターゲット状態メトリックを計算することは、 前記中間ソース状態メトリックを2つの可能性ある遷移のそれぞれに対応する
    ブランチメトリックに加算し、 前記中間ソース状態メトリックの合計のそれぞれとブランチメトリックを比較
    し、 最小合計を選択し、それを中間ターゲット状態メトリックとして指定すること
    を含む請求項6記載の方法。
  8. 【請求項8】 前記加算比較選択バタフライ動作は畳み込みエンコードされ
    たデータをデコードするのに使用される請求項7記載の方法。
  9. 【請求項9】 前記第3の記憶エレメントは複数のメモリブロックを含むチ
    ェーンバックメモリユニットに設けられ、前記メモリブロックのそれぞれは前記
    偶数および奇数クロックサイクルのそれぞれに対する前記予め定められた論理ビ
    ットを含む請求項8記載の方法。
  10. 【請求項10】 複数のデコードビット値を発生させるチェーンバック動作
    をさらに含む請求項8記載の方法。
  11. 【請求項11】 前記チェーンバック動作は、 前記チェーンバックメモリユニット中の最新の前記メモリブロックに対して、
    最小値を有する前記予め定められた論理ビットを識別し、 前記最小値論理ビットを特定アドレスに関連付け、 前記予め定められた論理ビットを読み出し、 前記最小値論理ビットの値を前記特定アドレスの最下位ビットに移動させ、前
    記特定アドレス内のすべての値を1ビット位置だけ左にシフトさせて、前記チェ
    ーンバックメモリユニット中の次のメモリブロックに対応する次の特定アドレス
    を突きとめることを含む請求項10記載の方法。
  12. 【請求項12】 ビタビアルゴリズム実現のために加算比較選択バタフライ
    動作を実行するシステムにおいて、 複数のソース状態メトリックを記憶する第1のメモリエレメントと、 第1の記憶エレメントに結合され、偶数クロックサイクル中に、第1の動作パ
    スを選択し、奇数クロックサイクル中に、第2の動作パスを選択するマルチプレ
    クサと、 前記マルチプレクサに結合され、ターゲット状態メトリックを一時的に記憶す
    る第2の記憶エレメントと、 前記第2の記憶エレメントと前記マルチプレクサに結合され、前記ソース状態
    メトリックのそれぞれに対して、ターゲット状態メトリックを計算する加算比較
    選択メカニズムと、 最低値を有するターゲット状態メトリックに対応する予め定められた論理ビッ
    トを記憶する第3の記憶エレメントとを具備し、 前記マルチプレクサは偶数クロックサイクル中に第1の動作パスを選択し、前
    記ソース状態メトリックを前記第1のメモリエレメントから前記加算比較選択メ
    カニズムに供給して、第1セットの受信シンボルに対応するターゲット状態メト
    リックを発生させ、 前記マルチプレクサは奇数クロックサイクル中に第2の動作パスを選択し、タ
    ーゲット状態メトリックを前記第2のメモリエレメントから読み出し、第2セッ
    トの受信シンボルに対応する中間ソース状態メトリックに基づいて前記加算比較
    選択メカニズムに中間ターゲット状態メトリックを発生させるために、前記読み
    出されたターゲット状態メトリックを中間ソース状態メトリックとして使用する
    システム。
  13. 【請求項13】 前記第1および第2セットの受信シンボルは束縛長Kを使
    用してエンコードされる請求項12記載のシステム。
  14. 【請求項14】 前記加算比較選択バタフライ動作は、前記第1および第2
    セットの受信シンボルのそれぞれに対して、各2K-1ターゲット状態が巡回され
    るまで実行される請求項13記載のシステム。
  15. 【請求項15】 前記加算比較選択バタフライ動作は8×1加算比較選択バ
    タフライ構造により実行される請求項14記載の方法。
  16. 【請求項16】 前記複数のソース状態メトリックは1セットの16連続ソ
    ース状態に対するメトリックからなり、前記1セットの16連続ソース状態は増
    加する偶数クロックサイクル中にシーケンシャルに選択される請求項15記載の
    システム。
  17. 【請求項17】 前記加算比較選択メカニズムは、 前記ソース状態メトリックを2つの可能性ある遷移のそれぞれに対応するブラ
    ンチメトリックに加算し、 前記ソース状態メトリックの合計のそれぞれとブランチメトリックを比較し、 最小合計を選択し、それをターゲット状態メトリックとして指定することによ
    り前記加算比較選択動作を実行する請求項12記載のシステム。
  18. 【請求項18】 前記加算比較選択バタフライ動作は畳み込みエンコードさ
    れたデータをデコードするのに使用される請求項17記載のシステム。
  19. 【請求項19】 前記第3の記憶エレメントは複数のメモリブロックを含む
    チェーンバックメモリユニットに設けられ、前記メモリブロックのそれぞれは前
    記偶数および奇数クロックサイクルのそれぞれに対する前記予め定められた論理
    ビットを含む請求項18記載のシステム。
  20. 【請求項20】 前記チェーンバックメモリユニットは複数のデコードビッ
    ト値を発生させる請求項19記載のシステム。
  21. 【請求項21】 前記チェーンバックメモリユニットは、 最新の前記メモリブロックに対して、最小値を有する前記予め定められた論理
    ビットを識別し、 前記最小値論理ビットを特定アドレスに関連付け、 前記予め定められた論理ビットを読み出し、 前記最小値論理ビットの値を前記特定アドレスの最下位ビットに移動させ、前
    記特定アドレス内のすべての値を1ビット位置だけ左にシフトさせて、前記チェ
    ーンバックメモリユニット中の次のメモリブロックに対応する次の特定アドレス
    を突きとめる請求項20記載のシステム。
JP2001531212A 1999-10-21 2000-10-23 ビタビデコーダ用の高速acsユニット Pending JP2003512756A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/422,920 1999-10-21
US09/422,920 US6333954B1 (en) 1999-10-21 1999-10-21 High-speed ACS for Viterbi decoder implementations
PCT/US2000/029313 WO2001029974A1 (en) 1999-10-21 2000-10-23 High-speed acs unit for a viterbi decoder

Publications (1)

Publication Number Publication Date
JP2003512756A true JP2003512756A (ja) 2003-04-02

Family

ID=23676955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001531212A Pending JP2003512756A (ja) 1999-10-21 2000-10-23 ビタビデコーダ用の高速acsユニット

Country Status (13)

Country Link
US (1) US6333954B1 (ja)
EP (1) EP1230737A1 (ja)
JP (1) JP2003512756A (ja)
KR (1) KR100779782B1 (ja)
CN (1) CN1168224C (ja)
AU (1) AU1228501A (ja)
BR (1) BR0014899A (ja)
CA (1) CA2387766A1 (ja)
HK (1) HK1048204A1 (ja)
IL (2) IL149248A0 (ja)
MX (1) MXPA02003937A (ja)
RU (1) RU2246751C2 (ja)
WO (1) WO2001029974A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535939A (ja) * 2006-04-27 2009-10-01 クゥアルコム・インコーポレイテッド ビタビ復号装置および技術

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3501725B2 (ja) 2000-05-12 2004-03-02 日本電気株式会社 ビタビ復号器
EP1158683A1 (de) * 2000-05-24 2001-11-28 Infineon Technologies AG Vorrichtung und Verfahren zum Durchführen eines Viterbi-Algorithmus
US7006634B1 (en) * 2000-09-28 2006-02-28 Cisco Technology, Inc. Hardware-based encryption/decryption employing dual ported key storage
US6873707B1 (en) * 2000-09-28 2005-03-29 Cisco Technology, Inc. Hardware-based encryption/decryption employing cycle stealing
US20020198681A1 (en) * 2001-06-13 2002-12-26 Kouritzin Michael A. Flexible efficient branching particle tracking algorithms
KR100437697B1 (ko) * 2001-07-19 2004-06-26 스프레드텔레콤(주) 다수준 격자부호변조방식의 복호 방법 및 장치
US6910177B2 (en) * 2001-12-21 2005-06-21 Texas Instruments Incorporated Viterbi decoder using restructured trellis
FI20021656A0 (fi) * 2002-09-16 2002-09-16 Nokia Corp Menetelmä ja järjestely dekoodauksen suorittamiseksi
JP2005045727A (ja) * 2003-07-25 2005-02-17 Matsushita Electric Ind Co Ltd ビタビ復号器
US20050138535A1 (en) * 2003-12-02 2005-06-23 Sivagnanam Parthasarathy Method and system for branch metric calculation in a viterbi decoder
US8290095B2 (en) * 2006-03-23 2012-10-16 Qualcomm Incorporated Viterbi pack instruction
US7861147B2 (en) * 2006-12-08 2010-12-28 Via Technologies, Inc. ACS unit and method thereof
US8185810B1 (en) * 2007-04-13 2012-05-22 Link—A—Media Devices Corporation Low power viterbi trace back architecture
US8943392B2 (en) * 2012-11-06 2015-01-27 Texas Instruments Incorporated Viterbi butterfly operations
CN103905068B (zh) * 2012-12-26 2018-06-26 中国移动通信集团公司 一种维特比译码方法及系统
RU2608872C1 (ru) * 2015-09-24 2017-01-25 Валерий Владимирович Золотарев Способ кодирования и декодирования блокового кода с использованием алгоритма Витерби
CN114924615B (zh) * 2022-04-22 2024-02-20 龙芯中科技术股份有限公司 内存时钟调节方法、装置、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619514A (en) 1994-12-29 1997-04-08 Lucent Technologies Inc. In-place present state/next state registers
JP3344221B2 (ja) 1996-06-28 2002-11-11 株式会社日立製作所 デジタル信号復号装置及びそれに用いる復号方法
KR100195745B1 (ko) * 1996-08-23 1999-06-15 전주범 비터비 복호화기의 가산 비교 선택 장치
US5987638A (en) 1997-04-22 1999-11-16 Lsi Logic Corporation Apparatus and method for computing the result of a viterbi equation in a single cycle
US6097769A (en) * 1998-02-10 2000-08-01 Lucent Technologies Inc. Viterbi detector using path memory controlled by best state information
US6148431A (en) * 1998-03-26 2000-11-14 Lucent Technologies Inc. Add compare select circuit and method implementing a viterbi algorithm

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535939A (ja) * 2006-04-27 2009-10-01 クゥアルコム・インコーポレイテッド ビタビ復号装置および技術

Also Published As

Publication number Publication date
KR100779782B1 (ko) 2007-11-27
IL149248A0 (en) 2002-11-10
CN1379931A (zh) 2002-11-13
US6333954B1 (en) 2001-12-25
CA2387766A1 (en) 2001-04-26
KR20020048975A (ko) 2002-06-24
WO2001029974A1 (en) 2001-04-26
MXPA02003937A (es) 2002-12-13
EP1230737A1 (en) 2002-08-14
BR0014899A (pt) 2002-10-01
HK1048204A1 (zh) 2003-03-21
CN1168224C (zh) 2004-09-22
AU1228501A (en) 2001-04-30
IL149248A (en) 2006-04-10
RU2246751C2 (ru) 2005-02-20

Similar Documents

Publication Publication Date Title
JP2003512756A (ja) ビタビデコーダ用の高速acsユニット
JPH1070471A (ja) 大きな制約長を持つ場合に有効なソフト判定ビテルビ復号
US20050157823A1 (en) Technique for improving viterbi decoder performance
KR100346529B1 (ko) 디지탈신호프로세서
US7277507B2 (en) Viterbi decoder
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
EP3996285A1 (en) Parallel backtracking in viterbi decoder
KR100785671B1 (ko) 고속 acs 비터비 디코더 구현을 위하여 메모리내의상태 메트릭들을 효과적으로 판독하고 저장하는 방법 및장치
US20010033626A1 (en) System, method and computer program for decoding an encoded data stream
JP3753822B2 (ja) ビタビ復号方法および装置
EP1542370A1 (en) Method and system for branch label calculation in a Viterbi decoder
KR100491016B1 (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법
JP3235333B2 (ja) ビタビ復号方法およびビタビ復号化装置
JP3343217B2 (ja) 2ビットトレースバック符号化に対するビタビ比較・選択動作
JP2002198827A (ja) 最尤復号方法及び最尤復号器
JP3720251B2 (ja) ヴィタビ復号器
JP4372298B2 (ja) ビタビ復号器
JP2002076924A (ja) ビタビ復号器
JP2004128622A (ja) ビタビ復号方法、ビタビ復号装置及びプログラム
WO2007000708A1 (en) Viterbi decoder and decoding method thereof
JP2001144631A (ja) ビタビ復号装置
JPH04329026A (ja) ビタビ復号器