Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Use Transfer Function to Predict input for desired output

  1. Mar 25, 2016 #1

    I have a laplace domain system transfer function.

    I know I can use (say Matlab's lsim()) to simulate the output for any arbitrary input.

    Is there any way (numerically in Matlab or analytically) to determine the input necessary for a desired output time signal?
  2. jcsd
  3. Mar 25, 2016 #2


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

    If the transfer function is in the form of a ratio of polynomials, P1/P2, then the inverse of the polynomial, P2/P1, is the inverse transformation. The desired output operated on by P2/P1 would give the answer.
  4. Mar 25, 2016 #3
    Is there any way to then determine the input necessary for an arbitrary desired output, if the output is not some function easily described in the laplace domain?

    ie. when our desired output is some arbitrary time waveform, can we use the inverse transfer function P2/P1 to determine the arbitrary input needed to generate that desired waveform as the output?

    For example, if we capture an impulse (force) and a reaction vinration, we could take FFT(response)/FFT(impulse) and the resulting frequency response function can be used to predict the input necessary for a desired output by:

    input_required = IFFT(FFT([response)/FFT(impulse)]*FFT(desired_output))

    this is not completely accurate though because it doesn't properly take into account the setting time of each of the modes in our transfer function (it is, after all, a only a frequency response function). But the simple trick that allows us to do this is the FFT/IFFT, which converts between time and frequency domain. There is no such tool (as I know of) for the laplace domain, that would allow us to convolve the outout with P2/P1 transfer function.
  5. Mar 25, 2016 #4


    User Avatar
    Science Advisor
    Gold Member
    2017 Award

    I would try applying Matlab lsim to the desired output using P2/P1. Of course it is not clear that the result is unique, but it should give you one solution. Other than that, I think you are on your own.
  6. Apr 2, 2016 #5
    That is what I was thinking, but lsim (and many of matlabs transfer function methods) only works for transfer functions with more poles than zeros.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted