\begin{tikzpicture}[->, >=stealth, shorten >= 0pt, draw=black!50, node distance=1.5cm, font=\sffamily]
	\tikzstyle{node}=[circle,fill=black,minimum size=2pt,inner sep=0pt]
	\tikzstyle{block}=[draw=black,rectangle,fill=none,minimum size=1cm, inner sep=0pt]
	\tikzstyle{adder}=[draw=black,circle,fill=none,minimum size=1cm, inner sep=0pt]
	
	\node[node] (xc) {};
	\node[block, right=2.5cm of xc, text width = 2cm, align= center] (E0) {$E_0(z^M)$};
	\node[block, below of=E0, text width = 2cm, align= center] (E1) {$E_1(z^M)$};
	\node[draw=none, below=0.25cm of E1, text width = 2cm, align= center] (E2) {$\vdots$};
	\node[block, below=0.25cm of E2, text width = 2cm, align= center] (E3) {$E_{M-1}(z^M)$};
	\node[adder, right=1.5cm of E1, text width = 1cm, align= center] (S) {\Large $+$};	
	
	\coordinate (mid) at ($(xc)!0.5!(E0.west)$) {};
	\coordinate[below=0.75cm of mid] (z1) {};
	\coordinate (mid1) at ($(E1.west) - (1.25cm, 0)$) {};
	\coordinate (mid3) at ($(E3.west) - (1.25cm, 0)$) {};
	\coordinate[below=0.5cm of mid1] (z2) {};
	\coordinate[above=0.5cm of mid3] (z3) {};
	
	\path (xc) edge (E0);
	\path (mid) edge (z1);
	\path[-] (z1) edge (mid1);
	\path (mid1) edge (z2);
	\path (z3) edge (mid3);
	\path (mid1) edge (E1);
	\path (mid3) edge (E3);
	\path (E0.east) edge (S);
	\path (E1.east) edge (S);
	\path (E3.east) edge (S);
	
	\node[left = 1mm of z1] {$z^{-1}$};
	\node[left = 1mm of z2] {$z^{-1}$};
	\node[left = 1mm of z3] {$z^{-1}$};
	
	\node[left = 0mm of xc, text width = 1cm, align=center] {$x[n]$};
	
	\draw[dashed] ($(mid.north west)-(1cm,-0.75cm)$) rectangle ($(S.east)+(0.3cm,-3cm)$) {};
	\node at ($(xc)!0.5!(S.east) - (0cm, 4cm)$) {$H(z)$};
	
	\ifdefined\DOWN
		\node[block, right=1cm of S, text width = 1.5cm, minimum size=1.5cm, align= center] (M) {$~~M$};
		\draw[-latex, shorten >= 15pt, shorten <= 15pt, line width=0.75pt] ($(M.north)-(5pt, 0)$) -- ($(M.south)-(5pt, 0)$) {};
		\coordinate (yc) at ($(M.east)+(1cm, 0)$) {};
		\path (S) edge (M);
		\path (M) edge (yc);
	\else
		\coordinate (yc) at ($(S.east)+(1cm, 0)$) {};
		\path (S) edge (yc);
	\fi
	
	\node[above = 0mm of yc, text width = 1cm, align=center] {$y[n]$};
\end{tikzpicture}