1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./style.css" />
6 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./design.css" />
7 <link rel=
"stylesheet" media=
"print" type=
"text/css" href=
"./print.css" />
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
14 <em>Translations of this page are also available in the following languages:
</em> <a href=
"geda-data_plotting_improvements.ru.html" class=
"wikilink1" title=
"geda-data_plotting_improvements.ru.html">Русский
</a>.
17 <h1 id=
"simulationdataplotting">Simulation Data Plotting
</h1>
22 <h2 id=
"rationale">Rationale
</h2>
26 This article discusses on how data plotting can be improved.
27 There are various programs out there, each has it
's own pros and cons:
30 <li class=
"level1"><div class=
"li"> gtkwave: a great viewer for digital simulation data
</div>
32 <li class=
"level1"><div class=
"li"> gwave: analog waveform viewer
</div>
34 <li class=
"level1"><div class=
"li"> KJWaves: simulation frontend with plotting window
</div>
36 <li class=
"level1"><div class=
"li"> buildin plotting functions in ngspice
</div>
38 <li class=
"level1"><div class=
"li"> gnuplot / octave / scipy / ... or similar programs as postprocessing script languages
</div>
40 <li class=
"level1"><div class=
"li"> ...
</div>
45 There have been various suggestions on the mailing lists about the feature a plotting program could have:
48 <li class=
"level1"><div class=
"li"> postprocessing: integrate, add, diff, fft, ...
</div>
50 <li class=
"level1"><div class=
"li"> view, examine: cursors, multiple windows, ...
</div>
52 <li class=
"level1"><div class=
"li"> data import, file format: circuit simulation data (gnucap, spice, ...) hdf5 , measured data from oscilloscopes, spectrum analysers, ...
</div>
54 <li class=
"level1"><div class=
"li"> data export, file format: hdf5, pictures (png, ps, ...), ascii
</div>
56 <li class=
"level1"><div class=
"li"> communication backends: dbus, ...
</div>
58 <li class=
"level1"><div class=
"li"> extension/scripting language
</div>
64 <h2 id=
"draft1extendgtkwaves">Draft1: Extend gtkwaves
</h2>
67 <li class=
"level1"><div class=
"li"> write some import functions for analog data
</div>
73 <h2 id=
"draft2improvegwave">Draft2: improve gwave
</h2>
77 gwave requires an old guile-gtk for GTK1.2.
80 <li class=
"level1"><div class=
"li"> port gwave to guile-gtk2.0 for GTK2.x
</div>
82 <li class=
"level1"><div class=
"li"> remove the guile-gtk requirement. Maybe create a native gtk2 application with libglade?
</div>
90 <li class=
"level1"><div class=
"li"> gaw: http://www.rvq.fr/linux/gaw.php
</div>
96 <h2 id=
"draft3searchforexistingdataexploringprograms">Draft3: Search for existing data exploring programs
</h2>
100 Are there any programs out there that can show and postprocess simulation data?
101 If yes, how can they be extended to work as a waveform viewer for the simulators (gnucap, ngspice)?
106 <h2 id=
"draft4anewplottingapplication">Draft4: A new plotting application
</h2>
110 Some vague notes on how a new plotting application could be written.
111 This notes currently relate on python as programming language.
114 <li class=
"level1"><div class=
"li"> the GUI could be created with libglade
</div>
116 <li class=
"level1"><div class=
"li"> the data storage format could be hdf5 , maybe together with pytables
</div>
118 <li class=
"level1"><div class=
"li"> the plotting engine could be matplotlib (png, ps export included)
</div>
120 <li class=
"level1"><div class=
"li"> postprocessing could be done with scipy
</div>
122 <li class=
"level1"><div class=
"li"> the scripting language is python. Thus import filter to hdf5 can easily be written. Even an integrated python shell would be possible. Seen on MayaVi
2</div>
127 Disadvantage: This configuration has a huge rucksack of additional required packages.
131 <strong>Update
</strong>
135 There are now some programs out there, that use the python, numpy, matplotlib tool chain:
138 <li class=
"level1"><div class=
"li"> oscopy: http://repo.or.cz/w/oscopy.git
</div>
140 <li class=
"level1"><div class=
"li"> dataplot: http://www.h-renrew.de/h/dataplot/dataplot.html, http://repo.or.cz/w/dataplot.git
</div>
142 <li class=
"level1"><div class=
"li"> gsim: http://kiwiki.fmtnuni.sk/mediawiki/index.php/Description_of_gsim
</div>