LPF(低通滤波器)块

LPF(低通滤波器)块

我正在尝试使用 TikZ 生成 LPF 块。

我找到了使用 CircuiTikZ 绘制 LPF 的选项:

\documentclass[border=10pt]{standalone}  
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\usetikzlibrary{arrows.meta}
\usepackage{circuitikz}

\tikzset{
block/.style = {draw, fill=white, rectangle, minimum height=3em, minimum width=3em},
tmp/.style  = {coordinate}, 
input/.style = {coordinate},
output/.style= {coordinate},
pinstyle/.style = {pin edge={to-,thin,black}
}
}

\begin{document}  

    \begin{tikzpicture}
        \node [input, name=input] {};
        \node [block, right=20mm of input] (A) {A};
        \node [block, right=20mm of A] (B) {B};
        \draw [-{Latex[length=2mm]}] (A) to[lowpass](B);
    \end{tikzpicture}

\end{document}

这有2个问题

  1. 线连接块穿过它们,而不是从它们的边缘开始。
  2. 没有箭头指向 LPF

错误的 LPF

我曾尝试寻找解决此问题的方法,但没有成功。

有什么办法可以让它看起来像这样吗? 正确的 LPF

(作为最后一个请求,是否也可以使块的边框具有相同的厚度就像 A 和 B?)

答案1

在此处输入图片描述

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{arrows.meta, positioning}
\usepackage{circuitikz}

\begin{document}
\begin{tikzpicture}[box/.style={draw, thick, minimum size=10mm}]
    \node [box] (A) {A};
    \node [box, right=20mm of A] (B) {B};
    \path (A) to [lowpass, name=lpf] (B);
    \draw [-{Latex[length=2mm]}] (A.east) to (lpf.west);
    \draw [-{Latex[length=2mm]}] (lpf.east) to (B.west);
\end{tikzpicture}
\end{document}

编辑: 如果您喜欢改变lowpass边框厚度,那么您只需要重新定义双极子厚度:

\ctikzset{bipoles/thickness=1}

您可以在上图中重新绘制:

在此处输入图片描述

完全的姆韦是:

\documentclass[margin=3mm]{standalone}
\usepackage{circuitikz}
\usetikzlibrary{arrows.meta, positioning}

\begin{document}
    \begin{tikzpicture}[
    box/.style = {draw, inner sep=2pt, minimum size=10mm},
     LA/.style = {-{Latex[length=2mm]}},
 node distance = 22mm
                ]
\ctikzset{bipoles/thickness=1}
%
\node [box] (A) {A};
\node [box, right=of A] (B) {B};
\path (A) to [lowpass, name=lpf] (B);
\draw [LA] (A) to (lpf.west);
\draw [LA] (lpf.east) to (B);
    \end{tikzpicture}
\end{document}

答案2

也可以不使用路径对象,而是将其用作节点。我发现这在非纯电路或框图的混合图中很有用。大多数路径对象确实具有与节点对应的形状,通常可以通过附加shape到名称来访问。

在下面的例子中lowpassshape

梅威瑟:

\documentclass[margin=3mm]{standalone}
\usepackage{circuitikz}
\usetikzlibrary{arrows.meta, positioning}

\begin{document}
  \begin{tikzpicture}[
    box/.style = {draw, inner sep=2pt, minimum size=10mm},
    LA/.style = {-{Latex[length=2mm]}},
    node distance = 22mm
                    ]
    \ctikzset{bipoles/thickness=1}
    %
    \node [box] (A) {A};
    \node [lowpassshape, right=of A] (lpf) {};
    \node [box, right=of lpf] (B) {B};
    \draw [LA] (A) to (lpf.west);
    \draw [LA] (lpf.east) to (B);
  \end{tikzpicture}
\end{document}

相关内容