Description
The code is a LaTeX document that includes several packages such as amsmath
, amssymb
, graphicx
, booktabs
, and circuitikz
. It defines three styles for different types of nodes in a TikZ picture: block
, controller
, and sum
.
The TikZ picture is used to create a block diagram with three systems of different types: 0, 1, and 2. Each system is represented by a block diagram consisting of three nodes: an input node, a block node, and an output node. The input node is labeled R
, and the output node is labeled C
. Each block node is labeled with a transfer function of the form N(s)/D(s)
where N(s)
and D(s)
are polynomials in s
.
The three systems differ in the form of their transfer functions. Type 0 has a transfer function of the form N(s)/D(s)
, type 1 has a transfer function of the form N(s)/(sD(s))
, and type 2 has a transfer function of the form N(s)/(s^2D(s))
. The caption of the figure reminds the reader that the polynomials N(s)
and D(s)
should not be factorizable by s
.
The TikZ picture uses arrows to represent the flow of signals between nodes. The auto
and >=latex'
options are used to specify the positioning and style of the arrows. The TikZ picture also uses the positioning
library to position the nodes relative to each other.
The document includes a figure
environment that contains the TikZ picture and a caption describing the systems of types 0, 1, and 2.
Keywords
tikz, amsmath, amssymb, graphicx, booktabs, tabularx, circuitikz, positioning, shapes, arrows, draw, fill, rectangle, minimum height, minimum width, circle, node distance, coordinate, auto, input, output.
Source Code
\documentclass[tikz]{standalone}
\usepackage{amsmath,amssymb}
\usepackage{graphicx} % Required for inserting images
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{circuitikz}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes,arrows}
\tikzstyle{block} = [draw, fill=blue!20, rectangle, minimum height=3em, minimum width=4em]
\tikzstyle{controller} = [draw, fill=green!20, rectangle, minimum height=3em, minimum width=4em]
\tikzstyle{sum} = [draw, fill=blue!20, circle, node distance=1cm]
\tikzstyle{input} = [coordinate]
\tikzstyle{output} = [coordinate]
\begin{document}
\begin{figure}
\hspace{1.5cm}\textbf{Type 0}\hspace{3cm}\textbf{Type
1}\hspace{3cm}\textbf{Type 2}\\
\vspace{0.1cm}
\centering \tikzstyle{block} = [draw, fill=blue!20,
rectangle, minimum height=3em, minimum width=3em]
\tikzstyle{controller} = [draw, fill=red!20, rectangle, minimum
height=3em, minimum width=4em] \tikzstyle{sum} = [draw,
fill=blue!20, circle, node distance=1cm] \tikzstyle{input} =
[coordinate] \tikzstyle{output} = [coordinate]
\begin{tikzpicture}[auto, >=latex']
% Nodes
\node [input] (input) {};
\node [sum, right = 0.5cm of input] (sum) {};
\node [block, right = 0.5cm of sum] (system) {$\frac{N_0(s)}{D_0(s)}$};
\node [output, right = 1cm of system] (output) {};
\node [input, below = 0.5cm of system] (m) {};
% Arrows
\draw [draw,->] (input) -- node {$R$} (sum);
\draw [->] (sum) -- node {} (system);
\draw [->] (system) -- node (y) {$C$}(output);
\draw [-] (y) |- (m) {} ;
\draw [->] (m) -| node[pos=0.99] {$-$} node [near end] {} (sum);
\end{tikzpicture}
\hspace{0.5cm}
\begin{tikzpicture}[auto, >=latex']
% Nodes
\node [input] (input) {};
\node [sum, right = 0.5cm of input] (sum) {};
\node [block, right = 0.5cm of sum] (system) {$\frac{N_1(s)}{sD_1(s)}$};
\node [output, right = 1cm of system] (output) {};
\node [input, below = 0.5cm of system] (m) {};
% Arrows
\draw [draw,->] (input) -- node {$R$} (sum);
\draw [->] (sum) -- node {} (system);
\draw [->] (system) -- node (y) {$C$}(output);
\draw [-] (y) |- (m) {} ;
\draw [->] (m) -| node[pos=0.99] {$-$} node [near end] {} (sum);
\end{tikzpicture}
\hspace{0.5cm}
\begin{tikzpicture}[auto, >=latex']
% Nodes
\node [input] (input) {};
\node [sum, right = 0.5cm of input] (sum) {};
\node [block, right = 0.5cm of sum] (system) {$\frac{N_2(s)}{s^2D_2(s)}$};
\node [output, right = 1cm of system] (output) {};
\node [input, below = 0.5cm of system] (m) {};
% Arrows
\draw [draw,->] (input) -- node {$R$} (sum);
\draw [->] (sum) -- node {} (system);
\draw [->] (system) -- node (y) {$C$}(output);
\draw [-] (y) |- (m) {} ;
\draw [->] (m) -| node[pos=0.99] {$-$} node [near end] {} (sum);
\end{tikzpicture}
\caption{Systems of types 0, 1 and 2. Note that $N_0, N_1, N_2, D_0,
D_1, D_2$ should not be factorizable by $s$.}
\end{figure}
\end{document}