運算子 FIRoperatorNxM

Operator Library: Filter

運算子 FIRoperatorNxM 會計算輸入核元素與可參數化 係數相乘後的總和。 這些係數可透過參數Coefficients 來定義。

讓我們來看一個例子。假設以下是用來偵測垂直邊緣的索貝爾濾波器係數 H:

此濾鏡已套用至以下這張圖片 I

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

要產生所需的輸入核心,請使用以下運算子: FIRkernelNxM、 LineNeighboursNx1 或 PixelNeighbours1xM。

Operator Restrictions

  • ImageWidth < 2*Parallelism are not allowed

  • 不允許使用空白圖片,即沒有像素的圖片。

  • 不允許出現空行或行長不一的情況。

I/O Properties

Property Value
Operator Type O
Input Link I, kernel input
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

所需的輸出位元寬度會根據輸入位元寬度、算術運算及係數自動決定。

輸出位元寬度不得超過 64 位元。

2

輸出運算方式會根據輸入運算方式及係數自動決定。 若輸入為有符號數,或至少有一個係數為有符號數,則輸出亦為有符號數。

Parameters

係數
Type static/dynamic 讀寫參數
Default 身分
Range

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

若變更運算子的輸入核大小,係數也會隨之改變。 請在變更輸入核大小後檢查係數。

係數的數值不得導致輸出位元寬度超過 64 位元。

係數類型
Type 靜態參數
Default 已簽名
Range 已簽名、未簽名

此參數用來定義係數的符號。

此計算僅針對動態係數進行評估。靜態係數則始終帶有正負號。

係數最大位元數
Type 靜態參數
Default 16
Range [2, 16]

此參數定義動態係數的位元大小。對於靜態係數,此參數不予使用。

降低此數值可節省資源。應將其設定為足以容納所有預期 動態係數的大小。此參數為靜態參數,無法在執行期間進行變更。

ImplementationType
Type 靜態參數
Default LUT
Range (AUTO, EmbeddedALU, LUT)

參數「ImplementationType」會影響運算子的實作策略,也就是 究竟會使用哪些邏輯元件來實作該運算子。

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

AUTO: 當運算子被實例化時,系統會根據所連接鏈結的參數化設定, 自動選用最佳的實作策略。

嵌入式算術邏輯單元(EmbeddedALU): 此運算子使用 FPGA 中非基於 LUT 的嵌入式算術邏輯單元。

LUT: 該運算子採用 FPGA 的 LUT 邏輯。

[注意] 一般建議使用 AUTO

通常,此參數應設定為 AUTO。 在特殊情況下,即當設計中某種 FPGA 資源不足時, 您可以透過 EmbeddedALU 和/或 LUT 的數值,手動調整 FPGA 資源管理。

Examples of Use

以下範例展示了如何使用運算子 FIRoperatorNxM: