Edge AI Add-on API 2.3.0
Loading...
Searching...
No Matches

◆ nrf_axon_fft_power_24()

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.

Parameters
in_ptr32bit aligned pointer to the complex input. length=2*(1<<length_log2)
out_ptr32bit aligned pointer to the output.. length=(1<<length_log2). output can overlap input.
length_log2number of complex numbers log2.
half_outputtrue if only the 1st half of the fft output should be written (ie, below nyquist frequency)
rounding_bitsAny additional rounding that should be performed on the output.
block_moderecommnended to be set to NRF_AXON_SYNC_MODE_BLOCKING_POLLING.
keep_reservationset 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.
Returns
kAxonResultSuccess on success or a negative error code (see nrf_axon_result_e)