Advances In Protograph-Based Ldpc Codes And A Rate Allocation Problem