Appendix

own work

Listing of GNU/Octave code for RC low-pass filter. Used to generated the graphs in my RC low-pass filter article. Supplements the article RLC Low-pass Filter.\(\)

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]; # separate real poles
#Rvector = [2e3]; # coinciding 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) # coinciding 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];
    legend(strread(num2str(Rvector,3),'%s'));
endif
t = [t ];
title(t, "fontsize", 15);

Bode magnitude, in GNU/Octave

clc; close all; clear all; format short eng
L=47e-3; # 47mH
C=47e-9; # 47nF
#Rvector = [3.9e3]; # separate real poles
#Rvector = [2e3]; # coinciding 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) # coinciding 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)|');
leg=strread(num2str(Rvector,4),'%s');
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);

Complex poles

own work

Shows the math of a underdamped RLC low pass filter. Visualizes the poles in the Laplace domain. The step and frequency response. Part of the article RLC Low-pass Filter.\(\)

Complex Poles (underdamped case)

For complex conjugate poles, the transfer function can be written as below. Given that \(\zeta\lt1\), 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]

own work
\(s\)-plane for underdamped case

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\) in the pole equations and use Heaviside’s cover up method to find the constants \(c_{0,1,2}\).

$$ \begin{gather} \left\{ \begin{array}{cclclcc} c_0 &=& \left.\frac{p\,p^*}{(s-p)(s-p^*)}\right|_{s=0} &=& 1 \\ c_1 &=& \left.\frac{p\,p^*}{s(s-p^*)}\right|_{s=p} &=& \frac{p^*}{p-p^*} \\ c_2 &=& \left.\frac{p\,p^*}{s(s-p)}\right|_{s=p^*} &=& \frac{p}{p^*-p} &\equiv& {c_1}^* \end{array} \right. \label{eq:case3a_constants} \end{gather} $$

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&=\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 identity 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\)).

own work; requires svg capable browser
Step response for underdamped case

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 functionby 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\).

z-plane complex poles jw
Transfer function evaluated at \(s=j\omega\) for underdamped case1a_constants

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} \nonumber \\ &= 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\) .

own work; requires svg capable browser
Bode magnitude for underdamped case

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

own work; requires svg enabled browser
Nyquist plot for underdamped case

Want to learn more?

Coinciting real poles

own work

Shows the math of a critically-damped RLC low pass filter. Visualizes the poles in the Laplace domain. Visualizes the step and frequency response. Part of the article RLC Low-pass Filter.\(\)

Coinciting Real Poles (critically-damped case)

In the critically-damped case, the two poles from the transfer polynominal coincite on the negative real axis.

Substitute \(\zeta=1\) and \(\omega_n\) in the equation for the poles.

$$ \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\lt0\) is on the left real axis, as visualized in the \(s\)-plane

own work
\(s\)-plane for critically-damped case

Unit Step Response

Multiplying the Laplace transform of the unit step function, \(\Gamma(s)\), with the transfer polynominal 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}\). [swarthmore, MIT-cu]

$$ \begin{align} Y(s) &= K\frac{1}{s(s-p)^2} \nonumber \\ &\equiv \frac{c_0}{s}+\frac{c_1}{\left(s-p\right)^2}+\frac{c_2}{s-p} \label{eq:case2a_heaviside} \end{align} $$

Substitute \(K=p^2\) in the pole equations 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

$$ \shaded{ y(t)=\left(1+(pt-1)e^{pt}\right)\,\gamma(t) }, \quad \mathrm{where\ }p=-\sqrt\frac{1}{LC}\\ $$

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.

own work; requires svg capable browser
Step response for critically-damped case

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 the transfer polynominal and 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

$$ \begin{gather} \left\{ \begin{aligned} 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|} \nonumber \\ &= 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) \nonumber \\ &= -\left(\angle(s-p)+\angle(s-p) \right)\nonumber \end{aligned} \right. \end{gather} $$

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\).

own work
Transfer function evaluated at \(s=j\omega\) for critically-damped case

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)\).

$$ \begin{gather} \left\{ \begin{aligned} |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\lt0\land p\in\mathbb{R}\nonumber \end{aligned} \right. \label{eq:case2_polar1} \end{gather} $$

The output signal \(y_{ss}(t)\) for a sinusoidal input signal \(\sin(\omega t)\,\gamma(t)\) for \(\zeta=1\) follows as

$$ \begin{gather} \left\{ \begin{aligned} 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},\quad p\lt0\land p\in\mathbb{R}\nonumber\\ K&=\frac{1}{LC}\nonumber\\ p &= \sqrt{\frac{1}{LC}}\nonumber \end{aligned} \right. \label{eq:case2_frequencyresponse} \end{gather} $$

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) \nonumber \\ &=\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.

own work; requires svg capable browser
Bode magnitude for critically-damped case

The corresponding Nyquist plot

own work; requires svg enabled browser
Nyquist plot for critically-damped case

Continue reading about Complex poles

Two different real poles

own work

Shows the math of a overdamped RLC low pass filter. Visualizes the poles in the Laplace domain. Calculates the step and frequency response. Part of the article RLC Low-pass Filter.\(\)

Two Different Real Poles (overdamped case)

The two poles from the transfer polynominal 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\lt p_2\lt0\) and \(|p_1|>|p_2|\), as visualized in the \(s\)-plane

own work
\(s\)-plane for overdamped case

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 (transfer-polynominal), 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. [swarthmore, MIT-cu]

$$ \begin{align} Y(s) &= K\frac{1}{s(s-p_1)(s-p_2)} \nonumber \\ &\equiv \frac{c_0}{s}+\frac{c_1}{s-p_1}+\frac{c_2}{s-p_2} \label{eq:case1a_heaviside} \end{align} $$

Substitute \(K=p_1 p_2\) from the pole equations and use Heaviside’s cover up method to find the constants \(c_{0,1,2}\).

$$ \left. \begin{array}{cccc} c_0 &=& \left.\frac{p_1p_2}{(s-p_1)(s-p_2)}\right|_{s=0} &=& 1 \\ c_1 &=& \left.\frac{p_1p_2}{s(s-p_2)}\right|_{s=p1} &=& \frac{p_2}{p1-p_2} \\ c_2 &=& \left.\frac{p_1p_2}{s(s-p_1)}\right|_{s=p2} &=& \frac{p_1}{p_2-p_1} \end{array} \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) } $$
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_1\lt p_2\lt 0\)). The figure was generated using the source code listed in the appendix.

own work; requires svg capable browser
Unit step response for over dampened case

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 transfer polynominal.

$$ H(s)=K\frac{1}{(s-p_1)(s-p_2)} $$
where
$$ p_{1,2} = -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}} \nonumber $$

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\).

own work
Transfer function evaluated at \(s=j\omega\) for over dampened case

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)\).

$$ \begin{gather} \left\{ \begin{aligned} |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\lt0\land p\in\mathbb{R}\nonumber \end{aligned} \right. \end{gather} \label{eq:polar1} $$

The output signal \(y_{ss}(t)\) for a sinusoidal input signal \(\sin(\omega t)\,\gamma(t)\) for \(\zeta>1\) follows as

$$ \begin{gather} \left\{ \begin{aligned} 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\lt0\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{aligned} \right. \label{eq:frequencyresponse} \end{gather} $$

The magnitude of the transfer function \(\eqref{eq:frequencyresponse}\) expressed on a logarithmic scale

$$ \begin{align} |H_{dB}(\omega)| =& \,20\log\left(K\right) \nonumber \\ & -20\log\sqrt{\omega^2+{p_1}^2} \nonumber \\ & -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| \lt \omega \lt |p_1|\).

own work; requires svg capable browser
Bode magnitude for over dampened case

The corresponding Nyquist plot shows a very stable system

own work; requires svg enabled browser
Nyquist for over dampened case

Continue reading about Coinciting real poles

Appendix B

own work

Solves the differential equation for a RC low-pass filter. Gives the homogeneous and particular solutions. This supplements the article RC Low-pass filter.\(\)

Appendix B

For old times sake, we show the traditional method to solve the differential equation for the passive filters consisting of a resistor and capacitor in series.

The output is the voltage over the capacitor \(y(t)\) as shown in the schematic below.

own work
Schematic RC filter

Assume a switch between the input and the resistor that closes at \(t=t_1\). Further assume \(y(t\leq t_1)=Y_0\).

According to Kirchhoff’s Voltage Law, for \(t\geq t_1\)

$$ \begin{align} u(t)&=u_R(t)+u_C(t)\nonumber\\[6mu] &=i(t)\,R+y(t)\quad\Rightarrow\nonumber\\[6mu] R\,i(t)+y(t)&=u(t)\label{eq:bUt} \end{align} $$

The relations between voltage and current for the resistor and capacitor are

$$ \begin{align} u_R(t)&=R\,i(t)&\text{resistor}\label{eq:bUr}\\[6mu] i(t)&=C\frac{\mathrm{d}y(t) }{\mathrm{d}t}&\text{capacitor}\label{eq:bIt} \end{align} $$

Two differential equations follow from substituting \(\eqref{eq:bIt}\) and \(\eqref{eq:bUr}\) in \(\eqref{eq:bUt}\) or its derivative

$$ \begin{align} R\,i(t)+y(t)&=u(t)\nonumber\\[6mu] R\,C\frac{\text{d}y(t)}{\text{d}t}+y(t)&=u(t)\label{eq:bDV1}\\[20mu] \frac{\text{d}i(t)}{\text{d}t}\,R+\frac{i(t)}{C}&=\frac{\text{d}u(t)}{\text{d}t}\nonumber\\[10mu] RC\frac{\text{d}i(t)}{\text{d}t}+i(t)&=C\frac{\text{d}u(t)}{\text{d}t}\label{eq:bDV2} \end{align} $$

If \(u(t)\) is continuous, we can choose either differential equation, but when \(u(t)\) is non-continuous we can’t use \(\eqref{eq:bDV2}\).

Assume the non-homogeneous linear differential equation of a first order High-pass LC-filter, where \(u(t)=\hat{u}\cos(\omega t)\) is the forcing function and the current \(i(t)\) through the inductor is the response. The differential equation for this system is

$$ RC\,{y_p}^\prime(t)+\,y_p(t)=\hat{u}\cos(\omega t)\label{eq:bTrigRC_DV} $$

The solution is a superposition of the natural response and a forced response. The so called, homogeneous solution \(y_h(t)\) and the particular solution \(y_p(t)\)

$$ y(t)=y_h(t)+y_p(t)\label{eq:bTrigRC_hp} $$

Homogeneous solution

The homogeneous solutions follows from the reduced (=homogeneous) linear differential equation where the forcing function is zero.

$$ RC\,{y_p}^\prime(t)+\,y_p(t)=0\label{eq:bTrigRC_homDV} $$

According the Euler, the homogeneous solutions are in the form $$ y_h(t)=\mathrm{e}^{pt}\label{eq:bTrigRC_gen} $$

substituting this \(y_h(t)\) in \(\eqref{eq:bTrigRC_homDV}\) gives the characteristic equation with root \(p\)

$$ \begin{align} RC\,(\mathrm{e}^{pt})^\prime+\,\mathrm{e}^{pt}&=0\nonumber\\ \Rightarrow\quad RC\,p\mathrm{e}^{pt}+\mathrm{e}^{pt}&=0&\div{\mathrm{e}^{pt}}\nonumber\\ \Rightarrow\quad RC\,p+1&=0\nonumber\\ p&=-\frac{1}{RC}\label{eq:bTrigRC_p} \end{align} $$

The solution base \(y_{h,1}(t)\) follows from substituting the root \(p\) from equation \(\eqref{eq:bTrigRC_p}\) in back in the homogeneous differential equation \(\eqref{eq:bTrigRC_gen}\)

$$ y_{h1}(t)=\mathrm{e}^{-\frac{t}{RC}t} $$

The homogeneous solution follows as a linear combination of the solution bases (only one in this case) as

$$ \shaded{ y_h(t)=c\,y_{h1}(t)=c\,\mathrm{e}^{-\frac{t}{RC}} \label{eq:bTrigRC_hSolution} } $$
where the constant \(c\) follows from the initial conditions.

Particular solution

We will show how to get the particular solution using both trigonometry and complex arithmetic.

Using the trigonometry method

If we force a signal \(\hat{u}\cos(\omega t)\) on a linear system, the output will have the same frequency but with a different phase \(\phi\) and amplitude \(A\).

$$ \begin{align} y_p(t)&=A\cos(\omega t+\phi)\label{eq:bTrigRC_form}\\ \Rightarrow\quad y^\prime_p(t)&=-A\,\omega\sin(\omega t+\phi)\label{eq:bTrigRC_formDer} \end{align} $$

Substituting \((\eqref{eq:bTrigRC_form},\eqref{eq:bTrigRC_formDer})\) in the differential equation \(\eqref{eq:bTrigRC_DV}\)

$$ \begin{align} -ARC\,\omega\sin(\omega t+\phi)+A\cos(\omega t+\phi)&=\hat{u}\cos(\omega t)\nonumber\\ \Rightarrow\quad \color{green}{1}\cos(\omega t+\phi)-\color{green}{\omega RC}\,\sin(\omega t+\phi)&=\frac{\hat{u}\cos(\omega t)}{A}\label{eq:bTrigRC_part}\\ \end{align} $$

Work towards the trigonometric identity

$$ \begin{align} \gamma\cos(\alpha+\beta)=\gamma\cos\alpha\cos\beta-\gamma\sin\alpha\sin\beta\nonumber \end{align} \nonumber $$

by assigning the two independent variables \(R\) and \(\omega L\) to two more convenient independent variables \(\gamma\cos\alpha\) and \(\gamma\sin\alpha\)

$$ \begin{align} \gamma\cos\alpha&\triangleq 1\label{eq:bTrigRC_CcosAlpha}\\ \gamma\sin\alpha&\triangleq\omega RC\label{eq:bTrigRC_CsinAlpha}\\ \end{align} $$

to dot the ‘i’, introduce \(\beta\)

$$ \beta\triangleq\omega t+\phi\label{eq:bTrigRC_beta} $$

we can rewrite \(\eqref{eq:bTrigRC_part}\) and use the aforementioned trigonometric identity

$$ \begin{align} \gamma\cos\alpha\cos\beta- \gamma\sin\alpha\sin\beta&=\frac{\hat{u}\cos(\omega t)}{A}\nonumber\\ \gamma\cos(\alpha+\beta)&=\frac{\hat{u}\cos(\omega t)}{A}\label{eq:bTrigRC_alpabetaC}\\ \end{align} $$

Divide \(\eqref{eq:bTrigRC_CsinAlpha}\) by \(\eqref{eq:bTrigRC_CcosAlpha}\) to solve for \(\alpha\), and apply the geometric identity \(\sin^2\alpha+\cos^2\alpha=1\) to \(\eqref{eq:bTrigRC_CsinAlpha}\) by \(\eqref{eq:bTrigRC_CcosAlpha}\) to solve for \(C\)

$$ \begin{align} \frac{\cancel{\gamma}\sin\alpha}{\cancel{\gamma}\cos\alpha}=\frac{\omega RC}{1} \quad\Rightarrow\quad \alpha&=\arctan\left(\omega RC\right)\label{eq:bTrigRC_alpha} \\ \left(\frac{\omega RC}{\gamma}\right)^2+\left(\frac{1}{\gamma}\right)^2=1 \quad\Rightarrow\quad \gamma&=\sqrt{1+(\omega RC)^2}\label{eq:bTrigRC_C} \end{align} $$

Substituting \(\eqref{eq:bTrigRC_beta}, \eqref{eq:bTrigRC_alpha},\eqref{eq:bTrigRC_C}\) in equation \(\eqref{eq:bTrigRC_alpabetaC}\)

$$ {\sqrt{1^2+(\omega RC)^2}}\, \cos{\large(}{\arctan\left(\omega RC\right)+\beta}\,{\large)} = {\frac{\hat{u}}{A}}\cos({teal}{\omega t}) $$

and combine like terms

$$ \begin{align} A &= \frac{\hat{u}}{\sqrt{1+(\omega RC)^2}} \label{eq:bTrigRC_A} \\ \arctan\left(\omega RC\right)+\cancel{\omega t}+\phi=\cancel{\omega t} \quad\Rightarrow\quad \phi &= -\arctan\left(\frac{\omega L}{R}\right) \label{eq:bTrigRC_Phi} \end{align} $$

The particular solution follows from substituting \((\eqref{eq:bTrigRC_A}, \eqref{eq:bTrigRC_Phi})\) in \(\eqref{eq:bTrigRC_form}\)

$$ \shaded{\begin{align} y_p(t)&=A\cos(\omega t+\phi)\label{eq:bTrigRC_pSolution}\\ \text{where}\quad A&=\frac{\hat{u}}{\sqrt{1+(\omega RC)^2}}\nonumber\\ \text{and}\quad\phi&=-\arctan\left(\omega RC\right)\nonumber \end{align} } $$

Using the complex arithmetic method

Using a complex forcing function \(\underline{u}(t)\) provides a less involved method of finding the particular solution as introduced in Linear Differential Equations. Using a complex forcing function

$$ \underline{u}(t)=\hat{u}\,\mathrm{e}^{j\omega t} $$

the corresponding complex response is of the form

$$ \begin{align} \underline{y}_p(t)&=A\,\mathrm{e}^{j(\omega t+\phi)}\label{eq:bCaRC_yp}\\ \Rightarrow\quad {\underline{y}_p}^\prime(t)&=j\omega\,A\,\mathrm{e}^{j(\omega t+\phi)}\label{eq:bCaRC_ypDer}\\ \end{align} $$

Substituting \(\underline{y}_p(t)\) and \({\underline{y}_p}^\prime(t)\) in the differential equation \(\eqref{eq:bTrigRC_DV}\)

$$ \begin{align} RC\,j\omega\,A\,\mathrm{e}^{j(\omega t+\phi)}+\,A\,\mathrm{e}^{j(\omega t+\phi)}&=\hat{u}\mathrm{e}^{j\omega t},&\div\mathrm{e}^{j\omega t}\nonumber\\ \Rightarrow\quad j\omega RC\,A\,\mathrm{e}^{j\phi} +A\,\mathrm{e}^{j\phi}&=\hat{u}\nonumber\\ \Rightarrow\quad A\,\mathrm{e}^{j\phi}(j\omega RC+1)&=\hat{u}\nonumber\\ \Rightarrow\quad A\,\mathrm{e}^{j\phi}&=\frac{\hat{u}}{j\omega RC+1} \end{align} $$

The amplitude \(A\) and phase \(\phi\) of the complex response follow as

$$ \begin{align} A&=\left|\frac{\hat{u}}{j\omega RC+1}\right|\\ \phi&=\angle\hat{u}-\angle(j\omega RC+1) =0-\mathrm{atan2}\left(\omega RC,1 \right) =-\arctan\left(\omega RC\right) \end{align} $$

Now that \(A\) and \(\phi\) are known, the complex particular response follows as equation \(\eqref{eq:bCaRC_yp}\)

$$ \underline{y}_p(t)=A\,\mathrm{e}^{j(\omega t+\phi)}=A\cos(\omega t)+jA\sin(\omega t) \label{eq:bRLSol} $$

Since the forcing function was only the real part of \(\underline{u}(t)\), are only interested in the real part of the complex particular solution \(\eqref{eq:bRLSol}\) as well

$$ \shaded{ \begin{align} y_p(t)&=\Re\left\{\underline{y}_{\,p}\right\}=A\,\cos(\omega t+\phi),\label{eq:bCaRC_pSolution}\\[6mu] \text{where}\quad A&=\frac{\hat{u}}{\sqrt{1+(\omega RC)^2}},\nonumber\\ \text{and}\quad\phi&=-\arctan\left(\omega RC\right)\nonumber \end{align} } $$

General solution

The general solution follows from substituting \(\eqref{eq:bTrigRC_hSolution}\) and \(\eqref{eq:bTrigRC_pSolution}\text{ or }\eqref{eq:bCaRC_pSolution}\) in equation \(\eqref{eq:bTrigRC_hp}\).

$$ \shaded{ \begin{align} y(t)&=c\,\mathrm{e}^{-\frac{t}{RC}}+A\cos(\omega t+\phi)\nonumber\\ \text{where}\quad A&=\frac{\hat{u}}{\sqrt{1+(\omega RC)^2}}\nonumber\\ \text{and}\quad\phi&=-\arctan\left(\omega RC\right)\nonumber \end{align} }\label{eq:bTrigRC_solution} $$

Appendix A

own work

Listing of GNU/Octave code for RC low-pass filter. Used to generated the graphs in my RC low-pass filter article. This supplements the article RC Low-pass filter.

Appendix A

Unit Step Response in GNU/Octave

GNU/Octave code for RC low-pass filter

clc; close all; clear all; format short eng
R=100; # 100Ohm
C=470e-9; # 470nF
w=logspace(3,5,200);
f=w/(2*pi);
t=linspace(0,2e-3,200);
p=-1/(R*C);
u=1-e.^(p*t);
h=plot(t,u);
axis([min(t) max(t) 0 2]); #1.75
xlabel('time [s]'); ylabel('|h(t)|');
t=['Step Response(t), C=' num2str(C*1e9) 'nF, R=' num2str(R) '\Omega']
title(t, "fontsize", 15);

Frequency Response in GNU/Octave

GNU/Octave code for RC low-pass filter

clc; close all; clear all; format short eng
R=100; # 100Ohm
C=470e-9; # 470nF
f=logspace(1,6,200);
w=2*pi*f;
p=-1/(R*C);
u=-20*log10(sqrt(1+(w*R*C).^2));
h=semilogx(f,u); hold on;
wn=-p;
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=-20*log10((fmax-f1)/f1);
plot([min(f) f1 fmax],[0 0 asymp ],'k--');
hold off
poles=[-p -p];
figure(1);
grid off;
axis([min(f) max(f) -80 40]);
xlabel('frequency [Hz]'); ylabel('20log| H(t)|');
leg=[strread(num2str(R,1),'%s');'asymptote'];
t=['Bode Magnitude in dB(f), C=' num2str(C*1e9) 'nF, R=' num2str(R) '\Omega'];
title(t, "fontsize", 15);
hold off;

Nyquist Diagram in GNU/Octave

GNU/Octave code for RC low-pass filter

clc; close all; clear all; format short eng
pkg load control
R=100; # 100Ohm
C=470e-9; # 470nF
p=-1/(R*C);
H = tf([-p], [ 1 -p ]);
[mag, phi, w] = bode(H); 
nyquist(H); h=gcf;
axis ([-0.2, 1.2, -.7, .7], "square");

Square Wave in GNU/Octave

clf;
t=linspace(0,2e-3,1e4); # t from 0 to 2 msec, with 10,000 steps
f=2e3; # input frequency [Hz]
R=100; # 100 Ohms
C=470e-9; # 470 nF
M=1e5; # number of harmonics
ut=0; # input signal (square wave)
yt=0; # output signal

w=2*pi*f; # omega
fc=1/(2*pi*R*C) # cutoff (-3dB) frequency

for n=1:2:M,
    nwt = n*w*t;
    nwRC = n*w*R*C;
    ut = ut + 4/pi * sin(nwt) / n;
    argH = 1 / sqrt( 1 + nwRC^2 );
    angH = -atan(nwRC);
    yt = yt + 4/pi * argH * sin(nwt + angH) / n;
end

plot(t*1e3,ut, 'b-',t*1e3,yt)
title('Square Wave input to RC filter')
xlabel('t [msec]')
ylabel('[Volt]')
grid on;
legend('u(t)','y(t)')
saveas(1,"square.svg")

Frequency response

own work

Derives the frequency response of RC low-pass filter using the Laplace transform. Part of a series about the properties of the RC low-pass filter.\(\)

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

$$ y_{ss}(t)=|H(j\omega)|\,\sin(\omega t+\angle H(j\omega))\,\gamma(t) $$

The transfer function \(H(s)\) for this RC Filter is given by \transfer polynominal.

$$ H(s )= K\frac{1}{s-p},\ K = \frac{1}{RC},\ p = -\frac{1}{RC} \label{eq:splane} $$

The system behavior at \(\omega=0\) and at \(\omega\rightarrow \infty\) indicates that this is a low pass filter.

$$ \begin{align} \lim_{s \rightarrow j0} |H(s)| &=-p\frac{1}{0-p} =1 \\ \lim_{s \rightarrow j\infty} |H(s)| &=-p\frac{1}{\infty-p} =0 \end{align} $$

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|}\nonumber \\ \angle{H(s)}&=\sum_{i=1}^m\angle(s-z_i)-\sum_{i=1}^n\angle(s-p_i) =-\angle(s-p)\nonumber \end{align} \right. $$

This transfer function with pole \(p\), evaluated for \(s=j\omega\) can be visualized with a vector from the pole to \(j\omega\).

own work
Evaluated for \(s=j\omega\)

The length of the vector corresponds to \(|(H(j\omega)|\), and minus the angle 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|}= K \frac{1}{\sqrt{\omega^2+p^2}}\nonumber \\ \angle{H(j\omega)}&=-\angle(j\omega-p)=\mathrm{atan2}(\omega,-p)\nonumber\\ &=-\arctan\frac{\omega}{-p},\ p\lt 0\land p\in\mathbb{R}\nonumber \end{align} \right. \label{eq:polar1} $$

Substitute \(p=-\frac{1}{RC}\) and \(K=\frac{1}{RC}\)

$$ \left\{ \begin{eqnarray} |H(j\omega)| &=&\frac{1}{RC} \frac{1}{\sqrt{\omega^2+\left(\frac{1}{RC}\right)^2}}\nonumber \\ \angle{H(j\omega)}&=&-\arctan\frac{\omega}{\frac{1}{RC}}\nonumber \end{eqnarray} \right. \label{eq:eq101} $$

The output signal \(y_{ss}(t)\) for a sinusoidal input signal \(\sin(\omega t)\,\gamma(t)\)

$$ \shaded{ \begin{aligned} y_{ss}(t)&=|H(j\omega)|\,\sin(\omega t+\angle H(j\omega))\,\gamma(t)\nonumber \\ |H(j\omega)| &=\frac{1}{\sqrt{(1+\omega RC)^2}}\\ \angle{H(j\omega)}&=-\arctan(\omega RC)\nonumber \end{aligned} } \label{eq:frequencyresponse} $$

This frequency response for different frequencies can be visualized in a Bode plot or a Nyquist diagram. Each of these are a topic of the remaining sections.

Effect on Input with Harmonics

As a side step, we examine the effect of the filter on a square wave input signal. The Fourier series of the square wave shows that it consists of a base frequency and odd harmonics.

$$ x(t)=\frac{4}{\pi}\sum_{n=1,3,\dots }^\infty \frac{\sin\left(n\omega t\right) }{n} $$

Substituting \(C=470\ \mathrm{nF}\), \(R=100\ \Omega\) and 20 kHz in \(\eqref{eq:frequencyresponse}\), gives the output signal \(y_{ss}(t)\)

$$ \left\{ \begin{align} y_{ss}(t)&=\frac{4}{\pi}\sum_{n=1,3,\dots }^\infty |H(jn\omega)| \frac{\sin\left(n\omega t+\angle H(jn\omega)\right) }{n}\nonumber\\ |H(jn\omega)| &=\frac{1}{\sqrt{(1+n\omega RC)^2}}\nonumber\\ \angle{H(jn\omega)}&=-\arctan(n\omega RC)\nonumber\\ RC&=47\cdot 10^{-6}\nonumber\\ \omega&=2\pi20\cdot 10^{3}\nonumber \end{align} \right. $$

UNFINISHED

own work
Input and output signals

Bode plot

A Bode plots frequency as the horizontal axis and usually consists of two separate plots to that show the magnitude and phase of the frequency response \(y_{tt}\). Since the range of magnitudes may also be large, the amplitude scale is usually expressed in decibels \(20\log_{10}\left|H(j\omega)\right|\) . The frequency axis uses a logarithmic scale as well.

$$ \begin{align} |H(j\omega)|\ &= \frac{1}{\sqrt{1+(\omega RC)^2}} \\ |H_{dB}(j\omega)|\ &= -20\log\sqrt{1+ (\omega RC)^2} \label{eq:polar2} \\ \angle{H(j\omega)}\ &=-\arctan\left(\omega RC\right) \end{align} $$

The magnitude of the frequency response has a relatively shallow drop-off.

own work
Frequency response

The phase shift depends on the frequency, causing signals composed of multiple frequencies to be distorted.

Angular frequency \(\omega_c=|p|\), is is known as the cutoff, break, -3dB or half-power frequency because the magnitude of the transfer function \(\eqref{eq:polar2}\) equals \(1/\sqrt{2}\)

$$ \begin{align} |H(j\omega_c)|\ &=\dfrac{1}{\sqrt{1+(\omega_c RC)^2}}=\frac{1}{\sqrt{2}},\quad\omega_c=\frac{1}{RC} \\ |H_{dB}(j\omega_c)|\ &= 20\log\frac{1}{\sqrt{2}} \approx-3\rm{\ dB} \end{align} $$

The attenuation slope is calculated by first expressing the magnitude relative to the cutoff angular frequency \(\omega_c\)

$$ \begin{array}{llr} &|H(j\omega)| = \frac{1}{\sqrt{1+\left(\frac{\omega}{\omega_c}\right)^2}}\\ \Rightarrow&|H(j\omega)| =\frac{\omega}{\omega_c} & \forall\ {\omega\gg\omega_c} \end{array} $$

The rate of change of attenuation is usually expressed in dB/decade, where an decade is a factor of 10 in frequency, \(\omega_2=10\omega_1\)

$$ \begin{gather}\begin{aligned} |H_{dB}(j\omega_2)|-|H_{dB}(\omega_1)|\ &= -20\log\left(\frac{10\omega_1}{\omega_c}\right)+20\log\left(\frac{\omega_1}{\omega_c}\right) \\ &=20\log\left(\frac{\omega_1}{\omega_c}\frac{\omega_c}{10\omega_1}\right) \\ &=-20 \mathrm{\ dB/decade} \end{aligned}\end{gather} $$

This single-pole filter gives has a relatively shallow -20 dB/decade drop-off.

In general, the cutoff frequency is equal to the radial distance of the poles or zeros from the origin of the \(s\)-plane. For information on sketching the Bode magnitude plot from the poles and zeros, refer to Understanding Poles and Zeros [MIT 3.1].

Nyquist plot

The Nyquist plots display both amplitude and phase angle on a single plot, using the angular frequency as the parameter. It helps visualize if a system is stable or unstable.

Starting with the transfer function transfer polynominal

$$ \begin{gather}\begin{array}{ccc} H(s) = K\frac{1}{s-p}, &K = \frac{1}{RC}, &p = -\frac{1}{RC} \end{array}\end{gather} $$

Evaluate at \(s=j\omega\) and split into real and imaginary parts

$$ \begin{gather} \begin{aligned} H(j\omega)\ &=K\frac{1}{j\omega-p} \\ &=K\frac{1}{j\omega-p}\frac{j\omega+p}{j\omega+p} \\ &=K\frac{j\omega+p}{-\omega^2-p^2} \\ &=K\frac{-j\omega-p}{\omega^2+p^2} \end{aligned} \\ \Rightarrow \left\{ \begin{aligned} \Re\left\{{H(j\omega)}\right\}=&K\frac{-p}{p^2+\omega^2} \\ \Im\left\{{H(j\omega)}\right\}=&K\frac{-\omega}{p^2+\omega^2} \\ \end{aligned} \right. \end{gather} $$

Plot the frequency transfer function for \(-\infty\lt\omega\gt\infty\), indicating an increase of frequency using an arrow. A dashed line is used for negative frequencies. (The plot was generated using the GNU/Octave as shown in Appendix A.)

own work
Nyquist diagram

From the plot we see that for \(\omega=0\) the gain is 1, and for \(\omega\to\infty\) the gain becomes 0. The high frequency portion of the plot approaches the origin at an angle of -90 degrees. For more information on Nyquist refer to Determining Stability using the Nyquist Plot [swarthmore].

Finished with “Frequency response of RC low-pass filter?”, learn about:

Unit step response

own work

Derives the unit step response of RC low-pass filter. Part of a series about the properties of the RC low-pass filter.\(\)

Unit Step Response

The step response gives an impression of the system behavior when the input signal 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)\).

$$ \begin{align} \gamma(t)&=\begin{cases} 0 & t\lt 0 \\ 1 & t\geq0 \end{cases}\nonumber\\ \Rightarrow\ \Gamma(s)&=\mathcal{L}\left\{\gamma(t)\right\}=\frac{1}{s} \end{align} \label{eq:unitstep} $$

Combining the Laplace transform of \(\gamma(t)\), \(\Gamma(s)\), with the transfer function, 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)}\nonumber \\ &= K\frac{1}{s(s-p)} \end{align} \label{eq: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. [swarthmore, MIT-cu]

$$ Y(s)=K\frac{1}{s(s+a)}\equiv\frac{c_0}{s}+\frac{c_1}{s+a} \label{eq:heaviside} $$

Substitute \(K=-p\) from the transfer function and find expressions for the constants \(c_{0,1}\), by multiplying with respectively \(s\) and \((s-p)\)

$$ \left\{ \begin{eqnarray} -p\frac{\cancel{s}}{\cancel{s}(s-p)} &\equiv& \frac{\cancel{s}c_0}{\cancel{s}}+\frac{sc_1}{s-p}\nonumber \\ -p\frac{\cancel{s-p}}{s\cancel{(s-p)}} &\equiv& \frac{c_0(s-p)}{s}+\frac{c_1\cancel{(s-p)}}{\cancel{s-p}}\nonumber \end{eqnarray} \right. $$

Given that these equations are true for any value of \(s\), choose two convenient values of \(s\) that help us find \(c_0\) and \(c_1\).

$$ \begin{eqnarray} c_0&=&\left.\frac{-p}{s-p}\right|_{s=0}=1 \\ c_1&=&\left.\frac{-p}{s}\right|_{s=p}=-1 \end{eqnarray} \label{eq:constants1} $$

The unit step response \(y(t)\) follows from the inverse Laplace transform of \(\eqref{eq:heaviside}\)

$$ \begin{align} y(t)&= \mathcal{L}^{-1}\left\{\frac{c_0}{s}\right\}+\mathcal{L}^{-1}\left\{\frac{c_1}{s-p}\right\}, & t\geq0\nonumber \\ &=c_0+c_1e^{pt}, & t\geq0 \end{align} $$

Substituting the constants gives the unit step response

$$ \shaded{ \begin{array}{ccr} y(t)=1-e^{pt}, & p=-\frac{1}{RC}, & t\geq0 \\ \end{array} } $$

As shown in the graph, the unit step response is a relatively slow decaying exponential curve (with \(p\lt 0\)).

own work
Unit step response

The GNU Octave code used to print this figure is listed in Appendix A.

Moving on from this unit step response of RC low-pass filter, continue reading about the Frequency Response.

Moving on from this unit step response of RC low-pass filter, continue reading about the Frequency Response.

Appendix

own work

Listing of GNU/Octave code for RLC resonator. Used to generated the graphs in my RLC resonator article. Supplements the article RLC resonator.

Appendix

Bode magnitude, in GNU/Octave

GNU/Octave code for RLC resonator clc; close all; clear all; format short eng L=47e-3; # 47mH C=47e-9; # 47nF #Rvector = [3.9e3]; # separate real poles #Rvector = [2e3]; # coinciding real poles Rvector = [18 220 820]; # conjugate complex poles 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<1 ) # complex conjugate poles on left side of s-plane u=20*log10(R/L) + 20*log10(w) - 20*log10(sqrt((wn.^2-w.^2).^2+(2*zeta*wn*w).^2)); hold on; h=semilogx(f,u); hold off; hold on; hold off poles = [-wn*zeta+sqrt(1-zeta^2)*j, -wn*zeta-sqrt(1-zeta^2)*j ]; endif if (zeta == 1) # coinciding real poles p=-R/(2*L); #1/sqrt(L*C); u=20*log10(R/L) + 20*log10(w) - 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); fmin=min(f); fmax=max(f); #asymp1=0 - 20*log10((f1-fmin)/fmin); #asymp2=0 - 20*log10((fmax-f1)/f1); #plot([fmin f1 fmax],[asymp1 0 asymp2],'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(R/L) + 20*log10(w) – 20*log10(sqrt(w.^2+p1.^2)) – 20*log10(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–‘); fmin=min(f); fmax=max(f); asymp1=0 – 20*log10((f1-fmin)/fmin); asymp2=0 – 20*log10((fmax-f2)/f2); plot([min(f) f1 f2 fmax],[asymp1 0 0 asymp2],’k–‘); text(f1,5,’|p1|/2\pi’); text(f2,5,’|p2|/2\pi’); hold off poles=[p1+0j p2+0j]; endif #figure(2); #grid off; ##axis([-1e4 1e4 -1e4 1e4]); ##hold on; #zplane([],poles’); ##hold off; endfor figure(1); grid off; axis([min(f) max(f) -100 20]); xlabel(‘frequency [Hz]’); ylabel(’20log| H(t)|’); leg=strread(num2str(Rvector,4),’%s’); if (zeta>=1) leg=[leg;’asymptote’]; endif t=[‘Bode Magnitude in dB(f’]; t2=[‘), C=’ num2str(C*1e9) ‘\muF, 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 if (zeta<1) hold on; plot([wn/(2*pi) wn/(2*pi)], get(gca,'YLim'),'k--'); text(wn/(2*pi),5,'\omega_n/2\pi'); hold off; endif t = [t ]; title(t, "fontsize";, 15);[/code]

Bandwidth and Q-factor

own work

Derives the bandwidth and Q-factor of a RLC resonator. Visualizes the Bode magnitude for different zeta values. Part of the article RLC resonator.\(\)

Bandwidth and Q-factor

Oscillators with a high quality factor oscillate with a smaller range of frequencies and are therefore more stable. The quality factor is defined as the natural frequency \(\omega_n\) multiplied with the ratio of the maximum energy stored and the power loss. The maximum energy stored can be calculated from the maximum energy in the inductor or capacitor. The equation below uses the maximum energy in the inductor \(LI_{rms}^2\). At the natural frequency \(\omega_n\), the impedance of the capacitor and inductor cancel each other and power is only dissipated in the resistor \(RI_{rms}^2\).

$$ \begin{align} Q &= \omega_n\frac{L\, I_{rms}^2}{R\,I_{rms}^2}=\omega_n\frac{L}{R} = \frac{1}{R}\sqrt{\frac{L}{C}} \nonumber \\ &= \frac{1}{2\zeta} \end{align} \label{eq:qfactor1} $$

The Q factor also relates the frequencies \(\omega_1\) and \(\omega_2\) where the dissipated power equals half the power stored. Consequently, the transfer function \(H(s)\) equals \(\frac{1}{\sqrt{2}}\) (-3dB) as shown in the illustration below

own work
Power

The half power bandwidth BW follows from solving the equation \(H(s)=\frac{1}{\sqrt{2}}\)

$$ \begin{align} |H(\omega)| &= \frac{R}{\sqrt{R^2+\left(\omega L-\frac{1}{\omega C}\right)^2}}\equiv\frac{1}{\sqrt{2}} \nonumber \\ \Rightarrow\ R^2&+\left(\omega L-\frac{1}{\omega C}\right)^2=2R^2 \nonumber \\ \Rightarrow\ \omega^2 &\pm \frac{R}{L}\omega – \frac{1}{LC}=0 \nonumber \\ \Rightarrow\ \omega_{1,2}\ &= \pm\frac{R}{2L}\pm\sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}},\ \omega_{1,2}>0 \nonumber \\ &= \pm\frac{R}{2L}+\sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}} \nonumber \\ \Rightarrow\ BW &= \omega_1-\omega_2=\frac{R}{L} \end{align} $$

