nonlinearity compensation