昇腾社区首页
中文
注册
开发者
下载

asdConvolve

产品支持情况

硬件型号

支持情况

Atlas 200I/500 A2 推理产品

不支持

Atlas 推理系列产品

不支持

Atlas 训练系列产品

不支持

Atlas 800I A2 推理产品 / Atlas A2 训练系列产品

支持

Atlas A3 推理系列产品 / Atlas A3 训练系列产品

支持

功能描述

接口功能

asdConvolve:对给定的信号进行一维滤波操作。

计算公式

  • asdConvolve计算公式如下:

    其中,w(k)为输出的k位置的元素,u(j)为输入位置为j的一维信号,v(k-j+1)为位置为k-j+1的滤波卷积核。一维信号为复数向量,滤波卷积核为实数向量。

  • 示例:

    输入“u”为:

    [[1.+1.j 2.+2.j]
     [1.+1.j 2.+2.j]]

    输入“v”为:

     [1. 2. 3. 4.]

    调用“asdConvolve”算子后,

    输出“result”为:

    [[4.+4.j, 7.+7.j],
    [4.+4.j, 7.+7.j]]

函数原型

AspbStatus asdConvolve(const aclTensor *signal, const aclTensor *kernel, aclTensor *output, asdConvolveMode_t mode, void *stream, void *workspace)

参数说明

asdConvolve

参数名称

Input/Output

类型

描述

signal

Input

aclTensor *

输入的一维信号。

kernel

Input

aclTensor *

输入的滤波卷积核。

output

Input

aclTensor *

输出信号。

mode

Input

asdConvolveMode_t

滤波卷积模式,当前仅支持ASD_CONVOLVE_SAME,即输入和输出的向量维度保持一致。

stream

Input

void*

算子执行时的stream。

workspace

Input

void *

算子所需的Workspace指针。

返回值说明

返回值相关说明参见返回值

约束说明

asdMul

  • 支持的CANN版本为CANN8.0及以上。
  • 输入信号支持的数据类型为COMPLEX32、COMPLEX64,输入滤波卷积核支持的数据类型为FLOAT16、FLOAT32。
  • 输出支持的数据类型为COMPLEX32、COMPLEX64。
  • 算子输入信号shape为[BatchCount, n],输出shape与输入shape保持一致,输入滤波卷积核shape为[k]。

调用示例

算子的调用示例参见asdConvolve_complex32或者asdConvolve_complex64