I am trying to draw the picture attached in tikz but I failed to do so. Can anyone help me? Thanks.
What I did is the following which produces something as follow:
\documentclass[tikz,border=5]{standalone}
\renewcommand\familydefault\sfdefault
\usetikzlibrary{calc,fit,shapes.geometric}
\pgfdeclarelayer{signal}
\pgfsetlayers{signal,main}
\usetikzlibrary{chains,shapes.multipart}
\usetikzlibrary{automata,positioning}
\usetikzlibrary{arrows}% To get more arrow heads
\newcounter{cntr}
\renewcommand{\rmdefault}{ptm}
\usepackage[lite,subscriptcorrection,slantedGreek,nofontinfo]{mtpro2}
\usetikzlibrary{snakes}
\tikzstyle{printersafe}=[snake=snake,segment amplitude=0 pt]
\colorlet{sky blue}{blue!60!cyan!75!black}
\colorlet{dark blue}{blue!50!cyan}
\colorlet{chameleon}{olive!75!green}
\tikzset{signal/.style={draw=black, line width=0.2em}}
\begin{document}
\begin{tikzpicture}[>=triangle 45,x=1em,y=1em]
\node[] at (-8,1) (y) {$y_n$};
\node[] at (-8,0) (y0) {};
\node[] at (-7,0) (y00) {};
\node[draw,rectangle] at (0,0) (a) {MMSE $\mathbf{o}_n[1]$};
\node[draw,rectangle] at (15,0) (b) {Decode $\mathbf{o}_n[1]$};
\node[] at (25,0) (x) {$\hat{x}_{\mathbf{o}_n[1]}$};
\node[] at (22,0) (x00) {};
\draw [semithick,->] (a) -- (b);
\draw [semithick,->] (b) -- (x);
\draw [semithick,->] (y0) -- (a);
\node[draw,rectangle] at (0,-5) (a1) {MMSE $\mathbf{o}_n[2]$};
\node[draw,rectangle] at (15,-5) (b1) {Decode $\mathbf{o}_n[2]$};
\node[] at (25,-5) (x1) {$\hat{x}_{\mathbf{o}_n[2]}$};
\draw [semithick,->] (a1) -- (b1);
\draw [semithick,->] (b1) -- (x1);
\node[draw,circle] at (-5, -5) (c1) {};
\draw [semithick,->] (c1) -- (a1);
\draw [semithick,->] (y00) |- (c1);
\node[] at (-5.2, -2.1) (c01) {};
\draw [semithick] (x00) |- (c01);
\draw [semithick, ->] (c01) |- (c1);
\end{tikzpicture}
\end{document}
EDIT: According to some comments, I am clarifying the following: I need to reproduce the blocks with the arrows and the circles. Something like this is sufficient: