JP4422436B2 - 低密度パリティチェックコードを発生する方法およびシステム - Google Patents

低密度パリティチェックコードを発生する方法およびシステム Download PDF

Info

Publication number
JP4422436B2
JP4422436B2 JP2003176330A JP2003176330A JP4422436B2 JP 4422436 B2 JP4422436 B2 JP 4422436B2 JP 2003176330 A JP2003176330 A JP 2003176330A JP 2003176330 A JP2003176330 A JP 2003176330A JP 4422436 B2 JP4422436 B2 JP 4422436B2
Authority
JP
Japan
Prior art keywords
nodes
ldpc
bit
code
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 - Lifetime
Application number
JP2003176330A
Other languages
English (en)
Other versions
JP2004064756A (ja
Inventor
ムスタファ・エロズ
フェン−ウェン・スン
リン−ナン・リー
Original Assignee
ディーティーブイジー・ライセンシング、インコーポレイテッド
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
Priority claimed from US10/353,230 external-priority patent/US20040019845A1/en
Application filed by ディーティーブイジー・ライセンシング、インコーポレイテッド filed Critical ディーティーブイジー・ライセンシング、インコーポレイテッド
Publication of JP2004064756A publication Critical patent/JP2004064756A/ja
Application granted granted Critical
Publication of JP4422436B2 publication Critical patent/JP4422436B2/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
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • H04L27/36Modulator circuits; Transmitter circuits
    • 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/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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/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
    • 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]
    • 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
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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/0059Convolutional codes
    • H04L1/006Trellis-coded modulation
    • 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/0061Error detection 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/0064Concatenated codes
    • H04L1/0065Serial concatenated 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
    • 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
    • H04L27/20Modulator circuits; Transmitter circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/32Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
    • H04L27/34Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H40/00Arrangements specially adapted for receiving broadcast information
    • H04H40/18Arrangements characterised by circuits or components specially adapted for receiving
    • H04H40/27Arrangements characterised by circuits or components specially adapted for receiving specially adapted for broadcast systems covered by groups H04H20/53 - H04H20/95
    • H04H40/90Arrangements characterised by circuits or components specially adapted for receiving specially adapted for broadcast systems covered by groups H04H20/53 - H04H20/95 specially adapted for satellite broadcast receiving
    • 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/007Unequal error protection

Description

