JP2020515125A - 高レートロングldpc符号 - Google Patents

高レートロングldpc符号 Download PDF

Info

Publication number
JP2020515125A
JP2020515125A JP2019547711A JP2019547711A JP2020515125A JP 2020515125 A JP2020515125 A JP 2020515125A JP 2019547711 A JP2019547711 A JP 2019547711A JP 2019547711 A JP2019547711 A JP 2019547711A JP 2020515125 A JP2020515125 A JP 2020515125A
Authority
JP
Japan
Prior art keywords
matrix
parity check
ldpc
check matrix
rows
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.)
Granted
Application number
JP2019547711A
Other languages
English (en)
Other versions
JP6873262B2 (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2020515125A publication Critical patent/JP2020515125A/ja
Application granted granted Critical
Publication of JP6873262B2 publication Critical patent/JP6873262B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • 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/1157Low-density generator matrices [LDGM]
    • 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/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized 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/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/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]
    • 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/0061Error detection codes
    • H04L1/0063Single parity check

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

ソースワードを基本パリティ検査行列Hに最適化されたリフティング行列を適用することにより導出されたLDPC行列で符号化する方法とデバイスが開示されている。

Description

本出願は、モバイルエアインタフェース技術に関し、特に、バイナリ低密度パリティ検査(LDPC:Low Density Parity Check)符号用の符号化および復号のための方法およびシステムに関する。
送信機側のLDPCエンコーダは、ソースワードを符号化してコードワードを生成するために使用される。受信機側のLDPCデコーダは、受信したコードワードを復号するために使用される。さまざまなレートのLDPC符号がIEEE802.11ad規格で採用されており、現在開発中のIEEE802.11ay規格に関して提案されている。これまで、7/8LDPC符号レート用に提案されたロングLDPC符号は、ロングLDPC符号の異なる符号レートに対して使用されるコードワード長とは異なるコードワード長を持っている。しかし、ロングLDPC符号用の異なる符号レートに対して異なるLDPCコードワード長を使用することは、送信機側と受信機側でそれぞれブロッキングとデブロッキングプロセスの実施に影響を与える可能性がある。したがって、異なる符号レートに対して一貫したコードワード長を持つことが望ましい。
例示的な実施形態によれば、異なる符号レートを有する他のLDPC符号によって使用されるコードワード長1344を保持するレート7/8(1344、1176)のLDPC符号を含む、新たな高レートのロングLDPC符号が提供され、実装を簡素化し、他の可能なソリューションと比較して符号化およびシングルキャリア(SC)ブロッキングにおいてより少ないゼロをパディングすることでスペクトル効率を向上させる。
例示的な態様は、ソースワードを符号化する方法およびシステムであって、1×Kのソースワード行ベクトル
を受信するステップと、1×Nのコードワードベクトル
を生成するステップであり、Gはパリティ検査行列H1から導出されたK×Nの生成行列である、ステップとを含み、Hlは、基本パリティ検査行列Hから、最適化されたリフティング行列を基本パリティ検査行列Hに適用することにより導出され、最適化されたリフティング行列は、
または
のいずれかである。
いくつかの実施例において、中間基本パリティ検査行列の異なる行を加算してHlを取得する。いくつかの実施例において、Hlは、
である。
例示的な態様によれば、ソースワードを符号化する方法が提供され、本方法は、1×Kのソースワード行ベクトル
を受信するステップと、1×Nのコードワードベクトル
を生成するステップであり、Gはパリティ検査行列Hlから導出されたK×Nの生成行列である、ステップとを含み、Hlは、基本パリティ検査行列Hから、基本パリティ検査行列Hの異なる行を加算して中間パリティ検査行列を取得し、リフティング行列を中間基本パリティ検査行列に適用してHlを取得することにより、導出される。
例示的な態様によれば、ソースワードを符号化する方法が提供され、本方法は、1×Kのソースワード行ベクトル
を受信するステップと、1×Nのコードワードベクトル
を生成するステップを含み、ここでGはパリティ検査行列Hlから導出されたK×Nの生成行列であり、Hlは、基本パリティ検査行列Hに適用されるリフティング係数を増加させて拡張基本パリティ検査行列を取得し、拡張基本パリティ検査行列の異なる行を加算することにより、基本パリティ検査行列Hから導出される。
ここで、一例を挙げて、本出願の例示的な実施形態を示す添付の図面を参照する。
図1Aは、本開示の一実装形態による例示的な通信システムを示すブロック図である。 図1Bは、本開示の一実装形態による例示的な処理システムを示すブロック図である。 図2Aは、本開示の送信機の例示的な実装を示すブロック図である。 図2Bは、本開示の情報ビットストリームを処理する方法における例示的なステップを示すブロック図である。 図3は、本開示のLDCPエンコーダの例示的な実装を示すブロック図である。 図4Aは、802.11adの例示的なシングルキャリアフレームフォーマットを示す図である。 図4Bは、802.11adのシングルキャリアフレームフォーマットのデータブロックの例示的な構造を示す図である。 図5Aは、IEEE802.11adで規定されたコードワード長が672である、区分されたLDPCパリティ検査行列である。 図5Bは、IEEE802.11adで規定されたコードワード長が672である、区分されたLDPCパリティ検査行列である。 図5Cは、IEEE802.11adで規定されたコードワード長が672である、区分されたLDPCパリティ検査行列である。 図5Dは、IEEE802.11adで規定されたコードワード長が672である、区分されたLDPCパリティ検査行列である。 図5Eは、4×4単位行列から得られた巡回置換部分行列を示す。 図6Aは、IEEE802.11ayで提案されたコードワード長1344の区分されたLPDCパリティ検査行列である。 図6Bは、IEEE802.11ayで提案されたコードワード長1344の区分されたLPDCパリティ検査行列である。 図6Cは、IEEE802.11ayで提案されたコードワード長1344の区分されたLPDCパリティ検査行列である。 図6Dは、IEEE802.11ayで提案されたコードワード長1344の区分されたLPDCパリティ検査行列である。 図7Aは、異なる変調技術を用いたシングルキャリアブロッキングを示す図である。 図7Bは、異なる変調技術を用いたシングルキャリアブロッキングを示す図である。 図7Cは、異なる変調技術を用いたシングルキャリアブロッキングを示す図である。 図8は、802.11におけるレート3/4のLDPCに基づく符号レート7/8の短長のLDPC行列Hnを示す図である。 図9は、Z=4の単純化された場合の巡回置換行列を加算する例を示す図である。 図10は、本開示による、802.11におけるレート3/4のLDPCに基づいて符号レート7/8長さ1344のLDPC行列Hlを生成する方法を示す図である。 図11は、本開示による、802.11におけるレート3/4のLDPCに基づいて符号レート7/8長さ1344のLDPC行列Hlを生成するさらなる方法の別例を示す図である。 図12は、図11の方法で使用するための代替のリフティング行列を示す。 図13は、本開示による、802.11におけるレート3/4のLDPCに基づいて符号レート7/8長さ1344のLDPC行列Hlを生成するさらなる方法のさらに別の例を示す図である。 図14は、図13の方法で使用するための代替のリフティング行列を示す。 図15Aは、本開示の受信機の例示的な実装を示すブロック図である。 図15Bは、本開示の一実施形態による、受信信号を復号するプロセスの例示的なステップを示すブロック図である。 図16は、本開示のLDCPデコーダの例示的な実装を示すブロック図である。 図17は、例示的なLDPC復号プロセスを示す図である。
同様の要素および特徴を示すために、図面全体を通して同様の参照符号が使用される。本発明の態様は、例示された実施形態と併せて説明されるが、本発明をそのような実施形態に限定することを意図するものではないことは理解されよう。
本開示は、無線ネットワークにおいてソースワードを符号化し、コードワードを復号するための方法、デバイス、およびシステムを教示する。主に802.11ay互換ネットワークに関して以下に説明するが、本開示は他のブロッキング符号化ベースのシステムにも適用され得る。
IEEE802.11adで規定された対応する672ビットのLDPCコードワードの2段階リフティングに基づいて、より低符号レート1/2、5/8、3/4、および13/16に対して1344ビット長を有するロングLDPCコードワードが生成されることができる。ただし、レート7/8の符号など、1344ビットなどの低レートのロングコードワードと同じ長さのロングコードワードを使用する、適切な高レートのLDPC符号が引き続き必要とされる。これに関して、本開示は、1344ビット長のコードワードを有するレート7/8のLDPC符号などの高レートのロングLDPC符号について説明する。
コンテキストとして、802.11ay規格の開発に関するLDPC符号に関する提出物には、「IEEE802.11−16/0676−01−00ay−length−1344−LDPC−code−for−11ay」[参考文献1]および「IEEE802.11−16/1495−00−00ay−rate−7−8−ldpc−code−for−11ay」[参考文献2]が含まれる。[参考文献1]は、1344ビットの長さを有するレート13/16のLDPCコードワードの最初の96パリティビットをパンクチャリングすることにより生成されたレート7/8のロングLDPC符号を提案する。ただし、長さ1344のLDPC符号に適用されたこのパンクチャリングプロセスにより、結果としてレートがより低いLDPC符号の1344のコードワード長と比較して、1248ビットのコードワード長を有するレート7/8のLDPC符号となる。さまざまなLDPCコードワードサイズは、送信機側と受信機側での符号化とシングルキャリア(SC)ブロッキング(シンボルをブロックへマッピング)の実施に影響する。したがって、異なる符号レートに対してコードワード長を同じに保つことが望ましい。
[参考文献2]は、42の膨張係数および672のコードワード長を802.11adのより低レート符号に対して規定されたものから変更せずに保持する、672ビットのコードワード長で高レート(7/8)のショートLDPC符号を提案している[3]。本開示は、より低レートの符号にも適用できるコードワード長を使用して実装される高レートのロングLDPC符号を説明する。
以下で詳細に説明されるLDPCコーディングシステムが動作可能な環境の例が、図1Aおよび1Bを参照して提供される。図1Aは、複数の局(STA)102およびアクセスポイント(AP)104を備える通信ネットワーク100を示す。STA102およびAP104のそれぞれは、本明細書に記載されている、送信機、受信機、エンコーダ、および/またはデコーダを含み得る。ネットワーク100は、IEEE802.11ネットワーク、第5世代(5G)または第4世代(4G)通信ネットワーク、ロングタームエボリューション(LTE)、第3世代パートナーシッププロジェクト(3GPP)、ユニバーサル移動通信システム(UMTS)、およびその他の無線または移動通信ネットワークを含みえるがこれらに限定されない1つまたは複数の通信またはデータ規格または技術に従って動作し得る。STA102は一般に、無線通信を提供するか、または802.11プロトコルを使用することができる任意のデバイスであり得る。STA102は、ラップトップ、デスクトップPC、PDA、アクセスポイントまたはWi−Fi電話、無線送受信ユニット(WTRU)、移動局(MS)、移動端末、スマートフォン、携帯電話、または他の無線対応コンピューティングまたはモバイルデバイスであり得る。いくつかの実施形態では、STA102は、通信ネットワーク100でデータを送信、受信、または送受信する機能を有するが、通信以外の主要な機能を実行するマシンを備える。一実施形態では、マシンは、通信ネットワーク100を介してデータを送信および/または受信する手段を備えた装置またはデバイスを含むが、そのような装置またはデバイスは通常、通信を主目的でユーザーによって操作されるわけではない。AP104は、ネットワーク100内のSTA102用の無線送信および/または受信ポイントとして機能する基地局(BS)、進化型ノードB(eNB)、無線ルータ、または他のネットワークインタフェースを備えてもよい。AP104は、AP104と他のリモートネットワーク、ノード、AP、およびデバイス(図示せず)の間でデータを交換できるようにするバックホールネットワーク110に接続されている。AP104は、図1Aの矢印で表されるように、各STA102とのアップリンクおよびダウンリンク通信チャネルを確立することにより、各STA102との通信をサポートしてもよい。ネットワーク100内の通信は、AP104によりまたはネットワーク100内のスケジューリングまたは管理エンティティ(図示せず)、または予定された通信と予定されていない通信を混在することにより、予定されなくても、予定されてもよい。
図1Bは、STA102またはAP104など、本明細書で説明される方法およびシステムを実装するために使用され得る例示的な処理システム150を示す。処理システム150は、例えば、基地局、無線ルータ、モバイルデバイス、または任意の適切な処理システムであってもよい。以下で説明するものとは異なる構成要素を含み得る、本開示を実施するのに適した他の処理システムを使用してもよい。図1Bは各構成要素の単一のインスタンスを示しているが、処理システム150では各構成要素の複数のインスタンスが存在する場合がある。
処理システム150は、プロセッサ、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、専用論理回路またはあそれらの組み合わせなどの1つまたは複数の処理デバイス152を含み得る。処理システム150はまた、1つまたは複数の適切な入力デバイスおよび/または出力デバイス(図示せず)とのインタフェースを可能にし得る1つまたは複数の入出力(I/O)インタフェース154を含んでもよい。入力デバイスおよび/または出力デバイスの1つまたは複数は、処理システム150の構成要素として含まれてもよく、処理システム150の外部にあってもよい。処理システム150は、限定されるわけではないが、イントラネット、インターネット、P2Pネットワーク、WAN、LAN、WLAN、および/または5G、4G、LTEまたは他の上記のネットワークなどのセルラまたはモバイル通信ネットワークなどのネットワークとの有線または無線通信用の1つまたは複数のネットワークインタフェース158を含んでもよい。ネットワークインタフェース208は、ネットワーク内および/またはネットワーク間通信用の有線リンク(例えば、イーサネット(登録商標)ケーブル)および/または無線リンク(例えば、1つまたは複数の無線周波数リンク)を含み得る。ネットワークインタフェース158は、例えば、1つまたは複数の送信機または送信アンテナ、1つまたは複数の受信機または受信アンテナ、ならびに様々な信号処理ハードウェアおよびソフトウェアを介して無線通信を提供し得る。この例では、送信および受信アンテナの両方として機能し得る単一のアンテナ160が示されている。ただし、他の例では、送信用と受信用に別々のアンテナが存在する場合がある。ネットワークインタフェース158は、バックホールネットワーク110またはネットワーク100の他のユーザデバイス、アクセスポイント、受信ポイント、送信ポイント、ネットワークノード、ゲートウェイまたはリレー(図示せず)とデータを送受信するように構成されてもよい。
処理システム150はまた、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブ、および/または光ディスクドライブなどの大容量記憶ユニットを含み得る1つまたは複数の記憶ユニット170を含んでもよい。処理システム150は、揮発性または不揮発性メモリ(例えば、フラッシュメモリ、ランダムアクセスメモリ(RAM)、および/または読み取り専用メモリ(ROM))を含み得る1つまたは複数のメモリ172を含んでもよい。非一時的メモリ172は、本開示を実行するためなどに、処理デバイス152により実行される命令を格納してもよい。メモリ172は、オペレーティングシステムおよび他のアプリケーション/機能を実装するためなどの他のソフトウェア命令を含み得る。いくつかの例では、1つまたは複数のデータセットおよび/またはモジュールは、外部メモリ(例えば、処理システム150との有線または無線通信における外部ドライブ)によって提供されるか、一時的または非一時的なコンピュータ可読媒体によって提供され得る。非一時的なコンピュータ可読媒体の例は、RAM、ROM、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、CD−ROM、またはその他の携帯型メモリストレージを含む。
例示的な実施形態では、処理システム150は、ソースワードをコードワードに符号化するためのエンコーダ162と、コードワードをシンボルに変調するための変調器164とを含む。以下で説明するように、エンコーダ162は、ソースワードに対してLDPC符号化を実行して、ビット単位のコードワードを生成する。変調器164は、(例えば、BPSK、QPSK、16QAM、または64QAMなどの変調技術により)コードワードに対して変調を行う。いくつかの例では、メモリ172内の符号化された命令は、エンコーダ162および/または変調器164が処理システム150の別個の物理モジュールではない場合もあるように、エンコーダ162および/または変調器164の機能を実行するように処理デバイス152を構成し得る。いくつかの例では、エンコーダ162および変調器164は、処理システム150の送信機モジュール内で具現化され得る。いくつかの例では、送信アンテナ160、エンコーダ162、および変調器164は、処理システム150の外部の送信機コンポーネントとして具現化されてもよく、単に処理システム150からソースワードを伝達してもよい。
処理システム150は、受信信号を処理するための復調器180および復号器190を含み得る。復調器180は、受信された変調信号(例えば、BPSK、QPSK、16QAM、または64QAM信号)に対して復調を実行し得る。次に、デコーダ190は、受信信号に含まれる元の信号を回復するために、復調信号に対して適切な復号を実行し得る。いくつかの例では、メモリ172内の符号化された命令は、復調器180および/またはデコーダ190が処理システム150の別個の物理モジュールではない場合もあるように、復調器180および/またはデコーダ190の機能を実行するように処理デバイス152を構成し得る。いくつかの例では、復調器180およびデコーダ190は、処理システム150の受信機モジュール内で具現化され得る。いくつかの例では、受信アンテナ160、復調器180およびデコーダ190は、処理システム150の外部の受信機コンポーネントとして具現化されてもよく、受信信号から復号された信号を処理システム150に単に伝達してもよい。
処理デバイス152、I/Oインタフェース154、ネットワークインタフェース158、エンコーダ162、変調器164を含む処理システム150の構成要素間の通信を提供するバス192があってもよい。バス192は、例えば、メモリバス、周辺バス、またはビデオバスを含む任意の適切なバスアーキテクチャであり得る。
ネットワーク100内のSTA102とAP104との間の通信は、低密度パリティ検査(LDPC)符号化技術を使用して送信されるソースワードを符号化することにより、および/またはLDPC符号復号技術を使用して受信されたコードワードを復号することによって実施され得る。ソースワードがLDPC符号化技術で符号化された後、符号化されたコードワードがAP104からSTA102またはSTA102からAP104への信号で送信されるとき、送信信号のLDPC符号化情報は送信されたフレームに含まれ得る。送信信号がSTA102またはAP104によって受信された後、受信信号のLDPC符号化情報により、STA102またはAP104は次に、受信信号を復号するために適切なLDPC復号技術を選択し得る。
送信機とエンコーダ
図2Aは、STA102またはAP104の送信機の例示的な実装を示す。送信機は、ソースワード分割モジュール202、LDPCエンコーダ162、ビット−シンボルマッピング変調器164、およびブロッキングモジュール208を含み得る。
図2Bは、送信機によって入力情報ビットストリームを処理する例示的なステップを示す。
ソースワード分割モジュール202を使用して、入力情報ビットストリームを適切なサイズのソースワード
に分割し得る(ステップ222)。例えば、ソースワード分割モジュール202により、入力情報ビットストリームは、1344ビットのLDPCコードワードサイズを有するLDPC7/8符号レートの場合、1176ビットのサイズを有するソースワード
に分割され得る。
Kビットのソースワード
は、1×K行ベクトルまたは1次元バイナリ1×K行列
とみなされ得る。例えば、1176ビットのソースワードは、1×1176行ベクトルまたは1次元のバイナリ1×1176行列とみなされ得る。
次に、Kビットのソースワード
は、LDPCエンコーダ162によってNビットのコードワード
に符号化される(ステップ224)。図3は、LDPCエンコーダ162の例示的な実装を示す。実施形態では、LDPCエンコーダ162は、LDPC行列生成器302、生成行列モジュール304、ソースワード入力インタフェース306、およびコードワード生成器308を含み得る。
LDPC行列生成器302は、例えば、N=1344、K=1176であるバイナリ(N−K)×N行列であるLDPCパリティ検査行列Hlを生成するために使用される。LDPC符号は、機能的にはスパースパリティ検査行列によって定義される。(n、k)LDPC符号は、{0、1}nのk次元部分空間を持つ線形バイナリブロック符号Cである。ガウス消去法と列の並べ替えを使用すると、体系的な形式
の等価なパリティ検査行列を得ることができ、ここで
はバイナリ行列であり、
は次数n−kの単位行列である。
LDPC行列生成器302によって生成されたLDPCパリティ検査行列Hに基づいて、生成行列モジュール304は生成行列Gを生成する。Hに対応する体系的な形式の生成行列Gは、
として表され得るが、「T」は行列の転置を示す。生成行列Gは、バイナリK×N行列である。Gの行スペースは、GHT=0になるようにHに直交する。したがって、LDPC符号化では、Hが設計されると、Gもそれに応じて決定されることが可能である。同様に、行列Hは、
がNビットのコードワードである
を満たす。次に、生成行列モジュール304は、生成されたバイナリ(K×N)生成行列Gをコードワード生成器308に転送する。
ソースワード入力インタフェース306は、ソースワード分割モジュール202からソースワードを受信する。前述のように、受信されたソースワードは、行ベクトル
とみなされ得る。ソースワード入力インタフェース306は、受信されたソースワードをコードワード生成器308に転送する。ソースワード
およびバイナリ(K×N)生成行列Gの場合、コードワード生成器308はソースワードに生成行列Gを乗算することにより
、Nビットのコードワード
を生成する。
一実施形態では、生成行列Gは、LDPCエンコーダ162に事前に格納されてもよい。ソースワード
がコードワード生成器308によって受信された後、コードワード生成器308は、LDPC行列Hまたは生成行列Gを再生成せずにコードワード
を生成してもよい。
図2Aおよび2Bを参照すると、符号化されたコードワード
は、ビット−シンボルマッピング変調器164でシンボルに変調される(ステップ226)。適切な変調技術は、限定されるわけではないが、BPSK、QPSK、16QAM、または64QAMであってもよい。BPSK、QPSK、および16QAM変調は、802.11adで規定されている。802.11ayでは64QAM変調が採用されている。BPSK変調では、バイナリビットは単にバイポーラ{−1、1}シンボルになるようにマッピングされる。QPSK、16QAM、および64QAM変調では、入力符号化ビットストリーム(ビット単位のコードワード
)は、それぞれ2、4、および6ビットのセットにグループ化される。各ビットのセットは、対応するコンスタレーション上のシンボルにマッピングされる。例えば、BPSK、QPSK、16QAM、および64QAMの場合、シンボルは、それぞれ1ビット、2ビット、4ビット、および6ビットを表す。複数のシンボルは、変調コードワードとしてグループ化されてもよい。例えば、サイズ672の802.11ad符号の変調コードワードは、336個のシンボル(802.11adでのシングルキャリア(SC)QPSKブロッキングの場合)、168個のシンボル(802.11adでのSC16QAMブロッキングの場合)、112個のシンボル(802.11adでのSC64QAMブロッキングの場合)を含んでもよい。
変調されたコードワードは、ブロッキングモジュール208において適切なサイズのデータブロック(BLK)にさらに組み立てられ得る(ステップ228)。実施形態では、組み立てられたデータブロックは、448個のシンボルを含み得る。
図4Aは、組み立てられたデータブロック(BLKS)をパッケージ化するために使用されることが可能な例示的なシングルキャリア(SC)データユニットまたはフレーム構造を示す。IEEE802.11adで規定されている図示のフレームは、ビーム形成トレーニング用のショートトレーニングフィールド(STF)、チャネル推定(CE)フィールド、PHYヘッダ、SCデータブロック(BLK)、およびオプションの自動ゲイン制御(AGC)とTRN−R/Tサブフィールドが含まれている。図4Aに示されるように、フレームは複数のBLKを含み得る。
図4Bは、802.11ad規格によるSCデータブロック(BLK)の例示的な構成を示している。図4Bでは、各BLKは448個のシンボルで構成されている。64ビットのガードインターバル(GI)は、各隣接する2つのBLK間に使用され、隣接するデータブロックを分離する。
802.11adにおけるコードワード長672のLDPC符号
本開示で提示される高レートのロングLDPC符号の実施形態は、IEEE802.11adで規定されたLDPC符号に基づいており、したがって、以下で詳細に説明する実施形態の理解を容易にするために、IEEE802.11adLDPC符号の簡単な説明を提供する。LDPC符号化されたコードワード
はソースワード
と生成行列Gの操作によって生成され、かつ生成行列GはLDPCパリティ検査行列Hから導出されるため、LDPCパリティ検査行列Hはソースワード
のコードワード
への符号化を達成する。LDPCパリティ検査行列Hの設計により、符号の機能が向上する場合がある。パリティ検査行列Hは、サイズZ×Zの正方部分行列にさらに区分される。Zはリフティング係数である。部分行列は、Z×Z単位行列P0の巡回置換、またはすべてゼロのエントリをもつヌル部分行列のいずれかである。
図5A〜図5Dは、レートが1/2、5/8、3/4、および13/16の802.11adで規定された4つのLDPC符号のパリティ検査行列Hを示している。802.11adでは、各LDPC符号は、672ビットの共通コードワード長を有する。符号レートK/Nは、Kビットのソースワード
がNビットのコードワード
に符号化されることを示す。802.11ad規格に関して、コードワード長Nは672ビットである。したがって、1/2、5/8、3/4、および13/16の符号レートの場合、対応するソースワードのサイズKは、それぞれ336ビット、420ビット、504ビット、および546ビットである。
行列Hの各非空白セル要素内のインデックス値iは、行列P0の列を右i列に周期的にシフトすることによりZ×Z単位行列P0から得られた巡回置換部分行列Piを示す。空白のエントリは、すべてゼロのZ×Z行列を示す。
図5Eは、Z=4である例示的なZ×Z単位行列P0から得られた巡回置換部分行列P1およびP3の例を示す。P1は、P0の列を右に1要素分シフトすることによって取得され、P3は、P0の列を右に3要素分シフトすることによって取得される。図5Wに見られるように、単位行列P0は、行列全体に対角線上に配置されたZ個の「1」を含み、他のすべての値は「0」である。
図5Aにおいて、インデックス値i=「0」を有する行列セル位置は、42×42の単位部分行列である部分行列P0を表し、インデックス値i=「40」を有する図5Aの左上のセル位置は、P0の列を右に40要素分シフトして得られた部分行列を表す。同様に、図5B〜図5Dの非ゼロ値iの部分行列Piも、それぞれの単位行列P0から取得されることが可能である。
図5Aは、Z=42である、符号レート1/2のLDPCパリティ検査行列H=336行×672列を示す。図5Bは、Z=42である、符号レート5/8のLDPCパリティ検査行列H=252行×672列を示す。図5Cは、Z=42である、符号レート3/4のLDPCパリティ検査行列H=168行×672列を示す。図5Dは、Z=42である、符号レート13/16のLDPCパリティ検査行列H=126行×672列を示す。図5A〜5Dでは、空白のエントリはすべてゼロのエントリを含むZ×Zの部分行列を表す。
802.11ayに対するロングコードワード長1344の低レートLDPC符号の提案
図6A〜図6Dは、[参考文献1]で802.11ayに対して提案された、レートが13/16、3/4、5/8、および1/2の4つの低レートLDPC符号を示す。上記のように、符号レートK/Nは、KビットのソースワードがNビットのコードワードに符号化されることを示す。コードワード長N=1344ビットの場合、13/16、3/4、5/8および1/2の符号レートは、それぞれ1092、1008、840および672ビットの対応するソースワード長を持つ。
図6A〜6Dに示されているロングLDPC符号は、2段階リフティングプロセスにより生成される。図6Aの例では、リフティング行列602を基本行列604に適用することにより、1344のコードワード長を有するレート13/16(1344、1092)のLDPC符号606が生成される。基本行列604は、レート13/16長さ672である、IEEE802.11adで規定された区分されたLDPC行列である。3行16列の部分行列を有する、レート13/16の基本行列604は、「1」および「0」の発生している126行×672列の行列に適用されるZ=42のリフティング係数に対応する。したがって、リフティング係数Z=42による第1のリフティングは、レート13/16の基本行列604を提供し、次いで、リフティング行列602の適用により2回目のリフティングが行われ、レート13/16のLDPC符号606を生成する。
図6Aに示されるように、リフティング行列602は、802.11adのレート13/16の行列604と同じ数の行および列(3×16)を有する。リフティング行列602の各セル要素には、3つの可能な値「1」、「0」、および「−1」のうちの1つが割り当てられる。基本行列604の部分行列が「−1」として示されるヌル(すなわち、すべてゼロのエントリ)である場合、リフティング行列604内の対応するエントリも「−1」として示される。例えば、リフティング行列604の行1、列16のエントリは、基本行列602の行1、列16の部分行列に対応する。リフティング行列604のエントリと基本行列602の部分行列の両方は「−1」の値を有する。
1344のコードワード長を有する13/16LDPC符号606を生成するために、リフティング行列602は、672のコードワード長を有する13/16LDPC基本行列604に適用される。特に、基本行列604の値「V」を有する部分行列について、対応するリフティング行列602のエントリが値「1」を有する場合、基本行列604にリフト行列602を適用すると、次のように4つの部分行列が生成される。
基本行列604の値「V」を有する部分行列について、対応するリフティング行列602のエントリが「0」の値を有する場合、リフト行列602を基本行列604に適用すると、次の4つの部分行列が生成される。
図6Aでは値「29」を有する基本行列604の行1、列1の部分行列の例では、リフティング行列602の行1、列1の対応するエントリは値「1」を有するので、リフティング行列602のエントリを基本行列604の対応する部分行列に適用すると、以下のように4つの部分行列が生成される。
同様に、値「4」を有する基本行列604の行3、列9の部分行列の例では、リフティング行列602の行3、列9の対応するエントリが値「0」を有するので、リフティング行列602のエントリを基本行列604の対応する部分行列に適用すると、以下のように4つの部分行列が生成される。
基本行列604内の値が「−1」である部分行列の場合、リフティング行列602の対応するエントリも値「−1」を有する。リフティング行列602の「−1」の値を持つ1つのエントリを基本行列604の対応する部分行列に適用すると、4つのヌル部分行列が生成される。
同様に、1344のコードワード長を有するレート13/16のLDPC符号606を得るための上述の同じ規則は、図6B〜図6Dに示されるように、対応するリフティング行列602と共に使用してIEEE802.11adで規定された、コードワード長672、符号レート3/4、5/8、および1/2の基本行列604に適用されることができ、それぞれ1344のコードワード長を有する、対応レート3/4、5/8、および1/2のLDPC符号を生成する。
高レートLDPC符号
IEEE802.11ad標準は、7/8(参考文献2)の高符号レートを有するLDPC符号を規定している。同様に、上記の通り、[参考文献1]は、1248のコードワード長を有するレート7/8のLDPC符号を提案している。レート7/8、長さ1248のLDPC符号[参考文献1]は、上記のように、802.11adで規定されたレート13/16長さ672の基本LDPC符号から導出される、図6Aに示す行列606で表される、レート13/16(1344,1092)のLDPC符号から最初の96パリティビットをパンクチャリングすることにより生成される。実装において、送信機はパンクチャリングされたビットを送信せず、受信機はパンクチャリングされたビットに対して1/0について等しい尤度を設定する。したがって、パンクチャリングによって生成される図6Aの提案レート7/8のLDPC符号は、ロング符号、低レートのLDPC符号に対して提案された1344のコードワード長ではなく1248のコードワード長になる。
図4A、図4Bに関して上述したように、送信前にLDPCコードワードに対してビットからシンボルへのマッピングが実行され、その後、定義された数のシンボル(例えば、448個のシンボルまたは896個のシンボル)を有するブロック(BLK)にブロッキングされる。したがって、異なる符号レートに対して異なるコードワード長を使用すると、定義されたブロック長を有するデータフレーム構造が異なる符号レートをサポートすることを目的とする環境で非効率的なブロッッキングをもたらす可能性がある。特に、変調されたコードワードをデータブロックに組み立てるブロッッキングプロセスは、他のレートとは異なるコードワード長を使用するレート7/8のLDPC符号の符号化と復号を実施するために追加プロセスが必要になる場合がある。13/16レート符号をパンクチャリングすることにより得られる、レート7/8、長さ1248のLDPC符号の場合、パンクチャリングにより冗長性が増加し(符号化およびSCブロッキング中にゼロをパディングすること)、SCブロッキングの複雑さが増す。
例えば、図7Aは、左側に、1344のコードワード長(N=1344、K=1176)を使用するレート7/8のDLPC符号に対するSC QPSKブロッキングの例を示し、右側に、1248のパンクチャリングされたコードワード長(N=1248、K=1092)を使用するレート7/8のDLPC符号のSC QPSKブロッキングの例を示す。図7Aの例は、ビットからシンボルへのマッピングにQPSK変調を使用している。(N=1344、K=1176)QPSKの場合、変調後の1344ビットコードワードは、672シンボルコードワードになる。それぞれ448個のシンボルを含む各3つのSCデータブロック(BLK1、BLK2、BLK3)は、2つのシンボルコードワードから構成される(各ブロックは1つまたは2つのコードワードから構成される)。比較すると、(N=1248、K=1092)QPSKの場合、変調後の1248ビットコードワードは、624シンボルコードワードになる。その結果、ブロッキングプロセスはより複雑になり、各39個のデータブロックは28個のコードワードから構成され、各データブロックは1つまたは2つのコードワードから構成される。
図7Bは、(1248、1092)LDPC(右側)と比較した(1344、1176)LDPC(左側)によるSC 16QAMブロッキングの例を示す。(1344、1176)LDPCの場合、16QAMでは、変調後の1344ビットコードワードは、1つの336シンボルコードワードになる。各3つのSCデータブロックは、4つの336シンボルコードワードから構築され、各448シンボルデータブロックは、2つのシンボルコードワードから構築される。ただし、(1248、1092)LDPCの場合、符号化されたコードワードのそれぞれは1248ビットを含み、16QAM変調後に312シンボルコードワードになる。その結果、ブロッキングプロセスはより複雑になり、各39個のデータブロックは、56個のコードワードから構成される。
同様に、図7Cは、(1248、1092)LDPC(右側)と比較した(1344、1176)LDPCによるSC 64QAMブロッキングの例を示している。(1344、1176)LDPCの場合、64QAMでは、変調後の1344ビットコードワードは、1つの224シンボルコードワードになる。各448シンボルデータブロックは、2つの224シンボルコードワードから構成される。ただし、(1248、1092)LDPCの場合、変調後の1つの1248ビットコードワードは、1つの208シンボルコードワードになる。その結果、ブロッキングプロセスはより複雑になり、各13個のデータブロックは、28個のコードワードから構築され、各データブロックは3個または4個のコードワードから構築される。
[参考文献2]は、N=672のショートコードワード長に対する高レート7/8のLPDC符号を提案している。図8を参照すると、[参考文献2]のレート7/8長さ672のLPDC行列Hn860は、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850から行を加算することによって導出される。上記のように、802.11ad規定のレート3/4長さ672のLPDC行列850は、リフト係数Z=42を使用して168行(N−K=168)×672列(N=672)の元のバイナリ行列を区分することにより得られ、4行(R=(N−K/42))×16列(C=N/42)として表現でき、各部分行列Piが適用される巡回シフトを表すインデックス値iによって配列要素で表される(または、「空白」または「null」ですべてゼロの部分行列を示す「−」)3/4長さ672のLPDC基本行列H850を提供する。ベース3/4長さ672のLPDC行列H850から選択された行は、加算されて3/4長さ672のLPDC行列Hn850を提供する。特に、基本符号行列Hの第1行R1および第3行R3からの部分行列850は、加算されて新しいLDPC行列Hn850の第1行内の対応する列エントリに対する部分行列を提供し、基本符号行列H850の第2行R2および第4行R4からの部分行列は、モジュロ2加算を使用して加算されて新しいLDPC行列H850の第2行内の対応する列エントリに対する部分行列を提供する。説明の目的で、図9は、モジュロ2加算を使用して、Z=4の単純化されたケースに対する巡回置換行列の加算を示す。
長さN=1344を有する高レート7/8のロングLDPC符号
次に、特に低レート符号、すなわちN=1344に対して規定されたものと一致するコードワード長を提供する高レートの長いLDPC符号を対象とする実施形態例を説明する。
図10は、例示的な一実施形態による、コードワード長N=1344を有するレート7/8のLDPC行列Hl1020を生成する方法を示す。図10の例では、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850が基本行列として使用されるが、リフティング係数はZ=42からZ=84に増加されてレート3/4長さ1344のLDPC行列を中間行列Hint1010として生成する。特に、コードワードサイズ672×2=1344を有する3/4レートのLDPC行列Hint1010を構築するために、基本行列850の構造と列位置シフトは同じままであるが、リフティング係数はZ=42からZ=84に増加される。例えば、802.11adのコードワード長が672のバイナリ3/4基本行列850は、168行×672列、Z=42を含む。図10に示すように、区分された3/4基本行列840は、4行×16列の部分行列を含み、各部分行列はZ×Z(42×42)のサイズを有する。リフティング係数Zが42から84に増加されると、中間の区分された、長さ3/4の1344LDPC行列Hint1010は、336行×1344列のバイナリ行列を表す4行×16列の部分行列を含む。
例示的な実施形態において、中間レート3/4長さ1344のLDPC行列Hintの選択された行は、加算されてコードワード長N=1344を有するレート7/8のLDPC行列Hl1020を生成する。特に、中間LPDC行列Hint1010の第1行R1および第3行R3からの部分行列は、モジュロ2加算を使用して加算されて新しいLDPC行列Hl1020の第1行内の対応する列エントリに対して部分行列を提供する。中間LPDC行列Hint1010の第2行R2および第4行R4からの部分行列は、モジュロ2加算を使用して加算されて新しいLDPC行列Hl1020の第2行内の対応する列エントリに対して部分行列を提供する。
図11は、例示的な一実施形態による、コードワード長N=1344を有するレート7/8のLDPC行列Hl1130を生成する方法のさらなる例示的な実施形態を示す。なお、図11の例では、直前の例で説明した拡張リフティング係数を使用する代わりに、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850が再び基本行列として使用される。リフティング行列1110は、中間行列Hint1120を生成するために使用される。リフティング行列1110は、最適化された誤り率性能をもたらす基準を使用した最適化検索により選択される。図示された実施形態では、リフティング行列1110は、その第1および第3行が相補的であり、かつその第2および第4行が相補的であるように選択される。
リフティング行列1110は、図6A〜6Dに関して上述したのと同じ方法で、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850に適用され、中間行列Hint1120を生成する。結果の中間行列Hint1120は、部分行列要素の8行×32列を含み、各部分行列列要素は、Z×Z(Z=42)単位行列P0に適用される巡回シフトを示すインデックス値i、またはすべて「0」の行列を示すヌル値で示される。したがって、区分された中間行列Hint1120は、336行×1344列のバイナリ行列を表す。
図11に示されるように、中間行列Hint1120の周期的行は、コードワード長N=1344を有するレート7/8のLDPC行列Hl1130を生成するために加算される。特に、中間行列Hint1120の第1行R1および第5行R5からの部分行列は、モジュロ2加算を使用して加算されて新しいLDPC行列Hl1130の第1行内の対応する列エントリに対して部分行列を提供する。同様に、中間行列Hint1120の第2および第6行は、新しいLDPC行列Hl1130の第2行に加算される。中間行列Hint1120の第3および第7行は加算されて新しいLDPC行列Hl1130の第3行を提供する。中間行列Hint1120の第4および第8行は、加算されて新しいLDPC行列Hn1130の第4行を提供する。図11に示すように、区分されたLDPC行列Hl1130は、部分行列要素の4行×32列を含み、各部分行列要素は、バイナリ行列Hlが168行×1344列のサイズを有するようにZ=42のZ×Z部分行列を表す。
図11の例は、行列Hl1130を生成するためにリフティングステップと加算ステップの組み合わせに依存することが理解されるであろう。
少なくともいくつかの例では、図11に示すリフティング行列1110の代わりに異なる最適化されたリフティング行列が使用されることが可能であり、この点に関して、図12は、リフティング行列1110の代わりにいくつかの例で使用し得るさらなる最適化されたリフティング行列1210の例を示す。
図13は、別の例示的な実施形態による、コードワード長N=1344を有するレート7/8のLDPC行列Hl1330を生成する方法のさらなる例示的な実施形態を示す。図13の例では、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850が基本行列として再び使用され、特に、レート7/8長さ672のLPDC行列Hn860を中間行列として図8に関して上述した同じ方法で生成するために使用される。2行×16列の最適化されたリフティング行列1310は、上記と同じリフティング行列技術を使用して、レート7/8長さ672のLPDC行列Hn860に適用されてレート7/8長さ1344のLDPC行列Hl1330を取得する。図13に示すように、区分されたLDPC行列Hl1320は、8行×32列の部分行列要素を含み、各部分行列要素は、バイナリ行列Hl1320が336行×1344列のサイズを有するようにZ=42のZ×Z部分行列を表す。
例示的な実施形態では、最適化された誤り率性能を提供するリフティング行列の最適化検索を実行することにより最適化されたリフティング行列が選択される。最適化されたリフティング行列1310の場合、いくつかの例示的な実施形態では、LDPCエンコーダでの符号化とビットーシンボル変調器206での変調との間にランダムインターリーバが含まれる。
少なくともいくつかの例では、異なる最適化リフティング行列が図13に示す使用されることができ、この点に関して、図14は、いくつかの例でリフティング行列1310の代わりに使用され得る、さらなる最適化リフティング行列1410の例を示す。最適化されたリフティング行列1410の場合、いくつかの例示的な実施例では、通常の行−列インターリーバがLDPCエンコーダでの符号化とビット−シンボル変調器206での変調の間に含まれる。
少なくともいくつかの構成において、7/8長さ1344のLDPC行列Hlの実施形態は、以下の特徴、すなわち、11adと共存する、IEEE802.11ayで提案されている異なる符号レートの他のLPDCコードから1344のコードワード長を変更しないレート7/8のLDPCコードを提供する、符号化とシングルキャリアブロッキングの冗長性(ゼロをパディングする)を減少する、新しいレート7/8のLDPC符号を最適化してパンクチャリングされたソリューションと同等以上の性能を実現する特徴のうちの1つまたは複数を提供することができるLDPC構造を提供する。
デコーダと復号方法
LDPC符号化信号は、STA102またはAP104の受信機で受信され得る。図15Aの例に示されるように、受信機は、等化およびデブロッキングモジュール1502、復調器180、LLR計算機1506、およびLDPCデコーダ190を含む。オプションとして、LLR計算器1506は、復調器180の構成要素とすることができる。図15Bに示すように、受信したLDPC符号化信号では、等化およびデブロッキングモジュール1502はまず、受信信号1501を等化して受信信号が送信されるチャネルによって引き起こされるシンボル間干渉を低減し、次に等化信号をデブロックしてコードワードシンボルを復元する(ステップ1522)。復調器180は、例えば、BPSK、QPSK、16QAM、または64QAMによって、デブロックされたコードワードシンボルをビット単位のコードワードに復調する(ステップ1524)。LLR計算器180は、デブロックされたコードワードシンボルのビット値の対数尤度比を生成するために使用し得る(ステップ1526)。対数尤度比は、LDPCデコーダ190の入力として使用されてもよい。LDPCデコーダ190は次に、ソースワードを符号化する際に使用されるLDPC行列Hnを使用して、1×N行ベクトルSを有する復調信号を復号してもよい(ステップ1528)。LDPCデコーダ190は、1×Kソースワード行ベクトル
を回復するために1×N行ベクトル
を生成する。有効なコードワード
であるためには、
である。LDPC符号化信号を復号するためにはさまざまなアルゴリズム、例えば、メッセージパッシングアルゴリズムが利用可能である。図16は、メッセージパッシングアルゴリズムを使用してLDPC符号化ソースワードを復号するLDPCデコーダの例である。他の復号アルゴリズムを使用してLDPC復号を実施してもよい。メッセージパッシングアルゴリズムが使用される場合、LDPCデコーダ190は、コントローラ1602、チェックノードモジュール1604、および可変ノードモジュール1606を含み得る。
上述のように、送信信号のLDPC符号化情報は、ソースワードを符号化するために使用される、K/NレートのLPDC符号Hn=(N−K)×NのLDPC行列の情報など、送信されるフレームに含まれ得る。本出願の一実施形態では、LDPCデコーダ190では、リフティング係数Zを用いて、K/NレートのLPDC符号Hn=(N−K)×Nを使用してもよい。符号化プロセスで説明したように、Hnは複数の部分行列から構成され、各部分行列はZ×Zのサイズを有する。パリティ検査行列を生成する方法は、符号化プロセスで説明されている。
ビット単位のコードワードは、例えば、LLR値を持つメッセージパッシングアルゴリズム(MPA)を使用して、行列Hlで復号されてもよい。図17の例に示すように、MPAを使用したLDPC復号は、LPDCパリティ検査行列Hlのグラフィカル表現である、タナーグラフの構造を使用する反復復号アルゴリズムである。LDPCデコーダ190において、各チェックノード1702は、それがそのパリティ検査方程式における唯一の消去されたビットである場合、LLR値に基づいて消去されたビットの値を決定する。メッセージは、タナーグラフのエッジ1706に沿って渡される。アルゴリズムの各反復については、各変数ノード1704は、変数ノード1704が接続されている各検査ノード1702にメッセージ(「外部情報」)を送信する。各検査ノード1702は、メッセージ(「外部情報」)を、検査ノード1702が接続されている変数ノード1704に送信する。この文脈における「外部」とは、検査ノード1702または変数ノード1704がすでに所有している情報がそのノードに渡されないことを意味する。各コードワードビットに対する事後確率は、LLR計算機1506で受信された信号と、Hlで定義されたパリティ制約とに基づいて計算される、すなわち、有効なコードワード
であるためには、
である。
LDPCデコーダ190の積層アーキテクチャでは、Z個の並列検査ノードプロセッサは、パリティ検査行列のZ行の部分行列に関連するエッジのメッセージを順次処理する。例では、Z=42であり、エッジは16個である。巡回シフト構造は、並列プロセッサに単純なバレルシフタを供給可能にするデコーダアーキテクチャを簡素化する。層の処理が終了すると、パリティ検査プロセッサは再初期化され、次の層が処理される。
本開示は、開示された方法およびシステムの例を実施するための特定の例示的なアルゴリズムおよび計算を提供する。しかしながら、本開示は、特定のアルゴリズムまたは計算に縛られない。本開示は、特定の順序のステップを備える方法およびプロセスを説明しているが、本方法およびプロセスの1つまたは複数のステップは、適宜省略または変更されてもよい。1つまたは複数のステップは、適宜、説明されている順序以外の順序で実行し得る。
前述の実施形態の説明を通して、本発明は、ハードウェアのみを使用して、またはソフトウェアおよび必要な汎用性のハードウェアプラットフォームを使用して、またはハードウェアとソフトウェアの組み合わせによって実装され得る。そのような理解に基づいて、本発明の技術的解決策は、ソフトウェア製品の形態で具現化され得る。ソフトウェア製品は、コンパクトディスク読み取り専用メモリ(CD−ROM)、USBフラッシュドライブ、またはハードディスクである、不揮発性または非一時的な記憶媒体に格納してもよい。ソフトウェア製品は、コンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイス)が本発明の実施形態で提供される方法を実行できるようにする多数の命令を含む。
本発明およびその利点が詳細に説明されたが、本出願では、添付の特許請求の範囲によって規定される本発明から逸脱することなく、様々な変形、置換および変更が実施可能であることを理解されたい。
さらに、本出願の範囲は、本明細書に記載のプロセス、機械、製造、物質の組成、手段、方法、およびステップの特定の実施形態に限定されることを意図していない。当業者が本発明の開示から容易に理解するように、本明細書に記載の対応する実施形態と実質的に同じ機能を実行する、または実質的に同じ結果を達成する、現在するあるいは今後開発されるプロセス、機械、製造、組成物、手段、方法、またはステップは、本発明に従って利用され得る。したがって、添付の特許請求の範囲は、そのようなプロセス、機械、製造、物質の組成、手段、方法、またはステップをその範囲内に含むことを意図している。
本出願は、モバイルエアインタフェース技術に関し、特に、バイナリ低密度パリティ検査(LDPC:Low Density Parity Check)符号用の符号化および復号のための方法およびシステムに関する。
送信機側のLDPCエンコーダは、ソースワードを符号化してコードワードを生成するために使用される。受信機側のLDPCデコーダは、受信したコードワードを復号するために使用される。さまざまなレートのLDPC符号がIEEE802.11ad規格で採用されており、現在開発中のIEEE802.11ay規格に関して提案されている。これまで、7/8LDPC符号レート用に提案されたロングLDPC符号は、ロングLDPC符号の異なる符号レートに対して使用されるコードワード長とは異なるコードワード長を持っている。しかし、ロングLDPC符号用の異なる符号レートに対して異なるLDPCコードワード長を使用することは、送信機側と受信機側でそれぞれブロッキングとデブロッキングプロセスの実施に影響を与える可能性がある。したがって、異なる符号レートに対して一貫したコードワード長を持つことが望ましい。
例示的な実施形態によれば、異なる符号レートを有する他のLDPC符号によって使用されるコードワード長1344を保持するレート7/8(1344、1176)のLDPC符号を含む、新たな高レートのロングLDPC符号が提供され、実装を簡素化し、他の可能なソリューションと比較して符号化およびシングルキャリア(SC)ブロッキングにおいてより少ないゼロをパディングすることでスペクトル効率を向上させる。
例示的な態様は、ソースワードを符号化する方法およびシステムであって、1×Kのソースワード行ベクトル
を受信するステップと、1×Nのコードワードベクトル
を生成するステップであり、Gはパリティ検査行列H1から導出されたK×Nの生成行列である、ステップとを含み、Hlは、基本パリティ検査行列Hから、最適化されたリフティング行列を基本パリティ検査行列Hに適用することにより導出され、最適化されたリフティング行列は、
または
のいずれかである。
いくつかの実施例において、中間基本パリティ検査行列の異なる行を加算してHlを取得する。いくつかの実施例において、Hlは、
である。
例示的な態様によれば、ソースワードを符号化する方法が提供され、本方法は、1×Kのソースワード行ベクトル
を受信するステップと、1×Nのコードワードベクトル
を生成するステップであり、Gはパリティ検査行列Hlから導出されたK×Nの生成行列である、ステップとを含み、Hlは、基本パリティ検査行列Hから、基本パリティ検査行列Hの異なる行を加算して中間パリティ検査行列を取得し、リフティング行列を中間基本パリティ検査行列に適用してHlを取得することにより、導出される。
例示的な態様によれば、ソースワードを符号化する方法が提供され、本方法は、1×Kのソースワード行ベクトル
を受信するステップと、1×Nのコードワードベクトル
を生成するステップを含み、ここでGはパリティ検査行列Hlから導出されたK×Nの生成行列であり、Hlは、基本パリティ検査行列Hに適用されるリフティング係数を増加させて拡張基本パリティ検査行列を取得し、拡張基本パリティ検査行列の異なる行を加算することにより、基本パリティ検査行列Hから導出される。
ここで、一例を挙げて、本出願の例示的な実施形態を示す添付の図面を参照する。
図1Aは、本開示の一実装形態による例示的な通信システムを示すブロック図である。 図1Bは、本開示の一実装形態による例示的な処理システムを示すブロック図である。 図2Aは、本開示の送信機の例示的な実装を示すブロック図である。 図2Bは、本開示の情報ビットストリームを処理する方法における例示的なステップを示すブロック図である。 図3は、本開示のLDPCエンコーダの例示的な実装を示すブロック図である。 図4Aは、802.11adの例示的なシングルキャリアフレームフォーマットを示す図である。 図4Bは、802.11adのシングルキャリアフレームフォーマットのデータブロックの例示的な構造を示す図である。 図5Aは、IEEE802.11adで規定されたコードワード長が672である、区分されたLDPCパリティ検査行列である。 図5Bは、IEEE802.11adで規定されたコードワード長が672である、区分されたLDPCパリティ検査行列である。 図5Cは、IEEE802.11adで規定されたコードワード長が672である、区分されたLDPCパリティ検査行列である。 図5Dは、IEEE802.11adで規定されたコードワード長が672である、区分されたLDPCパリティ検査行列である。 図5Eは、4×4単位行列から得られた巡回置換部分行列を示す。 図6Aは、IEEE802.11ayで提案されたコードワード長1344の区分されたLDPCパリティ検査行列である。 図6Bは、IEEE802.11ayで提案されたコードワード長1344の区分されたLDPCパリティ検査行列である。 図6Cは、IEEE802.11ayで提案されたコードワード長1344の区分されたLDPCパリティ検査行列である。 図6Dは、IEEE802.11ayで提案されたコードワード長1344の区分されたLDPCパリティ検査行列である。 図7Aは、異なる変調技術を用いたシングルキャリアブロッキングを示す図である。 図7Bは、異なる変調技術を用いたシングルキャリアブロッキングを示す図である。 図7Cは、異なる変調技術を用いたシングルキャリアブロッキングを示す図である。 図8は、802.11におけるレート3/4のLDPCに基づく符号レート7/8の短長のLDPC行列Hnを示す図である。 図9は、Z=4の単純化された場合の巡回置換行列を加算する例を示す図である。 図10は、本開示による、802.11におけるレート3/4のLDPCに基づいて符号レート7/8長さ1344のLDPC行列Hlを生成する方法を示す図である。 図11は、本開示による、802.11におけるレート3/4のLDPCに基づいて符号レート7/8長さ1344のLDPC行列Hlを生成するさらなる方法の別例を示す図である。 図12は、図11の方法で使用するための代替のリフティング行列を示す。 図13は、本開示による、802.11におけるレート3/4のLDPCに基づいて符号レート7/8長さ1344のLDPC行列Hlを生成するさらなる方法のさらに別の例を示す図である。 図14は、図13の方法で使用するための代替のリフティング行列を示す。 図15Aは、本開示の受信機の例示的な実装を示すブロック図である。 図15Bは、本開示の一実施形態による、受信信号を復号するプロセスの例示的なステップを示すブロック図である。 図16は、本開示のLDPCデコーダの例示的な実装を示すブロック図である。 図17は、例示的なLDPC復号プロセスを示す図である。
同様の要素および特徴を示すために、図面全体を通して同様の参照符号が使用される。本発明の態様は、例示された実施形態と併せて説明されるが、本発明をそのような実施形態に限定することを意図するものではないことは理解されよう。
本開示は、無線ネットワークにおいてソースワードを符号化し、コードワードを復号するための方法、デバイス、およびシステムを教示する。主に802.11ay互換ネットワークに関して以下に説明するが、本開示は他のブロッキング符号化ベースのシステムにも適用され得る。
IEEE802.11adで規定された対応する672ビットのLDPCコードワードの2段階リフティングに基づいて、より低符号レート1/2、5/8、3/4、および13/16に対して1344ビット長を有するロングLDPCコードワードが生成されることができる。ただし、レート7/8の符号など、1344ビットなどの低レートのロングコードワードと同じ長さのロングコードワードを使用する、適切な高レートのLDPC符号が引き続き必要とされる。これに関して、本開示は、1344ビット長のコードワードを有するレート7/8のLDPC符号などの高レートのロングLDPC符号について説明する。
コンテキストとして、802.11ay規格の開発に関するLDPC符号に関する提出物には、「IEEE802.11−16/0676−01−00ay−length−1344−LDPC−code−for−11ay」[参考文献1]および「IEEE802.11−16/1495−00−00ay−rate−7−8−ldpc−code−for−11ay」[参考文献2]が含まれる。[参考文献1]は、1344ビットの長さを有するレート13/16のLDPCコードワードの最初の96パリティビットをパンクチャリングすることにより生成されたレート7/8のロングLDPC符号を提案する。ただし、長さ1344のLDPC符号に適用されたこのパンクチャリングプロセスにより、結果としてレートがより低いLDPC符号の1344のコードワード長と比較して、1248ビットのコードワード長を有するレート7/8のLDPC符号となる。さまざまなLDPCコードワードサイズは、送信機側と受信機側での符号化とシングルキャリア(SC)ブロッキング(シンボルをブロックへマッピング)の実施に影響する。したがって、異なる符号レートに対してコードワード長を同じに保つことが望ましい。
[参考文献2]は、42の膨張係数および672のコードワード長を802.11adのより低レート符号に対して規定されたものから変更せずに保持する、672ビットのコードワード長で高レート(7/8)のショートLDPC符号を提案している[3]。本開示は、より低レートの符号にも適用できるコードワード長を使用して実装される高レートのロングLDPC符号を説明する。
以下で詳細に説明されるLDPCコーディングシステムが動作可能な環境の例が、図1Aおよび1Bを参照して提供される。図1Aは、複数の局(STA)102およびアクセスポイント(AP)104を備える通信ネットワーク100を示す。STA102およびAP104のそれぞれは、本明細書に記載されている、送信機、受信機、エンコーダ、および/またはデコーダを含み得る。ネットワーク100は、IEEE802.11ネットワーク、第5世代(5G)または第4世代(4G)通信ネットワーク、ロングタームエボリューション(LTE)、第3世代パートナーシッププロジェクト(3GPP)、ユニバーサル移動通信システム(UMTS)、およびその他の無線または移動通信ネットワークを含みえるがこれらに限定されない1つまたは複数の通信またはデータ規格または技術に従って動作し得る。STA102は一般に、無線通信を提供するか、または802.11プロトコルを使用することができる任意のデバイスであり得る。STA102は、ラップトップ、デスクトップPC、PDA、アクセスポイントまたはWi−Fi電話、無線送受信ユニット(WTRU)、移動局(MS)、移動端末、スマートフォン、携帯電話、または他の無線対応コンピューティングまたはモバイルデバイスであり得る。いくつかの実施形態では、STA102は、通信ネットワーク100でデータを送信、受信、または送受信する機能を有するが、通信以外の主要な機能を実行するマシンを備える。一実施形態では、マシンは、通信ネットワーク100を介してデータを送信および/または受信する手段を備えた装置またはデバイスを含むが、そのような装置またはデバイスは通常、通信を主目的でユーザーによって操作されるわけではない。AP104は、ネットワーク100内のSTA102用の無線送信および/または受信ポイントとして機能する基地局(BS)、進化型ノードB(eNB)、無線ルータ、または他のネットワークインタフェースを備えてもよい。AP104は、AP104と他のリモートネットワーク、ノード、AP、およびデバイス(図示せず)の間でデータを交換できるようにするバックホールネットワーク110に接続されている。AP104は、図1Aの矢印で表されるように、各STA102とのアップリンクおよびダウンリンク通信チャネルを確立することにより、各STA102との通信をサポートしてもよい。ネットワーク100内の通信は、AP104によりまたはネットワーク100内のスケジューリングまたは管理エンティティ(図示せず)、または予定された通信と予定されていない通信を混在することにより、予定されなくても、予定されてもよい。
図1Bは、STA102またはAP104など、本明細書で説明される方法およびシステムを実装するために使用され得る例示的な処理システム150を示す。処理システム150は、例えば、基地局、無線ルータ、モバイルデバイス、または任意の適切な処理システムであってもよい。以下で説明するものとは異なる構成要素を含み得る、本開示を実施するのに適した他の処理システムを使用してもよい。図1Bは各構成要素の単一のインスタンスを示しているが、処理システム150では各構成要素の複数のインスタンスが存在する場合がある。
処理システム150は、プロセッサ、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、専用論理回路またはあそれらの組み合わせなどの1つまたは複数の処理デバイス152を含み得る。処理システム150はまた、1つまたは複数の適切な入力デバイスおよび/または出力デバイス(図示せず)とのインタフェースを可能にし得る1つまたは複数の入出力(I/O)インタフェース154を含んでもよい。入力デバイスおよび/または出力デバイスの1つまたは複数は、処理システム150の構成要素として含まれてもよく、処理システム150の外部にあってもよい。処理システム150は、限定されるわけではないが、イントラネット、インターネット、P2Pネットワーク、WAN、LAN、WLAN、および/または5G、4G、LTEまたは他の上記のネットワークなどのセルラまたはモバイル通信ネットワークなどのネットワークとの有線または無線通信用の1つまたは複数のネットワークインタフェース158を含んでもよい。ネットワークインタフェース208は、ネットワーク内および/またはネットワーク間通信用の有線リンク(例えば、イーサネット(登録商標)ケーブル)および/または無線リンク(例えば、1つまたは複数の無線周波数リンク)を含み得る。ネットワークインタフェース158は、例えば、1つまたは複数の送信機または送信アンテナ、1つまたは複数の受信機または受信アンテナ、ならびに様々な信号処理ハードウェアおよびソフトウェアを介して無線通信を提供し得る。この例では、送信および受信アンテナの両方として機能し得る単一のアンテナ160が示されている。ただし、他の例では、送信用と受信用に別々のアンテナが存在する場合がある。ネットワークインタフェース158は、バックホールネットワーク110またはネットワーク100の他のユーザデバイス、アクセスポイント、受信ポイント、送信ポイント、ネットワークノード、ゲートウェイまたはリレー(図示せず)とデータを送受信するように構成されてもよい。
処理システム150はまた、ソリッドステートドライブ、ハードディスクドライブ、磁気ディスクドライブ、および/または光ディスクドライブなどの大容量記憶ユニットを含み得る1つまたは複数の記憶ユニット170を含んでもよい。処理システム150は、揮発性または不揮発性メモリ(例えば、フラッシュメモリ、ランダムアクセスメモリ(RAM)、および/または読み取り専用メモリ(ROM))を含み得る1つまたは複数のメモリ172を含んでもよい。非一時的メモリ172は、本開示を実行するためなどに、処理デバイス152により実行される命令を格納してもよい。メモリ172は、オペレーティングシステムおよび他のアプリケーション/機能を実装するためなどの他のソフトウェア命令を含み得る。いくつかの例では、1つまたは複数のデータセットおよび/またはモジュールは、外部メモリ(例えば、処理システム150との有線または無線通信における外部ドライブ)によって提供されるか、一時的または非一時的なコンピュータ可読媒体によって提供され得る。非一時的なコンピュータ可読媒体の例は、RAM、ROM、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、CD−ROM、またはその他の携帯型メモリストレージを含む。
例示的な実施形態では、処理システム150は、ソースワードをコードワードに符号化するためのエンコーダ162と、コードワードをシンボルに変調するための変調器164とを含む。以下で説明するように、エンコーダ162は、ソースワードに対してLDPC符号化を実行して、ビット単位のコードワードを生成する。変調器164は、(例えば、BPSK、QPSK、16QAM、または64QAMなどの変調技術により)コードワードに対して変調を行う。いくつかの例では、メモリ172内の符号化された命令は、エンコーダ162および/または変調器164が処理システム150の別個の物理モジュールではない場合もあるように、エンコーダ162および/または変調器164の機能を実行するように処理デバイス152を構成し得る。いくつかの例では、エンコーダ162および変調器164は、処理システム150の送信機モジュール内で具現化され得る。いくつかの例では、送信アンテナ160、エンコーダ162、および変調器164は、処理システム150の外部の送信機コンポーネントとして具現化されてもよく、単に処理システム150からソースワードを伝達してもよい。
処理システム150は、受信信号を処理するための復調器180および復号器190を含み得る。復調器180は、受信された変調信号(例えば、BPSK、QPSK、16QAM、または64QAM信号)に対して復調を実行し得る。次に、デコーダ190は、受信信号に含まれる元の信号を回復するために、復調信号に対して適切な復号を実行し得る。いくつかの例では、メモリ172内の符号化された命令は、復調器180および/またはデコーダ190が処理システム150の別個の物理モジュールではない場合もあるように、復調器180および/またはデコーダ190の機能を実行するように処理デバイス152を構成し得る。いくつかの例では、復調器180およびデコーダ190は、処理システム150の受信機モジュール内で具現化され得る。いくつかの例では、受信アンテナ160、復調器180およびデコーダ190は、処理システム150の外部の受信機コンポーネントとして具現化されてもよく、受信信号から復号された信号を処理システム150に単に伝達してもよい。
処理デバイス152、I/Oインタフェース154、ネットワークインタフェース158、エンコーダ162、変調器164を含む処理システム150の構成要素間の通信を提供するバス192があってもよい。バス192は、例えば、メモリバス、周辺バス、またはビデオバスを含む任意の適切なバスアーキテクチャであり得る。
ネットワーク100内のSTA102とAP104との間の通信は、低密度パリティ検査(LDPC)符号化技術を使用して送信されるソースワードを符号化することにより、および/またはLDPC符号復号技術を使用して受信されたコードワードを復号することによって実施され得る。ソースワードがLDPC符号化技術で符号化された後、符号化されたコードワードがAP104からSTA102またはSTA102からAP104への信号で送信されるとき、送信信号のLDPC符号化情報は送信されたフレームに含まれ得る。送信信号がSTA102またはAP104によって受信された後、受信信号のLDPC符号化情報により、STA102またはAP104は次に、受信信号を復号するために適切なLDPC復号技術を選択し得る。
送信機とエンコーダ
図2Aは、STA102またはAP104の送信機の例示的な実装を示す。送信機は、ソースワード分割モジュール202、LDPCエンコーダ162、ビット−シンボルマッピング変調器164、およびブロッキングモジュール208を含み得る。
図2Bは、送信機によって入力情報ビットストリームを処理する例示的なステップを示す。
ソースワード分割モジュール202を使用して、入力情報ビットストリームを適切なサイズのソースワード
に分割し得る(ステップ222)。例えば、ソースワード分割モジュール202により、入力情報ビットストリームは、1344ビットのLDPCコードワードサイズを有するLDPC7/8符号レートの場合、1176ビットのサイズを有するソースワード
に分割され得る。
Kビットのソースワード
は、1×K行ベクトルまたは1次元バイナリ1×K行列
とみなされ得る。例えば、1176ビットのソースワードは、1×1176行ベクトルまたは1次元のバイナリ1×1176行列とみなされ得る。
次に、Kビットのソースワード
は、LDPCエンコーダ162によってNビットのコードワード
に符号化される(ステップ224)。図3は、LDPCエンコーダ162の例示的な実装を示す。実施形態では、LDPCエンコーダ162は、LDPC行列生成器302、生成行列モジュール304、ソースワード入力インタフェース306、およびコードワード生成器308を含み得る。
LDPC行列生成器302は、例えば、N=1344、K=1176であるバイナリ(N−K)×N行列であるLDPCパリティ検査行列Hlを生成するために使用される。LDPC符号は、機能的にはスパースパリティ検査行列によって定義される。(n、k)LDPC符号は、{0、1}nのk次元部分空間を持つ線形バイナリブロック符号Cである。ガウス消去法と列の並べ替えを使用すると、体系的な形式
の等価なパリティ検査行列を得ることができ、ここで
はバイナリ行列であり、
は次数n−kの単位行列である。
LDPC行列生成器302によって生成されたLDPCパリティ検査行列Hに基づいて、生成行列モジュール304は生成行列Gを生成する。Hに対応する体系的な形式の生成行列Gは、
として表され得るが、「T」は行列の転置を示す。生成行列Gは、バイナリK×N行列である。Gの行スペースは、GHT=0になるようにHに直交する。したがって、LDPC符号化では、Hが設計されると、Gもそれに応じて決定されることが可能である。同様に、行列Hは、
がNビットのコードワードである
を満たす。次に、生成行列モジュール304は、生成されたバイナリ(K×N)生成行列Gをコードワード生成器308に転送する。
ソースワード入力インタフェース306は、ソースワード分割モジュール202からソースワードを受信する。前述のように、受信されたソースワードは、行ベクトル
とみなされ得る。ソースワード入力インタフェース306は、受信されたソースワードをコードワード生成器308に転送する。ソースワード
およびバイナリ(K×N)生成行列Gの場合、コードワード生成器308はソースワードに生成行列Gを乗算することにより
、Nビットのコードワード
を生成する。
一実施形態では、生成行列Gは、LDPCエンコーダ162に事前に格納されてもよい。ソースワード
がコードワード生成器308によって受信された後、コードワード生成器308は、LDPC行列Hまたは生成行列Gを再生成せずにコードワード
を生成してもよい。
図2Aおよび2Bを参照すると、符号化されたコードワード
は、ビット−シンボルマッピング変調器164でシンボルに変調される(ステップ226)。適切な変調技術は、限定されるわけではないが、BPSK、QPSK、16QAM、または64QAMであってもよい。BPSK、QPSK、および16QAM変調は、802.11adで規定されている。802.11ayでは64QAM変調が採用されている。BPSK変調では、バイナリビットは単にバイポーラ{−1、1}シンボルになるようにマッピングされる。QPSK、16QAM、および64QAM変調では、入力符号化ビットストリーム(ビット単位のコードワード
)は、それぞれ2、4、および6ビットのセットにグループ化される。各ビットのセットは、対応するコンスタレーション上のシンボルにマッピングされる。例えば、BPSK、QPSK、16QAM、および64QAMの場合、シンボルは、それぞれ1ビット、2ビット、4ビット、および6ビットを表す。複数のシンボルは、変調コードワードとしてグループ化されてもよい。例えば、サイズ672の802.11ad符号の変調コードワードは、336個のシンボル(802.11adでのシングルキャリア(SC)QPSKブロッキングの場合)、168個のシンボル(802.11adでのSC16QAMブロッキングの場合)、112個のシンボル(802.11adでのSC64QAMブロッキングの場合)を含んでもよい。
変調されたコードワードは、ブロッキングモジュール208において適切なサイズのデータブロック(BLK)にさらに組み立てられ得る(ステップ228)。実施形態では、組み立てられたデータブロックは、448個のシンボルを含み得る。
図4Aは、組み立てられたデータブロック(BLKS)をパッケージ化するために使用されることが可能な例示的なシングルキャリア(SC)データユニットまたはフレーム構造を示す。IEEE802.11adで規定されている図示のフレームは、ビーム形成トレーニング用のショートトレーニングフィールド(STF)、チャネル推定(CE)フィールド、PHYヘッダ、SCデータブロック(BLK)、およびオプションの自動ゲイン制御(AGC)とTRN−R/Tサブフィールドが含まれている。図4Aに示されるように、フレームは複数のBLKを含み得る。
図4Bは、802.11ad規格によるSCデータブロック(BLK)の例示的な構成を示している。図4Bでは、各BLKは448個のシンボルで構成されている。64ビットのガードインターバル(GI)は、各隣接する2つのBLK間に使用され、隣接するデータブロックを分離する。
802.11adにおけるコードワード長672のLDPC符号
本開示で提示される高レートのロングLDPC符号の実施形態は、IEEE802.11adで規定されたLDPC符号に基づいており、したがって、以下で詳細に説明する実施形態の理解を容易にするために、IEEE802.11adLDPC符号の簡単な説明を提供する。LDPC符号化されたコードワード
はソースワード
と生成行列Gの操作によって生成され、かつ生成行列GはLDPCパリティ検査行列Hから導出されるため、LDPCパリティ検査行列Hはソースワード
のコードワード
への符号化を達成する。LDPCパリティ検査行列Hの設計により、符号の機能が向上する場合がある。パリティ検査行列Hは、サイズZ×Zの正方部分行列にさらに区分される。Zはリフティング係数である。部分行列は、Z×Z単位行列P0の巡回置換、またはすべてゼロのエントリをもつヌル部分行列のいずれかである。
図5A〜図5Dは、レートが1/2、5/8、3/4、および13/16の802.11adで規定された4つのLDPC符号のパリティ検査行列Hを示している。802.11adでは、各LDPC符号は、672ビットの共通コードワード長を有する。符号レートK/Nは、Kビットのソースワード
がNビットのコードワード
に符号化されることを示す。802.11ad規格に関して、コードワード長Nは672ビットである。したがって、1/2、5/8、3/4、および13/16の符号レートの場合、対応するソースワードのサイズKは、それぞれ336ビット、420ビット、504ビット、および546ビットである。
行列Hの各非空白セル要素内のインデックス値iは、行列P0の列を右i列に周期的にシフトすることによりZ×Z単位行列P0から得られた巡回置換部分行列Piを示す。空白のエントリは、すべてゼロのZ×Z行列を示す。
図5Eは、Z=4である例示的なZ×Z単位行列P0から得られた巡回置換部分行列P1およびP3の例を示す。P1は、P0の列を右に1要素分シフトすることによって取得され、P3は、P0の列を右に3要素分シフトすることによって取得される。図5Eに見られるように、単位行列P0は、行列全体に対角線上に配置されたZ個の「1」を含み、他のすべての値は「0」である。
図5Aにおいて、インデックス値i=「0」を有する行列セル位置は、42×42の単位部分行列である部分行列P0を表し、インデックス値i=「40」を有する図5Aの左上のセル位置は、P0の列を右に40要素分シフトして得られた部分行列を表す。同様に、図5B〜図5Dの非ゼロ値iの部分行列Piも、それぞれの単位行列P0から取得されることが可能である。
図5Aは、Z=42である、符号レート1/2のLDPCパリティ検査行列H=336行×672列を示す。図5Bは、Z=42である、符号レート5/8のLDPCパリティ検査行列H=252行×672列を示す。図5Cは、Z=42である、符号レート3/4のLDPCパリティ検査行列H=168行×672列を示す。図5Dは、Z=42である、符号レート13/16のLDPCパリティ検査行列H=126行×672列を示す。図5A〜5Dでは、空白のエントリはすべてゼロのエントリを含むZ×Zの部分行列を表す。
802.11ayに対するロングコードワード長1344の低レートLDPC符号の提案
図6A〜図6Dは、[参考文献1]で802.11ayに対して提案された、レートが13/16、3/4、5/8、および1/2の4つの低レートLDPC符号を示す。上記のように、符号レートK/Nは、KビットのソースワードがNビットのコードワードに符号化されることを示す。コードワード長N=1344ビットの場合、13/16、3/4、5/8および1/2の符号レートは、それぞれ1092、1008、840および672ビットの対応するソースワード長を持つ。
図6A〜6Dに示されているロングLDPC符号は、2段階リフティングプロセスにより生成される。図6Aの例では、リフティング行列602を基本行列604に適用することにより、1344のコードワード長を有するレート13/16(1344、1092)のLDPC符号606が生成される。基本行列604は、レート13/16長さ672である、IEEE802.11adで規定された区分されたLDPC行列である。3行16列の部分行列を有する、レート13/16の基本行列604は、「1」および「0」の発生している126行×672列の行列に適用されるZ=42のリフティング係数に対応する。したがって、リフティング係数Z=42による第1のリフティングは、レート13/16の基本行列604を提供し、次いで、リフティング行列602の適用により2回目のリフティングが行われ、レート13/16のLDPC符号606を生成する。
図6Aに示されるように、リフティング行列602は、802.11adのレート13/16の行列604と同じ数の行および列(3×16)を有する。リフティング行列602の各セル要素には、3つの可能な値「1」、「0」、および「−1」のうちの1つが割り当てられる。基本行列604の部分行列が「−1」として示されるヌル(すなわち、すべてゼロのエントリ)である場合、リフティング行列604内の対応するエントリも「−1」として示される。例えば、リフティング行列604の行1、列16のエントリは、基本行列602の行1、列16の部分行列に対応する。リフティング行列604のエントリと基本行列602の部分行列の両方は「−1」の値を有する。
1344のコードワード長を有する13/16LDPC符号606を生成するために、リフティング行列602は、672のコードワード長を有する13/16LDPC基本行列604に適用される。特に、基本行列604の値「V」を有する部分行列について、対応するリフティング行列602のエントリが値「1」を有する場合、基本行列604にリフト行列602を適用すると、次のように4つの部分行列が生成される。
基本行列604の値「V」を有する部分行列について、対応するリフティング行列602のエントリが「0」の値を有する場合、リフト行列602を基本行列604に適用すると、次の4つの部分行列が生成される。
図6Aでは値「29」を有する基本行列604の行1、列1の部分行列の例では、リフティング行列602の行1、列1の対応するエントリは値「1」を有するので、リフティング行列602のエントリを基本行列604の対応する部分行列に適用すると、以下のように4つの部分行列が生成される。
同様に、値「4」を有する基本行列604の行3、列9の部分行列の例では、リフティング行列602の行3、列9の対応するエントリが値「0」を有するので、リフティング行列602のエントリを基本行列604の対応する部分行列に適用すると、以下のように4つの部分行列が生成される。
基本行列604内の値が「−1」である部分行列の場合、リフティング行列602の対応するエントリも値「−1」を有する。リフティング行列602の「−1」の値を持つ1つのエントリを基本行列604の対応する部分行列に適用すると、4つのヌル部分行列が生成される。
同様に、1344のコードワード長を有するレート13/16のLDPC符号606を得るための上述の同じ規則は、図6B〜図6Dに示されるように、対応するリフティング行列602と共に使用してIEEE802.11adで規定された、コードワード長672、符号レート3/4、5/8、および1/2の基本行列604に適用されることができ、それぞれ1344のコードワード長を有する、対応レート3/4、5/8、および1/2のLDPC符号を生成する。
高レートLDPC符号
IEEE802.11ad標準は、7/8(参考文献2)の高符号レートを有するLDPC符号を規定している。同様に、上記の通り、[参考文献1]は、1248のコードワード長を有するレート7/8のLDPC符号を提案している。レート7/8、長さ1248のLDPC符号[参考文献1]は、上記のように、802.11adで規定されたレート13/16長さ672の基本LDPC符号から導出される、図6Aに示す行列606で表される、レート13/16(1344,1092)のLDPC符号から最初の96パリティビットをパンクチャリングすることにより生成される。実装において、送信機はパンクチャリングされたビットを送信せず、受信機はパンクチャリングされたビットに対して1/0について等しい尤度を設定する。したがって、パンクチャリングによって生成される図6Aの提案レート7/8のLDPC符号は、ロング符号、低レートのLDPC符号に対して提案された1344のコードワード長ではなく1248のコードワード長になる。
図4A、図4Bに関して上述したように、送信前にLDPCコードワードに対してビットからシンボルへのマッピングが実行され、その後、定義された数のシンボル(例えば、448個のシンボルまたは896個のシンボル)を有するブロック(BLK)にブロッキングされる。したがって、異なる符号レートに対して異なるコードワード長を使用すると、定義されたブロック長を有するデータフレーム構造が異なる符号レートをサポートすることを目的とする環境で非効率的なブロッッキングをもたらす可能性がある。特に、変調されたコードワードをデータブロックに組み立てるブロッッキングプロセスは、他のレートとは異なるコードワード長を使用するレート7/8のLDPC符号の符号化と復号を実施するために追加プロセスが必要になる場合がある。13/16レート符号をパンクチャリングすることにより得られる、レート7/8、長さ1248のLDPC符号の場合、パンクチャリングにより冗長性が増加し(符号化およびSCブロッキング中にゼロをパディングすること)、SCブロッキングの複雑さが増す。
例えば、図7Aは、左側に、1344のコードワード長(N=1344、K=1176)を使用するレート7/8のLDPC符号に対するSC QPSKブロッキングの例を示し、右側に、1248のパンクチャリングされたコードワード長(N=1248、K=1092)を使用するレート7/8のLDPC符号のSC QPSKブロッキングの例を示す。図7Aの例は、ビットからシンボルへのマッピングにQPSK変調を使用している。(N=1344、K=1176)QPSKの場合、変調後の1344ビットコードワードは、672シンボルコードワードになる。それぞれ448個のシンボルを含む各3つのSCデータブロック(BLK1、BLK2、BLK3)は、2つのシンボルコードワードから構成される(各ブロックは1つまたは2つのコードワードから構成される)。比較すると、(N=1248、K=1092)QPSKの場合、変調後の1248ビットコードワードは、624シンボルコードワードになる。その結果、ブロッキングプロセスはより複雑になり、各39個のデータブロックは28個のコードワードから構成され、各データブロックは1つまたは2つのコードワードから構成される。
図7Bは、(1248、1092)LDPC(右側)と比較した(1344、1176)LDPC(左側)によるSC 16QAMブロッキングの例を示す。(1344、1176)LDPCの場合、16QAMでは、変調後の1344ビットコードワードは、1つの336シンボルコードワードになる。各3つのSCデータブロックは、4つの336シンボルコードワードから構築され、各448シンボルデータブロックは、2つのシンボルコードワードから構築される。ただし、(1248、1092)LDPCの場合、符号化されたコードワードのそれぞれは1248ビットを含み、16QAM変調後に312シンボルコードワードになる。その結果、ブロッキングプロセスはより複雑になり、各39個のデータブロックは、56個のコードワードから構成される。
同様に、図7Cは、(1248、1092)LDPC(右側)と比較した(1344、1176)LDPCによるSC 64QAMブロッキングの例を示している。(1344、1176)LDPCの場合、64QAMでは、変調後の1344ビットコードワードは、1つの224シンボルコードワードになる。各448シンボルデータブロックは、2つの224シンボルコードワードから構成される。ただし、(1248、1092)LDPCの場合、変調後の1つの1248ビットコードワードは、1つの208シンボルコードワードになる。その結果、ブロッキングプロセスはより複雑になり、各13個のデータブロックは、28個のコードワードから構築され、各データブロックは3個または4個のコードワードから構築される。
[参考文献2]は、N=672のショートコードワード長に対する高レート7/8のLDPC符号を提案している。図8を参照すると、[参考文献2]のレート7/8長さ672のLDPC行列Hn860は、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850から行を加算することによって導出される。上記のように、802.11ad規定のレート3/4長さ672のLDPC行列850は、リフト係数Z=42を使用して168行(N−K=168)×672列(N=672)の元のバイナリ行列を区分することにより得られ、4行(R=(N−K/42))×16列(C=N/42)として表現でき、各部分行列Piが適用される巡回シフトを表すインデックス値iによって配列要素で表される(または、「空白」または「null」ですべてゼロの部分行列を示す「−」)3/4長さ672のLDPC基本行列H850を提供する。ベース3/4長さ672のLDPC行列H850から選択された行は、加算されて3/4長さ672のLDPC行列Hn850を提供する。特に、基本符号行列Hの第1行R1および第3行R3からの部分行列850は、加算されて新しいLDPC行列Hn850の第1行内の対応する列エントリに対する部分行列を提供し、基本符号行列H850の第2行R2および第4行R4からの部分行列は、モジュロ2加算を使用して加算されて新しいLDPC行列H850の第2行内の対応する列エントリに対する部分行列を提供する。説明の目的で、図9は、モジュロ2加算を使用して、Z=4の単純化されたケースに対する巡回置換行列の加算を示す。
長さN=1344を有する高レート7/8のロングLDPC符号
次に、特に低レート符号、すなわちN=1344に対して規定されたものと一致するコードワード長を提供する高レートの長いLDPC符号を対象とする実施形態例を説明する。
図10は、例示的な一実施形態による、コードワード長N=1344を有するレート7/8のLDPC行列Hl1020を生成する方法を示す。図10の例では、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850が基本行列として使用されるが、リフティング係数はZ=42からZ=84に増加されてレート3/4長さ1344のLDPC行列を中間行列Hint1010として生成する。特に、コードワードサイズ672×2=1344を有する3/4レートのLDPC行列Hint1010を構築するために、基本行列850の構造と列位置シフトは同じままであるが、リフティング係数はZ=42からZ=84に増加される。例えば、802.11adのコードワード長が672のバイナリ3/4基本行列850は、168行×672列、Z=42を含む。図10に示すように、区分された3/4基本行列840は、4行×16列の部分行列を含み、各部分行列はZ×Z(42×42)のサイズを有する。リフティング係数Zが42から84に増加されると、中間の区分された、長さ3/4の1344LDPC行列Hint1010は、336行×1344列のバイナリ行列を表す4行×16列の部分行列を含む。
例示的な実施形態において、中間レート3/4長さ1344のLDPC行列Hintの選択された行は、加算されてコードワード長N=1344を有するレート7/8のLDPC行列Hl1020を生成する。特に、中間LDPC行列Hint1010の第1行R1および第3行R3からの部分行列は、モジュロ2加算を使用して加算されて新しいLDPC行列Hl1020の第1行内の対応する列エントリに対して部分行列を提供する。中間LPDC行列Hint1010の第2行R2および第4行R4からの部分行列は、モジュロ2加算を使用して加算されて新しいLDPC行列Hl1020の第2行内の対応する列エントリに対して部分行列を提供する。
図11は、例示的な一実施形態による、コードワード長N=1344を有するレート7/8のLDPC行列Hl1130を生成する方法のさらなる例示的な実施形態を示す。なお、図11の例では、直前の例で説明した拡張リフティング係数を使用する代わりに、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850が再び基本行列として使用される。リフティング行列1110は、中間行列Hint1120を生成するために使用される。リフティング行列1110は、最適化された誤り率性能をもたらす基準を使用した最適化検索により選択される。図示された実施形態では、リフティング行列1110は、その第1および第3行が相補的であり、かつその第2および第4行が相補的であるように選択される。
リフティング行列1110は、図6A〜6Dに関して上述したのと同じ方法で、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850に適用され、中間行列Hint1120を生成する。結果の中間行列Hint1120は、部分行列要素の8行×32列を含み、各部分行列列要素は、Z×Z(Z=42)単位行列P0に適用される巡回シフトを示すインデックス値i、またはすべて「0」の行列を示すヌル値で示される。したがって、区分された中間行列Hint1120は、336行×1344列のバイナリ行列を表す。
図11に示されるように、中間行列Hint1120の周期的行は、コードワード長N=1344を有するレート7/8のLDPC行列Hl1130を生成するために加算される。特に、中間行列Hint1120の第1行R1および第5行R5からの部分行列は、モジュロ2加算を使用して加算されて新しいLDPC行列Hl1130の第1行内の対応する列エントリに対して部分行列を提供する。同様に、中間行列Hint1120の第2および第6行は、新しいLDPC行列Hl1130の第2行に加算される。中間行列Hint1120の第3および第7行は加算されて新しいLDPC行列Hl1130の第3行を提供する。中間行列Hint1120の第4および第8行は、加算されて新しいLDPC行列Hn1130の第4行を提供する。図11に示すように、区分されたLDPC行列Hl1130は、部分行列要素の4行×32列を含み、各部分行列要素は、バイナリ行列Hlが168行×1344列のサイズを有するようにZ=42のZ×Z部分行列を表す。
図11の例は、行列Hl1130を生成するためにリフティングステップと加算ステップの組み合わせに依存することが理解されるであろう。
少なくともいくつかの例では、図11に示すリフティング行列1110の代わりに異なる最適化されたリフティング行列が使用されることが可能であり、この点に関して、図12は、リフティング行列1110の代わりにいくつかの例で使用し得るさらなる最適化されたリフティング行列1210の例を示す。
図13は、別の例示的な実施形態による、コードワード長N=1344を有するレート7/8のLDPC行列Hl1330を生成する方法のさらなる例示的な実施形態を示す。図13の例では、802.11ad規定のレート3/4長さ672(672、504)のLDPC行列H850が基本行列として再び使用され、特に、レート7/8長さ672のLDPC行列Hn860を中間行列として図8に関して上述した同じ方法で生成するために使用される。2行×16列の最適化されたリフティング行列1310は、上記と同じリフティング行列技術を使用して、レート7/8長さ672のLDPC行列Hn860に適用されてレート7/8長さ1344のLDPC行列Hl1330を取得する。図13に示すように、区分されたLDPC行列Hl1320は、8行×32列の部分行列要素を含み、各部分行列要素は、バイナリ行列Hl1320が336行×1344列のサイズを有するようにZ=42のZ×Z部分行列を表す。
例示的な実施形態では、最適化された誤り率性能を提供するリフティング行列の最適化検索を実行することにより最適化されたリフティング行列が選択される。最適化されたリフティング行列1310の場合、いくつかの例示的な実施形態では、LDPCエンコーダでの符号化とビットーシンボル変調器206での変調との間にランダムインターリーバが含まれる。
少なくともいくつかの例では、異なる最適化リフティング行列が図13に示す使用されることができ、この点に関して、図14は、いくつかの例でリフティング行列1310の代わりに使用され得る、さらなる最適化リフティング行列1410の例を示す。最適化されたリフティング行列1410の場合、いくつかの例示的な実施例では、通常の行−列インターリーバがLDPCエンコーダでの符号化とビット−シンボル変調器206での変調の間に含まれる。
少なくともいくつかの構成において、7/8長さ1344のLDPC行列Hlの実施形態は、以下の特徴、すなわち、11adと共存する、IEEE802.11ayで提案されている異なる符号レートの他のLDPCコードから1344のコードワード長を変更しないレート7/8のLDPCコードを提供する、符号化とシングルキャリアブロッキングの冗長性(ゼロをパディングする)を減少する、新しいレート7/8のLDPC符号を最適化してパンクチャリングされたソリューションと同等以上の性能を実現する特徴のうちの1つまたは複数を提供することができるLDPC構造を提供する。
デコーダと復号方法
LDPC符号化信号は、STA102またはAP104の受信機で受信され得る。図15Aの例に示されるように、受信機は、等化およびデブロッキングモジュール1502、復調器180、LLR計算機1506、およびLDPCデコーダ190を含む。オプションとして、LLR計算器1506は、復調器180の構成要素とすることができる。図15Bに示すように、受信したLDPC符号化信号では、等化およびデブロッキングモジュール1502はまず、受信信号1501を等化して受信信号が送信されるチャネルによって引き起こされるシンボル間干渉を低減し、次に等化信号をデブロックしてコードワードシンボルを復元する(ステップ1522)。復調器180は、例えば、BPSK、QPSK、16QAM、または64QAMによって、デブロックされたコードワードシンボルをビット単位のコードワードに復調する(ステップ1524)。LLR計算器180は、デブロックされたコードワードシンボルのビット値の対数尤度比を生成するために使用し得る(ステップ1526)。対数尤度比は、LDPCデコーダ190の入力として使用されてもよい。LDPCデコーダ190は次に、ソースワードを符号化する際に使用されるLDPC行列Hnを使用して、1×N行ベクトルSを有する復調信号を復号してもよい(ステップ1528)。LDPCデコーダ190は、1×Kソースワード行ベクトル
を回復するために1×N行ベクトル
を生成する。有効なコードワード
であるためには、
である。LDPC符号化信号を復号するためにはさまざまなアルゴリズム、例えば、メッセージパッシングアルゴリズムが利用可能である。図16は、メッセージパッシングアルゴリズムを使用してLDPC符号化ソースワードを復号するLDPCデコーダの例である。他の復号アルゴリズムを使用してLDPC復号を実施してもよい。メッセージパッシングアルゴリズムが使用される場合、LDPCデコーダ190は、コントローラ1602、チェックノードモジュール1604、および可変ノードモジュール1606を含み得る。
上述のように、送信信号のLDPC符号化情報は、ソースワードを符号化するために使用される、K/NレートのLDPC符号Hn=(N−K)×NのLDPC行列の情報など、送信されるフレームに含まれ得る。本出願の一実施形態では、LDPCデコーダ190では、リフティング係数Zを用いて、K/NレートのLDPC符号Hn=(N−K)×Nを使用してもよい。符号化プロセスで説明したように、Hnは複数の部分行列から構成され、各部分行列はZ×Zのサイズを有する。パリティ検査行列を生成する方法は、符号化プロセスで説明されている。
ビット単位のコードワードは、例えば、LLR値を持つメッセージパッシングアルゴリズム(MPA)を使用して、行列Hlで復号されてもよい。図17の例に示すように、MPAを使用したLDPC復号は、LDPCパリティ検査行列Hlのグラフィカル表現である、タナーグラフの構造を使用する反復復号アルゴリズムである。LDPCデコーダ190において、各チェックノード1702は、それがそのパリティ検査方程式における唯一の消去されたビットである場合、LLR値に基づいて消去されたビットの値を決定する。メッセージは、タナーグラフのエッジ1706に沿って渡される。アルゴリズムの各反復については、各変数ノード1704は、変数ノード1704が接続されている各検査ノード1702にメッセージ(「外部情報」)を送信する。各検査ノード1702は、メッセージ(「外部情報」)を、検査ノード1702が接続されている変数ノード1704に送信する。この文脈における「外部」とは、検査ノード1702または変数ノード1704がすでに所有している情報がそのノードに渡されないことを意味する。各コードワードビットに対する事後確率は、LLR計算機1506で受信された信号と、Hlで定義されたパリティ制約とに基づいて計算される、すなわち、有効なコードワード
であるためには、
である。
LDPCデコーダ190の積層アーキテクチャでは、Z個の並列検査ノードプロセッサは、パリティ検査行列のZ行の部分行列に関連するエッジのメッセージを順次処理する。例では、Z=42であり、エッジは16個である。巡回シフト構造は、並列プロセッサに単純なバレルシフタを供給可能にするデコーダアーキテクチャを簡素化する。層の処理が終了すると、パリティ検査プロセッサは再初期化され、次の層が処理される。
本開示は、開示された方法およびシステムの例を実施するための特定の例示的なアルゴリズムおよび計算を提供する。しかしながら、本開示は、特定のアルゴリズムまたは計算に縛られない。本開示は、特定の順序のステップを備える方法およびプロセスを説明しているが、本方法およびプロセスの1つまたは複数のステップは、適宜省略または変更されてもよい。1つまたは複数のステップは、適宜、説明されている順序以外の順序で実行し得る。
前述の実施形態の説明を通して、本発明は、ハードウェアのみを使用して、またはソフトウェアおよび必要な汎用性のハードウェアプラットフォームを使用して、またはハードウェアとソフトウェアの組み合わせによって実装され得る。そのような理解に基づいて、本発明の技術的解決策は、ソフトウェア製品の形態で具現化され得る。ソフトウェア製品は、コンパクトディスク読み取り専用メモリ(CD−ROM)、USBフラッシュドライブ、またはハードディスクである、不揮発性または非一時的な記憶媒体に格納してもよい。ソフトウェア製品は、コンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイス)が本発明の実施形態で提供される方法を実行できるようにする多数の命令を含む。
本発明およびその利点が詳細に説明されたが、本出願では、添付の特許請求の範囲によって規定される本発明から逸脱することなく、様々な変形、置換および変更が実施可能であることを理解されたい。
さらに、本出願の範囲は、本明細書に記載のプロセス、機械、製造、物質の組成、手段、方法、およびステップの特定の実施形態に限定されることを意図していない。当業者が本発明の開示から容易に理解するように、本明細書に記載の対応する実施形態と実質的に同じ機能を実行する、または実質的に同じ結果を達成する、現在するあるいは今後開発されるプロセス、機械、製造、組成物、手段、方法、またはステップは、本発明に従って利用され得る。したがって、添付の特許請求の範囲は、そのようなプロセス、機械、製造、物質の組成、手段、方法、またはステップをその範囲内に含むことを意図している。

Claims (21)

  1. ソースワードを符号化する方法であって、
    1×Kのソースワード行ベクトル
    を受信するステップと、
    1×Nのコードワードベクトル
    を生成するステップであり、
    Gはパリティ検査行列Hlから導出されたK×Nの生成行列である、ステップと
    を含み、
    lは、基本パリティ検査行列Hから、最適化されたリフティング行列を前記基本パリティ検査行列Hに適用することにより導出され、前記最適化されたリフティング行列は、
    または
    である、方法。
  2. 前記中間基本パリティ検査行列の異なる行を加算してHlを取得する、請求項1に記載の方法。
  3. lは、
    である、請求項1または2に記載の方法。
  4. ソースワードを符号化する方法であって、
    1×Kのソースワード行ベクトル
    を受信するステップと、
    1×Nのコードワードベクトル
    を生成するステップであり、Gはパリティ検査行列Hlから導出されたK×Nの生成行列である、ステップと
    を含み、
    lは、基本パリティ検査行列Hから、前記基本パリティ検査行列Hの異なる行を加算して中間パリティ検査行列を取得し、リフティング行列を前記中間基本パリティ検査行列に適用してHlを取得することにより、導出される、方法。
  5. 前記リフティング行列は、
    または
    である、請求項4に記載の方法。
  6. 前記基本パリティ検査行列Hは、レート3/4長さ672のコードワードに対して802.11adで規定されているLDPC行列である、請求項1から5のいずれか一項に記載の方法。
  7. ソースワードを符号化する方法であって、
    1×Kのソースワード行ベクトル
    を受信するステップと、
    1×Nのコードワードベクトル
    を生成するステップであり、
    Gはパリティ検査行列Hlから導出されたK×Nの生成行列である、ステップとを含み、
    lは、K/N未満のワードベクトルサイズに対するコードワードベクトルサイズのコードワード生成をサポートするように設計された基本パリティ検査行列Hから導出され、
    はバイナリ行列であり、
    は次数n−kの単位行列であり、「T」はマトリックス転置を示す場合、
    であり、前記パリティ検査行列は
    であり、
    lは、前記基本パリティ検査行列Hに適用されるリフティング係数を増加させて拡張基本パリティ検査行列を取得し、前記拡張基本パリティ検査行列の異なる行を加算してHlを取得することにより、前記基本パリティ検査行列Hから導出される、方法。
  8. lは、前記基本パリティ検査行列Hの異なる行を加算して中間パリティ検査行列を取得し、リフティング行列を前記中間基本パリティ検査行列に適用してHlを取得することにより、前記基本パリティ検査行列Hから導出される。請求項7に記載の方法。
  9. 前記基本パリティ検査行列Hは、504ビットの入力ソースワードベクトルサイズから672ビットの出力コードワードベクトルサイズのコードワード生成をサポートするように設計されているレート3/4の低密度パリティ検査(LDPC)行列であり、前記基本パリティ検査行列Hは4行×16列の行列に区分でき、
    ここで各区分された行列要素は、対応する42ビット×42ビットの部分行列を表し、各42ビット×42ビットの部分行列は、42ビット×42ビットのバイナリ単位行列の巡回置換であるか、すべてゼロ値を含むかのいずれかであり、前記バイナリ単位行列の巡回置換に対応する前記要素は、前記要素に対応する前記部分行列を取得するために前記バイナリ単位行列に適用される前記循環シフトを示す整数インデックス値によって示され、すべてゼロ値を含む部分行列に対応する前記要素は、空白要素で示される、請求項7から8のいずれか一項に記載の方法。
  10. N1344であり、K/Nの比率は7/8である、請求項7から9のいずれか一項に記載の方法。
  11. N1344であり、K/Nの比率は7/8であり、
    前記基本パリティ検査行列Hに適用される前記リフティング係数を増大して前記拡張基本パリティ検査行列を取得するステップは、42ビット×42ビットのバイナリ単位行列のサイズを84ビット×84ビットのバイナリ単位行列に増大し、前記基本パリティ検査行列Hに対応する84ビット×84ビットの部分行列の前記拡張4行×16列の行列を決定するステップを含み、
    前記拡張基本パリティ検査行列の異なる行を加算してHlを取得するステップは、モジュロ2加算を使用して前記拡張基本パリティ検査行列の第1行および第3行からの部分行列を加算してHl1020の第1行内の対応する列エントリに対して部分行列を提供し、モジュロ2加算を使用して拡張基本パリティ検査行列の第2行および第4行からの前記部分行列を加算してHl1020の第2行内の対応する列エントリに対して部分行列を提供するステップを含む、請求項7に記載の方法。
  12. N1344であり、K/Nの比率は7/8であり、
    リフティング行列を前記基本パリティ検査行列Hに適用して前記中間パリティ検査行列を取得するステップは、4行×16列の最適化されたバイナリリフティング行列を前記区分された4行×16列の行列に適用してそれぞれ42ビット×42ビットのバイナリ単位行列の巡回置換であるか、すべてゼロ値を含むかのいずれかである42ビット×42ビットの部分行列の8行および32列を持つ前記中間パリティ検査行列を取得するステップを含み、
    前記中間基本パリティ検査行列の異なる行を加算してH1を取得するステップは、前記中間パリティ検査行列の第1行と第5行を加算してHlの第1行を取得するステップと、前記中間パリティ検査行列の第2行と第6行を加算してHlの第2行を取得するステップと、前記中間パリティ検査行列の第3行と第7行を加算してHlの第3行を取得するステップと、前記中間パリティ検査行列の第4行と第8行を加算してHlの第4行を取得するステップとを含み、前記リフティング行列は、
    または
    である、請求項10に従属する請求項7に記載の方法。
  13. lは、
    によって表される、請求項12に記載の方法。
  14. N1344であり、K/Nの比率は7/8であり、
    前記基本パリティ検査行列Hの異なる行を加算して前記中間パリティ検査行列を取得するステップは、前記区分された基本パリティ検査行列の第1行と第3行を加算し、区分された基本パリティ検査行列の第2行と第4行を加算して2つの行を有し、また次のように表される前記中間パリティ検査行列を取得するステップを含み、
    リフティング行列を前記中間基本パリティ検査行列に適用してHlを取得するステップは、2行×16列の最適化されたバイナリリフティング行列を前記区分された2行x16列の中間パリティ検査行列に適用して、それぞれ42ビット×42ビットのバイナリ単位行列の巡回置換か、またはすべてゼロ値を含むかのいずれかである42ビット×42ビットの部分行列の4行および32列を持つHlを取得するステップを含む、請求項8に記載の方法。
  15. 前記リフティング行列は、
    により表される、請求項14に記載の方法。
  16. 前記リフティング行列は、
    により表される、請求項14に記載の方法。
  17. lは、
    により表される、請求項7または8に記載の方法。
  18. 前記中間基本パリティ検査行列の行1と行3が加算される、請求項2に記載の方法。
  19. 前記中間基本パリティ検査行列の行2と行4が加算される、請求項2または18に記載の方法。
  20. 前記リフティング行列は、空白の行−列エントリと非空白の行−列エントリで構成され、前記中間基本パリティ検査行列の加算された部分行列に対応する両方の非空白エントリのペアは相補的である、請求項2、18または19に記載の方法。
  21. プロセッサを備えるシステムであって、前記プロセッサは前記システムに請求項1から20のいずれか一項に記載の方法を実行させるように構成される、システム。
JP2019547711A 2017-03-03 2017-03-03 高レートロングldpc符号 Active JP6873262B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/075616 WO2018157390A1 (en) 2017-03-03 2017-03-03 High-rate long ldpc codes

Publications (2)

Publication Number Publication Date
JP2020515125A true JP2020515125A (ja) 2020-05-21
JP6873262B2 JP6873262B2 (ja) 2021-05-19

Family

ID=63369733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019547711A Active JP6873262B2 (ja) 2017-03-03 2017-03-03 高レートロングldpc符号

Country Status (7)

Country Link
US (2) US11082061B2 (ja)
EP (1) EP3571770B1 (ja)
JP (1) JP6873262B2 (ja)
KR (1) KR102262186B1 (ja)
CN (2) CN110249536B (ja)
RU (1) RU2733826C1 (ja)
WO (1) WO2018157390A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018203725A1 (en) * 2017-05-04 2018-11-08 Samsung Electronics Co., Ltd. A method and apparatus for channel encoding and decoding in a communication or broadcasting system
AU2017418080B9 (en) 2017-06-15 2021-01-28 Huawei Technologies Co., Ltd. Information processing method and communication apparatus
CN109327225B9 (zh) * 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
CN110677157B (zh) 2017-06-27 2023-02-07 华为技术有限公司 信息处理的方法、装置和通信设备
CN109639392B (zh) * 2018-11-09 2020-03-27 清华大学 广播信道传输的空间耦合ldpc码的构造方法及系统
CN113078911A (zh) 2020-01-03 2021-07-06 华为技术有限公司 Ldpc码的编码的方法和通信装置
EP4309313A1 (en) * 2021-03-18 2024-01-24 Qualcomm Incorporated Bit replacing for low density parity check encoding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
WO2006039801A1 (en) 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
EP1850485A1 (en) 2006-04-28 2007-10-31 Nokia Siemens Networks Gmbh & Co. Kg Method for encoding a data message K' for transmission from a sending station to a receiving station as well as method for decoding, sending station, receiving station and software
MX2009007946A (es) * 2007-01-24 2009-08-18 Qualcomm Inc Codificacion y descodificacion de verificacion de paridad de baja densidad (ldpc) de paquetes de tamaños variables.
KR101370903B1 (ko) * 2007-03-16 2014-03-10 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 및 복호화 방법
US8392814B2 (en) 2008-10-07 2013-03-05 Qualcomm Incorporated Method and apparatus for high speed structured multi rate low density parity check codes
US9634693B2 (en) * 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
CN101951264B (zh) * 2010-08-31 2014-03-12 宁波大学 一种多码率准循环低密度奇偶校验码解码器
CN102412842B (zh) * 2010-09-25 2016-06-15 中兴通讯股份有限公司 一种低密度奇偶校验码的编码方法及装置
CN102868483A (zh) * 2011-07-06 2013-01-09 北京新岸线无线技术有限公司 一种用于数据传输的方法及装置
US8910025B2 (en) * 2011-10-03 2014-12-09 Samsung Electronics Co., Ltd. Method and apparatus of QC-LDPC convolutional coding and low-power high throughput QC-LDPC convolutional encoder and decoder
US8832520B2 (en) * 2011-11-29 2014-09-09 California Institute Of Technology High order modulation protograph codes
US9100052B2 (en) * 2013-02-01 2015-08-04 Samsung Electronics Co., Ltd. QC-LDPC convolutional codes enabling low power trellis-based decoders
US20140229788A1 (en) * 2013-02-13 2014-08-14 Qualcomm Incorporated Ldpc design for high rate, high parallelism, and low error floor
US9160369B1 (en) * 2013-03-01 2015-10-13 Proton Digital Systems, Inc. Method for iterative error correction with designed error floor performance
EP2833553B1 (en) * 2013-07-30 2021-03-31 Alcatel Lucent LDPC decoder
US20160380722A1 (en) * 2015-06-25 2016-12-29 Mohamed K. Hassanin Access point (ap), user station (sta) and methods for variable length encoding and for iterative decoding
US10523364B2 (en) * 2015-11-06 2019-12-31 Samsung Electronics Co., Ltd. Channel coding framework for 802.11AY and larger block-length LDPC codes for 11AY with 2-step lifting matrices and in-place property

Also Published As

Publication number Publication date
US20210376857A1 (en) 2021-12-02
CN110249536B (zh) 2021-07-20
JP6873262B2 (ja) 2021-05-19
KR102262186B1 (ko) 2021-06-08
CN110249536A (zh) 2019-09-17
EP3571770C0 (en) 2024-02-21
US11082061B2 (en) 2021-08-03
EP4373019A2 (en) 2024-05-22
RU2733826C1 (ru) 2020-10-07
WO2018157390A1 (en) 2018-09-07
EP3571770B1 (en) 2024-02-21
CN113676188A (zh) 2021-11-19
KR20190112124A (ko) 2019-10-02
EP3571770A1 (en) 2019-11-27
EP3571770A4 (en) 2020-06-03
US11671115B2 (en) 2023-06-06
US20190393890A1 (en) 2019-12-26

Similar Documents

Publication Publication Date Title
US10868567B2 (en) Methods and systems for encoding and decoding for LDPC codes
JP6873262B2 (ja) 高レートロングldpc符号
US11139835B2 (en) Method and apparatus for data processing with structured LDPC codes
CN107888198B (zh) 准循环ldpc编译码方法、装置及ldpc编译码器
JP6803932B2 (ja) ポーラー符号を使用する場合のピース・ワイズ・レート・マッチングのためのシステムおよび方法
US8627166B2 (en) LDPC code family for millimeter-wave band communications in a wireless network
US20200083904A1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
US20240031058A1 (en) Encoding and modulation method, demodulation and decoding method, and apparatus
EP3580865B1 (en) Mcs for long ldpc codes
JP2022516802A (ja) ワイヤレスネットワークでのデータ再送信
US20210281279A1 (en) Device and method for encoding and decoding using polar code in wireless communication system
JP2010504012A (ja) 無線通信システム、その無線通信システムの構成方法および受信機
US20230208555A1 (en) Permutated extension and shortened low density parity check codes for hybrid automatic repeat request
JP7030932B2 (ja) Ldpc符号の符号化および復号化のための方法およびシステム
AU2018288953A1 (en) Method and apparatus for channel encoding and decoding in communication or broadcasting system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190912

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210420

R150 Certificate of patent or registration of utility model

Ref document number: 6873262

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250