Bode diagram to Nichols curve

2 次查看(过去 30 天)
Simon
Simon 2011-12-1
Hi,
I want to tune a machine we are experimenting on using the Nychols-curve. In the machine-software it's possible to measure some Bode-plots of the machine itself. With these results (magnitude and phase at different frequencies) i want to plot a Nichols-curve. I know it's possible with the SISOTOOL to make a Nychols-curve using a systemmodel, but i want a direct link between the bode and nichols curve using a tool like sisotool.
Any help? Simon

回答(2 个)

Hin Kwan Wong
Hin Kwan Wong 2011-12-2
Since you have the mag and phase data for bode plot is open loop You can just plot a Nichols plot yourself by transforming the coordinates for a Nichols by using the formula
H(i*w)/(1+H(i*w))
basically you just plot: plot(PHASE, db(ComplexData./(1+ComplexData)));ngrid;
where ComplexData is complex open loop response in cartesian form
PHASE is in degrees = 180*angle(ComplexData)/pi

Craig
Craig 2011-12-2
Hi Simon,
You can create an FRD (frequency response data object) using the mag and phase information
>> m = [1;2;3]; % mag in abs
>> ph = [10;15;30]; % phase in deg
>> w = [10;20;30]; % frequency rad/sec
>> sys = frd(m.*exp(1i*pi/180*ph),w);
Then use the plotting commands to view it. Note FRD objects can be imported into SISOTool as well.
>> figure;
>> bode(sys)
>> figure;
>> nichols(sys)
or
>> ltiview({'bode','nichols'},sys)

类别

Help CenterFile Exchange 中查找有关 Time and Frequency Domain Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by