Coded in modern Fortran, GNU C-Graph demonstrates the theory of convolution underlying engineering systems and signal analysis. "C-Graph" is an abbreviation for "Convolution Graph".
Unlike other signal processing packages, C-Graph dispenses with the learning curve for writing code. Instead, an interactive dialogue guides the user to effortlessly select values for keyboard input.
Designed to enhance the learning experience, C-Graph features an attractive array of scalable pulses, periodic, and aperiodic signal types of variable frequency fundamental to the study of systems theory. The package displays the spectra of any two waveforms chosen by the user, computes their linear convolution, then compares their circular convolution according to the convolution theorem. Each signal is modelled by a register of N discrete values (samples), and the discrete Fourier Transform (DFT) computed by the Fast Fourier Transform (FFT).
Students of signal and systems theory will find GNU C-Graph to be of value in visualizing convolution.
GNU C-Graph is derived from the BSc. Honours dissertation in Electrical Engineering "Interactive Computer Package Demonstrating: Sampling Convolution and the FFT", Adrienne Gaye Thompson, University of Aberdeen (1983).
Adrienne - who is sole author of the dissertation - reproduced its Fortran 77 program in modern Fortran. She donated C-Graph to GNU realising that the package's usefulness could be enjoyed globally.
Download C-Graph from the main GNU ftp server: http://ftp.gnu.org/gnu/c-graph/ via HTTP or, ftp://ftp.gnu.org/gnu/c-graph/ by FTP. C-Graph can also be found on the GNU mirrors. Please use a mirror when possible.
C-Graph is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Documentation for C-Graph is available online, as is documentation for most GNU software. You may also find more information about C-Graph by running info c-graph or by looking at /usr/doc/c-graph/, /usr/local/doc/c-graph/, or similar directories on your system. A brief summary is available by running c-graph --help.
The mailing list for C-Graph is:
As with all GNU packages, development of C-Graph is a volunteer effort. Contributions from other developers are welcome; join the mailing list (see above).
At the moment, C-Graph author and maintainer Adrienne Gaye Thompson is the sole member of the development team. We are recruiting developers; please join us via the mailing lists.
C-Graph is dedicated to all victims of apartheid, and to Haitian-Bahamian attorney-at-law and human rights advocate, Eliezer Regnier, who died as a result of the struggle for justice.
Please see the Translations README for information on coordinating and submitting translations for C-Graph.