Optimising an input signal for a system to minimise distortion of output signal I have a discrete time-series signal which I am able to process before passing it through a system which distorts said signal. This system cannot be altered and is non-linear, but a signal can be passed through as many times as is needed (for iterative optimisation algorithms, for example). I would like to optimise the signal so that the output of the system is as similar to the original input signal as possible.

I'm currently unclear on exactly what problem I'm trying to solve is and would appreciate advice on potential approaches? I understand the concept of system identification, which gives me insight into what the system is doing, but am unsure how to apply this to the signal to try and counter these effects.
System is non linear so all bets are off.

Jokes aside though, wouldn't you just characterize the system, then generate an inverse system that the signal passes through first such that the effects of the original system are cancelled out?

Edit: another potential solution is to 'linearize' the system by finding the characteristics of it, then scaling your input signal such that the system behaves in a linear way. Then follow the inverse idea that I gave in my original comment.