\begin{tikzpicture} \node[branch] (x) at (0, 0); \node[block, above right=0.5 and 0.5 of x](G1){$G_1(s)$}; \node[block, below right=0.5 and 0.5 of x](G2){$G_2(s)$}; \node[addb, right=0.8 of G1](add1){}; \node[addb, right=0.8 of G2](add2){}; \node[block, right=0.8 of add1](H1){$H_1(s)$}; \node[block, right=0.8 of add2](H2){$H_2(s)$}; \node[addb, right=5 of x](add){}; \draw[] ($(x)+(-0.7, 0)$) node[above right]{$x$} -- (x.center); \draw[->] (x.center) |- (G1.west); \draw[->] (x.center) |- (G2.west); \draw[->] (G1.east) -- (add1.west); \draw[->] (G2.east) -- (add2.west); \draw[<-] (add1.north) -- ++(0, 0.8)node[below right](n1){$n_1$}; \draw[<-] (add2.north) -- ++(0, 0.8)node[below right](n2){$n_2$}; \draw[->] (add1.east) -- (H1.west); \draw[->] (add2.east) -- (H2.west); \draw[->] (H1) -| (add.north); \draw[->] (H2) -| (add.south); \draw[->] (add.east) -- ++(0.7, 0) node[above left]{$\hat{x}$}; \begin{scope}[on background layer] \node[fit={($(G2.south-|x)+(-0.2, -0.3)$) ($(n1.north east-|add.east)+(0.2, 0.3)$)}, fill=black!10!white, draw, dashed, inner sep=0pt] (supersensor) {}; \node[below left] at (supersensor.north east) {Super Sensor}; \node[fit={($(G1.south west)+(-0.3, -0.1)$) ($(n1.north east)+(0.0, 0.1)$)}, fill=black!20!white, draw, dashed, inner sep=0pt] (sensor1) {}; \node[below right] at (sensor1.north west) {Sensor 1}; \node[fit={($(G2.south west)+(-0.3, -0.1)$) ($(n2.north east)+(0.0, 0.1)$)}, fill=black!20!white, draw, dashed, inner sep=0pt] (sensor2) {}; \node[below right] at (sensor2.north west) {Sensor 2}; \end{scope} \end{tikzpicture}