1
$\begingroup$

I am in process of creating some notes in Latex on signal processing.

such as

enter image description here

Does anybody know if there are softwares or tools that are useful for quickly generating these diagrams?

$\endgroup$
5
$\begingroup$

Extending a bit on the answer of @Rob. If you are writing a paper in LaTeX (and friends), it is (imho) highly desirable to draw the diagrams also in a LaTeX related way. This comes with a number of advantages:

  • Direct and easy integration, using either \input or including as PDF using \includegraphics
  • The same fonts, font sizes, colors, etc. as in the rest of the document (main advantage in my opinion)
  • One workflow. You can put everything under the same version control (e.g. Git, Mercurial, ...) and do not require any other software: only a LaTeX installation - which is needed anyways.
  • No need to manually move stuff around using the arrow keys, no automatically changing grids, no vector-based programs which can't export eps, ... (yes, I'm looking at you, Visio!)

Now there are a number of LaTeX related tools for this. Rob mentioned TikZ in his answer. There are also Metapost and PSTricks which also have the capabilities to get the job done. If you want to stick closely to the LaTeX syntax you seem to already know, you might want to chose TikZ.

To do especially plots using TikZ, you might want to have a look at the PGFPlots package, which offers extensive plotting capabilities. All options are well described in the manual, and there is a huge example gallery. For example to get a plot as the first one in your diagram, all you need is

\documentclass{article}
\usepackage{pgfplots}
\begin{document}   
\begin{tikzpicture}
\begin{axis}[
        width = 8cm, height = 4cm,
        xlabel={$\omega$},ylabel={$X(\omega)$},
        xtick = {-1,1},
        xticklabels={-B,B},
        ytick = {0,1},
        axis lines=middle,
        xmin = -4, xmax = 4,
        ymin = 0, ymax = 1.2
    ]
        \addplot[] coordinates {(-1,0)(0,1)(1,0)};
\end{axis}
\end{tikzpicture}
\end{document}

result

$\endgroup$
3
$\begingroup$

I've been using the Microsoft Visio drawing software (version: 2003) for some years now. It works pretty well. (Like all Microsoft products it has 2000 special "features" that I don't need so it took quite a while to learn how to create simple drawings.) I see that the current price for the 'Standard' version of Visio is now $300. That's awfully expensive! I hope you're able to find a cheaper "drawing" software package.

$\endgroup$
3
$\begingroup$

I've been making such line drawings in OpenOffice Draw. It has EPS and PDF export but I never tried the output files with Latex

$\endgroup$
2
$\begingroup$

It depends on your definition of "quickly", but Ive used tikz to generate plots like this in the past. You should be able to open some examples in that link and tweak them.

$\endgroup$
2
$\begingroup$

I use Inkscape, which is free. Why is it so good? Because of the most excellent arrow options and the snap to grid, it is indispensable for creating scientific diagrams, and in particular signal processing flowcharts.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.