LDPC decoders using fixed and adjustable permutators

Uloženo v:
Podrobná bibliografie
Název: LDPC decoders using fixed and adjustable permutators
Patent Number: 8,161,345
Datum vydání: April 17, 2012
Appl. No: 12/260608
Application Filed: October 29, 2008
Abstrakt: In one embodiment, the present invention is a low-density parity-check (LDPC) decoder that has a plurality of variable node units (VNUs) that generate variable node messages and a plurality of check node units (CNUs) that generate check node messages. The variable node messages and check node messages are distributed between the VNUs and CNUs using a number r of combinations of permutators, wherein each permutator combination includes (i) a cyclic shifter and (ii) a fixed, non-cyclic permutator. The cyclic shifters are capable of supporting a number p of different cyclic LDPC sub-matrices; however, when combined with different fixed permutators, the permutator combinations are capable of supporting up to r×p different LDPC sub-matrices. In other embodiments, the LDPC decoder may have fewer than r fixed permutators such that the LDPC decoder is capable of supporting between p and r×p different LDPC sub-matrices.
Inventors: Graef, Nils (Milpitas, CA, US)
Assignees: Agere Systems Inc. (Allentown, PA, US)
Claim: 1. An apparatus for decoding a low-density parity-check (LDPC) encoded signal, the apparatus comprising: a plurality of variable node units (VNUs) adapted to generate variable node messages; a plurality of check node units (CNUs) adapted to generate check node messages; and a plurality of paths interconnecting the VNUs and CNUs and adapted to distribute the variable node messages and the check node messages between the VNUs and the CNUs, wherein: the plurality of paths comprises a first path that distributes messages using a combination of cyclic permutation and non-cyclic permutation.
Claim: 2. The apparatus of claim 1 , wherein the plurality of paths further comprises a second path that does not use a combination of cyclic permutation and non-cyclic permutation to distribute messages.
Claim: 3. The apparatus of claim 1 , wherein the plurality of paths further comprises a second path that distributes messages using a combination of cyclic permutation and non-cyclic permutation, wherein the non-cyclic permutation performed by the second path is different from the non-cyclic permutation performed by the first path.
Claim: 4. The apparatus of claim 1 , wherein the cyclic permutation of the first path is performed using an adjustable barrel shifter.
Claim: 5. The apparatus of claim 1 , wherein the non-cyclic permutation of the first path is performed using a fixed permutator.
Claim: 6. The apparatus of claim 1 , wherein the plurality of paths comprises: a first set of paths that distribute the variable node messages from the VNUs to the CNUs using a first combination of cyclic permutation and non-cyclic permutation; and a second set of paths that distribute the check node messages from the CNUs to the VNUs using a second combination of cyclic permutation and non-cyclic permutation that is opposite of the cyclic permutation and non-cyclic permutation performed by the first combination.
Claim: 7. The apparatus of claim 6 , wherein the first set of paths comprises a plurality of different subsets of paths, each different subset of paths comprising a different fixed permutator and an equivalent adjustable barrel shifter.
Claim: 8. The apparatus of claim 7 , wherein each different fixed permutator is implemented as a set of connections between (i) a corresponding set of the VNUs and (ii) input ports of the corresponding adjustable barrel shifter.
Claim: 9. The apparatus of claim 1 , wherein the apparatus is an integrated circuit.
Claim: 10. The apparatus of claim 1 , wherein the apparatus is an LDPC decoder.
Claim: 11. A method for decoding a LDPC encoded signal, the method comprising: (a) generating variable node messages using a plurality of variable node units (VNUs); (b) generating check node messages using a plurality of check node units (CNUs); and (c) distributing the variable node messages and the check node messages between the VNUs and the check node units CNUs using a plurality of paths, wherein: the plurality of paths comprises a first path that distributes messages using a combination of cyclic permutation and non-cyclic permutation.
Claim: 12. The method of claim 11 , wherein in step (c), the plurality of paths comprises a second path that does not use a combination of cyclic permutation and non-cyclic permutation to distribute messages.
Claim: 13. The method of claim 11 , wherein in step (c), the plurality of paths further comprises as second path that distributes messages using a combination of cyclic permutation and non-cyclic permutation, wherein the non-cyclic permutation performed by the second path is different from the non-cyclic permutation performed by the first path.
Claim: 14. The method of claim 11 , wherein the cyclic permutation of the first path is performed using an adjustable barrel shifter.
Claim: 15. The method of claim 11 , wherein the non-cyclic permutation of the first path is performed using a fixed permutator.
Claim: 16. The method of claim 11 , wherein the plurality of paths comprises: a first set of paths that distribute the variable node messages from the VNUs to the CNUs using a first combination of cyclic permutation and non-cyclic permutation; and a second set of paths that distribute the check node messages from the CNUs to the VNUs using a second combination of cyclic permutation and non-cyclic permutation that is opposite of the cyclic permutation and non-cyclic permutation performed by the first combination.
Claim: 17. The method of claim 16 , wherein the first set of paths comprises a plurality of different subsets of paths, each different subset of paths comprising a different fixed permutator and an equivalent adjustable barrel shifter.
Claim: 18. The method of claim 17 , wherein each different fixed permutator is implemented as a set of connections between (i) a corresponding set of the VNUs and (ii) input ports of the corresponding adjustable barrel shifter.
Current U.S. Class: 714/752
Patent References Cited: 7181676 February 2007 Hocevar
7783952 August 2010 Nimbalker et al.
2005/0193320 September 2005 Varnica et al.
2005/0204255 September 2005 Yeh et al.
2005/0283707 December 2005 Sharon et al.
2006/0107181 May 2006 Dave et al.
2006/0285852 December 2006 Xi et al.
2007/0011569 January 2007 Vila Casado et al.
2007/0011573 January 2007 Farjadrad et al.
2007/0011586 January 2007 Belogolovyi et al.
2007/0044006 February 2007 Yang et al.
2007/0071009 March 2007 Nagaraj et al.
2007/0089016 April 2007 Bhatt et al.
2007/0089019 April 2007 Tang et al.
2007/0124652 May 2007 Litsyn et al.
2007/0147481 June 2007 Bottomley et al.
2007/0162788 July 2007 Moelker
2007/0234178 October 2007 Richardson et al.
2007/0234184 October 2007 Richardson
2008/0082868 April 2008 Tran et al.
2008/0104485 May 2008 Lyakh et al.
2008/0109701 May 2008 Yu et al.
2008/0126910 May 2008 Venkatesan et al.
2008/0148129 June 2008 Moon
2008/0163032 July 2008 Lastras-Montano
2008/0235561 September 2008 Yang
2008/0263425 October 2008 Lakkis
2008/0276156 November 2008 Gunnam et al.
2008/0301521 December 2008 Gunnam et al.
2009/0273492 November 2009 Yang et al.
2009/0276682 November 2009 Lakkis
2010/0042806 February 2010 Gunnam
2010/0042890 February 2010 Gunnam
2010/0042897 February 2010 Han et al.
2010/0287437 November 2010 Dore et al.
WO 2010/019168 February 2010








































