1

I'm trying to have step response for a system with complex data. I have this error:

"Cannot simulate the time response of LTI models with complex data."

How can I have this response? this is my transfer function:

           (4.266-0.5157i) s^2 + (8.532-1.031i) s + (1.706-0.2063i)
 G(s) = --------------------------------------------------------------
        s^3 + (4.266-0.5157i) s^2 + (8.532-1.031i) s + (1.706-0.2063i)
horchler
  • 18,384
  • 4
  • 37
  • 73
fati
  • 41
  • 1
  • 8
  • 3
    I have never seen a transfer function in the `s`-domain having complex polynomial coefficients. How did you come up with this? Instead of telling us why you're getting this error, why don't you give us some insight on what you're actually doing, and **why** you want to take the step response of this transfer function? – rayryeng Feb 19 '15 at 17:23
  • 2
    That's because transfer functions or LTI systems with complex data don't make sense, you can't calculate the step response of something like that. – am304 Feb 19 '15 at 17:34
  • Matlab answer `Warning: The data cannot be plotted because it is not real valued.`. But look this document http://web.mit.edu/2.14/www/Handouts/PoleZero.pdf at paragraph 1.1: there is and example of transfer function with complex coefficients. – Giacomo Alessandroni Feb 19 '15 at 17:40
  • @GiacomoAlessandroni - No. That is what is known as Zero-Pole-Gain format http://www.mathworks.com/help/control/ref/zpk.html. That is **not** the same representation as what the OP has presented here. If you took each term in the numerator or denominator, you will get all real coefficients. You **only** get complex coefficients if you have a complex pole / zero but don't provide its **conjugate** pair (i.e., you have one term that is `(s - (-1 - i))` and not providing its conjugate `(s - (-1 + i))`. – rayryeng Feb 19 '15 at 18:17
  • 2
    @GiacomoAlessandroni - To give an example, look at Page #2 and Page #3 of your linked document. The ZPK format indeed has complex valued poles and zeroes, but the multiplication of the terms produces all real-valued coefficients. This will be guaranteed if your system is LTI and also if you have poles and zeroes that come in **conjugate pairs**. – rayryeng Feb 19 '15 at 18:19
  • @ rayryeng-I want to use a describing function instead of a nonlinear element or a nonlinear part of a system like a backlash,in a plant.and for your information the describing function usually is complex.I want to compare step response of loop when backlash is in plant with when the describing function is in plant. – fati Feb 19 '15 at 18:22
  • @fati - Step response is only defined for **LTI** (i.e. **linear**) systems. What you are asking for is not possible. You should perhaps look into State-Space Models instead as they can adequately model non-linear behaviour: http://en.wikipedia.org/wiki/State-space_representation – rayryeng Feb 19 '15 at 18:26
  • @rayryeng-but I've seen the results of such process in some article.they have done it!! I shared my information with my teacher and he said we should find a method maybe in simulink to get step response. – fati Feb 19 '15 at 18:31
  • @fati - Yeah sorry. I don't believe it. Can you show me an article or an example where you can take the step response of a transfer function with complex-valued coefficients? – rayryeng Feb 19 '15 at 18:36
  • @rayryeng,@GGiacomo Alessandroni-this is the link of this article.but it is not directly about describing function. http://jvc.sagepub.com/content/13/9-10/1407.short Performance of Fractional PID Algorithms Controlling Nonlinear Systems with Saturation and Backlash Phenomena – fati Feb 19 '15 at 18:39
  • in page 10 you can fid the step reponse of a plant that a describing function(with complex data) is in it – fati Feb 19 '15 at 18:42
  • @fati - What they're doing there is that they're combining linear and non-linear elements together in the forward-loop. Your best bet is to use Simulink to get that behaviour working. Using `step` out of the box won't be possible. – rayryeng Feb 19 '15 at 18:45
  • @rayryeng-I don't know how to use describing function in simulink.becuse it is a complex number for a specified A and h .can I send you my code and simulink? – fati Feb 19 '15 at 19:11

1 Answers1

2

If you see carefully your transfer function there is a pole-zero cancellation, so you have a simplified expression which only is:

G(s)=1/s^3 

Then you can plot the response of this function.

G=tf([0 1],[1 0 0])
step(G)
Gina Torres
  • 23
  • 1
  • 4