The Q factor equals the ratio of resonant frequency \(\omega_n\) to half power bandwidth \(\omega_2-\omega_1\). $$ Q = \frac{\omega_n}{\omega_2-\omega_1}=\frac{1}{R}\sqrt{\frac{L}{C}} = \frac{1}{2\zeta} \label{eq:qfactor2} $$

High quality factor \(Q>1\) results in a sharp resonance peak.

own work
Bode magnitude for different \(\zeta\)

Note that the frequency-dependent definition can be uses to describe circuits with a single capacitor or inductor, opposed to the frequency-to-bandwidth ratio definition.

Frequency response

own work

Shows the frequency response of a RLC resonator in the overdamped, critically-damped and underdamped cases. Part of the article RLC resonator.

Frequency response

\(\)The dampening coefficient \(\zeta\) determines the behavior of the system. With the physical assumption that the value of \(\frac{1}{LC}\gt 0\) and \(\frac{R}{L}\geq0\), we can identify four classes of pole locations.

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

The remainder of this post will determine determine the frequency response for each of these classes.

Two Different Real Poles (overdamped case)

In the overdamped case the two poles are on separate locations on the negative real axis.

$$ p_{1,2} = -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}},\ {R>2\sqrt\frac{L}{C}} $$

Note that \(p_1\lt p_2\lt 0\) and \(|p_1|\lt |p_2|\), as visualized in the s-plane

