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:
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$$
How come we need to recalculate the number of bits, in other words why is that $L_{DCW}\neq 168$
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 ?