Error using / (line 65) Inverse model is noncausal because of delays

44 views (last 30 days)
g=0.8392/((168.555*s+1)*exp(-28.655*s));
gd1c=0.8392/(168.555*s+1)*exp(28.655*s);
Error using tf/exp (line 33)
In "exp(M*s)", M must be real and have negative or zero entries for causality.

Accepted Answer

Walter Roberson
Walter Roberson on 14 Oct 2020
g=0.8392/(168.555*s+1)*exp(-28.655*s);
Provided that you are trying to construct
0.8392
-------------
168.555*s + 1
with a delay of 28.655 units.
  3 Comments
Walter Roberson
Walter Roberson on 14 Oct 2020
No. That would require that you begin to get an output 28.655 seconds before the signal started.
Remember that for the purposes of control systems, a signal is assumed to be potentially continually changing in content, and is not assumed to be periodic. Do not think in terms of sine waves or square waves and thinking of the system delay being like a negative phase: think of control systems having to react to bumps while driving, or to user speech, and that you are asking the system to react to cuspy events in the future.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!