Create bode plot from state space in dB units?
Afficher commentaires plus anciens
Hi everyone,
I have a big SS (1 input, 1 output, 186 states), and I try to create the Bode plot. This all works if I use the following code:
h_bode = bodeoptions;
h_bode.Xlim = [1 2000];
h_bode.FreqUnits = 'Hz';
h_bode.MagUnits = 'abs';
h_bode.MagScale = 'log';
h_bode.PhaseWrapping = 'on';
h_bode.phaseVisible = 'on';
h_bode.Grid = 'on';
wmin = log10(0.001)*2*pi;
wmax = log10(2000)*2*pi;
npoints = 10000;
figure('name','SS Bode Plant P(s)');
w = logspace(wmin,wmax,npoints);
h_bode.MagUnits = 'abs';
bodeplot(P,w,h_bode);
set(findobj('Type','line'),'Linewidth',2)
title('Bode Diagram: Plant P(s) (dp2np)');
However, when I use "
h_bode.MagUnits = 'dB';
it gives the warning 'negative data ignored'.
Do I need to do with the State Space model before giving it as input for 'bodeplot'? Or am I missing something?
Thanks in advance,
Thijs
Réponse acceptée
Plus de réponses (1)
Francesco
le 18 Mar 2014
0 votes
I was doing something similar but had a lot of problems with the bode function. My advice is to use the bode function to get the magnitude, phase and frequency values and then make your own plot in the units you prefer.
Catégories
En savoir plus sur Plot Customization dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!