Bewley lists a versatile function for the study of experimental wave forms on page 23 of "Traveling Waves on Transmission Systems."

[**LaTeX Error:** One or more directories do not exist]

where, in general, 'E', 'a' and 'b' are complex quantities.

The versatility of this function comes from the fact that the parameters can be modified to generate many functions such as infinite rectangular, ramps, impulses, sustained sinusoids, decaying sinusoids, and so on.

In Gnuplot, complex numbers of the form 'x1+ jx2' are represented with the following structure: {x1,x2}, 'x1' being the real quantity, and 'x2' the complex.

Here's a 2d plot of a particular damped sinusoid, with paramaters E=0.5j, a=0.1-10j, b=0.1+10j:

gnuplot> plot {0,0.5}*(exp(-{0.1,-10}*x)-exp(-{0.1,10}*x))

Here's a surface plot of the same function using splot :

gnuplot> splot {0,0.5}*(exp(-{0.1,-10}*x)-exp(-{0.1,10}*x))

With some parameter tweaks we get the impulse response:

gnuplot> plot {1,0}*(exp(-{0.5,0}*x)-exp(-{2,0}*x));

Sinusoid:

gnuplot> plot {0,0.5}*(exp(-{0.0,-10}*x)-exp(-{0,10}*x));

Convex rise:

gnuplot> set xrange [0.0:100]

gnuplot> plot {1,0.0}*(exp(-{0.0,0}*x)-exp(-{0.05,0}*x));

Exponential Decay:

More complicated waveforms can be synthesized through time shifting and/or superposition:

Decaying sinusoidal time shifted by five units with a Rectangular Pulse

Decaying sinusoidal combinded with a concave rising path

It's also possible to use the windowing property of the time shifted rectangular wave combined with another waveform (an inverted pulse for instance) to simulate reflected waves on a transmission system.