Skip to content

komm.GaussianPulse

Gaussian pulse. It is a pulse with waveform given by $$ h(t) = \mathrm{e}^{-\frac{1}{2} (2 \pi \bar{B} t)^2} $$ where the $\bar{B} = B / \sqrt{\ln 2}$, and $B$ is the half-power bandwidth of the filter. Its spectrum is given by $$ \hat{h}(f) = \frac{1}{\sqrt{2 \pi} \bar{B}} \mathrm{e}^{-\frac{1}{2} (f / \bar{B})^2}. $$

The Gaussian pulse is depicted below for $B = 0.5$, and for $B = 1$.

Gaussian pulse with half-power bandwidth of 0.5. Gaussian pulse with half-power bandwidth of 1.

Attributes:

  • half_power_bandwidth (float)

    The half-power bandwidth $B$ of the pulse. The default value is 1.0.

Examples:

>>> pulse = komm.GaussianPulse(half_power_bandwidth=0.25)
>>> pulse.waveform([-0.75, -0.50, -0.25,  0.00,  0.25,  0.50,  0.75]).round(4)
array([0.3675, 0.6408, 0.8947, 1.    , 0.8947, 0.6408, 0.3675])
>>> pulse.spectrum([-0.75, -0.50, -0.25,  0.00,  0.25,  0.50,  0.75]).round(4)
array([0.0587, 0.3321, 0.9394, 1.3286, 0.9394, 0.3321, 0.0587])