# RLC Low-pass Filter

Filters can remove low and/or high frequencies from an electronic signal.  My article on RC Low-pass Filter introduced a first order low-pass filter.  The second order filter introduced here improves the unit step response and the the roll-off slope for the frequency response. As we will learn, even this passive filters may exhibit resonance near the natural frequency.

We examine the properties of a filter consisting of a series circuit of an inductor $$L$$, resistor $$R$$ and capacitor $$C$$. The output is taken across the capacitor as shown in the schematic below. We show the transfer function and derive the step and frequency response.

This article describes a low-pass filter, but the same principles apply to high and band pass filters and can even be extended to to resonators.  For example, taking the voltage over the inductor results in a high-pass filter, while taking the voltage over the resistor makes a band-pass filter.

Prerequisite reading includes Laplace TransformsImpedance and Transfer Functions.

## Transfer Function

In the RLC circuit, shown above, the current is the input voltage divided by the sum of the impedance of the inductor $$Z_L$$, the impedance of the resistor $$Z_R=R$$ and that of the capacitor $$Z_C$$.  The output is the voltage over the capacitor and equals the current through the system multiplied with the capacitor impedance.
\begin{align} Y(s)&=I(s)Z_C=\frac{U(s)}{Z_L+Z_R+Z_C} Z_C \Rightarrow\nonumber \\ H(s)&= \frac{Y(s)}{U(s)}=\frac{Z_C}{Z_L+Z_R+Z_C} =\frac{\frac{1}{sC}}{sL+R+\frac{1}{sC}} = \frac{1}{s^2LC+sRC+1}\label{eq:voltagedivider} \end{align}
The denominator of $$\eqref{eq:voltagedivider}$$ is a second-order polynomial.  The roots to this polynomial are called the system’s poles.
$$\begin{array}{c} \shaded{H(s)=K\frac{1}{(s-p_1)(s-p_2)}}, & K=\frac{1}{LC}, & p_{1,2} = -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}} \end{array}\label{eq:transferpolynomial}$$
Note that the factor $$K$$ can be expressed as the product $$p_1\cdot p_2$$ by applying the identity $$(a+b)(a-b)=a^2-b^2$$
$$K=p_1\cdot p_2=\frac{1}{LC}\label{eq:p1p2}$$
Here is where is gets interesting:

The poles in $$\eqref{eq:transferpolynomial}$$ may be real or complex conjugates.

To highlight this, we parameterize the poles in terms of the natural frequency $$\omega_n$$ and damping ratio $$\zeta$$.
\begin{align} p_{1,2} &= -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}}\nonumber\\ &= \frac{1}{\sqrt{LC}} \left( -\sqrt{LC}\frac{R}{2L} \pm \sqrt{LC}\sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}} \right)\nonumber \\ &= \underbrace{\frac{1}{\sqrt{LC}}}_{\omega_n} \left( -\underbrace{\frac{R}{2}\sqrt\frac{C}{L}}_{\zeta} \pm \sqrt{\underbrace{\left(\frac{R}{2}\sqrt\frac{C}{L}\right)^2}_{\zeta^2}-1} \right) \\ \end{align}
Assign the natural frequency $$\omega_n=\sqrt{\frac{1}{LC}}$$ and the damping ratio $$\zeta=\frac{R}{2}\sqrt{\frac{C}{L}}$$.  These parameter choices will become evident as we examine complex conjugate poles.
$$\shaded{H(s)=K\frac{1}{(s-p_1)(s-p_2)}},\ K=\frac{1}{LC},\ p_{1,2}=\omega_n\left(-\zeta \pm \sqrt{\zeta^2-1}\right),\ \zeta=\frac{R}{2}\sqrt{\frac{C}{L}}, \omega_n=\sqrt{\frac{1}{LC}}\label{eq:transferpoles}$$
This dampening coefficient $$\zeta$$ determines the behavior of the system.  Given that the value of $$\frac{1}{LC} >0$$ and $$\frac{R}{L}\geq0$$, we can identify three classes of pole locations.

Effect of dampening coefficient $$\zeta$$ on system behavior
ζ Pole location Referred to as
$$\zeta>1$$ different locations on the negative real axis overdamped $$R>2\sqrt\frac{L}{C}$$
$$\zeta=1$$ coincite on the negative real axis critically damped $$R=2\sqrt\frac{L}{C}$$
$$\zeta<1$$ complex conjugate poles in the left half of the s-plane underdamped $$R<2\sqrt\frac{L}{C}$$

In the overdamped case, $$\zeta>1$$, the following relation between $$R$$, $$L$$ and $$C$$ must be true
\begin{align} \zeta&>1\nonumber\\ \frac{R}{2}\sqrt{\frac{C}{L}}&>1\nonumber\\ R&>2\sqrt\frac{L}{C} \end{align}
Following sections determine the step and frequency response for each of these classes.

