Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Scilab 6.0.1
Change language to: English - Français - Português - 日本語 -

See the recommended documentation of this function

# mrfit

frequency response fit

### Syntax

```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 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)); // 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