Cellular Communications Systems in Congested Environments: Resource Allocation and End-to-End Quality of Service Solutions with MATLAB