「Low-density parity-check code」を編集中

移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
147行目: 147行目:
 
実際問題として、アキュムレータを形成するハードウェアは、符号化プロセス中に再利用される。すなわち、パリティビットの第1セットが生成され、パリティビットが記憶されると、同じアキュムレータハードウェアが、パリティビットの次のセットを生成するために使用される。
 
実際問題として、アキュムレータを形成するハードウェアは、符号化プロセス中に再利用される。すなわち、パリティビットの第1セットが生成され、パリティビットが記憶されると、同じアキュムレータハードウェアが、パリティビットの次のセットを生成するために使用される。
  
==デコード==
+
==Decoding==
  
他の符号と同様に、[[2進対称チャネル]]上のLDPC符号の[最尤復号][[NP完全]]問題である。有用なサイズのNP完全コードに対して最適な復号を実行することは実用的ではない。
+
As with other codes, the [[maximum likelihood decoding]] of an LDPC code on the [[binary symmetric channel]] is an [[NP-complete]] problem. Performing optimal decoding for a NP-complete code of any useful size is not practical.
  
しかしながら、反復的な[信念伝搬]復号に基づく準最適技術は、優れた結果をもたらし、実際に実施することができる。準最適復号化技法は、LDPCを構成する各パリティ検査を独立した単一パリティ検査(SPC)符号として見る。各SPCコードは、[[Soft output Viterbi algorithm | SOVA]]、[[BCJR algorithm | BCJR]]などの[[Soft-in soft-out decoder | soft-in-soft-out]](SISO) ][最大事後推定| MAP]]、およびそれらの他の派生物。各SISO復号化からの軟判定情報は、同じ情報ビットの他の冗長なSPC復号化と相互チェックされ更新される。その後、各SPCコードは、更新された軟判定情報を用いて再び復号される。このプロセスは、有効なコードワードが達成されるか、または復号化が完了するまで反復される。この種の復号化は、しばしば和 - 積復号と呼ばれる。
+
However, sub-optimal techniques based on iterative [[belief propagation]] decoding give excellent results and can be practically implemented. The sub-optimal decoding techniques view each parity check that makes up the LDPC as an independent single parity check (SPC) code. Each SPC code is decoded separately using [[Soft-in soft-out decoder|soft-in-soft-out]] (SISO) techniques such as [[Soft output Viterbi algorithm|SOVA]], [[BCJR algorithm|BCJR]], [[Maximum a posteriori estimation|MAP]], and other derivates thereof. The soft decision information from each SISO decoding is cross-checked and updated with other redundant SPC decodings of the same information bit. Each SPC code is then decoded again using the updated soft decision information. This process is iterated until a valid code word is achieved or decoding is exhausted. This type of decoding is often referred to as sum-product decoding.
  
SPCコードの復号化は、しばしば「チェックノード」処理と呼ばれ、変数のクロスチェックは、しばしば「可変ノード」処理と呼ばれる。
+
The decoding of the SPC codes is often referred to as the "check node" processing, and the cross-checking of the variables is often referred to as the "variable-node" processing.
  
実用的なLDPC復号器の実装では、SPC符号の組が並列に復号されてスループットが向上する。
+
In a practical LDPC decoder implementation, sets of SPC codes are decoded in parallel to increase throughput.
  
対照的に、[[バイナリ消去チャネル]]に対する信念伝搬は​​、反復制約満足からなる場合に特に簡単です。
+
In contrast, belief propagation on the [[binary erasure channel]] is particularly simple where it consists of iterative constraint satisfaction.
  
例えば、上記の例の有効コードワード101011が2進消去チャネルを介して送信され、受信された第1および第4のビットが消去されて受信され、?⁠01?⁠11が得られると考える。送信されたメッセージはコード制約を満たさなければならないので、メッセージはファクタグラフの上部に受信メッセージを書き込むことによって表すことができる。
+
For example, consider that the valid codeword, 101011, from the example above, is transmitted across a binary erasure channel and received with the first and fourth bit erased to yield ?⁠01?⁠11. Since the transmitted message must have satisfied the code constraints, the message can be represented by writing the received message on the top of the factor graph.
  
この例では、最初のビットは、それに接続されているすべての制約が複数の未知ビットを持っているため、まだ回復できません。メッセージの復号化を進めるためには、消去されたビットの1つのみに接続する制約を識別しなければならない。この例では、第2の制約のみで十分である。第2の制約を調べると、その位置のゼロだけが制約を満たすため、第4のビットはゼロでなければならない。
+
In this example, the first bit cannot yet be recovered, because all of the constraints connected to it have more than one unknown bit. In order to proceed with decoding the message, constraints connecting to only one of the erased bits must be identified. In this example, only the second constraint suffices. Examining the second constraint, the fourth bit must have been zero, since only a zero in that position would satisfy the constraint.
  
その後、この手順が反復されます。第4ビットの新しい値は、以下に示すように第1ビットを回復するために第1制約と組み合わせて使用​​できるようになりました。これは、最初のビットが左端の制約を満たすビットでなければならないことを意味します。
+
This procedure is then iterated. The new value for the fourth bit can now be used in conjunction with the first constraint to recover the first bit as seen below. This means that the first bit must be a one to satisfy the leftmost constraint.
  
[[画像:ldpcコードフラグメントファクタグラフw消滅デコードステップ2.svg |なし]]
+
[[Image:ldpc code fragment factor graph w erasures decode step 2.svg|none]]
  
したがって、メッセージは反復的に復号されることができる。他のチャネルモデルでは、変数ノードとチェックノードの間で渡されるメッセージは[[実数]]であり、信念の確率と可能性を表しています。
+
Thus, the message can be decoded iteratively. For other channel models, the messages passed between the variable nodes and check nodes are [[real number]]s, which express probabilities and likelihoods of belief.
  
この結果は、訂正されたコードワード '' 'r' ''にパリティ検査行列 '' 'H' ''を掛けて検証することができる。
+
This result can be validated by multiplying the corrected codeword '''r''' by the parity-check matrix '''H''':
  
:<math> \ mathbf {z} = \ mathbf {Hr}
+
:&lt;math&gt;\mathbf{z} = \mathbf{Hr}
=
+
=  
\ begin {pmatrix}
+
\begin{pmatrix}
1&1&1&1 &&
+
1 & 1 & 1 & 1 & 0 & 0 \\
0&0&1&1&1&apos;&apos;&
+
0 & 0 & 1 & 1 & 0 & 1 \\
1&0&0&1&1 &&
+
1 & 0 & 0 & 1 & 1 & 0 \\
\ end {pmatrix}
+
\end{pmatrix}
  
\ begin {pmatrix}
+
\begin{pmatrix}
 
1 \\ 0 \\ 1 \\ 0 \\ 1 \\ 1 \\
 
1 \\ 0 \\ 1 \\ 0 \\ 1 \\ 1 \\
\ end {pmatrix}
+
\end{pmatrix}
  
 
=
 
=
\ begin {pmatrix}
+
\begin{pmatrix}
 
0 \\ 0 \\ 0 \\
 
0 \\ 0 \\ 0 \\
\ end {pmatrix}
+
\end{pmatrix}.
&lt; / math&gt;
+
&lt;/math&gt;
  
この操作の結果 '' 'z' ''[Decoding methods#Syndrome decoding | syndrome])は3回であるため、 1つのゼロベクトル、得られたコードワード '' 'r' ''は首尾よく検証される。
+
Because the outcome '''z''' (the [[Decoding methods#Syndrome decoding|syndrome]]) of this operation is the three &times; one zero vector, the resulting codeword '''r''' is successfully validated.
  
復号化が完了した後、元のメッセージビット「101」は、符号語の最初の3ビットを見ることによって抽出することができる。
+
After the decoding is completed, the original message bits '101' can be extracted by looking at the first 3 bits of the codeword.
  
例示的であるが、この消去例は、実質的にすべての商用LDPCデコーダにおいて使用される軟判定復号または軟判定メッセージ通過の使用を示していない。
+
While illustrative, this erasure example does not show the use of soft-decision decoding or soft-decision message passing, which is used in virtually all commercial LDPC decoders.
  
===ノード情報の更新===
+
=== Updating node information ===
近年、可変ノードおよび制約ノード更新のための代替スケジュールの影響を研究するために多大な労力が費やされています。 LDPC符号を復号するために使用された元の技術は、「フラッディング」として知られていました。このタイプの更新では、変数ノードを更新する前に、すべての制約ノードを更新する必要があり、その逆も必要でした。後のVila Casadoらの研究では、可変ノードが最新の利用可能なチェックノード情報で更新される代替的な更新技術が研究された。
+
In recent years, there has also been a great deal of work spent studying the effects of alternative schedules for variable-node and constraint-node update. The original technique that was used for decoding LDPC codes was known as ''flooding''. This type of update required that, before updating a variable node, all constraint nodes needed to be updated and vice versa. In later work by Vila Casado ''et al.'', alternative update techniques were studied, in which variable nodes are updated with the newest available check-node information.
  
これらのアルゴリズムの背後にある直感は、値が最も変化する可変ノードが最初に更新する必要があるノードであることです。 [対数尤度比](LLR)の大きさが大きく、ある更新から次の更新まで大きく変化しない高信頼性ノードは、符号および大きさがより広く変動する他のノードと同じ頻度で更新を必要としない。
+
The intuition behind these algorithms is that variable nodes whose values vary the most are the ones that need to be updated first. Highly reliable nodes, whose [[log-likelihood ratio]] (LLR) magnitude is large and does not change significantly from one update to the next, do not require updates with the same frequency as other nodes, whose sign and magnitude fluctuate more widely.
これらのスケジューリングアルゴリズムは、フラッディングを使用する場合よりも収束速度が速く、エラーフロアが低くなります。これらのより低いエラーフロアは、情報付き動的スケジューリング(IDS)能力によって達成され、
+
These scheduling algorithms show greater speed of convergence and lower error floors than those that use flooding. These lower error floors are achieved by the ability of the Informed Dynamic Scheduling (IDS)
  
非フロイドスケジューリングアルゴリズムが使用される場合、反復の代替定義が使用される。レート '' k '' / '' n ''のLDPC符号( '' n ''、&nbsp; '' k '')に対して、 '' n ''変数と ' 'n' '&nbsp;&nbsp;' 'k' '制約ノードは更新された順序に関係なく更新されました。
+
When nonflooding scheduling algorithms are used, an alternative definition of iteration is used. For an (''n'',&nbsp;''k'') LDPC code of rate ''k''/''n'', a full ''iteration'' occurs when ''n'' variable and ''n''&nbsp;&minus;&nbsp;''k'' constraint nodes have been updated, no matter the order in which they were updated.
  
===ルックアップテーブルの復号化===
+
=== Lookup table decoding ===
[[ルックアップテーブル]]を使用して、比較的低電力のマイクロプロセッサ上のLDPCコードを解読することが可能である。
+
It is possible to decode LDPC codes on a relatively low-power microprocessor by the use of [[lookup table]]s.
  
LDPCのようなコードは一般に、長いブロック長を有する高電力プロセッサ上に実装されるが、低電力プロセッサと短いブロック長(1024)を使用するアプリケーションも存在する。
+
While codes such as the LDPC are generally implemented on high-power processors, with long block lengths, there are also applications which use lower-power processors and short block lengths (1024).
  
したがって、所定の入力ビットに基づいて出力ビットを事前計算することが可能である。 'n'個のエントリ(ブロック長1024ビット、これは1024ビット長)を含むテーブルが生成され、さまざまな入力状態(エラーとノン・エラーの両方)のすべての可能なエントリが含まれます。
+
Therefore, it is possible to precalculate the output bit based upon predetermined input bits. A table is generated which contains ''n'' entries (for a block length of 1024 bits, this would be 1024 bits long), and contains all possible entries for different input states (both errored and nonerrored).
  
ビットが入力されると、FIFOレジスタに加算され、FIFOレジスタの値は、事前計算された値から関連する出力をテーブルで検索するために使用されます。
+
As a bit is input, it is then added to a FIFO register, and the value of the FIFO register is then used to look up in the table the relevant output from the precalculated values.
  
この方法では、プロセッサのオーバーヘッドがほとんどなく、ルックアップテーブル用のメモリのコストが僅かで、4.0&nbsp; PICチップでもLDPCデコードが可能な非常に高い反復を使用できます。
+
By this method, very high iterations can be used, with little processor overhead, the only cost being that of the memory for the lookup table, such that LDPC decoding is possible even on a 4.0&nbsp;MHz PIC chip.
  
 
==コード構築==
 
==コード構築==

tezos-wikiへの投稿はすべて、a Creative Commons Attribution-ShareAlike 3.0 License (詳細はTezos-wiki:著作権を参照)のもとで公開したと見なされることにご注意ください。 自分が書いたものが他の人に容赦なく編集され、自由に配布されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください。 著作権保護されている作品は、許諾なしに投稿しないでください!

取り消し | 編集の仕方 (新しいウィンドウで開きます)