## Two Different Real Poles (overdamped case, $$\zeta>1$$)

The two poles from equation $$\eqref{eq:transferpolynomial}$$ are on separate locations on the negative real axis.
$$\begin{array}{ccc} p_{1,2} = -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}},&{R>2\sqrt\frac{L}{C}} \end{array}$$
Note that $$p_1|p_2|$$, as visualized in the $$s$$-plane

### Unit Step Response

The unit step response shows how the system reacts to the input going from $$0$$ to $$1$$ volt at time $$t=0$$.  This input is called the Unit Step Function, here represented by $$u(t)=\gamma(t)$$.  The unit step response gives an impression of the system behavior in the time domain.

Multiplying the  Laplace transform of the unit step function, $$\Gamma(s)$$, with the transfer function $$\eqref{eq:transferpolynomial}$$, gives the unit step response $$Y(s)$$.
\begin{align} Y(s)&=\Gamma(s)\cdot H(s)\nonumber \\ &= \frac{1}{s}\cdot K\frac{1}{(s-p_1)(s-p_2)}\nonumber \\ &= K\frac{1}{s(s-p_1)(s-p_2)} \end{align}\label{eq:case1a_multiplication}
Split up this complicated fraction into forms that are in the Laplace Transform table. According to Heaviside, this can be expressed as partial fractions.  Note that we need to set up a partial fraction for each descending power of the denominator. [swarthmoreMIT-cu]
$$Y(s)=K\frac{1}{s(s-p_1)(s-p_2)} \equiv \frac{c_0}{s}+\frac{c_1}{s-p_1}+\frac{c_2}{s-p_2}\label{eq:case1a_heaviside}$$
Substitute $$K=p_1 p_2$$ from $$\eqref{eq:p1p2}$$ and use Heaviside’s cover up method to find the constants $$c_{0,1,2}$$.
$$\left.\begin{eqnarray} c_0&=&\left.\frac{p_1p_2}{(s-p_1)(s-p_2)}\right|_{s=0} &=1\nonumber\\ c_1&=&\left.\frac{p_1p_2}{s(s-p_2)}\right|_{s=p1} &=\frac{p_2}{p1-p_2}\nonumber\\ c_2&=&\left.\frac{p_1p_2}{s(s-p_1)}\right|_{s=p2} &=\frac{p_1}{p_2-p_1}\nonumber\\ \end{eqnarray}\right\}\label{eq:case1a_constants}$$
The unit step response $$y(t)$$ follows from the inverse Laplace transform of $$\eqref{eq:case1a_heaviside}$$ and substituting the constants $$\eqref{eq:case1a_constants}$$
\begin{align} y(t)&=\mathcal{L}^{-1}\left\{\frac{c_0}{s}\right\}+\mathcal{L}^{-1}\left\{\frac{c_1}{s-p_1}\right\}+\mathcal{L}^{-1}\left\{\frac{c_2}{s-p_2}\right\} & t\geq0\nonumber\\ &=c_0+c_1e^{p_1t}+c_2e^{p_2t} & t\geq0 \end{align}
Substituting the constants $$\eqref{eq:case1a_constants}$$ gives the unit step response
$$\shaded{y(t)=\left(1+\frac{p_2}{p_1-p_2}e^{p_1t}+\frac{p_1}{p_2-p_1}e^{p_2t}\right)\gamma(t)}, \mathrm{\ where\ }p_{1,2} = -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}}\label{eq:case1a_usr}$$
As shown in the graph, the  unit step response is a relatively slow decaying exponential curve (with $$p_1appendix. ### Frequency Response The frequency response \(y_{ss}(t)$$ is defined as the steady state response to a sinusoidal input signal $$u(t)=\sin(\omega t)\,\gamma(t)$$.  It describes how well the filter can distinguish between different frequencies.

In Evaluating Transfer Functions, we have proven that
\begin{align} y_{ss}(t)=|H(j\omega)|\,\sin(\omega t+\angle H(j\omega))\,\gamma(t) \end{align}
The transfer function $$H(s)$$ for this RLC Filter is given by $$\eqref{eq:transferpolynomial}$$
$$\begin{eqnarray}{c} H(s)=K\frac{1}{(s-p_1)(s-p_2)}, & K=\frac{1}{LC}, & p_{1,2} = -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}} \end{eqnarray}$$
Based on Euler’s formula, we can express $$H(s)$$ in polar coordinates
\begin{gather}\left\{ \begin{aligned} H(s) &= |H(s)|\ e^{j\angle{H(s)}}\\\\ |H(s)| &= K \frac{\prod_{i=1}^m\left|(s-z_i)\right|}{\prod_{i=1}^n\left|(s-p_i)\right|} =K \frac{1}{\left|s-p_1\right|\,\left|s-p_2\right|} \\ \angle{H(s)}&=\sum_{i=1}^m\angle(s-z_i)-\sum_{i=1}^n\angle(s-p_i) =-\left(\angle(s-p_1)+\angle(s-p_2) \right) \end{aligned} \right.\end{gather}
This transfer function with poles at $$p_1$$ and $$p_2$$, evaluated for $$s=j\omega$$ can be visualized with vectors from the poles to $$j\omega$$.

The product of the length of the vector corresponds to $$|(H(j\omega)|$$, and minus the sum of the angles with the real axis corresponds to phase shift $$\angle H(j\omega)$$.
\left\{ \begin{align} |H(j\omega)| &=K \frac{1}{\left|j\omega-p_2\right|\,\left|j\omega-p_2\right|}= K \frac{1}{\sqrt{\omega^2+{p_1}^2}\sqrt{\omega^2+{p_2}^2}} \nonumber \\ \angle{H(j\omega)}&=-\angle(j\omega-p_1)-\angle(j\omega-p_2)\nonumber\\ &=-\mathrm{atan2}(\omega,-p_1)-\mathrm{atan2}(\omega,-p_2)\nonumber\\ &=-\arctan\frac{\omega}{-p_1}-\arctan\frac{\omega}{-p_2}\nonumber\\ &=\arctan\frac{\omega}{p_1}+\arctan\frac{\omega}{p_2},\ p<0\land p\in\mathbb{R}\nonumber \end{align} \right.\label{eq:polar1} The output signal $$y_{ss}(t)$$ for a sinusoidal input signal $$\sin(\omega t)\,\gamma(t)$$ for $$\zeta>1$$ follows as
\left\{ \begin{align} y_{ss}(t)&= |H(j\omega)|\,\sin(\omega t+\angle H(j\omega))\,\gamma(t)\nonumber\\ |H(j\omega)| &=K \frac{1}{\sqrt{\omega^2+{p_1}^2}\sqrt{\omega^2+{p_2}^2}}\nonumber\\ \angle{H(j\omega)} &=\arctan\frac{\omega}{p_1}+\arctan\frac{\omega}{p_2},\ p<0\land p\in\mathbb{R}\nonumber\\ K&=\frac{1}{LC}\nonumber\\ p_{1,2} &= -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}}\nonumber \end{align} \right.\label{eq:frequencyresponse} The magnitude of the transfer function $$\eqref{eq:frequencyresponse}$$ expressed on a logarithmic scale \begin{align} |H_{dB}(\omega)| &= 20\log\left(K\right)-20\log\sqrt{\omega^2+{p_1}^2} -20\log\sqrt{\omega^2+{p_2}^2}&p_{1,2}\in\mathbb{R}\\ \end{align} The Bode plot shows the magnitude of the frequency response has a relatively shallow -20 dB/decade drop-off between $$|p_2| < \omega < |p_1|$$.

The corresponding Nyquist plot shows a very stable system

## Coinciting Real Poles (critically-damped case, $$\zeta=1$$)

In the critically-damped case, the two poles $$\eqref{eq:transferpolynomial}$$ coincite on the negative real axis.

Substitute $$\zeta=1$$ and $$\omega_n$$ in the equation for the poles $$\eqref{eq:transferpoles}$$
$$\begin{array}{cr} p = -\frac{R}{2L} = \sqrt\frac{1}{LC}, & R=2\sqrt\frac{L}{C}\\ \end{array}\label{eq:case2a_p}$$
This double pole $$p<0$$ is on the left real axis, as visualized in the $$s$$-plane

### Unit Step Response

Multiplying the  Laplace transform of the unit step function, $$\Gamma(s)$$, with the transfer function $$\eqref{eq:transferpolynomial}$$  gives the unit step response $$Y(s)$$.
\begin{align} Y(s)&=\Gamma(s)\cdot H(s)\nonumber \\ &= \frac{1}{s}\cdot K\frac{1}{(s-p)^2}, & K=\frac{1}{LC}, & \nonumber\\ &=K\frac{1}{s(s-p)^2} \end{align}\label{eq:case2a_multiplication}
Split up this complicated fraction into forms that are in the Laplace Transform table.  According to Heaviside, this can be expressed as partial fractions.  Note the factor $$\frac{c_2}{s-p}$$. [swarthmoreMIT-cu]
$$Y(s)=K\frac{1}{s(s-p)^2} \equiv \frac{c_0}{s}+\frac{c_1}{\left(s-p\right)^2}+\frac{c_2}{s-p}\label{eq:case2a_heaviside}$$
Substitute $$K=p^2$$ $$\eqref{eq:p1p2}$$ and use Heaviside’s cover up method to find the first two constants $$c_{0,1}$$.
$$\begin{array}{ll} c_0=\left.\frac{p^2}{(s-p)^2}\right|_{s=0}&=\frac{p^2}{p^2}&=1\\ c_1=\left.\frac{p^2}{s}\right|_{s=p}&=\frac{p^2}{p}&=p\\ \end{array}\label{eq:case2a_constants1}$$
Given $$c_0$$ and $$c_1$$, constant $$c_2$$ can be found by substituting any numerical value (other than $$0$$ or $$p$$) in equation $$\eqref{eq:case2a_heaviside}$$.  In this case, we substitute $$s=-p$$ [MIT-ex4]
\begin{align} &\frac{p^2}{s(s-p)^2} = \frac{1}{s}+\frac{p}{\left(s-p\right)^2}+\frac{c_2}{s-p}\left.\right|_{s=-p}\nonumber\\ \Rightarrow\ &-\frac{p^2}{4p^3} = -\frac{1}{p}+\frac{p}{4p^2}-\frac{c_2}{2p}\nonumber\nonumber\\ \Rightarrow\ &c_2 = -1\label{eq:case2a_constants2} \end{align}
The unit step response $$y(t)$$ follows from the inverse Laplace transform of $$\eqref{eq:case2a_heaviside}$$
\begin{align} y(t)&= \mathcal{L}^{-1}\left\{\frac{c_0}{s}\right\}+\mathcal{L}^{-1}\left\{\frac{c_1}{(s-p)^2}\right\}+\mathcal{L}^{-1}\left\{\frac{c_2}{s-p}\right\} & t\geq0\nonumber\\ &=c_0+c_1te^{pt}+c_2e^{pt} & t\geq0\nonumber \\ &=c_0+(c_1t+c_2)e^{pt} & t\geq0 \\ \end{align}
Substituting the constants $$\eqref{eq:case2a_constants1}$$ and $$\eqref{eq:case2a_constants2}$$ yields
$$\begin{eqnarray} \shaded{y(t)=\left(1+(pt-1)e^{pt}\right)\,\gamma(t)}, & \mathrm{where\ }p=-\sqrt\frac{1}{LC}\\ \end{eqnarray}$$
As shown in the graph below, this unit step response is a relatively fast rising exponential curve, demonstrating the shortest possible rise time without overshoot.

### Frequency Response

The frequency response $$y_{ss}(t)$$ is defined as the steady state response to a sinusoidal input signal $$u(t)=\sin(\omega t)\,\gamma(t)$$.

In Evaluating Transfer Functions, we have proven that
$$y_{ss}(t)=|H(j\omega)|\,\sin(\omega t+\angle H(j\omega))\,\gamma(t)$$
The transfer function $$H(s)$$ for this RLC Filter is given by $$\eqref{eq:transferpolynomial}$$ with the poles given by $$\eqref{eq:case2a_p}$$
$$H(s)=K\frac{1}{(s-p)^2},\ K=\frac{1}{LC},\ p =\sqrt{\frac{1}{LC}}\label{eq:case2b_splane}$$
Based on Euler’s formula, we can express $$H(s)$$ in  polar coordinates
\left\{ \begin{align} H(s) &= |H(s)|\ e^{j\angle{H(s)}}\nonumber\\ |H(s)| &= K \frac{\prod_{i=1}^m\left|(s-z_i)\right|}{\prod_{i=1}^n\left|(s-p_i)\right|} =K \frac{1}{\left|s-p\right|\,\left|s-p\right|}\nonumber\\ \angle{H(s)}&=\sum_{i=1}^m\angle(s-z_i)-\sum_{i=1}^n\angle(s-p_i) =-\left(\angle(s-p)+\angle(s-p) \right)\nonumber \end{align} \right.
This transfer function with the double poles at $$p$$, evaluated for $$s=j\omega$$ can be visualized with vectors from the poles to $$j\omega$$.

The square of the length of the vector corresponds to $$|(H(j\omega)|$$, and minus twice the angles with the real axis corresponds to phase shift $$\angle H(j\omega)$$.
\left\{ \begin{align} |H(j\omega)| &=K \frac{1}{\left|j\omega-p\right|\,\left|j\omega-p\right|}= K \frac{1}{\sqrt{\omega^2+{p}^2}\sqrt{\omega^2+{p}^2}}\nonumber\\ &=K\frac{1}{\omega^2+p^2}\nonumber\\ \angle{H(j\omega)}&=-\angle(j\omega-p)-\angle(j\omega-p)=-2\angle(j\omega-p)\nonumber\\ &=-2\cdot \mathrm{atan2}(\omega,-p) =-2\cdot\arctan\frac{\omega}{-p}\nonumber\\ &=2\arctan\frac{\omega}{p},\ p<0\land p\in\mathbb{R}\nonumber \end{align} \right.\label{eq:case2_polar1} The output signal $$y_{ss}(t)$$ for a sinusoidal input signal $$\sin(\omega t)\,\gamma(t)$$ for $$\zeta=1$$ follows as \left\{ \begin{align} y_{ss}(t)&= |H(j\omega)|\,\sin(\omega t+\angle H(j\omega))\,\gamma(t)\nonumber\\ |H(j\omega)| &=K \frac{1}{\omega^2+p^2}\nonumber\\ \angle{H(j\omega)} &=2\arctan\frac{\omega}{p}, & p<0\land p\in\mathbb{R}\nonumber\\ K&=\frac{1}{LC}\nonumber\\ p &= \sqrt{\frac{1}{LC}}\nonumber \end{align} \right.\label{eq:case2_frequencyresponse} The magnitude of the transfer function $$\eqref{eq:case2_frequencyresponse}$$ expressed on a logarithmic scale \begin{align} p,\,p^* &=\omega_n\left(-\zeta \pm \sqrt{-j^2\left(\zeta^2-1\right)}\right)\\ &=\omega_n\left(-\zeta \pm j\sqrt{1-\zeta^2}\right)\\ \end{align}\label{eq:case2b_polar} The magnitude of the frequency response has a relatively steep -40 dB/decade drop-off at $$\omega_n$$ without signs of resonance.

The corresponding Nyquist plot

## Complex Poles (underdamped case, $$\zeta<1$$)

For complex conjugate poles, the transfer function $$\eqref{eq:transferpoles}$$ can be written as below.  Given that $$\zeta<1$$, the argument of the square root in the poles will be negative. Multiply this argument with $$-j^2$$ to highlight the imaginary part apart. $$H(s)=K\frac{1}{(s-p)(s-p^\ast)}\label{eq:case3a_transferpoles}$$ Where \begin{align} \mathrm{where\ }K&=\frac{1}{LC},\nonumber\\ p,p^\ast&=\omega_n\left(-\zeta \pm \sqrt{-j^2\left(\zeta^2-1\right)}\right) =\omega_n\left(-\zeta \pm j\sqrt{1-\zeta^2}\right),\nonumber\\ \omega_n&=\sqrt{\frac{1}{LC}},\nonumber\\ \zeta&=\frac{R}{2}\sqrt{\frac{C}{L}}\nonumber \end{align}\label{eq:case3a_transferpoleswhere} Split the conjugate poles in their real and imaginary parts by defining the poles from equation $$\eqref{eq:case3a_transferpoles}$$ as $$p,\,p^*\equiv -\sigma\pm j\omega_d$$ $$p,\,p^\ast=\omega_n\left(-\zeta \pm j\sqrt{1-\zeta^2}\right) \equiv -\sigma\pm j\omega_d\label{eq:sigmaomegad}$$ So that \begin{eqnarray} \left\{ \begin{aligned} \sigma&=\omega_n\zeta,&\text{attenuation}\nonumber\\ \omega_d&=\omega_n\sqrt{1-\zeta^2},&\text{damped natural frequency}\nonumber \end{aligned} \right. \end{eqnarray}\label{eq:sigmaomegad_} This equation indicates that the conjugate poles $$p, p^*$$ lay in the left half of the $$s$$-plane. The length of the line segment from the origin to pole $$p$$ represents the natural frequency $$\omega_n$$ and the angle of the imaginary axis with that line is $$\arcsin$$ of the attenuation $$\zeta$$.  [MIT-me]

### Unit Step Response

Multiplication of the Laplace transform of the unit step function, $$\Gamma(s)$$, with the transfer function $$\eqref{eq:case3a_transferpoles}$$ gives the unit step response $$Y(s)$$.
\begin{align} Y(s)&=\Gamma(s)\cdot H(s)\nonumber \\ &= \frac{1}{s}\cdot K\frac{1}{(s-p)(s-p^\ast)}\nonumber \\ &= K\frac{1}{s(s-p)(s-p^\ast)} \end{align}\label{eq:case3a_multiplication}
Using Heaviside, split this equation partial fractions that can be found in the Laplace Transform table
$$Y(s)=K\frac{1}{s(s-p)(s-p^\ast)} \equiv \frac{c_0}{s}+\frac{c_1}{s-p}+\frac{c_2}{s-p^\ast}\label{eq:case3a_heaviside}$$
Substitute $$K=p\cdot p^\ast$$ from equation $$\eqref{eq:p1p2}$$ and use Heaviside’s cover up method to find the constants $$c_{0,1,2}$$.
$$\left.\begin{eqnarray} c_0=\left.\frac{p\,p^*}{(s-p)(s-p^*)}\right|_{s=0} &=1\nonumber\\ c_1=\left.\frac{p\,p^*}{s(s-p^*)}\right|_{s=p} &=\frac{p^*}{p-p^*}\nonumber\\ c_2=\left.\frac{p\,p^*}{s(s-p)}\right|_{s=p^*} &=\frac{p}{p^*-p}&={c_1}^*\nonumber \end{eqnarray}\right\}\label{eq:case3a_constants}$$
The constants $$c_1$$ and $$c_2$$ are complex conjugates of each other since they are equivalent except for the sign on the imaginary part. To highlight this, substitute the values for the poles from $$\eqref{eq:sigmaomegad}$$ and write these constants in polar notation
\begin{align} c_1&=\frac{p^*}{p-p^\ast} =\frac{-\sigma-j\omega_d}{(-\sigma+j\omega_d)-(-\sigma-j\omega_d)}\nonumber\\ &=\frac{-\sigma-j\omega_d}{j2\omega_d} =\frac{j(\sigma+j\omega_d)}{j(-j2\omega_d)} =\frac{j\sigma-\omega_d}{2\omega_d}\nonumber\\ &=\frac{1}{2\omega_d}\left(-\omega_d+j\sigma\right)\overset{Euler}\Rightarrow\nonumber\\ &=\frac{|p|}{2\omega_d}\,e^{j\varphi}, \mathrm{\ where\ } \left\{\begin{aligned} |p|&=\sqrt{{\omega_d}^2+\sigma^2}\mathrm{\ and\ }\nonumber\\ \varphi&=\mathrm{atan2}(\sigma,-\omega_d)=\arctan\left(\frac{\sigma}{-\omega_d}\right)+\pi \end{aligned}\right.\label{eq:case3a_c2polar} \\ c_2&={c_1}^\ast=\frac{|p|}{2\omega_d}\,e^{-j\varphi}\label{eq:case3a_c3polar} \end{align}
The unit step response $$y(t)$$ follows from the inverse Laplace transform of $$\eqref{eq:case3a_heaviside}$$, substituting $$c_{0,1,2}$$ from $$\eqref{eq:case3a_constants}$$, $$\eqref{eq:case3a_c2polar}$$ and $$\eqref{eq:case3a_c3polar}$$.
\begin{align} y(t)&= \mathcal{L}^{-1}\left\{\frac{c_0}{s}\right\}+\mathcal{L}^{-1}\left\{\frac{c_1}{s-p}\right\}+\mathcal{L}^{-1}\left\{\frac{c_2}{s-p^*}\right\} & t\geq0\nonumber\\ &=c_0+c_1e^{pt}+c_2e^{p^*t} \overset{\mathrm{subst\ consts}}\Rightarrow &t\geq0\nonumber \\ &=1+\frac{|p|}{2\omega_d}\,e^{j\varphi}e^{(-\sigma+j\omega_d)t}+\frac{|p|}{2\omega_d}\,e^{-j\varphi}e^{(-\sigma-j\omega_d)t} &t\geq0\nonumber \\ &=1+\frac{|p|}{\omega_d}\ e^{-\sigma t}\ \underbrace{\frac{ e^{j(\omega_d t+\varphi)}+e^{-j(\omega_d t+\varphi)}}{2}}_{\text{Euler idendity for cosine}} &t\geq0 \end{align}
Apply the Euler identify for cosine, and reference $$|p|$$ and $$\varphi$$ from equation \$$\eqref{eq:case3a_c2polar}$$ and $$\eqref{eq:case3a_c3polar}$$, $$\sigma$$ and $$\omega_d$$ from equation $$\eqref{eq:sigmaomegad}$$ and $$\zeta$$ and $$\omega_n$$ from $$\eqref{eq:case3a_transferpoles}$$
$$\shaded{y(t)=\left( 1+\frac{|p|}{\omega_d}e^{-\sigma t}\cos(\omega_d t+\varphi) \right)\gamma(t)}\label{eq:case3a_usr}$$
Where
\begin{aligned} |p|&=\sqrt{{\omega_d}^2+\sigma^2}\\ \omega_d&=\omega_n\sqrt{1-\zeta^2}\\ \sigma&=\omega_n\zeta\\ \omega_n&=\sqrt{\frac{1}{LC}}\\ \zeta&=\frac{R}{2}\sqrt{\frac{C}{L}}\\ \varphi&=\pi-\arctan\frac{\sigma}{\omega_d} \end{aligned}\label{eq:case3a_usr_where}
The graph shows the response for different values of $$R$$.  This underdamped circuit oscillates, with the  amplitude exceeding that of the input ($$1$$).

For the extreme case, where $$R=0$$, the response becomes $$\left(1-cos(\omega_n t)\right)\gamma(t)$$, oscillating with an amplitude reaching twice the input ($$1$$).

### Frequency Response

The frequency response $$y_{ss}(t)$$ is defined as the steady state response to a sinusoidal input signal
$$u(t)=\sin(\omega t)\,\gamma(t)$$
We can rewrite the transfer function $$\eqref{eq:transferpoles}$$ by substituting the poles from $$\eqref{eq:sigmaomegad}$$
\begin{align} H(s)&=K\frac{1}{(s-p)(s-p^\ast)} =K\frac{1}{s^2-s(p+p^\ast)+p\,p^\ast}\overset{\mathrm{subst\ }p,p\ast}\Rightarrow\nonumber\\ &=K\frac{1}{s^2-s( \omega_n\left(-\zeta + j\sqrt{1-\zeta^2}\right) + \omega_n\left(-\zeta – j\sqrt{1-\zeta^2}\right) )+p\,p^\ast}\overset{\mathrm{subst\ }pp^\ast={\omega_n}^2}\Rightarrow\nonumber\\ &=K\frac{1}{s^2-s\omega_n\left( \left(-\zeta \cancel{+j\sqrt{1-\zeta^2}}\right) + \left(-\zeta \cancel{-j\sqrt{1-\zeta^2}}\right) \right)+{\omega_n}^2}\nonumber\\ &=K\frac{1}{s^2+2\zeta\omega_n s +{\omega_n}^2}\label{eq:case3a_newhs} \end{align}
In Evaluating Transfer Functions, we derived the frequency response as
$$y_{ss}(t)=|H(j\omega)|\,\sin(\omega t+\angle H(j\omega))\,\gamma(t)$$
This transfer function with the poles at $$p$$ and $$p^\ast$$, evaluated for $$s=j\omega$$ can be visualized with vectors from the poles to $$j\omega$$.

Substitute $$s=j\omega$$ into the transfer function $$\eqref{eq:case3a_newhs}$$
\begin{align} H(j\omega)&=K\frac{1}{(j\omega)^2+2\zeta\omega_n (j\omega) +{\omega_n}^2} =K\frac{1}{({\omega_n}^2-\omega^2)+j(2\zeta\omega_n \omega)} \end{align}
The transfer function can be expressed in polar form using Euler’s formula as
\begin{gather}\left\{ \begin{aligned} H(s) &= |H(s)|\ e^{j\angle{H(s)}}\\\\ |H(s)| &= K\frac{1}{\sqrt{({\omega_n}^2-\omega^2)^2+(2\zeta\omega_n \omega)^2}}\\ \angle{H(s)}&=-\mathrm{atan2}\left(2\zeta\omega_n \omega,\ {\omega_n}^2-\omega^2\right)\\ \end{aligned} \right.\end{gather}\label{eq:case3b_polar}
The graph shows the magnitude of the output for different values of $$R$$.  The magnitude of the frequency response demonstrates resonant behavior. Note the voltage amplification around the natural frequency $$\omega_n$$ .

The corresponding Nyquist plot shows that the system gets less stable as the resistor value decreases

## Appendix

### Step response, in GNU/Octave

clc; close all; clear all; format short eng
L=47e-3; # 47mH
C=47e-9; # 47nF
#Rvector = [3.9e3]; # seperate real poles
#Rvector = [2e3]; # coinciting real poles
#Rvector = [220 820 1500]; # conjugate complex poles
Rvector = [0]; # conjugate complex poles on im-axis
w=logspace(3,5,200); #*e.^(sigma*t)
f=w/(2*pi);
for R = Rvector
wn=1/sqrt(L*C);
zeta=R/2*sqrt(C/L)
t=linspace(0,2e-3,200);
if (zeta < 1) # complex conjugate poles
sigma=wn*zeta;
wd=wn*sqrt(1-zeta^2);
u=1 - sqrt(sigma^2+wd^2)/wd .* exp(-sigma*t) .* cos(wd*t-atan(sigma/wd));
hold on; h=plot(t,u); hold off;
endif
if (zeta == 1) # coninciting real poles
p=wn*(-zeta+sqrt(zeta^2-1));
u=1 + (p*t-1).*e.^(p*t);
hold on; h=plot(t,u); hold off;
endif
if (zeta > 1) # real poles
p1=wn*(-zeta+sqrt(zeta^2-1));
p2=wn*(-zeta-sqrt(zeta^2-1));
u = 1 + p2/(p1-p2)*e.^(p1*t) + p1/(p2-p1)*e.^(p1*t);
hold on; h=plot(t,u); hold off;
endif
endfor
axis([min(t) max(t) 0 2]); #1.75
xlabel('time [s]'); ylabel('|h(t)|');

t=['Step Response(t'];
t2=['), C=' num2str(C*1e9) 'nF, L=', num2str(L*1e3),'mH'];
if(length(Rvector)==1)
t=[t t2 ', R=' num2str(R/1e3) 'k\Omega']
else
t=[t ',R' t2];
endif
t = [t ];
title(t, "fontsize", 15);</pre>
<h3 id="octavebode">Bode magnitude, in GNU/Octave</h3>
<pre class="brush: matlab gutter: true; toolbar: off; tab-size: 4">clc; close all; clear all; format short eng
L=47e-3; # 47mH
C=47e-9; # 47nF
#Rvector = [3.9e3]; # seperate real poles
#Rvector = [2e3]; # coinciting real poles
#Rvector = [220 820 1500]; # conjugate complex poles
Rvector = [0]; # conjugate complex poles on im-axis
f=logspace(1,6,200);
w=2*pi*f;
for R = Rvector
wn=1/sqrt(L*C);
zeta=R/2*sqrt(C/L)
if (zeta == 0) # complex conjugate poles on imaginary axis
u=20*log10(wn.^2) - 20*log10(wn.^2-w.^2);
hold on; h=semilogx(f,u); hold off;
hold on;
plot([wn/(2*pi) wn/(2*pi)], get(gca,'YLim'),'k--');
text(wn/(2*pi)*1.1,30,'|p|/2\pi');
hold off
poles = [-wn*zeta+sqrt(1-zeta^2)*j, -wn*zeta-sqrt(1-zeta^2)*j ];
endif
if (zeta < 1 && zeta>0) # complex conjugate poles on left side of s-plane
u=20*log10(wn.^2) - 20*log10(sqrt((wn.^2-w.^2).^2+(2*zeta*wn*w).^2));
hold on; h=semilogx(f,u); hold off;
hold on;
plot([wn/(2*pi) wn/(2*pi)], get(gca,'YLim'),'k--');
text(wn/(2*pi),25,'\omega_n/2\pi');
hold off
poles = [-wn*zeta+sqrt(1-zeta^2)*j, -wn*zeta-sqrt(1-zeta^2)*j ];
endif
if (zeta == 1) # coninciting real poles
p=1/sqrt(L*C);
u=20*log10(p.^2) - 40*log10(sqrt(w.^2+p.^2));
hold on; h=semilogx(f,u);
plot([wn/(2*pi) wn/(2*pi)], get(gca,'YLim'),'k--');
text(wn/(2*pi),5,'|p|/2\pi');
f1=p/(2*pi);
fmax=max(f);
asymp=-40*log10((fmax-f1)/f1);
plot([min(f) f1 fmax],[0 0 asymp ],'k--');
hold off
poles=[-wn*zeta -wn*zeta];
endif
if (zeta > 1) # separate real poles
p1=wn*(-zeta+sqrt(zeta^2-1));
p2=wn*(-zeta-sqrt(zeta^2-1));
u=20*log10(p1*p2./(sqrt(w.^2+p1.^2).*sqrt(w.^2+p2.^2)));
figure(1);
hold on; h=semilogx(f,u); hold off;
hold on;
f1=-p1/(2*pi); f2=-p2/(2*pi);
plot([f1 f1], get(gca,'YLim'),'k--');
plot([f2 f2], get(gca,'YLim'),'k--');
fmax=max(f);
asymp1=0 - 20*log10((f2-f1)/f1);
asymp2=asymp1 - 40*log10((fmax-f2)/f2);
plot([min(f) f1 f2 fmax],[0 0 asymp1 asymp2],'k--');
text(f1,5,'|p1|/2\pi');
text(f2,5,'|p2|/2\pi');
hold off
poles=[p1+0j p2+0j];
endif
endfor
figure(1);
grid off;
axis([min(f) max(f) -80 40]);
xlabel('frequency [Hz]'); ylabel('20log| H(t)|');
if (zeta>=1)
leg=[leg;'asymptote'];
endif
t=['Bode Magnitude in dB(f'];
t2=['), C=' num2str(C*1e9) 'nF, L=', num2str(L*1e3),'mH'];
if(length(Rvector)==1)
t=[t t2 ', R=' num2str(R/1e3) 'k\Omega']
else
t=[t ',R' t2];
legend(leg);
endif
t = [t ];
title(t, "fontsize", 15);
Embedded software developer
Passionately curious and stubbornly persistent. Enjoys to inspire and consult with others to exchange the poetry of logical ideas.

## One Reply to “RLC Low-pass Filter”

1. oleg says:

i’ve studied the subject for few weeks now and this is the best materials I found so far. thanks for taking your time!

This site uses Akismet to reduce spam. Learn how your comment data is processed.