profile pic
⌘ '
raccourcis clavier

We will consider first-order and second-order system

first-order systems, time constant

"\\usepackage{tikz}\n\\usetikzlibrary{positioning}\n\n\\begin{document}\n\\begin{tikzpicture}[auto, node distance=2cm, >=latex]\n\n% Nodes\n\\node[draw, rectangle, minimum width=3cm, minimum height=1.5cm] (block) {$\\frac{a}{s + a}$};\n\\node[left=1.5cm of block] (input) {$X(s) = \\frac{1}{s}$};\n\\node[right=1.5cm of block] (output) {$Y(s)$};\n\\node[above=0.5cm of block] (G) {$G(s)$};\n\n% Arrows\n\\draw[->] (input) -- (block);\n\\draw[->] (block) -- (output);\n\n\\end{tikzpicture}\n\\end{document}"as+aX(s)=1sY(s)G(s)
source code

Output of a general first-order system is

Y(s)=X(s)G(s)=as(s+a)Y(s) = X(s)G(s) = \frac{a}{s(s+a)}

thus the time domain output is y(t)=1eaty(t) = 1 - e^{-at}

time constant

usually, t=1at=\frac{1}{a}, and y(t)=0.63y(t) = 0.63, hence 63.2% to find the rise time.

response in time domain

rise time TrT_r

TrT_r, time for the waveform to go from 0.1 to 0.8 of its final value

for first order: Tr=2.2aT_r = \frac{2.2}{a}

settling time TsT_s

TsT_s, time for response to reach and stay with 2% of its final value

for first order: Ts=4aT_s = \frac{4}{a}

second-order systems

general order system:

G(s)=bs2+as+bG(s) = \frac{b}{s^{2}+as +b}

Thus the pole for this system:

s1,s2=a+a24b2s_{1},s_{2}= \frac{-a + \sqrt{a^2 - 4b}}{2}

natural frequency

happens when a=0a=0

The transfer function is G(s)=bs2+bG(s)=\frac{b}{s^{2}+b}, and poles will only have imaginary ±jw\pm jw

wn=bw_n = \sqrt{b} is the frequency of oscillation of this system.

in a sense, this is the undamped case:

damping coefficient

complex poles has real part σ=a2\sigma = -\frac{a}{2}

definition

damping ratio is defined as:

ζ=exponential decay frequencynatural frequency=σwn\zeta = \frac{\text{exponential decay frequency}}{\text{natural frequency}} = \frac{|\sigma|}{w_n}

So that a=2ζwna = 2 \zeta w_n

general second order

G(s)=wn2s2+2ζwns+wn2s1,s2=ζwn±wnζ21\begin{aligned} G(s) &= \frac{w_n^2}{s^2 + 2 \zeta w_n s + w_n^2} \\[12pt] s_{1},s_{2} &= - \zeta w_n \pm w_n \sqrt{\zeta^2 - 1} \end{aligned}

observations

ConditionPolespole typeDamping Ratio (ζ\zeta)Natural Response c(t)c(t)
Undamped±jωn\pm j \omega_nimaginaryζ=0\zeta = 0Acos(ωntφ)A \cos (\omega_n t - \varphi)
Underdampedωd±jωd\omega_d \pm j \omega_dcomplex0<ζ<10 < \zeta < 1Ae(σd)tcos(ωdtφ)A e^{(-\sigma_d)t} \cos (\omega_d t - \varphi) where wd=wn1ζ2w_d = w_n \sqrt{1- \zeta^2}
critically dampedσ1\sigma_1realζ=1\zeta = 1Kteσ1tK t e^{\sigma_1 t}
overdampedσ1σ2\sigma_1 \quad \sigma_2realζ>1\zeta > 1K(eσ1t+eσ2t)K (e^{\sigma_1 t} + e^{\sigma_2 t})

underdamped second-order step response

Transfer function C(s)C(s) is given by

C(s)=wn2s(s2+2ζwns+wn2)C(s) = \frac{w_n^2}{s(s^2 + 2 \zeta w_n s + w_n^2)}

response in time-domain via inverse Laplace transform:

c(t)=111ζ2eζwntcos(1ζ2ωnt+φ)c(t) = 1 - \frac{1}{\sqrt{1- \zeta^2}} e^{- \zeta w_n t} \cos (\sqrt{1- \zeta^2}\omega_n t + \varphi)

where φ=tan1(ζ1ζ2)\varphi = \tan^{-1} (\frac{\zeta}{\sqrt{1-\zeta^2}})

peak time TpT_p

time required to reach the first or maximum peak

Tp=πωn1ζ2T_p = \frac{\pi}{\omega_n \sqrt{1-\zeta^2}}

percent overshoot

%OS (percent overshoot)

