是否有用于通信块的 tikz 库?

是否有用于通信块的 tikz 库?

是否有任何内置形状的 tikz 库,如天线(简单的 Y 形)、无线信道(本质上是云)、过滤器等?特别是,我希望绘制类似的图表:http://en.m.wikipedia.org/wiki/Mimo(第一张图)。我猜大部分方块都可以用矩形来渲染,但如果能有一些内置形状就更好了。

答案1

您只需用额外的代码注释矩形节点即可。这里我使用了需要 pgf 3.0.0 的“pics”。命名/参数化无疑可以改进。

\documentclass[border=0.125cm]{standalone}
\usepackage{tikz}
\begin{document}

\tikzset{%
  wireless/.pic={
      \draw [->] (0,0) -| (.5,#1);
    \foreach \r in {.1,.2,.3}
      \draw (.6,#1) ++ (60:\r) arc (60:-60:\r);
  },
  vdots/.pic={
    \foreach \i in {-.1,0,.1}
      \fill (.25,\i) circle [radius=.75pt]; 
  },
  block/.style={
    shape=rectangle,
    minimum width=2cm,
    minimum height=1cm,
    draw
  },
  Tx/.style 2 args={
    block,
    node contents=Tx,
    append after command={
      \pgfextra{\pgfnodealias{@}{\tikzlastnode}}
      (@.north #1) [yshift=-.125cm] pic [#2] {wireless=.5}
      (@.#1)                        pic [#2] {vdots}
      (@.south #1) [yshift= .125cm] pic [#2] {wireless=.5}
    }
  },
  MIMO Tx east/.style={Tx={east}{xscale=1}},
  MIMO Tx west/.style={Tx={west}{xscale=-1}},
}
\begin{tikzpicture}

\node at (0,0) [MIMO Tx west];
\node at (0,2) [MIMO Tx east];

\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容