GB2455274A - Decoding LDPC-coded data - Google Patents

Decoding LDPC-coded data Download PDF

Info

Publication number
GB2455274A
GB2455274A GB0714710A GB0714710A GB2455274A GB 2455274 A GB2455274 A GB 2455274A GB 0714710 A GB0714710 A GB 0714710A GB 0714710 A GB0714710 A GB 0714710A GB 2455274 A GB2455274 A GB 2455274A
Authority
GB
United Kingdom
Prior art keywords
decoder
decoding
parity check
check matrix
operable
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
GB0714710A
Other versions
GB0714710D0 (en
GB2455274B (en
Inventor
Thierry Lestable
David Declercq
Charly Poulliat
Marc Fossorier
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.)
Centre National de la Recherche Scientifique CNRS
Samsung Electronics Co Ltd
Original Assignee
Centre National de la Recherche Scientifique CNRS
Samsung Electronics 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 Centre National de la Recherche Scientifique CNRS, Samsung Electronics Co Ltd filed Critical Centre National de la Recherche Scientifique CNRS
Priority to GB0714710A priority Critical patent/GB2455274B/en
Publication of GB0714710D0 publication Critical patent/GB0714710D0/en
Publication of GB2455274A publication Critical patent/GB2455274A/en
Application granted granted Critical
Publication of GB2455274B publication Critical patent/GB2455274B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0045Arrangements at the receiver end
    • 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
    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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/0057Block codes

Abstract

A decoder decodes an incoming data signal in accordance with an error correction code. The decoder is operable to perform a plurality of decoding operations to decode the incoming data, each decoding operation using a different representation of a parity check matrix for the error correction code corresponding to a respective different non-binary Tanner graph (5a-5c). The multiple representations of the parity check matrix are possible if the code is formed over an Abelian group. The operations may be performed in sequential order (if the first operation does not produce a suitable convergence) or in parallel (fig.2, not shown). Application to LDPC codes (using e.g. a belief propagation algorithm) but also to, e.g.. turbo and BCH codes.

Description

DECODING APPARATUS AND METHOD
This invention relates to forward error correction coding and decoding schemes for communication systems. The invention has particular, but not exclusive, relevance to decoding codewords formed using non- binary low density parity check (LDPC) codes.
For LDPC codes, in general during encoding a generator matrix G converts a message vector into a code vector by means of matrix multiplication. During decoding a parity check matrix H is used which has the property that matrix multiplication of the code vector by the panty check matrix H results in a null vector. For LDPC codes, the parity check matrix is sparse (i.e. it is largely populated by zeros).
LDPC coding designed over field GF(q) has been shown to approach the Shannon limit for performance when q=2 and the code lengths are very long. It has also been shown that for more moderate code lengths, efficient error decoding can be achieved by increasing q above 2. However, this results in increased decoder complexity.
It is known to use a Belief Propagation (BP) decoder to decode LDPC codes. For LDPC codes with q > 2, if the code is formed over an Abelian group then it is possible to create different binary representations (sometimes called binary images) of the parity check matrix. There is no unique binary representation because any linear transformation of the rows or any permutation of the columns corresponds to the same code.
The decoding using a Belief Propagation algorithm associated with an LDPC code may be represented by a bipartite factor graph (commonly referred to as a Tanner graph) having symbol nodes and check nodes which are interconnected in accordance with the parity check matrix. In effect, messages are iteratively sent from the symbol nodes to the check nodes indicating the believed values at the symbol nodes and a measure of the strength of that belief, and messages are sent from the check nodes to the symbol nodes providing feedback information which is used to re-evaluate the values of the symbol nodes, until the values of the symbol nodes converge.
However, a short cycle in the Tanner graph can prevent the values of the symbol nodes from converging, thereby giving an inconclusive result.
According to an aspect of the present invention, a decoder is provided which is operable to decode in accordance with a plurality of different representations of a parity check matrix, each representation corresponding to a different non-binary Tanner graph. Each representation of the parity check matrix has a different convergence behaviour. In an extreme case, one representation may be able to achieve convergence of an input set of samples where another representation could not. More typically, the speed of convergence will vary between representations.
Different representations of the parity check matrix corresponding to different non-binary Tanner graphs can arise in various different ways. For example, binary transformations of a binary image of the parity check matrix can lead to different non-binary Tanner graphs with the same clustering.
S
Alternatively, the same binary image with different clusterings can lead to different non-binary tanner graphs.
The clustering can be irregular in the same code, with clusters of different sizes, that is rectangular p x p2 clusters (with p' > P2).
The decoding operations using respective different representations of the parity check matrix could be performed in series or in parallel, or a combination of series and parallel decoding operations, with an appropriate merging strategy being used to arrive at a final decision.
The invention is applicable to a wide variety of error corrections codes including LDPC codes, turbo codes and block codes such as BCH codes or Reed-Solomon (RS) Codes.
Various exemplary embodiments of the invention will now be described with reference to the attached figures in which: Figure 1 schematically represents a decoding operation in accordance with a first embodiment of the invention; and Figure 2 schematically represents a decoding operation in accordance with a second embodiment of the invention.
The first and second embodiments of the invention utilise LDPC codes which are defined over Abelian groups and a non-binary group decoder, as discussed in "FFT-based BP Decoding of General LDPC Codes over Abelian Groups" by Goupil et al in IEEE Trans. on Commun., vol. 55(4), pp. 644-649, April 2007 (the contents of which is hereby incorporated by reference). In this case, the code has a binary parity check matrix representation, which is not unique since any linear transformation of the rows or any permutation of the columns corresponds to the same code. In particular, in order to avoid changing the code space, only permutations of the columns are allowed whereas any linear transformations (permutations and/or sums) of the rows are allowed.
As discussed in the Goupil et al article, a clustering of a binary matrix representation is then considered to build a non-binary Tanner graph representation of the code. Every adjacent non-overlapping square matrix of size p x p is transformed during the clustering process into a closed function, which is used in the group BP decoder.
A representation of the decoding in accordance with a first embodiment of the invention is shown in Figure 1. As shown, a received data signal is stored in a buffer memory I which is connected with a decoding controller 3. The decoding controller 3 initially initiates a first group BP decoder 5a using a first binary image of the parity check matrix. The first group BP decoder 5a retrieves a copy of the received data signal from the buffer memory 1 and attempts to decode the received data signal. If the solution calculated by the first group BP decoder 5a has converged within a predefined number of iterations of the belief propagation algorithm (in this embodiment one hundred), then that solution is conveyed as a hard decision to the decoding controller 3, which then outputs the solution.
If the solution calculated by the first group BP decoder 5a fails to converge after the predefined number of iterations, a failure message is sent to
S
the decoding controller 3. On receiving the failure message, the decoding controller 3 initiates a second group BP decoder 5b using a second binary image of the parity check matrix, the second binary image being different from the first binary image. The second group BP decoder 5b retrieves a copy of the received data signal from the buffer memory I and attempts to decode the received data signal. If the solution calculated by the second group BP decoder 5b has converged within the predefined number of iterations of the belief propagation algorithm, that solution is indicated as a hard decision to the decoding controller 3, which then outputs the solution.
If the solution calculated by the second group BP decoder 5a fails to converge after the predefmed number of iterations, a failure message is sent to the decoding controller 3. On receiving the failure message, the decoding controller 3 initiates a third group BP decoder Sc using a third binary image of the parity check matrix, the third binary image being different from the first and second binary images. The third group BP decoder 5c retrieves a copy of the received data signal from the buffer memory I and attempts to decode the received data signal. If the solution calculated by the third group BP decoder Sc has converged within the predefined number of iterations of the belief propagation algorithm, that solution is indicated as a hard decision to the decoding controller 3, which then outputs the solution.
Accordingly, in effect the first embodiment uses a plurality of group BP decoders 5 in series. For each decoder a decision is made as to whether a codeword has been found. The subsequent decoders in the series are only used if this is not the case.
A second embodiment will now be described with reference to Figure 2 in which, in effect, a plurality of group BP decoders are used in parallel, each group BP decoder using a different binary image of the parity check matrix.
As shown in Figure 2, the received data signal is simultaneously processed by a first group BP decoder 1 la using a first binary image of the parity check matrix, a second group BP decoder 1 lb using a second binary image of the parity check matrix, and a third group BP decoder I Ic using a third binary image of the parity check matrix. The first, second and third binary images are all different.
If a group BP decoder 11 arrives at a convergent solution within a predefined number of iterations of the belief propagation algorithm (in this embodiment one hundred iterations), then that convergent solution is output as a hard decision to a parallel merger 13. If, after the predefined number of iterations, a group BP decoder has not reached a convergent solution, then a error message is sent to the parallel merger 13.
The parallel merger 13 processes the solutions received from the group BP decoders 11, and outputs the most likely solution as the decoder output.
Modifications and Further Embodiments In the first and second embodiments, each group BP decoder outputs its solution as a hard decision', which means that no information is provided as to the level of certainty that each symbol in the solution is correct.
Alternatively, each group BP decoder could output its solution as a soft decision' in which each symbol is associated with a probability value indicative of the confidence the decoder has that the symbol is correct. These probabilities could be used by the decoding controller 3 of the first embodiment or the parallel merger 13 of the second embodiment to improve the reliability of the decoding.
For example, in the first embodiment if the group BP decoders output soft decisions then even if both the first and second group BP decoders do not arrive at convergent solutions, there may be sufficient information in the two soft decisions for the decoding controller 3 to infer the correct solution without requiring processing by the third group BP decoder. Alternatively, in the second embodiment if the group BP decoders output soft decisions then the parallel merger 13 can use all this information when deciding the most likely codeword.
In principle, the information contained in a soft decision output by one group BP decoder could be input to a second group BP decoder to improve decoding performance.
While the use of three group BP decoders, each using different binary images of the parity check matrix, are used in the first and second embodiments, it will be appreciated that any number of group BP decoders in excess of one could be used.
It will be appreciated that instead of performing a simple series of decoding operations (as in the first embodiment) or performing all decoding operations in parallel (as in the second embodiment), a combination of parallel and series decoding operations could be performed.
In each embodiment, the group BP decoders need not be separate hardware modules, but could be implemented as different software routines implemented on the same processor, which could also be used to perform software routines as the decoding controller (for the first embodiment) and the parallel merger (for the second embodiment).
The first and second embodiments discuss decoding in accordance with the LDPC error correction algorithm. However, the present invention could also be employed with other error correction algorithms, even ones which are not normally decoded in an iterative fashion. For example, the invention could be applied to various Turbo codes (duo-binary Turbo codes) or block codes (for example non-sparse BCH codes).
The present invention provides decoder diversity. This covers the process of using two or more parity check matrices which result in different non-binary Tanner graph representations after clustering. The difference can be in the cluster size and/or in the edge locations and/or in the linear functions built from the cluster contents. By using decoder diversity to produce several group decodings of the same code, the difference in convergence behaviour
S
may be utilised to improve decoder performance. The difference in decoder performance could be in terms of different convergent fixed points and/or different convergence speed.
Of course, using several binary images for decoding a input data signal requires more computational effort than a unique decoding step. The complexity increase of performing serial decoding operations may, however, be quite small since a second decoding operation is only performed if the first decoding operation fails to converge. The design of a good group decoder diversity based decoder relies on the following choices: a) The choice of the number Nd of binary images. A good choice would be to ensure that the decodings of the different images provide sufficient "diversity" in that the convergence points differ the most for a constant average performance. In this scheme, it is desirable that the average performance of different decoders is approximately the same.
b) The choice of merging strategy that is linked to the performance/complexity trade-off.
The embodiment described with reference to the drawings comprises computer apparatus and involves processes performed in the computer apparatus. The invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code, a code intermediate to source code and object code such as in partially compiled form, or in any other form suitable for using in the implementation of the processes according to the invention.
The carrier may be any entity or device capable of carrying the program. For example, the carrier may comprise a storage medium, such as a ROM, for example a CD-ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or a hard disc, or an optical recording medium. Further, the carrier may be a transmissible carrier such as an electronic or optical signal which may be conveyed via electrical or optical cable or by radio or other means.
The carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.
Although in the described embodiment the invention is implemented by software, it will be appreciated that alternatively the invention could be implemented by hardware devices or a combination of hardware devices and software. DECODING APPARATUS AND METHOD
This invention relates to forward error correction coding and decoding schemes for communication systems. The invention has particular, but not exclusive, relevance to decoding codewords formed using non- binary low density parity check (LDPC) codes.
For LDPC codes, in general during encoding a generator matrix G converts a message vector into a code vector by means of matrix multiplication. During decoding a parity check matrix H is used which has the property that matrix multiplication of the code vector by the panty check matrix H results in a null vector. For LDPC codes, the parity check matrix is sparse (i.e. it is largely populated by zeros).
LDPC coding designed over field GF(q) has been shown to approach the Shannon limit for performance when q=2 and the code lengths are very long. It has also been shown that for more moderate code lengths, efficient error decoding can be achieved by increasing q above 2. However, this results in increased decoder complexity.
It is known to use a Belief Propagation (BP) decoder to decode LDPC codes. For LDPC codes with q > 2, if the code is formed over an Abelian group then it is possible to create different binary representations (sometimes called binary images) of the parity check matrix. There is no unique binary representation because any linear transformation of the rows or any permutation of the columns corresponds to the same code.
The decoding using a Belief Propagation algorithm associated with an LDPC code may be represented by a bipartite factor graph (commonly referred to as a Tanner graph) having symbol nodes and check nodes which are interconnected in accordance with the parity check matrix. In effect, messages are iteratively sent from the symbol nodes to the check nodes indicating the believed values at the symbol nodes and a measure of the strength of that belief, and messages are sent from the check nodes to the symbol nodes providing feedback information which is used to re-evaluate the values of the symbol nodes, until the values of the symbol nodes converge.
However, a short cycle in the Tanner graph can prevent the values of the symbol nodes from converging, thereby giving an inconclusive result.
According to an aspect of the present invention, a decoder is provided which is operable to decode in accordance with a plurality of different representations of a parity check matrix, each representation corresponding to a different non-binary Tanner graph. Each representation of the parity check matrix has a different convergence behaviour. In an extreme case, one representation may be able to achieve convergence of an input set of samples where another representation could not. More typically, the speed of convergence will vary between representations.
Different representations of the parity check matrix corresponding to different non-binary Tanner graphs can arise in various different ways. For example, binary transformations of a binary image of the parity check matrix can lead to different non-binary Tanner graphs with the same clustering.
S
Alternatively, the same binary image with different clusterings can lead to different non-binary tanner graphs.
The clustering can be irregular in the same code, with clusters of different sizes, that is rectangular p x p2 clusters (with p' > P2).
The decoding operations using respective different representations of the parity check matrix could be performed in series or in parallel, or a combination of series and parallel decoding operations, with an appropriate merging strategy being used to arrive at a final decision.
The invention is applicable to a wide variety of error corrections codes including LDPC codes, turbo codes and block codes such as BCH codes or Reed-Solomon (RS) Codes.
Various exemplary embodiments of the invention will now be described with reference to the attached figures in which: Figure 1 schematically represents a decoding operation in accordance with a first embodiment of the invention; and Figure 2 schematically represents a decoding operation in accordance with a second embodiment of the invention.
The first and second embodiments of the invention utilise LDPC codes which are defined over Abelian groups and a non-binary group decoder, as discussed in "FFT-based BP Decoding of General LDPC Codes over Abelian Groups" by Goupil et al in IEEE Trans. on Commun., vol. 55(4), pp. 644-649, April 2007 (the contents of which is hereby incorporated by reference). In this case, the code has a binary parity check matrix representation, which is not unique since any linear transformation of the rows or any permutation of the columns corresponds to the same code. In particular, in order to avoid changing the code space, only permutations of the columns are allowed whereas any linear transformations (permutations and/or sums) of the rows are allowed.
As discussed in the Goupil et al article, a clustering of a binary matrix representation is then considered to build a non-binary Tanner graph representation of the code. Every adjacent non-overlapping square matrix of size p x p is transformed during the clustering process into a closed function, which is used in the group BP decoder.
A representation of the decoding in accordance with a first embodiment of the invention is shown in Figure 1. As shown, a received data signal is stored in a buffer memory I which is connected with a decoding controller 3. The decoding controller 3 initially initiates a first group BP decoder 5a using a first binary image of the parity check matrix. The first group BP decoder 5a retrieves a copy of the received data signal from the buffer memory 1 and attempts to decode the received data signal. If the solution calculated by the first group BP decoder 5a has converged within a predefined number of iterations of the belief propagation algorithm (in this embodiment one hundred), then that solution is conveyed as a hard decision to the decoding controller 3, which then outputs the solution.
If the solution calculated by the first group BP decoder 5a fails to converge after the predefined number of iterations, a failure message is sent to
S
the decoding controller 3. On receiving the failure message, the decoding controller 3 initiates a second group BP decoder 5b using a second binary image of the parity check matrix, the second binary image being different from the first binary image. The second group BP decoder 5b retrieves a copy of the received data signal from the buffer memory I and attempts to decode the received data signal. If the solution calculated by the second group BP decoder 5b has converged within the predefined number of iterations of the belief propagation algorithm, that solution is indicated as a hard decision to the decoding controller 3, which then outputs the solution.
If the solution calculated by the second group BP decoder 5a fails to converge after the predefmed number of iterations, a failure message is sent to the decoding controller 3. On receiving the failure message, the decoding controller 3 initiates a third group BP decoder Sc using a third binary image of the parity check matrix, the third binary image being different from the first and second binary images. The third group BP decoder 5c retrieves a copy of the received data signal from the buffer memory I and attempts to decode the received data signal. If the solution calculated by the third group BP decoder Sc has converged within the predefined number of iterations of the belief propagation algorithm, that solution is indicated as a hard decision to the decoding controller 3, which then outputs the solution.
Accordingly, in effect the first embodiment uses a plurality of group BP decoders 5 in series. For each decoder a decision is made as to whether a codeword has been found. The subsequent decoders in the series are only used if this is not the case.
A second embodiment will now be described with reference to Figure 2 in which, in effect, a plurality of group BP decoders are used in parallel, each group BP decoder using a different binary image of the parity check matrix.
As shown in Figure 2, the received data signal is simultaneously processed by a first group BP decoder 1 la using a first binary image of the parity check matrix, a second group BP decoder 1 lb using a second binary image of the parity check matrix, and a third group BP decoder I Ic using a third binary image of the parity check matrix. The first, second and third binary images are all different.
If a group BP decoder 11 arrives at a convergent solution within a predefined number of iterations of the belief propagation algorithm (in this embodiment one hundred iterations), then that convergent solution is output as a hard decision to a parallel merger 13. If, after the predefined number of iterations, a group BP decoder has not reached a convergent solution, then a error message is sent to the parallel merger 13.
The parallel merger 13 processes the solutions received from the group BP decoders 11, and outputs the most likely solution as the decoder output.
Modifications and Further Embodiments In the first and second embodiments, each group BP decoder outputs its solution as a hard decision', which means that no information is provided as to the level of certainty that each symbol in the solution is correct.
Alternatively, each group BP decoder could output its solution as a soft decision' in which each symbol is associated with a probability value indicative of the confidence the decoder has that the symbol is correct. These probabilities could be used by the decoding controller 3 of the first embodiment or the parallel merger 13 of the second embodiment to improve the reliability of the decoding.
For example, in the first embodiment if the group BP decoders output soft decisions then even if both the first and second group BP decoders do not arrive at convergent solutions, there may be sufficient information in the two soft decisions for the decoding controller 3 to infer the correct solution without requiring processing by the third group BP decoder. Alternatively, in the second embodiment if the group BP decoders output soft decisions then the parallel merger 13 can use all this information when deciding the most likely codeword.
In principle, the information contained in a soft decision output by one group BP decoder could be input to a second group BP decoder to improve decoding performance.
While the use of three group BP decoders, each using different binary images of the parity check matrix, are used in the first and second embodiments, it will be appreciated that any number of group BP decoders in excess of one could be used.
It will be appreciated that instead of performing a simple series of decoding operations (as in the first embodiment) or performing all decoding operations in parallel (as in the second embodiment), a combination of parallel and series decoding operations could be performed.
In each embodiment, the group BP decoders need not be separate hardware modules, but could be implemented as different software routines implemented on the same processor, which could also be used to perform software routines as the decoding controller (for the first embodiment) and the parallel merger (for the second embodiment).
The first and second embodiments discuss decoding in accordance with the LDPC error correction algorithm. However, the present invention could also be employed with other error correction algorithms, even ones which are not normally decoded in an iterative fashion. For example, the invention could be applied to various Turbo codes (duo-binary Turbo codes) or block codes (for example non-sparse BCH codes).
The present invention provides decoder diversity. This covers the process of using two or more parity check matrices which result in different non-binary Tanner graph representations after clustering. The difference can be in the cluster size and/or in the edge locations and/or in the linear functions built from the cluster contents. By using decoder diversity to produce several group decodings of the same code, the difference in convergence behaviour
S
may be utilised to improve decoder performance. The difference in decoder performance could be in terms of different convergent fixed points and/or different convergence speed.
Of course, using several binary images for decoding a input data signal requires more computational effort than a unique decoding step. The complexity increase of performing serial decoding operations may, however, be quite small since a second decoding operation is only performed if the first decoding operation fails to converge. The design of a good group decoder diversity based decoder relies on the following choices: a) The choice of the number Nd of binary images. A good choice would be to ensure that the decodings of the different images provide sufficient "diversity" in that the convergence points differ the most for a constant average performance. In this scheme, it is desirable that the average performance of different decoders is approximately the same.
b) The choice of merging strategy that is linked to the performance/complexity trade-off.
The embodiment described with reference to the drawings comprises computer apparatus and involves processes performed in the computer apparatus. The invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code, a code intermediate to source code and object code such as in partially compiled form, or in any other form suitable for using in the implementation of the processes according to the invention.
The carrier may be any entity or device capable of carrying the program. For example, the carrier may comprise a storage medium, such as a ROM, for example a CD-ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or a hard disc, or an optical recording medium. Further, the carrier may be a transmissible carrier such as an electronic or optical signal which may be conveyed via electrical or optical cable or by radio or other means.
The carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.
Although in the described embodiment the invention is implemented by software, it will be appreciated that alternatively the invention could be implemented by hardware devices or a combination of hardware devices and software.

Claims (9)

O CLAIMS
1. A decoder which is operable to decode an incoming data signal in accordance with an error correction code, wherein the decoder is operable to perform a plurality of decoding operations to decode incoming data, each decoding operation using a different representation of a parity check matrix for the error correction code corresponding to a respective different non-binary Tanner graph.
2. A decoder according to claim 1, wherein the decoder is operable to decode the incoming data signal using different representations of the parity check matrix in parallel.
3. A decoder according to claim 1 or 2, wherein the decoder is operable to process the incoming data signal using a first representation of the parity check matrix, and if decoding using the first representation is unsuccessful to process the incoming data signal using a second representation of the parity check matrix which is different from the first representation of the parity check matrix.
4. A decoder according to any preceding claim, wherein the decoder is a belief propagation decoder operable to perform multiple iterations of a belief propagation algorithm.
5. A decoder according to claim 4, wherein the decoder is a group non-binary belief propagation decoder.
6. A decoder according to claim 4 or 5, wherein the decoder is arranged to consider decoding unsuccessful if convergence has not been reached after a defined number of iterations of the belief propagation algorithm.
7. A decoder according to any preceding claim, wherein the output of a decoding operation is given in a hard decision.
8. A decoder according to any of claims 1 to 7, wherein the output of a decoding operation is given in a soft decision.
9. A decoder according to claim 8, wherein the decoder is operable to process a plurality of soft decisions provided by respective different processing operations to determine the output code.
9. A decoder according to claim 8, wherein the decoder is operable to process a plurality of soft decisions provided by respective different processing operations to determine the output code.
O
1. A decoder which is operable to decode an incoming data signal in accordance with an error correction code, wherein the decoder is operable to perform a plurality of decoding operations to decode incoming data, each decoding operation using a different representation of a parity check matrix for the error correction code corresponding to a respective different non-binary Tanner graph.
2. A decoder according to claim 1, wherein the decoder is operable to decode the incoming data signal using different representations of the parity check matrix in parallel.
3. A decoder according to claim 1 or 2, wherein the decoder is operable to process the incoming data signal using a first representation of the parity check matrix, and if decoding using the first representation is unsuccessful to process the incoming data signal using a second representation of the parity check matrix which is different from the first representation of the parity check matrix.
4. A decoder according to any preceding claim, wherein the decoder is a belief propagation decoder operable to perform multiple iterations of a belief propagation algorithm.
5. A decoder according to claim 4, wherein the decoder is a group non-binary belief propagation decoder.
6. A decoder according to claim 4 or 5, wherein the decoder is arranged to consider decoding unsuccessful if convergence has not been reached after a defined number of iterations of the belief propagation algorithm.
7. A decoder according to any preceding claim, wherein the output of a decoding operation is given in a hard decision.
8. A decoder according to any of claims 1 to 7, wherein the output of a decoding operation is given in a soft decision.
GB0714710A 2007-07-27 2007-07-27 Decoding apparatus and method Expired - Fee Related GB2455274B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0714710A GB2455274B (en) 2007-07-27 2007-07-27 Decoding apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0714710A GB2455274B (en) 2007-07-27 2007-07-27 Decoding apparatus and method

Publications (3)

Publication Number Publication Date
GB0714710D0 GB0714710D0 (en) 2007-09-05
GB2455274A true GB2455274A (en) 2009-06-10
GB2455274B GB2455274B (en) 2012-06-27

Family

ID=38513015

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0714710A Expired - Fee Related GB2455274B (en) 2007-07-27 2007-07-27 Decoding apparatus and method

Country Status (1)

Country Link
GB (1) GB2455274B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011042352A1 (en) * 2009-10-09 2011-04-14 Commissariat à l'énergie atomique et aux énergies alternatives Method for decoding non-binary codes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2179365C1 (en) * 2001-05-22 2002-02-10 Плотников Андрей Алексеевич Method of transmission of discrete message and system for its realization
US7000168B2 (en) * 2001-06-06 2006-02-14 Seagate Technology Llc Method and coding apparatus using low density parity check codes for data storage or data transmission
US7500172B2 (en) * 2005-02-26 2009-03-03 Broadcom Corporation AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011042352A1 (en) * 2009-10-09 2011-04-14 Commissariat à l'énergie atomique et aux énergies alternatives Method for decoding non-binary codes
FR2951339A1 (en) * 2009-10-09 2011-04-15 Commissariat Energie Atomique METHOD FOR DECODING NON-BINARY CODES
US8386880B2 (en) 2009-10-09 2013-02-26 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method for transmitting non-binary codes and decoding the same

Also Published As

Publication number Publication date
GB0714710D0 (en) 2007-09-05
GB2455274B (en) 2012-06-27

Similar Documents

Publication Publication Date Title
US10511326B2 (en) Systems and methods for decoding error correcting codes
US8448050B2 (en) Memory system and control method for the same
JP4062435B2 (en) Error correction code decoding apparatus
JP5216593B2 (en) Multistage error correction method and apparatus
KR101110586B1 (en) Concatenated iterative and algebraic coding
US7219288B2 (en) Running minimum message passing LDPC decoding
TWI594583B (en) Gldpc soft decoding with hard decision inputs
CN109787639B (en) System and method for decoding error correction codes
KR20090048465A (en) Message-passing decoding method with sequencing according to reliability of vicinity
CN104995844A (en) Bit flipping decoding with reliability inputs for LDPC codes
CN109586731B (en) System and method for decoding error correction codes
KR20120093238A (en) Method for decoding nonbinary codes
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
US8201049B2 (en) Low density parity check (LDPC) decoder
Yeo et al. Improved hard-reliability based majority-logic decoding for non-binary LDPC codes
JP2005528840A (en) Soft decoding of linear block codes
KR102075946B1 (en) Method and apparatus for decoding of nonbinary parity-check codes in broadcasting and communication systems
WO2014172874A1 (en) Method and apparatus of ldpc encoder in 10gbase-t system
WO2022161236A1 (en) Systems and methods for using not perfectly polarized bit channels in parallel polar codes
Zolotarev et al. Efficient multithreshold decoding of nonbinary codes
GB2455274A (en) Decoding LDPC-coded data
JP5523064B2 (en) Decoding apparatus and method
Li Hybrid iterative decoding for low-density parity-check codes based on finite geometries
US20170222659A1 (en) Power improvement for ldpc
Gunnam et al. Algorithms and VLSI architectures for low-density parity-check codes: part 1-low-complexity iterative decoding

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20200727