\tikzset{block/.default={0.8cm}{0.6cm}}
\tikzset{addb/.append style={scale=0.7}}
\tikzset{node distance=0.6}
\def\cdist{0.7}

\definecolor{T}{rgb}{0.230, 0.299, 0.754}%
\definecolor{S}{rgb}{0.706, 0.016, 0.150}%
\begin{tikzpicture}
  \node[addb={+}{}{}{}{-}] (addfb) at (0, 0){};
  \node[addb={+}{}{}{}{-}, right=of addfb] (addK){};
  \node[block, right=of addK] (K){$k$};
  \node[block, right=1.8 of K] (G){$G^\prime$};
  \node[addb={+}{}{}{}{}, right=of G] (adddy){};
  \node[block, below right=0.5 and -0.2 of K] (Gm){$G$};
  \node[block, below left =0.5 and -0.2 of K] (Hh){$H_H$};
  \node[block, below=1.5 of G] (Hl) {$H_L$};
  \node[addb={+}{}{}{}{}, right=1 of Hl] (addn) {};

  \draw[->] (addfb.east) -- (addK.west);
  \draw[->] (addK.east) -- (K.west);
  \draw[->] (K.east) -- (G.west) node[above left]{$u$};
  \draw[->] (G.east) -- (adddy.west);
  \draw[->] ($(G.west)+(-0.8, 0)$) node[branch](sffb){} |- (Gm.east);
  \draw[->] (Gm.west) -- (Hh.east);
  \draw[->] (Hh.west) -| (addK.south);
  \draw[<-] (addn.east) -- ++(\cdist, 0) coordinate[](endpos) node[above left]{$n$};
  \draw[->] (adddy.east) -- (G-|endpos) node[above left]{$y$};
  \draw[->] (adddy-|addn) node[branch]{} -- (addn.north);
  \draw[<-] (addfb.west) -- ++(-\cdist, 0) node[above right]{$r$};
  \draw[->] (addn.west) -- (Hl.east) node[above right]{$y_m$};
  \draw[<-] (adddy.north) -- ++(0, \cdist) node[below right]{$d_y$};
  \draw[->] (Hl.west) -| (addfb.south) node[below right]{};

  \node[fit={($(addK.west|-Hh.south)+(-0.1, 0)$) (K.north-|sffb)}, inner sep=5pt, draw, dashed, color=gray, label={$K$}] (Kfb) {};
\end{tikzpicture}
