Principles of Digital Communication and Coding by Andrew J. Viterbi, Jim K. Omura & Engineering