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

 Akzeptierte Antwort

Sam Chak
Sam Chak am 7 Sep. 2023

0 Stimmen

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 Kommentare

Kyungmin
Kyungmin am 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 am 12 Sep. 2023
Hello,
when I did,
as the following figure, it displays the message.
how can I do?
Sam Chak
Sam Chak am 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 am 12 Sep. 2023
Yes, I did.
but as I mentioned before, the message displayed.
what is my mistake???
Sam Chak
Sam Chak am 16 Sep. 2023
@Kyungmin, does your system require external data to be fed into the PMSM dynamic system?
Kyungmin
Kyungmin am 18 Sep. 2023
This system does not need external data for simulation.
Ayesha
Ayesha am 26 Feb. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Tianyu
Tianyu am 6 Sep. 2023

0 Stimmen

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 am 14 Nov. 2025

0 Stimmen

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);

Tags

Gefragt:

am 4 Sep. 2023

Beantwortet:

am 14 Nov. 2025

Community Treasure Hunt

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

Start Hunting!

Translated by