This application is the National Stage filing under 35 U.S.C 371 of International Application No. PCT/KR05/04466, filed on Dec. 22, 2005, which claims the benefit of earlier filing date and right of priority to Korean Application No. 10-2004-0110678, filed on Dec. 22, 2004, to Korean Application No. 10-2005-0003296, filed on Jan. 13, 2005, and to Korean Application 10-2005-0101898, filed on Oct. 27, 2005.
The present invention relates to an encoding and decoding method, and more particularly, to an encoding and decoding method and apparatus using Low Density Parity Check (LDPC) codes, which can improve encoding and decoding performance without using a large memory capacity and also can reduce the complexity of hardware for implementation.
Recently, an encoding method using LDPC codes has attracted lots of attention. In 1962, Gallager has suggested LDPC codes as low-density linear block codes since most elements of a parity check matrix H are zero. LDPC codes were forgotten since the LDPC codes are very complicated so that they could not be realized with technologies of that time. In 1995, LDPC codes were recognized again and excellent performance thereof was validated. Recently, intensive studies have been done on LDPC codes (see: [1] Robert G. Gallager, “Low-Density Parity-Check Codes”, The MIT Press, Sep. 15, 1963, and [2] D. J. C. Mackay, Good error-correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, IT-45, pp. 399-431 (1999)).
Since the number of 1s in a parity check matrix of an LDPC code is very small, the parity check matrix allows decoding even for a very large block size through iterative decoding. Thus, as the block size increases, the performance of the parity check matrix of an LDPC code approaches Shannon's channel capacity limit as that of a turbo code. The number of 1s included in a row or column of the parity check matrix is referred to as a weight.
An LDPC code can be described using an (n−k)×n parity check matrix H. A generator matrix G corresponding to the parity check matrix H can be obtained by Equation 1.
H·G=0 [Equation 1]
In an encoding and decoding method using LDPC codes, the transmitting side can encode input data according to Equation 2 using the generator matrix G that has the relationship of Equation 1 with the parity check matrix.
c=G·x, [Equation 2]
where “c” denotes a codeword and “x” denotes information bits.
A description will now be given of a conventional decoding method using the H matrix.
A decoder at the receiving side must obtain information bits x from a codeword c that is an encoding result at the transmitting side. The decoder determines the information bits x using a condition “Hc=0”. Specifically, when a codeword c′ is received, the value of Hc′ is calculated. If the value of Hc′ is 0, it is determined that first k bits of the codeword c′ are decoded information bits. If the value of Hc′ is not 0, the information bits x are reconstructed by finding a codeword c′, which satisfies a check equation “Hc′=0”, using a graph-based sum-product algorithm, a belief propagation algorithm, or the like. The check equation “Hc′=0” can be changed to “c′HT=0” according to the information bits and the G matrix. Thus, the check equation can be changed according to the relationship between the information bits and the G matrix.
1. Check-to-variable node likelihood value update.
2. Variable-to-check node likelihood value update.
3. Determination of decoded value based on variable (or bit) node likelihood.
Likelihood values received over a channel are input at an initialization step, and then the first process is performed to update the check nodes. After the first process is completed, the second process is carried out to perform the variable-to-check node likelihood value update. After the first and second processes are completed, a decoded value is determined using the likelihood values received over the channel and the likelihood values updated through the first and second processes.
In the decoding procedure, if the determined decoded value c′ satisfies a check equation “Hc′=0” at the third process after the first and second processes are completed, the value c′ is determined to be a correctly received decoded value, otherwise, the first and second processes are iterated up to a specific number of times until the check equation is satisfied. The likelihood value update processes of the first and second processes are iterated the same number of times as the number of nonzero elements (i.e., the number of 1s) included in each row or column of the parity check matrix. That is, the check-to-variable update of the first process and the variable-to-check update of the second process are performed on positions of the parity check matrix H that correspond to weights thereof. As the first and second processes are iterated, the reliability of the likelihood values of the check and variable nodes increases, thereby approaching a true value of the codeword to be obtained.
Recent LDPC encoding methods generally encode data using the parity check matrix H rather than the generator matrix G. Thus, as described above, the parity check matrix H can be considered the most important element of the encoding method using LDPC codes. Since the parity check matrix H has a size of about 1000×2000 or more, it requires a number of calculations in the encoding and decoding processes, complicates the implementation, and requires a large storage space.
In one aspect of the present invention, provided herein is a decoding method that comprises receiving a signal encoded using a parity check matrix from a transmitting side; and decoding the received signal using the parity check matrix, wherein the parity check matrix includes a plurality of layers and nonzero elements of the layers do not overlap in column direction, and wherein each of the layers includes at least one row.
In another aspect of the present invention, provided herein is a decoding method that comprises receiving a signal encoded using a parity check matrix; and decoding the received signal using a parity check matrix in units of a specific number of layers that do not overlap, the parity check matrix including a plurality of layers whose nonzero elements do not overlap in column direction, wherein each of the layers includes at least one row.
In a further aspect of the present invention, provided herein is a decoding apparatus that comprises a receiver module that receives a signal encoded using a parity check matrix; a memory that stores information of a parity check matrix that includes a plurality of layers whose nonzero elements do not overlap in column direction; and a decoding module that decodes the received signal using the information of the parity check matrix obtained from the memory in units of a specific number of layers that do not overlap, wherein each of the layers includes at least one row.
In the drawings:
Preferred embodiments of an encoding method using Low Density Parity Check (LDPC) codes according to the present invention will now be described with reference to the accompanying drawings.
In
The parity check matrix “H”, which the LDPC encoder 13 uses to encode the input source data, has a dimension of (n−k)×n. Here, “k” denotes the length (in bits) of the source data input to the LDPC encoder 13 and “n” denotes the length (in bits) of the encoded codeword “c”. As shown in
The plurality of permutation matrices are formed by changing at least one base permutation matrix according to a specific rule. The base permutation matrix is preferably an identity matrix. The weight of each row and column the plurality of permutation matrices is preferably “1”. In other words, preferably, only one element of each row of the plurality of permutation matrices and only one element of each column thereof are “1” and the other elements are all “0”.
In the preferred embodiment, the method of changing the at least one base permutation matrix according to the specific rule to form the plurality of permutation matrices may include a method in which each row (or column) of the base permutation matrix is shifted by a specific number of rows (or columns).
As described above, the type of each of the plurality of permutation matrices formed from the base permutation matrix can be expressed simply by a single integer according to the number of shifted rows (or columns). The method of expressing the type of plurality of permutation matrices by a single integer is only illustrative and, of course, each of the permutation matrices may be expressed by other methods.
One feature of the embodiment is that encoding or decoding is performed using a parity check matrix H in such a manner that the types of at least one base permutation matrix and a plurality of permutation matrices formed by shifting each row (or column) of the at least one base permutation matrix by a specific number of rows (or columns) are recorded in a base matrix Hb, and then, each time encoding or decoding is needed at the transmitting or receiving side, a parity check matrix H is generated using the at least one base permutation matrix and the base matrix Hb, and encoding or decoding is performed using the generated parity check matrix. In
When the base matrix Hb is considered as having a form of [Hd|Hp] that is divided into two parts Hd and Hp, it is desirable that a block dual diagonal matrix be used for the Hp part. However, the present invention is not limited to this matrix form. The block dual diagonal matrix is a matrix where all elements of a diagonal immediately below or above the main diagonal are identity matrices and the remaining elements are zero matrices. When the Hp part is in the form of a block dual diagonal matrix, the Hp part has a column of weight 1. To avoid this, it is preferable that one or two of the zero matrices be replaced with identity matrices.
The Hd part of the base matrix Hb is formed by combining a base permutation matrix, a plurality of permutation matrices, each of which is formed by shifting each row of the base permutation matrix by a specific number of rows, and a zero matrix. In terms of encoding or decoding performance, it is preferable that the following requirements be considered when forming the base matrix Hb by combining the three types of matrices.
First, the difference between the numbers of permutation matrices of any two types of the plurality of permutation matrices in the base matrix Hb should be a first threshold or less. In other words, it is preferable that the total number of permutation matrices of each type in the base matrix Hb be equal or similar. The less the first threshold is, the more preferable it is. However, values of the first threshold in the range of 3 to 7 are allowable.
Second, it is preferable that no 4-cycle or 6-cycle be present in the parity-check matrix H or the number of 4-cycles or 6-cycles in the parity check matrix H be minimized. Particularly, it is preferable that the parity check matrix H have no 4-cycle. It is also preferable that the parity check matrix H have a smaller number of 6-cycles than a preset second threshold Cmax. The 4-cycle indicates that two arbitrary rows of the parity check matrix H have “1” at two positions. The 6-cycle indicates that any pair of rows selected from three arbitrary rows of the parity check matrix H have “1” at the same position.
Third, all column weights and/or all row weights of the parity check matrix H should have regularity. Using a z×z identity matrix as the base permutation matrix makes it possible to give regularity to all row weights and/or all column weights of the parity check matrix H.
Fourth, the three types of matrices must be combined to form the base matrix Hb so that high encoding and decoding performance is achieved for all code rates and all codeword sizes. Since variable code rates and variable code sizes are applied to recent mobile communication systems, the base matrix Hb must be optimized to achieve high performance for all code rates and all codeword sizes when forming the base matrix Hb by combining the base permutation matrix, the plurality of permutation matrices, each of which is formed by shifting each row of the base permutation matrix by a specific number of rows, and the zero matrix.
As shown in
The dimension “z” of the base permutation matrix must vary as the codeword length varies. In terms of saving memory resources, it is not desirable that base matrices be formed for all dimensions of base permutation matrices and all the base matrices be stored and used for encoding. Thus, it is preferable that only a first base matrix for a first base permutation matrix having the maximum dimension zmax be stored and a base matrix for a second base permutation matrix having a different dimension z be generated using the first base matrix each time it is needed for encoding or decoding.
In this case, the first base matrix may have two or more types of permutation matrices as its elements. Specifically, the entire range of the varying dimension z of the base permutation matrix is divided into two or more ranges, and a permutation matrix type optimized for each of the ranges is set. For example, when the entire range of the varying dimension z is 10 to 96, the entire range is divided into a range of 10 to 53 and a range of 54 to 96 and a first base matrix optimized for each of the ranges is formed. The two first base matrices formed in this manner are not separately stored. Instead, the two types of values are stored as each element of a single first base matrix, thereby increasing encoding or decoding performance and also saving memory resources.
A method for decoding an LDPC code using the parity check matrix H generated from the base matrix Hb described above will now be described. The conventional method for decoding LDPC codes is typically performed by iterating a likelihood value update procedure between check and variable nodes on a bipartite graph, which is a different expression of the parity check matrix H, to improve the reliability of the likelihood values. The method of decoding LDPC codes using the bipartite graph, which is another expression of the parity check matrix H, determines a codeword based on the updated likelihood values. Therefore, the likelihood value update procedure has a direct influence on the performance of the decoder.
The reliability update procedure can be considered as being mainly divided into a check-to-variable node likelihood value update process and a binary-to-check node likelihood value update process. When the check-to-variable node likelihood update is performed, the likelihood value of a given element of the parity check matrix H is updated using likelihood values of other elements in the same row. Moreover, when the variable-to-check node likelihood update is performed, the likelihood value of a given element of the parity check matrix H is updated using likelihood values of other elements in the same column.
The greater the number of times the likelihood values have been updated, the more reliable results (i.e., the more positive effects) the decoder decodes.
A description will now be given of a method for decoding LDPC codes, which exerts more positive effects on the decoder. In an embodiment of the present invention, when a LDPC-encoded received signal, is decoded using the parity check matrix H, the decoding is performed based on a method (hereinafter, referred to as “layered decoding”) in which the received signal is decoded in units of layers, each of which is a group of rows of the parity check matrix H. The layered decoding is characterized in that, if an already updated value is present in the same column as a given element supposed to be updated, when a variable-to-check node likelihood value update is performed, the likelihood value of the given element is updated using the already updated value.
The layered decoding is a method in which the rows of the parity check matrix H in encoding and decoding LDPC codes are divided into a plurality of layers and decoding is iterated for each of the layers. Specifically, when the rows of the parity check matrix H are divided into several groups, each of the groups can be considered as a layer. The layer may also be a single row.
In the layered decoding, reliability update of the same row of the parity check matrix H is performed using likelihood values that have all been subjected to an update procedure of the same level. Specifically, in the layered decoding, check-to-variable node likelihood value update procedure is performed as in the conventional LDPC decoding method. However, the layered decoding is characterized in that the likelihood values are updated on a layer basis in the variable-to-check node likelihood value update procedure (i.e., the procedure for updating likelihood values of a column of the parity check matrix H), and likelihood values included in a specific layer are updated using likelihood values included in an already updated layer. The layered decoding is performed on a layer basis, and, when likelihood values of all layers included in the parity check matrix H have been updated, it is considered that one iteration of the LDPC decoding is completed. More specifically, in the layered decoding method, when calculation for updating likelihood values of a given layer is performed and calculation for updating likelihood values of a next layer is then performed, the calculation results of the given layer (i.e., result messages with updated reliabilities) are used for the calculation of the next layer, which allows more reliable messages (i.e., more updated likelihood values) to be used for the decoding procedure (i.e., the likelihood value update procedure). Repeating this likelihood value update procedure ensures that more reliable messages are used for the decoding procedure. This increases the reliability of likelihood values between check and variable nodes, thereby improving the performance of the decoder. The matrix of
A description will now be given of the basic concept of parallel processing employed in the present invention and prerequisites for performing the layered decoding in a parallel processing fashion.
A description will now be given of such problems caused by the parallel processing for layered decoding and solutions to the problems according to the present invention.
To apply the parallel processing method to the LDPC decoding, it is necessary to avoid not only the problem with simultaneous access to the memory block but also the dependency between data to be processed simultaneously. That is, when it is necessary that a value output from one of a plurality of processing blocks be input to another processing block at the same time, the values must be processed sequentially according to the dependency between the values instead of processing them simultaneously.
An embodiment of the LDPC decoding method according to the present invention is characterized in that, while the parity check matrix H is divided into layers and the layers are sequentially processed in a specific order, specific ones of the layers are decoded in a parallel processing fashion without causing the problems such as the memory collision and the dependency between data to be processed in parallel. The embodiment of the present invention provides a parity check matrix H with no overlap between the specific layers in order to allow data of the specific layers to be processed in parallel. Specifically, in the parity check matrix H according to the embodiment of the present invention, nonzero elements of the specific layers in the parity check matrix H are located at different positions in column direction. In other words, positions in the specific layers of the parity check matrix, where weights are present, are different in column direction.
As described above, in the conventional method for decoding LDPC codes, likelihood values of all rows of an H matrix are updated and likelihood values of all columns of the H matrix are then updated. On the other hand, in the layered decoding method, likelihood values of the rows of an H matrix are updated in units of previously divided groups of rows (layers). This decoding method uses more reliable likelihood values of a previous group, which have already been updated, for calculation for updating likelihood values of second and subsequent groups, thereby improving decoding performance. Despite this advantage, the layered decoding method may cause decoding delay due to having to process only one layer at a time to avoid the problems such as memory collisions and dependency between data to be processed in parallel in specific layers, which are caused by dividing the conventional parity check matrix into the specific layers and processing data of the specific layers in parallel as described above. However, it the parity check matrix is designed so that positions in the specific layers where column weights are present do not overlap as is suggested in the embodiment of the present invention, a number of layers can be processed simultaneously and in parallel.
A description will now be given of how layered decoding is performed in a parallel processing fashion on specific layers using a parity check matrix with no overlap between the specific layers.
A description will now be given of how the order of layers of a base matrix is adjusted so that there is no overlap between specific layers and layered decoding is then performed in a parallel processing fashion using a parity check matrix generated using the adjusted base matrix according to another embodiment of the present invention.
All base matrices formed by permuting the rows of the base matrix shown in
In the above description, higher performance indicates, for example, a better Frame Error Rate (FER). The decoding with the same performance indicates a decoding method that exhibits the same decoding performance, and the encoding with the same performance indicates generation of the same codeword.
A description will now be given of an LDPC decoder that performs LDPC decoding using a variety of base matrices suggested in the present invention.
Each of the units is described below in more detail. The received LLR memory 1420 stores likelihood values of a received signal to be decoded, for example, LLR (Log Likelihood Ratio) values of a codeword of a received signal. The R-memory 1410 stores results “Rmj” of likelihood value update at a specific check node, and the Q-memory 1430 stores results “L(qmj)” of likelihood value update at a specific variable node. The control unit 1210 controls the order of operation of the units and the operation timing thereof. The parity check matrix index storage unit 1240 stores information regarding the positions of weights, etc., of the parity check matrix. The CNU routing network 1220 obtains information regarding the parity check matrix from the parity check matrix index storage unit 1240 and appropriately connects the CNU 1110 to the memories of the memory block 1400. The VNU routing network 1230 obtains information regarding the parity check matrix from the parity check matrix index storage unit 1240 and appropriately connects the VNU 1310 to the memories of the memory block 1400. The hard decision unit 1250 is a unit that determines a decoded value c′ using the Q-memory 1430 and checks the determined decoded value c′. The hard decision unit 1250 outputs the decoded value c′ as a true value if the decoded value c′ satisfies a check equation “Hc′=0” and iterates the decoding up to a specific maximum number of times if the decoded value c′ does not satisfy the check equation.
The decoder 1000 of
A description will now be given of how the LDPC decoder 1000 operates. The LDPC decoder 1000 can perform decoding using a log Belief Propagation (BP) that is an LDPC decoding algorithm. The decoder 1000 operates according to an initialization step, a check node update step, a variable node update step, and a hard decision step. The initialization step includes the step of storing likelihood values of a received signal, which has been transmitted from a transmitting side, in the received LLR memory 1420 and then storing the likelihood values stored in the received LLR memory 1420 in the Q-memory 1430 at a specific position, using the information regarding weights of the parity check matrix stored in the parity check matrix index storage unit 1240. The check node update step includes the step of performing check node update (i.e., check-to-variable node update) using the likelihood values stored in the Q-memory 1430 and storing results of the check node update in the R-memory 1410. The variable node update step includes the step of performing variable node update (i.e., variable-to-check node update) using the likelihood values stored in the R-memory 1410 and storing results of the variable node update in the O-memory 1430. The hard decision step includes the step of temporarily determining a decoded value c′ using the likelihood values stored in the Q-memory 1430, checking the determined decoded value c′, outputting the decoded value c′ if the decoded value c′ is a true value, and iterating the check node update step and the variable node update step up to a specific maximum number of times if the decoded value c′ is not a true value.
If the parity check matrix H used in the decoder 1000 is equal to that of Equation 3, the R-memory 1410 and the Q-memory 1430 stores position values of nonzero elements (i.e., elements having “1”) of the parity check matrix. Thus, the R-memory 1410 and the Q-memory 1430 store the position values as follows.
Since the R-memory 1410 and the Q-memory 1430 only need to store values corresponding to the positions of nonzero elements, they can store the results of processing for the likelihood value update in a structure as shown in
After the procedure up to the process of
A description will now be given of how the LDPC decoder 1000 operates to perform layered decoding in a parallel processing fashion.
According to an embodiment of the present invention, the CNU 1110 and the VNU 1310 of the LDPC decoder 1000 updates likelihood values through processing as expressed by Equation 4. Equation 4 is an equation that is used to perform one iteration of decoding.
The following are definition of variables used in Equation 4.
L(qmj): A Log Likelihood Ratio (LLR) value connected from an mth variable node to a jth check node.
L(qj): A posterior LLR value of a jth variable node.
Rmj: An LLR value connected from a jth check node to an mth variable node.
Amj: A dummy variable for calculation of an LLR value connected from a jth check node to an mth variable node.
Smj: A dummy variable for calculation of the signs of LLR values connected from a jth check node to an mth variable node.
m: check node index of parity check matrix.
j: variable node index of parity check matrix.
Equation 5 is an example of an LLR of a received signal, and Equation 6 is an example of a parity check matrix H used by the decoder 1000 according to an embodiment of the present invention.
LLR=[10.54 8.85 4.43 3.76 9.0 11.37 6.86 8.34 7.75 4.43 8.99 8.02 5.21 10.45 5.3 7.03 6.54 9.67 9.08 7.32 8.23 3.93 6.67 10.31] [Equation 5]
The matrix of Equation 6 is an example of the parity check matrix H used by the decoder 1000 according to the embodiment of the present invention. A single row of the parity check matrix H represents a single layer. Each layer does not overlap adjacent layers. The respective numbers of the CNUs 1110 and the VNUs 1310 of the decoder 1000 are preferably determined based on the structure of the parity check matrix. Layers that do not overlap are processed in parallel. Thus, the number of the CNUs 1110 is more preferably equal to the number of rows included in each of the layers that are processed in parallel, and the number of the VNUs 1310 is more preferably equal to the number of columns of the parity check matrix. Accordingly, the number of the CNUs 1110 of the decoder 1000 that uses Equation 6 is preferably 2 and the number of the VNUs 1310 is preferably 24.
The decoding method shown in
In the decoding method shown in
It will be apparent to those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit and essential characteristics of the invention. Thus, the above embodiments are to be considered in all respects as illustrative and not restrictive. The scope of the invention should be determined by reasonable interpretation of the appended claims and all change which comes within the equivalent scope of the invention are included in the scope of the invention.
The present invention can be applied to communication systems that require encoding and decoding. The present invention can also be applied to various other devices that require encoding and decoding.
The present invention provides an encoding and decoding method using LDPC codes that can improve data encoding or decoding performance at a transmitting or receiving side.
Number | Date | Country | Kind |
---|---|---|---|
10-2004-0110678 | Dec 2004 | KR | national |
10-2005-0003296 | Jan 2005 | KR | national |
10-2005-0101898 | Oct 2005 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2005/004466 | 12/22/2005 | WO | 00 | 12/4/2007 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2006/068435 | 6/29/2006 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6567465 | Goldstein et al. | May 2003 | B2 |
6633856 | Richardson et al. | Oct 2003 | B2 |
6718508 | Lodge et al. | Apr 2004 | B2 |
6757122 | Kuznetsov et al. | Jun 2004 | B1 |
6829308 | Eroz et al. | Dec 2004 | B2 |
6957375 | Richardson | Oct 2005 | B2 |
6961888 | Jin et al. | Nov 2005 | B2 |
7120856 | Zhang et al. | Oct 2006 | B2 |
7133853 | Richardson et al. | Nov 2006 | B2 |
7143333 | Blankenship et al. | Nov 2006 | B2 |
7162684 | Hocevar | Jan 2007 | B2 |
7178082 | Yu et al. | Feb 2007 | B2 |
7188281 | Kim et al. | Mar 2007 | B2 |
7188297 | Blankenship et al. | Mar 2007 | B2 |
7260763 | Sukhobok et al. | Aug 2007 | B2 |
7302629 | Kyung et al. | Nov 2007 | B2 |
7313752 | Kyung et al. | Dec 2007 | B2 |
7343548 | Blankenship et al. | Mar 2008 | B2 |
7373581 | Okamura et al. | May 2008 | B2 |
7415659 | Banister et al. | Aug 2008 | B2 |
7581157 | Oh et al. | Aug 2009 | B2 |
20030033570 | Khannanov et al. | Feb 2003 | A1 |
20040034828 | Hocevar | Feb 2004 | A1 |
20040057575 | Zhang et al. | Mar 2004 | A1 |
20040148560 | Hocevar | Jul 2004 | A1 |
20040194007 | Hocevar | Sep 2004 | A1 |
20080077843 | Cho et al. | Mar 2008 | A1 |
Number | Date | Country |
---|---|---|
1499731 | May 2004 | CN |
1622276 | Feb 2006 | EP |
2003115768 | Apr 2003 | JP |
2007503755 | Feb 2007 | JP |
2004006442 | Jan 2004 | WO |
2004019268 | Mar 2004 | WO |
2004047019 | Jun 2004 | WO |
2004107585 | Dec 2004 | WO |
2006068435 | Jun 2006 | WO |
Entry |
---|
F. Guilloud, “Architecture generique de decodeur de codes LDPC,” These presentee pour obtenir le grade de docteur de l'Ecole nationale superieure des telecommunications, Jul. 2004, XP-002370625. |
E. Shasha et al., “Multi-Rate LDPC code for OFDMA PHY,” IEEE 802.16 Broadband Wireless Access Working Group, IEEE C802.16e-04/185, Jun. 2004, XP-002334837. |
R.G. Gallager, “Low-density parity-check codes,” IRE Transactions on Information Theory, vol. 8, pp. 21-28, Jan. 1962. |
Tong Zhang and Keshab K. Parhi; “Joint code and decoder design for implementation-oriented (3, k)-regular LDPC codes.” Conference Record of the Thirty-Fifth Asilomar Conference on Signals, Systems and Computers, vol. 2, Nov. 4-7, 2001 pp. 1232-1236. |
Tong Zhang and Keshab K. Parhi; “VLSI Implementation-Oriented (2,k)-Regular Low-Density Parity-Check Codes,” IEEE Workshop on Signal Processing Systems; Sep. 26-28, 2001 pp. 25-36. |
Tong Zhang and Keshab K. Parhi; “A 54 MBPS (3,6)-Regular FPGA LDPC Decoder,” IEEE Workshop on Signal Processing Systems; Oct. 16-18, 2002 pp. 127-132. |
Yazdani, M.R., “On Construction of Rate-Compatible Low-Density Parity-Check Codes”, IEEE Communications Letters, vol. 8, No. 3, Mar. 2004. |
Classon, B., et al., “LDPC Coding for OFDMA PHY”, IEEE 802.16 Broadband Wireless Access Working Group, IEEE C802.16e-04/374, Aug. 24, 2004. |
Joo, P., et al., “LDPC Coding for OFDMA PHY”, IEEE 802.16 Broadband Wireless Access Working Group, IEEE C802.16d-04/86r1, XP-002438609, May 1, 2004. |
Oh et al., “Informative: LDPC parallel processing in IEEE802.16e,” IEEE 802.16 Broadband Wireless Access Working Group, IEEE C802.16e-06/168, Mar. 2005. |
Classon et al., “LDPC coding for OFDMA PHY,” IEEE 802.16 Broadband Wireless Access Working Group, IEEE C802.16e-05/006, Jan. 2005, XP-002509951. |
Classon et al., “LDPC coding for OFDMA PHY,” IEEE 802.16 Broadband Wireless Access Working Group, IEEE C802.16e-04/372, Aug. 2004, XP-002593119. |
Classon, et al., “LDPC coding for OFDMA PHY”, IEEE C802.16e-04/278r1, Aug. 2004. |
Classon, et al., “LDPC coding for OFDMA PHY”, IEEE C802.16E-04/374, Aug. 2004. |
Classon, et al., “LDPC coding for OFDMA PHY”, IEEE C802.16E-05/0066r3, Jan. 2005. |
Xu, et al., “High Girth LDPC coding for OFDMA PHY”, IEEE C802.16e-05/031r1, Jan. 2005. |
Oh, et al., “LDPC coding for OFDMA PHY”, IEEE C802.16e-04/487r3, Nov. 2004. |
B. Kiernan, “IEEE 802.16 TGe Session #35 Meeting Minutes”, IEEE 802.16 Broadband Wireless Access Working Group, IEEE 802.16e-05/003, Jan. 2005. |
G. Even et al., “A dual precision IEEE floating-point multiplier”, Integration, The VLSI Journal, vol. 29, No. 2, Sep. 2000, pp. 167-180, XP-004237637. |
The Math Forum @ Drexel: Teaching Rounding Rules, Aug. 27, 2003. |
Classon, B., et al., “LDPC Coding for OFDMA PHY”, IEEE 802.16 Broadband Wireless Access Working Group, IEEE C802.16e-04/278r1, Aug. 17, 2004. |
Classon, B., et al., “LDPC Coding for OFDMA PHY,” IEEE 802.16 Broadband Wireless Access Working Group, IEEE C802.16e-05/066r3, Jan. 27, 2005. |
Index of /tge/contrib, pp. 1 and 40, Date: Unknown. |
IEEE 802.16e Task Group (Mobile WirelessMAN®), pp. 1, 4, 31-34, Date: Unknown. |
European Patent Office Application Serial No. 05756780.2, Office Action dated May 31, 2012, 11 pages (Relevant p. 7 (identified at top of page as “Sheet 4”)). |
Number | Date | Country | |
---|---|---|---|
20080077843 A1 | Mar 2008 | US |