Operator FIRoperatorNxM

Operator Library: Filter

算子 FIRoperatorNxM 通过可配置的系数计算输入内核元素乘积的总和。 可以使用参数 Coefficients 定义系数。

我们来看一个例子。假设使用以下 Sobel 滤波器系数 H 来检测垂直边缘

将此滤波器应用于以下图像 I

对于位置 I(2,2) = 31 处的像素,我们在输出 O 处得到以下结果

若要生成所需的输入 kernel,请使用诸如 FIRkernelNxM、 LineNeighboursNx1 或 PixelNeighbours1xM 等 operator。

算子限制

  • ImageWidth < 2*Parallelism are not allowed

  • 不允许使用空图像,即不包含像素的图像。

  • 不允许使用空行或长度可变的行。

I/O Property

Property 值
Operator Type O
Input Link I,kernel 输入
Output Link O,数据输出

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 63] 无符号,[2, 63] 有符号 auto1
Arithmetic {unsigned, signed} auto2
Parallelism any as I
Kernel Columns any 1
Kernel Rows any 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format VAF_GRAY as I
Color Flavor FL_NONE as I
Max. Img Width any as I
Max. Img Height any as I

1

所需的输出 Bit Width 会根据输入 Bit Width、Arithmetic 和系数自动确定。

输出 Bit Width 不得超过 64 bit。

2

输出 Arithmetic 会根据输入 Arithmetic 和系数自动确定。 如果输入带符号或者至少有一个系数带符号,则输出为带符号的。

参数

Coefficients
键入 静态/动态读写参数
默认 identity
范围

此参数定义滤波器内核的系数。 允许使用有符号和无符号整数值。

如果更改了 operator 的输入 kernel 大小,系数也会随之更改。 请在更改输入 kernel 大小后检查系数。

系数的值不得导致输出 Bit Width 超过 64 bit。

CoefficientsType
键入 static 参数
默认 SIGNED
范围 SIGNED, UNSIGNED

此参数定义系数的有符号性。

它仅对动态系数进行评估。静态系数始终是有符号的。

CoefficientsMaxBits
键入 static 参数
默认 16
范围 [2, 16]

此参数定义以 bit 为单位的动态系数大小。对于静态系数,此参数无效。

减小该值可以节省资源。应将其设置为足以应对所有预期 动态系数的大小。此参数是静态的,在运行时无法更改。

ImplementationType
键入 static 参数
默认 查找表 (LUT)
范围 (AUTO, EmbeddedALU, LUT)

Parameter ImplementationType 影响算子的实现策略,即 使用哪些逻辑元素来实现该算子。

您可以选择以下值之一:

AUTO:实例化算子时,系统会根据连接链路的参数化配置 自动选择最佳实现策略。

EmbeddedALU:算子使用 FPGA 中非基于 LUT 的嵌入式算术逻辑元素。

LUT:算子使用 FPGA 的 LUT 逻辑。

[注意] 通常使用 AUTO

通常情况下,该参数应设置为 AUTO。 在特殊情况下,即设计中的某种 FPGA 资源短缺时, 您可以使用 EmbeddedALU 和/或 LUT 值手动干预 FPGA 资源管理。

使用示例

以下示例展示了算子 FIRoperatorNxM 的使用方法: