choosing an input signal for system identificaiton
conceptually, any driving signal with bandwidth that covers the maximum expected bandwidth of the system being identified is sufficient.  you drive input and synchronously measure input and output, use the FFT to compute the spectra of both input and output, divide the output spectrum by the input spectrum, inverse FFT the resulting spectrum and you have the impulse response.  at least if nothing bad happened, like the system went non-linear because the driving signal exceeded some bounds of saturation.  or if the amplitude of the driving signal was so low that the result of the division has measurement and numerical errors.

so the whole idea of a good driving function is one that does not exceed limits of linearity in the device, yet delivers a lot of energy to reduce measurement and numerical error.  a measure of efficacy for a driving signal is crest factor, which is the ratio of the maximum signal amplitude to the r.m.s. amplitude.  the lower the crest factor, the better.  it means more energy driving the device under test while remaining within maximum limits.

the impulse driving function is natural in that what is measured at the output is the impulse response.  making the nascent impulse thin enough to have wide bandwidth might mean that the input energy is small.  you would need to measure the impulse response several times by driving the system with a train of impulses, spaced apart sufficiently (longer than any expected impulse response) and synchronously average the results.  but the impulse train will be zero most of the time, and if you limit the impulse height to prevent saturation, then the driving signal has low power and your wait is longer in collecting data.

a single sine wave is not sufficiently broadbanded.  it will tell you only how that system behaves at the frequency of the sine.  a collection of added sinusoids at various frequencies will give you a better broadbanded result, but might add up to a spiky driving signal if all of the phases are the same.  scrambling the phases can help, but finding the best "random" phases can be ad hoc.

a swept-frequency sinusoid is a popular driving signal and there is some theory behind it, if the swept frequency varies linearly with time.  if log-frequency is swept linearly with time, the preceding theory no longer applies.  the crest factor is $\sqrt{2}$.

another possible driving signal is a bipolar maximum-length sequence, which is $(-1)^{a[n]}$ where $a[n]$ is a binary {0,1} maximum-length PN sequence.  with that signal the crest factor is as low as it can get (which is 1), but there can be unpredictable behavior if there are sufficient non-linearity in the system being tested.