cupyx.scipy.signal.unit_impulse#
- cupyx.scipy.signal.unit_impulse(shape, idx=None, dtype=<class 'float'>)[source]#
Unit impulse signal (discrete delta function) or unit basis vector.
- Parameters:
shape (int or tuple of int) – Number of samples in the output (1-D), or a tuple that represents the shape of the output (N-D).
idx (None or int or tuple of int or 'mid', optional) – Index at which the value is 1. If None, defaults to the 0th element. If
idx='mid'
, the impulse will be centered atshape // 2
in all dimensions. If an int, the impulse will be at idx in all dimensions.dtype (data-type, optional) – The desired data-type for the array, e.g.,
numpy.int8
. Default isnumpy.float64
.
- Returns:
y – Output array containing an impulse signal.
- Return type:
Notes
The 1D case is also known as the Kronecker delta.
Examples
An impulse at the 0th element (\(\delta[n]\)):
>>> import cupyx.scipy.signal >>> import cupy as cp >>> cupyx.scipy.signal.unit_impulse(8) array([ 1., 0., 0., 0., 0., 0., 0., 0.])
Impulse offset by 2 samples (\(\delta[n-2]\)):
>>> cupyx.scipy.signal.unit_impulse(7, 2) array([ 0., 0., 1., 0., 0., 0., 0.])
2-dimensional impulse, centered:
>>> cupyx.scipy.signal.unit_impulse((3, 3), 'mid') array([[ 0., 0., 0.], [ 0., 1., 0.], [ 0., 0., 0.]])
Impulse at (2, 2), using broadcasting:
>>> cupyx.scipy.signal.unit_impulse((4, 4), 2) array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 1., 0.], [ 0., 0., 0., 0.]])