Signal Processing for Compensation of Nonlinear Communication Systems