Transfer function with transfer function numerator greater than denominator

102 views (last 30 days)
How can I make a linearized transfer functions with the numerator greater than denominator as below

Answers (1)

Sam Chak
Sam Chak on 23 Jun 2022
Edited: Sam Chak on 24 Jun 2022
Not sure how to answer this. Evaluating from the mathematical perspective, you can probably understand the following and implement that in your work. I'll start with a general improper rational function:
which can be rewritten as follow:
.
I'll go with first and perform the long division to obtain
.
Next, perform the same procedure on
.
Now, they can summed up and simplified as
where
Example:
a = 7;
b = 5;
c = 3;
p = 2;
q = 1;
s = tf('s');
G1 = (7*s^2 + 5*s + 3)/(2*s + 1)
G1 = 7 s^2 + 5 s + 3 --------------- 2 s + 1 Continuous-time transfer function.
kp = b/p - a*q/p^2; % p-gain
kf = (a*q^2)/p^2 - b*q/p + c; % f-gain
kd = a/p; % d-gain
G2 = kp + kf/(p*s + q) + kd*s
G2 = 7 s^2 + 5 s + 3 --------------- 2 s + 1 Continuous-time transfer function.
In this form, , you isolate them and know what each term does.
Edit: If you want to implement this improper transfer function in Simulink, then this is one of the ways to do it.
a = 7;
b = 5;
c = 3;
p = 2;
q = 1;
kp = b/p - a*q/p^2; % p-gain
kf = (a*q^2)/p^2 - b*q/p + c; % f-gain
kd = a/p; % d-gain
  8 Comments
Sam Chak
Sam Chak on 24 Jun 2022
Edited: Sam Chak on 24 Jun 2022
I have edited the Answer to demo how to implement the improper transfer function in Simulink using basic blocks. By the way, if you find the mini tutorial and Simulink model are helpful, please consider accepting ✔ and voting 👍 the Answer. Thanks!
Walter is right that Simulink cannot accept improper transfer function where the degree of the numerator is greater than the degree of the denominator.
Paul is right that another way to implement the improper transfer function in Simulink is to use the Descriptor State-Space. In fact, the improper transfer function is also similar to the ideal PID Controller. But I think it maybe a little advanced to explain that at this stage, if you haven't grasped the basic theory about state-space modeling.
Edit: Paul is also correct about replacing the ideal Derivative block with the Filtered Derivative for practical reasons.
Paul
Paul on 24 Jun 2022
I did not know about that Descriptor State Space block, thanks for pointing it out. For singular E it looks like it implements a differential-algebraic equation (DAE). I've used Simulink in the past for DAE systems and it worked fine, albeit a bit more slowly, Having said that, I would avoid it if possible: Algebraic Loop Concepts.
There are other strategies for dealing with an improper transfer function in Simulink that may be applicable depending on the model. I'm pretty sure that there is a doc page that discusses this issue, but as usual can't find it when I need to, or maybe I'm imagining it.

Sign in to comment.

Categories

Find more on General Applications in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!