Non-periodic signals

These records are finite-support pulses, delayed envelopes, or a single linear chirp. They do not repeat every T = 1/f, except that sweep and exponential families still use fs as the time base.

1. Sweep signal (linear chirp)

Instantaneous frequency increases linearly from f1 to f2 over the whole record. Both sliders are 20 discrete steps, each step 5 % of fs/2. The implementation requires

0 < f1 < f2 < fs / 2 (14)

With normalized time u = n / (N − 1) (or n/N in the generator) and duration Trec = N/fs, the instantaneous frequency and phase are

f(u) = f1 + (f2 − f1) u
φ(u) = 2π [ f1 u Trec + ½ (f2 − f1) u² Trec ] (15)

x[n] = A sin(φ(n)) + DC (16)

There is no middle “wave frequency” dial — only Amplitude and Sampling frequency, plus the two percentage sliders (read out in hertz).

Background: Wikipedia: Chirp.

2. Exponential signal

A delayed decaying exponential. SigGer uses the sample period

T = 2 / fs (17)

(not 1/fs). The start index is n0 = int(t0 / T) with t0 in seconds. Then

x[n] = 0    for n < n0
x[n] = A exp( − (n − n0) T / RC ) + DC    for n ≥ n0 (18)

SliderRangeConversion
Initial time instant 100 steps, 0–1000 ms t0 = (value in ms) / 1000
Exponential time constant 1000 steps, 10–1 000 000 µs RC = (value in µs) / 106

RC is the analog time constant of e−t/RC. Larger RC means slower decay. There is no waveform-frequency dial.

3. Damped sine signal

Same delay and envelope as (18), multiplied by a sinusoid whose frequency f is again Nyquist-limited. The middle dial (Sine frequency) is restored in the periodic position: Amplitude | Sine frequency | Sampling frequency.

x[n] = A e−((n−n0)T)/RC sin( 2π f (n−n0) / fs ) + DC   (n ≥ n0) (19)

For n < n0, x[n] = DC only (the oscillating part is zero). Sliders match the exponential window (milliseconds and microseconds).

4. Discrete-time exponential

A geometric sequence (the exact discrete counterpart of a sampled exponential when a = e−T/RC):

x[n] = 0    n < n0
x[n] = A · a(n − n0) + DC    n ≥ n0 (20)

SliderStepsRange
Initial sample n01000–1000 (integer index via linear mapping)
Numerical base a100−2.0 … +2.0

Negative bases use integer exponents so the sign alternates. By convention 00 = 1. If |a| > 1 the sequence grows and may overflow floating-point or saturate integers. Sampling frequency is kept for the saved file; there is no analog time-constant slider.

See Wikipedia: Geometric progression and Oppenheim & Schafer on discrete exponentials (References).

5. Exponentially damped discrete-time sinusoid

Same sliders as the discrete exponential, plus a middle dial Digital frequency ω ∈ [0, π] rad/sample (labelled rad/s on the faceplate). Sampling frequency remains on the right.

x[n] = A · a(n−n0) sin( ω (n − n0) ) + DC   (n ≥ n0) (21)

ω = π is the discrete Nyquist frequency (alternating sequence …, +1, −1, +1, … when a = 1). ω = 0 yields a non-oscillating geometric sequence (the sine factor is zero for n > n0).

Background: Normalized (digital) frequency.

6. Impulse signal

A single Kronecker impulse. The location slider has 100 steps from 0 % to 100 % of the record. The sample index is

n0 = round( (p / 100) · (N − 1) ) (22)

x[n] = A + DC   if n = n0;   DC otherwise (23)

The Initial-time slider of the exponential window is removed; the remaining slider sits on the right and is titled Location where the impulse occurs.

7. Step signal

Same window as the impulse (location 0–100 % of N), synthesizing the discrete unit step u[n − n0]:

x[n] = DC   if n < n0
x[n] = A + DC   if n ≥ n0 (24)

The slider title is Location where the step occurs.

8. Rectangular pulse signal

SliderStepsMapped quantity
Initial sample 100, 0–50 % of N n0 = round((p/100)·(N−1))
Pulse length 100, 0–100 % of N W = round((p/100)·N) samples

x[n] = A + DC   if n0 ≤ n < n0 + W
x[n] = DC         otherwise (25)

If n0 + W exceeds N, the pulse is clipped at the end of the record. W = 0 yields a constant DC.

9. Triangle pulse signal

Identical controls to the rectangular pulse. The support [n0, n0+W) is filled with an isosceles tent of peak A. With u = (n − n0) / W (and W ≥ 2),

w(u) = 2u   if 0 ≤ u < ½;   w(u) = 2(1 − u)   if ½ ≤ u < 1
x[n] = A w(u) + DC (26)

W = 1 is treated as a single impulse of height A.

10. Trapezoidal pulse signal

Based on the trapezoidal-wave window, with these changes:

ControlRole
Plateau duration (middle dial) Linear 0–90 % of N (replaces trapezoidal frequency)
Location where the pulse occurs (left slider) 100 steps, 0–50 % of N → n0
Rise time (center slider) Same 5 % steps as the wave editor; unit is % of N
Fall time (right slider) Same; rise + fall < 100 % of N

Let Nr, Np, Nf be the rise, plateau, and fall lengths in samples. Then, for k = n − n0,

rise   0 ≤ k < Nr:   x = A (k / Nr) + DC
plateau   Nr ≤ k < Nr+Np:   x = A + DC
fall   next Nf samples:   x = A (1 − kfall/Nf) + DC
else:   x = DC (27)

Segments that run past N − 1 are clipped. A zero rise or fall makes that edge instantaneous.