JP7383134B2 - データ処理方法及びデコーダ - Google Patents

データ処理方法及びデコーダ Download PDF

Info

Publication number
JP7383134B2
JP7383134B2 JP2022519654A JP2022519654A JP7383134B2 JP 7383134 B2 JP7383134 B2 JP 7383134B2 JP 2022519654 A JP2022519654 A JP 2022519654A JP 2022519654 A JP2022519654 A JP 2022519654A JP 7383134 B2 JP7383134 B2 JP 7383134B2
Authority
JP
Japan
Prior art keywords
matrix
check
layer
equal
nodes
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.)
Active
Application number
JP2022519654A
Other languages
English (en)
Other versions
JP2022550768A (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 JP2022550768A publication Critical patent/JP2022550768A/ja
Application granted granted Critical
Publication of JP7383134B2 publication Critical patent/JP7383134B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • 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
    • H03M13/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal 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/1105Decoding
    • 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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/112Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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/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/1105Decoding
    • H03M13/1145Pipelined decoding at code word level, e.g. multiple code words being decoded simultaneously
    • 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/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Description

本出願は、通信分野に関し、特に、データ処理方法及びデコーダに関する。
本出願は、2019年9月30日に中国国家知的財産管理局に出願され、「データ処理方法及びデコーダ」と題された中国特許出願第201910945369.2号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
準巡回低密度パリティチェック(quasi-cyclic Low-density Parity-check、QC-LDPC)は、一般的なタイプのLDPC符号であり、柔軟な構造の特徴を有し、チェック符号として使用してよく、通常はチェック行列として表される。具体的には、伝送端は、予め設定されたチェック行列を使用することによって、送信される必要のある情報シーケンスを符号化して、符号語シーケンスを生成し、符号語シーケンスを受信端に送信してもよい。符号語シーケンス符号を受信した後、受信端は、同じチェック行列を使用して情報シーケンスを取得することによって、符号語シーケンスを復号し得る。
一般的に使用される復号アルゴリズムは、階層化された復号アルゴリズム(layered decoding algorithm、LDA)を含む。LDAの実装中、チェックベース行列は、ベース行列の行に基づいていくつかの層に垂直に分割され、復号化の際に層ごとに使用され、符号語シーケンスを更新する。層が使用されるたびに、取得された新しいシーケンスが入力値として使用され、チェック行列の最後の層が使用されるまで、チェック行列の次の層を使用して新しいシーケンスが更新される。取得された最新のシーケンスが情報シーケンスとして使用される。
チェック行列は次数m×nの行列であり、チェック行列のベース行列の拡張係数(extension factor)はZであり、ベース行列は次数mb×nbの行列であり、mb=m/Z、nb=n/Zであるとみなす。現在、ハードウェア連携の観点から、LDAは主に行レベルの並列解法(row-level parallel solution)を用いて実装される。行レベルの並列解法では、nb変数ノード及びZチェックノードを配置し、チェック行列の各層に行を使用して符号語シーケンスを計算する必要がある。チェック行列が比較的大きい場合、比較的多くのハードウェアリソースが必要であり、コストが比較的高い。
本出願の実施形態は、符号語シーケンスを復号するためのデータ処理方法及びデコーダを提供する。
第1の態様によれば、本出願は、データ処理方法を提供する。方法は、階層化された正規化最小和に基づく復号アルゴリズムを使用し、桁数がnである符号語シーケンスを受信することであって、nは整数である、ことと、次数m×nのチェック行列を決定することであって、チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れることと、ベース行列に基づいてL個の変数ノードを設定することであって、Lは、ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数以上であり、ベース行列内の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す、ことと、チェックノードの各層における有効な部分行列をL個の変数ノードに別々にマッピングすることであって、異なる有効な部分行列は、異なる変数ノードにマッピングされ、有効な部分行列は、ベース行列内の-1に等しくない値によって表される部分行列であり、チェックノードの層は、ベース行列の行によって表される部分行列である、ことと、L個のマッピングされた変数ノードの各々に、チェック行列の各層における各有効な部分行列に対応するデータを送信することと、受信したデータを使用することによって、L個の変数ノードによる階層化された正規化最小和復号化アルゴリズムの対応する演算ステップを実行することと、を含む。
いくつかの実現可能な実施形態では、Lは、ベース行列内の-1に等しくない値の最大数を有する行内の-1に等しくない値の数に等しい。
したがって、階層化された正規化最小和復号アルゴリズムは、比較的少数のL個の変数ノードを使用することによって実行されてもよく、比較的少ないハードウェアリソースが必要とされ、それによって効果的にコストを削減する。
いくつかの実現可能な実施形態では、次数m×nのチェック行列を決定することは、n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbのベース行列を決定することと、ベース行列を拡張して、次数m×nのチェック行列を得ることとを含む。したがって、チェック行列は、要件に基づいて決定され得る。
いくつかの実現可能な実施形態では、方法は、
P個のチェックノードを設定することであって、PはZ未満の正の整数であり、チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含むことと、P個のチェックノードに対応するように、チェック行列の各層の各サブ層の行を別々に作成することであって、異なる行が異なるチェックノードに対応する、ことと、P個のチェックノードを使用してデータを受信することと、各サブ層の対応する行を使用することによって、階層化された正規化最小和復号アルゴリズムの対応する演算ステップをデータに対して実行することと、を含む。したがって、比較的少ないチェックノードが配置され得、比較的少ないハードウェアリソースが必要とされ得、それによってコストを効果的に削減する。
いくつかの実現可能な実施形態では、P個のチェックノードを設定することの後に、方法は、
オフセット値を決定し、オフセット値に基づいて、チェック行列の層のサブ層を使用するシーケンスを調整することをさらに含む。したがって、適切なオフセット値が見つかり、行列に対して変換を実行し得、デコーダのスループットレートに対する読み取りと書き込みとの間の競合の影響は、変換された行列を使用することによって特定の程度緩和され得る。
第2の態様によれば、本出願は、デコーダを提供する。デコーダは、階層化された正規化最小和に基づく復号アルゴリズムを使用し、桁数がnである符号語シーケンスを受信するように構成されたトランシーバモジュールであって、nは正の整数であるトランシーバモジュールと、次数m×nのチェック行列を決定するように構成された処理モジュールであって、チェック行列のベース行列は、次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる、処理モジュールと、を備え、処理モジュールは、ベース行列に基づいてL個の変数ノードを設定するようにさらに構成され、Lは、ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくい値の数以上であり、ベース行列内の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表し、処理モジュールは、チェックノードの各層における有効な部分行列をL個の変数ノードに別々にマッピングするようにさらに構成され、異なる有効な部分行列は、異なる変数ノードにマッピングされ、有効な部分行列は、ベース行列内の-1に等しくない値によって表される部分行列であり、チェックノードの層は、ベース行列の行によって表される部分行列であり、処理モジュールは、チェック行列の各層内の各有効な部分行列に対応するデータを、L個のマッピングされた変数ノードの各々に送信するようにさらに構成され、L個の変数ノードは、受信したデータを使用して、階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行するように構成される。
いくつかの実現可能な実施形態では、処理モジュールは、n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbのベース行列を決定し、ベース行列を拡張して、次数m×nのチェック行列を得るように特に構成される。
いくつかの実現可能な実施形態では、処理モジュールは、P個のチェックノードを設定し、PはZ未満の正の整数であり、チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含む、ようにさらに構成され、デコーダは、P個のチェックノードをさらに含み、P個のチェックノードに対応するように、チェック行列の各層の各サブ層内の行を別々に作成し、異なる行が異なるチェックノードに対応し、データを受信し、各サブ層内の対応する行を使用して、階層化された正規化最小和復号アルゴリズムの対応する演算ステップをデータに対して実行するように構成される。
いくつかの実現可能な実施形態では、処理モジュールは、オフセット値を決定し、オフセット値に基づいて、チェック行列の層のサブ層を使用するシーケンスを調整するようにさらに構成される。
第3の態様によれば、本出願は、コンピュータプログラム製品を提供する。コンピュータ製品が実行されると、コンピュータプログラム製品は、請求項1~5のいずれか一項に記載の方法を実行するために使用される。
第4の態様によれば、本出願は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を記憶し、命令は、請求項1~5のいずれか一項に記載の方法を実行するために使用される。
上記の技術的解決策によれば、本出願の実施形態は、以下の利点を有することを学ぶことができる。
桁数がnである符号語シーケンスを受信すると、次数m×nのチェック行列が決定され得る。チェック行列のベース行列は、次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる。そして、L個の変数ノードがベース行列に基づいて設定され、Lは、ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数以上であり、ベース行列内の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す。したがって、階層化された正規化最小和復号アルゴリズムは、比較的少数のL個の変数ノードを使用することによって実行されてもよく、比較的少ないハードウェアリソースが必要とされ、それによって効果的にコストを削減する。
本出願におけるコンピュータデバイスの概略図である。 変数ノードとチェックノードとの間の相互作用のプロセスの概略図である。 変数ノード及びチェックノードを含む構造の概略図である。 本出願によるデータ処理方法の概略図である。 ラプターライク構造における予め設定された行列の概略図である。 予め設定された行列におけるコア行列及び拡張行列の概略図である。 コア行列の概略図である。 チェック行列を取得する方法の概略図である。 読み取りと書き込みとの間の衝突の概略図である。 チェック行列の1つの層を3つのサブ層行列に分割する概略図である。 本出願によるデコーダの概略図である。
本出願の実施形態は、符号語シーケンスを復号するためのデータ処理方法及びデコーダを提供する。
本出願では、本明細書、特許請求の範囲、及び添付の図面における「第1の」、「第2の」、「第3の」、及び「第4の」(存在する場合)などの用語は、類似の対象物を区別することを意図しているが、必ずしも特定の順序または配列を示すものではない。このような方法で使用されるデータは、本明細書に説明される実施形態が、本明細書に例示または説明される順序以外の順序で実装することができるように、適切な場合に交換可能であることを理解されたい。さらに、用語「含む(include)」、「含む(contain)」、及び任意の他の変形は、非排他的包含、例えば、ステップまたはユニットのリストを含むが、それらのステップまたはユニットに必ずしも限定されないプロセス、方法、システム、製品、またはデバイスをカバーすることを意味し、そのようなプロセス、方法、製品、またはデバイスに明示的に列挙されていない、または固有の他のステップまたはユニットを含み得る。
QC-LDPC符号は、一般的なタイプのLDPC符号であり、QC-LDPC符号のチェック行列Hは、次数Z×Zの一連の要素部分行列を含み、Zは、要素部分行列の拡張係数または次元と称される。各要素部分行列は、ゼロ行列または単位行列の巡回右シフトである。したがって、要素部分行列は、値で表されてもよい。例えば、ゼロ行列は-1として表され、単位行列は0として表され、単位行列の巡回右シフトは、単位行列の右シフトのオフセットとして表される。
チェック行列はまた、比較的少数の行および列を有する行列によって表されてもよく、この行列はベース行列と呼ばれる。したがって、次数m×nのチェック行列に対応するベース行列は、次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しいことがわかり得る。Zはmおよびnによって割り切れることが明らかである。
以下のチェック行列は、説明の例として使用される。チェック行列は、であると仮定する。
拡張係数が2に等しいと仮定すると、チェック行列のベース行列が得られ得る。
このようにして、格納負担を軽減することができる。
別の例では、比較的大きなデータ量を有するチェック行列は、ベース行列の拡張係数が256に等しい次数4×11の以下のベース行列として表されてよい。
ベース行列の各値は、次数256×256の行列に拡張され得る。したがって、チェック行列を格納することなく、ベース行列のみを格納してもよい。使用する場合、行列をチェック行列に拡張してもよく、格納負担を軽減し、非常に便利である。
符号語シーケンスを受信した後、受信端は、チェック行列及び予め設定された復号アルゴリズムを使用して符号語シーケンスを復号し、情報シーケンスを取得し得る。一般的な復号アルゴリズムは、階層化された正規化最小和に基づいた復号アルゴリズムを含む。階層化された正規化最小和に基づく復号アルゴリズムは、ハードウェアの複雑さを効果的に低減し、復号反復の数を大幅に低減することができ、したがって、デコーダ設計において広く使用されている。
階層化された正規化最小和に基づく復号アルゴリズムが実装されるとき、チェック行列は、最初にいくつかの層に垂直に分割される。例えば、チェック行列の一部であり、ベース行列の行によって表される部分行列は、チェック行列の層として使用される。具体的には、チェック行列は次数m×nの行列であり、チェック行列のベース行列は次数mb×nbの行列であり、拡張係数はZ、すなわちmb=m/Z、nb=n/Zであり、Zはmとnの両方で割り切れるものとする。これは、チェック行列をmb層に分割することに相当し、各層は次数Z×nbの行列である。上述した、次数4×11のベース行列によって表されるチェック行列は、4層に分割されてもよく、各層は次数256×11の行列である。
復号を行う場合、mbラウンドの復号が別々に行われ、チェック行列の対応する層が各ラウンドで使用される。まず、第1のラウンドでは、チェック行列の上から下にカウントされた第1の層を使用して符号語シーケンスを処理し、新しいシーケンスを取得する。次に、チェック行列の第2の層を使用して、新しいシーケンスを処理する。類似して、チェック行列の最後の層が使用されるまで符号語シーケンスが反復され、最後に取得されたシーケンスが情報シーケンスとして使用される。
具体的には、チェック行列のj番目の層(jの値が0、1、...、mb-1であるベース行列のj番目の行で表され得る)について、符号語シーケンスは、次の3つの式を使用して復号される。
前述の式において、njは、左から右へのベース行列の列のシーケンス番号を表し、0、1、...、nbの値を有する。また、N(j)はベース行列のj番目の行に-1に等しくない値が全て配置された列のセットを表し、次数4×11のベース行列で表されるチェック行列について、N(j)は0,2,3,4,5,6,及び7を含み、kはチェック行列の層の行のシーケンス番号を表し、0,1,...,Z-1の値を持ち、λは入力符号語シーケンス、すなわち受信した符号語シーケンスまたは前の層の反復の後に取得した符号語シーケンスを表し、次数m×nのチェック行列について、λは、n値を有してもよく、rは、次の層の入力値として使用される符号語シーケンスと共に更新及び反復されるために使用される巡回変数を表し、またn値を有し、rの初期値は、0に設定されてもよく、qは、中間変数を表し、演算(前述の3つの式における演算)でλを更新及び反復するために使用され、αは、補正係数を表し、通常、約0.8の値を有し、
は、N(j)のnj以外の値のセットを表し、符号()は、記号関数を表し、具体的には、記号関数のパラメータが0より大きい場合、値は1であり、パラメータが0より小さい場合、値は-1であり、またはパラメータが0に等しい場合、値は0であり、
は累積積関数を表し、min()は最小関数を表す。
上記3つの式により、チェック行列を用いて符号語シーケンスが反復され、最後に情報シーケンスを取得する。具体的には、符号語シーケンスがまず、チェック行列の第1の層を使用して演算され、
および
を取得する。次に、チェック行列のすべての層が使用されるまで、チェック行列の次の層を使用し続けることによって演算され続けるための入力値として、
および、
を使用する。最終的に得られた新しい符号語シーケンスが、情報シーケンスとして使用される。
本出願のこの実施形態では、ハードウェアに関して、符号語シーケンスは、チェック行列を使用して、変数ノード及びチェックノードによって演算される必要がある。変数ノードは、式(1)を実行し、その後、取得した結果をチェックノードに配信するように構成され、チェックノードが式(2)を実行し、その後、取得した結果を変数ノードに返す。変数ノードは、式(3)を実行して、λに関連する1回の反復を完了する。
より良い説明のために、本出願におけるアーキテクチャを以下に簡単に説明する。
前述の動作プロセスと協働するために、図1-1を参照して、コンピュータデバイス100を本出願で使用する必要がある。コンピュータデバイス100は、メモリ110及び処理モジュール120を含む。処理モジュール120は、チェック行列を使用して、符号語シーケンスを演算するように構成される。複数の変数ノード及び複数のチェックノードが、処理モジュール120に配置される。変数ノードは、符号語シーケンスを受信するように構成され、チェックノードは、チェック行列を格納し、変数ノードに提供するように構成される。
図1-2に示すように、変数ノードは、λnj[k](その初期値は符号語シーケンスである)を受信し、チェックノードによって送信されたrj,nj[k](その初期値は全て0であってもよい)を受信し、計算を通じてqj,nj[k]を取得するために式(1)を実行し、チェックノードにqj,nj[k]を送信するように構成される。変数ノードによって送信されたqを受信した後、チェックノードは、式(2)を実行し計算を通じてnew_rj,nj[k]を取得し、新しいnew_rj,nj[k]を変数ノードに送信し、次の層での計算に使用するrとしてnew_rを使用する。最後に、変数ノードは、式(3)を実行し、計算を通じて次の層での計算に使用するλ、すなわちλj+1,nj[k]として使用するnew_λj,nj[k]を取得する。
効率を向上させ、ノードの無駄を減らすために、適切な数の変数ノードとチェックノードと適切な相互作用方法を決定する必要がある。現在、行レベルの並列解法は、主に変数ノードの配置やノードのチェックに使用される。
行レベルの並列解法では、nb変数ノードとZチェックノードが配置され、nb変数ノードはベース行列のnb列と1対1の対応関係にあり、nb変数ノードは同時に式(1)を実行し、計算結果を同じチェックノードに送信する。Zチェックノードは、チェック行列の各層の行と1対1の対応関係にある。チェックノードは式(2)を実行し、得られた結果を変数ノードに送信する。変数ノードは、式(3)を実行し、次の層で必要とされるλおよびrを得る。QC-LDPCの直交特徴により、図1-3に示すZ構造を同時に処理することができる。
チェック行列の層については、ベース行列の列が直交しているため、nb個の変数ノードが同時に演算を行う。チェック行列の同じ層内の行も直交するため、行は、行による同じ符号語シーケンスの演算を実行するために同時に使用することができ、効率を向上させるために、Zチェックノードを同時に実行および使用することができる。
行レベルの並列解法は、計算効率を提供し得る。しかしながら、nbが比較的大きい場合、またはZが比較的大きい場合、比較的多くのハードウェアリソース(変数ノードまたはチェックノード)が必要であり、比較的高コストとなる。特に、現在の5G技術では、QC-LDPC符号のベース行列の最大使用拡張係数Zは384であってよく、最大nbは68であってよい。したがって、行レベルの並列解法に基づいて直接実装することは困難である。加えて、QC-LDPC符号のベース行列は、通常、スパース性(sparsity)の特徴を有する。多くの場合、行内の有効なノードの数は、nbノードの総数よりもはるかに少ない。そのため、ノードリソースは、行レベルの並列解法では無駄になる。
したがって、本出願は、データ処理方法及びシステムを提供する。桁数がnである符号語シーケンスを受信すると、次数m×nのチェック行列を決定してもよい。チェック行列のベース行列は、次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる。そして、L個の変数ノードはベース行列に基づいて設定され、Lは、ベース行列内の-1に等しくない値の最大数を有する行内の-1に等しくない値の数以上であり、ベース行列内の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す。したがって、階層化された正規化最小和復号アルゴリズムは、比較的少数のL個の変数ノードを使用して実行されてもよく、比較的少ないハードウェアリソースが必要とされ、それによって効果的にコストを削減する。
具体的には、図2-1を参照されたい。本出願の一実施形態は、以下のステップを含むデータ処理方法を提供する。
201.桁数がnの符号語シーケンスを受信し、nは正の整数である。
通信プロセスでは、伝送端は、チェック行列に基づいて情報シーケンスに対してチャネル符号化を実行して、符号語シーケンスを取得する。受信端は、符号語シーケンスを取得し、チャネルを通じて取得された対応する符号語シーケンスを送信し、予め設定された復号アルゴリズムを使用してチェック行列またはベース行列に基づいて符号語シーケンスに対してチャネル復号を実行して、符号語シーケンスに含まれる情報シーケンスを取得し得る。
例えば、nは8に等しく、符号語シーケンスは8桁を有し、これらはそれぞれ、次のようにλによって表される。
λ0=3,λ1=2,λ2=-5,λ3=-7,λ4=4,λ5=1,λ6=-9,およびλ7=10
202.次数m×nのチェック行列を決定し、チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる。
本出願のこの実施形態では、まず、n、Z、及びラプターライク(raptor-like)構造を有する予め設定された行列に基づいて、次数mb×nbのベース行列を決定し、次いで、ベース行列を拡張して、次数m×nのチェック行列を取得してもよい。
ラプターライク構造のチェック行列は、コア行列及び拡張行列の2つの部分を含むことに留意されたい。コア行列は、802.11nにおける二重対角形式と同様の形式であってもよく、高ビットレートをサポートする。拡張行列は、単一列再チェック(single-column recheck)の形式であり、低ビットレートをサポートする。ベース行列の行の異なる数mbを選択して使用することにより、異なるビットレートを柔軟に取得することができる。
例えば、図2-2は、ラプターライク構造における予め設定された行列の概略図である。予め設定された行列は過度に大きなデータ量を有するため、予め設定された行列は、図2-2ではスラッシュに置き換えられる。スラッシュが通過する部分は、チェック行列内で1を表し、残りの部分は0を表す。次数Z×Zの各部分行列は、ゼロ行列のオフセット、単位行列、または単位行列を表し、部分行列が単位行列または単位部分行列のオフセットであることを示す。
図2-3に示すように、左上隅のブラックボックス内の部分はコア行列(図2-4に示すように)であり、残りの部分は拡張行列である。
伝送端と受信端のそれぞれには、ラプターライク構造の予め設定された行列が予め設定されている。伝送端は、送信する必要のある情報シーケンスに基づいて、予め設定された行列から必要なベース行列を決定する。これは、「予め設定された行列からブロックをカットすること」(図2-5に示すように)と同様である。次いで、ベース行列によって表されるチェック行列を使用して符号語シーケンスを符号化し、符号語シーケンスを取得し、符号語シーケンスを受信端に送信する。桁数がnの符号語シーケンスを受信した後、受信端は、予め設定されたZに基づいてnb(nb=n/Z)を決定し、次いで、nb及び予め設定された行列に基づいてmbを決定し、すなわち、予め設定された行列から次数mb×nbのベース行列を「カット(cutting)」し、最後に、ベース行列によって表されるチェック行列を決定する。次いで、受信端は、Zに基づいてベース行列を拡張し、チェック行列を取得する。
203.ベース行列に基づいてL個の変数ノードを設定し、Lは、ベース行列内の-1に等しくない値の最大数を有する行内の-1に等しくない値の数以上であり、ベース行列の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す。
ベース行列には、-1、0、および0より大きい整数の3つの値があってもよく、-1はチェック行列内の次数Z×Zのゼロ行列を表し、0はチェック行列内の次数Z×Zの単位行列を表し、0より大きい整数は次数Z×Zの単位行列のオフセットを表す。したがって、ベース行列内の-1でない値は、0または0より大きい整数を表す。
例えば、Zは6に等しく、次数Z×Zの要素部分行列は次数6×6の行列である。この場合、-1はゼロ行列を表し、
0は単位行列を表し、
1は、単位行列が1ビット右にシフトされていることを示し、
2は、単位行列が2ビット右にシフトされることを示す、
などである。
ベース行列は、mb行を有し、各行の行重みは、行内の-1に等しくない値の数であり、ベース行列の行内の-1に等しくない値の最大数を有する行内の-1に等しくない値の数は、ベース行列の最大行重みである。例えば、次のベース行列について、ゼロ番目の行の行重みは3であり、第1行の行重みは2である。この場合、-1に等しくない値の最大数を有する行は、ゼロ番目の行である。行の行重みは3であり、したがって、ベース行列の最大行重みは3である。
本出願のこの実施形態では、L個の変数ノードは、ベース行列の最大行重みに基づいて配置されてもよく、Lは、ベース行列の最大行重み以上である。任意選択で、Lは、ベース行列の最大行重みに等しいように設定されてもよい。
203.チェックノードの各層における有効な部分行列をL個の変数ノードに別々にマッピングし、異なる有効な部分行列が異なる変数ノードに対応する。
チェックノードの層は、ベース行列の行によって表される部分行列であることに留意されたい。
例えば、次のチェック行列について、
チェック行列のベース行列の拡張係数は2であり、すなわちベース行列は、
である。
この場合、ベース行列のゼロ番目の行は、チェック行列のゼロ番目の行層(row layer)の部分行列を表し、すなわち、
である。
ベース行列のゼロ番目の行は、チェック行列のゼロ番目の行層の部分行列を表し、すなわち、
である。
さらに、有効な部分行列は、ベース行列内の-1に等しくない値によって表される部分行列である。前述のベース行列の有効な部分行列は、チェック行列の部分行列であり、0と1によって表され、チェック行列のゼロ番目の層の有効なノードはそれぞれ次のとおりである。
チェック行列の最初の層内の有効なノードは、それぞれ次のとおりである。
チェック行列の最大行重みは3であるため、変数ノード0、変数ノード1、及び変数ノード2を得るために、Lは3に等しいように設定され得る。したがって、チェックノードの各層における有効な部分行列は、以下を得るためにL個の変数ノードにマッピングされ、異なる有効な部分行列は、異なる変数ノードに対応する。
チェックノードの各層における有効な部分行列は、L個の変数ノードにマッピングされ、以下を取得し、異なる有効な部分行列は、異なる変数ノードに対応する。
204.L個のマッピングされた変数ノードの各々に、チェック行列の各層における有効な部分行列の各々に対応するデータを送信する。
205.受信したデータを使用することによって、L個の変数ノードによる階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行する。
本出願のこの実施形態は、階層化された正規化最小和復号アルゴリズムによって実装されることに留意されたい。具体的には、チェック行列のj番目の層(jの値が0、1、...、mb-1であるベース行列のj番目の行で表され得る)について、符号語シーケンスは、次の3つの式を使用して復号される。
前述の式において、njは、左から右へのベース行列の列のシーケンス番号を表し、0、1、...、nbの値を有する。また、N(j)はベース行列のj番目の行において-1に等しくない全ての値が配置された列のセットを表し、次数4×11のベース行列によって表されるチェック行列について、N(j)は0,2,3,4,5,6,及び7を含み、kはチェック行列の層内の行のシーケンス番号を表し、0,1,...,Z-1の値を有し、λは入力符号語シーケンス、すなわち受信した符号語シーケンスまたは前の層の反復の後に取得した符号語シーケンスを表し、次数m×nのチェック行列について、λは、n個の値を有してもよく、rは、次の層の入力値として使用される符号語シーケンスと共に更新及び反復されるために使用される巡回変数を表し、またn個の値を有し、rの初期値は、0に設定されてもよく、qは、中間変数を表し、演算(前述の3つの式における演算)でλを更新及び反復するために使用され、αは、補正係数(correction factor)を表し、通常、約0.8の値を有し、
は、N(j)のnj以外の値のセットを表し、符号()(sign())は、記号関数(symbol function)を表し、具体的には、記号関数のパラメータが0より大きい場合、値は1であり、パラメータが0より小さい場合、値は-1であり、またはパラメータが0に等しい場合、値は0であり、
は、累積積関数を表し、min()は最小関数を表す。
上記3つの式を通じて、チェック行列を使用して符号語シーケンスが反復され、最後に情報シーケンスを取得する。具体的には、まずチェック行列の第1層を使用して符号語シーケンスを演算して
及び
を取得し、次に、行列の全ての層を使用するまで、チェック行列の次の層を使用し続けることによって演算され続けるための入力値として
及び
を使用し、最終的に取得した新しい符号語シーケンスを情報シーケンスとして使用する。
本出願のこの実施形態では、ハードウェアに関して、符号語シーケンスは、チェック行列を使用して、変数ノード及びチェックノードによって演算される必要がある。変数ノードは、式(1)を実行し、その後、取得した結果をチェックノードに配信するように構成され、チェックノードが式(2)を実行し、その後、取得した結果を変数ノードに返す。変数ノードは、式(3)を実行して、λに関連する1回の反復を完了する。
本出願のこの実施形態では、チェックノードの各層における有効な部分行列のL個の変数ノードへのマッピングが決定されるため、符号語シーケンスの計算を完了するために、nb変数ノードを配置する必要はなく、L個の変数ノードのみを配置する必要がある。
以下は、説明のための例を使用する。
λの値の数は8であり、すなわち8桁の符号語シーケンスを受信するものとし、λ0=3、λ1=2、λ2=-5、λ3=-7、λ4=4、λ5=1、λ6=-9、λ7=10とする。
チェック行列は、
であると仮定する。
チェック行列の拡張係数が2であるベース行列は、
である。
チェック行列の第1層(チェック行列は合計で2つの層を含み、各層は2つの行を含む)を使用して符号語シーケンスに対する演算処理を行い、入力値は、受信した符号語シーケンスである。λnj[k]はチェック行列のk番目の行であり、ベース行列のnj番目の行によって表されることを学ぶことができる。具体的には、j=0のとき、njの値はそれぞれ0、2、及び3、すなわち、処理が必要な符号語シーケンスは、λ0[0]=λ0、λ2[0]=λ5、λ3[0]=λ6、λ0[1]=λ1、λ2[1]=λ4、λ3[1]=λ7等である。λnj[k]に対して演算処理を行った後、新しいシーケンスを得る。新しいシーケンスは、次の層の入力値として使用され、すなわち、j=1のときに同様の演算が実行される。
本出願のこの実施形態では、4つの変数ノードを配置する必要はない。ベース行列の最大行重み(すなわち、3)は決定され続け、次いで、最大行重み以上の数の変数ノードのみを配置する必要がある、すなわち、3つの変数ノード(それぞれ変数ノード0、変数ノード1、変数ノード2である)を配置することができると決定される。次いで、チェック行列の有効ノードの各々から各変数ノードへのマッピングが確立され、例えば、チェックノードのゼロ番目では、マッピングは次のとおりである。
チェックノードの第1の層では、マッピングは次のとおりである。
変数ノードは、式(1)及び式(3)を演算するために使用され、チェックノードは、式(2)を演算するために使用される。
まず、λ0=3,λ1=2,λ2=-5,λ3=-7,λ4=4,λ5=1,λ6=-9,およびλ7=10について、rの初期値は0、すなわちrj,nj[0]は0であるとする。この場合、計算される必要があるλがλ0、λ5、およびλ6であることを式(1)に従って決定し、次いで、λ0を変数ノード0に送信し、λ5を変数ノード1に送信し、λ6を変数ノード2に送信して、計算を通じて以下を取得してもよい。
次いで、q0,0、q0,2、q0,3をチェックノードに送信し、チェックノードは式(2)を実行する。
New_r0,0[0]、new_r0,2[0]、及びnew_r0,3[0]を取得した後、new_r0,0[0]、new_r0,2[0]、及びnew_r0,3[0]を変数ノードに送信し、変数ノードが式(3)を実行するようにする。
したがって、new_λ0,0[0],new_λ0,2[0],及びnew_λ0,3[0]が得られ、残りのλ1,λ2,λ3,λ4,及びλ7はいずれも変化しない。
同様に、前述の3つの式は、行k=1を使用して使用され続け、以下を得てもよい:
前述の演算の後、λ1,λ4,及びλ7も変化する。
チェック行列の1つの層は2つの行を有し、符号語シーケンスが2つの行によって演算された後、取得された新たなλは、
λ0=2,λ1=2,λ2=-5,λ3=-7,λ4=-2,λ5=-2,λ6=-8,及びλ7=-8である。
次いで、これらのシーケンスは、入力値として次の層に配信される。4つの変数ノードは、これらのシーケンスを同じ方式で処理し、取得された最新のシーケンスを情報シーケンスとして使用する。
チェック行列内の層j=1を使用して計算を実行した後、以下を得る。
同様に、前述の3つの式は、行k=1を使用して使用され続け、以下を得てもよい。
したがって、最後の情報シーケンスは(0,0,0,-7,0,-2,-6,-6)である。
上記の例では、Zチェックノードが必要であることに留意されたい。チェック行列の各層について、Zチェックノードを同時に実行して、実行効率を向上させる。いくつかの実現可能な実施形態では、P個のチェックノードが配置され、PはZ未満の正の整数であり、チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含む。階層化された正規化最小和復号アルゴリズムが実行されるとき、チェック行列の各層の各サブ層の行は、別々にP個のチェックノードに対応し、異なる行が異なるチェックノードに対応する。データを受信した後、P個のチェックノードは、各サブ層の対応する行を使用して、階層化された正規化最小和復号アルゴリズムの対応する演算ステップをデータに対して実行する。
例えば、チェック行列の層は8つの行を有し、すなわち、ベース行列の拡張係数Zは8に等しい。チェック行列の単位行列は、有効な部分行列のインスタンスとして使用される。
チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含む。P=3、すなわちceiling(Z/P)=3とすると、以下が得られる。
このように、前述のサブ層0、1、及び2の演算をそれぞれ実行及び使用するP個(すなわち3つ)のチェックノードのみを配置する必要がある。
階層化された復号アルゴリズムでは、各層の計算は、上位層の計算結果に依存することに留意されたい。計算ユニット(変数ノードまたはチェックノード)の処理は特定の遅延を有するため、(i-1)番目の層で処理した後に、読み取られる必要があり、i番目の層で処理されるデータがRAMに書き込まれない場合、読み取りと書き込みの間に競合が存在する。この場合、図2-6に示されるように、デコーダのスループットレートに影響を与える追加の待ち時間を導入する必要がある。
上位層における処理と下位層における処理との間の競合は、2つの層の準巡回行列シフト値(quasi-cyclic matrix shif tvalues)に関連する。QC-LDPC符号の準巡回特徴に基づいて、ベース行列の行のZチェックノードは直交しており、Zノードの処理はシーケンスを有さず、したがって、結果は同じである。ベース行列の行内の-1に等しくないすべての値に、同じオフセット値変換が追加され、チェックノードのシーケンスを調整することができる。
例えば、図2-7に示すように、分割を通じて得られた上記3つのサブ層行列の演算シーケンスを調整する。適切なオフセット値を見つけて、行列上で以下に示すシーケンス変換を実行する。変換された行列を使用すると、デコーダのスループットレートに対する読み取りと書き込みとの間の競合の影響を特定の程度軽減することができる。
図3を参照されたい。本出願は、デコーダ300を提供する。デコーダ300は、階層化された正規化最小和に基づいた復号アルゴリズムを使用し、トランシーバモジュール301、処理モジュール302、及びL個も変数ノード303を含む。
トランシーバモジュール301は、符号語シーケンスを受信するように構成され、桁数はnであり、nは正の整数である。
処理モジュール302は、次数m×nのチェック行列を決定するように構成され、チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zはベース行列の拡張係数であり、mとZは両方とも正の整数であり、Zはmとnの両方で割り切れる。
処理モジュール302は、ベース行列に基づいてL個の変数ノードを設定するようにさらに構成され、Lは、ベース行列内の-1に等しくない値の最大数を有する列の-1に等しくない値の数以上であり、ベース行列の-1に等しくない値は、チェック行列内の次数Z×Zの非ゼロ部分行列を表す。
処理モジュール302は、チェックノードの各層における有効な部分行列をL個の変数ノードに別々にマッピングするようにさらに構成され、異なる有効な部分行列は、異なる変数ノードにマッピングされ、有効な部分行列は、ベース行列内の-1に等しくない値によって表される部分行列であり、チェックノードの層は、ベース行列の行によって表される部分行列である。処理モジュールは、チェック行列の各層内の各有効な部分行列に対応するデータを、L個のマッピングされた変数ノードの各々に送信するようにさらに構成される。
L個の変数ノード303は、受信したデータを使用することによって、階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行するように構成される。
いくつかの実現可能な実施形態では、処理ユニット302は、
n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbのベース行列を決定し、
ベース行列を拡張して、次数m×nのチェック行列を得るように特に構成される。
いくつかの実現可能な実施形態では、処理ユニット302は、
P個のチェックノードを設定するようにさらに構成され、PはZ未満の正の整数であり、チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、チェック行列のP個の行を超えない行を含む。
デコーダは、P個のチェックノード304をさらに含み、これは、P個のチェックノードに対応するように、チェック行列の各層の各サブ層内の行を別々に作成し、異なる行が異なるチェックノードに対応し、データを受信し、各サブ層内の対応する行を使用することによって、階層化された正規化最小和復号アルゴリズムの対応する演算ステップをデータに対して実行するように構成される。
いくつかの実現可能な実施形態では、処理ユニット302は、
オフセット値を決定し、オフセット値に基づいて、チェック行列の層のサブ層を使用するシーケンスを調整するようにさらに構成される。
前述の実施形態のすべてまたはいくつかは、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用して実装し得る。ソフトウェアを使用して実施形態を実装する場合、実施形態は、コンピュータプログラム製品の形態で完全にまたは部分的に実装し得る。
コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上にロードされて実行されるとき、本発明の実施形態による手順または機能のすべてまたはいくつかが生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラム可能な装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶され得るか、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送され得る。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンタから、有線(例えば、同軸ケーブル、光ファイバー、またはデジタル加入者線(DSL))またはワイヤレス(例えば、赤外線、無線、またはマイクロ波)方式で別のウェブサイト、コンピュータ、サーバ、またはデータセンタに伝送され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、もしくは1つまたは複数の使用可能な媒体を統合するサーバまたはデータセンタなどのデータ記憶デバイスであり得る。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、または磁気テープ)、光学媒体(例えば、DVD)、半導体媒体(例えば、Solid State Disk(SSD))などであり得る。
便利かつ簡単な説明の目的で、前述のシステム、装置、およびユニットの詳細な作業プロセスについて、前述の方法の実施形態における対応するプロセスを参照することは、当業者によって明確に理解され得る。詳細については、ここでは再度説明しない。
本出願において提供されるいくつかの実施形態では、開示されたシステム、装置、及び方法は、他の方法で実装され得ることを理解されたい。例えば、説明した装置の実施形態は単なる例にすぎない。たとえば、ユニット分割は単なる論理的機能の分割であり、実際の実装では他の分割である場合がある。例えば、複数のユニットまたはコンポーネントを組み合わせたり、別のシステムに統合したり、またはいくつかの機能を無視したり、実行しなかったりし得る。さらに、表示または説明された相互結合または直接結合または通信接続は、いくつかのインターフェースを介して実装し得る。装置またはユニット間の間接的な結合または通信接続は、電子的、機械的、または他の形態で実装し得る。
別個の部分として説明されたユニットは、物理的に分離されていても、されていなくてもよく、ユニットとして表示された部分は、物理ユニットであってもそうでなくてもよく、1つの位置に配置されていても、複数のネットワークユニット上に分散されていてもよい。ユニットのいくつかまたはすべては、実施形態の解決策の目的を達成するための実際の要件に基づいて選択され得る。
さらに、本出願の実施形態における機能ユニットは、1つの処理ユニットに統合され得るか、またはユニットのそれぞれが物理的に単独で存在し得るか、または2つ以上のユニットが1つのユニットに統合される。統合されたユニットは、ハードウェアの形で実装されてもよく、ソフトウェア機能ユニットの形で実装されてもよい。
統合されたユニットがソフトウェア機能ユニットの形で実装され、独立した製品として販売または使用される場合、統合されたユニットは、コンピュータ可読記憶媒体に記憶され得る。そのような理解に基づいて、本出願の技術的解決策は基本的に、または先行技術に寄与する部分、または技術的解決策のすべてまたは一部は、ソフトウェア製品の形で実装され得る。コンピュータソフトウェア製品は、記憶媒体に格納され、コンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る)に、本出願の実施形態で説明された方法のステップのすべてまたはいくつかを実行するように指示するためのいくつかの命令を含む。記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク、または光ディスクなどの、プログラムコードを格納することができる任意の媒体を含む。
前述の実施形態は、本出願の技術的解決策を説明することを意図しているに過ぎず、本出願を限定することを意図していない。本出願は、前述の実施形態を参照して詳細に説明されるが、当業者は、本出願の実施形態の技術的解決策の範囲から逸脱することなく、前述の実施形態で説明された技術的解決策にさらに修正を加えてもよく、またはそのいくつかの技術的特徴に等価な置き換えを行ってもよいことを理解すべきである。

Claims (10)

  1. データ処理方法であって、前記方法は、階層化された正規化最小和に基づく復号アルゴリズムを使用し、
    桁数がnである符号語シーケンスを受信することであって、nは正の整数である、ことと、
    次数m×nのチェック行列を決定することであって、前記チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zは前記ベース行列の拡張係数であり、mとZは両方とも正の整数であり、mとnの両方で割り切れることと、
    前記ベース行列に基づいてL個の変数ノードを設定することであって、Lが前記ベース行列の最大行重みに等しく設定されるように、Lは、前記ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数に等しく、前記ベース行列内の-1に等しくない値は、前記チェック行列内の次数Z×Zの非ゼロ部分行列を表す、ことと、
    ェックノードの各層における有効な部分行列を前記L個の変数ノードに別々にマッピングすることであって、異なる有効な部分行列は、異なる変数ノードにマッピングされ、前記有効な部分行列は、前記ベース行列内の-1に等しくない値によって表される部分行列であり、前記チェックノードの層は、前記ベース行列の行によって表される部分行列である、ことと、
    前記L個のマッピングされた変数ノードの各々に、前記チェック行列の各層における各有効な部分行列に対応するデータを送信することと、
    前記受信したデータを使用することによって、前記L個の変数ノードによる前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行することと
    を含む方法。
  2. 前記次数m×nのチェック行列を決定することは、
    n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbの前記ベース行列を決定することと、
    前記ベース行列を拡張して、次数m×nの前記チェック行列を得ることと
    を含む、請求項1に記載の方法。
  3. P個のチェックノードを設定することであって、PはZ未満の正の整数であり、前記チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、前記チェック行列のP個の行を超えない行を含むことと、
    前記P個のチェックノードに対応するように、前記チェック行列の各層の各サブ層の行を別々に作成することであって、異なる行が異なるチェックノードに対応する、ことと、前記P個のチェックノードを使用してデータを受信することと、各サブ層の対応する行を使用することによって、前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを前記データに対して実行することとをさらに含む、請求項1または2に記載の方法。
  4. 前記P個のチェックノードを設定することの後に、
    オフセット値を決定し、前記オフセット値に基づいて、前記チェック行列の層のサブ層を使用するシーケンスを調整することをさらに含む、請求項に記載の方法。
  5. デコーダであって、前記デコーダは、階層化された正規化最小和に基づく復号アルゴリズムを使用し、
    桁数がnである符号語シーケンスを受信するように構成されたトランシーバモジュールであって、nは正の整数であるトランシーバモジュールと、
    次数m×nのチェック行列を決定するように構成された処理モジュールであって、前記チェック行列のベース行列は次数mb×nbの行列であり、mbはm/Zに等しく、nbはn/Zに等しく、Zは前記ベース行列の拡張係数であり、mとZは両方とも正の整数であり、mとnの両方で割り切れる、処理モジュールと、を備え、
    前記処理モジュールは、前記ベース行列に基づいてL個の変数ノードを設定するようにさらに構成され、Lが前記ベース行列の最大行重みに等しく設定されるように、Lは、前記ベース行列内の-1に等しくない値の最大数を有する行の-1に等しくない値の数に等しく、前記ベース行列内の-1に等しくない値は、前記チェック行列内の次数Z×Zの非ゼロ部分行列を表し、
    前記処理モジュールは、チェックノードの各層における有効な部分行列を、前記L個の変数ノードに別々にマッピングするようにさらに構成され、異なる有効な部分行列は、異なる変数ノードにマッピングされ、前記有効な部分行列は、前記ベース行列内の-1に等しくない値によって表される部分行列であり、前記チェックノードの層は、前記ベース行列の行によって表される部分行列であり、
    前記処理モジュールは、前記チェック行列の各層内の各有効な部分行列に対応するデータを、前記L個のマッピングされた変数ノードの各々に送信するようにさらに構成され、
    前記L個の変数ノードは、前記受信したデータを使用して、前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを実行するように構成された、デコーダ。
  6. 前記処理モジュールは、
    n、Z、及びラプターライク構造を有する予め設定された行列に基づいて、次数mb×nbの前記ベース行列を決定し、
    前記ベース行列を拡張して、次数m×nのチェック行列を得るように特に構成された、請求項に記載のデコーダ。
  7. 前記処理モジュールは、
    P個のチェックノードを設定し、PはZ未満の正の整数であり、前記チェック行列の各層は、ceiling(Z/P)個のサブ層に分割され、ceiling()は、切り上げ関数であり、各サブ層は、前記チェック行列のP個の行を超えない行を含む、ようにさらに構成され、
    前記P個のチェックノードは、前記P個のチェックノードに対応するように、前記チェック行列の各層の各サブ層内の行を別々に作成し、異なる行が異なるチェックノードに対応し、データを受信し、各サブ層内の対応する行を使用して、前記階層化された正規化最小和復号アルゴリズムの対応する演算ステップを前記データに対して実行するように構成された、請求項またはに記載のデコーダ。
  8. 前記処理モジュールは、
    オフセット値を決定し、前記オフセット値に基づいて、前記チェック行列の層のサブ層を使用するシーケンスを調整するようにさらに構成された、請求項に記載のデコーダ。
  9. 実行されると、請求項1からのいずれか1項に記載の方法を実行するように構成される、コンピュータプログラム。
  10. 命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、請求項1からのいずれか一項に記載の方法を実行するために使用される、コンピュータ可読記憶媒体。
JP2022519654A 2019-09-30 2020-07-24 データ処理方法及びデコーダ Active JP7383134B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910945369.2A CN112583420B (zh) 2019-09-30 2019-09-30 一种数据处理方法和译码器
CN201910945369.2 2019-09-30
PCT/CN2020/104335 WO2021063091A1 (zh) 2019-09-30 2020-07-24 一种数据处理方法和译码器

Publications (2)

Publication Number Publication Date
JP2022550768A JP2022550768A (ja) 2022-12-05
JP7383134B2 true JP7383134B2 (ja) 2023-11-17

Family

ID=75117051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022519654A Active JP7383134B2 (ja) 2019-09-30 2020-07-24 データ処理方法及びデコーダ

Country Status (6)

Country Link
US (1) US20220224357A1 (ja)
EP (1) EP4027525A4 (ja)
JP (1) JP7383134B2 (ja)
KR (1) KR20220062389A (ja)
CN (1) CN112583420B (ja)
WO (1) WO2021063091A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113328756B (zh) * 2021-04-26 2023-04-11 深圳市科思科技股份有限公司 用于提升分层qc-ldpc译码器硬件处理性能的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018082290A1 (en) 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Method and apparatus for encoding and decoding ldpc codes

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US20070245217A1 (en) * 2006-03-28 2007-10-18 Stmicroelectronics S.R.L. Low-density parity check decoding
US7644339B2 (en) * 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
TW201334425A (zh) * 2007-01-24 2013-08-16 Qualcomm Inc 可變大小之封包的低密度同位檢查編碼與解碼
CN101207386B (zh) * 2007-11-23 2010-05-19 中山大学 一种二进制低密度奇偶校验码的构造方法
CN101471673A (zh) * 2007-12-28 2009-07-01 三星电子株式会社 Ldpc码存储单元划分方法以及一种ldpc码存储器
US8433972B2 (en) * 2009-04-06 2013-04-30 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
CN103384153B (zh) * 2013-07-03 2016-05-18 清华大学 准循环ldpc码译码方法及系统
GB2510932B (en) * 2013-08-27 2015-01-21 Imagination Tech Ltd An improved decoder for low-density parity-check codes
US9548759B1 (en) * 2013-11-26 2017-01-17 Marvell International Ltd. Systems and methods for processing LDPC codes with different circulant sizes
CN105846830B (zh) * 2015-01-14 2019-07-30 北京航空航天大学 数据处理装置
KR20170083432A (ko) * 2016-01-08 2017-07-18 삼성전자주식회사 레이트 호환 가능 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 송신 및 수신하는 장치 및 방법
CN110024294B (zh) * 2016-11-21 2021-08-27 华为技术有限公司 空间耦合准循环ldpc码的生成
EP3373488B1 (en) * 2017-03-07 2020-05-06 Commissariat à l'Energie Atomique et aux Energies Alternatives Stopping criterion for decoding quasi-cyclic ldpc codes
WO2019001090A1 (zh) * 2017-06-27 2019-01-03 华为技术有限公司 信息处理的方法、装置和通信设备
US10484012B1 (en) * 2017-08-28 2019-11-19 Xilinx, Inc. Systems and methods for decoding quasi-cyclic (QC) low-density parity-check (LDPC) codes
CN108365849B (zh) * 2018-01-10 2021-03-09 东南大学 基于simd指令集的多码率多码长ldpc码解码方法
CN110289933B (zh) * 2018-03-19 2022-04-12 华为技术有限公司 通信方法、通信装置和系统
CN109309502B (zh) * 2018-08-03 2021-05-04 西安电子科技大学 5g nr标准的分层ldpc基矩阵处理译码方法
KR102631407B1 (ko) * 2018-10-24 2024-01-31 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
CN109586733B (zh) * 2018-11-23 2021-06-25 清华大学 一种基于图形处理器的ldpc-bch译码方法
CN109921802B (zh) * 2019-02-26 2023-02-07 北京中科晶上科技股份有限公司 一种qc-ldpc码的译码方法、模块及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018082290A1 (en) 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Method and apparatus for encoding and decoding ldpc codes

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Dale E. Hocevar,A Reduced Complexity Decoder Architecture via Layered Decoding of LDPC Codes,IEEE Workshop onSignal Processing Systems, 2004. SIPS 2004.,2004年10月,p.107~112,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1363033
Ericsson,Implementation and Performance of LDPC Decoder[online],3GPP TSG RAN WG1 adhoc_NR_AH_1701 R1-1700111,Internet<URL:http://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_AH/NR_AH_1701/Docs/R1-1700111.zip>,2017年01月10日
Lu Xin et al.,Analysis on QC-LDPC Decoding Algorithms for WLAN Systems,2010 International Conference on Intelligent Computation Technology and Automation,2010年05月,Vol. 1,p.694~697,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5522972
Qualcomm Incorporated,Design of multiple family LDPC codes[online],3GPP TSG RAN WG1 #88 R1-1702642,Internet<URL:http://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_88/Docs/R1-1702642.zip>,2017年02月07日
ZTE, ZTE Microelectronics,Complexity, throughput and latency analysis on LDPC codes for eMBB[online],3GPP TSG RAN WG1 adhoc_NR_AH_1701 R1-1700246,Internet<URL:http://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_AH/NR_AH_1701/Docs/R1-1700246.zip>,2017年01月10日

Also Published As

Publication number Publication date
US20220224357A1 (en) 2022-07-14
KR20220062389A (ko) 2022-05-16
CN112583420A (zh) 2021-03-30
WO2021063091A1 (zh) 2021-04-08
JP2022550768A (ja) 2022-12-05
EP4027525A1 (en) 2022-07-13
EP4027525A4 (en) 2022-11-16
CN112583420B (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
RU2370886C2 (ru) Способ и устройство для кодирования и декодирования данных
US7627801B2 (en) Methods and apparatus for encoding LDPC codes
CN102638274B (zh) 利用向量行分组的结构化ldpc设计操作发送器的设备及方法
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
CA2536259C (en) Methods and apparatus for encoding ldpc codes
CN107786211B (zh) 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器
WO2014003599A1 (en) Redundant disc encoding via erasure decoding
JP6990259B2 (ja) 疑似サイクリック低密度パリティチェックの設計方法および装置
JPWO2011136089A1 (ja) 符号化装置、誤り訂正符号構成方法およびそのプログラム
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
KR102019893B1 (ko) 저밀도 패리티 검사 부호를 지원하는 통신 시스템에서 신호 수신 장치 및 방법
JP2016536947A (ja) データブロックを再構築する方法及び装置
CN108270510A (zh) 基于ldpc码的通信方法和通信设备
JP7383134B2 (ja) データ処理方法及びデコーダ
CN111384970B (zh) 一种译码方法、装置及通信设备
CN100544212C (zh) 高速的减少存储需求的低密度校验码解码器
KR102250284B1 (ko) 시퀀스 결정을 위한 방법 및 장치, 디바이스 및 저장 매체
CN109298968A (zh) Qc-ldpc解码器、循环移位矩阵分割方法及存储设备
CN108234066A (zh) 基于ldpc的通信方法和通信设备
CN106209115B (zh) 一种数据处理方法及电子设备
JP5510447B2 (ja) 復号装置および復号方法
CN103190080A (zh) 解码装置及解码方法
CN110324048A (zh) 一种通信调制系统中ra-ldpc-cc的编码方法及编码器
CN117997355A (zh) Ldpc译码器的译码方法、装置、介质及ssd设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220426

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230713

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231107

R150 Certificate of patent or registration of utility model

Ref document number: 7383134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150