Files
uwca-semantic-mac/fig/fig0_overview2_tikz.tex
T
KiHoLee f55524cb05 Update figures and docs: OMA naming, uniform legends, TikZ Fig. 1 source
- Rename the orthogonal comparison scheme OFDMA -> OMA in docs and figure legends (data keys keep ofdma)
- Legend labels normalized to the paper dictionary (OMA, SFDMA, UWCA (proposed))
- New TikZ-generated system overview figure with text-consistent notation (soft decoder masks m-tilde, queries q_u, sharpness eta)
- Regenerated fig_fair, fig_resorth, fig_realdata_c, fig_async, fig_dynusers; fig_ser_all legend patched
2026-08-25 21:39:53 +09:00

92 lines
4.4 KiB
TeX
Executable File

\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=26mm},
dec/.style={draw,rounded corners=2pt,minimum width=47mm,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=-3.5mm] (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=15mm 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,font=\footnotesize]{$\tilde{\mathbf{y}}$} ++(6mm,0) |- (mask.west);
\draw[arr,dashed,blue] (mask.east) -- ++(4mm,0) |- (plus.east)
node[pos=0.25,right,font=\footnotesize,align=left]{skip:\\$\tilde{\mathbf{y}}\odot\tilde{\mathbf{m}}_u$};
% decoder panel frame
\begin{scope}[on background layer]
\node[draw=blue!60,dashed,rounded corners=2mm,fill=blue!5,fit=(mask)(out)(attn),
inner xsep=10mm,inner ysep=2.5mm] (panel) {};
\end{scope}
\node[anchor=south,font=\small\bfseries\color{blue!60!black},inner sep=1.5pt] 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.2mm]panel.south west) -- ([yshift=-1.2mm]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}