rlc resonator different real poles
\(s\)-plane

The frequency response is the magnitude (or gain) as a function of the frequency. It describes how well the filter can distinguish between different frequency signals.

A cosinusoidal input signal \(u_i(t)\) with angular frequency \(\omega\), amplitude \(1\) and with the value 1 at \(t=0\), can be expressed as

$$ \begin{align} u_i(t) &= cos(\omega t)=\Re\left\{e^{j\omega t}\right\}\nonumber\\ \Rightarrow\ U_i(s) &= 1\label{eq:frequency} \end{align} $$

Combining the cosinusoid input function \(\eqref{eq:frequency}\) with the transfer function gives the frequency response \(\dot{U}_o(s)\)

$$ \begin{align} U_o(s) &= U_i(s)\,H(s) = H(s) \nonumber \\ H(s) &= \frac{R}{L}\frac{s}{(s-p_1)(s-p_2)} \label{eq:case1b_multiplication} \end{align} $$

Therefore, the frequency response may be written in terms of the system poles and zeros by substituting \(s=j\omega\) for \(s\) directly into the factored form of the transfer function

$$ \begin{align} H(\omega) &= \frac{R}{L}\frac{j\omega}{(j\omega-p_1)(j\omega-p_2)} \label{eq:case1b_splane} \\ \rm{where}\quad p_{1,2} &= -\frac{R}{2L} \pm \sqrt{\left(\frac{R}{2L}\right)^2-\frac{1}{LC}},\ {R>2\sqrt\frac{L}{C}} \nonumber \end{align} $$

