Bode diagram to Nichols curve
4 views (last 30 days)
Show older comments
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
0 Comments
Answers (2)
Hin Kwan Wong
on 2 Dec 2011
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
0 Comments
Craig
on 2 Dec 2011
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)
0 Comments
See Also
Categories
Find more on Classical Control Design in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!