Signal Processing for Communications by Paolo Prandoni & Martin Vetterli