Joint Source-Channel Decoding of Huffman Codes withLDPC CodesZhonghui Mei and Lenan WuAbstract In this paper, we present a joint source-channel decoding algorithm (JSCD) forLDPC codes by exploiting the redundancy of the Huffman coded sources.When the numberof Huffman codes increases, just a moderate complexity is added for our algorithm byincreasing the size of the lookup table, which is used to estimate the information bitprobability based on the source redundancy.Key words - LDPC, Variable length codes (VLC), Huffman code, sum-product algorithm(SPA), joint source-channel decoding (JSCD)I. INTRODUCTIONRecently in [1]-[4] several joint source-channel decoding algorithms for variable length codes(VLC) have been proposed. All of these algorithms consider the overall sequence of variablelength codeword to exploit the source redundancy. The drawback is that the symbols have to besynchronized in order to limit error propagating. Furthermore, when the number of VLCincreases, the decoding complexity of these algorithms explodes.In this paper we present a JSCD algorithm for LDPC codes in combination with Huffmancoded sources. The error correcting property of our JSCD algorithm mainly depends on channelcodes rather than source redundancy. In order to exploit the source redundancy, we estimate theinformation bit probability with just some corresponding bits before it, which simplifies thedecoding algorithm significantly.The rest of the paper is organized as follows. Section II presents the Huffman coded sourcemodel. The JSCD algorithm for LDPC codes is described in section III. Section IV provides thesimulation results. Section V concludes this paper.II. HUFFNAN CODED SOURCE MODELLet denotes a sequence of information bits coded by VLC (e.g. aHuffman code). In [1], [3] and [4], they consider the overall sequence and express the sourceredundancy with . In order to compute , [3] and [4] design atrellis to illustrate statistics of the source sequence. When the number of the trellis statesincreases, the computational complexity of will rise explosively.],......,,,[321n s s s s S =),......,,,()(21n s s s s p S p =)(S p )(S p In this paper, we make use of the source redundancy with , as isillustrated in Fig.1 and table 1. k is chose to be larger than the maximum length of Huffmancodes. When the number of VLC increases, we only need to expand the lookup table. In addition,for we just estimate one bit probability with a small part bit of the information sequence everytime, the error propagation phenomenon has been avoided successfully.]),......,,[|(11−+−−i k i k i i s s s s pFor the last case of Table 1, we can not decide )0(=i s p and )1(=i s p with the giveninformation ,so just assume 5.0)1()0(====i i s p s p . In the following of this paper, weonly consider the Huffman codes as shown in Fig.1 and table 1.3−i s 2−i s 1−i s )0(=i s p )1(=i s p0 0 0 p(a) p(b)+p(c)0 0 1 p(b)/(p(b)+p(c))p(c)/(p(b)+p(c))0 1 0 p(a) p(b)+p(c)0 1 1 p(a) p(b)+p(c)1 0 0 p(a) p(b)+p(c)1 0 1 p(b)/(p(b)+p(c))p(c)/(p(b)+p(c))1 1 0 p(a) p(b)+p(c)1 1 1 0.50.5 Fig.1. Huffman code Table 1. lookup table for estimating bit probabilityIII .THE JSCD ALGORITHMIn order to exploit the redundancy of Huffman coded sources described in the previous section,we present a JSCD algorithm for LDPC codes by modifying sum-product algorithm [5].Our JSCD algorithm separates the variable nodes into two classes: one corresponding to checkbits and the other to information bits. For variable nodes corresponding to checkbits,,,and (denotes message passing fromvariable node j to check node i, denotes the outgoing message) are computed in thesame way as SPA does; otherwise, they are computed as follows: )}0({iter ji q )}1({iter ji q )0(=i iter s Q )1(=i iter s Q iterji q )(i iter s Q ),,()0()|0()0(1230''\−−−∈××==∏i i i C j iter ij i i ij iter ij s s s f r r s p k q j i ∏∈−−−−−−××=∝j i C j iter i iter i iter i iter i j i i ij b b b f r r s p k \')1(1)1(2)1(30'),,()0()|0( (1) Where is a constant chosen to ensure that .ij k ⇒1)1()0(=+iter ij iter ij q q denotes the check nodes connected to variable node excluding check node j i C \⇒i j .denotes message passing from check node to variable node .iter i j r '⇒'j i is a table lookup function for ),,(1230−−−i i i s s s f ⇒)0(=i s p as is shown in Table 1.is set to be)1(−iter i b ⇒⎩⎨⎧>−elseQ when iter 05.01)1(),,()1()|1()1(1231''\−−−∈××==∏i i i C j iter i j i i ij iter ij s s s f r r s p k q j i),,()1()|1(11)1(2)1(31''\−−−−−−∈××=∝∏iter i iter i iter i C j iter ij i i ij b b b f r r s p k j i (2) Where is a table lookup function for ),,(1231−−−i i i s s s f ⇒)1(=i s p .∏∈−−−××===iC j i i i iter ji i i i i iter s s s f r r s p k s Q ),,()0()|0()0(1230∏∈−−−−−−××=∝iC j iter i iter i iter i iter ji i i i b b b f r r s p k ),,()0()|0()1(1)1(2)1(30 (3) Where is a constant chosen to ensure .i k ⇒1)1()0(==+=i iter i iter s Q s Q denotes check nodes connected to variable node i.i C ⇒∏∈−−−××===iC j i i i iter ji i i i i iter s s s f r r s p k s Q ),,()1()|1()1(1231∏∈−−−−−−××=∝iC j iter i iter i iter i iter ji i i i b b b f r r s p k ),,()1()|1()1(1)1(2)1(31 (4) According to the JSCD algorithm, the last components of equations (1), (2), (3), and (4) areused to take account of the redundancy of Huffman coded sources.IV. SIMULATION RESULTSFig.2. BER performance of JSCD and SPA Fig.3. SER performance of JSCD and SPAIn this section, we present the simulation results of the JSCD algorithm provided in theprevious section. All simulations are performed with a BPSK modulation via the AWGN channel.The code rate is chosen to be and block length 2/1=c r 8000=n . The performance of theJSCD algorithm are evaluated with 08.0)(,02.0)(,9.0)(===c p b p a p and20.0)(,05.0)(,75.0)(===c p b p a p , respectively.From Fig.2 and Fig.3, we can see that the JSCD algorithm outperforms the SPA algorithm dueto exploiting the redundancy of the sources. Furthermore, when there is more redundancy in thesources, better performance of the JSCD algorithm can be achieved.V. CONCLUSIONSThe contributions in this work are: (1) we only take a small part of bits of informationsequence block to exploit the redundancy of Huffman coded sources, which can decrease thedecoding algorithm complexity significantly; and (2) we present a JSCD algorithm for LDPCcodes by modifying SPA to take account of the source redundancy.REFERENCE[1] Arnaud Guyader,Eric Fabre, “Joint source-channel turbo decoding of entropy-coded sources,”IEEE J. Select Areas Commun, vol. 19, pp.1680-1696, September, 2001.[2] Ksenija Lakovic and John Villasenor, “Combining Variable Length Codes and Turbo codes,”IEEE Vehicular Technology Conference, pp.1719-1723, 2002.[3] L. Guivarch, J.C. Carlach, and P. Siohan, “Joint source-channel soft decoding of Huffmancodes with turbo codes,” IEEE Data Compression Conference, DCC, pp.82-92, March 2000.[4] K. P. Subbalakshmi and Jacques Vaisey, “On the Joint Source-Channel Decoding ofVariable-Length Encoded Sources: The Additive-Markov Case,” IEEE Trans. Commun., vol51, pp.1420-pp.1425, September, 2003.[5] William E.Ryan, “An Introduction to LDPC Codes”, CRC Press, 2004.。