JP4386588B2 - 効率的な反復復号処理 - Google Patents
効率的な反復復号処理 Download PDFInfo
- Publication number
- JP4386588B2 JP4386588B2 JP2000580308A JP2000580308A JP4386588B2 JP 4386588 B2 JP4386588 B2 JP 4386588B2 JP 2000580308 A JP2000580308 A JP 2000580308A JP 2000580308 A JP2000580308 A JP 2000580308A JP 4386588 B2 JP4386588 B2 JP 4386588B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- iterations
- decoding
- decoder
- error detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2975—Judging correct decoding, e.g. iteration stopping criteria
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Description
【発明の属する技術分野】
本発明は一般的に反復復号処理に関し、特に多重成分符号の高速反復復号処理に関する。
【0002】
【従来の技術】
[発明の背景]
デジタルデータの発信は、送信したデータへエラー(errors)を導入する恐れのある干渉を引き起こす固有の傾向がある。送信したデータへエラーが入ったか否かを出来るだけ確実に判定するために、種々のエラー検出スキームが提案されている。例えば、データをパケットとして発信し、各パケットにCRC(巡回冗長検査)領域を付加することが一般的である。この領域は、例えば長さが16ビットであり、パケットのデータの検査総計を記録するものである。このデータを受け時、受信器は受けたデータ上の検査総計を算出し、この算出結果がCRC領域に記録の検査総計と同一であるか否か検証する。
送信データがオンラインで使用されていない場合、エラーが検出された時はエラーデータの再送信を要求できる。しかし、電話回線、セルラ電話、遠隔ビデオ方式等でデータがオンラインで発信された場合は、再送信の要求は不可能である。
畳み込み符号が導入され、たとえエラーが送信過程で発生しても、デジタルデータの受信器が受信データを正確に判定できるようになっている。
畳み込み符号は、送信データに冗長部分を導入し、送信データをまとめパケット化する。得られたパケット内では、各ビットの値は先行連続するビットに依存する。従って、エラーが発生しても、受信器は受信データ内のシーケンスを後方検索して、元データを推論できる。
送信チャンネルの作動効率をさらに改善するために、いくつかの符号化スキームではインターリーバを用いる。インターリーバはパケット内のビット順番を符号化処理中に入れ替える。よって、送信中に干渉により隣接するビットがいくつか破壊しても、干渉の影響が元のパケット全体に分散する。従って、復号処理でより確実に干渉を克服できる。他の改善策として、多重成分(multiple-component)符号の使用がある。多重成分符号は、パケットを並行して、または連続して2回以上符号化したものである。例えば、その内容を引用により本明細書に組み込んだ米国特許第5,446,747号は、畳み込み符号化を少なくとも2回並行して行うエラー訂正方法を開示している。この並行符号化は「ターボ符号化(Turbo coding)」として知られている。
多重成分符号を最適に復号することは、しばしば複雑な作業であり、多大な時間を要する場合がある。かかる多大な時間はオンライン復号の場合、通常得られない。この問題を解決するために反復(iterative)復号技術がいくつか開発されている。受信ビットが0か1かを即時に決定するのではなく、受信器は各ビットに、ビットが1である確率を表す多重レベルスケールで、ある値を割り当てる。通常用いるスケールの一つはLLR確率と称するものである。これは{−32,31}の範囲の整数により各ビットを表わす。値31は送信したビットが0であった確率(probability)が相当高いことを示す。値−32は送信したビットが1である確率が相当高いことを示す。値0は、値が中間であることを示す。
多重レベルスケールで表わすデータは「ソフトデータ」と称され、反復復号は通常、ソフト・イン/ソフト・アウト形式である。すなわち、復号処理によりビット値の確率に対応する入力列を受け、符号の拘束事項を考慮して正しい確率を出力する。一般に、反復復号を行う復号器は、先行反復で得たソフトデータを使って受信器が読み取ったソフトデータを復号する。反復復号の方法の一例が例えば、その内容を引用により本明細書に組み込んだ米国特許第5,563,897号に記載してある。
多重成分符号の反復復号中に、復号器はある符号の復号結果を使って、次の符号の復号処理を改善する。並行作動の符号器を、ターボ符号化などで用いる場合、対応する2台の復号器を並行に使うのが、目的を達成するのに便利である。
反復復号は、ソフトデータが送信したデータをほぼ表わしていると確認されるまで、複数回の反復にわたって実施される。ほぼ値が1である旨を示す確率を有するビット(例えば、上述したスケールで値が0と31との間のビット)には、二進値0が割り当てられ、他のビットには二進値1が割り当てられる。
一般に、反復処理は所定回繰り返す。アドレス「http://lamarr.mprg.ee.vt.edu/documents/turbo.pdfにて入手可能で、その内容を引用により本明細書に組み込んだ、マシュー C. バレンティ著「ターボ符号入門(An Introduction to Turbo Codes)」によれば、反復繰り返しの所定回は約18回である。しかし、この論文で、反復を6回ほどの少ない回数行っても、多くの場合満足な結果を得られると述べてある。また、その内容を引用により本明細書に組み込んだ、ヨアキン・ハーゲナウァー、エルケ・オッファー、ルッツ・パプケ共著「二進ブロック符号の反復復号(Interactive Decoding of Binary Block Codes)」,IEEE Trans.of Intermation Theory,42巻、2号、429−445頁 (1996年3月)では、パケット毎の反復復号処理をいつ停止するかを決定するための交差エントロピー評価基準の使用が提案されている。よって、復号器の計算力は、反復を同回数行って全パケットを復号する場合よりも有効に利用できる。しかし、交差エントロピー評価基準は、それ自体が複雑であり、反復を様々な回数実施する場合の効率を大幅に下げてしまう。
普通用いる一つの多重成分符号化スキームでは、まずパケットを第1「外部」符号化スキームによって符号化する。その後、パケットをインターリーブ(interleave)処理し、さらに第2「内部(inner)」符号化スキームによって符号化する。復号処理中は、まず内部符号を復号し、復号結果をデインターリーブ(インターリーブ解除)処理し、外部符号を復号する。この後、外部符号の復号結果は、内部符号を復号する第2反復において結果を改善するために使用される。この処理は、符号化されたパケットが満足できるほど復号されるまで繰り返し続行する。
上記復号スキームは、ハードウエア復号器1台で行うのが普通である。ハードウエア復号器は、内部符号(inner codes)と外部符号(outer codes)を交互に復号する。しかしながら、非常に高速な復号処理を要し、かつ内部符号と外部符号が大きく異なる場合は、計算上の負担が従来形式の復号器1台の能力を通常超える。従って、一方のプロセッサを内部符号処理に、他方のプロセッサを外部符号処理に用いる、2個のプロセッサを含む復号器を1台使うことが提案されている。しかし、このようにすると、各プロセッサは他方のプロセッサが結果を出すまで待つので、復号器全体の処理時間の半分の期間、アイドル状態となってしまう。
【0003】
本発明の目的のひとつは、二つ以上の異なる畳み込み符号化スキームで得た符号を高速反復復号する方法と装置とを提供することである。
本発明の目的の他のひとつは、畳み込み符号を効率良く反復復号する装置を提供することである。
本発明の目的の別のひとつは、信頼性のあるパケット復号を達成するには、反復を何回すべきかを決定する効率良い方法を提供することである。
本発明の実施例において、多重符号の並行あるいは連続符号化スキームで各符号の復号に割り当てた復号時間を実質的に等しくする。プロセッサを2個含む1台の復号器が、連続するデータのパケットを2個受けて、これらを同時に復号する。あるパケットが第1プロセッサで復号されている間に、第2プロセッサは他のパケットを復号する。プロセッサ双方が反復を1回終了すると、ふたつのパケットはプロセッサ間で交換され、次の反復が行われる。これにより、プロセッサ双方は実質的に常に使用状態にある。その結果、符号は同程度のハードウエア規模の従来スキームの2倍速で復号可能である。両プロセッサは、いずれの入力パケットに対しても少なくとも50%の各作動時間で同時に作動することが好ましい。
本発明の幾つかの実施例において、パケット2個が互いに独立して復号され、パケットの復号は独立して終了する。第1のパケットの復号が終了すると、第2のパケットの復号が終了したか否かに関係なく、新たなパケットが一方の復号器に入る。
本発明の幾つかの実施例において、多重符号処理は内部符号化スキームと外部符号化スキームとを含む。好ましくは、内部符号と外部符号両方の反復による復号時間がおおむね等しくなるように内部符号化スキームと外部符号化スキームとを選択する。この代わりに、又はこれに加えて、反復を終えた一方のプロセッサが、他方のプロセッサが処理を終えるのを待ち、パケットを復号器間で交換してもよい。また、内部符号化スキームと外部符号化スキームが互いに異なり、同じプロセッサで簡単に復号できないことが好ましい。
本発明の別の観点によれば、各パケットの復号中に反復処理を停止することをどの時点で実施すべきかを簡単な方法で判定する。処理終了の判定検査は、実質的な各反復後に実施するのが好ましい。判定検査には、パケット内のいずれのビットに関する最小絶対確率値(minimal absolute probanility value)を決定することが含まれる。この最小絶対確率値が所定のしきい値を超え、ビット全てが値「1」または「0」に割り当てられていることを比較的高い確率で示す時は、反復処理を終了させる。
この代わりに、又はこれに加えて、各パケットを、CRC領域を付加して送信する。各復号反復後に、反復により出力されるデータから計算したCRC値がCRC領域と適合するか否かを終了検査処理が検査する。好ましくは、この検査処理では、最小確率値が前記しきい値を超える場合にのみCRC領域を検査する。CRC領域に記録の値が抽出したデータと適合すれば、反復を終了させる。
本発明のいくつかの実施例において、復号したデータが不正確であっても見かけ上「正しい」結果を返すCRC検査の確率を下げるために反復を最初に最小回数実施した後でのみ、前記検査処理を初めて行う。好ましくは、反復の実施最小回数は4と8との間である。反復回数は、殆どのパケットに関して前記しきい値を超える最小確率値を与えない反復数であるように選択する。さらに、反復処理を、他の条件に無関係に、最大回数行った後に終了することが好ましい。この反復の最大回数が20と30の間であることが好ましい。
本発明のいくつかの他の実施例において、前記最小絶対確率値を、平均確率値や、中間確率値、または反復復号処理の進行を示す他のいかなる値に置き換えてもよい。例えば、パケットエラー率よりは、ビットエラー(BER)評価を最小にした方が望ましい場合には、最小絶対値を2番目に小さい値、即ち一つか二つの例外を無視した後の最小値と取り替えるのが好ましい。
本発明の実施例の一つによれば、多重成分符号化スキームにより符号化された信号パケットのシーケンスを反復復号する装置が提供される。この装置は複数個の復号器を含む。各復号器は信号パケット一つに対し異なる復号方法を施し、これにより複数の復号器が実質的に同時に作動する。
前記複数個の復号器は、それぞれ異なるパケットに関して同時に作動することが好ましい。
装置が該シーケンスを復号する作動時間の少なくとも50%の期間に前記複数個の復号器が同時に作動するのが好ましい。
さらに、前記複数個の復号器が、装置の動作時間全てにわたり同時に作動することが好ましい。
前記復号器の各々が、殆どの反復時に複数の復号器の他の一つの復号器により処理されたパケットを入力として受け取ることが好ましい。
前記複数個の復号器は、二つの復号器であることが好ましい。
前記装置は、前記復号器が復号した後、パケットを出力する複数個のメモリ部を含むことが好ましい。
前記パケットを、復号した後に、インターリーブ処理又はデインターリーブすることが好ましい。
前記複数個の復号器は、各々他の復号器の復号時間とおおむね等しい復号時間を必要であることが好ましい。
前記多重成分符号化スキームは、並行符号化スキームを含むことが好ましい。
または、前記多重成分符号化スキームは、連続符号化スキームを含むことが好ましい。
前記複数個の復号器は、APP復号器を含むことが好ましい。
本発明の他の一つの実施例によれば、内部及び外部符号を含む多重成分符号化スキームに従って符号化された、データパケットのシーケンスを復号する方法であって、第1の復号器中の第1のパケットを復号する、それは第1の復号された出力パケットを形成するために内部符号を復号する、第2の復号器中の第1の復号された出力パケットを復号する、それは第1の復号器中の第2のパケットを実質的に同時に復号する間に外部符号を復号する、を含む方法が提供される。
前記方法は、第1パケットを第2復号器から第1復号器へ出力し、内部符号を繰り返し復号することを含むことが好ましい。
前記方法は、第1パケットと第2パケットを、第1復号器と第2復号器内で交互に繰り返し復号することが好ましい。
前記方法は、第1出力パケットを第2復号器内で復号する前に、同出力パケットのデインターリーブ処理を含むことが好ましい。
前記多重成分符号化スキームに連続符号化スキームが含まれることが好ましい。
本発明の実施例の他の一つによれば、各ビットが確率値で示されるソフトデータパケットを反復復号するシステムにおいて、複数の反復のうち、どの処理の後に復号処理を停止すべきかを決定する方法が提供される。この方法は、パケット中のビットの確率値を決定すること、及び確率値が所定値を超える場合のみ復号の停止を決定することを含む。
前記確率値の決定は、前記パケット中のビットのハードデータ値の最小確率の決定を含むことが好ましい。
前記最小確率値の決定は、最小絶対ログ確率値(minimal absolute log probability value)の決定を含むことが好ましい。
前記方法は、パケット中のエラー検出領域が正しいことを確認することを備え、及び終了することの決定はエラー検出領域が正しい場合にのみ、終了することの決定を有することが好ましい。
エラー検出領域が正しい旨の検証は、前記確率値が所定値を超えた時に実行されることが好ましい。
確率値の決定は、復号反復がパケットに対し所定回数実施されて初めて行われることが好ましい。
確率値の決定は、パケット内のビットの復号済みコピーの確率値を決定することを含まれるのが好ましい。
この代わりに、又はこれに加えて、確率値の決定は、パケット内のビットの符号化済みコピーの確率値を決定することを含まれるのが好ましい。
さらに、本発明の実施例の他の一つによれば、各ビットに対する確率値を含む符号化済みパケットを反復復号する装置が提供される。この装置は、パケットを復号処理する反復を行う復号器と、パケット内のビットの確率値に応答する復号器により付加的反復を実行すべきか否かを判定する制御ユニットとを含む。
前記制御ユニットが、前記復号器にパケットを検査することなく反復を所定回数実行させることが好ましい。
前記確率値が所定条件を満たしている場合、パケット内のエラー検出領域に応答する復号器により付加的反復を実施するべきか否かを前記制御ユニットが決定することが好ましい。
エラー検出領域が正しい場合、復号器による付加的な反復を制御ユニットが開始しないことが好ましい。
前記復号器に、APP復号器が含まれることが好ましい。
前記制御ユニットが、パケット内のビットのハードデータ値の最小確率を算出し、この最小率に応じて付加的反復を実施すべきか否かを決定することが好ましい。
さらに、前記制御ユニットが、最小絶対ログ確率値を算出することが好ましい。
前記制御ユニットが、パケットの復号済みあるいは符号化済みコピーの確率値に基づいて前記最小確率を算出することが好ましい。
本発明の一の観点によれば、反復復号器においてパケットに対し実施中の反復復号処理を終了する方法が効果的に提供される。この方法は、復号反復の数が予め定めた最大反復数に等しいか、否かを決定する;反復復号器の入力に結合されたパケット記憶要素が、パケット記憶要素の記憶容量のあらかじめ定めた割合内であるか、否かを決定する;復号反復の数が予め定められた最小反復数に等しいか、否かを決定する;エラー検出測定が、少なくとも一つの先行パケットに関して満足されていたか、否かを決定する;(1)復号反復の数が予め定めた最大反復数に等しい場合、或いは(2)該パケット記憶要素が該パケット記憶要素の記憶容量の予め定められた割合内である場合、或いは(3)復号反復の数が予め定めた最小反復数に等しく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されていた場合、該パケットに対する反復復号処理を終了する工程を具備する。
本発明の別の観点によれば、反復復号器が効果的に提供される。この反復復号器は、パケット上で反復復号処理を実行するための第1及び第2の復号手段;該第1及び第2の復号手段に結合されたパケット記憶手段;復号反復数が予め定めた最大反復数に等しいか、否かを決定するための手段;パケット記憶手段が、パケット記憶手段の記憶容量の予め定めた割合内であるか、否かを決定するための手段;復号反復の数が予め定めた最小反復数に等しいか否かを決定するための手段;エラー検出測定が少なくとも一つの先行パケットに関して満足されていたか否かを決定するための手段;及び(1)復号反復の数が予め定めた最大反復数に等しい場合、又は(2)パケット記憶手段がパケット記憶手段の記憶容量の予め定められた割合内である場合、又は(3)復号反復の数が予め定められた最小反復数に等しい場合、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されている場合、該パケットに対する反復復号処理を終了するための手段とを具備する。
本発明の別の観点によれば、反復復号器が効果的に提供される。この反復復号器は、第1及び第2の復号器;第1及び第2の復号器に結合され、及び第2の復号器により復号されたパケット内でビットをインターリーブするため及び第1の復号器にインターリーブされたパケットを供するように構成されたインターリーバ;第1及び第2の復号器に結合され、及び第1の復号器により復号されたパケット内でビットをデインターリーブするために及びデインターリーブされたパケットを第2の復号器に供するように構成されたデインターリーバー;第2の復号器に結合されたエラー検出モジュール;第1の復号器に結合された入力パケットバッフア;第1及び第2の復号器、インターリーバー、デインターリーバー、エラー検出モジュール、及び入力パケットバッフアに結合された制御ユニット、該制御ユニットは、(1)復号反復数が予め定めた最大反復数に等しい場合、又は(2)エラー検出モジュールが二つの先行パケットに関して満足するエラー検出測定を形成する場合、又は(3)入力パケットバッフアが入力パケットバッフアの記憶容量の予め定めた割合内である場合、パケット上で実行されている反復復号処理を終了するように構成されている、を具備する。
【0004】
本発明の別の側面によれば、反復復号プロセスを終了させる方法が有利な形態で提供される。この方法は、復号反復数が予め定めた最大反復数に等しいか否かを決定する;反復復号器の入力に結合されたパケット記憶要素が、パケット記憶要素の記憶容量の予め定めた割合内であるか否かを決定する;復号反復数が予め定めた最小反復数に等しいか、より大きいか否かを決定する;エラー検出測定が少なくとも一つの先行パケットに関して満足していたか否かを決定する;(1)復号反復数が予め定めた最大反復数に等しい場合、又は(2)復号反復数が予め定めた最小反復数に等しいか、より大きい場合、及びパケット記憶要素がパケット記憶要素の記憶容量の予め定めた割合内である場合、又は(3)復号反復数が予め定めた最小反復数に等しいか、より大きく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されていた場合、該パケットに対する反復復号処理を終了する、工程を具備する。
【0005】
本発明の別の側面によれば、以下の構成要素を具備した反復復号器が有利な形態で提供される。すなわち、パケット上で反復復号処理を実行するための第1及び第2の復号手段と、これら第1、第2の復号手段に結合されたパケット記憶手段と、復号反復の回数が所定の最大反復数と等しいかどうかを決定するための手段と、前記パケット記憶手段がその記憶容量の所定割合内であるかどうかを決定するための手段と、復号反復の回数が所定の最小反復数以上であるかを決定するための手段と、少なくとも先行の一つのパケットに対しエラー検出測定を満足したかどうかを決定するための手段と、(1)復号反復の回数が所定の最大反復数と等しい場合、又は(2)復号反復の回数が所定の最小反復数以上でありかつパケット記憶手段がその記憶容量の所定の割合内である場合、又は(3)復号反復の回数が所定の最小反復数以上でありかつ少なくとも一つの先行のパケットに対しエラー検出測定を満足した場合にパケットに対する反復復号処理を終了するための手段とを有する。
【0006】
本発明は、以下に示す好適な実施例の詳細な説明と図面を参照することで十分に理解されるであろう。図面において、
【発明の実施の形態】
第1図は、本発明の実施例による復号プロセッサ50を示すブロック図である。プロセッサ50は、アナログ信号を受信するディジタル受信機の一部であることが望ましい。受信した信号はデジタル化して、周知のように、対数スケールで確率値を示す{−32、31}の範囲のスケールに変換しておくことが望ましい。スケールは別の範囲のスケールであってもよく、および、または対数スケールである必要もない。復号プロセッサ50は、周知のように、デジタル化信号を図示しない復調器もしくはチャンネル・デインターリーバ(channel de-interleaver)から受信するのが望ましい。受信したディジタル信号は送信前に、外部符号化スキーム、インターリーブ、内部符号化スキームを連続して含むことが望ましい、多重符号化スキームにより暗号化された。この方法に代えてもしくはそれに加えて、多重符号スキームがターボ符号スキームや任意の他の適当な反復スキームを含んでもいい。
【0007】
プロセッサ50に入力されるデジタル化データは、並列に接続された2つのバッファ62、64内に蓄積される。バッファ62は最初のデータパケットを受信し、バッファ64は次のパケットを受信する。内部符号を復号する内部復号器68が、スイッチ66を介しバッファ62とバッファ64とに交互に接続される。復号器68は、最大経験的MAP(Maximum A Posteriori) 復号器とも称される、経験的確率APP(A Posteriori Probability) 復号器であることが望ましい。このような復号器は公知であり、例えば、Steven S. Pietrobonによる「ターボ/マップ復号器の実行と動作」、衛星通信インターナショナルジャーナル第16巻、1998年、23−46ページに記載されている。この記載は、米国出願第09/186,753号(出願日:1998年11月5日出願;タイトル「Efficient Trellis State Metric Normalization」)の場合と同様、本出願に組み込まれるものとする。この米国出願は、譲受人が本願と同じであり、この米国出願も本願に組み込まれるものとする。復号器68は、SOVA復号器を含む他の公知の復号器を具備してもよい。
【0008】
2つのデュアルポートメモリ、望ましくはRAM52、54が2つのスイッチ58,58を介して交互に内部復号器68に接続される。好ましい形態は、スイッチ56が復号器68からの復号出力をRAM52,54の一方に供給し、その一方でスイッチ58がその同じRAMから復号器68への入力を供給する。好ましい形態としては、復号器68からの出力は、RAM52あるいは54に入力されたときもしくは出力されたときに、デインターリーバ(de-interleaver)72によりデインターリーブする。同様に、スイッチ58を介しての復号器68への入力はRAM52,54と関連付けられたインターリーバ(interleavers)74によりインターリーブすることが好ましい。
【0009】
外部APP(又はMAP)復号器70がスイッチ76を介して交互にRAM52、54に接続される。この復号器は外部符号を復号するため、復号対象の符号は復号器68と異なるがこの復号器と同様の構成を持つことが望ましい。好ましい形態としては、復号器70は2つの出力線を有している。すなわち、更なる処理のために符号化された信号に関わる確率情報を出力する第1の出力線90と、復号されたデータ信号に関わる確率情報を出力する第2の出力線92である。スイッチ78が出力線90に接続されている。このスイッチにより、復号器70からの出力をRAM52、54のインターリーバ74に交互に供給することが望ましい。プロセッサ50内で十分な回数だけ反復した後、出力線92上の復号器70からの出力は、ソフトデータをハードデータに変換する決定ユニット80に伝えられることが望ましい。好ましい形態としては、ハードデータはCRC検査ユニット83に伝えられ、このユニットにより復号パケットのCRCが決定検査される。
【0010】
好ましい形態としては、復号器68は復号したデータをエクストリンシック情報(extrinsic information)として出力する。すなわち、スイッチ58からの入力データのLLR確率と計算処理を施し信頼性を向上させたLLR確率との差として出力する。この出力方法は公知であり、例えば、上記したHagenauer et al.による刊行物に記載されている。一方、上記したように、復号器70は2つの出力線90,92を有するのが望ましく、これらの出力線の1つ(線92が望ましい)によりエクストリンシック情報(extrinsic information)は復号器68へフィードバックされ、もう1つの出力線(線90が望ましい)によりアプリオリ(a priori)確率情報、すなわち計算処理を施したLLR確率が決定ユニット80に供給される。
【0011】
復号されたハードデータは、望ましくは、復号ユニット50からスイッチ86を介して出力され、2つの分離線82、84上に送出される。分離線のどちらに送出されるかは、元のパケットがバッファ62、64のどちらに保存されていたかに依存する。復号器68、70の動作、スイッチの状態、及びプロセッサの他の動作は制御ユニット88により制御するのが好ましい。
【0012】
動作中に、2つの連続したデータパケットはバッファ62、64にそれぞれ入力される。スイッチ66、56は上の位置(図1を参照)に設定してあり、復号器68は、バッファ62内のパケットに対し最初の内部復号反復の第1サイクルを行う。この最初の内部復号反復において、復号器68はバッファ62より入力パケットを受け取り、RAM52内に出力パケットを発生する。この出力パケットは、望ましくは、RAM52内においてデインターリーバ(de-interleaver)72によりデインターリーブし、パケットが復号器70に入力されうるようにしておく。スイッチ58の状態は復号器68の動作に影響を与えるものではなく重要でなく、切り離した状態にしておかれる。
【0013】
その後、スイッチ56、66を下の位置にし、スイッチ76、78を上の位置にする。この時点で、制御ユニット88は両復号器68、70の動作を開始する。復号器68はバッファ64内のパケットに対し最初の内部復号反復を行い、RAM54内に出力パケットを生成する。この出力パケットは、RAM54へ供給される過程でデインターリーバ(de-interleaver)72によりデインターリーブし、プロセッサの次のサイクル中に復号器70の供給できるようにしておくことが望ましい。この方法に代えてもしくはそれに加えて、デインターリーバ(de-interleaver)72はRAM54から出力されるパケットをデインターリーブする。同時に、復号器70はRAM52内部のパケットに対し最初の外部復号反復を行う。復号器72はRAM52内部のデインターリーブされたパケットに基づき動作し、RAM52内に出力パケットを生成して戻す。この出力パケットは、RAM52に関連付けられたインターリーバ(interleaver)74によりインターリーブされ復号器68で再度用いることができるようにする。
【0014】
第3の動作サイクルでは、第1のサイクルと同様、スイッチ56、58、66を上の位置にし、スイッチ76,78を下の位置にする。復号器68はバッファ62とRAM52からの入力を受信し、バッファ62内のパケットに対し2回目の内部復号反復を行う。出力パケットは、1回目の内部復号反復の時と同様、RAM52へ受け渡される。同時に、復号器70はバッファ64からのパケットに対し1回目の外部復号反復を行う。出力はRAM54にもどされ、ユニット74によりインターリーブされ復号器68で用いることができるようにする。その後、スイッチ56、58、66、76、78の状態を変え、復号器68はバッファ64内のパケットに対し動作し復号器70はバッファ62からのパケットに対して動作する。このように、復号器68,70はバッファ62、64内のパケットに対して交換可能状態で復号反復を行う。復号器68と復号器70は同時に動作する。従って、プロセッサとしてのハードウェアの使用量は同じであるが、復号スピードは2倍になる。
【0015】
制御ユニット88は、パケットの復号をいつ終了するかを決定する。この決定にあたっては、下記に示す方法に基づくのが望ましい。復号器70からの出力はスイッチ78を介し決定ユニット80に送られ、このユニットによりパケット中のソフトデータの符号からハードデータ("0"と"1")を導出する。導出の方法は、上記した方法や当該技術で通常行われている方法と同様である。ハードデータはCRC検査ユニット83に受け渡され、このユニットによりCRCが決定されハードデータは制御ユニット88に供給される。CRCと他の情報に基づいて、制御ユニット88は以下に記載する更なる復号反復を実行するかを決定する。
【0016】
選択的には、或いは付加的には、所定回数の復号反復(decoding iteration)の後、各パケットの復号は終了する。スイッチ86は、パケットが2本のライン82及び84のどちらで出力されても、設定される。好ましくは、スイッチ78は切られる。復号器70の出力は決定ユニット80に入力され、さらにライン82又は84を介し出力される。ほぼ同時に、新たなデータパケットがバッファ62又は64にロードされる。これらのバッファには、復号されたばかりのパケットが、すでに記憶されている。復号過程は更に続行される。好ましくは、新たなパケットは連続的に各バッファ62,64に入力され、互いに独立的に復号器68により処理される。選択的には、2個の新たなパケットが密に連続するサイクルで復号処理に入るように、バッファ62,64は、新たなパケットで各々に交互に、しかも密に連続して充填される。
【0017】
図2は本発明の一実施例による反復復号方法を示すフローチャートである。この反復復号方法は制御ユニット88の監視のもとで復号器70により行われる。好ましくは、新たなパケットがプロセッサ50に入る毎に、すでになされた復号反復の回数のカウンタはゼロに設定される。パケットの外部復号反復(outer decoding iteration)が行われる毎に、カウンタは増加される。カウンタが所定の最小反復回数(TR)に達するまで、パケットは自動的に、更なる復号反復のために、復号器70から復号器68に戻される。好ましくは、上記所定回数(TR)は、出力に適した十分な復号性を達成することのできる、最小反復回数に設定される。更に好ましくは、上記所定回数(TR)は4と8の間である。
【0018】
所定回数の初期反復が行われた後、復号器70及び/又は制御ユニット88は、パケット中のビットのLLR確率値(LLR probability value)Lの最小絶対値、min(|L|)、を決定する。上記最小絶対値は、パケット中のすべてのビットにおける、ゼロに最も近いLLR確率値である。(先に述べたように、ビット確率は、ログ領域(log domain)において、−32から31のスケールで測定されるものであり、そのスケールの極値は一またはゼロの高確率に各々対応する。)最小LLR確率は、LLR確率が正しいハードビット値を表しているという確実性(confidence)のレベルを表現するものである。故に、もし最小LLR確率値が所定の絶対的確率しきい値を越えていなければ、復号処理は続行される。しかし、もし最小LLR確率値が上記所定しきい値を越えていれば、パケットのCRCが、好ましくは、確認(verify)される。もしCRCが正しければ、パケットの復号は終了される。
【0019】
好ましくは、最小絶対値は出力ライン90上の復号データLLR確率から計算される。選択的には、或いは付加的には、最小絶対値は符号化データLLRアプリオリ(a priori)確率から計算され、その確率は、先に述べたように、又当該技術分野において公知の如く、ライン92上のエクストリンシック(extrinsic)情報に対応する。
【0020】
選択的には、復号器70は最小確率値又はCRC符号を検査するものであり、それら両者を検査するものではない。更に選択的には、確率値を極値に収斂する進度を表すいかなる他の測定も、上記最小値に代わって用いられる。例えば、ビットの確率値の平均値又は中間値が異なる各しきい値と比較される。しかしながら、注意すべきことは、最小値の使用は簡単であり、一般的に計算時間も少なくてすむということである。本発明の実施例においては、最初に最小値を計算し次にしきい値と比較する代わりに、各確率が最小値と順に比較される。もししきい値よりも低い確率をもつビットが見つかれば、検査は終了され、次の反復が実行される。
【0021】
更に選択的には、あるいは付加的には、最小確率は外れ値(outliers)を無視すべく調整される。好ましくは、最小値より低い所定数の確率値が無視される。
【0022】
更に選択的には、あるいは付加的には、最小又は平均確率はパケット中のビットのサブセットに基づき、好ましくは、ランダムサブセットに基づき、計算される。
【0023】
注意すべきは、反復復号をいつ終了すべきかを決定する上記方法は、復号プロセッサ50のみの使用に限定されないということである。上記方法は、ターボ符号復号器やターボ型復号器が含まれるいかなる反復復号器においても適用可能である。
【0024】
更に注意すべきは、上記説明はログ領域におけるLLR確率を用いた復号方法に関するものであるが、本発明の方法は、他の確率の表現(representations)を用いても適用可能である。特に、本発明の方法は、確率を標準範囲(normal range)、即ち0と1の間において表現する、DSP浮動小数点演算復号器(DSP floating-point-arithmetic decoder)のような復号器を用いても適用可能である。そのような復号器においては、最小確率の選択方法は、最小値が確率によって表現されるハードデータ決定(0又は1)との関連で選択されるように調整される。
【0025】
本発明の他の実施例においては、反復復号システム100は、図3に示すように、フレームバッファ102,内部復号器(inner decoder)104,インターリーバ106,デインターリーバ108,外部復号器(outer decoder)110,決定ユニット112,CRC検査ユニット114,及び制御ユニット116を含む。インターリーバ106とデインターリーバ108は、好ましくは、RAMメモリで実現される。システム100は、好ましくは、アナログ信号を受けるデジタル受信器の一部である。受信信号はデジタル化され、好ましくは、当該技術分野において知られているように、確率値をログスケールで表現する、{−32,31}の範囲のスケールに変換される。選択的には、そのスケールは他のいかなる範囲でもよいし、かつ/又は非ログスケールでもよい。
【0026】
好ましくは、反復復号システム100は、当該技術分野において知られているように、復調器又はチャンネル・デインターリーバ(図示せず)からデジタル信号を受信する。受信デジタル信号は、多重符号スキームに従って送信される前に符号化された。。該多重符号スキームは、好ましくは、順に外部符号化スキーム、インターリーブ、内部符号化スキームを含む。選択的には、或いは付加的には、該多重符号スキームはターボ符号スキーム又はいかなる他の適切な反復スキームを含む。
【0027】
システム100に入力されるデジタルデータは、データをパケットで受けるフレームバッファ102に蓄積される。フレームバッファ102は、好ましくは、FIFOで実現される。フレームバッファ102は、参照符号FAST DECODEで示され下記で説明される、ハードウェア制御信号を制御ユニット116へ供給すべく構成される。内部符号を復号する内部復号器104はフレームバッファ102に接続される。復号器104は、好ましくは、公知のAPP復号器(又はMAP復号器)である。更に選択的には、内部復号器104は、SOVA復号器等を含む他の公知の復号器を備えているものでもよい。
【0028】
内部復号器104はデインターリーバ108に接続される。復号データ信号は内部復号器104から出力され、デインターリーバ108によりデインターリーヴされる。デインターリーバ108は外部復号器110に接続される。
【0029】
外部APP(またはMAP)復号器110は、好ましくは、構造的に内部復号器104に類似するものであるが、前者は異なる符号(即ち外部符号)の復号に向けられている。この外部APP(MAP)復号器110はインターリーバ106に接続されている。インターリーバ106は、好ましくは、擬似ランダムインターリーバあるが、選択的には、ブロックインターリーバ又は畳み込み(convolutional)インターリーバでもよい。好ましくは、外部復号器110は2本の出力ライン、即ち、インターリーバ106に接続され、更なる処理のために符号信号についての確率情報を提供する第一の出力ラインと、決定ユニット112に接続され、復号されたデータ信号についての確率情報を提供する第二の出力ラインとを含む。所望回数の反復が復号システム100において実行された後、第二の出力ライン上の外部復号器110からの出力が、好ましくは、ソフトデータをハードデータに変換する決定ユニット112に入力される。好ましくは、ハードデータはCRC検査ユニット114に送られ、そこで復号パケットのCRCが測定され検査される。
【0030】
好ましくは、内部復号器104は、公知のように、そして、例えば、ハーゲンナウアー他による上記刊行物に定義されているように、復号データをエクストリンシック情報として、すなわち、その入力のLLR確率とその算出された改善LLR確率との差として出力する。。他方において、外部復号器110は、好ましくは、上述したように、上記二本の出力ラインを持ち、その一方はエクストリンシック情報を内部復号器104へのフィードバックとして伝達し、又他方はアプリオリ確率情報、即ち算出されたLLR確率を決定ユニット112に伝達するものである。
【0031】
復号ハードデータは、好ましくは、復号システム100から制御ユニット116の制御のもとで出力される。制御ユニット116は、又、反復復号システム100の他の動作を制御する。制御ユニット100は、好ましくは、マイクロプロセッサである。選択的には、制御ユニット116はいかなる従来のプロセッサ、コントローラ、マイクロコントローラ、あるいはステートマシーン(state machine)によっても実現される。
【0032】
二つの復号器104,110が一つのパケットを復号すると、復号システム100は一回の反復を完了する。制御ユニット116は、いつパケットの復号を終了すべきかを、好ましくは、以下に述べる方法ステップに従って決定する。外部復号器110からの出力は決定ユニット112に与えられる。決定ユニット112は、上記の如く又は公知のように、パケット中のソフトデータの符号(sign)からハードデータ(0又は1)を導出する。ハードデータはCRC検査ユニット114に送られ、そこで公知の方法によりCRCを決定し該CRCを制御ユニット116に供給する。CRCと他の情報に基づき、制御ユニット116は、更に以下に述べる如く、次の復号反復を実行すべきか決定する。
【0033】
選択的には、或いは付加的には、所定回数の復号反復の後、各パケットの復号が終了する。内部復号器110からの出力は決定ユニット112に送られ、そこから復号システム100の外部へ出力される。ほぼ同時に、新たなデータパケットがフレームバッファ102(ここには復号されたばかりのパケットがすでに記憶されている)に入力され、復号処理が続行される。
【0034】
一実施例に従い、反復復号システム100は、制御ユニット116の監視のもとで、図4のフローチャートに示すアルゴリズム工程を実行し、データパケットの反復的復号プロセスを停止する。ステップ200において、新たなパケットがシステムに入る毎に、すでになされた復号反復の回数のカウンタ(図示せず)はゼロに設定される。現在の反復の数は、ITER NUMで示される。システムはステップ202に移行し、復号反復を開始する。システムはステップ204に移行し、現在の反復の数ITER NUMを増加する。パケットの外部復号反復が行われる毎に、カウンターは増加される。カウンターが所定の最小反復数MIN ITER NUMに達するまで、パケットは、更なる復号反復のために外部復号器から内部復号器に自動的に戻される。好ましくは、所定の最小反復数MIN ITER NUMは、出力に適した十分な復号性を達成することができる、最小反復の回数に設定される。更に好ましくは、上記所定最小反復数MIN ITER NUMは4と8の間である。一実施例においては、所定最小反復数MIN ITER NUMは4ビットフレームパラメータである。現在の反復の数ITER NUMが増加された後、システムはステップ206に移行する。
【0035】
ステップ206において、システムは、現在の反復数(iteration number)、ITER NUMが所定の反復最大数、MAX ITER NUMに等しいかどうかを決定する。有利には、所定の反復最大数、MAX ITER NUM、は12と16の間である。一つの実施例において、所定の反復最大数、MAX ITER NUMは、4―ビットフレームパラメータである。現在の反復数、ITER NUMが、所定の反復最大数、MAX ITER NUMに等しい場合、システムはステップ208に進む。ステップ208において、システムはデータパケット上で復号反復(decoding iterations)する行為を停止する。一方、現在の反復数、ITER NUMが所定の最大反復数、MAX ITER NUMに等しく無い場合、システムはステップ210に進む。
【0036】
ステップ210において、システムは、現在の反復数、ITER NUMが所定の最小反復数、MIN ITER NUMに等しいか、より大きいかを決定する。現在の反復数、ITER NUMが所定の最小反復数、MIN ITER NUMに等しいか、より大きい場合、システムはステップ212に進む。一方、現在の反復数、ITER NUMが所定の最小反復数、MINITER NUMに等しくないか、より大きくない場合、システムはステップ202に戻り、他の反復復号を実行する。
【0037】
工程212において、システムは、条件フラッグを示すCRC CHECK MODE OKが1にひとしいか否か(すなわち、フラッグが設定されているか否か)を決定する。有利には制御ユニットの復号モードレジスター(図示せず)中のフラッグである、条件フラッグCRC CHECK MODE OKフラッグは、制御ユニットにより書き込まれることが有利である。一つの実施例において、1の値を有するCRC CHECK MODE OKフラッグは、先行の2つの反復が良い巡回冗長検査(CRC)の結果になったことを示している。CRCは関連技術において良く知られているエラー検出方法である。他の実施例において、1の値を有するCRC CHECK MODE OKフラッグは、前2つの反復に関するCRCビットが同一であったことを示している。他の実施例において、1の値を有するCRC CHECK MODE OKフラッグは、先行の2つの反復に関するCRCビットが同一であり、先行の二つの反復が良いCRCの結果になったことを示している。他の実施例において、1の値を有するCRC CHECK MODE OKフラッグは、先行の反復に関するCRCビットが良かったこと、及び全パケットが先行の反復で復号されたパケットに同一であることを示している。他の実施例において、CONVERGE DETECTEDフラッグが、CRC CHECK MODE OKフラッグの代わりに使用されることができる。1の値を有するCONVERGE DETECTEDフラッグは、全パケットが先行の反復で復号されたパケットに同一であることを示す。これは、例えば、復号が誤った解に集束した時に有利であり、復号する試みを継続する必要がない(すなわち、このモードにはCRCは無い)。他の実施例において、1の値を有するCRC CHECK MODE OKフラッグは、他の既知のエラー検出測定が先行の2つのデータパケットに関して満足された(satisfied)かどうかを示している。
【0038】
ステップ212において、CRC CHECK MODE OKフラッグが1に等しい場合、システムはステップ208に進み、データパケットに関する反復処理を終了する。一方、CRC CHECK MODE OKフラッグが1に等しくない(すなわち、フラッグがゼロに等しい、或いはクリアされている) 場合、システムはステップ214に進む。
【0039】
ステップ214において、システムは、ハードウエア制御信号を示すFAST DECODEが1に等しいか否かを決定する。FAST DECODEハードウエア制御信号は有利にはマルチ―ユーザー復号システムで使用されることができ、そこでは信号は復調器(図示せず)により送られ、復号システムをスピードアップする。FAST DECODEハードウエア制御信号は、有利には外部FIFOにより形成され、最小反復数、MIN ITER NUMが実行された後、できるだけ早くパケットを復号することを終了することを復号システムに伝える。代わって、FAST DECODEハードウエア制御信号は、入力フレームバッフアのFIFOにより復号システムへ駆動されることができる。閾値は、FIFOが閾値以下のレベルにパケットで満たされる場合、復号システムが最大反復数,MAX ITER NUMを稼動(run)できるように、FIFOに設定される。FIFOがいっぱい(full)に近い場合(すなわち、閾値に到達或いは越える場合)、復号システムは最小反復数、MIN ITER NUMだけ稼動する。このように、FIFOが、FIFOの記憶容量の予め定めた割合内である場合、FAST DECODEハードウエア制御信号が駆動される。閾値レベルは、このように有利的にはFIFOに設定され、該事象(event)でFAST DECODEハードウエア制御信号を駆動し、復号システムは、それが入力フレームバッフアで待機している全てのパケットを取り扱うことができないことを理解する。
【0040】
ステップ214において、FAST DECODEハードウエア制御信号が1に等しい場合、システムはステップ208に進み、データパケットのための反復処理を停止する。一方、FAST DECODEハードウエア制御信号が1に等しくない場合(すなわち、それがゼロに等しい場合)、システムはステップ202に戻り、他の復号反復を実行する。
【0041】
当業者には、図4の方法ステップが、例えば、ターボ(Turbo)復号器、或いはターボ型復号器を含むいずれの反復復号器(iterative decoder)により実行され得ることが理解される。ターボ復号原理はイコライザーと復号器の間、或いは復調器と復号器の間での反復のために使用されることができることがよく知られている。それ故に、当業者には、図4の方法ステップがターボ イコライゼーション(復号器を含む)で実行され得ることが、また理解される。
【0042】
他の実施例に従って、図3の反復復号システム100は、制御ユニット116の監視の下で、図5のフローチャートに示されたアルゴリズム・ステップを実行し、データパケットを反復的に復号する処理を停止する。ステップ300において、実行される復号反復の数のカウンター(図示せず)は、システムに入る各新しいパケットに関してゼロに設定される。現在の反復数は、ITER NUMと表示される。それから、システムはステップ302に進み、復号反復を開始する。それから、システムはステップ304に進み、現在の反復数、ITER NUMを増加する。パケットの各外部(each outer)復号反復に関して、カウンターは増加される。カウンターが予め定められた最小反復数、MIN ITER NUMに達するまで、パケットは外部復号器から他の反復復号のための内部復号器に自動的にバックされる(passed back)。有利的には、予め定められた最小反復数、MIN ITER NUMは、出力に関して適した十分の復号品質を達成し得る最小反復数に設定される。さらに有利的には、予め定められた最小反復数、MIN ITER NUMは、4と8の間である。一つの実施例において、あらかじめ定められた最小反復数、MIN ITER NUMは4ビットフレーム・パラメータである。現在の反復数、ITER NUMを増加した後、システムはステップ306に進む。
【0043】
ステップ306で、システムは、現在の反復数、ITER NUMが予め定められた最大反復数、MAX ITER NUMに等しいか否かを決定する。有利的には、予め定めた最大反復数、MAX ITER NUMは、12と16の間である。一つの実施例において、予め定めた最大反復数、MAX ITER NUMは、4ビットフレームパラメータである。現在の反復数、ITER NUMが予め定めた最大反復数、MAX ITER NUMに等しい場合、システムはステップ308に進む。ステップ308で、システムはデータパケット上で復号反復を実行することを停止する。一方、現在の反復数、ITER NUMが予め定めた最大反復数、MAX ITER NUMに等しくない場合、システムはステップ310に進む。
【0044】
ステップ310において、システムはCRC CHECK MODE OKと示された条件フラッグが1に等しいか否か(すなわち、フラッグが設定されているか否か)を決定する。有利には制御ユニットの復号モードレジスター(図示せず)中のフラッグである条件フラッグCRC CHECK MODE OKフラッグは、有利には制御ニットにより書き込まれる。一つの実施例において、1の値を有するCRC CHECK MODE OKフラッグは、先行の2つの反復が良いCRCの結果であったことを示している。他の実施例において、1の値を有するCRC CHECK MODE OKフラッグは、先行の2つの反復に関するCRCビットが同一であったことを示す。他の実施例において、1の値を有するCRC CHECK MODE OKフラッグは、先行の2つの反復に関するCRCビットが同一であり、先行の二つの反復が良いCRCの結果であったことを示す。他の実施例において、1の値を有するCRC CHECK MODE OKフラッグは、先行の反復に関するCRCビットが良かったことと、全パケットが先行の反復での復号されたパケットに同一であることを示す。他の実施例において、CONVERGE DETECTEDフラッグは、CRC CHECK MODE OKフラッグの代りに使用されることができる。1の値を有するCONVERGE DETECTEDフラッグは、全パケットが先行の反復での復号されたパケットに同一であることを示す。これは、例えば、復号器が誤った解に収束した時に有利であり、そして、復号する試みを継続する必要がない(すなわち、このモードでCRCが無い)。他の実施例においては、1の値を有するCRC CHECK MODE OKフラッグは、他の既知のエラー検出測定が先行の二つのデータパケットについて満たされているか否かを示している。
【0045】
ステップ310において、CRC CHECK MODE OKフラッグが1に等しい場合、システムはステップ308に進み、データパケットに関する反復処理を終了する。一方、CRC CHECK MODE OKフラッグが1に等しくない(すなわち、フラッグがゼロに等しいか、クリアされている) 場合、システムはステップ312に進む。
【0046】
ステップ312において、システムは、現在の反復数、ITER NUMが予め定めた最小反復数、MIN ITER NUMに等しいか否かを決定する。現在の反復数、ITER NUMが予め定めた最小反復数、MIN ITER NUMに等しい場合、システムはステップ314に進む。一方、現在の反復数、ITER NUMが予め定めた最小反復数、MIN ITER NUMに等しくない場合、システムはステップ302に戻り、他の復号反復を実行する。
【0047】
ステップ314において、システムは、FAST DECODEで示されるハードウエア制御信号が1に等しいか否かを決定する。FAST DECODEハードウエア制御信号が有利にはマルチ―ユーザー(multi-user)復号システムで使用され得る。そこでは信号は復調器(図示せず)により送られ、復号システムをスピードアップする。FAST DECODEハードウエア制御信号は、有利には外部FIFOにより形成され、最小反復数MIN ITER NUMが実行された後できるだけ早くパケットを復号することを終了するように復号システムに伝える。替わって、FAST DECODEハードウエア制御信号は、復号システムへ入力フレームバッフアのFIFOにより駆動されることができる。閾値は、FIFOが閾値以下にあるレベルにパケットで満たされる場合、復号システムが最大反復数、MAX ITER NUMを続けることができるように、FIFOに設定される。FIFOがいっぱいに(full)に近い場合(即ち、閾値が到達或いは越える場合)、復号システムはただ最小反復数、MIN ITER NUMを続ける(run)。このように、FIFOが、FIFOの記憶容量の予め定めた割合内で満たされる場合、FAST DECODEハードウエア制御信号は駆動される。閾値レベルはこのように有利にはFIFOに設定され、該事象中のFAST DECODEハードウエア制御信号を駆動し、復号システムは、それが入力フレームバッフアで待機する全てのパケットを取り扱えないことを理解する。
【0048】
ステップ314において、FAST DECODEハードウエア制御信号が1に等しい場合、システムはステップ308に進み、データパケットに関する反復処理を停止する。一方、FAST DECODEハードウエア制御信号が1に等しくない(すなわち、ゼロに等しい) 場合、システムはステップ302に戻り、他の反復復号を実行する。
【0049】
当業者には、図5の方法ステップが、例えば、ターボ復号器或いはターボ型復号器を含むいずれの反復器により実行され得ることが理解される。ターボ復号器の原理はイコライザーと復号器の間、或いは復調器と復号器との間での反復のために使用され得ることは良く知られている。このように、当業者には、図5の方法工程はターボ・イコライゼーション(復号器を含む)で実行され得ることが理解される。
【0050】
このように、新規で、効果的な、反復復号器が開示された。当業者は、ここに開示された実施例と関連して開示され、種々説明された論理ブロックとアルゴリズムステップは、デジタル信号プロセッサー(DSP)、応用用途集積回路(ASIC)、デイスクリート・ゲート或いはトランジスタ論理、ディスクリートハードウエア要素、例えばレジスターとFIFO、1組のファームウエア構造を実行するプロセッサー、或いはいずれかの従前のプログラム可能なソフトウエアモジュールとプロセッサーとともに実行され得る。プロセッサーは、有利にはマイクロプロセッサーであり得るが、替わって、プロセッサーはいずれかの従前のプロセッサー、コントローラー、マイクロコントローラー、或いはステートマシーン(state machine)であり得ることを理解する。ソフトウエアモジュールは、RAMメモリ、フラッシュメモリー、レジスター、或いはいずれの他の形態の書き込み可能な既知の記憶媒体中に存在することができる。当業者は、さらに、上記開示を通して参照され得るデータ、指示、命令、情報、信号、ビット、記号、及びチップが有利には電圧、電流、電磁波、磁場或いは粒子、光場或いは粒子、或いはいずれかのそれらの結合により表されることを評価するであろう。
【0051】
上記で開示された好ましい実施例は例として引用され、本発明の全スコープはクレームによりのみ規定される。
【図面の簡単な説明】
【図1】 本発明の一実施例による反復復号器を示すブロック図。
【図2】 本発明の一実施例において、パケットの復号を終了するかどうかを決定するために復号器が行う動作を示すフローチャート。
【図3】 本発明の別の実施例による反復復号器を示すブロック図。
【図4】 本発明の別の実施例において、パケットの復号を終了するかどうかを決定するために復号器が行う動作を示すフローチャート。
【図5】 本発明の別の実施例において、パケットの復号を終了するかどうかを決定するために復号器が行う動作を示すフローチャート。
【符号の説明】
52…RAM、54…RAM、62…バッフア、64…バッフア、80…決定ユニット、83…検査ユニット
Claims (29)
- 下記工程を具備する、反復復号器においてパケット上で実行されている反復復号プロセスを終了する方法:
復号反復の数が予め定めた最大反復数に等しいか、否かを決定する;
反復復号器の入力に結合されたパケット記憶要素が、パケット記憶要素の記憶容量のあらかじめ定めた割合内であるか、否かを決定する;
復号反復の数が予め定められた最小反復数に等しいか、否かを決定する;
エラー検出測定が、少なくとも一つの先行パケットに関して満足されていたか、否かを決定する;
(1)復号反復の数が予め定めた最大反復数に等しい場合、或いは(2)該パケット記憶要素が該パケット記憶要素の記憶容量の予め定められた割合内である場合、或いは(3)復号反復の数が予め定めた最小反復数に等しく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されていた場合、該パケットに対する反復復号処理を終了する。 - エラー検出測定が巡回冗長検査を備えている、請求項1の方法。
- 少なくとも一つの先行パケットが二つの先行パケットを有する、請求項1の方法。
- 巡回冗長検査ビットが、二つの先行パケットに関して同一である場合、エラー検出測定が満足される、請求項1の方法。
- 巡回冗長検査が、先行の復号されたパケットに関して満足している場合、及び先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満足されている、請求項1の方法。
- 先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満足されている、請求項1の方法。
- 下記を具備する反復復号器:
パケット上で反復復号処理を実行するための第1及び第2の復号手段;
該第1及び第2の復号手段に結合されたパケット記憶手段;
復号反復数が予め定めた最大反復数に等しいか、否かを決定するための手段;
パケット記憶手段が、パケット記憶手段の記憶容量の予め定めた割合内であるか、否かを決定するための手段;
復号反復の数が予め定めた最小反復数に等しいか否かを決定するための手段;
エラー検出測定が少なくとも一つの先行パケットに関して満足されていたか否かを決定するための手段;及び
(1)復号反復の数が予め定めた最大反復数に等しい場合、又は(2)パケット記憶手段がパケット記憶手段の記憶容量の予め定められた割合内である場合、又は(3)復号反復の数が予め定められた最小反復数に等しい場合、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されている場合、該パケットに対する反復復号処理を終了するための手段。 - エラー検出測定が巡回冗長検査を備えている、請求項7の反復復号器。
- 少なくとも一つの先行パケットが二つの先行パケットを有する、請求項7の反復復号器。
- 巡回冗長検査ビットが二つの先行パケットに関して同一である場合、エラー検出測定は満足されている、請求項7の反復復号器。
- 巡回冗長検査が先行の復号されたパケットに関して満足している場合、及び先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、
エラー検出測定は満足されている、請求項7の反復復号器。 - 先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満足されている、請求項7の反復復号器。
- 下記を具備する反復復号器:
第1及び第2の復号器;
第1及び第2の復号器に結合され、及び第2の復号器により復号されたパケット内でビットをインターリーブするため及び第1の復号器にインターリーブされたパケットを供するように構成されたインターリーバ;
第1及び第2の復号器に結合され、及び第1の復号器により復号されたパケット内でビットをデインターリーブするために及びデインターリーブされたパケットを第2の復号器に供するように構成されたデインターリーバー;
第2の復号器に結合されたエラー検出モジュール;
第1の復号器に結合された入力パケットバッフア;
第1及び第2の復号器、インターリーバー、デインターリーバー、エラー検出モジュール、及び入力パケットバッフアに結合された制御ユニット、該制御ユニットは、(1)復号反復数が予め定めた最大反復数に等しい場合、又は(2)エラー検出モジュールが二つの先行パケットに関して満足するエラー検出測定を形成する場合、又は(3)入力パケットバッフアが入力パケットバッフアの記憶容量の予め定めた割合内である場合、パケット上で実行されている反復復号処理を終了するように構成されている。 - エラー検出モジュールは巡回冗長検査ユニットを備えている、請求項13の反復復号器。
- 第1及び第2の復号器が最大経験的復号器を備える、請求項13の反復復号器。
- 第1及び第2の復号器がターボ復号器を備える、請求項13の反復復号器。
- 第1の復号器が内部符号を復号するように構成され、第2復号器が外部符号を復号するように構成される、請求項13の反復復号器。
- 下記工程を具備する、反復復号器でパケット上で実行されている反復復号処理を終了する方法:
復号反復数が予め定めた最大反復数に等しいか否かを決定する;
反復復号器の入力に結合されたパケット記憶要素が、パケット記憶要素の記憶容量の予め定めた割合内であるか否かを決定する;
復号反復数が予め定めた最小反復数に等しいか、より大きいか否かを決定する;
エラー検出測定が少なくとも一つの先行パケットに関して満足していたか否かを決定する;
(1)復号反復数が予め定めた最大反復数に等しい場合、又は(2)復号反復数が予め定めた最小反復数に等しいか、より大きい場合、及びパケット記憶要素がパケット記憶要素の記憶容量の予め定めた割合内である場合、又は(3)復号反復数が予め定めた最小反復数に等しいか、より大きく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足されていた場合、該パケットに対する反復復号処理を終了する。 - エラー検出測定が巡回冗長検査を備える、請求項18の方法。
- 少なくとも一つの先行パケットが二つの先行パケットを有する、請求項18の方法。
- 巡回冗長検査ビットが二つの先行パケットに関して同一である場合、エラー検出測定が満たされている、請求項18の方法。
- 巡回冗長検査が先行の復号されたパケットに関して満足している場合、及び先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定が満たされている、請求項18の方法。
- 先行の復号されたパケットが反復復号処理を受けているパケットに同一である場合、エラー検出測定が満たされている、請求項18の方法。
- 下記を具備する反復復号器:
パケット上で反復復号処理を実行するための第1及び第2の復号手段;
第1及び第2の復号手段に結合されたパケット記憶手段;
復号反復数があらかじめ定めた最大反復数に等しいか否かを決定するための手段;
パケット記憶手段が、パケット記憶手段の記憶容量の予め定められた割合内であるか否かを決定するための手段;
復号反復数が予め定めた最小反復数に等しいか、或いはより大きいか否かを決定するための手段;
エラー検出測定が少なくとも一つの先行パケットに関して満足していたか否かを決定するための手段;
(1)復号反復数が予め定めた最大の反復数に等しい場合、又は(2)復号反復数が予め定めた最小反復数に等しいかより大きく、及びパケット記憶手段がパケット記憶手段の記憶容量の予め定めた割合内である場合、又は(3)復号反復数が予め定めた最小反復数に等しいかより大きく、及びエラー検出測定が少なくとも一つの先行パケットに関して満足していた場合、該パケットに対する反復復号処理を終了するための手段。 - エラー検出測定が巡回冗長検査を備える、請求項24の反復復号器。
- 少なくとも一つの先行パケットが二つの先行パケットを有している、請求項24の反復復号器。
- 巡回冗長検査ビットが二つの先行パケットに関して同一である場合、エラー検出測定が満たされている、請求項24の反復復号器。
- 巡回冗長検査が先行の復号されたパケットに関して満足している場合、および先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満たされている、請求項24の反復検出方法。
- 先行の復号されたパケットが反復復号処理を受けているパケットと同一である場合、エラー検出測定は満たされている、請求項24の反復復号器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/186,971 US6292918B1 (en) | 1998-11-05 | 1998-11-05 | Efficient iterative decoding |
US09/186,971 | 1998-11-05 | ||
US09/350,941 US6182261B1 (en) | 1998-11-05 | 1999-07-09 | Efficient iterative decoding |
US09/350,941 | 1999-07-09 | ||
PCT/US1999/026101 WO2000027037A2 (en) | 1998-11-05 | 1999-11-04 | Efficient iterative decoding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009189655A Division JP2009296635A (ja) | 1998-11-05 | 2009-08-19 | 効率的な反復復号処理 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002529953A JP2002529953A (ja) | 2002-09-10 |
JP2002529953A5 JP2002529953A5 (ja) | 2009-09-24 |
JP4386588B2 true JP4386588B2 (ja) | 2009-12-16 |
Family
ID=26882613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000580308A Expired - Lifetime JP4386588B2 (ja) | 1998-11-05 | 1999-11-04 | 効率的な反復復号処理 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1127413B1 (ja) |
JP (1) | JP4386588B2 (ja) |
CN (1) | CN100388632C (ja) |
AU (1) | AU2146000A (ja) |
WO (1) | WO2000027037A2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1160989A4 (en) | 1999-03-01 | 2005-10-19 | Fujitsu Ltd | TURBO DECODING DEVICE |
DE19934646C2 (de) * | 1999-07-16 | 2001-09-13 | Univ Dresden Tech | Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes |
WO2001050614A2 (en) * | 2000-01-03 | 2001-07-12 | Icoding Technology, Inc. | System and method for high speed processing of turbo codes |
US7302621B2 (en) | 2000-01-03 | 2007-11-27 | Icoding Technology, Inc. | High spread highly randomized generatable interleavers |
FI111888B (fi) | 2000-02-25 | 2003-09-30 | Nokia Corp | Mukautuva menetelmä ja järjestelmä vähittäisen redundanssin toteuttamiseksi vastaanotossa |
US7159164B1 (en) | 2000-06-05 | 2007-01-02 | Qualcomm Incorporated | Method and apparatus for recovery of particular bits of a frame |
EP1178613A1 (en) * | 2000-08-01 | 2002-02-06 | Motorola, Inc. | Apparatus and method for determining an abort criterion in an iterative detection process |
EP1179934A1 (en) * | 2000-08-11 | 2002-02-13 | Mitsubishi Electric Information Technology Centre Europe B.V. | Adaptive turbo-equalization |
KR100424460B1 (ko) | 2000-10-05 | 2004-03-26 | 삼성전자주식회사 | 터보 복호기의 전송률 검출 장치 및 방법 |
KR20020031721A (ko) * | 2000-10-23 | 2002-05-03 | 이계철 | 채널정보를 이용한 터보코드 복호화 장치 및 그 방법 |
US6662331B1 (en) * | 2000-10-27 | 2003-12-09 | Qualcomm Inc. | Space-efficient turbo decoder |
US6956912B2 (en) * | 2000-11-14 | 2005-10-18 | David Bass | Turbo decoder with circular redundancy code signature comparison |
US7533320B2 (en) | 2000-11-14 | 2009-05-12 | Interdigital Technology Corporation | Wireless transmit/receive unit having a turbo decoder with circular redundancy code signature comparison and method |
JP3683497B2 (ja) | 2000-11-30 | 2005-08-17 | 松下電器産業株式会社 | 復号装置および復号方法 |
KR100713331B1 (ko) | 2000-12-23 | 2007-05-04 | 삼성전자주식회사 | 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법 |
AUPR679101A0 (en) * | 2001-08-03 | 2001-08-30 | Lucent Technologies Inc. | Termination of iterative decoding |
KR100474287B1 (ko) * | 2002-05-30 | 2005-03-10 | 엘지전자 주식회사 | 휴대용 단말기의 자원 최적화 방법 및 장치 |
US7093180B2 (en) | 2002-06-28 | 2006-08-15 | Interdigital Technology Corporation | Fast H-ARQ acknowledgement generation method using a stopping rule for turbo decoding |
KR100516586B1 (ko) * | 2002-12-10 | 2005-09-22 | 삼성전자주식회사 | 부호 분할 다중 접속 이동 통신 시스템의 오류 정정 장치및 방법 |
JP2008522528A (ja) * | 2004-12-02 | 2008-06-26 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ・ブロック冗長バージョン復号用ステーク継承ターボ復号器 |
KR100729258B1 (ko) * | 2005-12-07 | 2007-06-18 | 엘지전자 주식회사 | 확장된 링크 적응화 기법을 제공하는 이동 통신 단말기 및그 방법 |
WO2008077421A1 (en) * | 2006-12-22 | 2008-07-03 | Micronas Gmbh | Channel decoder with variable number of decoding iterations |
JP2009188640A (ja) * | 2008-02-05 | 2009-08-20 | Sharp Corp | 実行判断装置、受信装置、無線通信システム、及び実行判断方法 |
EP2819310A1 (en) * | 2013-06-26 | 2014-12-31 | Alcatel Lucent | Iterative error decoder with cascaded decoding blocks and a feedback decoding block |
JP6335547B2 (ja) * | 2014-02-27 | 2018-05-30 | 三菱電機株式会社 | 復調装置および受信装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US497404A (en) * | 1893-05-16 | Electric cigar-lighter |
-
1999
- 1999-11-04 CN CNB998153400A patent/CN100388632C/zh not_active Expired - Fee Related
- 1999-11-04 AU AU21460/00A patent/AU2146000A/en not_active Abandoned
- 1999-11-04 JP JP2000580308A patent/JP4386588B2/ja not_active Expired - Lifetime
- 1999-11-04 WO PCT/US1999/026101 patent/WO2000027037A2/en active IP Right Grant
- 1999-11-04 EP EP99965762A patent/EP1127413B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN100388632C (zh) | 2008-05-14 |
JP2002529953A (ja) | 2002-09-10 |
CN1348631A (zh) | 2002-05-08 |
AU2146000A (en) | 2000-05-22 |
WO2000027037A2 (en) | 2000-05-11 |
EP1127413A2 (en) | 2001-08-29 |
WO2000027037A3 (en) | 2000-08-31 |
EP1127413B1 (en) | 2011-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4386588B2 (ja) | 効率的な反復復号処理 | |
JP2009296635A (ja) | 効率的な反復復号処理 | |
KR100321978B1 (ko) | 통신시스템에서반복복호장치및방법 | |
JP3610329B2 (ja) | 大最小距離を用いたターボ符号化方法及びそれを実現するシステム | |
JP4282192B2 (ja) | 反復式ターボ符号復号装置及び該装置の性能を最適化する方法 | |
JP2002529953A5 (ja) | ||
US8751907B2 (en) | Joint encoding and decoding methods for improving the error rate performance | |
US8443265B2 (en) | Method and apparatus for map decoding and turbo decoder using the same | |
US8352840B2 (en) | Event cleanup processing for improving the performance of sequence-based decoders | |
WO2008015742A1 (fr) | Appareil récepteur et son procédé de décodage | |
JP2009525009A (ja) | 双方向スライディングウィンドウアーキテクチャを有するmap復号器 | |
EP1628404B1 (en) | Method and system for improving wired and wireless receivers through redundancy and iterative processing | |
US6477679B1 (en) | Methods for decoding data in digital communication systems | |
JP2001257601A (ja) | 誤り訂正符号化タイプのデジタル送信方法 | |
US7346117B2 (en) | Turbo decoder | |
JP2004349901A (ja) | ターボ復号器及びそれに用いるダイナミック復号方法 | |
US6614858B1 (en) | Limiting range of extrinsic information for iterative decoding | |
KR100738250B1 (ko) | Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법 | |
JP2002353821A (ja) | 誤り訂正復号方法および復号装置 | |
JPH05175852A (ja) | 誤り訂正符復号装置 | |
JP2002330115A (ja) | 符号化されたデータブロックのサイズを最適化する方法、初期サイズを有する符号化されたデータブロックを反復復号化するための方法、ターボ符号器によって符号化されたデータブロックを反復復号化するための装置、符号化/復号化システム、データのブロックを符号化するための装置、及び符号器によって符号化され、変調されたデータのブロックをターボ等化するための装置 | |
JP2001024717A (ja) | ターボ復号装置及び繰り返し復号方法 | |
JP3507894B2 (ja) | 誤り訂正方法および誤り訂正符号生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061102 |
|
A524 | Written submission of copy of amendment under section 19 (pct) |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20061221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090519 |
|
A524 | Written submission of copy of amendment under section 19 (pct) |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20090805 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090819 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090901 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090929 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121009 Year of fee payment: 3 |