\documentclass[tikz,border=4pt]{standalone} \usepackage{amsmath,amssymb,bm} \usetikzlibrary{positioning,shapes.geometric,decorations.pathreplacing,calc,fit,backgrounds} \begin{document} \begin{tikzpicture}[ font=\small, box/.style={draw,rounded corners=1pt,minimum width=7.5mm,minimum height=5.5mm,inner sep=1.5pt}, enc/.style={box,fill=yellow!35}, chan/.style={draw,diamond,aspect=1.4,fill=gray!25,inner sep=0.8pt}, rxb/.style={box}, mult/.style={draw,circle,inner sep=0.4pt,minimum size=4mm}, sum/.style={draw,rounded corners=2.5mm,fill=cyan!20,minimum width=12mm,minimum height=36mm}, dec/.style={draw,rounded corners=2pt,minimum width=53mm,minimum height=6mm,inner sep=2pt}, lbl/.style={font=\small\bfseries,align=center}, arr/.style={-stealth,semithick}] % ---------------- left panel: transmitters / channel ---------------- \foreach \i/\yy in {1/1.7, 2/0.45}{ \node[box] (x\i) at (0,\yy) {$\mathbf{x}_{\i}$}; \node[enc,right=4.5mm of x\i] (f\i) {$f_\phi$}; \node[mult,right=5.5mm of f\i] (o\i) {$\odot$}; \node[chan,right=5mm of o\i] (h\i) {$\tilde h_{\i}$}; \node[rxb,right=5mm of h\i] (y\i) {$\mathbf{y}_{\i}$}; \draw[arr] (x\i) -- (f\i); \draw[arr] (f\i) -- node[above,font=\footnotesize]{$\mathbf{e}_{\i}$} (o\i); \draw[arr] (o\i) -- (h\i); \draw[arr] (h\i) -- (y\i); \node[below=1.8mm of o\i,font=\footnotesize] (m\i) {$\mathbf{m}_{\i}$}; \draw[arr] (m\i) -- (o\i); } \node[box] (xU) at (0,-1.2) {$\mathbf{x}_{U}$}; \node[enc,right=4.5mm of xU] (fU) {$f_\phi$}; \node[mult,right=5.5mm of fU] (oU) {$\odot$}; \node[chan,right=5mm of oU] (hU) {$\tilde h_{U}$}; \node[rxb,right=5mm of hU] (yU) {$\mathbf{y}_{U}$}; \draw[arr] (xU) -- (fU); \draw[arr] (fU) -- node[above,font=\footnotesize]{$\mathbf{e}_{U}$} (oU); \draw[arr] (oU) -- (hU); \draw[arr] (hU) -- (yU); \node[below=1.8mm of oU,font=\footnotesize] (mU) {$\mathbf{m}_{U}$}; \draw[arr] (mU) -- (oU); \foreach \c in {x,f,o,h,y}{\node at ($(\c 2)!0.5!(\c U)$) {$\vdots$};} % superposition \node[sum,right=9mm of y2.east,yshift=-2mm] (sig) {$\displaystyle\sum_{v=1}^{U}$}; \draw[arr] (y1.east) -- (y1.east -| sig.west); \draw[arr] (y2.east) -- (y2.east -| sig.west); \draw[arr] (yU.east) -- (yU.east -| sig.west); % bottom labels \node[lbl,below=5.5mm of fU] {Transmitters\\(shared $f_\phi$)}; \node[lbl,below=5.5mm of hU] {Rayleigh\\Channel}; \node[lbl] at ([yshift=-4.5mm]sig.south) {Received Signal\\(Superposition $\tilde{\mathbf{y}}$)}; % ---------------- right panel: UWCA decoder ---------------- \node[dec,fill=violet!15,right=26mm of sig.east,yshift=19mm] (mask) {Soft Masks $\{\tilde{\mathbf{m}}_i\}_{i=1}^{U}$}; \node[dec,fill=blue!12,below=2.2mm of mask,align=center] (proj) {K/V Projection $(\mathbf{W}_K,\mathbf{W}_V)$\\[-1pt] Queries $\{\mathbf{q}_u\}$}; \node[dec,fill=orange!30,below=2.2mm of proj,minimum height=9mm,align=center] (attn) {Scaled Dot-Product Attention\\[-1pt] {\footnotesize $\alpha_{u,i}=\mathrm{softmax}\big(\eta\,\mathbf{q}_u^{\top}\mathbf{k}_i/\sqrt{d_k}\big)$}}; \node[mult,below=2.2mm of attn] (plus) {$\oplus$}; \node[dec,fill=green!20,below=2.2mm of plus] (norm) {$\ell_2$-Normalize}; \node[dec,fill=green!30,below=2.2mm of norm] (out) {$\hat{\mathbf{e}}_1,\ \hat{\mathbf{e}}_2,\ \ldots,\ \hat{\mathbf{e}}_U$}; \draw[arr] (mask) -- (proj); \draw[arr] (proj) -- (attn); \draw[arr] (attn) -- (plus); \draw[arr] (plus) -- (norm); \draw[arr] (norm) -- (out); \draw[arr] (sig.east) -- node[above,pos=0.45,font=\small]{$\tilde{\mathbf{y}}$} ++(13mm,0) |- (mask.west); \draw[arr,dashed,blue] (mask.east) -- ++(4mm,0) |- (plus.east) node[pos=0.78,above,font=\footnotesize]{skip: $\tilde{\mathbf{y}}\odot\tilde{\mathbf{m}}_u$}; % decoder panel frame \begin{scope}[on background layer] \node[rounded corners=2mm,fill=gray!12,fit=(mask)(out)(attn), inner xsep=7mm,inner ysep=4.5mm] (panel) {}; \end{scope} \node[anchor=south,font=\small\bfseries\color{black!75},inner sep=2pt] at (panel.north) {UWCA Decoder (per-user, shared weights $\theta$)}; % MAML brace \draw[decorate,decoration={brace,mirror,amplitude=2mm},blue!60!black,thick] ([yshift=-1.5mm]panel.south west) -- ([yshift=-1.5mm]panel.south east) node[midway,below=2mm,font=\small\color{blue!60!black}] {MAML meta-training over SNR tasks $\{\mathcal{T}_k\}_{k=1}^{K}$}; \end{tikzpicture} \end{document}