In one embodiment of the present disclosure, a K/N rate LPDC parity check matrix Hn may be generated, at the LDPC matrix generator 302, from a M×N parity check matrix H, with a lifting factor of Z, where M=I×Z, N=J×Z, I and J are integers>=2. As shown in FIG. 8, the M×N parity check matrix H may be further partitioned into square submatrices of size Z×Z (step 802). The partitioned parity check matrix H contains submatrices of (M/Z) rows×(N/Z) columns. In other words, the partitioned parity check matrix H contains M/Z check nodes and N/Z variable nodes. The K/N rate LPDC code may be obtained by generating a new parity check matrix Hn, with the lifting factor Z, from the partitioned parity check matrix H. In particular, the LDPC matrix generator 302 may select m1 rows from the M/Z rows of submatrices of the partitioned parity check matrix H (step 804), where m1>=2, and add m1 rows of the submatrices of the partitioned parity check matrix H as one new row of submatrices of the new matrix Hn (step 806). Each of the remaining rows ((M/Z)?m1) of submatrices of the partitioned parity check matrix H becomes one row of the new matrix Hn. In this case, the new parity check matrix Hn contains submatrices of ((M/Z)?m1+1) rows×(N/Z) columns. In other words, the new parity check matrix Hn contains (((M/Z)?m1+1)×Z)=N?K.