1C-GRAPH(1)                       User Commands                      C-GRAPH(1)
2
3
4

NAME

6       c-graph - visualization tool for the convolution theorem
7

SYNOPSIS

9       c-graph [-d|-h|-v] [-n]
10

DESCRIPTION

12       GNU  C-Graph (for Convolution Graph) is a tool for visualizing the con‐
13       volution of two signals using Gnuplot under the X  Window  System.   It
14       computes the linear convolution of two signals in the time domain, then
15       compares their circular convolution by  demonstrating  the  convolution
16       theorem  - convolution of two signals in the time domain corresponds to
17       multiplication in the frequency domain.  Gnuplot command  and  graphics
18       output files are saved in the c-graphs directory for later use.
19
20       Each signal is modeled by a register of discrete values simulating sam‐
21       ples of a signal, and the discrete Fourier transform (DFT) computed  by
22       means  of  the fast Fourier transform (FFT).  FFTs are computed on data
23       series containing a power of two elements.  c-graph accepts data series
24       sizes of powers of two in the range 64 to 1024, inclusive.
25
26       c-graph  is  menu-driven:  it prompts the user for a number of samples,
27       the signal type, frequency, and a scaling coefficient (if applicable).
28
29       Data sets may consist of 64, 128, 256, 512, or 1024  samples.   If  any
30       other  data  set  size  is  chosen, the size is adjusted to the nearest
31       allowed power of two.
32
33       Signals may be periodic or aperiodic, according to input waveform type.
34
35       These signal types are periodic: sine, cosine,  triangle,  square,  and
36       sawtooth.  Periodic signals can be selected as continuous waves or as a
37       pulse.  If the pulse form is chosen, the input  signal  consists  of  a
38       half-wave  of  the  signal  type.  For example, a sine wave chosen as a
39       pulse will provide a sine wave of half the full  wave  duration  (i.e.,
40       from 0 to π radians, or 0 to 180°).
41
42       These signal types are aperiodic: exponential, ramp, and the step func‐
43       tion.
44
45       The allowable frequency range is from 0.5 to N/4, where N is the number
46       of samples.  If a value is entered outside of this range, the frequency
47       is set to a default of 1 Hz.
48
49       The scaling coefficient may be positive or negative.  The maximum abso‐
50       lute  value  of  the scaling coefficient for signal types sine, cosine,
51       exponential, and the step function is N, whereas for signal types  tri‐
52       angle,  square,  sawtooth  and  ramp  the maximum scale is 1.  With the
53       default scaling coefficient of 1, signal types sine,  cosine,  exponen‐
54       tial, and the step function are unit functions; signal types square and
55       sawtooth have a maximum amplitude of half the period, whereas that of a
56       triangle is one-quarter the period.
57
58       Whether  student, engineer, or scientist, aspiring special-effects ani‐
59       mator or roboticist, GNU C-Graph will help you find  the  adventure  in
60       the mathematics of convolution.
61

OPTIONS

63       -d, --dedicate
64              Print the dedication and exit.
65
66       -h, --help
67              Print the list of options and exit.
68
69       -n, --no-splash
70              Invoke GNU C-Graph with no splash screen.
71
72       -v, --version
73              Print the version of GNU C-Graph and exit.
74

ENVIRONMENT VARIABLES

76       GDFONTPATH
77              This is the directory path that gnuplot(1) searches for fonts to
78              produce its graphs.  c-graph commands  gnuplot  to  use  a  font
79              named  "serif".  If gnuplot does not find this font, it will use
80              a default.  To select the gnuplot font, create a  symbolic  link
81              from  the  desired  font file to a file named "serif.ttf".  Then
82              set GDFONTPATH to the directory where  "serif.ttf"  is  located.
83              For  example if the file /home/galactic/fonts/serif.ttf links to
84              the desired serif font, then in the Bourne shell use  a  command
85              such as the following:
86
87                   export GDFONTPATH=/home/galactic/fonts:/usr/share/fonts
88

FILES

90       Upon  exit,  c-graph saves its sample sets and graphics files in the c-
91       graphs directory within the current working directory.  Here is a typi‐
92       cal recursive listing of the output directory contents:
93
94            $ ls -R c-graphs
95            c-graphs:
96            coms  graphs
97
98            c-graphs/coms:
99            convolutions.cg  signals.cg  time.dat  trans.dat  transforms.cg
100
101            c-graphs/graphs:
102            convolutions.png  signals.png  transforms.png
103
104       The  c-graphs/coms  directory  contains  the input for Gnuplot that was
105       used to generate the output graphics.  Files ending in ".cg"  are  Gnu‐
106       plot command files.  Files ending in ".dat" are ASCII data input files;
107       they are tables of floating point values of input waveforms.
108
109       The c-graphs/graphs directory contains the graphics output of  Gnuplot,
110       in  Portable Network Graphics (PNG) format.  These files can be used in
111       presentations and other documents to visually demonstrate the  convolu‐
112       tion theorem.
113

BUGS

115       Report bugs to agt@codeartnow.com.
116

AUTHOR

118       GNU C-Graph was written by Adrienne Gaye Thompson (agt@codeartnow.com).
119       This package evolved from the BSc. Electrical Engineering honours  dis‐
120       sertation  of  Adrienne  Thompson, "Interactive Computer Program Demon‐
121       strating: Sampling Convolution and the FFT",  University  of  Aberdeen,
122       Scotland (1983).
123
125       Copyright  ©  1982,  1983,  1996, 2008, 2009, 2010, 2011, 2018 Adrienne
126       Gaye Thompson.
127
128       GNU C-Graph is licensed under the GPL version 3  or  later  with  Addi‐
129       tional  Terms  as permitted under the GPL; see the COPYING file in this
130       package  for  details.   For  the  latest  version  of  the  GPL,   see
131       http://gnu.org/licenses/gpl.html.
132
133       This is free software; you are free to modify and distribute it.  There
134       is NO WARRANTY, to the extent permitted by law.
135

SEE ALSO

137       The c-graph Texinfo manual, included in this package, contains  further
138       information.   That  manual provides a thorough description of possible
139       parameters and waveforms, with typical examples.  An appendix  provides
140       an overview of the convolution theorem.
141
142       With the GNU Texinfo package installed on your system, you can view the
143       manual with the command
144
145              info c-graph
146
147       Further documentation can be  found  on  the  GNU  C-Graph  home  page,
148       https://www.gnu.org/software/c-graph/.   The  source package includes a
149       PDF version of the Texinfo manual.  A copy of this manual can  also  be
150       found at https://www.gnu.org/software/c-graph/manual/c-graph.pdf.
151
152
153
154c-graph                          December 2018                      C-GRAPH(1)
Impressum