Operator FIRoperatorNxM

Operator Library: Filter

Operator FIRoperatorNxM 會計算輸入 kernel 元素乘積的總和,並帶有可配置的係數。 係數可以使用參數 Coefficients 來定義。

讓我們來看一個範例。假設有以下用於偵測垂直邊緣的 Sobel 濾波器係數 H

此濾波器會套用到以下影像 I

對於位置 I(2,2) = 31 的像素,我們在輸出 O 得到以下結果

若要產生所需的輸入 kernel,請使用諸如 FIRkernelNxM、 LineNeighboursNx1 或 PixelNeighbours1xM 的 operator。

算子限制

  • ImageWidth < 2*Parallelism are not allowed

  • 不允許使用空白影像,亦即不含像素的影像。

  • 不允許空白行或可變的行長度。

I/O Properties

Property Value
Operator Type O
Input Link I,核心輸入
Output Link O, data output

支援的 Link 格式

Link Parameter Input Link I Output Link O
Bit Width [1, 63] 無符號,[2, 63] 有符號 自動1
Arithmetic {unsigned, signed} 自動2
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
Type static/dynamic read/write parameter
Default identity
Range

此參數定義濾波器 kernel 的係數。 允許使用有符號與無符號整數值。

如果 operator 的輸入 kernel 大小改變,係數也會隨之改變。 變更輸入 kernel 大小後請檢查係數。

係數值不得導致輸出 Bit Width 超過 64 bit。

CoefficientsType
Type static parameter
Default SIGNED
Range SIGNED, UNSIGNED

此參數定義係數的有符號性。

它僅適用於動態係數。靜態係數一律為有符號。

CoefficientsMaxBits
Type static parameter
Default 16
Range [2, 16]

此參數以位元為單位定義動態係數的大小。對於靜態係數,此參數不會被使用。

減少此值可以節省資源。應將其設為足以應付所有預期動態係數的大小。 此參數為靜態參數,在執行階段無法變更。

ImplementationType
Type static parameter
Default LUT
Range (AUTO, EmbeddedALU, LUT)

參數 ImplementationType 會影響 operator 的實作策略,亦即 使用哪些邏輯元素來實作 operator。

您可以選擇以下其中一個值:

AUTO: 當具現化 operator 時,會根據所連接 link 的參數化設定, 自動選擇最佳的實作策略。

EmbeddedALU:此運算子使用 FPGA 中非基於 LUT 的內嵌算術邏輯元素。

LUT:此運算子使用 FPGA 的 LUT 邏輯。

[備註] 一般情況下請使用 AUTO

通常此引數應設為 AUTO。在特殊情況下,例如設計中的某種 FPGA 資源不足時,您可以手動使用 EmbeddedALU 和/或 LUT 值來影響 FPGA 資源管理。

使用範例

以下範例顯示了 FIRoperatorNxM 運算子的使用方式: