JP3917617B2 - ショートブロック長の低密度パリティチェック(ldpc)コードを提供する方法およびシステム - Google Patents

ショートブロック長の低密度パリティチェック(ldpc)コードを提供する方法およびシステム Download PDF

Info

Publication number
JP3917617B2
JP3917617B2 JP2004258552A JP2004258552A JP3917617B2 JP 3917617 B2 JP3917617 B2 JP 3917617B2 JP 2004258552 A JP2004258552 A JP 2004258552A JP 2004258552 A JP2004258552 A JP 2004258552A JP 3917617 B2 JP3917617 B2 JP 3917617B2
Authority
JP
Japan
Prior art keywords
ldpc
code
parity check
bit
low density
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
Application number
JP2004258552A
Other languages
English (en)
Other versions
JP2005102201A (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 JP2005102201A publication Critical patent/JP2005102201A/ja
Application granted granted Critical
Publication of JP3917617B2 publication Critical patent/JP3917617B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated 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/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
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with 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/2906Coding, 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 using block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

発明の分野
本発明は通信システムに関し、特に、コード化システムに関する。
発明の背景
通信システムはコーディングを使用して雑音のある通信チャネルに渡る信頼性ある通信を確実に行う。例えば、衛星ネットワークのようなワイヤレス(または無線)システムでは、地理的および環境的要因からの雑音源が多い。これらの通信チャネルは固定容量を表し、これはある信号対雑音比(SNR)におけるシンボル当たりのビットに関して表すことができ、(シャノン限界として知られる)理論的上限を規定する。結果として、コーディング設計はこのシャノン限界に近づくレートを達成することを目的としている。この目的は、帯域幅制約衛星システムに対して特に密接な関係がある。シャノン限界に近づくこのようなクラスのコードの1つは低密度パリティチェック(LDPC)コードである。
従来、LDPCコードは多くの欠点があることから、幅広く採用されていなかった。1つの欠点はLDPCエンコーディング技術が非常に複雑であることである。その生成行列を使用してLDPCコードをエンコードするには、非常に大きな非希薄行列を記憶することが必要である。さらに、LDPCコードは大きなブロックが効率的であることを必要とし、結果的に、LDPCコードのパリティチェック行例が希薄であっても、これらの行列の記憶が問題である。
実現の将来的な見通しから、多数の難題に直面する。例えば、記憶装置はLDPCコードが実際には広まっていない重要な理由である。したがって、長いLDPCコードはより大きな記憶空間を要求する。また、LDPCコード実現における主な難題はデコーダ中のいくつかの処理エンジン(ノード)間で接続ネットワークをどのように達成するかである。さらに、デコーディングプロセス、特にチェックノード動作における計算負荷は問題を生じる。
したがって、簡単なエンコーディングおよびデコーディングプロセスを使用するLDPC通信システムに対する必要性がある。より複雑さを持ち込むことなく、LDPCコードを使用して高データレートを効率的にサポートする必要性がある。LDPCエンコーダおよびデコーダの性能を向上させる必要性もある。LDPCコーディングを実現するための記憶要求を最小にする必要性もある。
発明の概要
これらおよび他の必要性は本発明により取り扱われる。ここで、低密度パリティチェック(LDPC)コードをエンコーディングするアプローチが提供される。エンコーダは、LDPCコード化信号として送信するために、テーブル2−8の1つにしたがって、アウタBose Chaudhuri Hocqenghem(BCH)コードを有するLDPCコードを発生させる。テーブル2−8のそれぞれはパリティビットアキュムレータのアドレスを特定する。ショートLDPCコードはテーブル2−8に基づいているLDPCマザーコードを利用して出力される。BCHエンコード化ビットのkldpcにkm−kldpcダミー0が先行する。結果的なkmビットはシステマティックにエンコードされ、nmビットを発生させる。その後、最初のkm−kldpcダミー0が削除されて、短くされたコードが生成される。8−PSK(位相偏移変調)を利用するコードレート3/5を有するLDPCコードに対して、インターリーバはLDPCコード列方向に関係するデータをテーブルにシリアルに書き込み、右から左に行方向にデータをシリアルに読み出すことにより、出力LDPCコードのビットをインターリーブする。このアプローチはLDPCコードの好都合なエンコーディングとともにデコーディングを有効に提供する一方で、記憶および処理リソースを最小にする。
本発明の実施形態の1つの観点にしたがうと、低密度パリティチェック(LDPC)コード化信号の送信をサポートする方法が開示される。この方法は情報ビットを受信することを含む。方法はまたショートLDPCコードのパリティチェック行列にしたがって、情報ビットに基づき、16,000低密度パリティチェック(LDPC)コード化ビットを発生させることを含む。パリティチェック行列は、ビットノードおよびチェックノードの区分されたグループに関する情報がランダムアクセスメモリ(RAM)中で確実に常に隣接して配置されるようにする。
本発明の実施形態の他の観点にしたがうと、LDPCコードは、8−PSK(位相偏移変調)、16−QAM(直交振幅変調)、QPSK(4相位相偏移変調)、16−APSK(振幅位相偏移変調)および32−APSKのうちの1つを含む信号配列にしたがって変調される信号により表される。
本発明の実施形態のさらに別の観点にしたがうと、変調されたLDPCコード化信号はブロードバンド衛星アプリケーションのサポートで衛星リンクを通して送信される。
本発明のさらに他の観点、特徴および利点は、本発明を実施するために意図される最良の態様を含む、数多くの特定の実施形態および実施を単に例示することにより、以下の詳細の説明から容易に明らかになる。本発明は他のおよび異なる実施形態を行うこともでき、そのいくつかの詳細はすべて本発明の精神および範囲を逸脱することなく、さまざまな明白な点で修正できる。したがって、図面および説明は本質的に例証であると見なされるべきであり、限定的と見なされてはならない。
本発明は添付図面の図中に制限としてではなく例証として描かれ、図面において同じ参照番号は類似するエレメントに関係する。
好ましい実施形態の説明
ショートフレーム長の低密度パリティチェック(LDPC)コードを効率的にエンコーディングするシステム、方法およびソフトウェアを説明する。以下の説明においては、説明の目的のために、本発明の完全な理解を提供するため、多数の特定な詳細が述べられている。しかしながら、本発明がこれらの特定な詳細なしに、あるいは均等な構成で実現されてもよいことは当業者にとっては明らかである。他の例では、周知の構造およびデバイスは本発明を不必要に曖昧にするのを避けるためにブロック図で示されている。
図1は本発明の実施形態にしたがった、低密度パリティチェック(LDPC)コードを利用するように構成された通信システムの図である。デジタル通信システム100は送信機101を含み、この送信機101は通信チャネル103を通して受信機105に向かう信号波形を発生させる。このディスクリート通信システム100では、送信機101はディスクリートセットの可能性あるメッセージを生成するメッセージ源を有し、それぞれの可能性あるメッセージは対応する信号波形を持つ。これらの信号波形は通信チャネル103により、減衰され、そうでなければ変更される。雑音チャネル103と戦うためにLDPCコードが利用される。
例として、チャネル103はブロードバンド衛星アプリケーションのサポートで衛星ターミナル(例えば非常に小型の開口ターミナル(VSAT))の役に立つ衛星リンクである。このようなアプリケーションには衛星ブロードキャスティングおよびインターラクティブサービス(およびデジタルビデオブロードキャスト(DVB)−S2標準規格に準拠する)が含まれる。衛星を通してのデジタルビデオブロードキャスティング(DVB−S)標準規格は世界中で幅広く採用されており、例えばデジタル衛星テレビ番組を提供している。
送信機101により発生されるLDPCコードは何らかの性能損失を生じさせることなく高速な構成を可能にする。送信機101から出力されるこのように構成されたLDPCコードは、変調スキーム(例えば8−PSK)によりチャネルエラーに既に弱いビットノードに対してわずかな数のチェックノードを割り当てることを避ける。
このようなLDPCコードは(ターボコードと異なり)並列可能なデコーディングアルゴリズムを持ち、これは加算、比較およびテーブルルックアップのような簡単な動作を伴う効果がある。さらに、慎重に設計されたLDPCコードはエラーフロアーの兆候を何ら示さない。
本発明の1つの実施形態にしたがうと、送信機101は比較的に簡単なエンコーディング技術を使用して、(デコーディング中に効率的なメモリアクセスを促進する)パリティチェック行列に基づいてLDPCコードを発生させ、受信機105と通信する。送信機101はLDPCコードを使用し、ブロック長が十分に長ければ、LDPCコードは連結ターボ+RS(リードソロモン)コードより性能が優れる場合がある。
図2Aおよび図2Bは図1の送信機に配置される例示的なLDPCエンコーダの図である。図2Aに見られるように、送信機200にはLDPCエンコーダ203が設けられ、LDPCエンコーダ203は情報源201からの入力を受け入れ、受信機105におけるエラー訂正処理に適切なより高い冗長性のコード化ストリームを出力する。情報源201は、離散アルファベットXからk個の信号を発生させる。LDPCコードはパリティチェック行列で特定される。他方、LDPCコードをエンコーディングするには、一般的には生成行列を特定することが必要になる。ガウス消去法を使用してパリティチェック行列から生成行列を得ることが可能であるが、結果として得られる行列はもはや希薄でなく、大きな生成行列を記憶することは複雑となる可能性がある。
エンコーダ203は、簡単なエンコーディング技術を使用して、変調器205に対する信号をアルファベットYから発生させ、この簡単なエンコーディング技術は構造をパリティチェック行列に課すことによりパリティチェック行列のみ使用する。特に、行列のある部分を三角形に制約することによりパリティチェック行列に制限がおかれる。このようなパリティチェック行列の構造は図6で以下にさらに完全に説明する。このような制限は無視しうる性能損失となり、したがって魅力的なトレードオフとなる。
変調器205はエンコーダ203からのエンコード化メッセージを信号波形にマッピングし、この信号波形は送信アンテナ207に送られ、送信アンテナ207はこれらの波形を送信チャネル103を通して放射する。したがって、エンコード化メッセージは変調され、送信アンテナ207に配信される。以下で説明するように、送信アンテナ207からの送信は(図3に示されている)受信機に伝搬する。
図2Bは、本発明の1つの実施形態にしたがった、Bose Chaudhuri Hocqenghem(BCH)エンコーダと巡回冗長検査(CRC)エンコーダとともに利用されるLDPCエンコーダを示している。このシナリオのもとでは、CRCエンコーダ209とBCHエンコーダ211とともに、LDPCエンコーダ203により発生されるコードは連結されたアウタBCHコードおよびインナ低密度パリティチェック(LDPC)コードを有する。さらに、エラー検出は巡回冗長検査(CRC)コードを使用して達成される。例示的な実施形態におけるCRCエンコーダ209は、生成多項式(X5+X4+X3+X2+1)(X2+X+1)(X+1)を有する8ビットCRCコードを使用してエンコードする。CRCコードはBCHエンコーダ211に出力される。
LDPCエンコーダ203はサイズkldpc、i=(i0,i1,…,iKldpc-1)の情報ブロックをサイズnldpc、c=(i0,i1,…,iKldpc-1,p0,p1,…,pnldpc-Kldpc-1)のコードワードにシステマティックにエンコードする。コードワードの送信は所定の順でi0から開始し、pnldpc-Kldpc-1で終了する。LDPCコードパラメータ(nldpc,kldpc)は以下のテーブル1に与えられている。
Figure 0003917617
LDPCエンコーダ203のタスクはkldpc情報ビットの各ブロック(i0,i1,…,iKldpc-1)に対して、nldpc−kldpcパリティビット(p0,p1,…,pnldpc-Kldpc-1)を決定することである。手順は次の通りである。最初に、パリティビットが初期化される。p0=p1=p2=…=pnldpc-Kldpc-1=0。第1の情報ビットi0はテーブル2−8の第1行で特定されるパリティビットアドレスにおいて累積される。例えば、レート2/3(テーブル4)に対して、以下の結果となる。
Figure 0003917617
(すべての加算はGF(2)である)。
その後、次の359情報ビットim、m=1,2,…,359に対して、これらのビットはパリティビットアドレス{x+m mod360×q}mod(nldpc−kldpc)において累積される。ここでxは第1ビットi0に対応するパリティビットアキュムレータのアドレスを示し、qはテーブル9で特定されるコードレート依存定数である。例を続けると、レート2/3に対してq=60である。例として、情報ビットi1に対して、以下の演算が実行される。
Figure 0003917617
第361の情報ビットi360に対して、パリティビットアキュムレータのアドレスはテーブル2−8の第2行に与えられている。同様な方法で、後続する359情報ビットim、m=361,362,…,719に対して、パリティビットアキュムレータのアドレスは式{x+m mod360×q}mod(nldpc−kldpc)を使用して得られる。ここでxは情報ビットi360に対応するパリティビットアキュムレータのアドレス、すなわちテーブル2−8の第2行におけるエントリを示す。同様に、360の新しい情報ビットの各グループに対して、テーブル2−8からの新しい行が使用されて、パリティビットアキュムレータのアドレスが発見される。
パリティビットアキュムレータのアドレスはテーブル2−8に与えられている。
Figure 0003917617
Figure 0003917617
Figure 0003917617
Figure 0003917617
Figure 0003917617
Figure 0003917617
Figure 0003917617
すべての情報ビットが使い尽くされた後に、最終パリティビットは次の通りに得られる。最初に、i=1で開始して、以下の演算が実行される。
Figure 0003917617
i,i=0,1,…,nldpc−kldpc−1の最終内容はパリティビットpiに等しい。
Figure 0003917617
tエラー訂正BCHエンコーダ211の生成多項式はテーブル10の以下のリストにおける最初のt多項式を乗算することにより得られる。
Figure 0003917617
情報ビットm=(mkbch-1,mkbch-2,…,m1,m0)のコードワードc=(mkbch-1,mkbch-2,…,m1,m0,dnbch-kbch-1,dnbch-kbch-2,…,d1,d0)へのBCHエンコーディングは以下の通りに達成される。メッセージ多項式m(x)=mkbch-1kbch-1+mkbch-2kbch-2+…+m1x+m0はxnbch-kbchにより乗算される。次に、xnbch-kbchm(x)はg(x)により除算される。剰余としてのd(x)=dnbch-kbch-1nbch-kbch-1+…+d1x+d0により、コードワード多項式は以下の通りにセットされる。c(x)=xnbch-kbchm(x)+d(x)。
図2Bに見られるように、LDPCエンコーダ203はビットインターリーバ213に出力する。例として、8−PSK、16−APSKおよび32−APSK変調フォーマットが利用される。データはインターリーバ列方向に(上から下に)シリアルに書き込まれ、行方向に(左から右に)シリアルに読み出される。しかしながら、8−PSKを有するコードレート3/5のケースでは、左から右への代わりに、右から左にデータを読み出すことが(図7に図示されているように)より良い性能を生み出すことが決定された。
各変調フォーマットに対するブロックインターリーバの構成はテーブル11において特定されている。
Figure 0003917617
図2Cおよび図2Dは、本発明の実施形態にしたがった、ショートフレーム長LDPCコードを発生させるための図2BのLDPCエンコーダのエンコーディングプロセスのフローチャートである。ステップ211において、情報ビットが受信され、エンコーダ209、211および203のチェーンにおいて処理される。結果的に、ステップ223において、LDPCエンコーダ203は受信情報ビットに基づいてアウタBCHコードを有するLDPCコードを発生させる。コードはCRCコードも含む。ステップ225では、上述したように、コード化ビットはビットインターリーバ213により変更される。次に、LDPCコードは信号により表され、この信号はチャネル103を通しての送信のために、ステップ227により変調され、チャネル103は例示的な実施形態では、1つ以上の衛星ターミナルに対する衛星リンクである(ステップ229)。
上述したように、kldpcビットはシステマティックにエンコードされ、nldpcビットが発生される。本発明の1つの実施形態にしたがうと、nldpcは16200ビットであり、これはショートブロック長である。比較的短い長さのこのようなコードの場合、約16200ビット以下の長さを有するLDPCコードは“ショート”ブロック長コードと考えられる。
本発明の実施形態にしたがうと、ショートブロックコードはブロックサイズnm>16200のわずかに長い(km,nm)“マザー”コードのバージョンを短くすることにより発生される。図2Dに示されているように、BCHエンコード化ビットのkldpcはkm−kldpcダミー0により先行される(ステップ251)。ステップ253において、結果として得られるkmビットはシステマティックにエンコードされ、nmビットが発生される。ステップ255において、最初のkm−kldpcダミー0は削除され、結果として得られるnldpc=16200ビットが送信される(ステップ257)。km−kldpc=nm−nldpcであることに留意すべきである。
ショートフレーム長コードのパラメータは以下の通りにテーブル12に提供されている。
Figure 0003917617
図8に示すように、これらのコードの性能のシミュレーションが行われた。
テーブル13−15は16200ビットのnldpcに対する他の例示的なコードレート1/3、1/5および2/5を提供する。
Figure 0003917617
Figure 0003917617
Figure 0003917617
テーブル2−8および13−15に提供されているLDPCコードを設計する先のアプローチは、メモリ(例えばランダムアクセスメモリ(RAM))内の隣接するメモリ位置に常に配置されるべき、ビットノードおよびチェックノードの区分されたグループに関する関連情報の記憶および検索を効果的に可能にする。さらに、これは単一RAMバンクの使用を可能にし、それにより集積回路のサイズを最小にする。先に言及したように、例示的な実施形態では、MPEG(モーションピクチャエキスパートグループ)パケット送信のような、さまざまなデジタルビデオアプリケーションに対して、先のLDPCコードを使用することができる。
図3は図1のシステムにおける例示的な受信機の図である。受信側では、受信機300には復調器301が含まれ、復調器301は送信機200からの受信信号の復調を行う。これらの信号は復調のために受信アンテナ303において受信される。復調後、受信信号はデコーダ305に転送され、デコーダ305はビットメトリック発生器307とともに、メッセージX’を発生させることによりオリジナルソースメッセージを再構成しようと試行する。ビットメトリック発生器307は、デコーディングプロセス中にデコーダ305と行ったり来たり(反復的に)情報を交換してもよい。これらのデコーディングアプローチは2003年7月3日に出願された“低密度パリティチェック(LDPC)デコーダにおけるルーティングのための方法およびシステム”と題する同時継続中の出願(シリアル番号10/613,824号;代理人ドケットPD−203009)でさらに完全に説明されており、この出願はここでその全体が組み込まれている。本発明により提供される利点を理解するために、図4で説明されているように、どのようにしてLDPCコードが発生されるかを調べることが有効である。
図4は本発明の実施形態にしたがった、希薄パリティチェック行列の図である。LDPCコードは希薄パリティチェック行列H(n-k)xnを有する長い線形ブロックコードである。一般的に、ブロック長nは数千から数万ビットの範囲をとる。例えば、長さn=8およびレート1/2のLDPCコードに対するパリティチェック行列が図4に示されている。同じコードは図5に関して2部グラフにより等価的に表すことができる。
図5は図4の行列のLDPCコードに対する2部グラフの図である。パリティチェック式は、各チェックノードについて、すべての隣接ビットノードの(GF(ガロア域)(2)に対する)合計が0に等しくなることを意味する。図に見られるように、ビットノードはグラフの左側を占め、予め定められた関係にしたがって、1つ以上のチェックノードと関係している。例えば、チェックノードm1に対応して、以下の表現n1+n4+n5+n8=0がビットノードに関して存在する。
受信機303に戻ると、LDPCデコーダ305はメッセージ通過デコーダとして考えられ、それによりデコーダ305はビットノードの値を発見することを目的としている。このタスクを達成するために、ビットノードとチェックノードは互いに繰り返し通信する。この通信の性質を以下に説明する。
チェックノードからビットノードについては、各チェックノードは隣接ビットノードに対して、他の隣接ビットノードから来る情報に基づいてそのビットノードの値と考えられる推定値(“オピニオン”)を提供する。例えば、先の例において、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つより多い隣接チェックノードを持つケースでは、ビットノードは、それと通信しているチェックノードに対して判定を報告する前に、それの他の隣接チェックノードから来るフィードバックにおいて多数決(軟判定)を実行する。先のプロセスはすべてのビットノードが正しい(すなわち、すべてのパリティチェック式が満たされる)と考えられるまで、あるいは予め定められた最大数の反復に達して、それによりデコーディングの失敗が宣言されるまで繰り返される。
図6は本発明の実施形態にしたがった、希薄パリティチェック行列の部分行列の図である。部分行列は低位三角領域に制限されたパリティチェック値を含む。先に説明したように、(図2Aおよび図2Bの)エンコーダ203は、パリティチェック行列の低位三角領域の値を制限することにより、簡単なエンコーディング技術を使用することができる。本発明の実施形態にしたがうと、パリティチェック行列に課される制限は次の形態をとる。
(n-k)xn=[A(n-k)xk(n-k)x(n-k)
ここで、Bは低位三角行列である。
任意の情報ブロックi=(i0,i1,…,ik-1)がHcT=0を使用して、コードワード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に対して同様である。
図7は図2Bの送信機によりサポートされるさまざまなコードレートおよび変調スキームにおけるLDPCコードの性能のグラフである。見られるように、3/5レート、8−PSKシナリオはQPSKを使用するLDPCコードの性能に匹敵する。
図8は本発明の実施形態にしたがった、ショートブロックサイズLDPCコードに対するシミュレーション結果を示している。テーブル16はショートコード(nldpc=16200)に対する10-7のパケットエラーレート(PER)における推定された性能を提供する。
Figure 0003917617
図9は本発明にしたがった実施形態を実現することができるコンピュータシステムを図示している。コンピュータシステム900は、バス901または情報を通信する他の通信メカニズムと、バス901に結合され、情報を処理するプロセッサ903とを含む。コンピュータシステム900は、バス901に結合され、情報およびプロセッサ903により実行されるべき命令を記憶する、ランダムアクセスメモリ(RAM)または他の動的記憶デバイスのような、メインメモリ905も含む。メインメモリ905は、プロセッサ903により実行されるべき命令を実行中に、一時的な変数や他の中間的な情報を記憶するのにも使用することができる。コンピュータシステム900は、バス901に結合され、プロセッサ903のために静的情報および命令を記憶するリードオンリーメモリ(ROM)907や他の静的記憶デバイスをさらに含む。磁気ディスクや光学ディスクのような記憶デバイス909は、情報および命令を記憶するためにバス901に付加的に結合される。
コンピュータシステム900は、情報をコンピュータユーザに表示するために、陰極線管(CRT)、液晶ディスプレイ、アクティブマトリクスディスプレイ、またはプラズマディスプレイのような、ディスプレイ911にバス901を介して結合されてもよい。英数字および他のキーを含むキーボードのような入力デバイス913は情報およびコマンド選択をプロセッサ903に通信するためにバス901に結合される。他のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ903に通信し、ディスプレイ911上のカーソルの動きを制御するための、マウス、トラックボール、またはカーソル方向キーのようなカーソル制御915である。
本発明の1つの実施形態にしたがうと、LDPCコードの発生はメインメモリ905に含まれている命令の配列を実行するプロセッサ903に応答して、コンピュータシステム900により提供される。このような命令は、記憶デバイス909のような他のコンピュータ読み取り可能な媒体からメインメモリ905に読み込むことができる。メインメモリ905に含まれている命令の配列の実行はここで説明するプロセスステップをプロセッサ903に実行させる。マルチ処理構成の1つ以上のプロセッサを使用して、メインメモリ905に含まれている命令を実行してもよい。代替実施形態では、ソフトウェア命令の代わりにあるいはソフトウェア命令と組み合わせてハードワイヤード回路を使用して、本発明の実施形態を実現してもよい。したがって、本発明の実施形態はハードウェア回路およびソフトウェアの何らかの特定な組み合わせに限定されるものではない。
コンピュータシステム900はバス901に結合された通信インターフェイス917も含む。通信インターフェイス917はローカルネットワーク921に接続されたネットワークリンク919に結合している2方向データ通信を提供する。例えば、通信インターフェイス917はデジタル加入者線(DSL)カードまたはモデム、統合サービスデジタルネットワーク(ISDN)カード、ケーブルモデム、または電話モデムであって、対応するタイプの電話回線に対してデータ通信接続を提供してもよい。他の例として、通信インターフェイス917はローカルエリアネットワーク(LAN)カード(例えば、イーサーネット(登録商標)や非同期転送モード(ATM)ネットワーク)であって、互換性LANへのデータ通信接続を提供してもよい。ワイヤレスリンクを実現することもできる。このような任意の構成において、通信インターフェイス917は、電気、電磁気または光の信号を送受信し、これらの信号はさまざまなタイプの情報を表すデジタルデータストリームを伝える。さらに、通信インターフェイス917は、ユニバーサルシリアルバス(USB)インターフェイス、PCMCIA(パーソナルコンピュータメモリカード国際協会)インターフェイスなどのような、周辺機器インターフェイスデバイスを含むことができる。
ネットワークリンク919は一般的に1つ以上のネットワークを通して他のデータデバイスに対してデータ通信を提供する。例えば、ネットワークリンク919はローカルネットワーク921を通してホストコンピュータ923への接続を提供し、ローカルネットワーク921はネットワーク925(例えば、ワイドエリアネットワーク(WAN)または“インターネット”として現在一般的に言及されているグローバルパケットデータ通信ネットワーク)への接続性、またはサービスプロバイダにより運営されるデータ装置への接続性を有する。ローカルネットワーク921およびネットワーク925はともに電気、電磁気または光の信号を使用して、情報および命令を伝える。さまざまなネットワークを通る信号およびネットワークリンク919上の信号で通信インターフェイス917を通る信号は、情報および命令を伝達する搬送波の例示的な形態である。通信インターフェイス917はコンピュータシステム900とデジタルデータを通信する。
コンピュータシステム900はネットワーク、ネットワークリンク919および通信インターフェイス917を通して、メッセージを送信し、プログラムを含むデータを受信することができる。インターネットの例では、(示されていない)サーバは、ネットワーク925、ローカルネットワーク921および通信インターフェイス917を通して、本発明の実施形態を実現するアプリケーションプログラムに属する要求されたコードを送信してもよい。プロセッサ903は受信している間に送信されたコードを実行し、および/またはコードを後での実行のために記憶デバイス909または他の不揮発性記憶装置に記憶させてもよい。この方法では、コンピュータシステム900は搬送波の形態でアプリケーションコードを得てもよい。
ここで使用されているような用語“コンピュータ読み取り可能な媒体”は、実行のためにプロセッサ903に命令を提供することに関係する任意の媒体に関係する。このような媒体は多くの形態をとることができ、これらに限定されないが、不揮発性媒体、揮発性媒体および送信媒体が含まれる。不揮発性媒体は、例えば記憶デバイス909のような光または磁気ディスクが含まれる。揮発性媒体はメインメモリ905のような動的メモリが含まれる。送信媒体は、バス901を構成するワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。送信媒体は、無線周波数(RF)および赤外線(IR)データ通信中に発生されるもののような、音響、光または電磁気の波の形態もとることができる。コンピュータ読み取り可能な媒体の一般的な形態は、例えばフロッピ(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD−ROM、CDRW、DVD、他の任意の光媒体、パンチカード、紙テープ、光マークシート、穴や他の光学認識可能な表示のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、FLASH(登録商標)−EPROM、他の任意のメモリチップまたはカートリッジ、搬送波、あるいはコンピュータが読み取ることができる他の任意の媒体を含む。
さまざまな形態のコンピュータ読み取り可能な媒体は実行するためにプロセッサに命令を提供することに関係してもよい。例えば、本発明の少なくとも一部を実行する命令は遠隔コンピュータの磁気ディスク上に最初に記憶されてもよい。このようなシナリオでは、遠隔コンピュータは命令をメインメモリにロードして、その命令をモデムを使用して電話回線を通して送信する。ローカルコンピュータシステムのモデムは電話回線上でデータを受信し、赤外線送信機を使用して、データを赤外線信号に変換し、その赤外線信号を、パーソナルデジタルアシスタンス(PDA)およびラップトップのようなポータブルコンピューテングデバイスに送信する。ポータブルコンピューテングデバイス上の赤外線検出器は赤外線信号により運ばれる情報および命令を受信し、データをバス上に置く。バスはそのデータをメインメモリに伝え、このメインメモリからプロセッサは命令を取り出して実行する。メインメモリにより受信される命令は、オプション的に、プロセッサにより実行される前または後に記憶デバイス上に記憶されてもよい。
したがって、本発明のさまざまな実施形態はLDPCエンコーダを提供し、このLDPCエンコーダはLDPCコード化信号として送信するために、テーブル2−8の1つにしたがって、アウタBose Chaudhuri Hocqenghem(BCH)コードを有するLDPCコードを発生させる。テーブル2−8のそれぞれはパリティビットアキュムレータのアドレスを特定する。ショートLDPCコードはテーブル2−8に基づいているLDPCマザーコードを利用することにより出力される。BCHエンコード化ビットのkldpcはkm−kldpcダミー0により先行される。結果として得られるkmビットはシステマティックにエンコードされ、nmビットが発生される。その後、最初のkm−kldpcダミー0は削除され、短くされたコードが生成される。8−PSK(位相偏移変調)を利用するコードレート3/5を有するLDPCコードに対して、インターリーバはLDPCコード列方向に関係するデータをテーブルにシリアルに書き込み、右から左に行方向にデータをシリアルに読み出すことにより、出力LDPCコードのビットをインターリーブする。このアプローチは性能を犠牲にすることなく減少された複雑さを生み出す。
本発明は多数の実施形態および構成とともに説明したが、本発明はそのように制限されるものではなく、さまざまな変形および均等構成をカバーし、これらも特許請求の範囲の範囲に入る。
図1は本発明の実施形態にしたがった、低密度パリティチェック(LDPC)コードを利用するように構成された通信システムの図である。 図2Aは図1の送信機に配置された例示的なLDPCエンコーダの図である。 図2Bは図1の送信機に配置された例示的なLDPCエンコーダの図である。 図2Cは本発明の1つの実施形態にしたがった、ショートフレーム長LDPCコードを発生させるための図2BのLDPCエンコーダのエンコーディングプロセスのフローチャートである。 図2Dは本発明の実施形態にしたがった、ショートフレーム長LDPCコードを発生させるための図2BのLDPCエンコーダのエンコーディングプロセスのフローチャートである。 図3は図1のシステムにおける例示的な受信機の図である。 図4は本発明の実施形態にしたがった、希薄パリティチェック行列の図である。 図5は図4の行列のLDPCコードの2部グラフの図である。 図6は本発明の実施形態にしたがった、希薄パリティチェック行列の部分行列の図であり、部分行列は低位三角領域に制限されたパリティチェック値を含む。 図7は図2Bの送信機によりサポートされるさまざまなコードレートおよび変調スキームにおけるLDPCコードの性能のグラフである。 図8は図2Bの送信機によりサポートされるさまざまなコードレートにおけるショートLDPCコードの性能のグラフである。 図9は本発明の実施形態にしたがった、LDPCエンコーディングプロセスを実行することができるコンピュータシステムの図である。

Claims (22)

  1. 低密度パリティチェック(LDPC)コード化信号の送信をサポートする方法において、
    情報ビットを受信することと、
    ショートLDPCコードのパリティチェック行列にしたがって、情報ビットに基づき、16,000低密度パリティチェック(LDPC)コード化ビットを発生させることとを含み、
    パリティチェック行列は、ビットノードおよびチェックノードのそれぞれのグループの値が、デコーディングのためにランダムアクセスメモリ(905)中で確実に常に隣接して配置されるようにする方法。
  2. 低密度パリティチェック(LDPC)コード化信号の送信をサポートする方法において、
    情報ビットを受信することと、
    {x+m mod360×q}mod(nldpc−kldpc)にしたがってパリティビットアドレスにおける情報ビットを累積することにより、複数のコードレートの1つにしたがって、情報ビットに基づき、低密度パリティチェック(LDPC)コードを発生させることとを含み、
    ldpcはコードワードサイズであり、kldpcは情報ブロックサイズであり、mは特定の情報ビットに対応する整数であり、qはコードレートであり、xは各テーブル
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    により特定されるパリティビットアキュムレータのアドレスを示す方法。
  3. LDPCコード化信号を変調することと、
    変調信号を送信することとをさらに含む請求項1記載の方法。
  4. 変調信号はブロードバンド衛星アプリケーションのサポートで衛星リンク(103)を通して送信される請求項3記載の方法。
  5. 変調ステップは、8−PSK(位相偏移変調)、16−QAM(直交振幅変調)、QPSK(4相位相偏移変調)、16−APSK(振幅位相偏移変調)および32−APSKのうちの1つを含む信号配列にしたがって実行される請求項3記載の方法。
  6. 低密度パリティチェック(LDPC)コード化信号の送信をサポートするための命令を記憶しているコンピュータ読み取り可能な媒体において、
    前記命令は、実行時に1つ以上のプロセッサに請求項1記載の方法を実行させるように構成されている媒体。
  7. 低密度パリティチェック(LDPC)コード化信号の送信をサポートするエンコーダにおいて、
    情報ビットを受信する手段と、
    {x+m mod360×q}mod(nldpc−kldpc)にしたがってパリティビットアドレスにおける情報ビットを累積することにより、複数のコードレートの1つにしたがって、情報ビットに基づき、LDPCコード化信号として送信するために、アウタBose Chaudhuri Hocqenghem(BCH)コードを有する低密度パリティチェック(LDPC)コードを発生させる手段とを具備し、
    ldpcはコードワードサイズであり、kldpcは情報ブロックサイズであり、mは特定の情報ビットに対応する整数であり、qはコードレートであり、xは各テーブル
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    Figure 0003917617
    により特定されるパリティビットアキュムレータのアドレスを示すエンコーダ(203,211)。
  8. LDPCコード化信号を変調する手段と、
    変調信号を送信する手段とをさらに具備する請求項7記載のエンコーダ(203,211)。
  9. 変調信号はブロードバンド衛星アプリケーションのサポートで衛星リンク(103)を通して送信される請求項8記載のエンコーダ(203,211)。
  10. 変調は、8−PSK(位相偏移変調)、16−QAM(直交振幅変調)、QPSK(4相位相偏移変調)、16−APSK(振幅位相偏移変調)および32−APSKのうちの1つを含む信号配列にしたがって実行される請求項8記載のエンコーダ(203,211)。
  11. 低密度パリティチェック(LDPC)コード化信号の送信をサポートする送信機において、
    ショートLDPCコードのパリティチェック行列にしたがって、受信情報ビットに基づいて、コードレート3/5を有するLDPCコードを出力するように構成された低密度パリティチェック(LDPC)エンコーダ(203)と、
    LDPCコード関係するデータを列方向にテーブルにシリアルに書き込み、右から左に行方向にデータをシリアルに読み出すことにより、出力LDPCコードのビットをインターリーブするように構成されたビットインターリーバとを具備し、
    パリティチェック行列は、ビットノードおよびチェックノードのそれぞれのグループの値が、デコーディングのためにランダムアクセスメモリ(905)中で確実に常に隣接して配置されるようにし、
    LDPCコード化信号はインターリーブLDPCコードを表す送信機(200)。
  12. LDPCエンコーダ(203)に結合され、LDPCコードに対するアウタコードを提供するように構成されたBose Chaudhuri Hocqenghem(BCH)エンコーダ(211)をさらに具備する請求項11記載の送信機(200)。
  13. LDPCコード化信号を変調するように構成された変調器(205)をさらに具備する請求項11記載の送信機(200)。
  14. 変調信号はブロードバンド衛星アプリケーションのサポートで衛星リンク(103)を通して送信される請求項13記載の送信機(200)。
  15. 変調は8−PSK(位相偏移変調)を含む信号配列にしたがって実行される請求項13記載の送信機(200)。
  16. LDPCコードは{x+m mod360×q}mod(nldpc−kldpc)にしたがってパリティビットアドレスにおける情報ビットを累積することにより発生され、
    ldpcはコードワードサイズであり、kldpcは情報ブロックサイズであり、mは特定の情報ビットに対応する整数であり、qはコードレートであり、xはテーブル
    Figure 0003917617
    により特定されるパリティビットアキュムレータのアドレスを示す請求項13記載の送信機(200)。
  17. 低密度パリティチェック(LDPC)コード化信号の送信をサポートする方法において、
    ショートLDPCコードのパリティチェック行列にしたがって、受信情報ビットに基づいて、コードレート3/5を有するLDPCコードを出力することと、
    LDPCコード関係するデータを列方向にテーブルにシリアルに書き込み、左から右に行方向にデータをシリアルに読み出すことにより、出力LDPCコードのビットをインターリーブすることとを含み、
    パリティチェック行列は、ビットノードおよびチェックノードのそれぞれのグループの値が、デコーディングのためにランダムアクセスメモリ(905)中で確実に常に隣接して配置されるようにし、
    LDPCコード化信号はインターリーブLDPCコードを表す方法。
  18. 受信情報ビットのBose Chaudhuri Hocqenghem(BCH)エンコーディングを実行してLDPCコードに対するアウタコードを提供することをさらに含む請求項17記載の方法。
  19. LDPCコード化信号を変調することをさらに含む請求項17記載の方法。
  20. 変調信号はブロードバンド衛星アプリケーションのサポートで衛星リンク(103)を通して送信される請求項19記載の方法。
  21. 変調することは8−PSK(位相偏移変調)を含む信号配列にしたがって実行される請求項19記載の方法。
  22. LDPCコードは{x+m mod360×q}mod(nldpc−kldpc)にしたがってパリティビットアドレスにおける情報ビットを累積することにより発生され、
    ldpcはコードワードサイズであり、kldpcは情報ブロックサイズであり、mは特定の情報ビットに対応する整数であり、qはコードレートであり、xはテーブル
    Figure 0003917617
    により特定されるパリティビットアキュムレータのアドレスを示す請求項19記載の方法。
JP2004258552A 2003-09-04 2004-09-06 ショートブロック長の低密度パリティチェック(ldpc)コードを提供する方法およびシステム Expired - Lifetime JP3917617B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US50010903P 2003-09-04 2003-09-04
US51468303P 2003-10-27 2003-10-27
US51819903P 2003-11-07 2003-11-07

Publications (2)

Publication Number Publication Date
JP2005102201A JP2005102201A (ja) 2005-04-14
JP3917617B2 true JP3917617B2 (ja) 2007-05-23

Family

ID=34139651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004258552A Expired - Lifetime JP3917617B2 (ja) 2003-09-04 2004-09-06 ショートブロック長の低密度パリティチェック(ldpc)コードを提供する方法およびシステム

Country Status (11)

Country Link
US (3) US7334181B2 (ja)
EP (1) EP1513258B9 (ja)
JP (1) JP3917617B2 (ja)
KR (1) KR100619206B1 (ja)
CN (1) CN100382472C (ja)
AT (1) ATE387032T1 (ja)
CA (1) CA2480145C (ja)
DE (1) DE602004011861T2 (ja)
DK (1) DK1513258T3 (ja)
ES (1) ES2300716T3 (ja)
HK (1) HK1076673A1 (ja)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864869B2 (en) 2002-07-26 2011-01-04 Dtvg Licensing, Inc. Satellite communication system utilizing low density parity check codes
US7376883B2 (en) 2003-10-27 2008-05-20 The Directv Group, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
CN101341659B (zh) * 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
KR100684168B1 (ko) * 2004-12-09 2007-02-20 한국전자통신연구원 최적붙임방법을 이용한 다중 부호율 ldpc 부호의디자인 방법
US7900127B2 (en) * 2005-01-10 2011-03-01 Broadcom Corporation LDPC (Low Density Parity Check) codes with corresponding parity check matrices selectively constructed with CSI (Cyclic Shifted Identity) and null sub-matrices
US7536629B2 (en) * 2005-01-10 2009-05-19 Broadcom Corporation Construction of LDPC (Low Density Parity Check) codes using GRS (Generalized Reed-Solomon) code
JP2006238127A (ja) * 2005-02-25 2006-09-07 Sony Corp 復号装置および方法、並びにプログラム
KR20060106132A (ko) * 2005-04-06 2006-10-12 삼성전자주식회사 연접 ldgm 부호 부호화/복호화 방법
CN101208866B (zh) * 2005-08-12 2012-05-23 富士通株式会社 发送装置
JP4717072B2 (ja) * 2005-08-12 2011-07-06 富士通株式会社 送信装置
KR100946905B1 (ko) * 2005-09-27 2010-03-09 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
US7707479B2 (en) 2005-12-13 2010-04-27 Samsung Electronics Co., Ltd. Method of generating structured irregular low density parity checkcodes for wireless systems
US8271850B2 (en) * 2005-12-29 2012-09-18 Intel Corporation Fast low-density parity-check code encoder
WO2007091779A1 (en) 2006-02-10 2007-08-16 Lg Electronics Inc. Digital broadcasting receiver and method of processing data
US7971130B2 (en) * 2006-03-31 2011-06-28 Marvell International Ltd. Multi-level signal memory with LDPC and interleaving
WO2007126196A1 (en) 2006-04-29 2007-11-08 Lg Electronics Inc. Digital broadcasting system and method of processing data
WO2007136166A1 (en) 2006-05-23 2007-11-29 Lg Electronics Inc. Digital broadcasting system and method of processing data
KR20070113349A (ko) * 2006-05-23 2007-11-29 엘지전자 주식회사 방송 신호 복조 장치 및 방송 신호 송수신 방법
US7873104B2 (en) 2006-10-12 2011-01-18 Lg Electronics Inc. Digital television transmitting system and receiving system and method of processing broadcasting data
US8583981B2 (en) * 2006-12-29 2013-11-12 Marvell World Trade Ltd. Concatenated codes for holographic storage
KR101285887B1 (ko) 2007-03-26 2013-07-11 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR101253185B1 (ko) 2007-03-26 2013-04-10 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
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)
KR101285888B1 (ko) 2007-03-30 2013-07-11 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
WO2009005326A2 (en) 2007-07-04 2009-01-08 Lg Electronics Inc. Digital broadcasting system and method of processing data
WO2009017814A2 (en) * 2007-08-01 2009-02-05 Sirius Xm Radio Inc. Method and apparatus for interleaving low density parity check (ldpc) codes over mobile satellite channels
KR101492634B1 (ko) * 2007-08-28 2015-02-17 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 데이터 송수신 장치 및 방법
CN103281091B (zh) * 2007-09-28 2017-10-27 松下电器产业株式会社 编码方法、编码器、解码器、发送装置和接收装置
TWI538415B (zh) * 2007-11-26 2016-06-11 Sony Corp Data processing device and data processing method
TWI410055B (zh) * 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
WO2009072854A1 (en) * 2007-12-06 2009-06-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding channel in a communication system using low-density parity-check codes
KR100937430B1 (ko) * 2008-01-25 2010-01-18 엘지전자 주식회사 신호 송수신 방법 및 신호 송수신 장치
KR20090094738A (ko) * 2008-03-03 2009-09-08 삼성전자주식회사 무선 디지털 방송 시스템에서 시그널링 정보를 부호화하는 장치 및 방법
PL2388941T3 (pl) * 2008-03-03 2019-03-29 Samsung Electronics Co., Ltd. Sposób i urządzenie do przesyłania zakodowanej informacji sterującej w systemie komunikacji bezprzewodowej
EP2248265B1 (en) * 2008-03-03 2015-05-27 RAI RADIOTELEVISIONE ITALIANA S.p.A. Bit permutation patterns for ldpc coded modulation and qam constellations
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US20100162078A1 (en) * 2009-03-04 2010-06-24 Comtech Ef Data Corp. Telecommunication system and related methods
JP5881930B2 (ja) * 2009-05-13 2016-03-09 三菱電機株式会社 誤り訂正符号化装置および誤り訂正復号装置
EP2436120B1 (en) 2009-05-27 2017-09-27 Novelsat Ltd Adaptive scheduling of iterative demodulation and ldpc decoding
US9706599B1 (en) 2009-07-23 2017-07-11 Marvell International Ltd. Long wireless local area network (WLAN) packets with midambles
US8724720B2 (en) 2009-07-29 2014-05-13 Marvell World Trade Ltd. Methods and apparatus for WLAN transmission
US8495450B2 (en) * 2009-08-24 2013-07-23 Samsung Electronics Co., Ltd. System and method for structured LDPC code family with fixed code length and no puncturing
US8560911B2 (en) * 2009-09-14 2013-10-15 Samsung Electronics Co., Ltd. System and method for structured LDPC code family
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
US8402341B2 (en) * 2010-02-18 2013-03-19 Mustafa Eroz Method and system for providing low density parity check (LDPC) encoding and decoding
KR101541040B1 (ko) * 2010-03-12 2015-08-03 엘에스아이 코포레이션 플래시 메모리들을 위한 ldpc 소거 디코딩
US8971261B2 (en) 2010-06-02 2015-03-03 Samsung Electronics Co., Ltd. Method and system for transmitting channel state information in wireless communication systems
US8732565B2 (en) 2010-06-14 2014-05-20 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing in a gigabit LDPC decoder
US8433991B2 (en) * 2010-06-16 2013-04-30 Qualcomm Incorporated Global Navigation Satellite System (GLONASS) data bit edge detection
US9634693B2 (en) 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
US8780958B2 (en) 2010-08-27 2014-07-15 Qualcomm Incorporated Hybrid bit extraction for global position receiver
US8619919B2 (en) 2010-10-14 2013-12-31 Qualcomm Incorporated Selective coherent and non-coherent demodulation methods and apparatuses
EP2477335B1 (en) 2011-01-18 2019-05-29 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and reveiving data in communication/broadcasting system
JP5630283B2 (ja) * 2011-01-19 2014-11-26 ソニー株式会社 データ処理装置、及び、データ処理方法
TWI487290B (zh) * 2011-03-29 2015-06-01 Mstar Semiconductor Inc 用於準循環低密度奇偶校驗碼之再定址解碼器與解碼方法
EP2525496A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
US9009559B2 (en) * 2012-03-16 2015-04-14 Hughes Network Systems, Llc Method and apparatus for wireless data transmission subject to periodic signal blockages
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
US9059737B2 (en) 2013-01-11 2015-06-16 HGST Netherlands B.V. Disk drive with distributed codeword blocks
US9077378B2 (en) * 2013-01-31 2015-07-07 Lsi Corporation Integrated-interleaved low density parity check (LDPC) codes
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
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
WO2014145217A1 (en) 2013-03-15 2014-09-18 Hughes Network Systems, Llc Low density parity check (ldpc) encoding and decoding for small terminal applications
US9362952B2 (en) 2013-06-14 2016-06-07 Samsung Electronics Co., Ltd. Apparatuses and methods for encoding and decoding of parity check codes
WO2015016669A1 (en) 2013-08-01 2015-02-05 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
CN105453553B (zh) * 2013-08-01 2018-08-28 Lg 电子株式会社 发送广播信号的设备、接收广播信号的设备、发送广播信号的方法以及接收广播信号的方法
EP2858249A1 (en) * 2013-10-07 2015-04-08 Electronics and Telecommunications Research Institute Low density parity check encoder
JP2015156533A (ja) 2014-02-19 2015-08-27 ソニー株式会社 データ処理装置、及び、データ処理方法
JP2015156532A (ja) 2014-02-19 2015-08-27 ソニー株式会社 データ処理装置、及び、データ処理方法
JP2015156534A (ja) 2014-02-19 2015-08-27 ソニー株式会社 データ処理装置、及び、データ処理方法
JP2015179960A (ja) 2014-03-19 2015-10-08 ソニー株式会社 データ処理装置、及び、データ処理方法
KR101775704B1 (ko) * 2014-05-21 2017-09-19 삼성전자주식회사 송신 장치 및 그의 인터리빙 방법
KR102260767B1 (ko) * 2014-05-22 2021-06-07 한국전자통신연구원 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 64-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
US10361720B2 (en) * 2014-05-22 2019-07-23 Electronics And Telecommunications Research Institute Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 3/15 and 64-symbol mapping, and bit interleaving method using same
WO2015187720A2 (en) 2014-06-02 2015-12-10 Marvell Semiconductor, Inc. High efficiency orthogonal frequency division multiplexing (ofdm) physical layer (phy)
WO2015191901A1 (en) 2014-06-11 2015-12-17 Marvell Semiconductor, Inc. Compressed ofdm symbols in a wireless communication system
CA2864635C (en) * 2014-08-14 2017-06-27 Sung-Ik Park Low density parity check encoder having length of 16200 and code rate of 3/15, and low density parity check encoding method using the same
KR102329573B1 (ko) * 2014-12-10 2021-11-22 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법
KR102254102B1 (ko) * 2015-01-23 2021-05-20 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102287627B1 (ko) * 2015-02-16 2021-08-10 한국전자통신연구원 길이가 64800이며, 부호율이 4/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
US10141951B2 (en) 2015-03-02 2018-11-27 Samsung Electronics Co., Ltd. Transmitter and shortening method thereof
KR101800424B1 (ko) * 2015-03-02 2017-11-23 삼성전자주식회사 송신 장치 및 그의 쇼트닝 방법
US11211951B2 (en) * 2017-03-30 2021-12-28 Lg Electronics Inc. Method for encoding based on parity check matrix of LDPC code in wireless communication system and terminal using this
CN110710176B (zh) 2017-06-09 2022-12-02 马维尔亚洲私人有限公司 带有具有压缩ofdm符号的中间码的分组
CN109150194B (zh) * 2017-06-27 2022-01-14 华为技术有限公司 信息处理的方法、装置和通信设备
WO2019060407A1 (en) 2017-09-22 2019-03-28 Marvell World Trade Ltd. DETERMINING THE NUMBER OF MIDAMBULES IN A PACKET
CN110830048B (zh) * 2019-11-14 2021-10-12 天津大学 基于奇偶校验矩阵分解构造全分集ldpc码的纠错方法
US11223372B2 (en) 2019-11-27 2022-01-11 Hughes Network Systems, Llc Communication throughput despite periodic blockages
CN113708776B (zh) * 2020-05-20 2023-06-09 中国科学院上海高等研究院 基于ldpc码的编码方法、系统、介质及装置
CN113708777B (zh) * 2020-05-20 2023-06-13 中国科学院上海高等研究院 基于ldpc码的编码方法、系统、介质及装置
US11838127B2 (en) 2022-03-11 2023-12-05 Hughes Network Systems, Llc Adaptive satellite communications

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2799592B1 (fr) * 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
DE60040805D1 (de) 1999-12-20 2008-12-24 Research In Motion Ltd Hybrid-wiederholungsaufforderungsystem und -verfahren
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
JP2001345716A (ja) 2000-06-02 2001-12-14 Oki Electric Ind Co Ltd 符号化通信システムおよびその伝送誤り低減方法
KR20030036227A (ko) 2000-06-16 2003-05-09 어웨어, 인크. Ldpc 코드형 변조를 위한 시스템 및 방법
US7000168B2 (en) 2001-06-06 2006-02-14 Seagate Technology Llc Method and coding apparatus using low density parity check codes for data storage or data transmission
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6789227B2 (en) 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
CA2456485C (en) * 2002-07-03 2011-11-15 Hughes Electronics Corporation Method and system for providing low density parity check (ldpc) encoding
US7020829B2 (en) * 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (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
US20040019845A1 (en) * 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
US7409628B2 (en) * 2002-08-15 2008-08-05 Broadcom Corporation Efficient design to implement LDPC (Low Density Parity Check) decoder
US7395487B2 (en) * 2002-08-15 2008-07-01 Broadcom Corporation Common circuitry supporting both bit node and check node processing in LDPC (Low Density Parity Check) decoder
CN1185796C (zh) 2002-11-15 2005-01-19 清华大学 改进的非规则低密度奇偶校验码纠错译码方法
US7222284B2 (en) 2003-06-26 2007-05-22 Nokia Corporation Low-density parity-check codes for multiple code rates
US7412646B2 (en) * 2003-10-23 2008-08-12 Microsoft Corporation Systems and methods for pagination and co-pagination
US7376883B2 (en) * 2003-10-27 2008-05-20 The Directv Group, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
US7234098B2 (en) * 2003-10-27 2007-06-19 The Directv Group, Inc. Method and apparatus for providing reduced memory low density parity check (LDPC) codes
US8261152B2 (en) * 2007-09-10 2012-09-04 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes
TWI497920B (zh) * 2007-11-26 2015-08-21 Sony Corp Data processing device and data processing method

Also Published As

Publication number Publication date
US20110047435A1 (en) 2011-02-24
DE602004011861T2 (de) 2009-02-12
JP2005102201A (ja) 2005-04-14
ES2300716T3 (es) 2008-06-16
DE602004011861D1 (de) 2008-04-03
DK1513258T3 (da) 2008-03-25
EP1513258B1 (en) 2008-02-20
HK1076673A1 (en) 2006-01-20
US7673226B2 (en) 2010-03-02
US8028224B2 (en) 2011-09-27
EP1513258A2 (en) 2005-03-09
US20080082894A1 (en) 2008-04-03
CN100382472C (zh) 2008-04-16
ATE387032T1 (de) 2008-03-15
CA2480145C (en) 2008-02-05
EP1513258B9 (en) 2015-09-02
CA2480145A1 (en) 2005-03-04
KR100619206B1 (ko) 2006-09-04
EP1513258A3 (en) 2005-06-08
CN1619997A (zh) 2005-05-25
KR20050025085A (ko) 2005-03-11
US7334181B2 (en) 2008-02-19
US20050060635A1 (en) 2005-03-17

Similar Documents

Publication Publication Date Title
JP3917617B2 (ja) ショートブロック長の低密度パリティチェック(ldpc)コードを提供する方法およびシステム
JP3936354B2 (ja) ブロードバンド衛星アプリケーションのサポートでショートブロック長の低密度パリティチェック(ldpc)コードを提供する方法およびシステム
JP3990396B2 (ja) ロングおよびショートブロック長の低密度パリティチェック(ldpc)コードを提供する方法およびシステム
JP4109241B2 (ja) 減少されたメモリの低密度パリティチェック(ldpc)コードを提供する方法および装置
US7577207B2 (en) Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes
CA2579629C (en) Method and system for providing short block length 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: 20060627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060927

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070208

R150 Certificate of patent or registration of utility model

Ref document number: 3917617

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110216

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

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

Year of fee payment: 6

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

Year of fee payment: 7

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250