Impulse response for rational function object
[resp,t] = impulse(h,ts,n)
[resp,t] = impulse(h,ts,n) computes
the impulse response,
resp, of the rational function
h, over the time period specified by
While you can compute the output response for a rational function
object by computing the impulse response of the object and then
convolving that response with the input signal, this approach is not
recommended. Instead, you should use the
timeresp method to
perform this computation because it generally gives a more accurate
output signal for a given input signal.
h is the handle of a rational function object.
ts is a positive scalar value that specifies the
sample time of the computed impulse response, and
n is a
positive integer that specifies the total number of samples in the
The vector of time samples of the impulse response,
computed from the inputs as
t = [0,ts,2*ts,...,(n-1)*ts].
The impulse response,
resp, is an
n-element vector of impulse response values corresponding
to these times. It is computed using the analytical form of the rational
are properties of the rational function object,
M is the number of poles in the
rational function object.
sparameters object from a file and use
rfparam to extract the parameters.
S = sparameters('passive.s2p'); S21 = rfparam(S,2,1);
Fit a rational function object to the data by using
freq = S.Frequencies; fit_data = rationalfit(freq,S21)
fit_data = rfmodel.rational with properties: A: [6x1 double] C: [6x1 double] D: 0 Delay: 0 Name: 'Rational Function'
Calculate the impulse response using the
impulse method and plot the results.
[resp,t] = impulse(fit_data,1e-12,1e3); plot(t,resp);