Bode diagram to Nichols curve

9 ビュー (過去 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 Center および File ExchangeTime 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