Static Coefficients - array size - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English

Asymmetrical FIR

Asymmetrical filters expect the port to contain the full array of coefficients, i.e. coefficient array size is equal to the TP_FIR_LEN.

Symmetrical FIR

In the case of symmetrical filters, only the first half (plus any odd centre tap) need be passed, as the remaining may be derived by symmetry.
The length of the array expected will therefore be (TP_FIR_LEN+1)/2, e.g. for a filter of length 7, where coefficients are int16:
{1, 2, 3, 5, 3, 2, 1}, 4 non-zero tap values, including the centre tap, are expected, i.e. constructor expects an argument:
std::array<int16, 4> tapsIn =  {1, 2, 3, 5}.

Half-band FIR

For half-band filters, only the non-zero coefficients should be entered, with the centre tap last in the array.
The length of the array expected will therefore be (TP_FIR_LEN+1)/4+1, e.g. for a half-band filter of length 7, where coefficients are:
{1, 0, 2, 5, 2, 0, 1}, 3 non-zero tap values, including the centre tap, are expected, i.e. constructor expects an argument:
std::array<int16, 3> tapsIn =  {1, 2, 5}.