frfit

frfit — frequency response fit

Calling sequence

sys=frfit(w,fresp,order)  
[num,den]=frfit(w,fresp,order)  
sys=frfit(w,fresp,order,weight)  
[num,den]=frfit(w,fresp,order,weight)  

Parameters

w : positive real vector of frequencies (Hz)
fresp : complex vector of frequency responses (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=frfit(w,fresp,order,weight) returns a bi-stable transfer function G(s)=sys=num/den, of of given order such that its frequency response G(w(i)) matches fresp(i), i.e. freq(num,den,%i*w) should be close to fresp. weight(i) is the weight 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));
fresp=repfreq(G,w);
Gid=frfit(w,fresp,4);
frespfit=repfreq(Gid,w);
bode(w,[fresp;frespfit])
 
  

See also

frep2tf, factors, cepstrum, mrfit, freq, calfrq