Information Theory and Reliable Communication by Robert G. Gallager & Robert G. Gallagher