FIR filters expect the port to contain the full array of coefficients, i.e. coefficient array size is equal to the TP_FIR_LEN
.
In the case of symmetrical filters, the size of each port will be dependent on the underlying kernel structure Asymmetric FIR.
As a result, deriving symmetric coefficients from the argument passed to graph’s update() method is not available.
The length of the array expected will therefore be
(TP_FIR_LEN)
,e.g. for a filter of length 7, where
int16
type coefficient’s values are:{1, 2, 3, 5, 3, 2, 1}
,7 non-zero tap values, including the centre tap, are expected, i.e. update() method should get an argument:
int16 tapsIn[7] = {1, 2, 3, 5, 3, 2, 1}
.A helper function:
convert_sym_taps_to_asym
is provided in the Graph utils to ease converting taps array to the required format.