summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/pgf/incoming/KarlheinzOchs/fir.tex
blob: 4a8af171c6151fe5779668155d491e7a554ca3a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
% Example for an interconnection of signal flow diagrams.
%
% Author: Dr. Karlheinz Ochs, Ruhr-University of Bochum, Germany
% Version: 0.1
% Date: 2007/01/05
\documentclass{article}
\usepackage{signalflowdiagram}

\begin{document}

% An FIR filter
\begin{signalflow}[node distance=9mm]{Finite impulse response filter of order $n$}%
   % building blocks
   \tikzgrid{
      \node[input]      (in)  {$x(t)$}     &
      \node[node]       (n0)  {}           &
      \node[delay]      (d1)  {$T$}        &
      \node[node]       (n1)  {}           &
      \node[delay]      (d2)  {$T$}        &
      \node[node]       (n2)  {}           &
      \node[coordinate] (c1)  {}           &
      \node[coordinate] (c3)  {}           &
      \node[delay]      (dn)  {$T$}        &
      \\ &
      \node[multiplier] (m0)  {$\alpha_0$} & &
      \node[multiplier] (m1)  {$\alpha_1$} & &
      \node[multiplier] (m2)  {$\alpha_2$} & & & &
      \node[multiplier] (mn)  {$\alpha_n$}
      \\ & & &
      \node[adder]      (a1)  {}           & &
      \node[adder]      (a2)  {}           &
      \node[coordinate] (c2)  {}           &
      \node[coordinate] (c4)  {}           & &
      \node[adder]      (an)  {}           &
      \node[output]     (out) {$y(t)$}
   }
   % signal paths
   \path[r>] (in) -- (n0);
   \path[r>] (n0) -- (d1);
   \path[r>] (d1) -- (n1);
   \path[r>] (n1) -- (d2);
   \path[r>] (d2) -- (n2);
   \path[r>] (n2) -- (c1); % continuation
   \path[r.] (c1) -- (c3); % continuation
   \path[r>] (c3) -- (dn); % continuation
   \path[r>] (n0) -- (m0);
   \path[r>] (n1) -- (m1);
   \path[r>] (n2) -- (m2);
   \path[r>] (dn) -| (mn);
   \path[r>] (m0) |- (a1);
   \path[r>] (m1) -- (a1);
   \path[r>] (m2) -- (a2);
   \path[r>] (mn) -- (an);
   \path[r>] (a1) -- (a2);
   \path[r>] (a2) -- (c2); % continuation
   \path[r.] (c2) -- (c4); % continuation
   \path[r>] (c4) -- (an); % continuation
   \path[r>] (an) -- (out);
\end{signalflow}

\end{document}