(57)【要約】反復する低密度パリティチェック（ＬＤＰＣ）復号化システムは、ビット評価値を記憶するための第１のシフトレジスタと、メッセージを発生するためにビット評価値を処理するように構成された複数のパリティチェック処理ノードバンクと、更新ビット評価値を生成するためにビット評価にメッセージを結合するよう構成された結合器と、ビット評価値の記憶とアクセスを促進するために更新ビット評価値を置換するパーミュータとを備える。第２のシフトレジスタはメッセージを格納するために提供され、減算モジュールは、更新ビット評価値から以前のサイクルの予め決定された数で生成されたメッセージを減算する。
2011522502.tif 000002
【特許請求の範囲】
【請求項１】
反復する低密度パリティチェック復号器であって、
ビット推定の成分ベクトルを記憶するように構成される第１の複数のシフトレジスタと、
前記第１の複数のシフトレジストに結合されるパリティチェックノードプロセッサ（ＰＣＮＰ）の複数のバンクと、
複数のメッセージを生成するために成分ベクトルを処理するよう構成される前記パリティＰＣＮＰの複数バンクのそれぞれと、
ＰＣＮＰの前記複数のバンクに結合され、前記複数のメッセージを記憶するように構成される第２の複数のシフトレジスタと、
前記更新ビット評価値を生成するための以前の反復の間に生成された複数のビット評価値により複数のメッセージを結合する複数のコンバイナと、
第１の複数のシフトレジスタに記憶される更新ビット評価値を生成するために前記更新ビット評価値を置換するよう構成される複数の固定パーミュータと
を含むＬＤＣ復号器。
【請求項２】
ＰＣＮＰの前記複数のバンクの各々は、パリティチェックサブマトリックスに対応するスーパーコードを復号するように構成される、請求項１に記載されたＬＤＰＣ復号器。
【請求項３】
前記第１の複数のシフトレジスタは、ＬＤＰＣ復号動作の初期化についてのビット評価値の成分ベクトルとして受信される信号を記憶するよう構成される、請求項１に記載されたＬＤＰＣ復号器。
【請求項４】
ＰＣＮＰの前記複数のバンクは、
受信信号が複数のＮｂａｓｅ個の、サイズがＮｐｅｒｍ×１であるベクトルに分割され、前記複数のベクトル第１の反復の初期に前記第１のシフトレジスタ記憶されるビット評価値の成分ベクトルであるＮｐｅｒｍ個のＰＣＮＰを備える、請求項１に記載されたＬＤＰＣ復号器。
【請求項５】
複数のＮｂ回の反復のそれぞれについてのｎ番目のパリティチェックサブマトリックスに対応するｎ番目のスーパーコードに対応するビットを復号するよう構成される、請求項１に記載されたＬＤＰＣ復号器。
【請求項６】
さらに、複数のコンバイナと複数の固定パーミュータの間で結合され、更新ビット評価値からの前もって決定された以前の反復において生成されたメッセージを減算するよう構成された減算モジュールを含む請求項１に記載されたＬＤＰＣ復号器。
【請求項７】
パイプライン化された構成を使用するように構成される請求項１に記載されたＬＤＰＣ復号器。
【請求項８】
さらに、単一の組のＰＣＮＰの前記使用をイネーブルするとともに複数のレートの処理を容易にするためのコンバータであって、単一のＳビットと単一の第１及び第２の最小値を生成するために複数のＰＣＮＰについて演算するよう構成されるコンバータを含む請求項１に記載されたＬＤＰＣ復号器。
【請求項９】
複数の固定パーミュータは、
複数の入力と、
複数の出力と、
置換マトリックスの非零要素に対応するシフトされる複数のベースマトリックス演算子であって、各々が前記複数の出力の１つに結合される前記複数のシフトされるベースマトリックス演算子と、
前記複数の入力を前記複数のシフトされるベースマトリックス演算子に結合する複数の固定コネクタと
を含み、
前記複数の固定コネクタが、前記置換マトリックスにおける非零要素の位置に対応する、
請求項１に記載されたＬＤＰＣ復号器。
【請求項１０】
反復する低密度パリティチェック（ＬＤＰＣ）復号方法であって、
前記方法の各反復は、
ビット評価の成分ベクトルを記憶することと、
複数のメッセージを生成するために前記成分ベクトルのパリティチェック処理を実行することと、
更新ビット評価値を生成し更新ビット評価値を変更するために前記ビット評価で前記複数のメッセージを組み合わせることと、
前記更新ビット評価値を置換するための固定パーミュータアーキテクチャを使用することと
を含む方法。
【請求項１１】
パリティチェック処理を行なうことは、パリティチェックサブマトリックスに対応するスーパーコードを復号することを含む、請求項１０に記載された方法。
【請求項１２】
さらに、ビット評価の成分ベクトルとして受信信号を記憶する最初のステップを含む請求項１０に記載された方法。
【請求項１３】
さらに、前記受信信号を各々のサイズがＮｐｅｒｍ×１である複数のＮｂａｓｅ個のベクトルに分割することを含み、パリティチェック処理を実行することが、パリティチェックノードプロセッサ（ＰＣＮＰ）の複数のバンクを使用することを含み、各バンクがＮｐｅｒｍ個のＰＣＮＰを含む、請求項１２に記載された方法。
【請求項１４】
複数の反復の各々についてのｎ番目のパリティチェックサブマトリックスに対応するｎ番目のスーパーコードに対応するビットを復号するよう構成された、請求項１０に記載された方法。
【請求項１５】
さらに、前記更新ビット評価値からの前もって決定された以前の反復の間に生成されるメッセージを減算することを含む請求項１０に記載された方法。
【請求項１６】
パイプライン化される構成を使用するように構成される請求項１０に記載された方法。
【請求項１７】
パリティチェック処理を行なうことは、単一のｓビットおよび単一の組の第１と第２の最小値を生成するために前記複数のメッセージについて演算を行うことをさらに含む、請求項１０に記載された方法。
【請求項１８】
請求項１０に記載された前記方法を実行するようにプログラムされるデジタルコンピュータシステム。
【請求項１９】
請求項１０に記載された前記方法をインプリメントするコンピュータプログラムを記憶するコンピュータ読み取り可能媒体。
【請求項２０】
低密度パリティチェック（ＬＤＰＣ）復号器において使用するパーミュータであって、
複数の入力と、
複数の出力と、
置換マトリックスの非零要素に対応する複数のシフトされるベースマトリックス演算子であって、各々が前記複数の出力の１つに結合される複数のシフトされるベースマトリックスの演算子と、
前記複数の入力を前記複数のシフトされるベースマトリックス演算子に結合する複数の固定コネクタであって、置換マトリックスにおいて非零要素の配置に対応する複数の固定コネクタと
を備えるパーミュータ。
【請求項２１】
圧縮したパリティチェックノードプロセッサＰＣＮＰ出力信号を生成する方法であって、
ｓビットを生成するための複数の入力についてＸＯＲ演算を行なうことと、
各入力信号に対応する複数の信頼値から第１と第２最小値Ｍ１とＭ２を計算すること、
複数の指標ビットを生成することであって、前記複数の指標ビットの各々は、前記複数の信頼値の対応する１つが第１および第２の最小値であるかどうか示す、生成することと
を含む方法。
【請求項２２】
さらに、符号を計算するための関数
【数１】
2011522502.tif 000133
と大きさを計算するための関数
【数２】
2011522502.tif 000134
、ここで
【数３】
2011522502.tif 000135
、とを使用することによって前記圧縮されたＰＣＮＰ出力信号から圧縮されていない出力信号を計算することを含む請求項２１に記載された方法。
【請求項２３】
前記第１および第２の最小値を計算することは、加算器とＡＮＤゲートのネットワークを使用する、請求項２１に記載された方法。
【請求項２４】
パリティチェックマトリックスを与えられたパリティチェックベクトルを計算する方法であって、
前記パリティチェックマトリックスを第１のマトリックスと第２のマトリックスに分割することであって、
前記第１のマトリックスは、データベクトルを演算するように構成されており、第２のマトリックスは、パリティチェックベクトルについて演算するように構成されており、第２のマトリックスは、複数の正方形マトリックスの三角形配列を備える、分割することと、
データベクトルについての前記第１のマトリックス演算の結果である中間ベクトルを計算することと、
一連の方程式を生成するために第２のマトリックスの三角形配列を活用し、一連の方程式のそれぞれを解くことによりパリティチェックマトリックスを計算することと
を含む方法。
【請求項２５】
前記第１のマトリックスはＭ×Ｋの次元を持ち、前記第２のマトリックスはＭ×Ｍの次元を持ち、ここで、Ｍがパリティチェックビットの数で、Ｋがデータビットの数である、請求項２４に記載された方法。
【発明の詳細な説明】
【発明の技術分野】
【０００１】
ここに記載された実施例は、低密度パリティチェック符号化および復号に関係する。
【関連技術の解説】
【０００２】
低密度パリティチェック（Ｌｏｗ−ｄｅｎｓｉｔｙ  ｐａｒｉｔｙ−ｃｈｅｃｋ：ＬＤＰＣ）コードは、希薄な（つまり低密度）パリティチェックマトリックスを使用する線形のブロックコードである。パリティチェックマトリックスは、１と０の要素値を備え、もし、各行と列に少ししか１が存在しないならば、希薄であると考えられる。例えば、希薄なｎ×ｍパリティチェックマトリックスにおいて、ｗｃ＜＜ｎおよびｗｒ＜＜ｍである、ここで、ｗｃが各列の１の数で、ｗｒが各行の中の１の数である。
【０００３】
タナー（Ｔａｎｎｅｒ）グラフは、それらは２部構成のグラフであり、ＬＤＰＣコードを表わすために一般に使用される。タナーグラフはｎ変数ノードおよびｍチェックノードを含む。また、変数ノードとチェックノードとの間の結合（すなわち、エッジ）は、ｎ×ｍパリティチェックマトリックスにおける１の値に相当する。例えば、マトリックス要素ｈｉｊ＝１は、ｊ番目のチェックノードがｉ番目の変数ノードに結合されることを示す。
【０００４】
ＬＤＰＣコードのために構成された復号アルゴリズムは、典型的に、メッセージパッシング（ｍｅｓｓａｇｅ−ｐａｓｓｉｎｇ）アルゴリズムのような反復する手順を使用する。最初のステップは、受信データビット値に一時的に変数データビットをセットし、チェックノードにそれらの値を送ることを含む。各チェックノードが、各変数ノードに返送されるために、多数の変数ノードから受信される変数データビット値を使用して、応答メッセージを計算する第２のステップがこれに続く。
【０００５】
第２のステップの間、ｉ番目のチェックノードは、それが接続され、ｊ番目の変数ノードのデータビット値は何であるべきであるかを決めるためにパリティチェック方程式においてそれらの値を使用している他の変数ノードからの受信データビット値だけの使用により、ｊ番目の変数ノード用の応答メッセージを計算する。ｉ番目のチェックノードは、同様にその他の記録変数ノードのための特有の応答メッセージを計算する。ｉ番目のチェックノードはその関係する変数ノードの各々に応答メッセージを送信する。
【０００６】
第３のステップの初めに、ｊ番目の変数ノードはｉ番目のチェックノードから応答メッセージを受け取り、別のチェックノードから少なくとも１つの追加のチェックノードの応答メッセージを受け取る。そして、その評価されるデータビット値を更新するために、それは決定プロセスにおいてこれらの応答メッセージ（すなわち、提案）およびそのオリジナルの受信データビット値を使用する。変数ノードがそれぞれのチェックノードにそれらの更新データビット値を送るときに、後の反復が始まる。
【０００７】
復号は、典型的に、非常に、計算上複雑なプロセスである。計算量を軽減するための技術は、増加したメモリ必要量および相互接続の複雑さを含む他の重要な障害という結果になる。
【発明の概要】
【０００８】
ここに開示された実施例は、ＩＥＥＥ８０２．１５．３ｃプロトコルによって定義されたような６０ＧＨｚのミリメートル波システムにおいて使用されるシングルキャリアおよびＯＦＤＭ信号を使用するシステムに有利であり得る。しかしながら、他の応用が同様の利点から利益を得るように、この発明はそのようなシステムに限定されることは意図されない。
【０００９】
反復する低密度パリティチェック（ＬＤＰＣ）復号化システムは、ビット評価値を記憶するために構成される第１のシフトレジスタ手段と、メッセージを生成するためにビット評価値を処理するために構成されるパリティチェック処理手段と、更新ビット評価値を生成するためにビット評価値とメッセージを組み合わせるために構成される結合手段、およびビット評価値の記憶とアクセスを容易にするために更新ビット評価値を置換するために構成される固定置換（ｆｉｘｅｄ ｐｅｒｍｕｔａｔｉｏｎ）手段とを備える。第２のシフトレジスタ手段はメッセージを記憶し、また、減算手段は、更新ビット評価値から以前のサイクルの予め決定された数で生成されたメッセージを減算する。
【００１０】
第１のシフトレジスタ手段は、例という意図で、しかし限定しないで、複数のシフト段を含むシフトレジスタのような、記憶されるデータビットのシフトを実行するよう構築されたコンピュータのハードウェア要素を含み得る。
【００１１】
パリティチェック処理手段は、例という意図で、しかし限定しないで、複数のパリティチェックノードプロセッサ（ｐａｒｉｔｙ−ｃｈｅｃｋ  ｎｏｄｅ  ｐｒｏｃｅｓｓｏｒ：ＰＣＮＰ）を含むＰＣＮＰの１つまたはそれより多いバンクを含み得る。パリティチェック処理手段は、パリティチェックサブマトリクスに対応するスーパーコードの復号のために構成され得る。パリティチェック処理手段は、単一のｓビットおよび第１と第２の最小値の単一の組を生成する複数のＰＣＮＰ出力で演算するために構成されたコンバータ手段を含み得る。そのようなコンバータ手段はマルチレートＬＤＰＣ復号をサポートするのに有用である。
【００１２】
固定置換手段は、例という意図で、しかし限定しないで、複数の入力と、複数の出力と、複数のシフトされるベースマトリックス演算子とを備え、複数の出力の１つと結合されるパーミュータ（ｐｅｒｍｕｔｅｒ）と、および複数のシフトされたベースマトリックスの演算子に複数の入力を結合する複数の固定コネクタクタとを含み得る。
【００１３】
第２のシフトレジスタ手段は第１のシフトレジスタ手段において使用されたものとして同様の構造を含み得る。
【００１４】
この発明のいくつかの実施例では、パリティチェック処理手段は圧縮された出力信号を生成するために構成され得る。例えば、パリティチェック処理手段は、ｓビットを生成する複数の符号ビットでＸＯＲ演算を実行し、各入力信号に対応する複数の信頼性値から第１と第２の最小値を計算し、複数の指標ビットを生成するために構成され得て、その複数の指標ビットの各々は、その複数の信頼性値の対応する一つが第１のまたは第２の最小値であるかどうかを示す。
【００１５】
この発明の別の実施例において、与えられたパリティチェックマトリックスについてのパリティチェックベクトルを計算する方法は、パリティチェックマトリックスを第１のマトリックスおよび第２のマトリックスに分割することを含む。第１のマトリックスは、データベクトルについて演算するために構成され、また、第２のマトリックスはパリティチェックベクトルについて演算するために構成される。第２のマトリックスは、処理を単純化する正方形マトリックスの三角形配列を使用する。データベクトルについての第１のマトリックス演算の結果である中間のベクトルは計算され、それはパリティチェックベクトルの計算を可能にする。第２のマトリックスの三角形配列は方程式のシーケンスを生成するために使用され、それらは容易に解かれる。
【００１６】
特有の実施例がここに記載されるが、これらの実施例の変更や置換は、発明の範囲および精神の中に入る。いくつかの利益および好ましい実施例の有利な点は言及されるが、発明の範囲は特別の利点、用途あるいは目的に限定されるようには意図されない。むしろ、発明の実施例は、異なるワイヤレス技術、システム構成、ネットワークおよび伝送プロトコルに広く適用可能になるように意図され、それらのうちのいくらかは、例という意図で、図および好ましい実施例の次の記載において例示される。詳細な記述および図面は、添付された請求項とそれの等価なものによって定義される発明の範囲を限定するよりむしろ単に発明の実例である。
【図面の簡単な説明】
【００１７】
本発明に従う実施例は以下の図を参照して理解される。
【図１Ａ】図１Ａは、発明の実施例に従うＬＤＰＣ復号器のブロック図である。
【図１Ｂ】図１Ｂは、パリティチェックマトリックスプロセッサのコンポーネントを表す。
【図２】図２は、発明の実施例に従って動作するように構成されたシフトレジスタのブロック図である。
【図３】図３は、発明の実施例に従うＬＤＰＣ復号方法のブロック図である。
【図４】図４は、発明の実施例に従う効率的なＬＤＰＣ符号化方法のブロック図である。
【図５】図５は、発明の実施例に従うレート１／２の復号アーキテクチャを示す。
【図６】図６は、発明の実施例においてインプリメントされ得るＬＤＰＣ復号器のブロック図である。
【図７Ａ】図７Ａは、発明の実施例に従う高速ターボ−ＬＤＰＣ復号器のブロック図である。
【図７Ｂ】図７Ｂは、発明の実施例に従うパリティチェックノードプロセッサのバンクのブロック図である。
【図８Ａ】図８Ａは、発明の実施例に従う第１の反復中のＬＤＰＣ復号器の状態を例示する。
【図８Ｂ】図８Ｂは、発明の実施例に従う第２の反復中のＬＤＰＣ復号器の状態を例示する。
【図８Ｃ】図８Ｃは、発明の実施例に従う第３の反復中のＬＤＰＣ復号器の状態を例示する。
【図８Ｄ】図８Ｄは、発明の実施例に従う第４の反復中のＬＤＰＣ復号器の状態を例示する。
【図９Ａ】図９Ａは、シフトレジスタ７４１の第１段におけるベクトルが１つの反復中にどのように処理されるか例示する。
【図９Ｂ】図９Bは、シフトレジスタ７４１の第１段におけるベクトルが１つの反復中にどのように処理されるか例示する。
【図９Ｃ】図９Ｃは、シフトレジスタ７４１の第１段におけるベクトルが１つの反復中にどのように処理されるか例示する。
【図１０】図１０は、発明の実施例に従う圧縮したＰＣＮＰ信号出力のためのフレームフォーマットを示す。
【図１１】図１１は、発明の実施例に従う第１と第２の最小値を計算する方法を示す。
【図１２】図１２は、発明の実施例に従う第１と第２最小値を計算するための代わりの方法を示す。
【図１３Ａ】図１３Ａは、発明の実施例に従う固定結合を有するパーミュータのブロック図である。
【図１３Ｂ】図１３Bは、発明の実施例に従う固定結合を有するパーミュータのブロック図である。
【図１３Ｃ】図１３Ｃは、発明の実施例に従う固定結合を有するパーミュータのブロック図である。
【図１４】図１４は、高速処理のためのパイプライン化された構成を使用する復号器のブロック図である。
【図１５】図１５は、発明の実施例に従うＬＤＰＣ復号方法のフロー図である。
【図１６】図１６は、発明の別の実施例に従うＬＤＰＣ復号方法のフロー図である。
【好適な実施例の説明】
【００１８】
発明がさまざまな修正および代替の形式に影響を受けやすい一方、それの特有の実施例は図面において例によって示され、ここに詳細に記載された。しかしながら、それが発明を開示された特有の形式に限定するようには意図されないことは理解されるべきである。しかし、むしろ、発明は、請求項によって定義されるような発明の精神および範囲に入る修正、等価のもの、および代替をすべてカバーするためのものである。
【００１９】
発明の１つの実施例に従って、ＬＤＰＣ符号器は、ＫデータビットとＭ＝Ｎ−Ｋパリティチェックビットを含むビットＮの合計数を有するコードワードＣＮｘ１を生成するためにデータベクトルｄＫｘ１上で動作する生成マトリックスＧＮｘＫを使用する。
【数１】
2011522502.tif 000003
【００２０】
与えられたメッセージベクトルｄＫｘ１については、符号器はパリティチェックベクトルｐＭｘ１を生成し、コードワードｃＮｘ１を生成する。Ｈｃ＝０となるような
【数２】
2011522502.tif 000004
【００２１】
ここでＨはパリティチェックマトリックスを表す。ＬＤＰＣ復号器は、ＨＫｘＮｃＮｘ１＝０によって定義されたパリティチェックマトリックスＨＫｘＮを使用する。パリティチェックマトリックスＨＫｘＮの行はそれぞれタナーグラフの特有のパリティチェックノードに相当する。
【００２２】
図１Ａは、発明の実施例に従うＬＤＰＣ復号器１００のブロック図である。ＬＤＰＣ復号器１００は、複数Ｋ個の変数ノードプロセッサ１０１．１−１０１．Ｋおよび複数Ｍ個のパリティチェックプロセッサ１０２．１−１０２．Ｍを含む。発明の１つの実施例では、特有のパリティチェックノードのパリティチェックはパリティチェックプロセッサ１０２．１の１０２．Ｍのうちの１つによって行なわれ得る。したがって、各パリティチェックノードは、それぞれのそれ自身のパリティチェックプロセッサ１０２．１の１０２．Ｍを有し得る。同様に、各変数ノードでの演算は専用の変数ノードプロセッサ１０１．１−１０１．Ｋによって行なわれ得る。したがって、各変数ノードはそれぞれそれ自身の変数ノードプロセッサ１０１．１−１０１．Ｋを有し得る。
【００２３】
異なる実施例は、ハードウェアとソフトウェアのさまざまな組合せを含んでいる異なる処理構成を使用し得る。例えば、単一のハードウェアコンポーネントは、全てのパリティチェックノードについてパリティチェック処理を行なうように構成され得る。そのようなハードウェアコンポーネントは、特有のパリティチェックノードのためのパリティチェック処理を行なうために各々構成され、コンピュータ読み取り可能な媒体上に存在する複数のプログラム可能なソフトウェアモジュールあるいはコンピュータプログラムを含み得る。
【００２４】
ソフトウェアモジュールは、ここに使用されるように、コンピュータプログラムの一部を指す。この場合、特有のソフトウェアモジュールおよび／またはそれが存在するデジタル計算機システムと結合するコンピュータプログラムは、パリティチェックプロセッサと呼ばれる。同様に、複数のソフトウェアモジュールおよび／またはコンピュータプログラムを有する単一のハードウェアコンポーネントは、複数の変数ノードで処理を行なうために構成され得る。したがって、特有のソフトウェアモジュールおよび／またはそれが存在するデジタル計算機システムと結合するコンピュータプログラムは、変数ノードプロセッサと呼ぶことができる。
【００２５】
発明の１つの実施例に従って、パリティチェックプロセッサ１０２．１−１０２．Ｍは、図１で示されるように、パリティチェックマトリックスプロセッサ１１０を備える。パリティチェックマトリックスプロセッサ１１０は、その要素がサブマトリクスであるＫｂａｓｅ×ＮｂａｓｅマトリックスとしてＫ×ＮパリティチェックマトリックスＨＫｘＮを構築するように構成されており、そこでは、各サブマトリックスはＮｐｅｒｍ×Ｎｐｅｒｍ正方形マトリックスである。したがって、
【数３】
2011522502.tif 000005
【００２６】
である。Ｎｐｅｒｍ×Ｎｐｅｒｍ正方形マトリックスはそれぞれ、ベースマトリックスジェネレータ１１１によって構築された零マトリックスあるいは循環的にシフトされたＮｐｅｒｍ×Ｎｐｅｒｍ恒等マトリックス（ｉｄｅｎｔｉｔｙ  ｍａｔｒｉｘ）のいずれかである。
【００２７】
発明の１つの実施例では、Ｋｂａｓｅ×Ｎｂａｓｅマトリックスは、正方形サブマトリックスのマトリックス配置を含む。正方形サブマトリックスはそれぞれ、ベースマトリックスジェネレータ１１１によって生成される１つまたはそれより多いサイクリックシフトされたベースマトリックスを使用するサブマトリクスジェネレータ１１２によって生成される。例えば、正方形サブマトリクスエレメントはそれぞれ、Ｎｐｅｒｍ×Ｎｐｅｒｍの零マトリックス、あるいは循環的にシフトされるＮｐｅｒｍ×Ｎｐｅｒｍの恒等マトリックスかもしれない。発明の代わりの実施例では、サイクリックシフトされるＮｐｅｒｍ×ＮｐｅｒｍＤマトリックスあるいはＱマトリックスは、サイクリックシフトされる恒等マトリックスの代わりに使用され得る。サブマトリックスの各行とサブマトリックスの各列はそれぞれたった１つの非零のＮｐｅｒｍ×Ｎｐｅｒｍマトリックスのみを含む。したがって、サブマトリックスの異なる行に対応するパリティチェック方程式は、直交的である。
【００２８】
サブマトリックスは、ここで参照により組み込まれる２００６年８月３日に出願された米国特許出願１１／４６２，２４１に記載されたように、一つの組のパターンの少なくとも一つの組の入口ポイントを利用することにより、コンパニオンマトリックスおよびシフトレジスタを使用して、構成され得る。図２は、４つの段２０１−２０４、入口ポイント２１０、および段２０１−２０４をリンクする遷移２１１−２１４のパターンを有するシフトレジスタのブロック図である。いくつかの実施例において、シフトレジスタは、入口ポイント２１０および／または遷移２１１−２１４のパターンを変更するのに適合され得る。サブマトリックスジェネレータは、そのようなシフトレジスタあるいは発明の実施例に関して適したシフトレジスタの動作をシミュレートするように構成されたハードウェアおよびソフトウェアの任意の組合せも含み得る。
【００２９】
コンパニオンマトリックス（ｃｏｍｐａｎｉｏｎ  ｍａｔｒｉｘ）におけるマトリックス要素の値は、パリティチェックマトリックスにおいて使用された各Ｎｐｅｒｍ×Ｎｐｅｒｍ恒等マトリックスに適合されたサイクリックシフトの数に相当する。発明の１つの実施例において、パリティチェックマトリックスＮｂ×Ｎｂの正方形のサブマトリクスは、前もって決定されたシフトパターンおよび前もって決定された入口ポイントを有するＮｂ段のシフトレジスタに長さＮｂベクトルを提供することにより構築される。各ベクトル要素の値は恒等マトリックスのサイクリックシフトの数字に相当する。一旦シフトレジスタがベクトルによって十分に占められると、各ベクトル要素の値は、Ｎｂ×Ｎｂの正方形コンパニオンサブマトリックスおける特有の列に割り当てられる。その値は、同じ列に常に割り当てられるが、それがその列において占める行は、その値がどのシフトレジスタの段（したがってパターン）にあるかに依存する。
【００３０】
各値はそれぞれ、コンパニオンサブマトリクスの固有の行と列に置かれる。したがって、対応するパリティチェックサブマトリクスは、各列および各行に対して単一の非零の値（例えばサイクリックシフトされる恒等マトリックス）を持っている。発明のいくつかの実施例では、シフトレジスタの十分な個数に追従する１つまたはそれより多いサイクルが使用され得る。そのような場合、特有のベクトル値が割り当てられるマトリックス行は異なるサイクルのために変化するだろう。
【００３１】
データのレートはＫｂａｓｅ／Ｎｂａｓｅである。異なるデータのレートを達成するために、ＫｂａｓｅおよびＮｂａｓｅの一方または両方は変更され得る。ＬＤＰＣ復号器は多数のデータのレートを処理するよう構成され得る。例えば、レート１／２、レート３／４、およびレート７／８が使用され得る。
【００３２】
図３は、発明の実施例に従うＬＤＰＣ復号方法のブロック図である。初期化ステップ３００は、受信されるコードワードの値ｒ０、・・・ｒＮ−１に対して変数データビットｖ０、・・・ｖＮ−１をセットし、それらは、１つまたはそれより多いパリティチェックプロセッサ（図１Ａにおいて示されるパリティチェックプロセッサ１０２．１−１０２．Ｍのような）へ送られ得る。パリティチェックステップ３０１は、受信される変数データビットからのメッセージを計算し、それらは、１またはそれより多い可変ノードプロセッサ（図１Ａにおいて示される変数ノードプロセッサ１０１．１−１０１．Ｋのような）へ送られ得る。一つの例において、パリティチェックノード０は、それが、そこからメッセージ
【数４】
2011522502.tif 000006
【００３３】
を計算する方程式ｃ０＋ｃ２＋ｃ４＝０に対応する変数データビットｖ０, ｖ２, ｖ４を受け取り、そこでは、Ｅｋ（０→ｂ）は、パリティチェックノード０から変数ノードｂまで送信されるメッセージを表す。
【００３４】
変数−更新ステップ３０２は、メッセージＥｋを処理し、また硬および軟判定の任意の組合せによって変数データビットを更新する。例えば、変数ノード０はパリティチェックノード０および２からメッセージを受け取り、以前の変数データビット評価値
【数５】
2011522502.tif 000007
【００３５】
を更新する。
【数６】
2011522502.tif 000008
【００３６】
更新変数データビット評価値は、予め決定された反復回数に対して、あるいは予め決定された基準に遭遇するまで、パリティチェックステップ３０１にフィードバックされ得る（３０３）。典型的には、最終の変数の更新３０２は硬判定を含むだろう。
【００３７】
図４は、発明の実施例で用いる効率的なＬＤＰＣ符号化方法のブロック図である。パリティチェックマトリックスＨは２つの正方形マトリックスＨｄおよびＨｐに分割される（４０１）。
【数７】
2011522502.tif 000009
【００３８】
パリティチェックマトリックスの定義Ｈｃ＝０は
【数８】
2011522502.tif 000010
【００３９】
を要求する。Ｈｃ＝０の必要性は、
【数９】
2011522502.tif 000011
【００４０】
として表され、ここでｖは、パリティチェックベクトルｐを計算するのに使用された中間ベクトルである。パリティチェックベクトルｐは、ｖ＝Ｈｄｄによって定義されるベクトルｖを最初に計算する（４０２）によって解かれ、ここで、ｄとＨｄは知られている。そして、Ｈｐｐ＝ｖはｐを解くために使用されるだろう。
【００４１】
１つの実施例において、Ｈｐは、以下の示されたように０でない値を有する正方形サブマトリックスＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｑ、Ｒ、Ｓ、およびＴの配列を備える三角形のマトリックスを含む。
【数１０】
2011522502.tif 000012
【００４２】
この場合、ｖとｐはサブベクトル
【数１１】
2011522502.tif 000013
【００４３】
で表わされる。そして、そこでは関係Ｈｐｐ＝ｖは
【数１２】
2011522502.tif 000014
【００４４】
によって表現され得る。パリティチェックベクトルｐは、容易に解かれる方程式の単純なシーケンスを生成するためにパリティチェックマトリックスＨｐの三角形の構造を利用することにより計算され得る（４０３）。
【数１３】
2011522502.tif 000015
【００４５】
発明の実施例では、符号器と符号化手法は、パリティチェックマトリックスＨを対応するＭ×ＫのマトリックスＨｄとＭ×ＭのマトリックスＨｐに分割することによってレート１／２、３／４および７／８のようなさまざまな符号化レートのうちのどれでも提供するように構成され得る。発明のさまざまな実施例は、発明の方法を実行するようにプログラムされたデジタルコンピュータシステム、および／または発明の任意の方法をインプリメントするコンピュータプログラムを記憶するコンピュータ読み取り可能な媒体を含み得る。
【００４６】
図５は、発明の実施例に従うレート１／２の復号アーキテクチャを示す。受信データシーケンスｒからのデータビットは、複数のＬＤＰＣ復号器５２１−５２４の各々に結合され、それらはサブマトリックス
【数１４】
2011522502.tif 000016
【００４７】
に相当する。最初のサイクル中に、受信されるデータストリームおける第１のスーパーコードｃ１（
【数１５】
2011522502.tif 000017
【００４８】
に対応する）に属するすべてのビットに対する外部情報は、第１のＬＤＰＣ復号器５２１によって計算される。同様に、対応するマトリックス
【数１６】
2011522502.tif 000018
【００４９】
の第２、第３、第４のスーパーコード（ｃ２、ｃ３、及びｃ４）に対する外部情報は、ＬＤＰＣ復号器５２２、５２３および５２４によってそれぞれ計算される。
【００５０】
第１のＬＤＰＣ復号器５２１によって生成された外部情報は、ディインタリーバ５３１によってディインタリーブされ、第２、第３  第４のシグナルコンバイナ５０２−５０４によって結合され、一連のサイクルにおいて複数個のインタリーバ５１２、５１３および５１４によってインターリーブされるためにアプリオリ（ａ  ｐｒｉｏｒ）情報として提供される。従って、第１のシグナルコンバイナ５０１は他のＬＤＰＣ復号器５２２−５２４からのアプリオリ情報を組み合わせるように構成され、また、結合される信号は第１のＬＤＰＣ復号器５２１によって処理される前にインタリーバ５１１によってインターリーブされる。第１のＬＤＰＣ復号器５２１はその外部情報を更新する。
【００５１】
ＬＤＰＣ復号器の各々は他のＬＤＰＣ復号器によって生成されたアプリオリ情報が提供される。例えば、第２のＬＤＰＣ復号器５２２は復号器５２１、５２３および５２４からアプリオリ情報を受け取り、その関連する外部の信頼性の値を更新する。第３のＬＤＰＣ復号器５２３は復号器５２１、５２２および５２４からアプリオリ情報を得て、その関連する外部の信頼性の値を更新する。同様に、第４のＬＤＰＣ復号器５２４は復号器５２１−５２３からアプリオリ情報を得て、その外部の信頼性の値を更新する。第１のサイクルにおいて生成される更新外部情報は、連続するサイクルにおいて予め決定された回数、あるいは１つまたはそれより多い測定基準が満足されるまで繰り返されることができる。最後のサイクルが完了するときに、すべての復号器５２１−５２４からの外部情報はコンバイナ５０５に組み合わせられ、復号されるビットを生成するためにシンボルエスティメイタ（ｓｙｍｂｏｌ  ｅｓｔｉｍａｔｏｒ）５１５によって処理される。
【００５２】
図６は、発明の実施例中でインプリメントされ得るＬＤＰＣ復号器のブロック図である。単一のＬＤＰＣ復号器６０３は複数の復号動作を行なうのに使用され、また、外部情報はすべてメモリ（例えばメモリバンク６０１．１−６０１．Ｂ）に記憶される。プログラマブルリードネットワーク６０２は、メモリバンク６０１．１−６０１．ＢとＬＤＰＣ復号器６０３の間で結合される。プログラマブルライトネットワーク６０４はメモリバンク６０１．１−６０１．ＢにＬＤＰＣ復号器６０３を結合する。この復号器アーキテクチャのバリエーションは、Ｍ．マンスール（Ｍａｎｓｏｕｒ）らの「高処理能力のＬＤＰＣ復号器（Ｈｉｇｈ−Ｔｈｒｏｕｇｈｐｕｔ  ＬＤＰＣ  Ｄｅｃｏｄｅｒｓ）」、超ＬＳＩシステム（ｖｅｒｙ  ｌａｒｇｅ  ｓｃａｌｅ  ｉｎｔｅｇｒａｔｉｏｎ  ｓｙｓｔｅｍ）についてのＩＥＥＥのトランザクション１１巻、２００３年１２月６日）に示されたものように使用され得る、
図７Ａは、発明の実施例に従う高速ターボ−ＬＤＰＣ復号器のブロック図である。ターボ−ＬＤＰＣ復号器は、パリティチェックサブマトリックス
【数１７】
2011522502.tif 000019
【００５３】
に対応するスーパーコードｃ１、ｃ２、ｃ３およびｃ４に属するビットを反復して復号する。
【００５４】
送信されるコードワードｃＮｘ１に対応する受信される信号ｒＮｘ１は、各々のサイズＮｐｅｒｍ×１であるＮｂａｓｅのベクトル
【数１８】
2011522502.tif 000020
【００５５】
へ分割され、また、複数のシフトレジスタ７４１−７４８へ結合される。パリティチェックノードプロセッサ（ＰＣＮＰ）７２１の第１のバンクは、各シフトレジスタ７４１−７４８（例えばｒ２（６）、ｒ４（２３）…、ｒ２９（２４））の第１段を含む入力を処理するように構成された複数Ｎｐｅｒｍ個のＰＣＮＰ（図７Ｂにおいて示されたＰＣＮＰ７５１−７６０によって表された）を含んでいる。この場合、第１のＰＣＮＰバンク７２１の第１のＰＣＮＰ７５１は、ブロックｒ２（６）、ｒ４（２３）…、ｒ２９（２４）において第１の要素を処理する。第１のＰＣＮＰバンク７２１の第２のＰＣＮＰ７５２は、ブロックｒ２（６）、ｒ４（２３）・・・およびｒ２９（２４）において第２の要素を処理する。第１のＰＣＮＰバンク７２１の第ＮｐｅｒｍのＰＣＮＰ７６０は、ブロックｒ２（６）、ｒ４（２３）・・・およびｒ２９（２４）において第Ｎｐｅｒｍの要素を処理する。これは、再整理なしで、結合の１対１のインデキシングを可能にする。
【００５６】
図７Ｂにおいて、第１のＰＣＮＰバンク７２１のＰＣＮＰ７５１−７６０の各々は、８つの入力を含み、それは８つのブロックシフトレジスタ７４１−７４８に相当する。最初に、ブロックシフトレジスタは、図７に示されるような、受信信号ｒがロードされる。そのローディングが１つのクロックサイクルに生じ得る。代わりの実施例において、ローディングが、そのまま参照により組み込まれる２００６年８月３日に出願された米国特許出願第１１／４６２，２４１号の図１０−１５に示されるシフトレジスタパターンのような１つまたはそれより多い関係するシフトレジスタパターンに関して多数の（例えば４）クロックサイクルにおいて生じ得る。この位置のシフトレジスタ７４１−７４８はパリティチェックサブマトリックス
【数１９】
2011522502.tif 000021
【００５７】
に相当する。それは、４つの構成する復号器のうちの１つに関係する。
【００５８】
第１の反復（それは、図８Ａにおいて例示される）において、ＬＤＰＣ復号器は、パリティチェックサブマトリックス
【数２０】
2011522502.tif 000022
【００５９】
に対応する第１のスーパーコードｃ１に関する受信されるデータビットを復号する。この実施例において、サブマトリックス
【数２１】
2011522502.tif 000023
【００６０】
はＮｂ＝４によって特徴づけられる。したがって、ＬＤＰＣ復号器は４つのパリティチェックノードプロセッサバンク７２１−７２４を含み、また、バンク７２１−７２４はそれぞれＮｐｅｒｍ＝３６のＰＣＮＰを含む。第１のバンク７２１は、
【数２２】
2011522502.tif 000024
【００６１】
の第１のＮｐｅｒｍ行に相当し、第２のバンク７２２は、
【数２３】
2011522502.tif 000025
【００６２】
の第２のＮｐｅｒｍ行に相当し、第３のバンク７２３は、
【数２４】
2011522502.tif 000026
【００６３】
の第３のＮｐｅｒｍ行に相当し、第４のバンク７２４は、
【数２５】
2011522502.tif 000027
【００６４】
の第４のＮｐｅｒｍ行に相当する。
【００６５】
ＰＣＮＰは、メッセージを生成するために入力ベクトルを処理する。例えば、第１のＰＣＮＰバンク７２１は、メッセージ
【数２６】
2011522502.tif 000028
【００６６】
を生成するためにｒ２（６）、ｒ４（２３）・・・ｒ２９（２４）を処理し、それは第１のブロックシフトレジスタ７１１の第１段に記憶される。メッセージの要素はエキスパンダ７０１によって拡張され、次に、ブロックシフトレジスタ７４１に示されるオリジナルのソフトビットに加算される。第２のＰＣＮＰバンク７２２は、メッセージ
【数２７】
2011522502.tif 000029
【００６７】
を生成するためにｒ３（３５）、ｒ６（１５）・・・ｒ２８（１１）を処理し、それは第２のブロックシフトレジスタ７１２の第１段に記憶される。第３のＰＣＮＰバンク７２３は、メッセージ
【数２８】
2011522502.tif 000030
【００６８】
を生成するためにｒ１（６）、ｒ７（３１）・・・ｒ３１（１）を処理し、それは第３のブロックシフトレジスタ７１３の第１段に記憶される。第４のＰＣＮＰバンク７２４は、メッセージ
【数２９】
2011522502.tif 000031
【００６９】
を生成するためにｒ０（３）、ｒ５（１０）・・・ｒ３０（３０）を処理し、それは第４のブロックシフトレジスタ７１４の第１段に記憶される。
【００７０】
第１の反復中にＰＣＮＰバンク７２１−７２４によって生成されたメッセージは拡張され、次に、更新ビット評価値を生成するために対応する第１のビット評価値で合計される。例えば、第１のビット評価値ｒ２（６）は、ｒ２（６）＋Ｅ０［ｒ２（６）］になるように更新される。第１のビット評価値は、固定パーミュータ（ｆｉｘｅｄ  ｐｅｒｍｕｔｅｒ）７３１−７３８によって置換され、また、その結果の置換されたメッセージは、ブロックシフトレジスタ７４１−７４８へ結合される。
【００７１】
図９Ａ−９Ｃは、シフトレジスタ７４１の第１段におけるベクトルが１つの反復（例えば、１つのクロックサイクル）においてどのように処理されるか例示する。図９Ａにおいて、受信される構成要素は、ブロックシフトレジスタ７４１からＰＣＮＰバンク７２１に結合される。図９Ｂでは、ＰＣＮＰバンク７２１はメッセージを生成し、それは更新評価値＋（その後、それは固定パーミュータ７３１によって置換される）を生成するために加算される。図９Ｃで、パーミュータ７３１はｒ２（６）＋Ｅ０［ｒ２（６）］について演算Ｊ０｛｝を実行し、それはｒ２（６）＋Ｅ０［ｒ２（６）］との結果になる。そして、この値はブロックシフトレジスタ７４１の第３段に結合される。
【００７２】
図９Ａ−９Ｃで例示されたプロセスは、さらに、他のシフトレジスタコンテンツに当てはまる。第１の反復の終わりに、シフトレジスタ７４１−７４８のコンテンツはパリティチェックマトリックス
【数３０】
2011522502.tif 000032
【００７３】
に相当する。したがって、発明の実施例に従う単一のＬＤＰＣ復号器は、複数の構成するＬＤＰＣ復号器に代わり得る。
【００７４】
図８Ｂにおいて示される第２の反復において、ＬＤＰＣ復号器は、パリティチェックサブマトリックス
【数３１】
2011522502.tif 000033
【００７５】
に対応する第２のスーパーコードｃ２に関して受信されたデータビットを復号する。第１のバンク７２１は、
【数３２】
2011522502.tif 000034
【００７６】
の第１のＮｐｅｒｍ行に相当し、第２のバンク７２２は、
【数３３】
2011522502.tif 000035
【００７７】
の第２のＮｐｅｒｍ行に相当し、第３のバンク７２３は
【数３４】
2011522502.tif 000036
【００７８】
の第３のＮｐｅｒｍ行に相当し、第４のバンク７２４は、
【数３５】
2011522502.tif 000037
【００７９】
の第４のＮｐｅｒｍ行に相当する。
【００８０】
第１のＰＣＮＰバンク７２１は、メッセージ
【数３６】
2011522502.tif 000038
【００８１】
を生成するためにｒ２（６）＋Ｅ０［ｒ２（６）］、ｒ４（２３）＋Ｅ０［ｒ４（２３）］、・・・ｒ２９（２４）＋Ｅ０［ｒ２９（２４）］を処理し、それは最初のブロックシフトレジスタ７１１の第１段に記憶される。第１段に前もって存在するメッセージ
【数３７】
2011522502.tif 000039
【００８２】
は、レジスタ７１１の第２段へシフトされる。第２のＰＣＮＰバンク７２２は、メッセージ
【数３８】
2011522502.tif 000040
【００８３】
を生成するためにｒ３（３５）＋Ｅ０［ｒ３（３５）］、ｒ６（１５）＋Ｅ０［ｒ６（１５）］、・・・ｒ２８（１１）＋Ｅ０［ｒ２８（１１）］を処理し、それは第２のブロックシフトレジスタ７２１の第１段に記憶される。メッセージ
【数３９】
2011522502.tif 000041
【００８４】
は、レジスタ７１２の第１段から第２段へシフトされる。
【００８５】
第３のＰＣＮＰバンク７２３は、メッセージ
【数４０】
2011522502.tif 000042
【００８６】
を生成するためにｒ１（６）＋Ｅ０［ｒ１（６）］、ｒ７（３１）＋Ｅ０［ｒ７（３１）］、…ｒ３１（１）＋Ｅ０［ｒ３１（１）］を処理し、それは第３のブロックシフトレジスタ７１３の第１段に格納され、メッセージ
【数４１】
2011522502.tif 000043
【００８７】
は第１段から第２段へシフトされる。第４のＰＣＮＰバンク７２４は、メッセージ
【数４２】
2011522502.tif 000044
【００８８】
を生成するために、ｒ０（３）＋Ｅ０［ｒ０（３）］、ｒ５（１０）＋Ｅ０［ｒ５（１０）］、・・・ｒ３０（３０）＋Ｅ０［ｒ３０（３０）］を処理し、それは第１段に記憶され、メッセージ
【数４３】
2011522502.tif 000045
【００８９】
は、第４のブロックシフトレジスタ７１４の第１段から第２段へシフトされる。
【００９０】
第２の反復中の間にＰＣＮＰバンク７２１−７２４によって生成されたメッセージは、拡張され、次に、更新ビット評価値を生成する第１の反復からの対応するビット評価値で合計された。例えば、第１の反復の間に生成された評価値ｒ２（６）＋Ｅ０［ｒ２（６）］からの更新ビット評価値は、ｒ２（６）＋Ｅ０［ｒ２（６）］＋Ｅ１［ｒ２（６）］である。更新ビット評価値は、固定パーミュータ７３１−７３８によって置換され、また、その結果置換されたメッセージは、ブロックシフトレジスタ７４１−７４８へ結合される。
【００９１】
図８Ｃは第３の反復中にＬＤＰＣ復号器の状態を例示する。ＬＤＰＣ復号器はスーパーコードｃ３に関して受信されるビットを復号し、それはパリティチェックサブマトリックス
【数４４】
2011522502.tif 000046
【００９２】
に相当する。第１のバンク７２１は、
【数４５】
2011522502.tif 000047
【００９３】
の第１のＮｐｅｒｍ行に相当し、第２のバンク７２２は、
【数４６】
2011522502.tif 000048
【００９４】
の第２のＮｐｅｒｍ行に相当し、第３のバンク７２３は、
【数４７】
2011522502.tif 000049
【００９５】
び第３のＮｐｅｒｍ行に相当し、第４のバンク７２４は、
【数４８】
2011522502.tif 000050
【００９６】
の第４のＮｐｅｒｍ行に相当する。
【００９７】
第１のＰＣＮＰバンク７２１は、メッセージ
【数４９】
2011522502.tif 000051
【００９８】
を生成するためにｒ２（６）＋Ｅ０［ｒ２（６）］＋Ｅ１［ｒ２（６）］、ｒ４（２３）＋Ｅ０［ｒ４（２３）］＋Ｅ１［ｒ４（２３）］、・・・、ｒ２９（２４）＋Ｅ０［ｒ２９（２４）］＋Ｅ１［ｒ２９（２４）］を処理し、それは、第１のブロックシフトレジスタ７１１の第１段に記憶される。第１段に前もって存在するメッセージ
【数５０】
2011522502.tif 000052
【００９９】
は、第２の段へシフトされ、また、第２段に前もって存在するメッセージ
【数５１】
2011522502.tif 000053
【０１００】
は、レジスタ７１１の第３段へシフトされる。
【０１０１】
第２のＰＣＮＰバンク７２２は、メッセージ
【数５２】
2011522502.tif 000054
【０１０２】
を生成するためにｒ３（３５）＋Ｅ０［ｒ３（３５）］＋Ｅ１［ｒ３（３５）］、ｒ６（１５）＋Ｅ０［ｒ６（１５）］＋Ｅ１［ｒ６（１５）］、・・・、ｒ２８（１１）＋Ｅ０［ｒ２８（１１）］＋Ｅ１［ｒ２８（１１）］を処理し、それは第２のブロックシフトレジスタ７２１の第１段に記憶される。メッセージ
【数５３】
2011522502.tif 000055
【０１０３】
は第１段から第２段へシフトされ、また、メッセージ
【数５４】
2011522502.tif 000056
【０１０４】
は、第２段からレジスタ７１２の第３段へ移される。
【０１０５】
第３のＰＣＮＰバンク７２３は、メッセージ
【数５５】
2011522502.tif 000057
【０１０６】
を生成するためにｒ１（６）＋Ｅ０［ｒ１（６）］＋Ｅ１［ｒ１（６）］、ｒ７（３１）＋Ｅ０［ｒ７（３１）］＋Ｅ１［ｒ７（３１）］、・・・、ｒ３１（１）＋Ｅ０［ｒ３１（１）］＋Ｅ１［ｒ３１（１）］を処理し、それは、第３のブロックシフトレジスタ７１３の第１段に記憶される。メッセージ
【数５６】
2011522502.tif 000058
【０１０７】
は第１段から第２段へシフトされ、また、メッセージ
【数５７】
2011522502.tif 000059
【０１０８】
は、シフトレジスタ７１３の第１段から第３段へシフトされる。
【０１０９】
第４のＰＣＮＰバンク７２４は、メッセージ
【数５８】
2011522502.tif 000060
【０１１０】
を生成するためにｒ０（３）＋Ｅ０［ｒ０（３）］＋Ｅ１［ｒ０（３）］、ｒ５（１０）＋Ｅ０［ｒ５（１０）］＋Ｅ１［ｒ５（１０）］、・・・、ｒ３０（３０）＋Ｅ０［ｒ３０（３０）］＋Ｅ１［ｒ３０（３０）］を処理し、それは、第４のブロックシフトレジスタ７１４の第１段に記憶される。メッセージ
【数５９】
2011522502.tif 000061
【０１１１】
は第１段から第２段へシフトされ、また、メッセージ
【数６０】
2011522502.tif 000062
【０１１２】
は、第４のブロックシフトレジスタ７１４の第２段から第３段へシフトされる。
【０１１３】
第３の反復中の間にＰＣＮＰバンク７２１−７２４によって生成されたメッセージは拡張され、次に、更新ビット評価値を生成する第２の反復からの対応するビット評価値で合計された。例えば、以前の評価値ｒ２（６）＋Ｅ０［ｒ２（６）＋Ｅ１［ｒ２（６）］に対する更新評価値は、ｒ２（６）＋Ｅ０［ｒ２（６）］＋Ｅ１［ｒ２（６）］＋Ｅ２［ｒ２（６）］である。更新ビット評価値は、固定パーミュータ７３１−７３８によって置換され、また、その結果の置換されたメッセージは、ブロックシフトレジスタ７４１−７４８へ結合される。
【０１１４】
図８Ｄは第４の反復の間のＬＤＰＣ復号器の状態を例示する。ＬＤＰＣ復号器は、パリティチェックサブマトリクス
【数６１】
2011522502.tif 000063
【０１１５】
に対応するスーパーコードｃ４に関して受信ビットを復号する。第１のバンク７２１は、
【数６２】
2011522502.tif 000064
【０１１６】
の第１のＮｐｅｒｍ行に相当し、第２のバンク７２２は、
【数６３】
2011522502.tif 000065
【０１１７】
の第２のＮｐｅｒｍ行に相当し、第３のバンク７２３は、
【数６４】
2011522502.tif 000066
【０１１８】
の第３のＮｐｅｒｍ行に相当し、第４のバンク７２４は、
【数６５】
2011522502.tif 000067
【０１１９】
の４番目のＮｐｅｒｍ行に相当する。
【０１２０】
第１のＰＣＮＰバンク７２１は、メッセージ
【数６６】
2011522502.tif 000068
【０１２１】
を生成するためにｒ２（６）＋Ｅ０［ｒ２（６）］＋Ｅ１［ｒ２（６）］＋Ｅ２［ｒ２（６）］、ｒ４（２３）＋Ｅ０［ｒ４（２３）］＋Ｅ１［ｒ４（２３）］＋Ｅ２［ｒ４（２３）］、・・・、ｒ２９（２４）＋Ｅ０［ｒ２９（２４）］＋Ｅ１［ｒ２９（２４）］＋Ｅ２［ｒ２９（２４）］を処理し、それは、第１のブロックシフトレジスタ７１１の第１段に記憶される。  第１段に前もって存在するメッセージ
【数６７】
2011522502.tif 000069
【０１２２】
は、第２段へシフトされ、第２段に前もって存在するメッセージ
【数６８】
2011522502.tif 000070
【０１２３】
は、第３段へシフトされる。
【０１２４】
第３段に前もって存在するメッセージ
【数６９】
2011522502.tif 000071
【０１２５】
は、レジスタ７１１の外で結合され、エキスパンダ７０２によって拡張され、次に、第４の反復において生成された置換される更新ビット評価値から減算される。例えば、前の評価値ｒ２（６）＋Ｅ０［ｒ２（６）］＋Ｅ１［ｒ２（６）］＋Ｅ２［ｒ２（６）］のための最初の更新評価値は、ｒ２（６）＋Ｅ０［ｒ２（６）］＋Ｅ１［ｒ２（６）］＋Ｅ２［ｒ２（６）］＋Ｅ３［ｒ２（６）］である。最初の更新ビット評価値は、固定パーミュータ７３１−７３８によって置換され、また、メッセージＥ０［ｒ２（６）］は、最終の更新ビット評価値を生成する、その結果置換されたビット評価値から減算され、それはブロックシフトレジスタ７４１−７４８に記憶される。記憶された値は、第５の反復において、ＬＤＰＣ復号器によって使用され、また、これらのステップは続いて起こる反復のために繰り返される。したがって、この実施例中で表されるＬＤＰＣ復号器は、ＰＣＮＰバンク７２１−７２４の以前の３サイクルによって生成された外部情報（すなわち、メッセージ）を取り除く。
【０１２６】
第２のＰＣＮＰバンク７２２は、メッセージ
【数７０】
2011522502.tif 000072
【０１２７】
を生成するためにｒ３（３５）＋Ｅ０［ｒ３（３５）］＋Ｅ１［ｒ３（３５）］＋Ｅ２［ｒ３（３５）］、ｒ６（１５）＋Ｅ０［ｒ６（１５）］＋Ｅ１［ｒ６（１５）］＋Ｅ２［ｒ６（１５）］、・・・、ｒ２８（１１）＋Ｅ０［ｒ２８（１１）］＋Ｅ１［ｒ２８（１１）］＋Ｅ２［ｒ２８（１１）］を処理し、それは第２のブロックシフトレジスタ７２１の第１段に記憶される。メッセージ
【数７１】
2011522502.tif 000073
【０１２８】
は、第１段から第２段へシフトされ、また、メッセージ
【数７２】
2011522502.tif 000074
【０１２９】
は、レジスタ７１２の第２段から第３段へシフトされる。メッセージ
【数７３】
2011522502.tif 000075
【０１３０】
はエキスパンダ７０１によって拡張され、レジスタ７１２の外で結合され、更新ビット評価値の生成のために置換されたビット評価値が減算される。
【０１３１】
第３のＰＣＮＰバンク７２３は、メッセージ
【数７４】
2011522502.tif 000076
【０１３２】
を生成するためにｒ１（６）＋Ｅ０［ｒ１（６）］＋Ｅ１［ｒ１（６）］＋Ｅ２［ｒ１（６）］、ｒ７（３１）＋Ｅ０［ｒ７（３１）］＋Ｅ１［ｒ７（３１）］＋Ｅ２［ｒ７（３１）］、・・・、ｒ３１（１）＋Ｅ０［ｒ３１（１）］＋Ｅ１［ｒ３１（１）］＋Ｅ２［ｒ３１（１）］を処理し、それは、第３のブロックシフトレジスタ７１３の第１段に記憶される。メッセージ
【数７５】
2011522502.tif 000077
【０１３３】
は第１段から第２段へシフトされ、また、メッセージ
【数７６】
2011522502.tif 000078
【０１３４】
は、ブロックシフトレジスタ７１３の第２段から第３段へシフトされる。メッセージ
【数７７】
2011522502.tif 000079
【０１３５】
はエキスパンダ７０１によって拡張して、レジスタ７１３の外で結合され、更新ビット評価値を生成するために置換されたビット評価値から減算される。
【０１３６】
第４のＰＣＮＰバンク７２４は、メッセージ
【数７８】
2011522502.tif 000080
【０１３７】
を生成するためにｒ０（３）＋Ｅ０［ｒ０（３）］＋Ｅ１［ｒ０（３）］＋Ｅ２［ｒ０（３）］、ｒ５（１０）＋Ｅ０［ｒ５（１０）］＋Ｅ１［ｒ５（１０）］＋Ｅ２［ｒ５（１０）］、・・・、ｒ３０（３０）＋Ｅ０［ｒ３０（３０）］＋Ｅ１［ｒ３０（３０）］＋Ｅ２［ｒ３０（３０）］を処理し、それは、第４のブロックシフトレジスタ７１４の第１段に記憶される。メッセージ
【数７９】
2011522502.tif 000081
【０１３８】
は第１段から第２の段へシフトされ、また、メッセージ
【数８０】
2011522502.tif 000082
【０１３９】
は、第４のブロックシフトレジスタ７１４の第２段から第３段へシフトされる。メッセージ
【数８１】
2011522502.tif 000083
【０１４０】
はエキスパンダ７０１によって拡張され、レジスタ７１４の外で結合され、更新ビット評価値の生成のために置換されたビット評価値から減算される。
【０１４１】
図面中で表され、ここに記載された復号器のアーキテクチャのいくつかの有利な特徴は、単純で低コストのメモリアーキテクチャおよび単純な固定結合を含む。更に、発明の実施例は複雑な読み／書きネットワークあるいは複雑なプログラム可能なパーミュータの必要を回避するように構成され得る。発明の実施例の追加の特徴および利点は当業者によって評価されるだろう。
【０１４２】
発明の１つの実施例では、各ＰＣＮＰは以下のように機能するように構成される。ＰＣＮＰへの信号入力はｉ１、ｉ２、・・・、ｉ８として表示され、ここでは、各入力符号付き大きさ表現ｉｋ＝［ｓｋａｋ］を有し、ここでは、ｓｋが符号ビット（例えば、肯定な場合０、そして、否定の場合１）であり、ａｋは、入力の信頼性を表わす。各大きさａｋは、ａｋ（１：ｍ）として書かれたｍビットの２進法の表現として表現され得、ここで、ａｋ（１）が最上位ビット（ｍｓｂ）を表わし、ａｋ（ｍ）が最下位ビット（ｌｓｂ）を表わす。
【０１４３】
ＰＣＮＰは８個の入力ｉ１、ｉ２、・・・、ｉ８を取り、８個の出力ｏ１、ｏ２、・・・、ｏ８を生成する。
【０１４４】
先行技術のＬＤＰＣのインプリメンテーションにおいて、８個の出力ｏ１、ｏ２、・・・、ｏ８、は記憶され、また、含まれる計算は複雑である。
【０１４５】
図１０は、発明の実施例に従って圧縮されるＰＣＮＰ信号出力のためのフレームフォーマットを示す。フレームフォーマットは、入力符号ビットｓ１…、ｓ８  １００１のＸＯＲであるｓビット１０００を含んでおり、
【数８２】
2011522502.tif 000084
【０１４６】
と表記される。フレームフォーマット、さらに、Ｍ１１００４およびＭ２１００５の記号を含んでおり、それらは、それぞれ、ａ１、・・・、ａ８の記憶されたリストの第１と第２の最小値であり、また、
【数８３】
2011522502.tif 000085
【０１４７】
として表現される。
【０１４８】
発明の１つの実施例において、Ｍ１は、図１１に示されるように、標準の登録されたまたは登録されていない最小値ツリーを使用して計算されることができる。同様に、Ｍ２は図１１に示されるプロセスを複製することにより計算され得るが、Ｍ１に対応するａｋ入力を除外する。
【０１４９】
図１２は、必要メモリを縮小するためにＭ１およびＭ２（Ｋ＝８）の効率的な計算に備える発明の他の実施例を示す。この実施例はハードウェアとソフトウェアのどんな組合せも使用してインプリメントされてもよい。第１のＡＮＤゲート１２０１は、
【数８４】
2011522502.tif 000086
【０１５０】
で表現される、第１の最低値Ｍ１（１）を生成するために入力ａ１（１）、ａ２（１）・・・ａＫ（１）に関する論理ＡＮＤ機能を提供し、ここで、
【数８５】
2011522502.tif 000087
【０１５１】
が論理ＡＮＤ機能を示す。
【０１５２】
ＸＯＲゲート１２１１−１２１８の第１の組は、ＡＮＤゲート１２０１の出力と入力ａｋ（１）、ｋ＝１、・・・、Ｋに結合される。例えば、ＸＯＲゲート１２１１は、ｔ１（１）を生成するためにＭ１（１）およびａ１（１）についての論理ＸＯＲ演算を提供し、ＸＯＲゲート１２１２は、ｔ２（１）を生成するためにＭ１（１）およびａ２（１）についての論理ＸＯＲ演算を提供し、ＸＯＲゲート１２１８は、ｔＫ（１）を生成するためにＭ１（１）およびａＫ（１）についての論理ＸＯＲ演算を提供する。
【数８６】
2011522502.tif 000088
【０１５３】
ｔｋ（１）の値のすべてのＫは、指標ビットｊ１を生成するために加算器１２４１において合計される。
【０１５４】
最小値Ｍ１（２）は、合計により生成される、複数Ｋ個の合計される値を生成するために各ｋについての加算器１２５１−１２５８においてｔｋ（１）およびａｋ（２）の値を合計することにより生成され、合計された値［ｔｋ（１）＋ａｋ（２）］を第２のＡＮＤゲート１２０２へ入力することが後に続き、それは、合計された値についての論理ＡＮＤ機能を提供し、
【数８７】
2011522502.tif 000089
【０１５５】
と表示される。
【０１５６】
第２の組のＸＯＲゲート１２２１−１２２８は、ＡＮＤゲート１２０２の出力と入力ａｋ（２）、ｋ＝１、・・・、Ｋの出力に結合される。ＸＯＲゲート１２２１は、ｔ１（２）を生成するためにＭ１（２）およびａ１（２）についての論理ＸＯＲ演算を行なうように構成され、ＸＯＲゲート１２２２は、ｔ２（２）を生成するためにＭ１（２）およびａ２（２）についての論理ＸＯＲ演算を行ない、また、ＸＯＲゲート１２２８は、ｔＫ（２）を生成するためにＭ１（２）およびａＫ（２）についての論理ＸＯＲ演算を行なう。ＸＯＲの第２の組のＸＯＲゲート１２２１−１２２８の出力は、
【数８８】
2011522502.tif 000090
【０１５７】
である。ｔｋ（２）の値の全てＫは、第２の指標ビットｊ２を生成するために加算器１２４２において合計される。
【０１５８】
複数Ｋ個の加算器１２６１−１２６８は、ＸＯＲゲート１２２１−１２２８の第２の組と、ＸＯＲゲート１２２１−１２２８の第１の組と、入力ａｋ（２）、ｋ＝１、・・・、Ｋとに結合される。加算器１２６１−１２６８（［ｔｋ（１）＋ｔｋ（２）＋ａｋ（３）］によって表現された）の出力は、論理ＡＮＤ演算を行なうために構成された第３のＡＮＤゲート１２０３によって処理される。ＡＮＤゲート１２０３の出力は、最小値のＭ１（３）であり、それは
【数８９】
2011522502.tif 000091
【０１５９】
と表示される。
【０１６０】
ＸＯＲゲート１２３１−１２３８の第３の組はＡＮＤゲート１２０３の出力と入力ａｋ（３）、ｋ＝１、・・・、Ｋとに結合される。ＸＯＲゲート１２３１は、ｔ１（２）を生成するためにＭ１（３）およびａ１（３）についての論理ＸＯＲ演算を行なうように構成され、ＸＯＲゲート１２３２は、ｔ２（２）を生成するためにＭ１（３）およびａ２（３）について論理ＸＯＲ演算を行ない、また、ＸＯＲゲート１２３８は、ｔＫ（２）を生成するためにＭ１（３）およびａＫ（３）についての論理ＸＯＲ演算を行なう。したがって、ＸＯＲゲート１２３１−１２３８の第３の組の出力は、ｋ＝１、・・・、Ｋについて
【数９０】
2011522502.tif 000092
【０１６１】
である。ｔｋ（３）の値のすべてのＫは、第３の指標ビットｊ３を生成するために加算器１２４３において合計される。
【０１６２】
指標ビットｊ１、・・・、ｊＫ１００２の各々は、
【数９１】
2011522502.tif 000093
【０１６３】
を使用して計算されるので、図１０で示される指標ビットｊｋ１００２の組は１組の信頼性値ａｋのどれがＭ１に相当するか（ｊｋ＝１）、あるいは、しないか（ｊｋ＝０）を示すように構成される。
【数９２】
2011522502.tif 000094
【０１６４】
この圧縮はメモリ必要量を大幅に縮小することができる。
【０１６５】
Ｍ２の計算については、関数ｆ（．）は
【数９３】
2011522502.tif 000095
【０１６６】
として定義される、ここで、ΣがＯＲゲートの関数を示す。ここで、
【数９４】
2011522502.tif 000096
【０１６７】
・・・
であり、ここで、
【数９５】
2011522502.tif 000097
【０１６８】
であり、また、
【数９６】
2011522502.tif 000098
【０１６９】
である。
【０１７０】
エキスパンダ（エキスパンダ７０１および７０２のどちらかのような）は、出力信号ｏ１、ｏ２、…、ｏ８を計算するために圧縮されるＰＣＮＰ出力信号を処理する。
【０１７１】
例えば、エキスパンダは
【数９７】
2011522502.tif 000099
【０１７２】
の演算を行なうように構成され得る。
【０１７３】
図１３Ａは、発明の実施例に従って固定連結を有する、図８Ａにおいて示されるパーミュータ７３１のような第１のパーミュータを例示する。第１のパーミュータは、シフトされた恒等マトリックスＪ３３、Ｊ０、Ｊ３２およびＪ７のそれぞれに対応する複数個のマトリックス演算子１３０１、１３０２、１３０３および１３０４に対して固定結合を持っている複数のベクトル入力（最初の列ベクトル）を含む。第１のパーミュータの関数はマトリックスＡ０によって表わされ得る。ここで、
【数９８】
2011522502.tif 000100
【０１７４】
マトリックスＡ０の関数は、
【数９９】
2011522502.tif 000101
【０１７５】
によって表現され、それは最終の列ベクトルを生成するために最初の列ベクトルについて演算する。
【０１７６】
マトリックスＡ０は、メッセージと評価値が追加される前にビットｒ０、・・・、ｒ３の軟判定の評価によりＰＣＮＰからのメッセージを整列させるために使用される固定結合（すなわち置換）を表わす。具体的には、ｒ３（３５）はｒ３（０６）を生成するためにＪ７によってシフトされ、最初の列ベクトルの第２列から最終の列ベクトルの第１列までシフトされる。第４の行要素ｒ０（０３）は、ｒ０（３５）を生成するためにＪ３２によってシフトされ、それは最終の列ベクトルの第２行に置かれる。第１の行要素ｒ２（０６）は変更を経験しないが、最初の列ベクトルの第１行から最終列ベクトルの第３行まで再配置される。３番目の行エレメントｒ１（０６）はｒ１（０３）を生産するためにＪ３３によって変えられる。それは最終列ベクトルの４番目の行として格納される。
【０１７７】
図１３Ｂは、発明の実施例に従って固定結合を有し、図８Ａにおいて示されるパーミュータ７３２のような第２のパーミュータを例示する。第２のパーミュータは、シフトされた恒等マトリックスＪ３１、Ｊ８、Ｊ２０およびＪ１３に対応する複数のマトリックス演算子１３１１、１３１２、１３１３および１３１４に対する固定結合を持っている複数のベクトル入力（最初の列ベクトル）をそれぞれ含む。第２のパーミュータの関数はマトリックスＡ１によって表わされ得る。ここで、
【数１００】
2011522502.tif 000102
【０１７８】
マトリックスＡ１の関数は、
【数１０１】
2011522502.tif 000103
【０１７９】
で表現され、それは最終の列ベクトルを生成するために最初の列ベクトルについて演算する。
【０１８０】
マトリックスＡ１は、メッセージと評価値が追加される前にビットｒ４、・・・、ｒ７の軟判定の評価によりＰＣＮＰからのメッセージを整列させるために使用される固定連結（すなわち、置換）を表わす。具体的には、ｒ５（１０）は、ｒ５（２３）を生成するためにＪ１３によってシフトされ、最初の列ベクトルの第４行から最終の列ベクトルの第１行まで移動される。第３の行要素ｒ７（３１）はｒ７（１５）を生成するためにＪ２０によって変えられる。それは最終の列ベクトルの第２列に置かれる。第１の行要素ｒ４（２３）は、ｒ４（３１）を生成するためにＪ８によってシフトされ、最終の列ベクトルの第３行に再配置される。第２の列要素ｒ６（１５）は、ｒ６（１０）を生成するためにＪ３１によってシフトされ、それは最終の列ベクトルの第４行として記憶される。
【０１８１】
図１３Ｃは、発明の実施例に従って固定結合を有し、図８Ａにおいて示されるパーミュータ７３８のような第８のパーミュータを例示する。第８のパーミュータは、シフトされた恒等マトリックスＪ２９、Ｊ２６、Ｊ２３およびＪ３０に対応する複数のマトリックス演算子１３８１、１３８２、１３８３および１３８４に対する固定連結を有する複数のベクトル入力（最初の列ベクトル）をそれぞれ含む。第８のパーミュータの関数はマトリックスＡ７によって表わされ得る。ここで
【数１０２】
2011522502.tif 000104
【０１８２】
マトリックスＡ７の関数は、
【数１０３】
2011522502.tif 000105
【０１８３】
で表現され、それは、最終の列ベクトルを生成するために最初の列ベクトルについて演算する。
【０１８４】
マトリックスＡ７は、メッセージと評価値が追加される前に、ビットｒ２８、・・・、ｒ３１の軟判定の評価によりＰＣＮＰからのメッセージを整列させるために使用される固定結合（つまり置換）を表わす。具体的には、ｒ３０（３０）は、ｒ３０（２４）を生成するためにＪ３０によってシフトされ、最初の列ベクトルの第４行から最終の列ベクトルの第１行まで移動される。第１の列要素ｒ２９（２４）は、ｒ２９（１１）を生成するためにＪ２３によってシフトされ、それは最終の列ベクトルの第２行に置かれる。第２の列要素ｒ２８（１１）は、ｒ２８（０１）を生成するためにＪ２６によってシフトされ、最終の列ベクトルの第３行に再配置される。第３の行要素ｒ３１（３０）は、ｒ３１（３０）を生成するためにＪ２９によってシフトされ、それは最終の列ベクトルの第４行として記憶される。
【０１８５】
置換マトリックス（ｐｅｒｍｕｔａｔｉｏｎ  ｍａｔｒｉｘ）Ａ０、Ａ１、・・・、Ａ７はある反復から別の反復まで変化せず、したがって、ビットｒ０、・・・、ｒ３１の軟判定の評価によりＰＣＮＰ７２１−７２４からのメッセージを整列させる固定結合を表わす。
【０１８６】
これらの固定結合は、ＬＤＰＣにおける相互接続を単純化し、減少された復号器の複雑さをイネーブルし、より速い復号化速度を可能にする。
【０１８７】
図１４は、高速処理のためのパイプライン化された構成を使用する復号器のブロック図である。１組の遅延素子７６１−７６４は、各ＰＣＮＰ７２１−７２４の出力に対するパイプライン遅れＤｄを提供し、そこではパイプライン遅れｄは任意の値を有し得る整数である。パーミュータ７７１および７８１は置換マトリックス（Ａ０）ｄを使用し、パーミュータ７７２および７８２は置換マトリックス（Ａ１）ｄを使用し、また、パーミュータ７７８および７８８は置換マトリックス（Ａ７）ｄを使用する。
【０１８８】
図１４において示される復号器は、さらに、マルチレート復号（例えば、レート１／２、レート３／４、およびレート７／８、・・・）をサポートする。例えば、レート３／４用のサブマトリックス
【数１０４】
2011522502.tif 000106
【０１８９】
（あるいは指数マトリックス
【数１０５】
2011522502.tif 000107
【０１９０】
）は、
【数１０６】
2011522502.tif 000108
【０１９１】
からの各ペアのブロック行を１つのブロック行に組み合わせることによりサブマトリックス
【数１０７】
2011522502.tif 000109
【０１９２】
から構築することができる。これは、２つの異なる組のビットをチェックする
【数１０８】
2011522502.tif 000110
【０１９３】
において２つの行が全てのビットをオリジナルの２つの組に結合する一つの組をチェックする
【数１０９】
2011522502.tif 000111
【０１９４】
において単一の行に結合されることを意味する。したがって、発明の実施例は、復号器のサイズおよび複雑さを軽減するするマルチレート処理用の共通の復号アーキテクチャを含み得る。
【０１９５】
図１５は、発明の実施例に従うＬＤＰＣ復号方法のフロー図である。ＰＣＮＰバンクの第１のレート１／２のＰＣＮＰ１５０１は、入力
【数１１０】
2011522502.tif 000112
【０１９６】
の第１の組を処理するために構成され、またＰＣＮＰバンクの第２のレート１／２のＰＣＮＰ１５０２は入力
【数１１１】
2011522502.tif 000113
【０１９７】
の第２の組を処理するために構成される。第１のＰＣＮＰ１５０１はレート１／２のパリティチェックマトリックス
【数１１２】
2011522502.tif 000114
【０１９８】
の第１行に相当するし、また、第２のＰＣＮＰ１５０２はパリティチェックマトリックス
【数１１３】
2011522502.tif 000115
【０１９９】
の第２行に相当する。コンバータ１５０３は、同じレート１／２のＬＤＰＣがレート３／４の入力を処理するために使用されるように出力１５１１および１５１２を修正するよう構成される。具体的には、出力１５１１および１５１２は、コンバータ１５０３によって以下のように修正される。
【数１１４】
2011522502.tif 000116
【０２００】
図１６は、発明の別の実施例に従うＬＤＰＣ復号方法のフロー図である。ＰＣＮＰバンクの第１のレート１／２のＰＣＮＰ１６０１は、入力
【数１１５】
2011522502.tif 000117
【０２０１】
の第１の組を処理するために構成され、ＰＣＮＰバンクの第２のレート１／２のＰＣＮＰ１６０２は、入力
【数１１６】
2011522502.tif 000118
【０２０２】
の第２の組を処理するために構成され、ＰＣＮＰバンクの第３のレート１／２のＰＣＮＰ１６０３は、入力
【数１１７】
2011522502.tif 000119
【０２０３】
の第３の組を処理するために構成され、ＰＣＮＰバンクの第４のレート１／２のＰＣＮＰ１６０４は、入力
【数１１８】
2011522502.tif 000120
【０２０４】
の第４の組を処理するために構成される。
【０２０５】
第１のコンバータ１６１１は、レート３／４に相当する第１の出力
【数１１９】
2011522502.tif 000121
【０２０６】
と第２の出力
【数１２０】
2011522502.tif 000122
【０２０７】
を生成するために、フレームフォーマット
【数１２１】
2011522502.tif 000123
【０２０８】
を有する第１のＰＣＮ１６０１からの出力と、フレームフォーマット
【数１２２】
2011522502.tif 000124
【０２０９】
を有する第２のＰＣＮＰ１６０２からの出力とを処理する。第２のコンバータ１６１２は、レート３／４に対応する、第３の出力
【数１２３】
2011522502.tif 000125
【０２１０】
と第４の出力
【数１２４】
2011522502.tif 000126
【０２１１】
を生成するために、フレームフォーマット
【数１２５】
2011522502.tif 000127
【０２１２】
を有する第３のＰＣＮＰ１６０３からの出力と、フレームフォーマット
【数１２６】
2011522502.tif 000128
【０２１３】
を有する第４のＰＣＮＰ１６０４からの出力を処理する。
【０２１４】
第３のコンバータ１６１３は、レート７／８に対応する出力
【数１２７】
2011522502.tif 000129
【０２１５】
と
【数１２８】
2011522502.tif 000130
【０２１６】
を生成するために、第１と第３のレート３／４の出力を処理する。第４のコンバータ１６１４は、レート７／８に相当する出力
【数１２９】
2011522502.tif 000131
【０２１７】
と
【数１３０】
2011522502.tif 000132
【０２１８】
を生成するために第２と第４のレート３／４の出力を処理する。
【０２１９】
発明の装置と方法の実施例がさまざまなハードウェアおよびソフトウェアを使用してインプリメントされ得ることが認識されるべきである。例えば、ここに記載された機能的なステップの１つ以上は、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：ＡＳＩＣ）のような特定用途のハードウェア、およびゲートアレーのようなプログラマブルロジックデバイス、および／または、ソフトウェアあるいはマイクロプロセッサ、マイクロコントローラあるいはデジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ：ＤＳＰ）のようなコンピューティング装置上でランするソフトウェアまたはファームウェアを使用してインプリメントされ得る。ＬＤＰＣ復号化機能は単一のＡＳＩＣのような単一の装置に統合されてもよいが、さらに、それらがいくつかの装置に分配されてもよいことはさらに認識されるだろう。
【０２２０】
その発明は、好ましい実施例に限定されることは意図されない。更に、当業者は、ここに記載された方法と装置の実施例がそれのハードウェア、ソフトウェア、ファームウェアあるいはそれらの様々な組合せにおけるインプリメンテーションを含むさまざまな方法でインプリメントされてもよいことを認識するべきである。そのようなハードウェアの例はＡＳＩＣ、フィールド・プログラマブル・ゲート・アレイ、汎用プロセッサ、ＤＳＰおよび／または他の回路類を含み得る。発明のソフトウェアおよび／またはファームウェアのインプリメンテーションは、Ｊａｖａ（登録商標）、Ｃ、Ｃ＋＋、マットラブＴＭ（ＭａｔｌａｂＴＭ）、ベリログ（Ｖｅｒｉｌｏｇ）、ＶＨＤＬおよび／またはプロセッサに特有のマシン言語およびアセンブリ言語を含むプログラミング言語の任意の組合せによってインプリメントされ得る。
【０２２１】
本発明の方法を実現するコンピュータプログラム（つまりソフトウェアおよび（または）ファームウェア）は、ＳＩＭカード、ＵＳＢメモリインターフェースあるいは他のコンピュータ読み取り可能なメモリのような配布媒体上で存在してもよい。同様に、コンピュータプログラムはワイヤードネットワークインターフェースまたはワイヤレスネットワークインターフェースによってユーザに配布され得る。そこから、それらは、ハードディスクあるいは同様の中間の記憶媒体にしばしばコピーされるだろう。プログラムがランされる時に、それらは、この発明の方法に従って動作するために、それらの配布媒体あるいはそれらの中間記憶媒体のいずれかから、デジタルコンピュータ（例えばマイクロプロセッサ）に搭載されている実行メモリにロードされ得る。これらの演算はすべてコンピュータシステムの当業者によく知られている。
【０２２２】
用語「コンピュータ読み取り可能媒体」は、デジタルコンピュータシステムによって本発明の方法をインプリメントするコンピュータプログラムを記憶し、後で読むことができる、分配媒体、中間記憶媒体、コンピュータの実行メモリ、および、他の媒体または装置を包含する。
【０２２３】
さまざまなデジタルコンピュータシステム構成は、本発明の方法の実施例を実行するのも利用されることができ、また、特有のシステム構成が本発明の方法の実施例を実行することができる程度まで、それは、ここで開示された発明の代表的な実施例と等価であり、本発明の範囲および精神の範囲内にある。
【０２２４】
一旦デジタルコンピュータシステムが、発明の方法の実施例をインプリメントするプログラムソフトウェアからの命令に準ずる特定機能を実行するようにプログラムされれば、そのようなデジタルコンピュータシステムは、有効に本発明の方法の実施例に特有の特定用途コンピュータになる。このプログラミングに必要な技術はコンピュータシステムの当業者によく知られている。
【０２２５】
発明のさまざまな実施例は、システム構成における変動、および方法が提供されるステップの順序を含み得る。多くの場合では、多数のステップおよび／または多数のコンポーネントは統合され得る。
【０２２６】
ここに単に記載された方法とシステムの実施例は、本発明の特有の実施例を例示する。当業者が、さまざまな仕組みを工夫することができ、それらは、明示的にここに記載されまたは示されなかいが、それは、発明の原理を具体化し、その精神と範囲の内に含まれることが認識されるべきである。更に、ここに列挙された例および条件付きの言語はすべて、読者が発明の法則を理解するのを援助する教育的目的向けのみであるように意図される。この開示およびその関連する参照は、そのような特に列挙された例および条件への制限がないこととして解釈されるべきである。さらに、それの特有の例と同様にここに列挙される、発明の原理、態様および実施例におけるすべてのステートメントは、それの構造的なおよび機能的な等価物を包含するように意図される。さらに、そのような等価物が現在よく知られている等価のものだけでなく、将来開発される等価のもの、すなわち、構造にかかわらず、同じ機能を実行する開発されるいかなる要素も含むことが意図される。
【０２２７】
ここのブロック図が、発明の原理を具体化する実例の、回路類、アルゴリズム、および機能的なステップについての概念的な視点を表わすことは当業者によって評価されるべきである。同様に、そのようなコンピュータあるいはプロセッサが明示的に示されても示されなくても、任意のフローチャート、フロー図、信号ブロック図、システム図、コード、およびその類似のものは、コンピュータ読み取り可能媒体において本質的に表現され、したがって、コンピュータまたはプロセッサによって実行され得る様々なプロセスを表現することは認識されるべきである。
【０２２８】
「プロセッサ」あるいは「システム」と呼ばれる機能的ブロックを含む図面中で示されるさまざまな要素の機能は、専用のハードウェアと同様に、適切なソフトウェアに関係するソフトウェアを実行することができるハードウェアの使用を通じて提供されてもよい。機能は、プロセッサによって提供された時、単一の専用プロセッサによって、共用プロセッサ、あるいは複数の個々のプロセッサによって提供されてもよく、それらのうちのいくらかが共有されてもよい。さらに、用語「プロセッサ」の明示的な使用は、ソフトウェアを実行することができるハードウェアを排他的に参照するようには解釈されず、限定なしで、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ：ＤＳＰ）ハードウェア、ソフトウェアを格納するための読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）および非揮発性の記憶装置を暗に含み得る。他のハードウェア、従来のまたは特注のものも含まれていてもよい。同様に、ここに記載された任意の構成要素あるいは装置の機能は、プログラムロジック、専用ロジック、プログラム制御と専用ロジックの相互作用を通じて、あるいは手動でさえ、実行されることができ、その特有の技術は、コンテキストからより明確に理解されるようにインプリメンタによって選択可能である。
【０２２９】
特有の機能を実行する手段の任意の要素も、例えば、機能を実行する回路要素、または任意の形式で、したがって、機能を実行するそのソフトウェアを実行する回路類と結合したファームエア、マイクロコードまたはそれの類似のものを含むソフトウェアを含むその機能を実行する任意を含むよう意図されている。ここに記載されるような発明の実施例は、さまざまな列挙された手段によって提供される機能性が動作上の記載が要求する方法とともに組み合わせられ、もたらされるという事実に存在する。出願人は、それらの機能性を提供することができるあらゆる手段をここに示されたものと等価なものとみなす。
【図１Ａ】
2011522502.tif 000136
【図１Ｂ】
2011522502.tif 000137
【図２】
2011522502.tif 000138
【図３】
2011522502.tif 000139
【図４】
2011522502.tif 000140
【図５】
2011522502.tif 000141
【図６】
2011522502.tif 000142
【図７Ａ】
2011522502.tif 000143
【図７Ｂ】
2011522502.tif 000144
【図８Ａ】
2011522502.tif 000145
【図８Ｂ】
2011522502.tif 000146
【図８Ｃ】
2011522502.tif 000147
【図８Ｄ】
2011522502.tif 000148
【図９Ａ】
2011522502.tif 000149
【図９Ｂ】
2011522502.tif 000150
【図９Ｃ】
2011522502.tif 000151
【図１０】
2011522502.tif 000152
【図１１】
2011522502.tif 000153
【図１２】
2011522502.tif 000154
【図１３Ａ】
2011522502.tif 000155
【図１３Ｂ】
2011522502.tif 000156
【図１３Ｃ】
2011522502.tif 000157
【図１４】
2011522502.tif 000158
【図１５】
2011522502.tif 000159
【図１６】
2011522502.tif 000160
【手続補正書】
【提出日】平成23年1月7日(2011.1.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
反復する低密度パリティチェック復号器であって、
ビット推定の成分ベクトルを記憶するように構成される第１の複数のシフトレジスタと、
前記第１の複数のシフトレジストに結合されるパリティチェックノードプロセッサ（ＰＣＮＰ）の複数のバンクと、
複数のメッセージを生成するために成分ベクトルを処理するよう構成される前記パリティＰＣＮＰの複数バンクのそれぞれと、
ＰＣＮＰの前記複数のバンクに結合され、前記複数のメッセージを記憶するように構成される第２の複数のシフトレジスタと、
前記更新ビット評価値を生成するための以前の反復の間に生成された複数のビット評価値により複数のメッセージを結合する複数のコンバイナと、
第１の複数のシフトレジスタに記憶される更新ビット評価値を生成するために前記更新ビット評価値を置換するよう構成される複数の固定パーミュータと、
複数のコンバイナと複数の固定パーミュータの間で結合され、更新ビット評価値からの前もって決定された以前の反復において生成されたメッセージを減算するよう構成された減算モジュールと
を含むＬＤＣ復号器。
【請求項２】
ＰＣＮＰの前記複数のバンクの各々は、パリティチェックサブマトリックスに対応するスーパーコードを復号するように構成される、請求項１に記載されたＬＤＰＣ復号器。
【請求項３】
前記第１の複数のシフトレジスタは、ＬＤＰＣ復号動作の初期化についてのビット評価値の成分ベクトルとして受信される信号を記憶するよう構成される、請求項１に記載されたＬＤＰＣ復号器。
【請求項４】
ＰＣＮＰの前記複数のバンクは、
受信信号が複数のＮｂａｓｅ個の、サイズがＮｐｅｒｍ×１であるベクトルに分割され、前記複数のベクトル第１の反復の初期に前記第１のシフトレジスタ記憶されるビット評価値の成分ベクトルであるＮｐｅｒｍ個のＰＣＮＰを備える、請求項１に記載されたＬＤＰＣ復号器。
【請求項５】
複数のＮｂ回の反復のそれぞれについてのｎ番目のパリティチェックサブマトリックスに対応するｎ番目のスーパーコードに対応するビットを復号するよう構成される、請求項１に記載されたＬＤＰＣ復号器。
【請求項６】
パイプライン化された構成を使用するように構成される請求項１に記載されたＬＤＰＣ復号器。
【請求項７】
さらに、単一の組のＰＣＮＰの前記使用をイネーブルするとともに複数のレートの処理を促進するためのコンバータであって、単一のＳビットと単一の第１及び第２の最小値を生成するために複数のＰＣＮＰについて演算するよう構成されるコンバータを含む請求項１に記載されたＬＤＰＣ復号器。
【請求項８】
複数の固定パーミュータは、
複数の入力と、
複数の出力と、
置換マトリックスの非零要素に対応するシフトされる複数のベースマトリックス演算子であって、各々が前記複数の出力の１つに結合される前記複数のシフトされるベースマトリックス演算子と、
前記複数の入力を前記複数のシフトされるベースマトリックス演算子に結合する複数の固定コネクタと
を含み、
前記複数の固定コネクタが、前記置換マトリックスにおける非零要素の位置に対応する、
請求項１に記載されたＬＤＰＣ復号器。
【請求項９】
反復する低密度パリティチェック（ＬＤＰＣ）復号方法であって、
前記方法の各反復は、
ビット評価の成分ベクトルを記憶することと、
複数のメッセージを生成するために前記成分ベクトルのパリティチェック処理を実行することと、
更新ビット評価値を生成し更新ビット評価値を変更するために前記ビット評価で前記複数のメッセージを組み合わせることと、
前記更新ビット評価値を置換するための固定パーミュータアーキテクチャを使用することと、
さらに、前記更新ビット評価値からの前もって決定された以前の反復の間に生成されるメッセージを減算することと
を含む方法。
【請求項１０】
パリティチェック処理を行なうことは、パリティチェックサブマトリックスに対応するスーパーコードを復号することを含む、請求項９に記載された方法。
【請求項１１】
さらに、ビット評価の成分ベクトルとして受信信号を記憶する最初のステップを含む請求項９に記載された方法。
【請求項１２】
さらに、前記受信信号を各々のサイズがＮｐｅｒｍ×１である複数のＮｂａｓｅ個のベクトルに分割することを含み、パリティチェック処理を実行することが、パリティチェックノードプロセッサ（ＰＣＮＰ）の複数のバンクを使用することを含み、各バンクがＮｐｅｒｍ個のＰＣＮＰを含む、請求項１１に記載された方法。
【請求項１３】
複数の反復の各々についてのｎ番目のパリティチェックサブマトリックスに対応するｎ番目のスーパーコードに対応するビットを復号するよう構成された、請求項９に記載された方法。
【請求項１４】
パイプライン化される構成を使用するように構成される請求項９に記載された方法。
【請求項１５】
パリティチェック処理を行なうことは、単一のｓビットおよび単一の組の第１と第２の最小値を生成するために前記複数のメッセージについて演算を行うことをさらに含む、請求項９に記載された方法。
【請求項１６】
請求項９に記載された前記方法を実行するようにプログラムされるデジタルコンピュータシステム。
【請求項１７】
請求項９に記載された前記方法をインプリメントするコンピュータプログラムを記憶するコンピュータ読み取り可能な媒体。
【請求項１８】
低密度パリティチェック（ＬＤＰＣ）復号器において使用するパーミュータであって、
複数の入力と、
複数の出力と、
置換マトリックスの非零要素に対応する複数のシフトされるベースマトリックス演算子であって、各々が前記複数の出力の１つに結合される複数のシフトされるベースマトリックスの演算子と、
前記複数の入力を前記複数のシフトされるベースマトリックス演算子に結合する複数の固定コネクタであって、置換マトリックスにおいて非零要素の配置に対応する複数の固定コネクタと
を備え、
さらに、シフトされるベースマトリックス演算子は、循環的にシフトされるＤ−マトリックスまたはＱ−マトリックスに基づく、パーミュータ。
【請求項１９】
圧縮したパリティチェックノードプロセッサＰＣＮＰ出力信号を生成する方法であって、
ｓビットを生成するための複数の入力についてＸＯＲ演算を行なうことと、
各入力信号に対応する複数の信頼値から第１と第２最小値Ｍ１とＭ２を計算すること、
複数の指標ビットを生成することであって、前記複数の指標ビットの各々は、前記複数の信頼値の対応する１つが第１および第２の最小値であるかどうか示す、生成することと、
さらに、符号を計算するための関数
【数１】
2011522502.tif 000161
と大きさを計算するための関数
【数２】
2011522502.tif 000162
、ここで
【数３】
2011522502.tif 000163
、とを使用することによって前記圧縮されたＰＣＮＰ出力信号から圧縮されていない出力信号を計算することと
を含む方法。
【請求項２０】
前記第１および第２の最小値を計算することは、加算器とＡＮＤゲートのネットワークを使用する、請求項１９に記載された方法。
【請求項２１】
パリティチェックマトリックスを与えられたパリティチェックベクトルを計算する方法であって、
前記パリティチェックマトリックスを第１のマトリックスと第２のマトリックスに分割することであって、
前記第１のマトリックスは、データベクトルを演算するように構成されており、第２のマトリックスは、パリティチェックベクトルについて演算するように構成されており、第２のマトリックスは、複数の正方形マトリックスの三角形配列を備え、前記正方形マトリックスは、非零値を有する、分割することと、
データベクトルについての前記第１のマトリックス演算の結果である中間ベクトルを計算することと、
一連の方程式を生成するために第２のマトリックスの三角形配列を活用し、一連の方程式のそれぞれを解くことによりパリティチェックマトリックスを計算することと
を含む方法。
【請求項２２】
前記第１のマトリックスはＭ×Ｋの次元を持ち、前記第２のマトリックスはＭ×Ｋの次元を持ち、ここで、Ｍがパリティチェックビットの数で、Ｋがデータビットの数である、請求項２１に記載された方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２２９
【補正方法】変更
【補正の内容】
【０２２９】
特有の機能を実行する手段の任意の要素も、例えば、機能を実行する回路要素、または任意の形式で、したがって、機能を実行するそのソフトウェアを実行する回路類と結合したファームエア、マイクロコードまたはそれの類似のものを含むソフトウェアを含むその機能を実行する任意を含むよう意図されている。ここに記載されるような発明の実施例は、さまざまな列挙された手段によって提供される機能性が動作上の記載が要求する方法とともに組み合わせられ、もたらされるという事実に存在する。出願人は、それらの機能性を提供することができるあらゆる手段をここに示されたものと等価なものとみなす。
以下に、本願出願当初の特許請求の範囲に記載された発明を付記する。
［１］反復する低密度パリティチェック復号器であって、ビット推定の成分ベクトルを記憶するように構成される第１の複数のシフトレジスタと、前記第１の複数のシフトレジストに結合されるパリティチェックノードプロセッサ（ＰＣＮＰ）の複数のバンクと、複数のメッセージを生成するために成分ベクトルを処理するよう構成される前記パリティＰＣＮＰの複数バンクのそれぞれと、ＰＣＮＰの前記複数のバンクに結合され、前記複数のメッセージを記憶するように構成される第２の複数のシフトレジスタと、前記更新ビット評価値を生成するための以前の反復の間に生成された複数のビット評価値により複数のメッセージを結合する複数のコンバイナと、第１の複数のシフトレジスタに記憶される更新ビット評価値を生成するために前記更新ビット評価値を置換するよう構成される複数の固定パーミュータとを含むＬＤＣ復号器。
［２］ＰＣＮＰの前記複数のバンクの各々は、パリティチェックサブマトリックスに対応するスーパーコードを復号するように構成される、［１］に記載されたＬＤＰＣ復号器。"
［３］前記第１の複数のシフトレジスタは、ＬＤＰＣ復号動作の初期化についてのビット評価値の成分ベクトルとして受信される信号を記憶するよう構成される、［１］に記載されたＬＤＰＣ復号器。
［４］ＰＣＮＰの前記複数のバンクは、受信信号が複数のＮｂａｓｅ個の、サイズがＮｐｅｒｍ×１であるベクトルに分割され、前記複数のベクトル第１の反復の初期に前記第１のシフトレジスタ記憶されるビット評価値の成分ベクトルであるＮｐｅｒｍ個のＰＣＮＰを備える、［１］に記載されたＬＤＰＣ復号器。
［５］複数のＮｂ回の反復のそれぞれについてのｎ番目のパリティチェックサブマトリックスに対応するｎ番目のスーパーコードに対応するビットを復号するよう構成される、［１］に記載されたＬＤＰＣ復号器。
［６］さらに、複数のコンバイナと複数の固定パーミュータの間で結合され、更新ビット評価値からの前もって決定された以前の反復において生成されたメッセージを減算するよう構成された減算モジュールを含む［１］に記載されたＬＤＰＣ復号器。
［７］パイプライン化された構成を使用するように構成される［１］に記載されたＬＤＰＣ復号器。
［８］さらに、単一の組のＰＣＮＰの前記使用をイネーブルするとともに複数のレートの処理を促進するためのコンバータであって、単一のＳビットと単一の第１及び第２の最小値を生成するために複数のＰＣＮＰについて演算するよう構成されるコンバータを含む［１］に記載されたＬＤＰＣ復号器。
［９］複数の固定パーミュータは、複数の入力と、複数の出力と、置換マトリックスの非零要素に対応するシフトされる複数のベースマトリックス演算子であって、各々が前記複数の出力の１つに結合される前記複数のシフトされるベースマトリックス演算子と、前記複数の入力を前記複数のシフトされるベースマトリックス演算子に結合する複数の固定コネクタとを含み、前記複数の固定コネクタが、前記置換マトリックスにおける非零要素の位置に対応する、［１］に記載されたＬＤＰＣ復号器。
［１０］反復する低密度パリティチェック（ＬＤＰＣ）復号方法であって、前記方法の各反復は、ビット評価の成分ベクトルを記憶することと、複数のメッセージを生成するために前記成分ベクトルのパリティチェック処理を実行することと、更新ビット評価値を生成し更新ビット評価値を変更するために前記ビット評価で前記複数のメッセージを組み合わせることと、前記更新ビット評価値を置換するための固定パーミュータアーキテクチャを使用することとを含む方法。
［１１］パリティチェック処理を行なうことは、パリティチェックサブマトリックスに対応するスーパーコードを復号することを含む、［１０］に記載された方法。
［１２］さらに、ビット評価の成分ベクトルとして受信信号を記憶する最初のステップを含む［１０］に記載された方法。
［１３］さらに、前記受信信号を各々のサイズがＮｐｅｒｍ×１である複数のＮｂａｓｅ個のベクトルに分割することを含み、パリティチェック処理を実行することが、パリティチェックノードプロセッサ（ＰＣＮＰ）の複数のバンクを使用することを含み、各バンクがＮｐｅｒｍ個のＰＣＮＰを含む、請求項［１２］に記載された方法。
［１４］複数の反復の各々についてのｎ番目のパリティチェックサブマトリックスに対応するｎ番目のスーパーコードに対応するビットを復号するよう構成された、［１０］に記載された方法。
［１５］さらに、前記更新ビット評価値からの前もって決定された以前の反復の間に生成されるメッセージを減算することを含む［１０］に記載された方法。
［１６］パイプライン化される構成を使用するように構成される［１０］に記載された方法。
［１７］パリティチェック処理を行なうことは、単一のｓビットおよび単一の組の第１と第２の最小値を生成するために前記複数のメッセージについて演算を行うことをさらに含む、［１０］に記載された方法。
［１８］［１０］に記載された前記方法を実行するようにプログラムされるデジタルコンピュータシステム。
［１９］［１０］に記載された前記方法をインプリメントするコンピュータプログラムを記憶するコンピュータ読み取り可能な媒体。
［２０］低密度パリティチェック（ＬＤＰＣ）復号器において使用するパーミュータであって、複数の入力と、複数の出力と、置換マトリックスの非零要素に対応する複数のシフトされるベースマトリックス演算子であって、各々が前記複数の出力の１つに結合される複数のシフトされるベースマトリックスの演算子と、前記複数の入力を前記複数のシフトされるベースマトリックス演算子に結合する複数の固定コネクタであって、置換マトリックスにおいて非零要素の配置に対応する複数の固定コネクタとを備えるパーミュータ。
［２１］圧縮したパリティチェックノードプロセッサＰＣＮＰ出力信号を生成する方法であって、ｓビットを生成するための複数の入力についてＸＯＲ演算を行なうことと、各入力信号に対応する複数の信頼値から第１と第２最小値Ｍ１とＭ２を計算すること、複数の指標ビットを生成すること
を含み、前記複数の指標ビットの各々は、前記複数の信頼値の対応する１つが第１および第２の最小値であるかどうか示す複数の指標ビットである方法。
［２２］さらに、符号を計算するための関数
【数１３１】
2011522502.tif 000164
と大きさを計算するための関数
【数１３２】
2011522502.tif 000165
、ここで
【数１３３】
2011522502.tif 000166
、とを使用することによって前記圧縮されたＰＣＮＰ出力信号から圧縮されていない出力信号を計算することを含む［２１］に記載された方法。
［２３］前記第１および第２の最小値を計算することは、加算器とＡＮＤゲートのネットワークを使用する、［２１］に記載された方法。
［２４］パリティチェックマトリックスを与えられたパリティチェックベクトルを計算する方法であって、前記パリティチェックマトリックスを第１のマトリックスと第２のマトリックスに分割することであって、前記第１のマトリックスは、データベクトルを演算するように構成されており、第２のマトリックスは、パリティチェックベクトルについて演算するように構成されており、第２のマトリックスは、複数の正方形マトリックスの三角形配列を備える、分割することと、データベクトルについての前記第１のマトリックス演算の結果である中間ベクトルを計算することと、一連の方程式を生成するために第２のマトリックスの三角形配列を活用し、一連の方程式のそれぞれを解くことによりパリティチェックマトリックスを計算することとを含む方法。
［２５］前記第１のマトリックスはＭ×Ｋの次元を持ち、前記第２のマトリックスはＭ×Ｋの次元を持ち、ここで、Ｍがパリティチェックビットの数で、Ｋがデータビットの数である、［２４］に記載された方法。
【国際調査報告】
2011522502.tif 000167
2011522502.tif 000168
2011522502.tif 000169
2011522502.tif 000170
2011522502.tif 000171
2011522502.tif 000172
2011522502.tif 000173