Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Français - 日本語 - Русский

See the recommended documentation of this function

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)

Arguments

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(:))]) • cepstrum — cepstrum calculation
• frfit — frequency response fit
• freq — frequency response
• calfrq — frequency response discretization