Signal Processing for communications