To aid the construction of signals with predetermined properties, the scipy.signalmodule has a nice collection of the most frequent one-dimensional waveforms in the literature—chirp and sweep_poly (for the frequency-swept cosine generator), gausspulse (a Gaussian modulated sinusoid), and sawtooth and square (for the waveforms with those names).
They all take as their main parameter a one-dimensional ndarray representing the times at which the signal is to be evaluated. Other parameters control the design of the signal according to frequency or time constraints.
Let's take a look into the following code snippet that illustrates the use of these one-dimensional waveforms that we just discussed: