Nonlinear compensation