The poles and zero may be interpreted as vectors in the s-plane, originating from the zero or poles \(p_i\) and directed to the point \(s=j\omega\) at which the function is to be evaluated

own work
Evaluated at \(j=s\omega\)

The transfer function can be expressed in polar form

$$ \begin{gather} \left\{ \begin{aligned} |H(\omega)| &= \frac{R}{L}\frac{\omega}{\sqrt{\omega^2+{p_1}^2}\sqrt{\omega^2+{p_2}^2}}\, p_{1,2}\in\mathbb{R} \nonumber \\ \Rightarrow\ |H_{dB}(\omega)| &= 20\log\frac{R}{L}+20\log\omega -20\log\sqrt{\omega^2+{p_1}^2} \nonumber \\ & \quad-20\log\sqrt{\omega^2+{p_2}^2},\ p_{1,2}\in\mathbb{R} \nonumber \\ \angle{H(\omega)}&=\frac{\pi}{2}-\mathrm{atan2}({\omega,-p_1 })-\mathrm{atan2}({\omega,-p_2 }),\ p_{1,2}\in\mathbb{R}\nonumber\\ &=\frac{\pi}{2}-arctan\left(\frac{\omega}{-p_1}\right) \\ &\quad -arctan\left(\frac{\omega}{-p_2}\right),\ p_{1,2}\lt 0\land p_{1,2}\in\mathbb{R}\nonumber \end{aligned} \right. \end{gather} \label{eq:case1b_polar} $$

The frequency response has -20 dB/decade drop-offs, and a relatively wide band-pass for \(|p_2|\lt \omega\lt |p_1|\).

own work
Frequency response

Coinciting Real Poles (critically-damped case)

In the critically-dampened case the two poles coincite on the negative real axis.

$$ p = -\frac{R}{2L},\ R=2\sqrt\frac{L}{C} $$

The poles and zero are on the left real axis \(p\lt 0\), as visualized in the s-plane

own work
\(s\)-plane

The frequency response may be written in terms of the system poles and zeros by substituting \(j\omega\) for \(s\) directly into the factored form of the transfer function

$$ H(s) = \frac{R}{L}\frac{j\omega}{(j\omega-p)^2},\ p=p_{1,2}=-\frac{R}{2L} \label{eq:case2b_splane} $$

The poles and zero may be interpreted as vectors in the s-plane, originating from the poles \(p\) or zero \(z=0\) and directed to the point \(s=j\omega\) at which the function is to be evaluated

own work
Evaluated at \(s=j\omega\)

The transfer function can be expressed in polar form as

$$ \left\{\begin{align} |H(\omega)| &=\frac{R}{L}\frac{\omega}{\sqrt{p^2+\omega^2}\sqrt{p^2+\omega^2}}&p\in\mathbb{R} \nonumber\\ \Rightarrow\ |H_{dB}(\omega)| &= 20\log\frac{R}{L}+20\log\omega -40\log\sqrt{\omega^2+{p}^2}&p\in\mathbb{R}\nonumber\\ \angle{H(\omega)}&=\mathrm{atan2}(\omega,0)-2\mathrm{atan2}({\omega,-p })&p\in\mathbb{R}\nonumber\\ &=\frac{\pi}{2}-2\arctan\left(\frac{\omega}{-p}\right)& p\lt 0\land p\in\mathbb{R}\nonumber \end{align}\right. \label{eq:case2b_polar} $$

The magnitude of the frequency response has -20 dB/decade drop-offs, and an apparent resonance at \(|p|\), but not sharp enough.

own work
Frequency response

Complex Poles (underdamped case)

In the underdamped case the conjugate poles lay in the left half of the s-plane.

$$ \begin{align} p,\,p^* &= -\frac{R}{2L} \pm j\sqrt{\left(\frac{1}{LC}-\frac{R}{2L}\right)^2} \\ \rm{where}\quad R &\lt 2\sqrt\frac{L}{C} \nonumber \end{align} $$

or in terms of \(\zeta\) and \(\omega_n\)

$$ \begin{align} p,\,p^* &= \omega_n\left(-\zeta \pm j\sqrt{1-\zeta^2}\right) \\ \rm{where}\quad \zeta &= \frac{R}{2}\sqrt{\frac{C}{L}}\lt 1, \nonumber \\ \omega_n &= \sqrt{\frac{1}{LC}} \nonumber \end{align} $$

Note that the poles are each others conjugates \(p=p^*\). If \(p=\sigma+j\omega\) then \(p^*=\sigma-j\omega\), as visualized in the \(s\)-plane

rlc resonator complex poles
\(s\)-plane

Apply the parameters \(\zeta\) and \(\omega_n\) to the transfer function

$$ \begin{align} H(s) &= \frac{R}{L}\frac{s}{s^2+2\zeta\omega_ns+{\omega_n}^2} \\ \rm{where}\quad \zeta &= \frac{1}{2}R\sqrt{\frac{C}{L}},\ \omega_n=\sqrt{\frac{1}{LC}} \nonumber \end{align} $$

The frequency response may be written in terms of the system poles and zeros by substituting \(j\omega\) for \(s\) directly into the transfer function

$$ \begin{align} H(s) &= \frac{R}{L}\frac{j\omega}{(j\omega-p)(j\omega-p^*)} \\ \rm{where}\quad p,\,p^* &= -\frac{R}{2L} \pm j\sqrt{\left(\frac{1}{LC}-\frac{R}{2L}\right)^2} \nonumber \end{align} \label{eq:case3b_splane} $$

The poles and zero may be interpreted as vectors in the s-plane, originating from the poles (pi) and zero and directed to the point s=jω at which the function is to be evaluated

own work
Evaluates at \(s=j\omega\)

The transfer function can be expressed in polar form as

$$ \begin{gather} \left\{ \begin{aligned} |H(\omega)| &= \frac{R}{L}\frac{\omega}{\sqrt{({\omega_n}^2-\omega^2)^2+(2\zeta\omega_n\omega)^2}} \nonumber \\ \Rightarrow\ |H_{dB}(\omega)| &= 20\log\frac{R}{L}+20\log\omega – \\ &\quad 20\log\sqrt{({\omega_n}^2-\omega^2)^2+(2\zeta\omega_n\omega)^2} \nonumber \\ \angle{H(\omega)}&=\frac{\pi}{2}-\mathrm{atan2}({2j\zeta\omega_n\omega,{\omega_n}^2-\omega^2}) \nonumber \end{aligned} \right. \end{gather} \label{eq:case3b_polar} $$

The graph shows the magnitude of the output for different values of \(R\). Note that the voltage amplification around the natural frequency \(\omega_n\) . The magnitude of the frequency response has -20 dB/decade drop-offs, and a sharp resonance at \(|p|\).

own work
Output magnitude for different values of R

Continue reading about Bandwidth and Q-factor.

Copyright © 1996-2022 Coert Vonk, All Rights Reserved