【0001】
【発明の属する技術分野】
本発明は通信システム、特に、コード化されたシステムに関する。
【0002】
【発明の参考とする文献】
本出願は、2002年7月26日出願の米国プロビジョナル特許出願第60/398,760号明細書(発明の名称“Code Design and Implementation Improvements for Low Density Parity Check Codes”)と、2002年8月15日出願の米国プロビジョナル特許出願第60/403,812号明細書(発明の名称“Power and Bandwidth Efficient Modulation and Coding Scheme for Direct Broadcast Satellite and Broadcast Satellite Communications”)と、2002年10月25日出願の米国プロビジョナル特許出願第60/421,505号明細書(発明の名称“Method and System for Generating Low Density Parity Check Code”)と、2002年10月29日出願の米国プロビジョナル特許出願第60/421,999号明細書(発明の名称“Satellite Communications System Utilizing Low Density Parity Check Codes”)と、2002年11月4日出願の米国プロビジョナル特許出願第60/423,710号明細書(発明の名称“Code Design and Implementation Improvements for Low Density Parity Check Codes”)の35 U.S.C.119(e) による早期出願日の有効性を請求している。
【0003】
【従来の技術】
通信システムは雑音の多い通信チヤンネルを通って信頼のできる通信を確保するためにコード化を使用している。これらの通信チヤンネルは固定容量を有しており、それは理論的上限(シャノン限界として知られている)を規定しているある所定の信号対雑音比(SNR)におけるシンボル当たりのビットによって表現される。その結果、コード化設計はこのシャノン限界に近いレートを達成することを目的としている。シャノン限界に近いこのようなコードのクラスの1つはパリティ(LDPC)コードである。
【0004】
伝統的に、LDPCコードは多くの欠点のために広く展開されていない。1つの欠点はLDPCコード化技術が非常に複雑であることである。その発生器マトリックスを使用するLDPCコードのコード化は、非常に大きく疎(sparse)でないマトリックスを記憶する必要がある。さらにLDPCコードは実効的に大きいブロックを必要とし、その結果、LDPCコードのパリティチェックマトリックスが疎であっても、これらのマトリックスの記憶について問題がある。構成上の観点から、記憶の問題が実際にLDPCコードが広がらない重要な理由の1つである。LDPCコード実行に対する重要な挑戦はデコーダ中のいくつかの処理エンジン(ノード)間の接続ネットワークをどのように得るのかに係っている。
【0005】
【発明が解決しようとする課題】
それ故、簡単なコード化およびデコード処理を使用するLDPCコード通信システムが必要とされている。また、大きい複雑性を導入することなく高いデータレートをサポートする効率のよいLDPCコードを使用することが必要とされている。また、LDPCエンコーダおよびデコーダの性能を改善することも必要である。また、LDPCコード化を行なうための記憶装置の必要な容量を最小にすることも必要である。さらに、LDPCデコーダ中の処理ノード間の通信を簡単にする方式が必要とされる。
【0006】
【課題を解決するための手段】
これらおよびその他の要求は本発明によって解決される。本発明よれば構成された低密度パリティチェック(LDPC)コードを生成する方法が提供される。LDPCコードの構造は、パリティチェックマトリックスの部分を低い三角形に制限し、および、またはデコーダの処理ノード間の通信が非常に簡単になるようにその他の要求を満足させることにより与えられる。また、その方法は、高次の変調の立体配座(constellation) (8−PSK[位相シフトキーイング])の被害を受けやすいビットに対して余分のエラー保護を与えるように送信されたビットにおけるLDPCコードの均等ではないエラー保護能力を生成することができる利点がある。さらに、パリティチェックマトリックスは予め記憶された定数およびビットワイズ動作を使用するアルゴリズムにすることができる。
【0007】
本発明の1特徴によれば、低密度パリティチェック(LDPC)コードを発生する方法が提供される。その方法は、受信された入力メッセージを、LDPCコードの発生器マトリックスを使用しないでLDPCコードのパリティチェックマトリックスだけを使用してLDPCコードワードに変換し、LDPCコードワードを出力する。
【0008】
本発明の別の特徴によれば、線形ブロックコードのコード化をサポートする方法が提供される。その方法は、高次の信号の立体配座ビットを線形ブロックコードに対応するパリティチェックマトリックスのビットノードにマップするステップを含んでいる。信号の立体配座の被害を受けやすい弱いビットは少なくとも3つのエッジを有するビットノードにマップされる。
【0009】
本発明の別の特徴によれば、線形ブロックコードのコード化をサポートする方法が提供される。その方法は、高次の信号の立体配座ビットを線形ブロックコードに対応するパリティチェックマトリックスのビットノードにマップするステップを含んでいる。信号の立体配座の弱いビットがもっと信頼性の高いビットより少なくないエッジ数を有するビットノードにマップされる。
【0010】
本発明の別の特徴によれば、低密度パリティチェック(LDPC)コードを発生する方法が提供され、その方法は、受信された入力メッセージを、LDPCコードの発生器マトリックスを使用しないでLDPCコードのパリティチェックマトリックスだけを使用してLDPCコードワードに変換するステップを含んでいる。この方法は、外部コードをLDPCコードワードに供給し、供給された外部コードを有するLDPCコードワードを出力する。
【0011】
本発明のさらに別の特徴によれば、低密度パリティチェック(LDPC)コードを発生する方法が提供される。その方法は、メモリ中で互いに隣接しているビットノードのグループに対してエッジの内容を配置する。また、同時にメモリ中で互いに隣接しているチェックノードのグループに対してエッジの内容を配置する。
【0012】
本発明のさらに別の特徴によれば、低密度パリティチェック(LDPC)コードを発生するシステムが提供され、そのシステムは、受信された入力メッセージを、LDPCコードの発生器マトリックスを使用しないでLDPCコードのパリティチェックマトリックスだけを使用してLDPCコードワードに変換する手段と、LDPCコードワードを出力する手段とを具備している。
【0013】
本発明のさらに別の特徴によれば、低密度パリティチェック(LDPC)コードを処理する方法が提供される。その方法は、受信されたLDPCコードをLDPCコードデコーダによってデコードする。また、その方法は毎回またはいくつかのLDPCコードデコーダの反復動作後にLDPCコードデコーダ信号の立体配座ビットメトリック値を反復的に再生する。
【0014】
本発明のさらに別の特徴、観点、および利点は、多数の特定の実施形態および構成を本発明を実行するときに期待される最良のモードを含めて例示する以下の詳細な説明により容易に明白となるであろう。本発明はまた本発明の技術的範囲を逸脱することなくその他の異なった実施形態が可能であり、そのいくつかの詳細は主々の明白な観点から変更可能である。したがって、図面および明細書の記載は単なる例示であって本発明の技術的範囲を制限するものではない。
【0015】
【発明の実施の形態】
構成された低密度パリティチェック(LDPC)コードを効率よく生成するシステム、方法、およびソフトウエアについて説明する。以下の説明において、本発明の理解を容易にするために説明のために多くの特定の詳細な説明が行われている。しかしながら、本発明はこれらの特定の詳細な構成およびそれと等価な装置によらないで実現することが可能であることは当業者には明白である。別の例において、よく知られた構造および装置は本発明の説明を不必要に不明瞭にすることを避けるためにブロック図の形態で示されている。
【0016】
図1は、本発明による低密度パリティチェック(LDPC)コードを使用するように構成された通信システムのブロック図である。デジタル通信システム100 は送信機101 を含み、それは通信チヤンネル103 を通って受信機105 に送る信号波形を発生する。このディスクリートな通信システム100 では、送信機101 はメッセージソースを有し、そのメッセージソースは可能なメッセージのディスクリートなセットを生成し、各可能なメッセージは対応する信号波形を有している。これらの信号波形は通信チヤンネル103 によって減衰され、或いはそうでなければ変更される。雑音チヤンネル103 に対抗するためにLDPCコードが使用される。
【0017】
送信機101 によって発生されたLDPCコードは性能損失を生じることなく高速の通信を可能にする。送信機101 から出力されたこれらの構成されたLDPCコードは、変調方式(例えば8−PSK)によるチヤンネルエラーを受けやすいビットノードに少数のチェックノードの割当てを避ける。
【0018】
このようなLDPCコードは並列化されたデコードアルゴリズムを有し(ターボコードと異なる)、それは加算、比較、およびテーブル検索のような簡単な演算を含む利点がある。さらに、注意深く設計されたLDPCコードはエラーフロアの兆候を有しない。
【0019】
本発明の1実施形態では、送信機101 は比較的簡単なコード化技術を使用してパリティチェックマトリックスに基づいてLDPCコードを発生し(それはデコード中の効率のよいメモリアクセスを容易にする)、受信機105 と通信する。送信機101 はブロック長が十分な大きさを与える場合には、連結されたターボ+RS(リード・ソロモン)コードに代わってLDPCコードを使用する。
【0020】
図2は、図1のシステムの例示的な送信機のブロック図である。送信機200 はLDPCエンコーダ203 を備え、それは情報ソース201 から入力を受取り、受信機105 でエラー補正処理を行うために適している高い冗長度のコード流を出力する。情報ソース201 はディスクリートなアルファベットXからkの信号を発生する。LDPCコードはパリティチェックマトリックスにより特定される。他方、LDPCコードの符号化は通常発生器マトリックスの特定を必要とする。ガウスの消去法を使用してパリティチェックマトリックスから発生器マトリックスを得ることが可能である場合でも、結果的に得られたマトリックスは疎ではなく、大きい発生器マトリックスの記憶は複雑になる。
【0021】
エンコーダ203 は簡単なコード化技術を使用して変調器205 に対してアルファベットYから信号を発生する。そのコード化技術はパリティチェックマトリックスに構造を与えることによりパリティチェックマトリックスだけを使用する。特に、マトリックスのある所定の部分を三角形であるように制限することによってパリティチェックマトリックスに制限が与えられる。そのようなパリティチェックマトリックスの構成は図6を参照して後で詳細に記載する。そのような制限の結果として、性能の損失は無視できる程度となり、それ故、魅力的なトレード・オフを与える。
【0022】
変調器205 はエンコーダ203 からのコード化されたメッセージを送信アンテナ207 へ送られる信号波形にマップし、送信アンテナ207 はこれらの信号波形を通信チヤンネル103 で放射する。したがってコード化されたメッセージは変調されテ送信アンテナ207 に分配される。送信アンテナ207 からの送信は以下説明するように受信機に伝搬する。
【0023】
図3は、図1のシステムの例示的な受信機のブロック図である。受信機側では受信機300 は送信機200 から受信された信号の復調を行う復調器301 を含んでいる。これらの信号は受信アンテナ303 で受信され、復調される。復調後、受信された信号はデコーダ305 に転送され、そこで、ビットメトリック発生器307 と共にメッセージX' を発生することによりもとのソースメッセージを再構成しようと試みる。グレーでないマッピングにより、図10に詳細に示されているようにデコード処理中にビットメトリック発生器307 はデコーダ305 と確率情報を前後に(反復的に)交換する。その代りに、グレーマッピングが使用される場合には(本発明の1実施形態にしたがって)、ビットメトリック発生器の通過は1回で十分であるが、ビットメトリック発生器が各LDPCデコーダの反復動作後に制限された性能の改善を生成する可能性があり、この方法は図11に詳細に示されている。本発明により提供された利点を認識するために、図4を参照にしてLDPCコードがどのように発生されるを検査することが有効である。
【0024】
図4は、本発明の1実施形態によるスパースパリティチェックマトリックスの説明図である。LDPCコードは、スパースパリティチェックマトリックスH(n-k)xn を有する長い線形のブロックコードである。典型的にブロック長nは数千から数万ビットの範囲である。例えば、長さn=8およびレート1/2に対するLDPCコードに対するパリティチェックマトリックスは図4に示されている。同じコードは図5の2部分により表されるものと等価である。
【0025】
図5は図4のマトリックスのLDPCコードの2部分のグラフである。パリティチェックの式は、各チェックノードに対して、全ての隣接するビットのノードの合計(GF[Galoisフィールド][2] にわたる)はゼロに等しい。図に示されるように、ビットノードはグラフの左側を占め、予め定められた関係にしたがって1以上のチェックノードと関係している。例えば、チェックノードm1 に対応して、ビットノードに関して、次の式
1 +n4 +n5 +n8 =0 が存在する。
【0026】
受信機303 に戻ると、LDPCデコーダ305 はメッセージパスデコーダと考えられ、したがってデコーダ305 はビットノードの値を発見することを目的としている。この作業を行うために、ビットノードとチェックノードは互いに反復的に通信する。この通信の性質について以下説明する。
【0027】
チェックノードからビットノードへ、各チェックノードは他の隣接するビットノードから来る情報に基づいてそのビットノードの値に関する評価(“意見”)を隣接するビットノードへ与える。例えば、上記の例において、n4 、n5 、n8 の合計がm1 に対して0のように見える場合には、m1 はn1 に対する指示であり、n1 のその値は0であるべきであると信じられる(n1 +n4 +n5 +n8 =0であるからである)。他方、m1 はn1 に対する指示であり、n1 のその値は1であるべきであると信じられる。さらに、ソフト決定デコードに対して、信頼性の測定が付加される。
【0028】
ビットノードからチェックノードへ、各ビットノードは他の隣接するチェックノードから来るフィードバックに基づいてその自分の値に関する評価を隣接するチェックノードへ送る。上記の例において、n1 はただ2つの隣接するチェックノードm1 およびm3 を有している。n1 の値が恐らく0であることをm3 からn1 へ来るフィードバックが示した場合には、n1 はm1 にn1 の自己の値の評価が0であることを通知する。ビットノードが2より多くの隣接するチェックノードを有する場合に対して、ビットノードは、そのチェックノードに対する決定を報告する前に、それが通信する他の隣接するチェックノードから来るフィードバックについての主投票(ソフト決定)を行う。上記のプロセスは、全てのビットノードが正しいと考えられるまで反復され(すなわち、全てのパリティチェックの式が満足される)か、或いは予め定められた反復の最大数に到達するまで反復され、それによってデコードの故障が宣言される。
【0029】
図6はスパースパリティチェックマトリックスのサブマトリックスを示す図であり、それにおいて、サブマトリックスは本発明の1実施形態による低い三角形領域に制限されたパリティチェック値を有している。前述のように、エンコーダ203 (図2の)はパリティチェックマトリックスの低い三角形領域の値を制限することによって簡単なコード化技術を使用することができる。本発明の1実施形態によれば、パリティチェックマトリックスに与えられる制限は次のような形態である。
(n-k)xn =[A(n-k)xk (n-k)x(n-k)
ここで、Bは低い三角形である。
【0030】
任意の情報ブロックi=(i0 ,i1 ,…,ik-1 )がHC T =0を使用し、コードワードc=(i0 ,i1 ,…ik-1 ,p0 ,p1 ,…,pn-k-1 )にコード化され、パリティビットを解くために反復される。例えば、
000 +a011 +…+a0,k-1 k-1 +p0 =0 p0 を解く
100 +a111 +…+a1,k-1 k-1 +b100 +p1 =0 p1 を解く
2 ,p3 ,…,pn-k-1 に対しても同様である。
【0031】
図7は制限されないパリティチェックマトリックス(Hマトリックス)と図6の制限されたHマトリックスを利用するコード間の特性を示すグラフである。グラフは2つのLDPCコード間の比較である。:すなわち、1つは一般的なパリティチェックマトリックスによるものであり、他方は、簡単なコード化のために低い三角形に制限したパリティチェックマトリックスよるものである。このシミュレーションに対しては、変調方式は8−PSKである。性能損失は0.1dB以内である。それ故、性能損失は低い三角形のHマトリックスの制限に基づいて無視される。一方、コード化技術の簡単化における利益は可成りのものである。したがって、低い三角形または行と列の少なくとも一方の交換された上部三角形に等価な任意のパリティチェックマトリックスが同じ目的に対して使用されることができる。
【0032】
図8の(A)および(B)はそれぞれグレーでない8−PSK変調方式およびグレーの8−PSK変調方式を示す図であり、それぞれは図1のシステムで使用されることができる。図8の(A)のグレーでない8−PSK変調方式は図3の受信機で使用されて非常に低いフレーム消去レート(FER)を必要とするシステムを提供することができる。この要求はまた図8の(B)に示されているグレー8−PSK変調方式を使用し、ボーズ(Bose),チャウドリ(Chaudhuri) およびホッケンゲム(Hocquenghem) (BCH)のコード、ハミング、マタハリードソロモン(RS)コードのような外部コードを使用することにより満足されることができる。
【0033】
その代りに、図8の(B)のグレーの8−PSK変調方式は外部コードにより行われることができる。この方式では、LDPCデコーダ305 (図3)と8−PSK変調を使用することができるビットメトリック発生器307 との間の反復は必要ない。外部コードが存在しないとき、グレーラベリングを使用するLDPCデコーダ305 は図9に示され、以下説明されるように以前のエラーフロアを示している。
【0034】
図9は、図8の(A)および(B)のグレーとグレーでないラベリングを使用するコード間の性能を示すグラフである。エラーフロアは、LDPCデコーダ305 からの正確なフィードバックを仮定し、8−PSKビットメトリックの再生は既知の2つのビットを有する2つの8−PSKシンボルがグレーでないラベリングによりさらに離れるためにグレーでないラベリングによりさらに正確になることによって生じる。これは高い信号対雑音比(SNR)で動作するときに同様に認められる。それ故、グレー或いはグレーでないラベリングを使用する同じLDPCコードのエラー漸近線が同じスロープを有している(すなわち、互いに平行)場合でも、グレーでないラベリングのものは任意のSNRで低いFERを通過する。
【0035】
他方で、非常に低いFERを必要としないシステムに対して、LDPCデコーダ305 と8−PSKビットメトリック発生器307 との間の何らかの反復のないグレーラベリングはより適切である。それは毎回のLDPCデコーダの反復の前の8−PSKビットメトリックの再生は付加的な複雑性を生じるからである。さらに、グレーラベリングが使用されるとき、LDPCデコーダの反復の前の8−PSKビットメトリックの再生はほんの少しの性能の改善を生じる。前述したように、反復なしのグレーラベリングは外部コードの提供が行われる場合には非常に低いFERを必要とするシステムに対して使用されることができる。
【0036】
グレーラベリングとグレーでないラベリングとの間の選択はまたLDPCコードの特性に依存している。典型的に高い程度のビットまたはチェックノードのほうがグレーラベリングではよい。それは、高い程度のノードに対しては、LDPCデコーダ305 から8−PSK(または類似の高次変調)ビットメトリック発生器307 への最初のフィードバックはグレーではないラベリングによりより多く劣化されるからである。
【0037】
8−PSK変調(または類似の高次変調)が2進デコーダによって利用されるとき、1つのシンボルの3(またはそれより多くの)ビットが“等しい雑音”で受信されない。たとえばグレーの8−PSKラベリングにより、シンボルの第3のビットは他の2つのビットよりもデコーダに対して雑音が多いと考えられる。それ故、LDPCコード設計は8−PSKシンボルの“雑音が多い”第3のビットにより表されるビットノードに小さい数のエッジを割当てない。それ故それらのビットは2回ペナルティを与えられることはない。 図10は本発明の1実施形態によるグレーではないマッピングを使用するLDPCデコーダの動作のフローチャートである。この方法では、LDPCデコーダとビットメトリック発生器は次々に反復動作する。この例では、8−PSK変調が使用されるが、同一の原理は他の高次の変調方式にも適用される。このシナリオでは、変調器301 は距離ベクトルdを出力し、ビットメトリック発生器307 に対する受信された雑音の多いシンボル点と8−PSKシンボル点との間の距離を示し、それによってベクトル成分は以下のようになることが想定される。
i =−(ES /N0 ){(rx −si,x 2 +(ry −si,y 2
i=0,1,…7
8−PSKビットメトリック発生器307 は演繹的(アプリオリ)確率情報と経験的(アポステリオリ)確率情報を交換するためにLDPCデコーダ305 と通信し、これはそれぞれuとaで表される。即ちベクトルuとaはそれぞれコード化されたビットのログ尤度比の演繹的および経験的確率を表す。
【0038】
8−PSKビットメトリック発生器307 は以下のように3ビットの各グループの演繹的尤度比を発生する。最初に、コード化されたビットの外因的な情報が得られる。
【0039】
j =aj −uj j=0,1,2
次に、8−PSKシンボル確率pi i=0,1,…,7が決定される。
* j =−f(0,ej ) j=0,1,2
ここでf(a,b)=max(a,b)+LUTf (a,b)であり、
LUTf (a,b)=ln(1+e - a-b )である。
* j =yj +ej j=0,1,2
* 0 =x0 +x1 +x2 4 =y0 +x1 +x2
1 =x0 +x1 +y2 5 =y0 +x1 +y2
2 =x0 +y1 +x2 6 =y0 +y1 +x2
3 =x0 +y1 +y2 7 =y0 +y1 +y2
次に、ビットメトリック発生器307 は以下のようにLDPCデコーダ305 への入力として、コード化されたビットの演繹的なログ尤度比を決定する。
【数1】
Figure 0004422436
2つよりも多くの変数が帰納的に評価されることができることに注意し、例えば、
f(a,b,c)=f(f(a,b),c)
グレーではないマッピングを使用するLDPCデコーダ305 の動作について説明する。ステップ1001では、LDPCデコーダ305 は次式にしたがって(および図12のAに示されているように)第1の反復前にコード化されたビットのログ尤度比vを初期化する。
n ki=un 、n=0,1,…,N−1、i=1,2,…,deg(ビットノードn)
ここでv n kiはビットノードnからその隣接するチェックノードki へ送られるメッセージを示し、un はビットnの復調器出力を示し、Nはコードワードのサイズである。
【0040】
ステップ1003では、チェックノードkは更新され、それによって入力vは出力wを生成する。図12のBに示されるように、dc の隣接するビットノードからチェックノードkへ入来するメッセージはvn1 k ,vn2 k ,…v ndc k により示される。目的はチェックノードkからdc の隣接するビットノードへ戻る出力メッセージを計算することである。これらのメッセージはw k n1,w k n2,…,w k ndc により示され、ここで、
k ni
g(vn1 k ,vn2 k ,…,vni-1 k ,vni+1 k ,…,vndc k
関数g( )は以下のように規定される。
g(a,b)=sign(a)×sign(b)×{min(|a|,|b|)}+LUTg (a,b)
ここで、
LUTg (a,b)=ln(1+e - a+b )−ln(1+e - a-b
である。関数fと類似して、2よりも多数の変数を有する関数gは帰納的に評価されることができる。
【0041】
次に、デコーダ305 はステップ1205で経験的確率情報(図12のC)を出力し、それによって、
【数2】
Figure 0004422436
ステップ1007で、全てのパリティチェックの式が満足されるか否かが決定される。これらのパリティチェックの式が満足されないならば、デコーダ305 はステップ1011のように、8−PSKビットメトリックとチャンネル入力un を再度導く。次に、ステップ1013のようにビットノードが更新される。図15に示されているように、チェックノードに隣接するdv からビットノードnへ入来するメッセージはwk1 n 、wk2 n 、…w kdv n により示される。ビットノードnからの出力メッセージはdv の隣接するチェックノードへ計算して戻され、このようなメッセージはv n k1、v n k2、v n kdv により示され、以下のように計算される。
【0042】
【数3】
Figure 0004422436
ステップ1009では(全てのパリティチェックの式が満足される場合)デコーダ305 はハード決定を出力する。
【数4】
Figure 0004422436
前述の方法はグレーではないレベリングが使用されるときに適切である。一方、グレーレベリングが実行されるときには、図11のプロセスが実行される。
【0043】
図11は、本発明の1実施形態にしたがってグレーのマッピングを使用している図3のLDPCデコーダの動作のフローチャートである。グレーレベリングが使用されるとき、それぞれのLDPCデコーダ反復後に再生されたビットメトリックが公称上の性能改良をもたらすので、ビットメトリックはLDPCデコーダの前に一度だけ発生されることが有効である。図10のステップ1001および1003のように、ステップ1101および1103でコード化されたビットのログ尤度比vの初期化が実行され、チェックノードが更新される。次に、ビットノードnはステップ1105のように更新される。その後、デコーダはアポステリオリ確率情報を出力する(ステップ1107)。ステップ1109では、全てのパリティチェックの式が満足されるか否かの決定が行われ、イエスならば、デコーダはハード決定を出力する(ステップ1111)。ノーであるならば、ステップ1103−1107が反復される。
【0044】
図13乃至15は本発明の種々の実施形態にしたがって発生されたLDPCコードのシミュレーション結果を示したグラフである。特に、図13乃至15は高次の変調と、3/4(QPSK、1.485ビット/シンボル)、2/3(8−PSK、1.980ビット/シンボル)、5/6(8−PSK、2.474ビット/シンボル)のコードレートにおけるLDPCコードの特性を示している。
【0045】
2つの通常の方法がチェックノードとビットノードとの間の相互接続を実現するために存在し、それぞれ(1)全体的な並列方法、(2)部分的な並列方法である。全体的な並列アーキテクチャでは、全てのノードとそれらの相互接続が物理的に構成される。このアーキテクチャの利点は速度である。
【0046】
しかしながら、全体的な並列アーキテクチャは全てのノードとそれらの接続を実現するために大きな複雑性を含んでいる。それ故、全体的な並列アーキテクチャでは、より小さいブロックサイズが複雑性を減少するために必要とされる。その場合、同じクロック周波数に対しては、スループットの比例した減少と幾らかのFER対Es/No性能の劣化が結果として生じる。
【0047】
LDPCコードを構成する第2の方法は、ノードの総数のサブセットだけを物理的に実現し、コードの全ての“機能的”ノードを処理するために限定された数の“物理的”ノードだけを使用することである。LDPCデコーダの動作は非常に簡単に行われることができ、並列に動作されることができるが、設計上のさらなる挑戦は、通信が“ランダムに”分配されたビットノードとチェックノード間で設定される方法の開発である。図3のデコーダ305 は、本発明の1実施形態によれば、この問題を表面的にランダムコードを実現するために構成された方法でメモリをアクセスすることにより解決する。この方法を図16および17に関して説明する。
【0048】
図16および17は、本発明の1実施形態にしたがって、LDPCコード化のランダム性を実現するために構成されたアクセスをサポートするように組織されているメモリの上部および下部エッジをそれぞれ示している。構成されたアクセスはパリティチェックマトリックスの発生に焦点を合わせることにより正確なランダムコードの性能に妥協せずに実現されることができる。通常、パリティチェックマトリックスはチェックノードとビットノードとの接続により特定されることができる。例えば、ビットノードは392のグループに分割される(392は例示の目的で示されている)。さらに、例えば程度3の第1のビットノードに接続されるチェックノードがa、b、cの符号を付けられると仮定すると、第2のビットノードに接続されるチェックノードはa+p、b+p、c+pの符号を付けられ、第3のビットノードに接続されるチェックノードはa+2p、b+2p、c+2pの符号を付けられる。392のビットノードの次のグループでは、第1のビットノードに接続されるチェックノードはa、b、cとは異なり、そのためpの適切な選択では、全てのチェックノードは同一の程度を有する。ランダムな検索がフリー定数(free constant )にわたって行われ、それによって結果的なLDPCコードはサイクル−4およびサイクル−6フリーである。
【0049】
前述の構成はチェックノードおよびビットノード処理中のメモリアクセスを容易にする。2部分グラフのエッジの値はランダムアクセスメモリ(RAM)のような記憶媒体に記憶されることができる。チェックノードおよびビットノード処理中の正確なランダムなLDPCコードに対して、エッジの値はランダムな方法で1つずつアクセスされる必要があることに注意する。しかしながら、このようなアクセス方式は高いデータレートのアプリケーションに対しては非常に遅くなる。図16および17のRAMは1つの方法によって1クロックサイクルにおいて関連するエッジの大きいグループで組織され、したがってこれらの値は“共に”メモリに位置付けられる。実際には、正確なランダムコードでさえも、チェックノードのグループ(およびそれぞれのビットノード)では、関連するエッジはRAM中で相互に隣接して位置されることができるが、ビットノードのグループ(それぞれのチェックノード)に隣接する関連するエッジはRAM中にランダムに分散されることが観察される。それ故、本発明では“トゲザネス”(togetherness)はパリティチェックマトリックス自体の設計から生じる。即ち、チェックマトリックス設計はビットノードとチェックノードのグループに対する関連するエッジがRAM中で共に同時に位置されることを確実にする。
【0050】
図16および17で見られるように、各ボックスはエッジの値を含んでおり、これは多数のビット(例えば6)である。エッジRAMは本発明の1実施形態にしたがって2つの部分、即ち上部エッジRAM(図16)と下部エッジRAM(図17)とに分割される。下部エッジRAMは例えば程度2のビットノードとチェックノードとの間にエッジを含んでいる。上部エッジRAMは2よりも大きい程度のビットノードとチェックノードとの間にエッジを含んでいる。それ故、チェックノード毎に、2つの隣接エッジは下部RAMに記憶され、残りのエッジは上部エッジRAMに記憶される。
【0051】
前述の例の説明を続けると、392のビットノードと392のチェックノードのグループは一度の処理で選択される。392のチェックノード処理では、qの連続的な行が上部エッジRAMからアクセスされ、2つの連続的な行が下部エッジRAMから選択される。この例では、q+2は各チェックノードの程度である。ビットノード処理では、392のビットノードのグループが程度2を有するならば、それらのエッジは下部エッジRAMの2つの連続する行中に位置される。ビットノードが程度d>2を有するならば、それらのエッジは上部エッジRAMの幾つかのd行に位置される。これらのd行のアドレスは読取専用メモリ(ROM)のような不揮発性メモリ中に記憶されることができる。1つの行のエッジは392のビットのノードの第1のエッジに対応し、別の行のエッジは392ビットのノードの第2のエッジに対応する。さらに各行に対しては、392のグループの第1のビットノードに属すエッジの列インデックスもまたROMに記憶されることができる。第2、第3等のビットノードに対応するエッジは“ラップアラウンド”方法でスタート列のインデックスにしたがう。例えば行のj番目のエッジが第1のビットノードに属すならば、(j+1)番目のエッジは第2のビットノードに属し、(j+2)番目のエッジは第3のビットノードに属し、(j−1)番目のエッジは第392のビットノードに属している。
【0052】
(図16および17に示されている)前述の組織により、メモリアクセスの速度はLDPCコード化中に非常に強化される。
【0053】
図18は本発明にしたがって実施形態が構成されることができるコンピュータシステム1500を示している。このコンピュータシステム1500は情報を通信するためのバス1501またはその他の通信機構と、情報を処理するためにバス1501に結合されたプロセッサ1503とを含んでいる。コンピュータシステム1500はまたランダムアクセスメモリ(RAM)等の主メモリ1505、またはプロセッサ1503により行われる情報および命令を記憶するためにバス1501に結合されている他のダイナミックな記憶装置を含んでいる。主メモリ1505はまたプロセッサ1503により行われる命令を実行するときに一時的に変数または他の中間情報を記憶するために使用されることもできる。コンピュータシステム1500はさらにプロセッサ1503の静止情報および命令を記憶するためにバス1501に結合される読取専用メモリ(ROM)1507またはその他の静的記憶装置を含んでいる。磁気ディスクまたは光ディスク等の記憶装置1509は付加的に情報および命令を記憶するためにバス1501へ結合される。
【0054】
コンピュータシステム1500は情報をコンピュータユーザへ表示するためにバス1501により、陰極線管(CRT)、液晶ディスプレイ、アクチブマトリックスディスプレイ、またはプラズマディスプレイ等のディスプレイ1511へ結合されてもよい。文字数字およびその他のキーを含んでいるキーボードのような入力装置1513はプロセッサ1503へ情報およびコマンド選択を通信するためにバス1501へ結合されている。別のタイプのユーザ入力装置は指令情報およびコマンド選択をプロセッサ1503へ通信し、ディスプレイ1511上のカーソル移動を制御するためにマウス、トラックボール、またはカーソル指令キー等のカーソル制御装置1515である。
【0055】
本発明の1実施形態にしたがって、LDPCコードの発生は主メモリ1505中に含まれている命令の構成を実行するプロセッサ1503に応答してコンピュータシステム1500により行われる。このような命令は別のコンピュータの読取可能な媒体から記憶装置1509のような主メモリ1505に読取られることができる。主メモリ1505中に含まれる命令の構成の実行はプロセッサ1503にここで説明されているプロセスステップを実行させる。多処理構成において1以上のプロセッサは主メモリ1505中に含まれている命令を実行するために使用されてもよい。別の実施形態では、ハードワイヤ回路が本発明の実施形態を構成するためにソフトウェア命令の代わりにまたはそれと組合わせて使用されてもよい。したがって、本発明の実施形態はハードウェア回路のとソフトウェアの任意の特定の組合わせに限定されない。
【0056】
コンピュータシステム1500はまたバス1501に結合された通信インターフェース1517を含んでいる。通信インターフェース1517はローカルネットワーク1521に接続されるネットワークリンク1519に結合されて2方向データ通信を行う。例えば通信インターフェース1517はデジタル加入者ライン(DSL)カードまたはモデム、統合サービスデジタル網(ISDN)カード、ケーブルモデムまたはデータ通信接続を対応するタイプの電話線に行う電話機のモデムであってもよい。別の例として、通信インターフェース1517は互換性のあるLANに対してデータ通信接続を行うために(例えばイーサネット(商標名)または非同期転送モデル(ATM)ネットワーク用の)構内ネットワーク(LAN)カードであってもよい。無線リンクもまた構成されることができる。任意のこのような構成では、通信インターフェース1517は種々のタイプの情報を表すデジタルデータ流を伝送する電気的、電磁的または光信号を送信し、受信する。さらに、通信インターフェース1517はユニバーサルシリアルバス(USB)インターフェース、PCMCIA(パーソナルコンピュータメモリカード国際協会)インターフェース等のような周辺インターフェース装置を含むことができる。
【0057】
ネットワークリンク1519は典型的に1以上のネットワークを通してデータ通信を他のデータ装置へ提供する。例えばネットワークリンク1519はローカルネットワーク1521を介してホストコンピュータ1523への接続を行い、これはネットワーク1525(例えば広域網(WAN)または“インターネット”として普通に呼ばれているグローバルパケットデータ通信ネットワーク)またはサービスプロバイダにより動作されるデータ装置への接続を行う。構内ネットワーク1521およびネットワーク1525の両者は情報および命令を伝送するために電気的、電磁的または光信号を使用する。種々のネットワークを通る信号およびネットワークリンク1519上および通信インターフェース1517を通る信号はデジタルデータをコンピュータシステム1500により通信し、情報および命令を伝送する例示的な形態は搬送波である。
【0058】
コンピュータシステム1500は、ネットワーク、ネットワークリンク1519、通信インターフェース1517を通してメッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバ(図示せず)はネットワーク1525、構内ネットワーク1521、通信インターフェース1517を通して本発明の1実施形態を実行するためのアプリケーションプログラムに属すリクエストされたコードを送信する。プロセッサ1503は受信しながら送信されたコードを実行および/または後に実行するために記憶装置159 または他の不揮発性記憶装置に記憶する。この方法では、コンピュータシステム1500は搬送波の形態のアプリケーションコードを獲得する。
【0059】
ここで使用される用語“コンピュータの読取可能な媒体”は実行のためプロセッサ1503へ命令を与えることに関係する任意の媒体を示している。このような媒体は多くの形態を取り、不揮発性媒体、揮発性媒体、伝送媒体を含むがそれに限定されない。不揮発性媒体は、例えば記憶装置1509のような光学または磁気ディスクを含んでいる。揮発性媒体は主メモリ1505のようなダイナミックメモリを含んでいる。伝送媒体はバス1501を構成しているワイヤを含めて、同軸ケーブル、銅線、または光ファイバを含んでいる。伝送媒体はまた無線周波数(RF)および赤外線(IR)データ通信中に発生されるような音響、光または電磁波の形態を取ることができる。コンピュータの読取可能な媒体の通常の形態は、例えばフロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD−ROM、CDRW、DVD、任意の他の光媒体、パンチカード、ペーパーテープ、光マークシート、穴のパターンまたは他の光学的に認識可能な指標を有する任意の他の物理的媒体、RAM、PROM、EPROM、フラッシュEPROM、任意の他のメモリチップまたはカートリッジ、搬送波またはコンピュータが読取可能な任意の他の媒体を含んでいる。
【0060】
コンピュータの読取可能な媒体の種々の形態は実行命令をプロセッサに与えることを含んでいてもよい。例えば、本発明の最小部分を実行するための命令は最初は遠隔コンピュータの磁気ディスクに位置されてもよい。このようなシナリオでは、遠隔コンピュータは命令を主メモリにロードし、モデムを使用して電話線によって命令を送信する。ローカルコンピュータシステムのモデムは電話線でデータを受信し、赤外線送信機を使用してそのデータを赤外線信号に変換し、その赤外線信号をパーソナルデジタルアシスタンス(PDA)およびラップトップのようなポータブルコンピュータ装置へ送信する。ポータブルコンピュータ装置の赤外線検出器は赤外線信号により伝送された情報および命令を受信し、そのデータをバスに供給する。バスはそのデータを主メモリに伝送し、そこからプロセッサは命令を検索し実行する。主メモリにより受信された命令はプロセッサによる実行される前または後に随意選択的に記憶装置に記憶される。
【0061】
以上説明したように、本発明の種々の実施形態はエンコーダおよびデコーダを簡単にするために構成された低密度パリティチェック(LDPC)コードを発生する方法を提供する。LDPCコードの構造はパリティチェックマトリックスを低い三角形であるように限定することにより与えられる。また、(8−PSK(位相シフトキーイング)のような)高次の変調コンステレーションのさらに脆弱なビットに対して特別のエラー保護を行うために、送信されたビットにLDPCコードの不均一なエラー保護能力を有効に使用することができる。さらに、パリティチェックマトリックスは予め記憶された定数とビット単位のる動作を使用してアルゴリズム的に発生されることができる。LDPCの効率のよいデコードはチェックノードからメモリの連続的なスロットにおけるパリティチェックマトリックスのビットノードまでの連続的なエッジを表す情報を記憶することによって行われることができる。前述の方法は性能を犠牲にせずに複雑性を有効に減少させる。
【0062】
本発明を多くの実施形態および構成と共に説明したが、本発明はそれに限定されるものではなく、種々の明白な変形および均等な構成は特許請求の範囲に記載された本発明の技術的範囲内に含まれるべきものである。
【図面の簡単な説明】
【図1】本発明の1実施形態による低密度パリティチェック(LDPC)コードを使用するように構成された通信システムの概略図。
【図2】図1のシステムの例示的な送信機の概略図。
【図3】図1のシステムの例示的な受信機の概略図。
【図4】本発明の1実施形態のスパースパリティチェックマトリックスの概略図。
【図5】図4のマトリックスのLDPCコードの2部分からなるグラフ図。
【図6】本発明の1実施形態によるサブマトリックスが低い三角形領域に制限されたパリティチェック値を含むスパースパリティチェックマトリックスのサブマトリックスの概略図。
【図7】制限されないパリティチェックマトリックス(Hマトリックス)と、図6のようなサブマトリックスを有する制限されたHマトリックスとの使用しているコード間の特性を示すグラフ図。
【図8】それぞれ図1のシステムで使用されることのできるグレーでない8−PSK変調方式とグレーの8−PSK変調方式の概略図。
【図9】グレーのラベリングとグレーでないラベリングとを使用するコード間の特性を示すグラフ図。
【図10】本発明の1実施形態によるグレーでないマッピングを使用するLDPCデコーダの動作のフロー図。
【図11】本発明の1実施形態によるグレーのマッピングを使用する図3のLDPCデコーダの動作のフロー図。
【図12】本発明の1実施形態によるデコードプロセスにおけるチェックノードとビットノードとの間の相互作用の説明図。
【図13】本発明の種々の実施形態により生成されたLDPCコードのシミュレーションのを示すグラフ。
【図14】本発明の種々の実施形態により生成されたLDPCコードのシミュレーションのを示すグラフ。
【図15】本発明の種々の実施形態により生成されたLDPCコードのシミュレーションのを示すグラフ。
【図16】本発明の1実施形態によるLDPCコード化のランダム性を実現するように構成されたアクセスをサポートするように組織されているメモリの上部エッジの概略図。
【図17】本発明の1実施形態によるLDPCコード化のランダム性を実現するように構成されたアクセスをサポートするように組織されているメモリの下部エッジの概略図。
【図18】本発明の1実施形態によるLDPCコードのコード化およびデコードの処理を行うコンピュータシステムの概略図。

Claims (9)

  1. 低密度パリティチェック(LDPC)コードを発生する方法において、
    LDPCコードの発生器マトリックスを使用しないでLDPCコードのパリティチェックマトリックスだけを使用して、受信された入力メッセージをLDPCコードワードに変換するステップと
    前記LDPCコードワードを出力するステップと、を含み、
    前記パリティチェックマトリックスは、複数のチェックノードと複数のビットノードとの間の繋がりを特定していて、
    複数のビットノードはMビットノードの複数のグループに分割されていて、
    ビットノードの各グループに対して、各ビットノードnjがm1+jp, m2+jp, …, md+jpと番号付けられた複数のチェックノードに繋がっていて、ここでjは0からM-1までの値を取り、従ってjは前記グループの複数のビットノードの番号を表していて、m1, m2, …, mdは各グループの第1のビットノードに繋がったd個のチェックノードを表していて、チェックノードm1, m2, …, mdはあるグループのビットノードと次のグループのビットノード間で異なっており、従って、pを適切な値に定めると、マトリックスで表された全てのチェックノードは同じ次数を有するようになり、
    ビットノードのグループに対する複数のエッジ値を互いに隣接してメモリに配置し且つチェックノードのグループに対する複数のエッジ値を互いに隣接して前記メモリに同時に配置することにより、前記パリティチェックマトリックスが前記LDPCコードワードのデコーディング期間中に組織だったアクセスを提供する、LDPCコードの発生方法。
  2. 変換ステップにおいて、パリティチェックマトリックスの予め定められた三角形部分が行または列の交換後にゼロ値を有する請求項1記載の方法。
  3. さらに、変調方式にしたがったLDPCコードの変調は、
    8−PSK(位相シフトキーイング)、16QAM(直交振幅変調)またはQPSK(直交位相シフトキーイング)の1つを含んでいる請求項1記載の方法。
  4. 線形ブロックコードを発生するための命令を保持するコンピュータ読出可能な媒体において、
    請求項1記載の方法を1以上のプロセッサに行わせるために前記命令が配置されているコンピュータ読出可能な媒体。
  5. 外部コードを前記LDPCコードワードに適用するステップを更に含み、外部コードはボーズ(Bose)、チャウドリ(Chaudhuri),ホッケンゲム(Hocqunghem)(BCH)コードを含む、請求項1に記載のLDPCコードの発生方法。
  6. 適用するステップにおいて、外部コードは,代りにリード・ソロモン(RS)コードまたはハミングコードのいずれかを含んでいる請求項記載の方法。
  7. 低密度パリティチェック(LDPC)コードを発生するシステムにおいて、
    LDPCコードの発生器マトリックスを使用しないでLDPCコードのパリティチェックマトリックスだけを使用して、受信された入力メッセージをLDPCコードワードに変換する手段と、
    前記LDPCコードワードを出力する手段とを具備し、
    前記パリティチェックマトリックスは、複数のチェックノードと複数のビットノードとの間の繋がりを特定していて、
    複数のビットノードはMビットノードの複数のグループに分割されていて、
    ビットノードの各グループに対して、各ビットノードnjがm1+jp, m2+jp, …, md+jpと番号付けられた複数のチェックノードに繋がっていて、ここでjは0からM-1までの値を取り、従ってjは前記グループの複数のビットノードの番号を表していて、m1, m2, …, mdは各グループの第1のビットノードに繋がったd個のチェックノードを表していて、チェックノードm1, m2, …, mdはあるグループのビットノードと次のグループのビットノード間で異なっており、従って、pを適切な値に定めると、マトリックスで表された全てのチェックノードは同じ次数を有するようになり、
    ビットノードのグループに対する複数のエッジ値を互いに隣接してメモリに配置し且つチェックノードのグループに対する複数のエッジ値を互いに隣接して前記メモリに同時に配置することにより、前記パリティチェックマトリックスが前記LDPCコードワードのデコーディング期間中に組織だったアクセスを提供する、LDPCコード発生システム。
  8. パリティチェックマトリックスの予め定められた三角形部分が行または列の交換後にゼロ値を有する請求項記載のシステム。
  9. 変調方式にしたがったLDPCコードの変調はさらに、8−PSK(位相シフトキーイング)、16QAM(直交振幅変調)またはQPSK(直交位相シフトキーイング)の1つを含んでいる請求項記載のシステム。
JP2003176330A 2002-07-26 2003-06-20 低密度パリティチェックコードを発生する方法およびシステム Expired - Lifetime JP4422436B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39876002P 2002-07-26 2002-07-26
US10/353,230 US20040019845A1 (en) 2002-07-26 2003-01-28 Method and system for generating low density parity check codes

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009234228A Division JP2010050994A (ja) 2002-07-26 2009-10-08 低密度パリティチェックコードを発生する方法およびシステム

Publications (2)

Publication Number Publication Date
JP2004064756A JP2004064756A (ja) 2004-02-26
JP4422436B2 true JP4422436B2 (ja) 2010-02-24

Family

ID=30002875

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003176330A Expired - Lifetime JP4422436B2 (ja) 2002-07-26 2003-06-20 低密度パリティチェックコードを発生する方法およびシステム
JP2009234228A Withdrawn JP2010050994A (ja) 2002-07-26 2009-10-08 低密度パリティチェックコードを発生する方法およびシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009234228A Withdrawn JP2010050994A (ja) 2002-07-26 2009-10-08 低密度パリティチェックコードを発生する方法およびシステム

Country Status (8)

Country Link
EP (1) EP1385270B1 (ja)
JP (2) JP4422436B2 (ja)
KR (1) KR100543154B1 (ja)
CN (1) CN1481130A (ja)
AT (1) ATE362675T1 (ja)
DE (1) DE60313832T2 (ja)
DK (1) DK1385270T3 (ja)
ES (1) ES2285049T3 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR20050052184A (ko) * 2003-11-29 2005-06-02 삼성전자주식회사 저밀도 패리티 검사 부호화를 위한 인터리빙 방법
CN1310433C (zh) * 2004-03-29 2007-04-11 上海交通大学 采用分层低密度校验码的信道编码方法
CN101924565B (zh) * 2004-04-02 2014-10-15 苹果公司 Ldpc编码器、解码器、系统及方法
KR100540663B1 (ko) * 2004-04-19 2006-01-10 삼성전자주식회사 저밀도 패리티 체크 코딩의 패리티 체크 행렬 변환 방법
US7171603B2 (en) 2004-05-06 2007-01-30 Motorola, Inc. Method and apparatus for encoding and decoding data
US7814403B2 (en) 2004-07-27 2010-10-12 Lg Electronics Inc. Method of encoding and decoding using low density parity check code
JP4545793B2 (ja) * 2004-08-10 2010-09-15 サムスン エレクトロニクス カンパニー リミテッド ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法
WO2006020460A2 (en) * 2004-08-13 2006-02-23 The Directv Group, Inc. Code design and implementation improvements for low density parity check codes for multiple-input multiple-output channels
WO2006055086A1 (en) * 2004-10-01 2006-05-26 Thomson Licensing A low density parity check (ldpc) decoder
KR100846869B1 (ko) 2004-12-16 2008-07-16 한국전자통신연구원 저 복잡도 ldpc복호 장치 및 그 방법
US7617439B2 (en) * 2005-01-10 2009-11-10 Broadcom Corporation Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
CN100414841C (zh) * 2005-05-11 2008-08-27 电子科技大学 一种ldpc编码的实现方法
KR100727316B1 (ko) * 2005-06-01 2007-06-12 삼성전자주식회사 저밀도채리티체크 채널 디코딩 방법 및 장치
CN100424999C (zh) * 2005-06-06 2008-10-08 重庆市成鑫机电制造有限公司 逐条添加边算法的多进制低密度奇偶校验码编译码方法
WO2007029734A1 (ja) * 2005-09-06 2007-03-15 Kddi Corporation データ伝送システム及びデータ伝送方法
CN100438394C (zh) * 2006-01-12 2008-11-26 北京大学 非规则置换矩阵ldpc码的构造方法及装置
CN101005333B (zh) * 2006-01-17 2010-05-12 华为技术有限公司 低密度奇偶校验码编码方法
KR100899738B1 (ko) * 2006-02-02 2009-05-27 삼성전자주식회사 노드 메모리 기반의 ldpc 복호기 및 복호방법
CN100546205C (zh) 2006-04-29 2009-09-30 北京泰美世纪科技有限公司 构造低密度奇偶校验码的方法、译码方法及其传输系统
EP1868294B1 (en) 2006-06-15 2011-08-03 Samsung Electronics Co., Ltd. Apparatus and method of encoding/decoding block low density parity check codes in a communication system
KR101154995B1 (ko) 2006-07-14 2012-06-15 엘지전자 주식회사 Ldpc 부호화를 수행하는 방법
JP4603518B2 (ja) * 2006-07-27 2010-12-22 日本放送協会 符号化装置及び復号化装置
WO2008034291A1 (en) * 2006-09-18 2008-03-27 Ming Yang An interleaving scheme for an ldpc coded qpsk/8psk system
US8230299B2 (en) 2006-09-18 2012-07-24 Availink, Inc. Interleaving scheme for an LDPC coded QPSK/8PSK system
CN101127581B (zh) * 2007-09-07 2010-09-08 普天信息技术研究院有限公司 一种ldpc编码调制的映射及逆映射方法和设备
CN101459430B (zh) * 2007-12-14 2010-12-08 中兴通讯股份有限公司 低密度生成矩阵码的编码方法及装置
KR101431268B1 (ko) 2007-12-14 2014-08-20 삼성전자주식회사 직렬 부호화를 위한 저밀도 패리티 검사 부호의 생성 장치및 방법
CN103957373B (zh) * 2009-02-06 2018-01-19 Lg电子株式会社 用于发送和接收信号的装置和用于发送和接收信号的方法
US8464123B2 (en) 2009-05-07 2013-06-11 Ramot At Tel Aviv University Ltd. Matrix structure for block encoding
US9252813B2 (en) 2009-05-27 2016-02-02 Novelsat Ltd. Iterative decoding of LDPC codes with iteration scheduling
CN102386995A (zh) * 2010-09-01 2012-03-21 国家广播电影电视总局广播科学研究院 低密度奇偶校验码校验矩阵构造方法及装置
US9264182B2 (en) 2012-09-13 2016-02-16 Novelsat Ltd. Iterative receiver loop
CN112165335B (zh) * 2015-02-25 2023-09-01 三星电子株式会社 发送设备和接收设备
EP3624412B1 (en) * 2017-06-27 2022-06-08 Mitsubishi Electric Corporation Likelihood generation device
CN108462496B (zh) * 2018-04-24 2021-04-02 成都吉纬科技有限公司 一种基于随机比特流更新的ldpc译码器
CN108880563A (zh) * 2018-06-14 2018-11-23 东南大学 一种ldpc码的改进编码方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030011076A (ko) * 2001-01-16 2003-02-06 코닌클리케 필립스 일렉트로닉스 엔.브이. 비트 인터리브 코드화 변조(bicm) 매핑
JP3917563B2 (ja) * 2002-07-03 2007-05-23 ヒューズ・エレクトロニクス・コーポレーション 低密度のパリティチェック(ldpc)コードをデコードする方法およびシステム

Also Published As

Publication number Publication date
ATE362675T1 (de) 2007-06-15
DE60313832T2 (de) 2008-01-24
EP1385270A3 (en) 2004-02-04
EP1385270A2 (en) 2004-01-28
JP2004064756A (ja) 2004-02-26
CN1481130A (zh) 2004-03-10
JP2010050994A (ja) 2010-03-04
KR100543154B1 (ko) 2006-01-20
EP1385270B1 (en) 2007-05-16
DE60313832D1 (de) 2007-06-28
DK1385270T3 (da) 2007-09-24
KR20040010116A (ko) 2004-01-31
ES2285049T3 (es) 2007-11-16

Similar Documents

Publication Publication Date Title
JP4422436B2 (ja) 低密度パリティチェックコードを発生する方法およびシステム
KR100683600B1 (ko) 구조화된 패리티 검사 행렬을 사용하여 저밀도 패리티검사(ldpc) 코드를 인코딩하는 방법
JP3917563B2 (ja) 低密度のパリティチェック(ldpc)コードをデコードする方法およびシステム
US8095854B2 (en) Method and system for generating low density parity check codes
US7962830B2 (en) Method and system for routing in low density parity check (LDPC) decoders
US7398455B2 (en) Method and system for decoding low density parity check (LDPC) codes
EP2273683B9 (en) Encoding of 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: 20050712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051012

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061019

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061025

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20061228

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080924

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081002

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20081114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091008

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091204

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4422436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

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

EXPY Cancellation because of completion of term