diff options
author | Nao Pross <np@0hm.ch> | 2021-08-19 18:46:28 +0200 |
---|---|---|
committer | Nao Pross <np@0hm.ch> | 2021-08-19 19:02:10 +0200 |
commit | 08522b830cd1dd1d0d1d5a060574f50f388205a7 (patch) | |
tree | e714f5dc0e50597c2500b9b7875fd518d55b4396 | |
parent | Add refs (diff) | |
download | SigSys-08522b830cd1dd1d0d1d5a060574f50f388205a7.tar.gz SigSys-08522b830cd1dd1d0d1d5a060574f50f388205a7.zip |
Continue working
Diffstat (limited to '')
-rw-r--r-- | SigSys.tex | 7 | ||||
-rw-r--r-- | build/SigSys.pdf | bin | 92313 -> 113106 bytes | |||
-rw-r--r-- | tex/filters.tex | 68 | ||||
-rw-r--r-- | tex/lti-freq.tex | 1 | ||||
-rw-r--r-- | tex/lti.tex | 48 | ||||
-rw-r--r-- | tex/state-space.tex | 44 | ||||
-rw-r--r-- | tex/tikz/mimo.tex | 2 |
7 files changed, 158 insertions, 12 deletions
@@ -52,7 +52,12 @@ % Document \DeclareMathOperator{\fourier}{\mathcal{F}} +\DeclareMathOperator{\laplace}{\mathcal{L}} + \DeclareMathOperator{\rank}{\mathrm{rank}} +\DeclareMathOperator{\tr}{\mathrm{tr}} + +\DeclareMathOperator{\arccosh}{\mathrm{arccosh}} \begin{document} @@ -70,12 +75,12 @@ \part{Signals and Systems} \input{tex/signals} \input{tex/lti} -\input{tex/lti-freq} \input{tex/state-space} \input{tex/filters} \part{Mathematics} % linear algebra % fourier and laplace transforms +% signal flow diagrams \end{document} diff --git a/build/SigSys.pdf b/build/SigSys.pdf Binary files differindex 09acfee..ea61a43 100644 --- a/build/SigSys.pdf +++ b/build/SigSys.pdf diff --git a/tex/filters.tex b/tex/filters.tex index e785e0a..f1ec820 100644 --- a/tex/filters.tex +++ b/tex/filters.tex @@ -1,6 +1,10 @@ \section{Filters} -\begin{figure} +\subsection{Normalized Frequency} + +For this section we will always use a normalized frequency \(\Omega = \omega/\omega_r\) for some reference frequency \(\omega_r\). For TP and HP filters \(\omega_r = \omega_D\) (cut-off frequency), whereas for BP and BS \(\omega_r = \omega_m\) (frequency in the middle of the band). + +\begin{figure}[] \centering \begin{tikzpicture}[ axis tick/.style = { @@ -38,7 +42,7 @@ \draw[thick, ->] (O) to node[pos = .2, y axis tick, label = 180:\(A_\text{max}\)] (Amax) {} node[pos = .7, y axis tick, label = 180:\(A_\text{min}\)] (Amin) {} - ++(0,\ylen) node[above] {\(A\)}; + ++(0,\ylen) node[above] {\(A\)/dB}; \draw[dashed, lightgray] (Amin) -- ++(\xlen,0) @@ -55,4 +59,64 @@ \end{tikzpicture} \end{figure} +\subsection{LPF Approximations} +The approximations of ideal low pass filters generally have (with some exceptions) the form +\[ + |H(j\Omega)|^2 = H(j\Omega)\cdot H^*(j\Omega)= \frac{1}{1 + K(\Omega^2)}, +\] +where \(K\) is the so called \emph{charcteristic function}. For a nicer notation we will define the \emph{attenuation} function +\[ + A(\Omega) = 10 \log \left(|H(j\Omega)|^{-2}\right), + \quad [A] = \text{dB}. +\] +With that, ideally wish to have an approximation that satisfies the following requirements: +\begin{itemize} + \item \(A(\Omega = 0) = 1\) = 0\text{ dB} + \item \(A(\Omega = 1) = 1/\sqrt{2} \approx -3\text{ dB}\) + \item \(A(\Omega \to \infty) = 0\) +\end{itemize} + +\paragraph{Critically damped filter} + +\paragraph{Butterworth} Let \(K(\Omega^2) = \Omega^{2n}\), thus +\[ + A(\Omega) = 10 \log\left(1 + \Omega^{2n}\right). +\] +To find the order of the filter given two parameters the formula is +\[ + n = \left\lceil \frac{1}{2} \log\left( + \frac{10^{A_\text{min}/10} -1}{10^{A_\text{max}/10} -1} + - \frac{\Omega_S}{\Omega_D} + \right) \right\rceil. +\] + +\paragraph{Chebyshev I} Let \(K(\Omega^2) = e^2 C_n^2(\Omega)\), so +\[ + A(\Omega) = 10 \log\left(1 + e^2C_n^2(\Omega) \right), +\] +where \(C_n = \cos(n\arccos(\Omega))\) for \(|\Omega| \leq 1\) (in the passband), and when \(|\Omega| > 1\) (in the stopband) \(C_n = \cosh(n\arccosh(\Omega))\), is a so called Chebyshev polynomial of \(n\)-th order. \(e\) is a parameter, \emph{not the natural number (2.71\ldots)}. Chebyshev polynomials can be computed recursively with the formula +\[ + C_n = 2\Omega C_{n-1} - C_{n-2}, +\] +and knowing that \(C_1 = \Omega\) and \(C_2 = 2\Omega^2 - 1\). + +The idea is that in the passband the attenuation is periodic and stays more or less constant, and in the stopband the function is no longer periodic and damps the frequencies. To find the parameter \(e\) given an \(A_\text{max}\) +\[ + e = \sqrt{10^{A_\text{max}/10} - 1}, +\] +and to find the order given two parameters +\[ + n = \left\lceil \frac{ + \arccosh\sqrt{ + \frac{10^{A_\text{min}/10} -1}{10^{A_\text{max}}-1} + } + }{ + \arccosh(\Omega_S/\Omega_D) + } \right\rceil. +\] + +\paragraph{Chebyshev II} Also known as \emph{inverse} Chebyshev. Let \(K(\Omega^2) = 1/e^2 C_n^2(1/\Omega)\). + +\paragraph{Cauer} + % vim:ts=2 sw=2 et: diff --git a/tex/lti-freq.tex b/tex/lti-freq.tex deleted file mode 100644 index 892658d..0000000 --- a/tex/lti-freq.tex +++ /dev/null @@ -1 +0,0 @@ -\section{Frequency response of LTI systems} diff --git a/tex/lti.tex b/tex/lti.tex index 316bef1..812c1d4 100644 --- a/tex/lti.tex +++ b/tex/lti.tex @@ -18,10 +18,33 @@ Let \(\mathcal{S}\) denote a system. \end{tabularx} \end{table} +\subsection{Time domain description} +A general LTI system with input \(x\) and output \(y\) is described in the time domain with a linear differential equation of the form +\[ + \sum_{i=0}^n a_i y^{(i)} = \sum_{k=0}^m b_k x^{(k)}. +\] + \subsection{Impulse response} -%% TODO: impulse response +%% TODO: Impulse response + +\subsection{Transfer function} +By taking the Laplace transform of the differential equation of the system a and assuming all initial conditions to be zero, we obtain +\[ + Y \sum_{i=0}^n a_i s^i = X \sum_{k=0}^m b_k s^k, +\] +where \(Y\) and \(X\) are the Laplace transform of \(y\) and \(x\) respectively. We then define the \emph{transfer function} to be the ratio \(H = Y/X\), or +\[ + H(s) = \frac{\displaystyle\sum_{k=0}^m b_k s^k}{\displaystyle\sum_{i=0}^n a_i s^i} + = \frac{\displaystyle\prod_{k=0}^m s - z_k}{\displaystyle\prod_{i=0}^n s - p_i}, +\] +since polynomials can be expressed in terms of their roots. We say the roots of \(Y\) are \emph{zeroes} and those of \(X\) \emph{poles}, because of how they appear in the complex plane of \(H\). + +\subsection{Frequency response} +%% TODO: Frequency response \subsection{Stability} +%% TODO: Hurwitz + Let \(\mathcal{S}\) be a system with impulse response \(h(t)\) and transfer function \(H(s)\). \begin{table}[H] \centering @@ -33,9 +56,32 @@ Let \(\mathcal{S}\) be a system with impulse response \(h(t)\) and transfer func \bottomrule \end{tabularx} \end{table} + \subsection{Distortion} + +For a periodic signal the Fourier transform is a bunch of weighted Dirac deltas (or a Fourier series), i.e. +\[ + \fourier\{f\} = \sum_i d_i \delta(\omega - \omega_i). +\] +The spectrum of a sinusoidal signal of frequency \(\omega_1\) is only one weighted delta \(d_1\delta(\omega - \omega_1)\). When a system introduces a \emph{nonlinear} distortion, with a clean sine input new higher harmonics are found in the output. + +To measure the distortion of a signal in the English literature there is the \emph{total harmonic distortion} (THD) defined as +\[ + \text{THD} = \frac{1}{d_1}\sqrt{\sum_{i=1}^n d_i^2}. +\] +In the German literature there is the distortion factor (\emph{Klirrfaktor}, always between 0 and 1) +\[ + k = \sqrt{\frac{d_2 + d_3 + \cdots + d_n}{d_1 + d_2 + \cdots + d_n}}. +\] +Both are usually given in percent (\%) and are related with +\[ + (\text{THD})^2 = \frac{k^2}{1-k^2}, +\] +thus THD \(\leq k\). + \subsection{Stochastic inputs} + \iffalse \begin{figure} \begin{tikzpicture}[ diff --git a/tex/state-space.tex b/tex/state-space.tex index fadc6dd..3923b9c 100644 --- a/tex/state-space.tex +++ b/tex/state-space.tex @@ -1,11 +1,11 @@ \section{State space representation} -\begin{figure} +\begin{figure}[h] \centering \resizebox{\linewidth}{!}{ \input{tex/tikz/mimo} } - \caption{A LTI MIMO system.} + \caption{Diagram of a LTI MIMO system with vector variables.} \end{figure} A system described by a system of linear differential equations of \(n\)-th order, can be equivalently be described by \(n\) first order differential equations. Which can be compactly written in matrix form as @@ -41,7 +41,12 @@ If the system is time \emph{variant} the matrices are functions of time. \subsubsection{Diagonalized or Jordan form} -The Jordan form diagonalizes the \(\mx{A}\) matrix. Thus we need to solve the eigenvalue problem \((\mx{A} - \lambda\mx{I})\vec{x} = \vec{0}\), which can be done by setting \(\det(\mx{A} -\lambda\mx{I}) = 0\), and solving the characteristic polynomial. The eigenvectors are obtained by plugging the \(\lambda\) values back into \((\mx{A} - \lambda\mx{I})\vec{x} = \vec{0}\), and solving an overdetermined system of equations. +The Jordan form diagonalizes the \(\mx{A}\) matrix. Thus we need to solve the eigenvalue problem \((\mx{A} - \lambda\mx{I})\vec{x} = \vec{0}\), which can be done by setting \(\det(\mx{A} -\lambda\mx{I}) = 0\), and solving the characteristic polynomial. The eigenvectors are obtained by plugging the \(\lambda\) values back into \((\mx{A} - \lambda\mx{I})\vec{x} = \vec{0}\), and solving an overdetermined system of equations. Tip: for a \(2\times2\) matrix \(\mx{A}\) the eigenvalues can be quickly calculated with +\[ + m = \frac{1}{2} \tr \mx{A} = \frac{a + d}{2}, \quad + p = \det \mx{A} = ad - bc +\] +and then \(\lambda_{1,2} = m \pm \sqrt{m^2 - p}\). The transformation to the eigenbasis \(\mx{T}\), obtained by using the eigenvector as columns of a matrix \(\mx{T} = \begin{bmatrix} \vec{v}_1 & \cdots & \vec{v}_n \end{bmatrix}\), is then used to compute \begin{align*} @@ -63,7 +68,7 @@ The state controllability condition implies that it is possible --- by admissibl \mx{B} & \mx{A}\mx{B} & \mx{A}^2\mx{B} \cdots \mx{A}^{n-1}\mx{B} \end{bmatrix} \] -has \(\rank\mx{Q} = n\). Or equivalently for a SISO system, if all components of the vector \(\mx{\hat{C}}_{i} \neq 0\). +has \(\rank\mx{Q} = n\). For a SISO system, if all components of the vector \(\mx{\hat{B}}\) are not zero, then the system is controllable. \subsection{Observability} Observability is a measure for how well internal states of a system can be inferred by knowledge of its external outputs. A LTI state space mode is observable iff the matrix @@ -72,8 +77,35 @@ Observability is a measure for how well internal states of a system can be infer \mx{C} & \mx{C}\mx{A} & \cdots & \mx{C}\mx{A}^{n-1} \end{bmatrix} \] -has \(\rank\mx{Q} = n\). +has \(\rank\mx{Q} = n\). For a SISO system it is also possible to infer observability from the diagonalized form: if all elements of the \(\mx{\hat{C}}\) are not zero, then the system is observable. \subsection{Solutions in time domain} -\subsection{Solutions in frequency domain} +%% TODO: solutions in the time domain + +\subsection{Solutions in the \(s\)-domain} + +By taking the Laplace transform of the system of differential equations we obtain +\begin{align*} + s\vec{X} - \vec{x}(0) &= \mx{A}\vec{X} + \mx{B}\vec{U} \\ + \vec{Y} &= \mx{C}\vec{X} + \mx{D}\vec{U}. +\end{align*} +The first equation can be solved for \(\vec{X}\) giving +\[ + \vec{X} = (s\mx{I} - A)^{-1}\left(\vec{x}(0) + \mx{B}\vec{U}\right). +\] +Substituting in the second equation results in +\[ + \vec{Y} = \mx{C}(s\mx{I} - \mx{A})^{-1}\left(\vec{x}(0) + \mx{B}\vec{U}\right) + \mx{D}\vec{U}. +\] +Assuming that the initial conditions \(\vec{x}(0) = \vec{0}\), then +\[ + \vec{Y} = \left(\mx{C}(s\mx{I} - \mx{A})^{-1}\mx{B} + \mx{D}\right)\vec{U}. +\] +from which can define the \emph{transfer matrix} \(\mx{H}\) to be the matrix that takes \(\vec{Y}\) to \(\vec{U}\), i.e. +\[ + \vec{H} = \mx{C}(s\mx{I} - \mx{A})^{-1}\mx{B} + \mx{D}, +\] +that we can use to compute \(y = \laplace^{-1}\left\{\mx{H}\laplace u\right\}\). + +In the special case of a SISO system the transfer matrix \(\mx{H}\) is one dimensional and exactly equal to the transfer function \(H\). diff --git a/tex/tikz/mimo.tex b/tex/tikz/mimo.tex index 02f117d..aa40743 100644 --- a/tex/tikz/mimo.tex +++ b/tex/tikz/mimo.tex @@ -8,7 +8,7 @@ & \node[rtbox] (B) {\(\mathbf{B}\)}; & \node[rtsum] (dX) {}; \node[above = 0mm of dX] {\(\dot{\mathbf{x}}\)}; - & \node[rtint] (I) {}; + & \node[rtbox] (I) {\(\displaystyle\int\)}; & \node[rtsplit] (X) {}; \node[above = 0mm of X] {\(\mathbf{x}\)}; & \node[rtbox] (C) {\(\mathbf{C}\)}; |