mrfit
mrfit — frequency response fit
Calling sequence
sys=mrfit(w,mag,order)
[num,den]=mrfit(w,mag,order)
sys=mrfit(w,mag,order,weight)
[num,den]=mrfit(w,mag,order,weight)
Parameters
w | : positive real vector of frequencies (Hz) |
mag | : real vector of frequency responses magnitude (same size as w) |
order | : integer (required order, degree of den) |
weight | : positive real vector (default value ones(w)). |
num,den | : stable polynomials |
Description
sys=mrfit(w,mag,order,weight) returns a bi-stable transfer function
G(s)=sys=num/den, of of given order such that
its frequency response magnitude abs(G(w(i)))
matches mag(i) i.e. abs(freq(num,den,%i*w)) should be
close to mag.
weight(i) is the weigth given to w(i).
Examples
w=0.01:0.01:2;s=poly(0,'s');
G=syslin('c',2*(s^2+0.1*s+2),(s^2+s+1)*(s^2+0.3*s+1)); // syslin('c',Num,Den);
fresp=repfreq(G,w);
mag=abs(fresp);
Gid=mrfit(w,mag,4);
frespfit=repfreq(Gid,w);
plot2d([w',w'],[mag(:),abs(frespfit(:))])
See also
cepstrum, frfit, freq, calfrq