cupyx.scipy.signal.unit_impulse#

cupyx.scipy.signal.unit_impulse(shape, idx=None, dtype=<class 'float'>)[source]#

单位冲激信号(离散狄拉克函数)或单位基向量。

参数:
  • shape (intinttuple) – 输出中的样本数(1D),或表示输出形状(ND)的元组。

  • idx (Noneintinttuple'mid', 可选) – 值为 1 的索引。如果为 None,则默认为第 0 个元素。如果 idx='mid',则冲激将位于所有维度上的 shape // 2 处。如果为 int,则冲激将位于所有维度上的 idx 处。

  • dtype (数据类型, 可选) – 数组所需的数据类型,例如 numpy.int8。默认为 numpy.float64

返回:

y – 包含冲激信号的输出数组。

返回类型:

ndarray

备注

1D 情况也称为 Kronecker delta。

示例

第 0 个元素处的冲激 (\(\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.])

偏移 2 个样本的冲激 (\(\delta[n-2]\))

>>> cupyx.scipy.signal.unit_impulse(7, 2)
array([ 0.,  0.,  1.,  0.,  0.,  0.,  0.])

二维冲激,居中

>>> cupyx.scipy.signal.unit_impulse((3, 3), 'mid')
array([[ 0.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  0.]])

在 (2, 2) 处的冲激,使用广播

>>> 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.]])