10.1.15.3 FIR Filter Parameter Description
The following table describes all the parameters of an FIR Filter.
| Parameter | Value | Function |
|---|---|---|
| D_WIDTH | 3 .. 16 | Input Data Width |
| O_WIDTH | 3 .. 64 | Output Data Width |
| TAPS | 3 .. 64 | Number of time taps |
| CLK_EDGE | RISEFALL | Clock sensitivity |
| CLR_POLA | 2 0 1 | None, active high, active low |
| PREC | Internal precision | |
| INSERT_PAD | NO YES | Pad insertion |
| INSERT_IOREG | NO YES | Register inputs and outputs |
| C1 … C32 | 0 .. 2C_WIDTH | Two's-Complement coefficients (integers) |
The output width O_WIDTH has no impact on the filter size. Internally, the core configurator software always uses the maximum precision filter unless specified otherwise using the internal precision parameter PREC. If you set O_WIDTH to 0, the software uses the maximum output resolution (MAX_RES). For values of O_WIDTH greater than MAX_RES, the result is sign-extended. For values of O_WIDTH smaller than MAX_RES, the software cuts some of the lower bits. An upper estimate for MAX_RES is
MAX_RES ≤ 2 × D_WIDTH + [log2(TAPS)]
For example, a 12-tap filter with 8-bit data and coefficients might yield up to (8 + 8 + 4) bits = 20-bit output resolution.
The coefficients C1 to C16 are positive integers, which are interpreted as Two's-Complement numbers. That means 0 to 2C_WIDTH-1-1 are considered positive, and 2C_WIDTH-1-1 to 2C_WIDTH-1 are interpreted as negative numbers.
Only unique coefficients need to be specified properly; all other coefficients need to be set to any value, for example, '0'. An N-tap filter requires (N / 2) + (N % 2) unique coefficients.
Only unique coefficients need to be specified properly; all other coefficients need to be set to any value, for example, '0'. An N-tap filter requires (N / 2) + (N % 2) unique coefficients.