Other References: Cavus et al., “A Performance Improvement and Error Floor Avoidance Technique for Belief Propagation Decoding of LDPC Codes,” IEEE 16th International Symposium, Personal, Indoor & Mobile Radio Communications (PIMRC), Berlin, Germany Sep. 11-14, 2005, pp. 2386-2390. cited by other
Cavus, Enver et al., “An IS Simulation Technique for Very Low Ber Performance Evaluation of LDPC Codes,” IEEE International Conference on Communications, Jun. 1, 2006, pp. 1095-1100. cited by other
Cole, Chad A. and Hall, Eric K., “Analysis and Design of Moderate Length Regular LDPC Codes with Low Error Floors,” Proc, 40th Conf. Information Sciences and Systems, Princeton, NJ, 2006, 6 pgs. cited by other
Richardson, Tom, “Error Floors of LDPC Codes,” Allerton Conf. on Communication, Control and Computing, (Monticello, Illinois), Oct. 2003, pp. 1426-1435. cited by other
Gunnam, Kiran K., Choi, Gwan S., and Yeary, Mark B., “Technical Note on Iterative LDPC Solutions for Turbo Equalization,” Texas A&M Technical Note, Department of ECE, Texas A&M University, College Station, TX 77843, Jul. 2006 (available online at http://dropzone.tamu.edu), pp. 1-5. cited by other
Vila Casado, Andres I., Weng, Wen-Yen and Wesel, Richard D. “Multiple Rate Low-Density Parity-Check Codes with Constant Blocklength,” IEEE 2004, pp. 2010-2014. cited by other
Vila Casado, Andres I. “Variable-rate Low-denisty Parity-check Codes with Constant Blocklength,” UCLA Technologies Available for Licensing Copyright © 2009 The Regents of the University of California. http://www.research.ucla.edu/tech/ucla05-074.htm (2 pages). cited by other
Vila Casado, Andres I., Weng, Wen-Yen, Valle, Stefano and Wesel, Richard D. “Multiple-Rate Low-Density Parity-Check Codes with Constant Blocklength,” IEEE Transactions on Communications, vol. 57, No. 1, Jan. 2009; pp. 75-83. cited by other
Kiran Gunnam, Gwan Choi, Mark Yeary—“An LDPC decoding schedule for memory access reduction”, IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP) 2004, pp. 173-176, vol. 15. cited by other
Stefan Landner, Olgica Milenkovic—“Algorithmic and Combinatorial Analysis of Trapping Sets in Structured LDPC Codes”, International Conference on Wireless Networks, Communications and Mobile Computing, 2005, pp. 630-635, vol. 1. cited by other
Hao Zhong,Tong Zhang—“Block-LDPC: A Practical LDPC Coding System Design Approach”, IEEE transactions on circuits and systems—I: Regular Papers, Apr. 2005, pp. 766-775, vol. 52. cited by other
Kiran K. Gunnam, Gwan S. Choi, Weihuang Wang, Euncheol Kim, and Mark B. Yeary—“Decoding of Quasi-cyclic LDPC Codes Using an On-the-Fly Computation”, Fortieth Asilomar Conference on Signals, Systems and Computers (ACSSC), 2006, pp. 1192-1199. cited by other
Thomas J. Richardson and Rudiger L. Urbanke—“Efficient Encoding of Low-Density Parity-Check Codes”, IEEE Transactions on Information Theory, Feb. 2001,pp. 638-656,vol. 47, No. 2. cited by other
Tom Richardson—“Error Floors of LDPC Codes”, IEEE Transactions on Information Theory, Feb. 2001, pp. 1426-1435,vol. 47, No. 2. cited by other
E. Papagiannis, C. Tjhai, M. Ahmed, M. Ambroze, M. Tomlinson—“Improved Iterative Decoding for Perpendicular Magnetic Recording”, The ISCTA 2005 Conference on Feb. 4, 2005,pp. 1-4. cited by other
Kiran K. Gunnam, Gwan S. Choi, and Mark B. Yeary—“A Parallel VLSI Architecture for Layered Decoding for Array LDPC Codes”, 20th International Conference on VLSI Design, 2007,6th International Conference on Embedded Systems, Jan. 2007 pp. 738-743. cited by other
David J.C. Mackay—“Information Theory, Inference, and Learning Algorithms”, Cambridge University Press Sep. 2003, pp. 640. cited by other
R. Michael Tanner, Deepak Sridhara, Arvind Sridharan, Thomas E. Fuja, and Daniel J. Costello, Jr—“LDPC Block and Convolutional Codes Based on Circulant Matrices”, IEEE Transactions on Information Theory, Dec. 2004, pp. 2966-2984, vol. 50, No. 12. cited by other
Amin Shokrollahi—“LDPC Codes: An Introduction, In Coding, Cryptography and Combinatorics”,Computer Science and Applied Logic, Birkhauser, Basel, 2004, pp. 85-110, vol. 23. cited by other
Yang Han and William E. Ryan—“LDPC Decoder Strategies for Achieving Low Error Floors”, Proceedings of Information Theory and Applications Workshop, San Diego, CA, Jan. 2008, pp. 1-10. cited by other
Mohammad M. Mansour and Naresh R. Shanbhag—“Low Power VLSI decoder architectures for LDPC codes” International Symposium on Low Power Electronics and Design Proceedings of the 2002 , ICIMS Research Center, 2002, pp. 284-289. cited by other
Dale E. Hocevar—“A Reduced Complexity Decoder Architecture Via Layered Decoding of LDPC Codes”, IEEE Workshop on Signal Processing Systems, 2004, pp. 107-112. cited by other
Robert G. Gallager—“Low Density Parity—Check Codes”,Cambridge Mass Jul. 1963,p. 90. cited by other
T. Richardson and R. Urbanke—“Modern Coding Theory”, Cambridge University Press, Preliminary version—Oct. 18, 2007, p. 590. cited by other
Kiran Gunnam, Gwan Choi, Weihuang Wang, Mark Yeary—“Multi-Rate Layered Decoder Architecture for Block LDPC Codes of the IEEE 802, 11n Wireless Standard”, IEEE International Symposium on Circuits and Systems (ISCAS) 2007, pp. 1645-1648. cited by other
Kiran K. Gunnam, Gwan S. Choi, Mark B. Yeary, Shaohua Yang and Yuanxing Lee—“Next Generation Iterative LDPC Solutions for Magnetic Recording Storage”, 42nd Asilomar Conference on Signals, Systems and Computers, 2008, pp. 1148-1152. cited by other
D.J.C. Mackay and R.M. Neal—“Near Shannon limit performance of low density parity check codes”, Electronics Letters Mar. 13, 1997, pp. 458-459, vol. 33 No. 6. cited by other
Jinghu Chen, Ajay Dholakia, Evangelos Eleftheriou, Marc P. C. Fossorier, Xiao-Yu Hu, “Reduced-Complexity Decoding of LDPC Codes”, IEEE Transactions on Communications, Aug. 2005, pp. 1288-1299,vol. 53, No. 8. cited by other
Kiran K. Gunnam, Gwan S. Choi, Mark B. Yeary and Mohammed Atiquzzaman—“VLSI Architectures for Layered Decoding for Irregular LDPC Codes of WiMax”, IEEE International Conference on Communications (ICC), 2007, pp. 4542-4547. cited by other
Andrew J. Blanksby and Chris J. Howland—“A 690-mW 1-Gb/s 1024-b, Rate-1/2 Low-Density Parity-Check Code Decoder”, IEEE Journal of Solid-State Circuits, Mar. 2002.pp. 404-412,vol. 37, No. 3. cited by other
Kiran Gunnam, Weihuang Wang, Gwan Choi, Mark Yeary—“VLSI Architectures for Turbo Decoding Message Passing Using Min-Sum for Rate-Compatible Array LDPC Codes”, 2nd International Symposium on Wireless Pervasive Computing (ISWPC), 2007, pp. 561-566. cited by other
Kiran K. Gunnam, Gwan S. Choi, Weihuang Wang, and Mark B. Yeary—“A Parallel VLSI Architecture for Layered Decoding”,Proceedings of the 20th International Conference on VLSI Design, 6th International Conference: Embedded Systems, 2007, pp. 738-743. cited by other
R.Michael Tanner—“A Recursive Approach to Low Complexity Codes”,IEEE transaction on Information Theory, Sep. 1981, pp. 533-547,vol. IT-27, No. 5. cited by other
Mohammad M. Mansour, and Naresh R. Shanbhag—“A 640-Mb/s 2048-Bit Programmable LDPC Decoder Chip”, IEEE Journal of Solid-State Circuits, Mar. 2006, pp. 684-698,vol. 41, No. 3. cited by other
Badri N. Vellambi R, and Faramarz Fekri, “An Improved Decoding Algorithm for Low-Density Parity-Check Codes over the Binary Erasure Channel”, IEEE GLOBECOM 2005 proceedings, pp. 1182-1186. cited by other
Yang Han, William E. Ryan—“Low-Floor Decoders for LDPC Codes”, IEEE Transactions on Communications, vol. 57, No. 6, Jun. 2009, pp. 1663-1673. cited by other
PCT International Search Report dated Feb. 9, 2009 from International Application No. PCT/US 08/86537. cited by other
PCT International Search Report dated May 15, 2009 from International Application No. PCT/US 09/39279. cited by other
PCT International Search Report dated Feb. 12, 2009 from International Application No. PCT/US 08/86523. cited by other
PCT International Search Report dated May 28, 2009 from International Application No. PCT/US 09/41215. cited by other
PCT International Search Report dated May 15, 2009 from International Application No. PCT/US 09/39918. cited by other
Primary Examiner: Chu, Gabriel
Attorney, Agent or Firm: Mendelsohn, Drucker & Associates, P.C.
Brown, Craig M.
Mendelsohn, Steve
Přístupové číslo: edspgr.08161345
Databáze: USPTO Patent Grants
Popis
Abstrakt:In one embodiment, the present invention is a low-density parity-check (LDPC) decoder that has a plurality of variable node units (VNUs) that generate variable node messages and a plurality of check node units (CNUs) that generate check node messages. The variable node messages and check node messages are distributed between the VNUs and CNUs using a number r of combinations of permutators, wherein each permutator combination includes (i) a cyclic shifter and (ii) a fixed, non-cyclic permutator. The cyclic shifters are capable of supporting a number p of different cyclic LDPC sub-matrices; however, when combined with different fixed permutators, the permutator combinations are capable of supporting up to r×p different LDPC sub-matrices. In other embodiments, the LDPC decoder may have fewer than r fixed permutators such that the LDPC decoder is capable of supporting between p and r×p different LDPC sub-matrices.