Borrar filtros
Borrar filtros

Plot Specific Points on Nichols Chart

72 visualizaciones (últimos 30 días)
Amaan Mahmood
Amaan Mahmood el 1 de Abr. de 2024 a las 17:58
Respondida: Paul el 2 de Abr. de 2024 a las 13:45
I am currently trying to plot specfic points onto a Nichols chart so that I can find the limit cycle for the original system.
The gain and phase co-ords have been included below:
I am trying to add these to this Nichols plot:
Any help would be appreciated.
  2 comentarios
Dyuman Joshi
Dyuman Joshi el 2 de Abr. de 2024 a las 5:46
Use hold on and add points. Works with both nichols and nicholsplot.
What seems to be the problem/issue?
Amaan Mahmood
Amaan Mahmood el 2 de Abr. de 2024 a las 13:26
Editada: Amaan Mahmood el 2 de Abr. de 2024 a las 13:26
I've been trying to plot these co-ordinates using the nichols and nicholsplot function but I cannot seem to make it work. I've used the hold command with little success. I've attached the code I've been using, it gets them on the same plot, however the second plot is no correct I've checked this by completing the nichols plot by hand and I get different results.
clear all, close all, clc
AbsN = [-4.609, -13.9794, -17.5012, -18.8897, -19.5545, -19.8245, -15.4170, -7.6042, -1.5836]; % Absolute Value -1/N
AngN = [-123, -150, -166, -173, -177, -179, -179, -180, -180]; % Angle of -1/N in degrees
K = 0.528;
T = 1.5;
Gc = 1;
PwrAmp = 10;
Mtr = 5;
Grs = 0.2;
Flp = tf(K, [T 1 0]);
OpenLoop = (Gc*PwrAmp*Mtr*Grs*Flp);
hold on
nichols(OpenLoop)
nichols (AbsN, AngN)
hold off
CloseLoop = feedback(OpenLoop, 1);

Iniciar sesión para comentar.

Respuesta aceptada

Paul
Paul el 2 de Abr. de 2024 a las 13:45
Hi Amaan,
The input to nichols has to be an a dynamic system model. So either you have to convert AbsN and AngN to such a model and then call nichols, or just plot the dat on the Nichols chart. The code below does both just to illustratre. I assumed that AbsN is already in dB. I assigned an arbiitrary frequency vector to create the frd object for purposes of the Nichols plot, but it would be better to use the actualy frequency vector, if you have it, in case you want to use the frd object for other purposes.
AbsN = [-4.609, -13.9794, -17.5012, -18.8897, -19.5545, -19.8245, -15.4170, -7.6042, -1.5836]; % Absolute Value -1/N
AngN = [-123, -150, -166, -173, -177, -179, -179, -180, -180]; % Angle of -1/N in degrees
K = 0.528;
T = 1.5;
Gc = 1;
PwrAmp = 10;
Mtr = 5;
Grs = 0.2;
Flp = tf(K, [T 1 0]);
OpenLoop = (Gc*PwrAmp*Mtr*Grs*Flp);
hold on
nichols(OpenLoop)
%nichols(AbsN,AngN)
nichols(frd(10.^(AbsN/20).*exp(1j*AngN*pi/180),0:8))
plot(AngN,AbsN,'o')
hold off

Más respuestas (0)

Categorías

Más información sobre Time and Frequency Domain Analysis en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by