[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: need help regarding phase margin calculation
From: |
Lukas Reichlin |
Subject: |
Re: need help regarding phase margin calculation |
Date: |
Tue, 16 Feb 2010 11:41:20 +0100 |
On 16.02.2010, at 06:58, <address@hidden> wrote:
>
>
>
> Dear Sir,
>
> I am new user for octave GNU. I don't know how to calculate phase margin
> using extrapolation for a bode plot with if or for loop. previously i done
> this in MATLAB and loop code is
> for i=1:1:30
> if((mag(i)>1) & (mag(i+1)<1))
> j=i
> y2=mag(i);
> y1=mag (i+1)
> x2=w(i)
> x1=w(i+1)
> end
> end
> how this will do in octave. could you please help me out?
>
> Thanks & Regards,
> Kanta
> _______________________________________________
> Help-octave mailing list
> address@hidden
> https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
Hi Kanta
We don't want to reinvent the wheel, do we? ;-) There is already a command that
does exactly what you want: margin. Therefore, you may want to give a try to my
new control package (experimental):
http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/extra/control-oo.tar.gz?view=tar
There you can do the following (Matlab compatible):
[gamma, phi, w_gamma, w_phi] = margin (sys)
where phi is the phase margin and w_phi the associated frequency. You can get
more information by typing
help margin
once you installed my package.
hth
Lukas
PS: Install the package by typing
pkg install control*
inside your working directory. Be sure to remove the "legacy" control package
before
Warning: Because of a bug in Octave 3.2.x, system sys changes sampling time
after the first call of a time response function (lsim, step, impulse,
initial). This bug is fixed in current development sources for Octave 3.4.