how to make bode plot in simulink system

Hello,
I have one question about how to make a bode-plot in simulink system.
I made one simulink system using PMSM.
and I want to check system margin using bode-plot.
I tried example simulink system from help desk.
but it was different .
Aslo I know that if there are transfer function, it's possible to make bodeplot easily.
but I don't know the transfer function.
So I ask you.
please let me know.
best regards,
Kim

 Réponse acceptée

Sam Chak
Sam Chak le 7 Sep 2023

0 votes

You can insert the Bode Plot block in the Simulink model and follow the steps described in this link for visualizing the Bode response of the Model during simulation as shown in the following example. However, your PMSM is a little complicated to me. Generally, you need to mark the signals (right-click the signal and select Linear Analysis Points) to identify the open-loop Input and the open-loop Output. And then on the Linearization Tab (double-click the Bode Plot block), you need to check on the 'Show plot on block open'.

7 commentaires

Kyungmin
Kyungmin le 12 Sep 2023
Hello ,
As you mentioned, my system has PMSM.
In this case, I tried like your comments.
but I can't see any plot.
Maybe my file is something wrong?
I will check it again.
Thanks a lot.
Kyungmin
Kyungmin le 12 Sep 2023
Hello,
when I did,
as the following figure, it displays the message.
how can I do?
Sam Chak
Sam Chak le 12 Sep 2023
Do you mark the signals (right-click the signal and select Linear Analysis Points) to identify the open-loop Input and the open-loop Output?
Kyungmin
Kyungmin le 12 Sep 2023
Yes, I did.
but as I mentioned before, the message displayed.
what is my mistake???
Sam Chak
Sam Chak le 16 Sep 2023
@Kyungmin, does your system require external data to be fed into the PMSM dynamic system?
Kyungmin
Kyungmin le 18 Sep 2023
This system does not need external data for simulation.
Ayesha
Ayesha le 26 Fév 2024
Hello
@Sam Chak, If I want to measure the closed loop response of my system in simulink how can I do that? In my case reference is 0 and I want my system to sweep from 10Hz to 10kHz

Connectez-vous pour commenter.

Plus de réponses (2)

Tianyu
Tianyu le 6 Sep 2023

0 votes

Hi Kim,
Not sure if this is the best way but you can use "Control System Designer" under Simulink app tab.
Click "New plot" and select "New Bode". Then "Add Signal" > "Select signal from model".
Select the input/output signal in your model and plot.
Drew Davis
Drew Davis le 14 Nov 2025
In addition to the answers already provided, this can be done from the command line as follows:
If the model is linearize-able, you can use the linearize command to generate a state-space model, then use the bode command to visualize the linear system's frequency response.
% linearize the model about its initial conditions.
sys = linearize("mymodel",io);
% plot the frequency response
bode(sys);
If the model is not linearize-able, which is common for many PMSM models due to hard switching electrical elements (e.g. PWM), you can use the frestimate command to generate a frequency response of the model, which can then be plotted using the bode command.
% create a perturbation specification
In = frest.PRBS();
% estimate the FRD
est_sys = frestimate("mymodel",io,in);
% plot the frequency response
bode(est_sys);

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by