%OS=eζπ/1ζ2×100%\%OS = e^{\zeta \pi / \sqrt{1-\zeta^2}} \times 100 \%Lien vers l'original

or in terms of damping ratio ζ\zeta:

ζ=ln%OS100π2+ln2(%OS100)\zeta = \frac{-\ln \frac{\text{\%OS}}{100}}{\sqrt{\pi^2 + \ln^2(\frac{\text{\%OS}}{100})}}

relations to poles

G(s)=wn2s2+2ζwns+wn2s1,s2=ζwn±wnζ21Tp=πωn1ζ2Ts4ζωn\begin{aligned} G(s) &= \frac{w_n^2}{s^2 + 2 \zeta w_n s + w_n^2} \\[12pt] s_{1},s_{2} &= - \zeta w_n \pm w_n \sqrt{\zeta^2 - 1} \\[8pt] T_p &= \frac{\pi}{\omega_n \sqrt{1-\zeta^2}} \\ T_s &\cong \frac{4}{\zeta \omega_n} \end{aligned}
poles of second-order underdamped system
poles of second-order underdamped system
location of polesresponseexamples
Same envelopesystem response
Same frequencysystem response
Same overshootsystem response

same envelope

"\\usepackage{tikz}\n\\usepackage{pgfplots}\n\\pgfplotsset{compat=1.16}\n\n\\begin{document}\n\\begin{tikzpicture}\n \\begin{axis}[\n width=12cm, height=8cm,\n xlabel={$t$ (time)},\n ylabel={Amplitude},\n grid=major,\n legend style={at={(0.5,1.1)}, anchor=north, legend columns=-1},\n xmin=0, xmax=10,\n ymin=-1.2, ymax=1.2\n ]\n % First Transfer Function (Sinusoidal)\n \\addplot[blue, thick, samples=100, domain=0:10]\n {exp(-0.1*x)*sin(deg(2*pi*0.5*x))};\n\n % Second Transfer Function (Envelope with Different Frequency)\n \\addplot[red, dashed, thick, samples=100, domain=0:10]\n {exp(-0.1*x)*sin(deg(2*pi*0.8*x))};\n\n % Envelope (Exponential Decay)\n \\addplot[black, dotted, thick, samples=100, domain=0:10]\n {exp(-0.1*x)};\n\n \\addplot[black, dotted, thick, samples=100, domain=0:10]\n {-exp(-0.1*x)};\n \\end{axis}\n\\end{tikzpicture}\n\\end{document}"012345678910¡1¡0:500:51t(time)Amplitude
source code

same frequency

"\\usepackage{tikz}\n\\usepackage{pgfplots}\n\\pgfplotsset{compat=1.16}\n\n\\begin{document}\n\\begin{tikzpicture}\n \\begin{axis}[\n width=12cm, height=8cm,\n xlabel={$t$ (time)},\n ylabel={Amplitude},\n grid=major,\n legend style={at={(0.5,1.1)}, anchor=north, legend columns=-1},\n xmin=0, xmax=10,\n ymin=-3, ymax=3\n ]\n % First Transfer Function (Higher Amplitude)\n \\addplot[blue, thick, samples=100, domain=0:10]\n {2*sin(deg(2*pi*0.5*x))};\n\n % Second Transfer Function (Lower Amplitude)\n \\addplot[red, dashed, thick, samples=100, domain=0:10]\n {1*sin(deg(2*pi*0.5*x))};\n \\end{axis}\n\\end{tikzpicture}\n\\end{document}"012345678910¡3¡2¡10123t(time)Amplitude
source code

same overshoot

"\\usepackage{tikz}\n\\usepackage{pgfplots}\n\\pgfplotsset{compat=1.16}\n\n\\begin{document}\n\\begin{tikzpicture}\n \\begin{axis}[\n width=12cm, height=8cm,\n xlabel={Time $t$},\n ylabel={Response},\n grid=major,\n legend style={at={(0.5,1.1)}, anchor=north, legend columns=-1},\n xmin=0, xmax=10,\n ymin=0, ymax=2\n ]\n % First System Response\n \\addplot[blue, thick, samples=200, domain=0:10]\n {1 - exp(-0.5*x)*(cos(deg(2*pi*0.5*x)) + 0.1*sin(deg(2*pi*0.5*x)))};\n\n % Second System Response (Same Overshoot, Different Natural Frequency)\n \\addplot[red, dashed, thick, samples=200, domain=0:10]\n {1 - exp(-1*x)*(cos(deg(2*pi*1*x)) + 0.05*sin(deg(2*pi*1*x)))};\n\n % Reference Line for Steady-State Response\n \\addplot[black, dotted, thick] coordinates {(0,1) (10,1)};\n \\end{axis}\n\\end{tikzpicture}\n\\end{document}"01234567891000:511:52TimetResponse
source code