Compact decoding of punctured block codes
First Claim
Patent Images
1. A method of porting k input bits, comprising:
- (a) encoding the input bits according to a code with which is associated a parity check matrix H that has m rows and n=m+k columns, thereby producing a codeword of n bits;
(b) puncturing the codeword, thereby providing a punctured codeword of n′
<
n bits;
(c) exporting the punctured codeword to a corrupting medium;
(d) importing a representation of the punctured codeword from the corrupting medium;
(e) deriving a matrix H′
from H by merging pairs of rows in H, wherein the pairs of rows have one'"'"'s in different columns; and
(f) decoding the representation of the punctured codeword using the matrix H′
that has at most m rows and fewer than n′
−
columns but more than n′
columns.
1 Assignment
0 Petitions
Accused Products
Abstract
k input bits are encoded according to a code with which is associated a m×n=m+k parity check matrix H. The resulting codeword is punctured, with n′<n bits. The punctured codeword is exported to a corrupting medium such as a communication channel or a memory. A representation of the punctured codeword is imported from the corrupting medium and is decoded using a matrix H′ that is smaller than H. For example, H has at most m rows and fewer than n columns but more than n′ columns.
97 Citations
21 Claims
-
1. A method of porting k input bits, comprising:
-
(a) encoding the input bits according to a code with which is associated a parity check matrix H that has m rows and n=m+k columns, thereby producing a codeword of n bits; (b) puncturing the codeword, thereby providing a punctured codeword of n′
<
n bits;(c) exporting the punctured codeword to a corrupting medium; (d) importing a representation of the punctured codeword from the corrupting medium; (e) deriving a matrix H′
from H by merging pairs of rows in H, wherein the pairs of rows have one'"'"'s in different columns; and(f) decoding the representation of the punctured codeword using the matrix H′
that has at most m rows and fewer than n′
−
columns but more than n′
columns. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A memory device comprising:
-
(a) a memory, and (b) a controller for storing k input bits in the memory and for recovering the input bits from the memory, the controller including; (i) an encoder for; (A) encoding the input bits according to a code with which is associated a parity check matrix H that has m rows and n=m+k columns, thereby producing a codeword of n bits, (B) puncturing the codeword, thereby providing a punctured codeword of fewer than n bits, and (ii) a decoder for decoding a representation of the punctured codeword that has been read from the memory, the decoding being effected using a matrix H′
that has at most m rows and fewer than n columns but more than n′
columns, wherein the matrix H′
is derived from H by merging pairs of rows in H and the pairs of rows have one'"'"'s in different columns and wherein H and H′
are stored in a same array within the memory.
-
-
10. A system comprising:
-
(a) a first memory; and (b) a host of the first memory including; (i) a second memory having stored therein code for managing the first memory by steps including; (A) encoding k input bits according to a code with which is associated a parity check matrix H that has m rows and n=m+k columns, thereby producing a codeword of n bits, (B) puncturing the codeword, thereby providing a punctured codeword of n′
<
n bits,(C) storing the punctured codeword in the first memory, (D) reading a representation of the punctured codeword from the first memory, (E) deriving a matrix H′
from H by merging pairs of rows in H, wherein the pairs of rows have one'"'"'s in different columns, and(F) decoding the representation of the punctured codeword using the matrix H′
that has at most m rows and fewer than n columns but more than n′
columns, and(ii) a processor for executing the code. - View Dependent Claims (11)
-
-
12. A computer-readable storage medium having embodied thereon computer-readable code for managing a memory, the computer-readable code comprising:
-
(a) program code for encoding k input bits according to a code with which is associated a parity check matrix H that has m rows and n=m+k columns, thereby producing a codeword of n bits; (b) program code for puncturing the codeword, thereby providing a punctured codeword of n′
<
n bits;(c) program code for storing the punctured codeword in a memory; (d) program code for reading a representation of the punctured codeword from the memory; (e) program code for deriving a matrix H′
from H by merging pairs of rows in H, wherein the pairs of rows have one'"'"'s in different columns; and(f) program code for decoding the representation of the punctured codeword using the matrix H′
that has at most m rows and fewer than n columns but more than n′
columns.
-
-
13. A communication system comprising:
-
(a) a transmitter including; (i) an encoder for; (A) encoding k input bits according to a code with which is associated a parity check matrix H that has m rows and n=m+k columns, thereby producing a codeword of n bits, and (B) puncturing the codeword, thereby providing a punctured codeword of fewer than n bits, and (ii) a modulator for transmitting the punctured codeword via a communication channel as a modulated signal; and (b) a receiver including; (i) a demodulator for receiving the modulated signal from the communication channel and for demodulating the modulated signal, thereby providing a representation of the punctured codeword, and (ii) a decoder for decoding the representation of the punctured codeword using a matrix H′
that has at most m rows and fewer than n columns but fewer than n′
columns, wherein the matrix H′
is derived from H by merging pairs of rows in H and wherein the pairs of rows have one'"'"'s in different columns.
-
-
14. A method of recovering k input bits that have been encoded as a codeword of n bits according to a code with which is associated a parity check matrix H that has m rows and n=m+k columns and that have been exported to a corrupting medium as a punctured codeword produced by eliminating n−
- n′
selected bits from the codeword, the method comprising;(a) importing a representation of the punctured codeword from the corrupting medium; (b) deriving a matrix H′
from H by merging pairs of rows in H, wherein the pairs of rows have one'"'"'s in different columns; and(c) decoding the representation of the punctured codeword using the matrix H′
that has at most m rows and fewer than n columns but more than n′
columns. - View Dependent Claims (15, 16, 17, 18, 19)
- n′
-
20. A decoder for decoding a representation of a punctured codeword, the punctured codeword having been produced by eliminating n−
- n′
selected bits from a codeword of n bits, the codeword having been produced by encoding k input bits according to a code with which is associated a parity check matrix H that has m rows and n=m+k columns, the decoder comprising;(a) a code reduction module for deriving a matrix H′
from H by merging pairs of rows in H, wherein the pairs of rows have one'"'"'s in different columns; and(b) a decoding module for decoding the representation of the punctured codeword using the matrix H′
that has at most m rows and fewer than n columns but more than n′
columns.
- n′
-
21. A receiver comprising:
-
(a) a demodulator for receiving a modulated signal from a communication channel and for demodulating the modulated signal to provide a representation of a punctured codeword that had been produced by eliminating n−
n′
selected bits from a codeword of n bits, the codeword having been produced by encoding k input bits according to a code with which is associated a parity check matrix H that has m rows and n=m+k columns;(b) a code reduction module for deriving a matrix H′
from H by merging pairs of rows in H, wherein the pairs of rows have one'"'"'s in different columns; and(c) a decoding module for decoding the representation of the punctured codeword using the matrix H′
that has at most m rows and fewer than n columns but more than n′
columns.
-
Specification