November 2, 2024

Inverse Laplace Transform by Using Partial Fraction Expansion and Cover-Up Method – Case of (Real) Distinct Poles


In this control engineering and control, we explain how to compute an inverse Laplace transform of transfer functions and expressions in the s-domain. We consider the case when the poles of complex expressions and transfer functions have distinct real poles. To compute the inverse Laplace transform, we use the partial fraction expansion and cover-up methods. The YouTube tutorial accompanying this webpage is given below.

Compute the Partial Fraction Expansion by Using the High-School-Level Mathematics

Let us consider the following transfer function

(1)   \begin{align*}W(s)=\frac{1}{(s-2)(s-3)}\end{align*}


and let us assume that our goal is to compute the inverse Laplace transform of this function. If we can somehow decompose this transfer function into the following form:

(2)   \begin{align*}W(s)=\frac{A}{s-2}+\frac{B}{s-3}\end{align*}


where A and B are constants that need to be determined, then our problem would be solved since we can easily compute the inverse Laplace transforms of the terms A/(s-2) and B/(s-3).

The equation (2) is referred to as the partial fraction expansion. To compute this decomposition, let us first use a high-school-level approach. This approach originates from computing integrals of rational functions. From the last equation, we have:

(3)   \begin{align*}W(s)=\frac{A}{s-2}+\frac{B}{s-3}=\frac{A(s-3)+B(s-2)}{(s-2)(s-3)}\end{align*}


From the last equation, we obtain the following equation

(4)   \begin{align*}W(s)=\frac{(A+B)s-3A-2B}{(s-2)(s-3)}\end{align*}


Our goal is to determine the constants A and B, such that (4) and (1) are identical. By equating the numerators of these two fractions, we obtain

(5)   \begin{align*}1=(A+B)s-3A-2B\end{align*}


The expressions on both sides of this equation are actually polynomials in s. Two polynomials are equal if their coefficients multiplying the corresponding powers of s are equal. Consequently, we have

(6)   \begin{align*}0=A+B  \\1=-3A-2B\end{align*}


We obtain A=-1 and B=1. In order to verify this solution, we can simply substitute these values of A and B in (2) and investigate if we can get the original expression, given by (1). We can also use MATLAB to verify our computations:

syms s

F=1/((s-2)*(s-3))

partfrac(F)

The previous code produces the following result

F =
 
1/((s - 2)*(s - 3))
 
 
Factorized =
 
1/(s - 3) - 1/(s - 2)

Obviously, we have correctly computed the solution. Next, let us explain the MATLAB code. With “syms s”, we define a symbolic variable s. On code line 3 we can define a symbolic expression for our function. Code line 5 is used to compute the expansion.

The above-presented approach can also be applied to more complex functions with a large number of poles. However, it becomes tedious to solve a system of linear equations to compute every coefficient of the partial fraction expansion. Consequently, we need to search for an alternative method to compute the partial fraction expansion.

Cover-Up Method for Computing the Inverse Laplace Transform

Here, we present a more elegant and easily applicable approach for computing the partial fraction expansion and for computing the inverse Laplace transform. The approach presented below is applicable to expressions with (real) distinct poles.

First, let us explain what are the poles and zeros of a function. Consider a general form of a complex function

(7)   \begin{align*}W(s)=\frac{b_{1}s^{m}+b_{2}s^{m-1}+\ldots+b_{m+1}}{s^{n}+a_{1}s^{n-1}+\ldots+a_{n}}\end{align*}


The last expression can be written as follows:

(8)   \begin{align*}W(s)=G\frac{(s-z_{1})(s-z_{2})\ldots (s-z_{m})}{(s-p_{1})(s-p_{2})\ldots (s-p_{n})}=G\frac{\prod_{i=1}^{m}(s-z_{i})}{\prod_{i=1}^{n}(s-p_{i})}\end{align*}


where G is a constant. The constant z_{i} is referred to as a zero of the function. The constant p_{i} is referred to as a pole of the function. We can see that when s=z_{i} then the function becomes zero, and when s->p_{i} the function value approaches infinity (for real p_{i}). The poles and zeros can be real or complex. Now, assuming that the poles are distinct, we can write the function W(s) as follows:

(9)   \begin{align*}W(s)=\frac{C_{1}}{s-p_{1}}+\frac{C_{2}}{s-p_{2}}+\ldots+\frac{C_{n}}{s-p_{n}}\end{align*}


Our goal is to develop the procedure for computing the constants C_{1}, C_{2},\ldots, C_{n}. Let us multiply the last expression with (s-p_{i}). As a result, we obtain

(10)   \begin{align*} (s-p_{i})W(s)=\frac{C_{1}(s-p_{i})}{s-p_{1}}+\frac{C_{2}(s-p_{i})}{s-p_{2}}+\ldots +C_{i} +\ldots+\frac{C_{n}(s-p_{i})}{s-p_{n}} \end{align*}


Now by substituting s=p_{i} in the expression (s-p_{i})W(s), we obtain

(11)   \begin{align*}(s-p_{i})W(s)\vert_{s=p_{i}}=C_{i}\end{align*}


That is, we have obtained an expression for computing the constant C_{i}. To compute the constant C_{i} corresponding to the i-th pole, we multiply the unfactorized expression W(s) by s-p_{i} and substitute the value for p_{i}.

Why this partial fraction expansion is important? Namely, after we have computed (9), we can simply compute the inverse Laplace transform by noting that:

(12)   \begin{align*}\mathcal{L}^{-1}\Big( \frac{C_{i}}{s-p_{i}} \Big)=C_{i}e^{p_{i}t}h(t)\end{align*}


where h(t) is a Heaviside step function. We can do this for all other fractions to obtain the time-domain transformation.
Let us do an example.

Example 1: Compute the step response of the function

(13)   \begin{align*}W(s)=\frac{(s+1)(s+3)}{(s+2)(s+4)}\end{align*}



Solution: The step response of the function in the complex domain is obtained by multiplying the transfer function by the term 1/s. This term corresponds to the Laplace transform of the Heaviside step function. That is, we want to compute the inverse Laplace transform of

(14)   \begin{align*}G(s)=W(s)\frac{1}{s}=\frac{(s+1)(s+3)}{(s+2)(s+4)s}\end{align*}


Let us now apply the previously explained approach. We want to expand G(s) as follows:

(15)   \begin{align*}G(s)=\frac{C_{1}}{s}+\frac{C_{2}}{s+2}+\frac{C_{3}}{s+4}\end{align*}


By using the formula (11), we obtain:

(16)   \begin{align*}C_{1}=sG(s)\vert_{s=0}=\frac{(s+1)(s+3)}{(s+2)(s+4)}\vert_{s=0}=\frac{1\cdot 3 }{2 \cdot 4}=\frac{3}{8}\end{align*}


(17)   \begin{align*}C_{2}=(s+2)G(s)\vert_{s=-2}=\frac{(s+1)(s+3)}{s(s+4)}\vert_{s=-2}=\frac{1}{4}\end{align*}


(18)   \begin{align*}C_{3}=(s+4)G(s)\vert_{s=-4}=\frac{(s+1)(s+3)}{s(s+2)}\vert_{s=-4}=\frac{3}{8}\end{align*}



Consequently, our factorized expression becomes

(19)   \begin{align*}G(s)=\frac{3}{8}\frac{1}{s}+\frac{1}{4}\frac{1}{s+2}+\frac{3}{8}\frac{1}{s+4}\end{align*}



By computing the inverse Laplace transform of the last expression we obtain

(20)   \begin{align*}g(t)=\mathcal{L}^{-1}\Big( G(s) \Big)=\Big(\frac{3}{8}+\frac{1}{4}e^{-2t}+\frac{3}{8}e^{-4t}\Big)h(t)\end{align*}


The following MATLAB code is used to compute the partial fraction expansion and the inverse Laplace transform.

clc
syms s

F=(s+1)*(s+3)/(s*(s+2)*(s+4))

Factorized=partfrac(F)

ilaplace(Factorized)

The following output is generated.

F =
 
((s + 1)*(s + 3))/(s*(s + 2)*(s + 4))
 
 
Factorized =
 
1/(4*(s + 2)) + 3/(8*(s + 4)) + 3/(8*s)
 
 
ans =
 
exp(-2*t)/4 + (3*exp(-4*t))/8 + 3/8
 

Notice that we used the MATLAB function “ilaplace()” to compute the inverse Laplace transform.