我想绘制类似下图的滤波器组。您能给我一些提示吗?我应该怎么做?
答案1
使用包Tikz/PGF您将使用简单的编码绘制这些滤波器组。Tikz 是一个非常强大的 LaTeX 绘图包。网站示例包含使用此包的大量示例,相信会对你有所帮助。滤波器组以框图形式呈现,请参阅框图向 TeXample 寻求帮助。
例如,此代码生成一个简单的框图:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\begin{tikzpicture}[auto,>=latex']
\tikzstyle{block} = [draw, shape=rectangle, minimum height=3em, minimum width=3em, node distance=2cm, line width=1pt]
\tikzstyle{sum} = [draw, shape=circle, node distance=1.5cm, line width=1pt, minimum width=1.25em]
\tikzstyle{branch}=[fill,shape=circle,minimum size=4pt,inner sep=0pt]
%Creating Blocks and Connection Nodes
\node at (-2.5,0) (input) {$x[n]$};
\node [block] (h1) {$h_1[n]$};
\node [block, right of=h1] (h2) {$h_2[n]$};
\node [sum, right of=h2] (sum) {};
\node at (sum) (plus) {{\footnotesize$+$}};
\node at (5,0) (output) {$y[n]$};
\path (h1) -- coordinate (med) (h2);
\path (input) -- coordinate(branch1) (h1);
\node [block, below of=med] (h3) {$h_3[n]$};
%Conecting Blocks
\begin{scope}[line width=1pt]
\draw[->] (input) -- (h1);
\draw[->] (h1) -- (h2);
\draw[->] (h2) -- (sum);
\draw[->] (sum) -- (output);
\draw[->] (branch1) node[branch] {} |- (h3);
\draw[->] (h3) -| (sum);
\end{scope}
\end{tikzpicture}
\end{document}
在文档序言中添加\usepackage{tikz}
,我知道代码看起来有点难但事实确实如此。
该包的工作原理是:在网格上绘制节点,每个节点可以包含一个图形,或者只是作为连接节点。包手册是一份非常好的文档,请参阅帮助。