Frequency response of rational function object

`[resp,outfreq] = freqresp(h,infreq)`

`[resp,outfreq] = freqresp(h,infreq)`

computes
the frequency response, `resp`

, of the rational function
object, `h`

, at the frequencies specified by `freq`

.

The input `h`

is the handle of a rational function
object returned by `rationalfit`

, and `infreq`

is
a vector of positive frequencies, in Hz, over which the frequency
response is calculated.

The output argument `outfreq`

is a vector that
contains the same frequencies as the input frequency vector, in order
of increasing frequency. The frequency response, `resp`

,
is a vector of frequency response values corresponding to these frequencies.
It is computed using the analytical form of the rational function

$$resp=\left({\displaystyle \sum _{k=1}^{n}\frac{{C}_{k}}{s-{A}_{k}}+D}\right){e}^{-s*Delay}\begin{array}{cc},& s=j2\pi *freq\end{array}$$

where `A`

, `C`

, `D`

,
and `Delay`

are properties of the rational function
object, `h`

.

The following example shows you how to compute the frequency
response of the data stored in the file `default.s2p`

by
reading it into an `rfdata`

object, fitting a rational
function object to the data, and using the `freqresp`

method
to compute the frequency response of the object.

orig_data=read(rfdata.data,'default.s2p') freq=orig_data.Freq; data=orig_data.S_Parameters(2,1,:); fit_data=rationalfit(freq,data) [resp,freq]=freqresp(fit_data,freq); plot(freq/1e9,db(resp)); figure plot(freq/1e9,unwrap(angle(resp)));

Was this topic helpful?