Accelerating the pace of engineering and science

freqresp

Frequency response of rational function object

Syntax

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

Description

[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(\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.

Examples

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