Talk:Low-density parity-check code

message: For a person who has not studied information theory, the introduction chapter says absolutely nothing. It's some state of the art code, rrright. For what/Where/Why is it used? I think the introduction should answer these questions first. Then it's okay to jump into the technics. Besides, what's Forney's factor graph notation anyway? Maybe an article about it should be created, or at least Forney linked somewhere. (Elsewhere than to Forney, Texas). --ZeroOne 19:52, 12 Oct 2004 (UTC)

message: I'd agree with the first comment.  I am not an information theory specialist and have been trying to get an idea what advantage LDPC gives over eg Reed Solomon, but cannot find this basic information anywhere.  Andrew P, UK.
Not impressed with the article either.  But in answer to your question:  LDPC codes approach the theoretical (Shannon) limit as the block size increases.
(I.E. They are the best (in terms of error recovery) that an error correcting code can be.)  A Google of LDPC turns up a lot of good articles. Nahaj 15:25, 8 November 2005 (UTC)
thread_title:  LDPC advantage 

message: Although Gallager's original codes used a randomly generated parity-check matrix, this doesn't have to be the case. A subset of Gallager codes can be built analytically by an algebraic method based on shortened Reed-Solomon codes with two information symbols. LDPC codes can also be constructed algebraically based on the points and lines of finite geometries. The highest performance LDPC codes are constructed using a method known as density evolution.
Density evolution is a measure of the code, not a method of code construction.  To quote Moon's "Error Correction Coding": "Density evolution is an analytical technique which can be used to understand limits of performance of LDPC decoders.  "  Although, obviously, ANYTHING that measures a code can be used to AID in generating good codes. (And there have been many articles on building various subsets of Gallager codes by many many different methods.) If the author of the anonymous comment above would like to provide a *current* reference for their interesting claim that  "The highest performance LDPC codes are constructed using a method known as density evolution.", I'd appreciate it.  Work on finding GOOD non-randomly generated LDPC codes is still ongoing in a number of places... I'd recommed the "IEEE Trans. Information Theory", and the "IEEE Trans. Communications" as jumping in points.
Nahaj 17:18, 16 January 2006 (UTC)
thread_title:  Generating the parity-check matrix 

message: Other than the mention that LDPC is adopted for satellite broadcasting it would be useful if someone added more text on other applications of LDPC.  In particular, any thoughts on comparsions with turbo codes in "real world" cases (mobile, etc.).--Alistair9210 08:42, 4 July 2006 (UTC)
thread_title:  Applications of LDPC 

message: I think some of the details need to be better written here. The variable 'k' is not even defined. Also, the sentence "or there must be an even number of odd values" is confusing. Instead of writing that, should write something straight-forward, such as - the "Exclusive OR" of all the bits linked by the lines will be logical 0. Also, as if by 'magic', the matrices "P" and "I" just pop out of nowhere, and nobody has any idea what they are. KorgBoy (talk) 08:10, 25 May 2017 (UTC)
thread_title:  Operational use 

message: Were LDPC codes "forgotten"?  Gallager was a famous name in the information theory community in the 1970s and 1980s, so I doubt they were truly forgotten; they just couldn't be practically used. Calbaer 01:03, 21 July 2006 (UTC)
thread_title:  Forgotten? 

message: I have just reverted the addition of a link added by an anonymous user to a University repository of various LDPC papers.  The repository does not appear to be a general source of reference or contain VHDL code that may aid the new reader.   I propose adding a link to  instead as this page  contains open-source hardware source code.  Any comments?  Can the anonymous link adder come forward?  Edratzer 08:07, 8 January 2007 (UTC)
thread_title:  Links 

message: Apparently, some diagrams were deleted due to no source because the diagram creator did not use a *-self template, making this article incomplete because the text depends on them. Could someone who knows about LDPC codes redraw the missing diagrams? Jesse Viviano 07:24, 26 September 2007 (UTC)
thread_title:  Expert attention needed 

message: I think that the title of this page should also be Gallager Codes so that it will come up easily in an internet search.
I don't know how to do this or I would do it myself  —Preceding unsigned comment added by Lansey (talk • contribs) 09:12, 4 June 2008 (UTC)
thread_title:  Gallager Codes 

message: Hi all. As far as i know, check matrix H can not be represented as \begin{bmatrix} P | I_k \end{bmatrix} just by changing the row-column order. Because almost every column contains j 1's, there is not enought columns with single 1. Example is not good enought. Vlsergey (talk) 20:47, 28 August 2008 (UTC)
replies: text: The row operations include addition of rows to each other - we're not just talking about row/column permutations.  I've linked to the page on row operations but if you would like to make the article clearer then feel free.  I guess more mention could be made of matrix rank too.  Edratzer (talk) 22:07, 23 September 2008 (UTC)
thread_title:  Function 

message: Citation 5 on carrier recovery doesn't seem to be significant in the LDPC coding arena (Google Scholar gives 7 citations of which 2 are self-citations).  I note that the Userid that added the section is very similar to the name of one of the article authors.  Edratzer (talk) 21:51, 23 January 2009 (UTC)
replies: text: Sorry, I should have looked here first, since I just reverted and asked you to explain.  The better thing to do, instead of the cryptic POV tag on something  that doesn't like like a POV issue, is to just fix it, especially if it was added with an apparent WP:COI, and leave the editor a note to explain that he think his own stuff should be cited then he should make his case on this talk page instead of citing it himself.  WP:SOFIXIT. Dicklyon (talk) 00:39, 24 January 2009 (UTC)
thread_title:  POV 

message: === Section Function ===
This section adds no information on LDPC encoding or other properties. Information on Generator and Parity Check matrices and deriving the code using these belongs to an article on general FEC coding. And I am pretty sure that in practice you don't do a large size, sparse(!) matrix multiplication, but rather sum up the check nodes along the edges in the graph. Please remove this unhelpful stuff.
The section may rather tell something about the structure of LDPC codes, as bipartite graphs, regular or irregular etc. Give links to derived codes, such as Tornado codes for the BEC etc.
=== Section Decoding ===
Similar to above, this section should write something about decoding algorithms, such as message passing etc.
This section states that decoding an LDPC code is NP-complete. Well, this is certainly not true for a binary erasure channel, and ironically the example given discusses just that channel.
Does the subsection on lookup-table decoding need a citation?  Or does anyone know of some elaboration on the method described?  I'm not sure how a 1024-bit table would help decode an LDPC with a 1024-bit block size.  (I may be misreading that section; it could probably be cleaned up anyway; e.g. "very high iterations" could be "many iterations" or some more fluent wording.)  — Preceding unsigned comment added by 173.73.92.75 (talk) 03:30, 15 February 2014 (UTC)
thread_title:  Some observations on this article 

message: Similar to above, this section should write something about decoding algorithms, such as message passing etc.
This section states that decoding an LDPC code is NP-complete. Well, this is certainly not true for a binary erasure channel, and ironically the example given discusses just that channel.
Does the subsection on lookup-table decoding need a citation?  Or does anyone know of some elaboration on the method described?  I'm not sure how a 1024-bit table would help decode an LDPC with a 1024-bit block size.  (I may be misreading that section; it could probably be cleaned up anyway; e.g. "very high iterations" could be "many iterations" or some more fluent wording.)  — Preceding unsigned comment added by 173.73.92.75 (talk) 03:30, 15 February 2014 (UTC)
thread_title:  Section Decoding 

message: Sentence two in the introduction: isn't that kinda obvious? Sentence three: data transmission rate? please be precise: code rate.
Turbo codes can also be classified as LDPC codes. How are they differentiated?
The article states three different years for the invention of Gallager codes: 1960, 1962, and 1963.
The article should further cite different variants of LDPC codes in practice.
Sorry if points are rather rough, it's late, I'm tired, and I am not an expert on coding.
Anyway, thanks for giving a check. G'night ;) Nageh (talk) 22:39, 22 May 2009 (UTC)
thread_title:  Other things 

message: The third sentence of the introduction ("LDPC was the first code to allow data transmission rates close to the theoretical maximum") does not really bring any valuable information. It all depends too much on what is meant by "close to the theoretical maximum". Either one should give a precise value like "within XX dB from theoretical maximum" with a corresponding reference, or one should lose the sentence altogether. Kaioshin82 (talk) 13:19, 30 July 2009 (UTC)
replies: text: I've tried to clarify the start of the article.  I'm guessing the original author is referring to whether or not LDPC codes can achieve capacity.  Edratzer (talk) 08:08, 5 August 2009 (UTC)
replies: text: Thanks! That's a much better introduction. Pfagerburg (talk) 01:28, 7 August 2009 (UTC)
thread_title: Capacity achieving?

message: I am confused by your recent edit... In the parity-check matrix, there will be either 1's or 0's. The null space of the matrix defines the graph. I don't see why there should be "probabilities" in the matrix for syndrome computation. And syndrome computation tells you normally whether decoding was correct (syndrome is 0) or not (not 0). Please justify your edit (or anyone else), either on the talk page or as a reference, or I will revert your edit. Thanks, cheers, Nageh (talk) 18:14, 20 October 2009 (UTC)
replies: text: Oups I just reverted the change before reading your post ... Maybe it is a way to represent or implement the iterative decoding, and in this case it should be justified.  —Preceding unsigned comment added by Cunchem (talk • contribs) 07:39, 21 October 2009 (UTC)
thread_title:  @ [[User:78.42.25.227]] 

message: Hello fellow Wikipedians,
I have just modified 5 external links on Low-density parity-check code. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Added archive https://web.archive.org/web/20061008053124/http://www.ieeevtc.org/vtc2003fall/2003panelsessions/llee.pdf to http://www.ieeevtc.org/vtc2003fall/2003panelsessions/llee.pdf
*Added archive https://web.archive.org/web/20091213012126/http://blog.ds2.es/ds2blog/2009/10/ieee-communications-magazine-paper-on-ghn.html to http://blog.ds2.es/ds2blog/2009/10/ieee-communications-magazine-paper-on-ghn.html
*Added archive https://web.archive.org/web/20130526003113/http://www.atsc.org/cms/pdf/pt2/Wells_ATSC_paper_on_T2.pdf to http://www.atsc.org/cms/pdf/pt2/Wells_ATSC_paper_on_T2.pdf
*Added archive https://web.archive.org/web/20090926035703/http://www.mathworks.com/access/helpdesk/help/toolbox/comm/ref/fec.ldpcenc.html to http://www.mathworks.com/access/helpdesk/help/toolbox/comm/ref/fec.ldpcenc.html
*Added archive https://web.archive.org/web/20090217170744/http://www.mathworks.com/access/helpdesk/help/toolbox/comm/ref/fec.ldpcdec.html to http://www.mathworks.com/access/helpdesk/help/toolbox/comm/ref/fec.ldpcdec.html
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
Cheers.—InternetArchiveBot (Report bug) 14:14, 7 January 2018 (UTC)
thread_title:  External links modified 

message: The decoding section directly jumps to technicalities and state-of-the-art improvements while never really introducing belief propagation and bit flipping algorithms which I believe are not that hard to understand.
The part about seeing an LDPC as independent SPC codes and using SOVA or BCJR is confusing. I believe it tries to draw an analogy between turbo codes or convolutional codes and LDPC codes. It currently has no reference and the only references I could find on applying those algorithms to LDPC were in really specific constructions with structured codes or concatenations.
The part about lookup table has no reference either. I have no doubt that a bit flipping algorithm can run on a low power CPU and that some computations can be avoided by using a lookup table (for the check nodes computations for example). But I am not sure that this is what the author meant and if this is what was meant I don't see how it is relevant to detail the lookup table and the usage of the FIFO.
Bpcov (talk) 19:44, 28 July 2018 (UTC)
thread_title:  Decoding