1

statefeed6

../statefeed6.png

Download statefeed6.tex

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning}
\usetikzlibrary{narrow}

% The double arrow comes from
% http://www.texample.net/tikz/examples/double-arrows/
% with modification in 
% http://tex.stackexchange.com/questions/169061/tikz-increase-arrow-head-size
\usetikzlibrary{arrows,decorations.markings}

\tikzset{block/.style={draw, rectangle, line width=2pt, 
    fill=blue!10, minimum height=3em, minimum width=3em,
     outer sep=0pt}}
\tikzset{sumcircle/.style={draw, circle, outer sep=0pt,
      label=center:{{$\sum$}}, minimum width=2em}}
\tikzset{vecArrow/.style={
  line width=1pt,
  decoration={
    markings,mark=at position 1 with {
       \arrow[scale=2.5,line width=0.4pt] {open triangle 60}
    }
  },
  double distance=4pt, shorten >= 13pt,
  preaction = {decorate},
  postaction = {draw,line width=4pt, white,shorten >= 10pt}
}}
\tikzset{innerWhite/.style={semithick, white, line width=1.4pt,
     shorten >= 4.5pt}}

\tikzset{every picture/.style={auto, line width=1pt, >=narrow,
    x=1mm, y=1mm, font=\small}}

\begin{document}
\begin{tikzpicture}
\node[sumcircle](sumA){};
\node[block,right=20mm of sumA](Adam){Adam};
\coordinate[right=15mm of Adam](output);
\node[block,below=5mm of Adam](Bertil){Bertil};
\node[block,left=10mm of sumA](Cesar){Cesar};
\node[block, below=20mm of sumA,xshift=16mm](David){David};
\node[block, below=20mm of sumA,xshift=-16mm](Erik){Erik};
\node[block, left=10mm of Erik](Filip){Filip};
\node[sumcircle, left=10mm of Filip](sumB){};
\node[block,below=35mm of sumA](Gustaf){Gustaf};
\coordinate[left=40mm of Cesar](Input){};
\draw[->](Input)--node{$a$}(Cesar);
\draw[->](Cesar-|sumB)--(sumB);
\draw[->](sumB)--node[xshift=-1mm]{$d$}(Filip);
\draw[->](Filip)--node[xshift=-1mm]{$e$}(Erik);
\draw[->](Cesar)--(sumA);
\draw[->](sumA)--node(forkB){$b$}(Adam);
\draw[->](forkB)|-(Bertil);
\draw[->](Adam)--node(C){$c$}(output);
\draw[->](C)|-(Gustaf);
\draw[->](C)|-(Bertil);
\draw[->](Gustaf)-|(sumB);
\draw[vecArrow](Bertil)|-node[xshift=3mm,yshift=8mm]{$x$}(David);
\coordinate[right=5mm of Erik](ER);
\draw[->](Erik)--(ER)--(sumA);
\coordinate[left=5mm of David](DL);
\draw[->](David)--(DL)--(sumA);
 \end{tikzpicture}
\end{document}