Simulink Model to transfer function via simulink and Matlab

hi everyone,
in the picture i uploaded you can see my closed loop model for a dynamic system.
im trying to get the transfer function between the input signal Va to the output signal Phi , while considering all the feedbacks.
when i do it by the model linearizer app or the control system designer i get strange bode plots and wrong transfer functions.
so i would like you to help me understand how can i do it correctly plese.
the seconed question is how can i get the same closed loop transfer function on simulink script by using feedback command.
thank you!

2 commentaires

The provided block diagram suggests that you have attempted to model two coupled second-order inertial rotational systems, characterized by the variable 'Theta_dot_dot' () and the implied 'Phi_dot_dot' ()
Ideally, in the absence of any pole-zero cancellation, the resulting transfer function for should be a fourth-order system. This is due to the inherent complexity of the coupled second-order dynamics involved in the model.
Thus, instead of using the Derivative block twice to numerically derive the angular accelaration signal , you should use the knowledge of first principles to construct the mathematical equation (ODE) for .
hi sam, thnk you for your comment. i just uploaded the physical model, this is part from my project for university, i do not have the spcify relations just what described in the photo. so i do not know how to replace it. maybe you have another idea?

Connectez-vous pour commenter.

 Réponse acceptée

Paul
Paul le 21 Juil 2024
Hi Yuval,
What is the setting for the c parameter in the Derivative blocks? If it's the default (inf), those blocks will linearize to zero and the feedback path is effectively broken when using the linearizer app or linearize.
Also, double check if the block diagram is the correct representation of the physical system.

8 commentaires

Hi paul, Thanks for your answer. Actually you are right, the derivative blocks are setting by default. How you recommend me to assign them? And the block diagram is the correct representation for sure.
Should I make them zeros?
I'm pretty sure that setting c = 0 will result in an error. Set c to a small positive number. You'll probably have to experiment a bit to figure out how small c needs to be to get a desired result, assuming you have an idea of what that result should be.
Once you determine c, you might want to replace those Derivative blocks altogether with Tranferf Fcn blocks of s/(c*s + 1) to approximate the derivative as Derivative blocks are best avoided.
Better yet, refactor your model so that explicit derivatives aren't needed in the first place as suggested by @Sam Chak.
Obviously, I don't know what physical system this model represents. Nevertheless, I am curious about the transfer function from the sum of the torques to Phi_dot. Normally that would be 1/(J*s), but the model is 1/(J*s + f).
oh,ok thank you very much. i will try to figure out what value of c i need to insert there. i attached the systems physical model if you wanna see it. yet, im getting a hard time trying to solve the problem like @Sam Chak suggested. i dont know if it possible in this case, is it?
As a first attempt, you can try modifying the block diagram by employing some block reduction techniques to eliminate the 's' variable in the numerator.
EXAMPLE 1
EXAMPLE 2
Why change the compensator in Example 2?
Hi @Paul,
The provided example was intended to demonstrate to @Yuval that both configurations (a) and (b) are equivalent, and would ultimately produce the same transfer function .
It was not the purpose to suggest that the OP should modify a biproper Compensator into a configuration with a strictly proper transfer function. The intention was purely to illustrate the conceptual equivalence between the two configurations, and not to imply any recommendations for changing the Compensator design.
hi sam and paul,
thank you so much, you guys helped me a lot!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2023b

Question posée :

le 20 Juil 2024

Commenté :

le 23 Juil 2024

Community Treasure Hunt

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

Start Hunting!

Translated by