"FIR" => "Finite Impulse Response" filter. Filter coefficients are MAC'd with the input in reverse order. ie, for filter length F, output x[n] = input[n-F]*filter[F-1] + input[n-F-1]*filter[F-2]+...input[n-1]*filter[0]. The filter output starts at outptr+ filter_length. out_ptr[0..filter_length-1] are written to but should be discarded.
- Parameters
-
| in_ptr | pointer to the input, 24bit integer sign-extended to 32bits. |
| input_length | length of the input (in elements). Must be a multiple of 4, maximum of 1024, and be at least 4 greater than filter_length |
| filter_ptr | pointer to the filter coefficients, 24bit integer sign-extended to 32bits. |
| filter_length | length of the filter (in elements). Must be a at least 12, a multiple of 4 and the last coefficient must be 0. 0 pad as necessary to meet these requirements. |
| rounding_bits | number of bits to round the output by. |
| out_ptr | pointer to the output, int24 sign-extended to 32bits. 1st valid output starts at offset filter_length. Output can overlap/overwrite input. |
- Returns
- kAxonResultSuccess on success or a negative error code (see nrf_axon_result_e)