Noisy Channel Coding Theorem and Capacity