Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский

# repfreq

frequency response

### Syntax

```[ [frq,] repf]=repfreq(sys,fmin,fmax [,step])
[ [frq,] repf]=repfreq(sys [,frq])
[ frq,repf,splitf]=repfreq(sys,fmin,fmax [,step])
[ frq,repf,splitf]=repfreq(sys [,frq])```

### Arguments

sys

A siso or simo linear dynamical system, in state space, transfer function or zpk representations, in continuous or discrete time.

fmin,fmax

two real numbers (lower and upper frequency bounds)

frq

real vector of frequencies (Hz)

step

logarithmic discretization step

splitf

vector of indexes of critical frequencies.

repf

vector of the complex frequency response

### Description

`repfreq` returns the frequency response calculation of a linear system. If `sys(s)` is the transfer function of `Sys`, `repf(k)` equals `sys(s)` evaluated at `s= %i*frq(k)*2*%pi` for continuous time systems and at `exp(2*%i*%pi*dt*frq(k))` for discrete time systems (`dt` is the sampling period).

`db(k)` is the magnitude of `repf(k)` expressed in dB i.e. `db(k)=20*log10(abs(repf(k)))` and `phi(k)` is the phase of `repf(k)` expressed in degrees.

If `fmin,fmax,step` are input parameters, the response is calculated for the vector of frequencies `frq` given by: `frq=[10.^((log10(fmin)):step:(log10(fmax))) fmax];`

If `step` is not given, the output parameter `frq` is calculated by `frq=calfrq(sys,fmin,fmax)`.

Vector `frq` is split into regular parts with the `split` vector. `frq(splitf(k):splitf(k+1)-1)` has no critical frequency. `sys` has a pole in the range `[frq(splitf(k)),frq(splitf(k)+1)]` and no poles outside.

### Examples

```A=diag([-1,-2]);B=[1;1];C=[1,1];
Sys=syslin('c',A,B,C);
frq=0:0.02:5;w=frq*2*%pi; //frq=frequencies in Hz ;w=frequencies in rad/sec;
[frq1,rep] =repfreq(Sys,frq);
[db,phi]=dbphi(rep);
Systf=ss2tf(Sys)    //Transfer function of Sys
x=horner(Systf,w(2)*sqrt(-1))    // x is Systf(s) evaluated at s = i w(2)
rep=20*log(abs(x))/log(10)   //magnitude of x in dB
db(2)    // same as rep
ang=atan(imag(x),real(x));   //in rad.
ang=ang*180/%pi              //in degrees
phi(2)
repf=repfreq(Sys,frq);
repf(2)-x```

### See also

• bode — Bode plot
• freq — frequency response
• calfrq — frequency response discretization
• horner — évaluation d'un polynôme ou d'une fraction rationnelle
• nyquist — nyquist plot
• dbphi — frequency response to phase and magnitude representation

### History

 Version Description 6.0 handling zpk representation

### Comments

Add a comment:
Please login to comment this page.

 Report an issue << phaseplot Domaine de fréquence svplot >>

 Scilab EnterprisesCopyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Thu Feb 14 14:59:54 CET 2019