<jupyter_start><jupyter_text>Characterization of Systems in the Spectral Domain*This Jupyter notebook is part of a [collection of notebooks](../index.ipynb) in the bachelors module Signals and Systems, Communications Engineering, Universität Rostock. Please direct questions and suggestions to [<EMAIL>](mailto:<EMAIL>).*  Combination of SystemsThe representation of complex systems as combination of simpler systems is often convenient for the analysis or synthesis. This section discusses three of the most common combinations, the series or parallel connection of systems as well as feedback loops.  ConcatenationWhen two systems are combined in series by connecting the output of the first system to the input of a second system this is termed as *concatenation* of two systems. Denoting the impulse responses of the two systems as $h_1(t)$ and $h_2(t)$, the output signal $y(t)$ of the second system is given as\begin{equation}y(t) =  x(t) * h_1(t) * h_2(t)\end{equation}where $x(t)$ denotes the input signal of the first system. Laplace transformation of the respective signals and impulse responses, and repeated application of the convolution theorem yields\begin{equation}Y(s) = \underbrace{H_1(s) \cdot H_2(s)}_{H(s)} \cdot X(s)\end{equation}It can be concluded that the concatenation of two systems can be regarded as one system with the transfer function $H(s) = H_1(s) \cdot H_2(s)$. Hence, the following structures are equivalent![Concatenation of two systems](concatenation.png)The extension to a concatenation of $N$ systems is straightforward. The overall transfer function is given by multiplication of all the individual transfer functions $H_n(s)$\begin{equation}H(s) = \prod_{n=1}^{N} H_n(s)\end{equation}Applications of concatenated systems include for instance the modeling of wireless transmission systems and cascaded filters. **Example**Concatenation of LTI systems can be used to construct higher-order filters from lower-order prototypes. Such filters are known as *cascaded filters*. This is illustrated at the [example of the second-order low-pass filter](../laplace_transform/network_analysis.ipynbExample:-Second-Order-Low-Pass-Filter) introduced before. The transfer function $H_0(s)$ of the low-pass is given as\begin{equation}H_0(s) = \frac{1}{LC s^2 + RC s + 1}\end{equation}where $R$, $L$ and $C$ denote the values of the resistor, capacitor and inductor. Concatenation of $N$ second-order filters leads to filter with order $2 N$. Its transfer function reads\begin{equation}H_N(s) = \left( \frac{1}{LC s^2 + RC s + 1} \right)^N\end{equation}The resulting transfer function is illustrated by its [Bode plot](../systems_spectral_domain/transfer_function.ipynbBode-Plots) for a varying number of cascaded filters using the normalized values $L = .5$, $R = 1$, $C = .4$. First the transfer function $H_N(s)$ is defined<jupyter_code>%matplotlib inline
import sympy as sym
sym.init_printing()

s = sym.symbols('s', complex=True)
w, R, L, C = sym.symbols('omega R L C', real=True)
N = sym.symbols('N', integer=True)

H0 = 1/(L*C*s**2 + R*C*s + 1)
HN = H0**N
HN<jupyter_output><empty_output><jupyter_text>The bode plot for the transfer function $H_N(j \omega)$ is shown for $N = \{1, 2, 3\}$ (red, green, blue line)<jupyter_code>RLC = {R: 1, L: sym.Rational('.5'), C: sym.Rational('.4')}
HNlog = 20*sym.log(sym.Abs(HN.subs(RLC).subs(s, 2*sym.pi*w)), 10)

p1 = sym.plot(HNlog.subs(N, 1), (w, 0.1, 100), xscale='log', xlabel='$\omega$', ylabel='$20 \log_{10} | H_n(j \omega) | in dB$', line_color='r', show=False);
p2 = sym.plot(HNlog.subs(N, 2), (w, 0.1, 100), xscale='log', xlabel='$\omega$', ylabel='$20 \log_{10} | H_n(j \omega) | in dB$', line_color='g', show=False);
p3 = sym.plot(HNlog.subs(N, 3), (w, 0.1, 100), xscale='log', xlabel='$\omega$', ylabel='$20 \log_{10} | H_n(j \omega) | in dB$', line_color='b', show=False);
p1.extend(p2)
p1.extend(p3)
p1.show()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1314314824248599, 'fraction_numerical': 0.019103413143148243, 'mean_word_length': 5.523255813953488, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '378495', 'license': 'MIT', 'n_tokens_mistral': 1323, 'n_tokens_neox': 1256, 'n_words': 461, 'path': 'systems_spectral_domain/combination.ipynb', 'repo_name': 'swchao/signalsAndSystemsLecture', 'size': '3966'}