![]() |
Edge AI Add-on API 2.3.0
|
| nrf_axon_result_e nrf_axon_fft_power_24 | ( | const int32_t * | in_ptr, |
| int32_t * | out_ptr, | ||
| uint16_t | length_log2, | ||
| bool | half_output, | ||
| uint8_t | rounding_bits, | ||
| nrf_axon_syncmode_blocking_e | block_mode, | ||
| bool | keep_reservation ) |
#include <include/drivers/axon/nrf_axon_dsp_intrinsics.h>
Performs a 24bit (unpacked) complex FFT, then sums the squares of the complex coefficients, and divides by fft length. complex numbers are stored in pairs, real component, imaginary component. length_log2 is log2(fft length). (ie, fft length=1<<length_log2). For a real FFT, imaginary coefficients must be set to 0.
| in_ptr | 32bit aligned pointer to the complex input. length=2*(1<<length_log2) |
| out_ptr | 32bit aligned pointer to the output.. length=(1<<length_log2). output can overlap input. |
| length_log2 | number of complex numbers log2. |
| half_output | true if only the 1st half of the fft output should be written (ie, below nyquist frequency) |
| rounding_bits | Any additional rounding that should be performed on the output. |
| block_mode | recommnended to be set to NRF_AXON_SYNC_MODE_BLOCKING_POLLING. |
| keep_reservation | set to true if there are subsequent axon operations to execute immediately on completion. true prevents axon from be taken by another user and/or being powered off. Set to false if axon will not be used immediately after to free axon for other users and/or power down if idle. |