![tikz 中是否有预定义的带通滤波器块?](https://linux22.com/image/297472/tikz%20%E4%B8%AD%E6%98%AF%E5%90%A6%E6%9C%89%E9%A2%84%E5%AE%9A%E4%B9%89%E7%9A%84%E5%B8%A6%E9%80%9A%E6%BB%A4%E6%B3%A2%E5%99%A8%E5%9D%97%EF%BC%9F.png)
我想要创建这个框图。
\documentclass{article}
\usepackage{tikz}
\usepackage{circuitikz}
\usepackage{pst-solides3d}
\usetikzlibrary{shapes,decorations}
\usetikzlibrary{positioning,arrows}
\tikzset{
state/.style={circle,draw,minimum size=6ex},
arrow/.style={-latex, shorten >=1ex, shorten <=1ex}}
\begin{document}
\begin{tikzpicture}
%antenne
\draw (0,-2) -- (0,.75);
\draw (-1,.75) -- (0,-.25) -- (1,.75);
\draw
(0,-2) -- (3,-2);
%lna
\draw
(3,-2.5) -- (3,-1.5)
(3,-1.5) -- (4,-2)
(3,-2.5) -- (4,-2)
;
\draw[-latex]
(4,-2) -- (6,-2);
%bf1
\draw
(6,-2.5) -- (6,-1.5) -- (7,-1.5) -- (7,-2.5)-- (6,-2.5);
\end{tikzpicture}
\end{document}
circuitikz 中是否有任何预定义的带通滤波器?如果没有,我该如何将正弦曲线放入这个小盒子里?
答案1
这是一个circuitikz
解决方案。 定义了两个块,分别称为 bandpass filter
和。两者都将交流电压源重新定义为一组绘图命令来绘制符号。mixer
\BPF
\cross
代码
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usepackage[american,siunitx]{circuitikz}
\usetikzlibrary{arrows,calc,positioning}
\newcommand{\cross}[1]
{ % #1 = name ,
\draw[thick] (#1) circle (12pt);
\draw[rotate=45,line width=0.5pt] (#1) +(0,-12pt) -- +(0,12pt);
\draw[rotate=-45,line width=0.5pt] (#1) +(0,-12pt) -- +(0,12pt);
}
\newcommand{\BPF}[2]
{ % #1 = name , #2 = rotation angle
\begin{scope}[transform shape,rotate=#2]
\draw[thick] (#1)node[](a){} +(-12pt,-12pt) rectangle +(12pt,12pt);
\draw (a) +(-8pt,0) to[bend left] +(0,0) edge[bend right] +(8pt,0);
\draw ([yshift=5pt]a) +(-8pt,0) to[bend left] +(0,0) to[bend right] +(8pt,0);
\draw ([yshift=-5pt]a) +(-8pt,0) to[bend left] +(0,0) edge[bend right] +(8pt,0);
\draw[rotate=20] ([yshift=5pt]a) +(-4pt,0) -- +(7pt,0);
\draw[rotate=20] ([yshift=-5pt]a) +(-7pt,0) -- +(4pt,0);
\end{scope}
}
\tikzset{ar/.style={-latex,shorten >=-1pt, shorten <=-1pt}}
\begin{document}
\begin{circuitikz}
\path (4,0) node[above=2pt]() {LO} to[sV]node[pos=0,inner sep=0pt](b){} (4,2);
\draw (0,3) node[buffer,scale=0.8](buf){}
node[above =0.8 cm]{LNA};
\path (1,3) to[sV,color=white,name=bp]
node[pos=0,inner sep=0pt](d){}
node[above left=0.8cm and 0.2cm]{BPF} (3,3);
\BPF{bp}{0}
\path (4,2) to[sV,color=white,name=M1]node[midway,above=0.1cm]{Mixer}(4,4);
\cross{M1}
\draw[] (-1,3) node [antenna,xscale=-1] (A) {}--(buf.in);
\draw[ar] (bp)--(M1);
\draw[ar] (buf.out)--(bp);
\draw[ar] (b)--(M1);
\draw[ar] (M1) -- +(2,0);
\end{circuitikz}
\end{document}