SignalProcessing.Compute.Generate.Pulse

This node generates different types of pulses. The type of pulse can be selected via the type input slot:

  • Type = 0: Rectangular pulse
  • Type = 1: Gauss pulse
  • Type = 2: Triangle pulse
  • Type = 3: Sinc pulse
  • Type = 4: Hamming window puls
  • Type = 5: Blackman window puls
  • Type = 6: Von-Hann window puls
  • Type = 7: Lanczos window puls
  • Type = 8: Rectangular pulse (strict version)

In the following, $N$ denotes the length of the signal, $A$ the amplitude, $P$ the pulse length, and $M$ the offset.

The center $C$ of the generated pulse $\mathrm{x}[n]$ is located at $C=\mathrm{floor}(N/2.0)$.

If $M$ is not zero, the signal is shifted by the given value. Thereby it is assumed that the signal is periodic in $N$, which results in the shifted signal $\mathrm{x}'[n] = \mathrm{x}[n - M \bmod N]$.

For convience, the offset $M$ can be set automatically using the alignment slot:

  • Alignment = 0: center (no change in $M$)
  • Alignment = 1: origin
  • Alignment = 2: left
  • Alignment = 3: right

Rectangular Pulse

pulse_rect
The generated signal is computed by:
$\mathrm{x}[n] = \begin{cases} A & \,\,:\,\, |n - C| \le P/2.0 \\ 0 & \,\,:\,\, |n - C| > P/2.0 \\ \end{cases} \quad \quad \forall \,\, n \in [0;N-1]$

Gauss Pulse

pulse_gauss
The generated signal is computed by:
$\mathrm{x}[n] = A \, e^{- 0.5 \, (n-C)^2 / \sigma^2} \quad \forall \,\, n \in [0;N-1]$
The standard deviation of the Gaussian puls is $\sigma=P/2.0$.

Triangle Pulse

pulse_triangle
The generated signal is computed by:
$\mathrm{x}[n] = \begin{cases} A \, \left(1.0 - 2.0 \, (n-C) / P\right) & \,\,:\,\, |n-C| \le P/2.0 \\ 0 & \,\,:\,\, |n-C| > P/2.0 \\ \end{cases} \quad \forall \,\,n \in [0;N-1]$

Sinc Pulse

pulse_si
The generated signal is computed by:
$\mathrm{x}[n] = \begin{cases} A \, \frac{\sin(m)}{m} & \,\,:\,\, m \ne 0 \\ A & \,\,:\,\, m = 0 \\ \end{cases} \quad \forall \,\, n \in [0;N-1]$
with $m = 2.0 \, \pi \, (n - C) / P$

Hamming Window Pulse

pulse_hamming
The generated signal is computed by:
$\mathrm{x}[n] = \begin{cases} A \, \left(0.54 - 0.46 \, \cos(q)\right) & \,\,:\,\, |n-C| \le P/2.0 \\ 0 & \,\,:\,\, |n-C| > P/2.0 \\ \end{cases} \quad \forall \,\, n \in [0;N-1]$
with $q = 2.0 \, \pi \, (n-C) / P + \pi$

Blackman Window Pulse

pulse_blackman
The generated signal is computed by:
$\mathrm{x}[n] = \begin{cases} A \, \left(0.42 - 0.5 \, \cos(q) + 0.08 \, \cos(2.0 \, q)\right) &:\,\, |n-C| \le P/2.0 \\ 0 &:\,\, |n-C| > P/2.0 \\ \end{cases}$
$\forall \,\, n \in [0;N-1]$ with $q = 2.0 \, \pi \, (n-C) / P + \pi$

Von-Hann Window Pulse

pulse_vonhann
The generated signal is computed by:
$\mathrm{x}[n] = \begin{cases} \frac{A}{2.0} \left(1 + \cos(m)\right) &\,\,:\,\, |n-C| \le P/2.0 \\ 0 &\,\,:\,\, |n-C| > P/2.0 \\ \end{cases} \quad \forall \,\, n \in [0;N-1]$
with $m = 2.0 \, \pi \, (n - C) / P$

Lanczos Window Pulse

pulse_lanczos
The generated signal is computed by:
$\mathrm{x}[n] = \begin{cases} A \, \frac{\sin(m)}{m} &\,\,:\,\, 0 < &|n-C| \le P/2.0 \\ A &\,\,:\,\, &|n-C| = 0 \\ 0 &\,\,:\,\, &|n-C| > P/2.0 \\ \end{cases} \quad \forall \,\, n \in [0;N-1]$
with $m = 2.0 \, \pi \, (n - C) / P$

Rectangular Pulse (Strict Version)

pulse_rectstrict
This strict version of the rectangular pulse includes a special treatment of the case $|n - C| = P/2.0$.
The generated signal is computed by:
$\mathrm{x}[n] = \begin{cases} A & \,\,:\,\, |n - C| < P/2.0 \\ 0.5 \, A& \,\,:\,\, |n - C| = P/2.0 \\ 0 & \,\,:\,\, |n - C| > P/2.0 \\ \end{cases} \quad \quad \forall \,\, n \in [0;N-1]$
The advantage is that the average pulse length is exactly $P$ and can not be off by one as in the simpler version.