mindspore.numpy.correlate
- mindspore.numpy.correlate(a, v, mode='valid')[source]
Cross-correlation of two 1-dimensional sequences.
This function computes the correlation as generally defined in signal processing texts:
\(c_{av}[k] = sum_n a[n+k] * conj(v[n])\)
with a and v sequences being zero-padded where necessary and conj being the conjugate.
Note
Currently, complex numbers are not supported.
- Parameters
mode (str, optional) – By default, mode is ‘valid’. If mode is ‘valid’, it returns output of length \(max(M, N) - min(M, N) + 1\). The convolution product is only given for points where the signals overlap completely. Values outside the signal boundary have no effect. If mode is ‘full’, it returns the convolution at each point of overlap, with an output shape of \((N + M - 1,)\). At the end-points of the convolution, the signals do not overlap completely, and boundary effects may be seen. If mode is ‘same’, it returns output of length \(max(M, N)\). Boundary effects are still visible.
- Returns
Tensor. Discrete cross-correlation of a and v.
- Raises
TypeError – if the inputs can not be converted to tensor.
ValueError – if a and v are empty or have wrong dimensions
- Supported Platforms:
GPU
Examples
>>> import mindspore.numpy as np >>> output = np.correlate([1, 2, 3], [0, 1, 0.5]) >>> print(output) [3.5] >>> output = np.correlate([1, 2, 3], [0, 1, 0.5], mode="same") >>> print(output) [2. 3.5 3. ] >>> output = np.correlate([1, 2, 3, 4, 5], [1, 2], mode="same") >>> print(output) [ 2. 5. 8. 11. 14.]