Precompensation and windowing for nonlinear frequency-division multiplexing