Issue No. 12 - December (2011 vol. 60)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2010.210
Todor Mladenov , Gwangju Institute of Science and Technology, Gwangju
Kiseon Kim , Gwangju Institute of Science and Technology, Gwangju
Saeid Nooshabadi , Michigan Technological University, Houghton
Raptor codes have been proven very suitable for mobile broadcast and multicast multimedia content delivery, and yet their computational complexity has not been investigated in the context of embedded systems. At the heart of Raptor codes are the matrix inversion and vector decoder operations. This paper analyzes the performance, energy profile, and resource implication of two matrix inversion and decoding algorithms; Gaussian elimination (GE) and third Generation Partnership Group (3GPP) standard (SA), for the Raptor decoder on a system on a chip (SoC) platform with a soft-core embedded processor. We investigate the effect of the cache size, memory type, and mapping on the performance of the two algorithms under consideration. We show that with an appropriate data to memory mapping, a speedup factor of 5.77 can be obtained for GE with respect to SA. This paper also proposes a dedicated peripheral hardware block that achieves 5.90 times better performance compared with the software, requiring an energy consumption that is lower by a factor of 5.5, when the symbol size and the data path word length are small (32 bits). We show that with parallel processing in hardware, using the wider word lengths, and employing bigger symbol sizes T, we can improve the performance, while reducing the energy consumption. Extending the hardware word length and symbol size T to 128 bits will result in a performance improvement factor of 6.73 in favor of the hardware; while energy consumption reduces by a factor of 3.8.
Raptor codes, decoder, sparse matrix, hardware/software codesign, system on a chip, embedded system.
Todor Mladenov, Kiseon Kim, Saeid Nooshabadi, "Implementation and Evaluation of Raptor Codes on Embedded Systems", IEEE Transactions on Computers, vol. 60, no. , pp. 1678-1691, December 2011, doi:10.1109/TC.2010.210