JP2008514158A - ビタビトレースバックのための分散リング制御回路 - Google Patents
ビタビトレースバックのための分散リング制御回路 Download PDFInfo
- Publication number
- JP2008514158A JP2008514158A JP2007533502A JP2007533502A JP2008514158A JP 2008514158 A JP2008514158 A JP 2008514158A JP 2007533502 A JP2007533502 A JP 2007533502A JP 2007533502 A JP2007533502 A JP 2007533502A JP 2008514158 A JP2008514158 A JP 2008514158A
- Authority
- JP
- Japan
- Prior art keywords
- shift register
- register ring
- traceback
- memory
- write
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4161—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
- H03M13/4169—Sequence 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)
Abstract
ビタビ復号中にトレースバックメモリにおける列アクセスを提供するために、シフトレジスタリングを使用する。
【選択図】図5
【選択図】図5
Description
本発明は、包括的にはビタビ復号に関し、特に、ビタビ復号中に使用されるトレースバックメモリに関する。
ビタビ復号は、畳み込み符号を復号するために使用することができる復号技法である。ますます多くの有線プロトコル及び無線通信プロトコルが、通信アクティビティ中のビタビ復号の使用を必要としている。通信装置及びビタビ復号を利用する他の装置の設計中に通常扱われる問題の1つは、電力損失である。一般に、こうした装置において、回路性能が所望のレベルで又はそれを超えるように維持される一方で、電力損失は低く維持されることが望まれる。
したがって、ビタビ復号を実行するエネルギー効率のよい方法及び構造が必要とされている。
以下の詳細な説明において、本発明が実施されるであろう特定の実施形態を例として示す添付図面を参照する。これら実施形態は、当業者が本発明を実施することができるようにするために十分詳細に説明されている。本発明のさまざまな実施形態は、異なるが、必ずしも互いに排他的ではない、ということが理解されるべきである。たとえば、本明細書において一実施形態に関連して説明する特定の特徴、構造又は特性を、本発明の精神及び範囲から逸脱することなく他の実施形態内で実現してもよい。さらに、開示された実施形態の各々における個々の要素の位置又は配置を、本発明の精神及び範囲から逸脱することなく変更してもよい、ということが理解されるべきである。したがって、以下の詳細な説明は、限定する意味で取られるべきではなく、本発明の範囲は、適当に解釈される添付の特許請求の範囲と、その特許請求の範囲に権利が与えられる均等物の完全な範囲とによってのみ定義される。図面において、同様の符号は各図を通して同じか又は同様の機能を指す。
ビタビ復号器には多くの用途がある。たとえば通信システムでは、ビタビ復号器を受信機で使用することにより、受信されたシンボルストリームに基づいて、遠隔送信機によって送信された可能性が最も高いシンボルストリームを確定することができる。他の用途もある(たとえばデータ記憶システム、ディスクドライブ等における)。ビタビ復号器の動作を、トレリス図を使用して表すことができる。図1は、特定のビタビ復号器のトレリス図10の一部を示す図である。図示するように、トレリス図10は、複数のシンボル12、14、16、18、20を含む。シンボル12、14、16、18、20の各々は、復号プロセス中の特定の処理段階に対応する(たとえば、シンボル12は、段階iに対応し、シンボル14は段階i+1に対応し、シンボル16は段階i+2に対応し、等であってもよい)。シンボル12、14、16、18、20の各々は、所定数の状態(図1において破線によって表される)を有する。たとえば、図示する実施形態では、各シンボルに対して4つの状態、すなわち第1の状態22、第2の状態24、第3の状態26及び第4の状態28がある。他のビタビ復号器は、シンボル毎に異なる数の状態を有してもよい。
シンボル12、14、16、18、20内の任意の状態22、24、26、28に対し、その状態に至る複数のブランチ(又は遷移)があってもよい。たとえば、シンボル14内の第1の状態22に対し、(先の状態22から)状態22に至る第1のブランチ30と、(先の状態24から)状態22に至る第2のブランチ32とがある。同様に、シンボル14の状態24に対し、(先の状態26から)状態24に至る第1のブランチ34と、(先の状態28から)状態24に至る第2のブランチ36とがあり、以下同様に続く。このブランチパターンは、通常、トレリス10の連続したシンボルの各々に対して繰り返す。ビタビ復号器のタイプが異なると、各状態に至るブランチの数が異なってもよい。図示するトレリスは、各状態に至るブランチが2つあるため、基数2トレリスとして知られる。
受信データに基づき、2つの連続するシンボル間のトレリス10の各ブランチに対し、ブランチメトリックが計算される。たとえば、処理がシンボル12からシンボル14まで進んでいる場合、ブランチ30に対してブランチメトリックが確定され、ブランチ32に対して別のブランチメトリックが確定され、以下同様である。ブランチメトリックは、実際に受信されたデータシンボルと、そのブランチに対応するデータシンボルとの間の「距離」を表す。処理がトレリス10を通してシンボルからシンボルに進む際、パスメトリックは、トレリスを通して複数のパスに対し、先のパスメトリックを対応するブランチメトリックに加算することにより更新される。パスメトリックは、関連するパスに対し累積される誤差の合計を表す。このように、シンボル12からシンボル14に遷移している時、シンボル12の状態22に関連するパスメトリックがブランチ30に関連するブランチメトリックに加算されることにより、シンボル14の状態22に対する新たなパスメトリックが得られる。同様に、シンボル12の状態24に関連するパスメトリックがブランチ32に関連するブランチメトリックに加算されることにより、シンボル14の状態22に対する別の新たなパスメトリックが得られる。しかしながら、これら新たなパスメトリックのうちの1つのみが、トレリス10内を継続することが許可される。2つのパスメトリックのうちの低い方が、累積された誤差が低いため、継続するように選択される。選択されたパスメトリックに関連するブランチは、生き残りブランチ又は生き残り遷移として知られる。シンボル14に関連する状態の各々に対し、同様のプロセスが完了する。このプロセスは、加算−比較−選択(ACS)演算として知られる。処理がトレリス10を通して進むに従い、新たなシンボルの各々における各状態の生き残り遷移が選択される。この生き残り遷移情報は、後に使用されるためにトレースバックメモリ内に保存される。各シンボル内の各状態に対する選択されたパスメトリックを、パスメトリックメモリ内に格納してもよい。ビタビ復号器は、さまざまなトレリスシンボルを処理するために繰返し使用される可能性のあるACSユニットの1セットを含むことが多い。
トレリスの少なくとも一部に対して生き残り遷移情報が収集された後、そのトレリスに対してトレースバック動作を開始してもよい。トレースバック動作は、トレリスを通して逆方向に実行される。トレースバック動作中、特定のシンボルの状態のうちの1つを、開始位置として選択してもよい。そして、プロセスは、トレースバックメモリにおける生き残りブランチ情報に従ってトレリスを通して逆方向に進む。1つのあり得る手法では、開始点として、パスメトリック(すなわち累積される誤差合計)が最低である、選択されたシンボル内の状態が選択される。しかしながら、これは必要条件ではない。それは、トレースバック動作は、トレリスを通して所定数を超えるシンボルを戻る限り(すなわちトレースバック長)、略常に適当な最も可能性の高いパス上にあるものだからである。
トレースバック動作が要求された数のシンボルを横切ると、同じパスを使用して「復号」プロセスを開始してもよい。復号プロセスは、本質的に元の符号化プロセスの逆である。関連するパスにおける状態から状態への各生き残り遷移に対し、復号された値である対応するデータ値がある。復号プロセスは、トレリスを通して後方に進むに従い、発生した各生き残り遷移を(トレースバックメモリ内のデータを使用して)確定し、対応するデータ値を出力する。そして、これらデータ値の方向を逆にすることにより、実際に送信された可能性が最も高いデータに達することができる。トレースバックメモリにさらなるデータが書き込まれるに従い、トレリス内の新たな開始点において、追加のトレースバック動作及び復号動作を開始してもよい。対応するトレリス内より列が少ないトレースバックメモリを使用してもよい。こうした場合、処理中にメモリに対し、何度も繰り返して再書込みしてもよい。
図2は、本発明の一実施形態による一例としてのトレースバックメモリ50を示す図である。図示するように、トレースバックメモリ50は、メモリチップ52、行デコーダ54及び列デコーダ56を有してもよい。メモリチップ52は、メモリロケーションの列及び行を含む半導体メモリである。メモリチップ52の列は、トレリスのシンボルに対応してもよい。メモリチップ52の行は、トレリスの状態に対応してもよい。メモリロケーションは、各行及び列の交差点に位置決めされる。このメモリロケーションを使用して、対応する状態/シンボルに対する生き残り遷移情報が格納される。メモリロケーションのサイズは、実行されている特定のトレリスによって決まる。たとえば、基数2トレリスでは、各状態に入るブランチ又は遷移は最大2である。したがって、生き残り遷移を、単一の2値ビット(すなわち、論理1か又は論理0)を使用して記述してもよい。或る状態に入る遷移が最大3つである場合、2つの2値ビットが必要とされ、以下同様である。
行デコーダ54は、状態アドレスに基づいて、対象となっているトレリス状態に対応するメモリチップ52の行を選択する(イネーブルにする)。列デコーダ56は、シンボルアドレスに基づいて、対象となっているトレリスシンボルに対応するメモリチップ52の列を選択する(イネーブルにする)。書込み動作中、行デコーダ54及び列デコーダ56によって選択されるメモリロケーションに、生き残り遷移情報を書き込んでもよい。読出し動作中(たとえばトレースバック又は復号中)、行デコーダ54及び列デコーダ56によって選択されるメモリロケーションから、生き残り遷移情報を読み出してもよい。処理がトレリスを通して前方に(図1では左から右へ)進むに従い、生き残り遷移情報がメモリチップ52のさまざまな記憶位置に書き込まれる。メモリチップ52の最後に達すると(すなわち最右列)、書込みは、メモリチップ52の開始(すなわち最左列)において続けてもよい。
トレースバック動作及び復号動作中、データがメモリチップ52から読み出されることにより、対応する機能が実行される。これは、書込みとは反対方向に実行される。列デコーダ56及び行デコーダ54によって列及び行がイネーブルとされると、対応する1つのトレースバックビット(又は複数のビット)を読み出して処理してもよい。そして、行デコーダ54及び列デコーダ56は、トレースバックビット(複数可)によって特定された先のシンボル内の状態に戻ってもよく、以下同様である。
図3は、図2のメモリチップ52を実装するために使用してもよい一例としてのメモリアーキテクチャ60を示す回路図である。メモリアーキテクチャ60は、各行/列の組合せに対し単一ビットを格納する。ビット線62は、対応する記憶位置からトレースバックビットを搬送するように動作可能である。ビット線62を、読出し動作の前にプリチャージしてもよい。アーキテクチャ60は、複数の列選択線(たとえばCS064等)と、複数の行選択線(たとえばRS066等)とを有する。行選択線RS066が論理ハイにされる場合、メモリの対応する行が、その行に対する行トランジスタ68をオンにすることによってイネーブルにされる。同様に、列選択線CS064が論理ハイとされる場合、メモリの対応する列が、その列に対する列トランジスタ70をオンにすることによってイネーブルにされる。格納されたデータビット74に応じて、対応する記憶トランジスタ72は「オン」か又は「オフ」のいずれかとなる。記憶トランジスタ72が「オン」である場合、ビット線62はディスチャージされ、第1のデータビット値が出力される。「オフ」である場合、ビット線62はチャージされたままであり、第2の異なるデータビット値が出力される。別法として他のメモリアーキテクチャを使用してもよい。
本発明の少なくとも1つの実施形態では、図2の列デコーダ56の代りに複数のシフトレジスタリングを使用する。図4は、使用してもよい一例としてのシフトレジスタリング80を示すブロック図である。図示するように、シフトレジスタリング80は、リング構成で直列に接続される複数のフリップフロップ82、84、86、88、90、92、…を含む。シフトレジスタリング80のフリップフロップ82、84、86、88、90、92、…のうちの1つを、最初に論理1値に設定してもよく、その後その論理1値が、リングを通してフリップフロップからフリップフロップに同期して渡されることにより、対応するメモリチップに対する列イネーブル信号として作用するようにしてもよい。フリップフロップの代りに、他の1ビットクロック制御可能メモリデバイス(たとえばデータラッチ等)を使用してもよい。列デコーダと異なり、シフトレジスタリングは、トレースバックメモリの所望の列にアクセスするために集中化アドレスを必要としない。代りに、シフトレジスタリングは単純に、通常、トレースバックメモリにおいて必要とされるように、列から列に線形式に進行する。列デコーダではなくシフトレジスタリングを使用することにより、電力を大幅に節約することができる。たとえば、各デコーダサイクル中のスイッチング容量を、2つのフリップフロップのみのスイッチング容量まで低減することができる。一方のフリップフロップは論理0から論理1に変化し、他方は論理1から論理0に変化する。
図5は、本発明の一実施形態による一例としてのトレースバックメモリ100を示すブロック図である。図5に示すように、トレースバックメモリ100は、メモリチップ102、行デコーダ104、書込みシフトレジスタリング106、復号シフトレジスタリング108及びトレースバックシフトレジスタリング110を含んでもよい。メモリチップ102及び行デコーダ104は、上述したように、図2における対応する要素と同様に動作してもよい。シフトレジスタリング106、108、110は、メモリチップ102に対する列イネーブル信号として作用するように関連するリングを通して逐次論理1値(又は他の何らかの値)を各々シフトさせることによって動作してもよい。書込みシフトレジスタリング106は、メモリチップ102に生き残り遷移情報を格納するために書込み動作中に使用されるものである。復号シフトレジスタリング108及びトレースバックシフトレジスタリング110は、それぞれ復号動作及びトレースバック動作中に使用される。図示するように、書込みシフトレジスタリング106のシフト方向は、復号シフトレジスタリング108及びトレースバックシフトレジスタリング110のシフト方向とは反対である。さらに、トレースバックシフトレジスタリング110は、図示する実施形態では書込みシフトレジスタリング106及び復号シフトレジスタリング108より高いクロック速度で動作する(ただし、これが当てはまらない他の実施形態もある)。トレースバック及び書込み/復号クロックの周波数は、通常、対応するACSユニットにおいてACSブロックがいくつ使用されるかによって決まる。言い換えれば、それは、1サイクルにおいてトレースバックにビットがいくつ書き込まれているかによって決まる。これは、特定の実施態様によって決まる。トレースバッククロックは、通常、書込み/復号クロックに等しいか又は整数倍となる。
トレースバックメモリ100を、対応するシステムに対してビタビ復号を実行する1つ又は複数のデジタル処理装置に結合してもよい。デジタル処理装置(複数可)には、たとえば、汎用マイクロプロセッサ、デジタル信号プロセッサ(DSP)、縮小命令セットコンピュータ(RISC)、複雑命令セットコンピュータ(CISC)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、及び/又は上記の組合せを含む他のものが含まれてもよい。デジタル処理装置(複数可)は、たとえば、生き残り遷移情報のトレースバックメモリへの書込み、トレースバックメモリ内に格納されたデータを使用するトレースバック動作の実行、トレースバックメモリ内に格納されたデータを使用する復号動作の実行及び/又は他の機能を制御してもよい。
本発明の少なくとも1つの実施形態では、書込みシフトレジスタリング106、復号シフトレジスタリング108及びトレースバックシフトレジスタリング110内の論理1ビットの位置を制御するために、分散論理回路が使用される。トレースバックポインタ(すなわち、図5のトレースバックシフトレジスタリング110内の論理1)が現在の書込みポインタ(すなわち、図5の書込みシフトレジスタリング106内の論理1)に合致する場合、トレースバック動作が完了したとみなしてもよい。これが発生すると、書込みポインタの反対側において新たなトレースバック動作を開始してもよい。分散制御回路を、特にこのタスクを実行するように構成してもよい。
図6は、本発明の一実施形態によるトレースバックメモリ内で使用される論理回路を含む一例としての回路構成120を示す概略図である。図6の論理回路は、1つのリング位置のみに対して示されている。しかしながら、トレースバックメモリにおける各リング位置に対して同じか又は同様の回路構成を繰り返してもよい、ということが理解されるべきである。図6に示すように、トレースバックメモリの特定の列122に対し、1つの書込みフリップフロップ(又はデータラッチ)124、1つの復号フリップフロップ(又はデータラッチ)126及び1つのトレースバックフリップフロップ(又はデータラッチ)128がある。書込みフリップフロップを通して第1の方向130に論理1(又は他のデータ値)が伝播し、復号フリップフロップ及びトレースバックフリップフロップを通して反対方向132に(ただし異なる速度で)論理1が伝播する。書込みフリップフロップ124のデータ出力に接続された1つの入力と、トレースバックフリップフロップ128のデータ出力に接続された1つの入力とを有する、第1のANDゲート134が設けられる。ANDゲート134の出力は、トレースバックフリップフロップ128の左側のトレースバックフリップフロップ136のSET入力に結合される。トレースバックフリップフロップ136は、必ずしもトレースバックフリップフロップ128に隣接していない。すなわち、2つの間の1つ又は複数のフリップフロップがあってもよい。この分離は、通常、実装に固有である。フリップフロップ124、128が異なる値を格納しているか又はともに論理0を格納している場合、フリップフロップ136に格納された値は変化しない。一方、フリップフロップ124、128がともに論理1を格納している場合、フリップフロップ136は論理1に設定され、そのため書込みポインタの反対側において新たなトレースバック動作が開始する。フリップフロップ128はまた、この時点で(論理0に)リセットされ、それにより、トレースバックシフトレジスタリングには1つの論理1しかない。
回路構成120はまた、第2のANDゲート138を有してもよい。第2のANDゲート138は、書込みフリップフロップ124のデータ出力に接続された1つの入力と、復号フリップフロップ126のデータ出力に接続された1つの入力とを有してもよい。第2のANDゲート138の出力を、復号フリップフロップ126の右側の復号フリップフロップ140のSET入力に接続してもよい。このため、復号フリップフロップ126及び書込みフリップフロップ124の両方に論理1が格納されている場合、復号フリップフロップ140は論理1に設定される。略同時に、復号フリップフロップ126を論理0にリセットしてもよい。復号フリップフロップ140は、通常、フリップフロップ126から複数フリップフロップ分だけ離れている(たとえば、一実施形態では16フリップフロップ)。このように、復号ポインタは、書込みポインタに向かって連続して移動した後、復号処理中に再び戻される。図6に示す特定の分散制御回路は、シフトレジスタリングを使用するトレースバックメモリ内で分散制御回路を実装する単なる1つの方法であることが理解されるべきである。別法として他の制御回路構成を使用してもよい。
本発明の一態様では、シフトレジスタリングを使用することにより、トレースバックメモリにおいてたとえば異なる符号化規格で動作するように或るレベルの再構成可能性を達成することができる。再構成可能性では、たとえば、トレースバックメモリが異なる数の状態、異なる数の遷移及び/又は異なるトレースバック長をサポートする必要がある場合がある。最大のあり得る適用に対して十分なメモリを含めることにより、たとえばさまざまなリング間でクロック周波数及びクロック率を変更することによって異なる規格に対処することができる。トレースバック長を、機能を変更することなく変更することができる。トレースバック長を増大させることは、信号対雑音比に関して改善が低下することであるが、エネルギ及びレイテンシにおいては最小の増大しか示さないため、通常、エネルギ効率のよい再構成可能トレースバックメモリを実装するためにはいくつかの異なるリングサイズのみがあればよい。
図7は、本発明の一実施形態による一例としての再構成可能トレースバックメモリ150を示すブロック図である。図示するように、再構成可能トレースバックメモリ150は、第1のメモリチップ152、第2のメモリチップ154、第3のメモリチップ156及び第4のメモリチップ158と、第1の行デコーダ160及び第2の行デコーダ162と、第1の48列シフトレジスタ部164、第1の32列シフトレジスタ部168、第2の48列シフトレジスタ部170、第2の32列シフトレジスタ部172と、第1のマルチプレクサ(MUX)174及び第2のマルチプレクサ176とを有してもよい。第1の行デコーダ160は、メモリチップ152及び154内の選択された行をイネーブルにするように動作可能である。同様に、第2の行デコーダ162は、メモリチップ156及び158内の選択された行をイネーブルにするように動作可能である。第1のMUX174及び第2のMUX176により、トレースバックメモリ150に対し異なる規格をサポートするように可変サイズのシフトレジスタリングを達成することができる。たとえば、1つの実装では、MUX174、176を、96位置リングを形成するように単に2つの48位置シフトレジスタ部164、170からリングを形成するように制御してもよい。別の実装では、シフトレジスタ部164、168、170、172のすべてを結合することにより160位置リングを形成してもよい。別法として他の組合せを行ってもよい。再構成可能トレースバックメモリ内で任意の数のシフトレジスタ部及びMUXを使用してもよい。同様に、任意のサイズのシフトレジスタ部を使用してもよい。1つのみを図示するが、通常、トレースバックメモリ内に3つの再構成可能シフトレジスタ構成がある。また、再構成可能トレースバックメモリ内で任意の数のメモリチップを使用してもよい。別法として他の再構成可能トレースバックメモリアーキテクチャを使用してもよい。
本発明の技法及び構造を、種々の異なる形態のうちの任意のもので実装することができる。たとえば、本発明の特徴を、携帯電話及び他のハンドヘルド無線通信装置、無線機能を有する携帯情報端末、無線機能を有するラップトップ、パームトップ、デスクトップ及びタブレットコンピュータ、ページャ、衛星通信装置、ネットワークインタフェースカード(NIC)及び他のネットワークインタフェース構造、集積回路、有線通信システム及び装置、たとえばハードディスクドライブを有するデジタルデータ記憶装置内で、機械可読媒体に格納された命令及び/データ構造として、且つ/又は他の形式で実装してもよい。
上述した詳細な説明では、本発明のさまざまな特徴を、開示を簡素化する目的で1つ又は複数の個々の実施形態にグループ化している。この開示の方法は、請求される発明が各請求項において明示的に列挙される特徴より多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、添付の特許請求の範囲が反映するように、開示された各実施形態の特徴をすべては含まない場合にも発明の態様があり得る。
本発明を、いくつかの実施形態に関連して説明したが、当業者は容易に理解するように、本発明の精神及び範囲から逸脱することなく変更及び変形を用いてもよい、ということが理解されるべきである。こうした変更及び変形は、本発明及び添付の請求項の範囲内にあるものとみなされる。
Claims (25)
- ビタビ復号器で使用されるトレースバックメモリであって、
生き残り遷移情報を格納する行及び列を有するメモリチップと、
書込みシフトレジスタリングであって、書込み動作中に、該書込みシフトレジスタリングを通して所定データ値を逐次シフトさせることにより、前記メモリチップの列をイネーブルにする書込みシフトレジスタリングと
を具備する、トレースバックメモリ。 - トレースバックシフトレジスタリングであって、トレースバック読出し動作中に、該トレースバックシフトレジスタリングを通して所定データ値を逐次シフトさせることにより、前記メモリチップの列をイネーブルにし、前記所定データ値は、該トレースバックシフトレジスタリングを通して前記書込みシフトレジスタリングにおける前記所定データ値と反対方向にシフトされる、トレースバックシフトレジスタリングをさらに具備する、請求項1に記載のトレースバックメモリ。
- 復号シフトレジスタリングであって、復号動作中に、該復号シフトレジスタリングを通して所定データ値を逐次シフトさせることにより、前記メモリチップの列をイネーブルにし、前記所定データ値は、該復号シフトレジスタリングを通して前記書込みシフトレジスタリングにおける前記所定データ値とは反対方向にシフトされる、復号シフトレジスタリングをさらに具備する、請求項2に記載のトレースバックメモリ。
- 前記書込みシフトレジスタリング及び前記復号シフトレジスタリングは、同じクロック速度で動作し、前記トレースバックシフトレジスタリングは、異なるより高いクロック速度で動作する、請求項3に記載のトレースバックメモリ。
- 前記書込みシフトレジスタリング及び前記トレースバックシフトレジスタリングに接続され、書込みポインタに対するトレースバックポインタの近接性に基づいて新たなトレースバック動作を開始する第1の論理回路をさらに具備する、請求項3に記載のトレースバックメモリ。
- 前記第1の論理回路は、前記書込みシフトレジスタリングにおいて各位置にANDゲートを有する、請求項5に記載のトレースバックメモリ。
- 前記書込みシフトレジスタリング及び前記復号シフトレジスタリングに接続され、前記書込みポインタに対する復号ポインタの近接性に基づいて復号ポインタを再配置する第2の論理回路をさらに具備する、請求項5に記載のトレースバックメモリ。
- 前記第2の論理回路は、前記書込みシフトレジスタリングにおいて各位置にANDゲートを有する、請求項7に記載のトレースバックメモリ。
- 前記所定データ値は論理1である、請求項1に記載のトレースバックメモリ。
- 前記書込みシフトレジスタリングは、リング構成で接続される複数のフリップフロップを有する、請求項1に記載のトレースバックメモリ。
- 前記書込みシフトレジスタリングは、リング構成で接続される複数のデータラッチを有する、請求項1に記載のトレースバックメモリ。
- 状態アドレスに応じて前記メモリチップの選択された行をイネーブルにする行デコーダ
をさらに具備する、請求項1に記載のトレースバックメモリ。 - ビタビ復号器においてシフトレジスタリングを通して所定データ値をシフトさせることであって、それにより、トレースバックメモリの列を逐次イネーブルにしてトレリス生き残り遷移データを該列の記憶位置に書き込む、所定データ値をシフトさせること
を含む方法。 - 前記シフトレジスタリングは第1のシフトレジスタリングであり、
前記ビタビ復号器において第2のシフトレジスタリングを通して所定データ値をシフトさせることであって、それにより前記トレースバックメモリの列を逐次イネーブルにして前記ビタビ復号器に対するトレースバック読出し機能を実行し、前記所定値は、前記第2のシフトレジスタリングを通して前記第1のシフトレジスタリングにおける前記所定値とは反対方向にシフトされる、所定データ値をシフトさせることをさらに含む、請求項13に記載の方法。 - 前記ビタビ復号器において第3のシフトレジスタリングを通して所定データ値をシフトさせることであって、それにより前記トレースバックメモリの列を逐次イネーブルにして前記ビタビ復号器に対する復号読出し機能を実行し、前記所定値は、前記第3のシフトレジスタリングを通して前記第1のシフトレジスタリングにおける前記所定値とは反対方向にシフトされる、所定データ値をシフトさせることをさらに含む、請求項14に記載の方法。
- 前記第1のシフトレジスタリングを通して所定データ値をシフトさせること、及び前記第3のシフトレジスタリングを通して所定データ値をシフトさせることは、同じクロック速度で実行され、前記第2のシフトレジスタリングを通して所定データ値をシフトさせることは、異なるより高速なクロック速度で実行される、請求項15に記載の方法。
- 前記第2のシフトレジスタリング内のトレースバックポインタが前記第1のシフトレジスタリング内の書込みポインタに近接している時に、新たなトレースバック動作を開始することをさらに含む、請求項15に記載の方法。
- 新たなトレースバック動作を開始することは、前記第2のシフトレジスタリング内の前記トレースバックポインタが前記第1のシフトレジスタリング内の前記書込みポインタと同じ位置にある時に、前記新たなトレースバック動作を開始することを含む、請求項17に記載の方法。
- 前記復号ポインタが前記第1のシフトレジスタリング内の書込みポインタに近接している時に、前記第3のシフトレジスタリング内の復号ポインタを再配置することをさらに含む、請求項15に記載の方法。
- 前記所定データ値は論理1である、請求項13に記載の方法。
- 生き残り遷移情報を格納する行及び列を有するメモリチップと、
書込みシフトレジスタリングであって、書込み動作中に、該書込みシフトレジスタリングを通して所定データ値を逐次シフトさせることにより、前記メモリチップの列をイネーブルにする書込みシフトレジスタリングと
を有するトレースバックメモリと、
該トレースバックメモリへの生き残り遷移情報の書込みを制御するデジタル信号プロセッサ(DSP)と
を具備する、ビタビ復号器。 - 前記トレースバックメモリは、
トレースバックシフトレジスタリングであって、トレースバック読出し動作中に、該トレースバックシフトレジスタリングを通して所定データ値を逐次シフトさせることにより、前記メモリチップの列をイネーブルにし、前記所定データ値は、該トレースバックシフトレジスタリングを通して前記書込みシフトレジスタリングにおける前記所定データ値と反対方向にシフトされる、トレースバックシフトレジスタリングをさらに具備する、請求項21に記載のビタビ復号器。 - 前記DSPは、前記トレースバックメモリに格納された情報を使用して前記ビタビ復号器におけるトレースバック動作の実行を制御するようにプログラムされる、請求項22に記載のビタビ復号器。
- 前記トレースバックメモリは、
復号シフトレジスタリングであって、復号動作中に、該復号シフトレジスタリングを通して所定データ値を逐次シフトさせることにより、前記メモリチップの列をイネーブルにし、前記所定データ値は、該復号シフトレジスタリングを通して前記書込みシフトレジスタリングにおける前記所定データ値と反対方向にシフトされる、復号シフトレジスタリングをさらに具備する、請求項22に記載のビタビ復号器。 - 前記DSPは、前記トレースバックメモリに格納された情報を使用して前記ビタビ復号器における復号動作の実行を制御するようにプログラムされる、請求項24に記載のビタビ復号器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/954,648 US7275204B2 (en) | 2004-09-30 | 2004-09-30 | Distributed ring control circuits for Viterbi traceback |
PCT/US2005/031433 WO2006039055A1 (en) | 2004-09-30 | 2005-09-01 | Distributed ring control circuits for viterbi traceback |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008514158A true JP2008514158A (ja) | 2008-05-01 |
Family
ID=35520741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007533502A Pending JP2008514158A (ja) | 2004-09-30 | 2005-09-01 | ビタビトレースバックのための分散リング制御回路 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7275204B2 (ja) |
JP (1) | JP2008514158A (ja) |
KR (1) | KR20080014722A (ja) |
CN (1) | CN101027843B (ja) |
WO (1) | WO2006039055A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7275204B2 (en) * | 2004-09-30 | 2007-09-25 | Marvell International Ltd. | Distributed ring control circuits for Viterbi traceback |
US20070230606A1 (en) * | 2006-03-31 | 2007-10-04 | Anders Mark A | Viterbi traceback |
GB2475653B (en) * | 2007-03-12 | 2011-07-13 | Advanced Risc Mach Ltd | Select and insert instructions within data processing systems |
US8111767B2 (en) * | 2007-05-31 | 2012-02-07 | Renesas Electronics Corporation | Adaptive sliding block Viterbi decoder |
US8799823B2 (en) * | 2009-02-26 | 2014-08-05 | Brother Kogyo Kabushiki Kaisha | Display device |
KR20120134549A (ko) | 2011-06-02 | 2012-12-12 | 삼성전자주식회사 | Simd 프로세서를 이용한 병렬 연산 처리 장치 및 방법 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3731287A (en) * | 1971-07-02 | 1973-05-01 | Gen Instrument Corp | Single device memory system having shift register output characteristics |
US4535427A (en) * | 1982-12-06 | 1985-08-13 | Mostek Corporation | Control of serial memory |
US4862419A (en) * | 1983-11-10 | 1989-08-29 | Advanced Micro Devices, Inc. | High speed pointer based first-in-first-out memory |
US4583078A (en) * | 1984-11-13 | 1986-04-15 | Communications Satellite Corporation | Serial Viterbi decoder |
US4864543A (en) * | 1987-04-30 | 1989-09-05 | Texas Instruments Incorporated | First-in, first-out memory with counter address pointers for generating multiple memory status flags |
US4962483A (en) * | 1986-09-18 | 1990-10-09 | Advanced Micro Devices, Inc. | Cascading FIFO memory devices for sequential storing |
US5027326A (en) * | 1988-11-10 | 1991-06-25 | Dallas Semiconductor Corporation | Self-timed sequential access multiport memory |
US5612964A (en) * | 1991-04-08 | 1997-03-18 | Haraszti; Tegze P. | High performance, fault tolerant orthogonal shuffle memory and method |
US5502735A (en) * | 1991-07-16 | 1996-03-26 | Nokia Mobile Phones (U.K.) Limited | Maximum likelihood sequence detector |
KR940010435B1 (ko) * | 1992-08-31 | 1994-10-22 | 삼성전자 주식회사 | 비터비 복호기의 경로기억장치 |
FR2724273B1 (fr) * | 1994-09-05 | 1997-01-03 | Sgs Thomson Microelectronics | Circuit de traitement de signal pour mettre en oeuvre un algorithme de viterbi |
US5513139A (en) * | 1994-11-04 | 1996-04-30 | General Instruments Corp. | Random access memory with circuitry for concurrently and sequentially writing-in and reading-out data at different rates |
US5996112A (en) * | 1996-03-28 | 1999-11-30 | Lsi Logic Corporation | Area-efficient surviving paths unit for Viterbi decoders |
KR100212836B1 (ko) * | 1996-06-14 | 1999-08-02 | 전주범 | 비터비 디코더의 트레이스백 진행 구조 |
DE69719141T2 (de) * | 1996-10-15 | 2003-07-24 | Matsushita Electric Ind Co Ltd | Vorrichtung zur Zurückverfolgung des Pfades in einem Viterbi Dekodierer |
GB2323958A (en) | 1997-04-04 | 1998-10-07 | Sharp Kk | Active matrix devices |
US6263473B1 (en) * | 1997-04-07 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Viterbi decoder and Viterbi decoding method |
JP3343201B2 (ja) * | 1997-06-12 | 2002-11-11 | 株式会社日立製作所 | 復号回路および情報処理装置 |
US6477680B2 (en) * | 1998-06-26 | 2002-11-05 | Agere Systems Inc. | Area-efficient convolutional decoder |
JP3515720B2 (ja) * | 1999-11-22 | 2004-04-05 | 松下電器産業株式会社 | ビタビ復号器 |
US6601215B1 (en) | 2000-02-01 | 2003-07-29 | Agere Systems Inc. | Traceback buffer management for VLSI Viterbi decoders |
JP4497708B2 (ja) * | 2000-12-08 | 2010-07-07 | 三菱電機株式会社 | 半導体装置 |
JP4047697B2 (ja) | 2002-10-28 | 2008-02-13 | 松下電器産業株式会社 | ビタビ復号装置 |
US7275204B2 (en) * | 2004-09-30 | 2007-09-25 | Marvell International Ltd. | Distributed ring control circuits for Viterbi traceback |
-
2004
- 2004-09-30 US US10/954,648 patent/US7275204B2/en active Active
-
2005
- 2005-09-01 CN CN2005800325055A patent/CN101027843B/zh not_active Expired - Fee Related
- 2005-09-01 JP JP2007533502A patent/JP2008514158A/ja active Pending
- 2005-09-01 WO PCT/US2005/031433 patent/WO2006039055A1/en active Application Filing
- 2005-09-01 KR KR1020077007267A patent/KR20080014722A/ko active Search and Examination
-
2007
- 2007-09-24 US US11/860,493 patent/US7840885B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060085730A1 (en) | 2006-04-20 |
US7840885B2 (en) | 2010-11-23 |
CN101027843A (zh) | 2007-08-29 |
KR20080014722A (ko) | 2008-02-14 |
US7275204B2 (en) | 2007-09-25 |
US20080072128A1 (en) | 2008-03-20 |
CN101027843B (zh) | 2010-09-01 |
WO2006039055A1 (en) | 2006-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603613B2 (en) | Viterbi decoder architecture for use in software-defined radio systems | |
JP3338374B2 (ja) | 演算処理方法および装置 | |
JP3515720B2 (ja) | ビタビ復号器 | |
JP3277856B2 (ja) | ビタビデコーダ | |
US7840885B2 (en) | Distributed ring control circuits for Viterbi traceback | |
JP3250550B2 (ja) | パスメモリ回路およびビタビ復号回路 | |
CN109981117B (zh) | 一种四模前向纠错码处理器 | |
JP4600183B2 (ja) | ビタビ復号装置 | |
US7979781B2 (en) | Method and system for performing Viterbi decoding using a reduced trellis memory | |
JP3242059B2 (ja) | ビタビ復号器 | |
US20090172504A1 (en) | Memory architecture for viterbi decoder and operating method therefor | |
US8032818B2 (en) | Method and apparatus for storing survivor paths in a Viterbi detector using input-dependent pointer exchange | |
Han et al. | High performance Viterbi decoder using modified register exchange methods | |
Chu et al. | Power efficient low latency survivor memory architecture for Viterbi decoder | |
Ei-Dib et al. | Low-power register-exchange Viterbi decoder for high-speed wireless communications | |
US8006066B2 (en) | Method and circuit configuration for transmitting data between a processor and a hardware arithmetic-logic unit | |
US20070230606A1 (en) | Viterbi traceback | |
US8185810B1 (en) | Low power viterbi trace back architecture | |
US7496827B2 (en) | System and method for multi-mode multi-state path metric addressing | |
Niktash et al. | A multi-standard Viterbi decoder for mobile applications using a reconfigurable architecture | |
KR20130073333A (ko) | 최소화된 복호 지연 시간을 갖는 역추적 장치 및 방법 | |
Manzoor et al. | VLSI implementation of an efficient pre-trace back approach for Viterbi algorithm | |
Ito | A Trace-Back Method with Source States for Viterbi Decoding of Rate-1/n Convolutional Codes | |
JP2001186025A (ja) | ビタビ復号装置 | |
JP2004120791A (ja) | ビタビ復号器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090811 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100126 |