Impulse Response due to Repeated Poles | Matlab

­Time Response Due to Repeated Poles

Up to this point the discussion has been restricted to distinct poles. Either real or complex. For a repeated pole there will be more than one term in the time response, with the number of terms depending on the multiplicity of the pole. For a pole at s = p of multiplicity m = 2, we can write the Laplace transform of the response as

\[\begin{matrix}   G(s)=\frac{A}{{{(s-p)}^{2}}}+\frac{B}{s-p}+terms\text{ }involving\text{ }other\text{ }poles & \cdots  & (1)  \\\end{matrix}\]

Where

\[\begin{align}  & A={{\left. [{{(s-p)}^{2}}G(s)] \right|}_{s=p}} \\ & and \\ & B={{\left. \left\{ \frac{d}{ds}[{{(s-p)}^{2}}G(s)] \right\} \right|}_{s=p}} \\\end{align}\]

For t > 0, the corresponding impulse response is

$\begin{matrix}   g(t)=At{{e}^{pt}}+B{{e}^{pt}}+terms\text{ }involving\text{ }other\text{ }terms & \cdots  & (2)  \\\end{matrix}$

Similar relationships exist for poles of multiplicity three or higher, but they are seldom needed. The residue command is able to compute the coefficients for repeated poles, and for m = 2 they are listed as B followed by A as can be seen in (2).

Impulse Response due to Repeated Poles Matlab Example

For the system whose differential equation is

$\overset{..}{\mathop{y}}\,+\overset{.}{\mathop{y}}\,+0.25y=\overset{.}{\mathop{u}}\,+2u$

Do a partial fraction expansion and write the impulse response as the sum of two individual functions of time.

Solution

The transfer function is

\[\begin{matrix}   G(s)=\frac{s+2}{{{s}^{2}}+s+0.25}=\frac{s+2}{{{(s+0.5)}^{2}}}=\frac{A}{{{(s+0.5)}^{2}}}+\frac{B}{s+0.5} & \cdots  & (3)  \\\end{matrix}\]

Which has a pole at s=-0.5 of multiplicity m=2. Using the residue command results in the column vectors

resG = polG =
1.0000 -0.5000
1.5000 -0.5000

And the scalar otherG = []. Associating the first element of resG with A and the second element with B, we can write    

                         $G(s)=\frac{1.0}{{{(s+0.5)}^{2}}}+\frac{1.5}{s+0.5}$      

From (1) and (2), where there are no other poles, we see that for t>0 the impulse response is

    $g(t)=1.0t{{e}^{-0.5t}}+1.5{{e}^{-0.5t}}$

Matlab Code for Calculating and Plotting Impulse Response due to Repeated Poles


% Script 4: Matlab Code to Compute & Plot Impulse Response Function

clear all;close all;clc

numG = [1 2]; denG = [1 1 0.25]; % Numerator & Denumerator from text (Equation (3))

[resG,polG,otherG] = residue(numG,denG) % residues and poles computation

impulse(numG,denG)  % plotting impulse response

Result

Impulse Response due to Repeated Poles