Content deleted Content added
mNo edit summary |
Citation bot (talk | contribs) Added bibcode. Removed URL that duplicated identifier. Removed access-date with no URL. Removed parameters. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 620/990 |
||
(18 intermediate revisions by 7 users not shown) | |||
Line 3:
{{Use mdy dates|date = March 2019}}
'''Low-density parity-check (LDPC)''' codes are a class of [[
Central to the performance of LDPC codes is their adaptability to the iterative [[belief propagation]] decoding algorithm. Under this algorithm, they can be designed to approach theoretical limits ([[Channel capacity|capacities]]) of many channels<ref>{{Cite
Theoretically, analysis of LDPC codes focuses on sequences of codes of fixed [[code rate]] and increasing [[block length]]. These sequences are typically tailored to a set of channels. For appropriately designed sequences, the decoding error under belief propagation can often be proven to be vanishingly small (approaches zero with the block length) at rates that are very close to the capacities of the channels. Furthermore, this can be achieved at a complexity that is linear in the block length.
This theoretical performance is made possible using a flexible design method that is based on sparse [[Tanner graph
▲This theoretical performance is made possible using a flexible design method that is based on sparse [[Tanner graph|Tanner graphs]] (specialized [[bipartite graph|bipartite graphs]]).<ref>{{citation |author=Amin Shokrollahi |url=http://www.ics.uci.edu/~welling/teaching/ICS279/LPCD.pdf |title=LDPC Codes: An Introduction |archive-url=https://web.archive.org/web/20170517034849/http://www.ics.uci.edu/~welling/teaching/ICS279/LPCD.pdf |archive-date=2017-05-17}}</ref>
==History==
LDPC codes were originally
Renewed interest in the codes emerged following the invention of the closely
|title=Near Shannon limit performance of low density parity check codes |last1=MacKay |first1=David JC |author1-link=David J. C. MacKay Theoretical interest in LDPC codes also follows from
==Applications==
Line 38 ⟶ 48:
[[5G NR]] uses [[Polar code (coding theory)|polar code]] for the control channels and LDPC for the data channels.<ref>{{cite web|url=https://accelercomm.com/sites/accelercomm.com/files/5G-Channel-Coding_0.pdf|title=5G Channel Coding|access-date=January 6, 2019|archive-url=https://web.archive.org/web/20181206003124/https://www.accelercomm.com/sites/accelercomm.com/files/5G-Channel-Coding_0.pdf|archive-date=December 6, 2018|url-status=dead}}</ref><ref>{{cite web|url=https://accelercomm.com/sites/accelercomm.com/files/5G-Channel-Coding_0.pdf|title=A Vision for 5G Channel Coding|last=Maunder|first=Robert|date=September 2016|access-date=January 6, 2019|archive-url=https://web.archive.org/web/20181206003124/https://www.accelercomm.com/sites/accelercomm.com/files/5G-Channel-Coding_0.pdf|archive-date=December 6, 2018|url-status=dead}}</ref>
Although LDPC code has had its success in commercial hard disk drives, to fully exploit its error correction capability in [[SSD]]s demands unconventional fine-grained flash memory sensing, leading to an increased memory read latency. LDPC-in-SSD<ref>{{Cite conference |author= Kai Zhao |author2=Wenzhe Zhao |author3=Hongbin Sun |author4=Tong Zhang |author5=Xiaodong Zhang |author6=Nanning Zheng | title=LDPC-in-SSD: Making Advanced Error Correction Codes Work Effectively in Solid State Drives |conference= FAST' 13| pages=243–256|year=2013|url=https://www.usenix.org/system/files/conference/fast13/fast13-final125.pdf}}</ref> is an effective approach to deploy LDPC in SSD with a very small latency increase, which turns LDPC in SSD into a reality. Since then, LDPC has been widely adopted in commercial SSDs in both customer-grades and enterprise-grades by major storage
==Operational use==
Line 133 ⟶ 143:
As a check, the row space of '''G''' is orthogonal to '''H''' such that <math> G \odot H^T = 0 </math>
The input bit-string '101' is found
== Example encoder ==
Line 210 ⟶ 220:
== Code construction ==
For large block sizes, LDPC codes are commonly constructed by first studying the behaviour of decoders. As the block size tends to infinity, LDPC decoders can be shown to have a noise threshold below which decoding is reliably achieved, and above which decoding is not achieved,<ref name=richardson01>{{cite journal |first1=T.J. |last1=Richardson |first2=M.A. |last2=Shokrollahi |first3=R.L. |last3=Urbanke |title=Design of capacity-approaching irregular low-density parity-check codes |journal=IEEE Transactions on Information Theory |volume=47 |issue=2 |pages=619–637 |date=February 2001 |doi=10.1109/18.910578|bibcode=2001ITIT...47..619R |url=http://infoscience.epfl.ch/record/95795 }}</ref> colloquially referred to as the [[cliff effect]]. This threshold can be optimised by finding the best proportion of arcs from check nodes and arcs from variable nodes. An approximate graphical approach to visualising this threshold is an [[EXIT chart]].{{Citation needed|date=May 2023}}
The construction of a specific LDPC code after this optimization falls into two main types of techniques:{{Citation needed|date=May 2023}}
Line 217 ⟶ 227:
*Combinatorial approaches
Construction by a pseudo-random approach builds on theoretical results that, for large block size, a random construction gives good decoding performance.<ref name=MacKay96/> In general, pseudorandom codes have complex encoders, but pseudorandom codes with the best decoders can have simple encoders.<ref name=richardson01b>{{cite journal |first1=T.J. |last1=Richardson |first2=R.L. |last2=Urbanke |title=Efficient encoding of low-density parity-check codes |journal=IEEE Transactions on Information Theory |volume=47 |issue=2 |pages=638–656 |date=February 2001 |doi=10.1109/18.910579 |bibcode=2001ITIT...47..638R |url=http://infoscience.epfl.ch/record/95793 }}</ref> Various constraints are often applied to help ensure that the desired properties expected at the theoretical limit of infinite block size occur at a finite block size.{{Citation needed|date=May 2023}}
Combinatorial approaches can be used to optimize the properties of small block-size LDPC codes or to create codes with simple encoders.{{Citation needed|date=May 2023}}
Line 228 ⟶ 238:
</ref>
Yet another way of constructing LDPC codes is to use [[finite geometry|finite geometries]]. This method was proposed by Y. Kou ''et al.'' in 2001.<ref name=Kou1>{{cite journal |first1=Y. |last1=Kou |first2=S. |last2=Lin |first3=M.P.C. |last3=Fossorier |title=Low-density parity-check codes based on finite geometries: a rediscovery and new results |journal=IEEE Transactions on Information Theory |volume=47 |issue=7 |pages=2711–36 |date=November 2001 |doi=10.1109/18.959255 |bibcode=2001ITIT...47.2711K |citeseerx=10.1.1.100.3023 }}</ref>
== Compared to turbo codes ==
Line 254 ⟶ 264:
*[[CMMB]] (China Multimedia Mobile Broadcasting)
*[[DVB-S2]] / [[DVB-T2]] / [[DVB-C2]] (digital video broadcasting, 2nd generation)
*[[DMB-T/H]] (digital video broadcasting)<ref>{{cite web |
*[[WiMAX]] (IEEE 802.16e standard for microwave communications)
* [[IEEE 802.11n-2009]] ([[Wi-Fi]] standard)
|