JP4054006B2 - 低密度パリティチェック(ldpc)によるldpcデコーダコードのエンコーディング - Google Patents

低密度パリティチェック(ldpc)によるldpcデコーダコードのエンコーディング Download PDF

Info

Publication number
JP4054006B2
JP4054006B2 JP2004197849A JP2004197849A JP4054006B2 JP 4054006 B2 JP4054006 B2 JP 4054006B2 JP 2004197849 A JP2004197849 A JP 2004197849A JP 2004197849 A JP2004197849 A JP 2004197849A JP 4054006 B2 JP4054006 B2 JP 4054006B2
Authority
JP
Japan
Prior art keywords
signal
ldpc
receiver
decoder
parity check
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 - Fee Related
Application number
JP2004197849A
Other languages
English (en)
Other versions
JP2005051756A (ja
Inventor
フェン‐ウェン・サン
ムスタファ・エロズ
リン‐ナン・リー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DirecTV Group Inc
Original Assignee
DirecTV Group Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DirecTV Group Inc filed Critical DirecTV Group Inc
Publication of JP2005051756A publication Critical patent/JP2005051756A/ja
Application granted granted Critical
Publication of JP4054006B2 publication Critical patent/JP4054006B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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/2957Turbo codes and decoding

Description

関連出願
本願は“デコーダによるLDPCコードのファミリーの効率的なエンコーディング”と題する、2003年7月3日に出願された米国仮特許出願番号第60/484,988号に関係し、35U.S.Cセクション119(e)の下でより早い出願日の利益を主張し、この米国仮特許出願の全体は参照によりここに組み込まれている。
本発明は通信システムに関し、特にコード化システムに関する。
通信システムはコーディングを使用して、雑音のある通信チャネルにおいて信頼性のある通信を確実に行う。これらの通信チャネルは固定容量を示し、ある信号対雑音比(SNR)におけるシンボル当たりのビットに関して表現することができ、(シャノン限界として知られている)理論的な上限を規定する。結果として、コーディング設計はこのシャノン限界に近づくレートを達成することを目的としている。シャノン限界に近づくこのようなクラスのコードの1つは低密度パリティチェック(LDPC)コードである。
従来、LDPCコードは多くの欠点があることから、幅広く採用されていなかった。1つの欠点はLDPCエンコーディング技術は非常に複雑であることである。その生成行列を使用してLDPCコードをエンコードには、非常に大きな非希薄行列を記憶することが必要である。さらに、LDPCコードは大きなブロックが有効であることを必要とし、結果的に、LDPCコードのパリティチェック行例が希薄であっても、これらの行列の記憶が問題である。
実現の将来的な見通しから、多数の難題に直面する。例えば、記憶装置はLDPCコードが実際には広まっていない重要な理由である。また、LDPCコード実現における主な難題はデコーダ中のいくつかの処理エンジン(ノード)間で接続ネットワークをどのように達成するかである。さらに、デコーディングプロセス、特にチェックノード動作における計算負荷は問題を生じる。
例えば、ブロードキャストアプリケーションでは、驚くべき数の利用受信機のために、LDPCデコーダを含む、受信機ハードウェアから生じる費用の影響は大きく拡大する。
一方、衛星ブロードキャストアプリケーションのようなアプリケーションの中には、必要とされる送信機の数は比較的少ないものもある。これは受信機よりも送信機の費用がかなり高くなることにつながる。
したがって、エンコーディング動作を実行する標準受信機を構成する必要性がある。この方法では、送信機は受信機の経済的利益を利用することができる。
これらのおよび他の必要性は本発明により取り扱われる。本発明ではデコーダの構成部品を使用して低密度パリティチェック(LDPC)エンコーディングを実行するアプローチが提供される。1つの実施形態では、n−kビットは論理0値に関係するチャネルビットの最尤比の最大値にしたがって初期化される。先のアプローチは既存のデコーダハードウェアを共有することによりエンコーディング能力を有効に提供し、それにより最小費用で受信機の機能性を向上させる。LDPCデコーダは多数の並列処理エンジンを使用できることから、デコーダはこれらのリソースを利用して、高速かつ効率的なエンコーディングを提供することができる。また、先の構成は受信機内のエンコーダに対して専用ハードウェアを作る必要性もなくす効果がある。これは衛星ブロードキャストアプリケーションにおいて大きな費用節約をもたらし、多数の受信機の採用を伴うことができる。
本発明の実施形態の1つの観点にしたがうと、複数の受信機への低密度パリティチェック(LDPC)コード化信号のブロードキャスト送信をサポートする方法が開示される。この方法は、受信機の1つにより入力信号を受信することを含み、この1つの受信機はLDPCデコーダを含む。また、この方法はデコーダにより、入力信号をエンコードして、エンコード化信号を出力することを含む。
本発明の実施形態の他の観点にしたがうと、低密度パリティチェック(LDPC)コード化信号のブロードキャスト送信を受信する装置が開示される。この装置は、受信機の1つにより入力信号を受信する手段を含み、この1つの受信機はLDPCデコーダを含む。この装置はまた入力信号をエンコードして、エンコード化信号を出力するように構成されたデコーダも含む。
本発明の実施形態のさらに別の観点にしたがうと、低密度パリティチェック(LDPC)コードを発生させるデコーダが開示される。このデコーダは受信LDPCエンコード化信号をデコードするように構成されたプロセッサを含む。プロセッサは受信LDPCエンコード化信号に関して干渉相殺するためにデコード化信号をエンコードするようにさらに構成されている。
本発明のさらに別の観点、特徴および効果は、多数の特定の実施形態および構成を単に示すことにより、以下の詳細な説明から容易に明らかになり、多数の特定の実施形態および構成には本発明を実行するために企図されているベストモードが含まれる。本発明は他のおよび異なる実施形態も可能であり、そのいくつかの詳細は本発明の精神および範囲をまったく逸脱することなく、さまざまな明らかな観点で修正することができる。したがって、図面および説明は本質的に例示として考えるべきであり、制限的なものとして考えるべきではない。
本発明は添付図面において例のつもりで示され、限定のつもりで示されているものではなく、添付図面では同じ参照番号は同様な構成要素に言及している。
低密度パリティチェック(LDPC)コードを効率的にエンコーディングするシステム、方法およびソフトウェアを説明する。以下の記述では、説明の目的のために、本発明の完全な理解をもたらすように多くの特定な詳細を記述する。しかしながら、これらの特定な詳細がなく、あるいは均等な構成で、本発明を実施してもよいことは当業者に明らかである。他の例では、よく知られた構造およびデバイスは本発明を不必要性に曖昧にすることを避けるためにブロック図で示されている。
図1は本発明の実施形態にしたがった、LDPCエンコーディングを実行できる低密度パリティチェック(LDPC)デコーダの図である。一般的に、LDPCエンコーディングプロセスは情報源からの入力を受け入れ、受信機におけるエラー訂正処理に適したより高い冗長性を持つコード化ストリームを出力することを伴う。例として、情報源は離散アルファベットXからk個の信号を発生させる。LDPCコードはパリティチェック行列により特定される。一方、LDPCコードをエンコーディングすることは一般的に生成行列を特定することを必要とする。ガウス消去法を使用してパリティチェック行列から生成行列を得ることは可能であるけれども、結果として得られる行列はもはや希薄ではなく、大きな生成行列を記憶させることは複雑になることがある。
LDPCエンコーディングプロセスは簡単なエンコーディング技術を使用してアルファベットYから変調器に対する信号を発生させ、この簡単なエンコーディング技術はパリティチェック行列に構造を強いることにより、パリティチェック行列のみを使用する。特に、行列のある部分を三角行列に制約することにより、パリティチェック行列に制限をおく。このようなパリティチェック行列の制約は以下の図4においてさらに完全に説明する。このように制限すると性能損失が無視可能となり、したがって、魅力あるトレードオフを構成する。
示されているように、デコーダ101によるLDPCエンコーディングプロセスをサポートする機能構成部品には、受信ベクトル構成モジュール103、デコーダ初期化モジュール105およびチェックノード処理モジュール107が含まれる。チェックノード処理モジュール107は加算器111に出力し、加算器111はレジスタ109に記憶されている以前の出力を合計する。これらモジュール103、105、107は関連して動作し、新しい情報をエンコードし、あるいは(干渉相殺アプリケーションにおいて)受信データストリームを再エンコードする。このプロセスは図5および図6に関してさらに完全に説明する。
本発明により提供される効果を理解するために、以下で説明するように、どのようにしてLDPCコードが発生されるかをさらに綿密に調べることが有益である。
図2は本発明の実施形態にしたがった、希薄パリティチェック行列の図である。LDPCコードは希薄パリティチェック行列H(n-k)xnを持つ、長い線形のブロックコードである。一般的に、ブロック長nは数千ビットから数万ビットの範囲をとる。例えば、長さn=8およびレート1/2のLDPCコードに対するパリティチェック行列が図2に示されている。同じコードは図3に関して、2部グラフにより同様に示すことができる。
図3は図2の行列のLDPCコードの2部グラフの図である。パリティチェック式は、各チェックノードに対して、すべての隣接ビットノードの(GF(ガロア域)(2)に対する)合計が0に等しくなることを意味している。図に見られるように、ビットノードはグラフの左側を占め、予め定められた関係にしたがって1つ以上のチェックノードに関係付けられている。例えば、チェックノードm1に対応して、以下の表現n1+n4+n5+n8=0がビットノードに関して存在する。
図1の例に戻ると、LDPCデコーダ101はメッセージ通過デコーダとして考えられ、それによりデコーダ101はビットノードの値を発見することを目的としている。このタスクを達成するために、ビットノードとチェックノードは互いに繰り返し通信する。この通信の性質を以下に説明する。
チェックノードからビットノードに対して、各チェックノードは隣接ビットノードに対して、他の隣接ビットノードから来る情報に基づいてそのビットノードの値と考えられる推定値(“オピニオン”)を提供する。例えば、先の例において、n4、n5およびn8の合計がm1にとって0の“ように見える”場合には、m1はn1に対してn1の値は0であると思うことを示し(なぜならn1+n4+n5+n8=0)、そうでなければ、m1はn1に対して、n1の値は1であると思えることを示す。さらに、軟判定デコーディングに対して、信頼性の尺度が加えられる。
ビットノードからチェックノードに対して、各ビットノードは隣接チェックノードに対して、それの他の隣接チェックノードから来るフィードバックに基づいてそれ自体の値についての推定値を中継する。先の例では、n1は2つの隣接チェックノードm1およびm3のみを有する。m3から来るn1のへのフィードバックが、n1の値がおそらく0であることを示す場合には、n1はn1自体の値の推定値は0であることをm1に通知する。ビットノードが2つより多い隣接チェックノードを持つケースでは、ビットノードは、それと通信しているチェックノードに対して判定を報告する前に、それの他の隣接チェックノードから来るフィードバックにおいて多数決(軟判定)を実行する。先のプロセスはすべてのビットノードが正しい(すなわち、すべてのパリティチェック式が満たされる)と考えられるまで、あるいは予め定められた最大数の反復に達して、それによりデコーディングの失敗が宣言されるまで繰り返される。
図4は本発明の実施形態にしたがった、希薄パリティチェック行列の部分行列の図である。部分行列は低位三角領域に制限されたパリティチェック値を含む。先に説明したように、LDPCエンコーディングプロセスは、パリティチェック行列の低位三角領域の値を制限することにより、簡単なエンコーディング技術を使用することができる。本発明の実施形態にしたがうと、パリティチェック行列に課される制限は次の形態をとる。
(n-k)xn=[A(n-k)xk(n-k)x(n-k)
ここで、Bは低位三角行列である。
任意の情報ブロックi=(i0,i1,…,ik-1)がHcTを使用して、コードワードc=(i0,i1,…,ik-1,p0,p1,…,pn-k-1)にエンコードされ、パリティビットに対して帰納的に解く。例えば、
000+a011+…+a0,k-1k-1+p0=0→p0を解き、
100+a111+…+a1,k-1k-1+b100+p1=0→p1を解き、
2,p3,…,pn-k-1に対して同様である。
LDPCデコーダ101は高度並列システムとして実現できることから、デコーディング用ハードウェアを使用して適切に設計されたエンコーダは処理時間に関してかなり効率的にすることができる。したがって、エンコーディングプロセスはデコーディングの通常動作に影響を与えることなく、クロックサイクルを“こっそり入手”することができる。ハードウェア費用に関して、デコーダハードウェアを活用することによるエンコーディングはデコーダ101に対してほとんど費用を追加しないか、あるいはまったく追加しない効果がある。
本発明のアプローチは他のLDPCコードに適用することができるが、説明のために、(図4に説明されているような)LDPCコードの1つの特定ファミリーに着目する。その1組のコードに関して説明を続けると、行列演算に関し、パリティビットの計算は以下のように表すことができる。
p ̄=B-1Ai ̄
エンコーディングは先の行列乗算を実行することにより達成することができる。このエンコーディングプロセスはLDPCデコーダ101に対して適用することができる。説明のために、LDPCは信頼伝搬(belief propagation)によりデコードされることを仮定する。
2つのケースを考える。第1のケースはデコーダ101のハードウェアを使用して一般的に任意の情報をエンコードすることを伴い(図5および図6)、第2のケースは同じハードウェアによりデコードされているデータを再エンコードすることに関する。原則として、第2のケースは第1のケースの特殊なケースであり、結果として、第1のケースとまったく同じように取り扱われる。代替では、単に前者のアプローチの特定なケースとしてこのケースを見るのではなく、異なるものとして見て、いくつかの効果が第2のケースの処理に伴う。
図5は本発明の実施形態にしたがった、データをエンコードするように使用される図1のLDPCデコーダの動作のフローチャートである。任意のハードウェア構成が有限精度(finite precision)を使用しなければならないことが認識される。したがって、以下のことが規定される。POSINFおよびNEGINFは、それぞれ1または−1(それぞれ論理0または1)をとるために、特定のチャネルビットに対する最尤比の最大値とする。第1のケースに対するエンコーディングアルゴリズムは次の通りである。
ステップ501において、モジュール103によって、デコーダ101は、最初のk個の受信値がk個の情報ビットからマッピングされ、論理0がPOSINFにマッピングされ、論理1がNEGINFにマッピングされるように、エンコードされるべきk個の情報ビットから“受信ベクトル”を組み立てる。最後のn−k個の受信値はPOSINFとして初期化される。次に、デコーダ101はステップ503において、デコーダ101の通常初期化を実行することにより、組み立てられたベクトル(すべてエッジ値)でモジュール105により初期化される。
ステップ505において、i番目のチェックノードに対して、チェックノード処理エンジン107は以下の計算を行う。
i=g(e1,i,e2,i,……,eνi-1
ここで、νiはi番目のチェックノードに接続されたエッジ数である。一般性を失うことなく、eνiは非情報ビット(パリティチェックビット)に対応するビットノードに接続されたエッジであることを仮定する。
次に、デコーダ101はステップ507において、バイナリベクトルb ̄=(b0,…,bn-k-1)への硬判定d ̄=(d0,…,dn-k-1)を実行する。最後のパリティチェックp ̄は次のように計算される(ステップ509)。
Figure 0004054006
先のプロセスから、デコーダ101の1反復の計算時間で、エンコーディングプロセスもデコーダ101により実行することができることが認められる。LDPCデコーダ101が一般的に大半のコードのデコーディングのために少なくとも数10反復を反復する必要がある事実を仮定すると、エンコーディングを実行する時間は一般的なLDPCフレームをデコードする時間の比較的わずかな部分である。
図6は本発明の実施形態にしたがった、データをエンコードするのに使用される図1のLDPCデコーダの修正された動作のフローチャートである。この修正されたプロセスは図5のものよりも小さいが、ステップ601において、最後のn−k個の受信値はPOSINFの代わりに“何もしない(DON‘T CARE)”(すなわちヌル値)として初期化される。ステップ603−609はステップ503−509に対応し、したがって説明しない。
図7は本発明にしたがった実施形態を実現することができるコンピュータシステムを図示している。コンピュータシステム700は、バス701または情報を通信する他の通信メカニズムと、バス701に結合され、情報を処理するプロセッサ703とを含む。コンピュータシステム700は、バス701に結合され、情報およびプロセッサ703により実行されるべき命令を記憶する、ランダムアクセスメモリ(RAM)または他の動的記憶デバイスのような、メインメモリ705も含む。メインメモリ705は、プロセッサ703により実行されるべき命令を実行中に、一時的な変数や他の中間的な情報を記憶するのにも使用することができる。コンピュータシステム700は、バス701に結合され、プロセッサ703のために静的情報および命令を記憶するリードオンリーメモリ(ROM)707や他の静的記憶デバイスをさらに含む。磁気ディスクや光学ディスクのような記憶デバイス709は、情報および命令を記憶するためにバス701に付加的に結合される。
コンピュータシステム700は、情報をコンピュータユーザに表示するために、陰極線管(CRT)、液晶ディスプレイ、アクティブマトリクスディスプレイ、またはプラズマディスプレイのような、ディスプレイ711にバス701を介して結合されてもよい。英数字および他のキーを含むキーボードのような入力デバイス713は情報およびコマンド選択をプロセッサ703に通信するためにバス701に結合される。他のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ703に通信し、ディスプレイ711上のカーソルの動きを制御するための、マウス、トラックボール、またはカーソル方向キーのようなカーソル制御715である。
本発明の1つの実施形態にしたがうと、LDPCコードの発生はメインメモリ705に含まれている命令の配列を実行するプロセッサ703に応答して、コンピュータシステム700により提供される。このような命令は、記憶デバイス709のような他のコンピュータ読み取り可能な媒体からメインメモリ705に読み込むことができる。メインメモリ705に含まれている命令の配列の実行はプロセッサ703にここで説明するプロセスステップを実行させる。マルチ処理構成の1つ以上のプロセッサを使用して、メインメモリ705に含まれている命令を実行してもよい。代替実施形態では、ソフトウェア命令の代わりにあるいはソフトウェア命令と組み合わせてハードワイヤード回路を使用して、本発明の実施形態を実現してもよい。したがって、本発明の実施形態はハードウェア回路およびソフトウェアの何らかの特定な組み合わせに限定されるものではない。
コンピュータシステム700はバス701に結合された通信インターフェイス717も含む。通信インターフェイス717はローカルネットワーク721に接続されたネットワークリンク719に結合している2方向データ通信を提供する。例えば、通信インターフェイス717はデジタル加入者線(DSL)カードまたはモデム、統合サービスデジタルネットワーク(ISDN)カード、ケーブルモデム、または電話モデムであって、対応するタイプの電話回線に対してデータ通信接続を提供してもよい。他の例として、通信インターフェイス717はローカルエリアネットワーク(LAN)カード(例えば、イーサーネット(登録商標)や非同期転送モード(ATM)ネットワーク)であって、互換性LANへのデータ通信接続を提供してもよい。ワイヤレスリンクを実現することもできる。このような任意の構成において、通信インターフェイス717は、電気、電磁気または光の信号を送受信し、これらの信号はさまざまなタイプの情報を表すデジタルデータストリームを伝える。さらに、通信インターフェイス717は、ユニバーサルシリアルバス(USB)インターフェイス、PCMCIA(パーソナルコンピュータメモリカード国際協会)インターフェイスなどのような、周辺機器インターフェイスデバイスを含むことができる。
ネットワークリンク719は一般的に1つ以上のネットワークを通して他のデータデバイスに対してデータ通信を提供する。例えば、ネットワークリンク719はローカルネットワーク721を通してホストコンピュータ723への接続を提供し、ローカルネットワーク721はネットワーク725(例えば、ワイドエリアネットワーク(WAN)または“インターネット”として現在一般的に言及されているグローバルパケットデータ通信ネットワーク)への接続性、またはサービスプロバイダにより運営されるデータ装置への接続性を有する。ローカルネットワーク721およびネットワーク725はともに電気、電磁気または光の信号を使用して、情報および命令を伝える。さまざまなネットワークを通る信号およびネットワークリンク719上の信号で通信インターフェイス717を通る信号は、情報および命令を伝達する搬送波の例示的な形態である。通信インターフェイス717はコンピュータシステム700とデジタルデータを通信する。
コンピュータシステム700はネットワーク、ネットワークリンク719および通信インターフェイス717を通して、メッセージを送信し、プログラムを含むデータを受信することができる。インターネットの例では、(示されていない)サーバは、ネットワーク725、ローカルネットワーク721および通信インターフェイス717を通して、本発明の実施形態を実現するアプリケーションプログラムに属する要求されたコードを送信してもよい。プロセッサ703は受信している間に送信されたコードを実行し、および/またはコードを後での実行のために記憶デバイス709または他の不揮発性記憶装置に記憶させてもよい。この方法では、コンピュータシステム700は搬送波の形態でアプリケーションコードを得てもよい。
ここで使用されているような用語“コンピュータ読み取り可能な媒体”は、実行のためにプロセッサ703に命令を提供することに関係する任意の媒体に関係する。このような媒体は多くの形態をとることができ、これらに限定されないが、不揮発性媒体、揮発性媒体および送信媒体が含まれる。不揮発性媒体は、例えば記憶デバイス709のような光または磁気ディスクが含まれる。揮発性媒体はメインメモリ705のような動的メモリが含まれる。送信媒体は、バス701を構成するワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。送信媒体は、無線周波数(RF)および赤外線(IR)データ通信中に発生されるもののような、音響、光または電磁気の波の形態もとることができる。コンピュータ読み取り可能な媒体の一般的な形態は、例えばフロッピ(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD−ROM、CDRW、DVD、他の任意の光媒体、パンチカード、紙テープ、光マークシート、穴や他の光学認識可能な表示のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、FLASH−EPROM、他の任意のメモリチップまたはカートリッジ、搬送波、あるいはコンピュータが読み取ることができる他の任意の媒体を含む。
さまざまな形態のコンピュータ読み取り可能な媒体は実行するためにプロセッサに命令を提供することに関係してもよい。例えば、本発明の少なくとも一部を実行する命令は遠隔コンピュータの磁気ディスク上に最初に記憶されてもよい。このようなシナリオでは、遠隔コンピュータは命令をメインメモリにロードして、その命令をモデムを使用して電話回線を通して送信する。ローカルコンピュータシステムのモデムは電話回線上でデータを受信し、赤外線送信機を使用して、データを赤外線信号に変換し、その赤外線信号を、パーソナルデジタルアシスタンス(PDA)およびラップトップのようなポータブルコンピューテングデバイスに送信する。ポータブルコンピューテングデバイス上の赤外線検出器は赤外線信号により運ばれる情報および命令を受信し、データをバス上に置く。バスはそのデータをメインメモリに伝え、このメインメモリからプロセッサは命令を取り出して実行する。メインメモリにより受信される命令は、オプション的に、プロセッサにより実行される前または後に記憶デバイス上に記憶されてもよい。
したがって、本発明のさまざまな実施形態は複数の受信機への低密度パリティチェック(LDPC)コード化信号のブロードキャスト送信をサポートするアプローチを提供する。受信機はLDPCデコーダを含み、LDPCデコーダはLDPC信号をデコードして、デコード化信号を出力するとともに、入力信号をエンコードする。入力信号はデコード化信号とすることができ、これにより干渉相殺のために再エンコード化信号を使用する。上記アプローチは受信機中に独立した専用エンコーダを採用することを避ける効果がある。
本発明は多数の実施形態および構成とともに説明したが、本発明はそのように制限されるものではなく、さまざまな変形および均等構成をカバーし、これらも特許請求の範囲の範囲に入る。
図1は、本発明の実施形態にしたがった、LDPCエンコーディングを実行することができるLDPCデコーダの図である。 図2は、本発明の実施形態にしたがった、希薄パリティチェック行列の図である。 図3は、図2の行列のLDPCコードの2部グラフの図である。 図4は、本発明の実施形態にしたがった、希薄パリティチェック行列の部分行列の図であり、部分行列は低位三角領域に制限されたパリティチェック値を含む。 図5は本発明の実施形態にしたがった、データをエンコードするのに使用される図1のLDPCデコーダの動作のフローチャートである。 図6は本発明の実施形態にしたがった、データをエンコードするのに使用される図1のLDPCデコーダの修正された動作のフローチャートである。 図7は本発明の実施形態にしたがった、LDPCコードをエンコーディングおよびデコーディングするプロセスを実行することができるコンピュータシステムの図である。

Claims (13)

  1. 低密度パリティチェック(LDPC)コード化信号を受信機において発生させる方法において、
    LDPCコード化信号を受信機で受信し、受信機はLDPCデコーダを含むことと、
    前記LDPCデコーダにより前記LDPC信号をデコードしてデコード化信号を出力することと、
    受信機により入力信号を受信することと、
    前記デコーダにより前記入力信号をエンコードしてエンコード化信号を出力することとを含み、
    前記エンコードすることは、
    前記デコード化信号の最初のk個の情報ビットに基づいて受信ベクトルを組み立てることと、
    前記受信ベクトルで前記デコーダを初期化し、前記受信ベクトルはnの長さを有し、n−kビットが論理0値またはヌル値に関係するチャネルビットの最尤比の最大値にしたがって初期化されることと、
    バイナリベクトルへの硬判定を実行することによりパリティビットを計算し、バイナリベクトルを合計することとを含む方法。
  2. 前記入力信号が前記デコード化信号であり、前記エンコード化信号が前記受信LDPC信号との信号干渉相殺に対して使用される請求項1記載の方法。
  3. デコードすることとエンコードすることは同時に実行される請求項1記載の方法。
  4. 前記LDPC信号は衛星リンクを通して受信される請求項1記載の方法。
  5. 前記LDPCコード化信号は、8−PSK(位相シフトキーイング)、16−QAM(直角位相振幅変調)、16−APSK(振幅位相シフトキーイング)、32−APSKおよびQPSK(直角位相シフトキーイング)のうちの1つを含む信号配列にしたがって変調される請求項1記載の方法。
  6. 低密度パリティチェック(LDPC)コード化信号を受信機において発生させる命令が記録されているコンピュータ読み取り可能な媒体において、
    前記命令は実行時に、1つ以上のプロセッサに請求項1記載の方法を実行させるように配列されている媒体。
  7. 低密度パリティチェック(LDPC)コード化信号を受信する受信機装置において、
    LDPCコード化信号を受信機で受信する手段と、
    前記LDPC信号をデコードしてデコード化信号を出力する手段と、
    受信機により入力信号を受信する手段とを具備し、
    前記デコード手段は、
    前記デコード化信号の最初のk個の情報ビットに基づいて受信ベクトルを組み立てることと、
    前記受信ベクトルで前記デコード手段を初期化し、前記受信ベクトルはnの長さを有し、n−kビットが論理0値またはヌル値に関係するチャネルビットの最尤比の最大値にしたがって初期化されることと、
    バイナリベクトルへの硬判定を実行することによりパリティビットを計算し、バイナリベクトルを合計することとにより、
    前記入力信号をエンコードして、エンコード化信号を出力する装置。
  8. 前記入力信号が前記デコード化信号であり、前記エンコード化信号が前記受信LDPC信号との信号干渉相殺に対して使用される請求項7記載の装置。
  9. 前記デコード手段はデコードとエンコードを同時に実行する請求項7記載の装置。
  10. 前記デコード手段は、前記デコード化信号の最初のk個の情報ビットに基づいて受信ベクトルを組み立て、前記受信ベクトルで初期化される請求項7記載の装置。
  11. 前記受信ベクトルはnの長さを有し、n−kビットが論理0値に関係するチャネルビットの最尤比の最大値にしたがって初期化される請求項10記載の装置。
  12. 前記LDPC信号は衛星リンクを通して受信される請求項7記載の装置。
  13. 前記LDPCコード化信号は、8−PSK(位相シフトキーイング)、16−QAM(直角位相振幅変調)、16−APSK(振幅位相シフトキーイング)、32−APSKおよびQPSK(直角位相シフトキーイング)のうちの1つを含む信号配列にしたがって変調される請求項7記載の装置。
JP2004197849A 2003-07-03 2004-07-05 低密度パリティチェック(ldpc)によるldpcデコーダコードのエンコーディング Expired - Fee Related JP4054006B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US48498803P 2003-07-03 2003-07-03

Publications (2)

Publication Number Publication Date
JP2005051756A JP2005051756A (ja) 2005-02-24
JP4054006B2 true JP4054006B2 (ja) 2008-02-27

Family

ID=33435281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004197849A Expired - Fee Related JP4054006B2 (ja) 2003-07-03 2004-07-05 低密度パリティチェック(ldpc)によるldpcデコーダコードのエンコーディング

Country Status (7)

Country Link
US (2) US7430396B2 (ja)
EP (1) EP1494360A3 (ja)
JP (1) JP4054006B2 (ja)
KR (1) KR100634940B1 (ja)
CN (1) CN1578201B (ja)
CA (1) CA2472827C (ja)
HK (1) HK1072840A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100691303B1 (ko) 2005-05-25 2007-03-12 한국전자통신연구원 위성통신시스템에서 오차에 강인한 bpsk/qpsk블라인드 변조 분류 장치 및 그 방법
US7844877B2 (en) 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
KR101208509B1 (ko) * 2006-01-20 2012-12-05 엘지전자 주식회사 디지털 방송 시스템 및 처리 방법
KR100933139B1 (ko) * 2006-02-22 2009-12-21 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US7934146B2 (en) * 2006-10-18 2011-04-26 Nokia Corporation Method, apparatus and computer program product providing for data block encoding and decoding
US20100122143A1 (en) 2007-03-27 2010-05-13 Hughes Network Systems, Llc Method and system for providing low density parity check (ldpc) coding for scrambled coded multiple access (scma)
US7958429B2 (en) * 2007-07-02 2011-06-07 Broadcom Corporation Distributed processing LDPC (low density parity check) decoder
CN100462986C (zh) * 2007-09-13 2009-02-18 南京大学 基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统
US8832518B2 (en) * 2008-02-21 2014-09-09 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US9252813B2 (en) 2009-05-27 2016-02-02 Novelsat Ltd. Iterative decoding of LDPC codes with iteration scheduling
WO2011092532A1 (en) 2010-01-28 2011-08-04 Sandisk Il Ltd. Sliding-window error correction
US8402341B2 (en) * 2010-02-18 2013-03-19 Mustafa Eroz Method and system for providing low density parity check (LDPC) encoding and decoding
US8782489B2 (en) 2010-02-18 2014-07-15 Hughes Network Systems, Llc Method and system for providing Low Density Parity Check (LDPC) encoding and decoding
JP5648852B2 (ja) * 2011-05-27 2015-01-07 ソニー株式会社 データ処理装置、及び、データ処理方法
JP5664919B2 (ja) * 2011-06-15 2015-02-04 ソニー株式会社 データ処理装置、及び、データ処理方法
WO2013147776A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Conserving computing resources during error correction
US8972834B2 (en) 2012-08-28 2015-03-03 Hughes Network Systems, Llc System and method for communicating with low density parity check codes
US9264182B2 (en) 2012-09-13 2016-02-16 Novelsat Ltd. Iterative receiver loop
US9294131B2 (en) 2013-02-10 2016-03-22 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
US9246634B2 (en) 2013-02-10 2016-01-26 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
US8887024B2 (en) 2013-02-10 2014-11-11 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
WO2014145217A1 (en) 2013-03-15 2014-09-18 Hughes Network Systems, Llc Low density parity check (ldpc) encoding and decoding for small terminal applications
CN111245442B (zh) 2014-03-19 2023-06-30 三星电子株式会社 发送设备及其交织方法
US10075187B2 (en) * 2015-03-15 2018-09-11 Qualcomm Incorporated MCS/PMI/RI selection and coding/interleaving mechanism for bursty interference and puncturing handling
CN106997777B (zh) * 2015-09-18 2021-01-05 爱思开海力士有限公司 具有改进的硬解码吞吐量的vss ldpc解码器
KR102616481B1 (ko) 2016-04-04 2023-12-21 삼성전자주식회사 수신 장치 및 그의 신호 처리 방법
US11223372B2 (en) 2019-11-27 2022-01-11 Hughes Network Systems, Llc Communication throughput despite periodic blockages
US11838127B2 (en) 2022-03-11 2023-12-05 Hughes Network Systems, Llc Adaptive satellite communications

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473010B1 (en) * 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
US20020051501A1 (en) 2000-04-28 2002-05-02 Victor Demjanenko Use of turbo-like codes for QAM modulation using independent I and Q decoding techniques and applications to xDSL systems
US7107511B2 (en) 2002-08-15 2006-09-12 Broadcom Corporation Low density parity check (LDPC) code decoder using min*, min**, max* or max** and their respective inverses
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6829308B2 (en) 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
US7864869B2 (en) * 2002-07-26 2011-01-04 Dtvg Licensing, Inc. Satellite communication system utilizing low density parity check codes
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US7350130B2 (en) * 2002-08-15 2008-03-25 Broadcom Corporation Decoding LDPC (low density parity check) code with new operators based on min* operator
US7216283B2 (en) * 2003-06-13 2007-05-08 Broadcom Corporation Iterative metric updating when decoding LDPC (low density parity check) coded signals and LDPC coded modulation signals

Also Published As

Publication number Publication date
KR20050004121A (ko) 2005-01-12
US20050003756A1 (en) 2005-01-06
HK1072840A1 (en) 2005-09-09
CN1578201B (zh) 2010-05-26
US20080313523A1 (en) 2008-12-18
CA2472827A1 (en) 2005-01-03
JP2005051756A (ja) 2005-02-24
US7430396B2 (en) 2008-09-30
EP1494360A3 (en) 2007-03-07
CN1578201A (zh) 2005-02-09
EP1494360A2 (en) 2005-01-05
CA2472827C (en) 2008-04-08
US8326213B2 (en) 2012-12-04
KR100634940B1 (ko) 2006-10-17

Similar Documents

Publication Publication Date Title
JP4054006B2 (ja) 低密度パリティチェック(ldpc)によるldpcデコーダコードのエンコーディング
KR100574306B1 (ko) Ldpc 코드를 디코딩하기 위한 방법 및 시스템
JP3917617B2 (ja) ショートブロック長の低密度パリティチェック(ldpc)コードを提供する方法およびシステム
KR100683084B1 (ko) 저밀도 패리티 검사 부호화 신호의 전송을 지원하는 방법,인코더 및 송신기
JP3917624B2 (ja) 低密度パリティチェック(ldpc)デコーダにおける経路指定方法およびシステム
KR100695380B1 (ko) 감소된 메모리 ldpc 코드를 제공하는 방법 및 장치
US7020829B2 (en) Method and system for decoding low density parity check (LDPC) codes
JP3964890B2 (ja) 並列デコード可能な低密度パリティチェック(ldpc)コードを発生させる方法およびシステム
US7962830B2 (en) Method and system for routing in low density parity check (LDPC) decoders
KR100543154B1 (ko) 저밀도 패리티 검사 코드 생성 방법 및 시스템
US20080082895A1 (en) Method and system for generating low density parity check codes
US20080065953A1 (en) Method and system for generating parallel decodable low density parity check (ldpc) codes

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060620

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060920

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070713

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070713

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: 20071106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4054006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131214

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees