frfit

Scilab Function
Last update : 12/01/2004

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` ,