An application of LDPC codes

258 Views Asked by At

The following problem is an application of LDPC codes in communication system that I encountered and I am trying to verify if it is correct, as there is no explanation given within the text.

A $\frac{3}{4}$ LDPC parity check matrix is being used to encode incoming bits of length $x$ bits.

The Application states that:

  • The maximal number of data bits is $168$ bits (which I agree as $(\frac{n-k}{n}=\frac{3}{4} \rightarrow k = 168)$.

  • The number of LDPC codewords is calculated as $$N_{CW} =1+\lceil \frac{x}{168}\rceil$$

  • The number of bits in the codeword

    $$L_{DCW} =\lceil \frac{x}{N_{CW}-1}\rceil$$

    • It is then stated that each data word is padded with zeros to create 504 total bits and to each data word 168 parity bits are added to create the final codeword $c$ such that $Hc^T=0$ ($H$ being the parity check matrix)

$$ c= B_1\cdots B_{L_{DCW}},0,\cdots,0,p_1,\cdots,p_{168} $$

My questions:

  1. Why do we have 1+ term in $N_{CW}$. More precisely I would have thought that the number of codeword should be $$N_{CW} =\lceil \frac{x}{168}\rceil$$

  2. How come we need to recalculate the number of bits, in other words why is that $L_{DCW}\neq 168$

  3. Why are bits padded with zeroes to end up with length of 504 ? and why is it that it happens to be that the parity bits are 168 bits in length equal to number of maximal data bits?

Any thoughts ?