# Fast Fourier Transform

- enum FadasFFT\_Method\_e

    - Algorithm pipeline specifying what algorithm pipeline is run by subsequent calls to [FadasFFT\_Run()](https://docs.qualcomm.com/doc/80-63309-1/topic/fast-fourier-transform.html#group__fft_1ga0e609aa42ffdf2b828b207f0bdea38b9).

- Param FADAS\_FFT\_FWD:

    - Implement FFT of a given series in the arguments provided to [FadasFFT\_Run()](https://docs.qualcomm.com/doc/80-63309-1/topic/fast-fourier-transform.html#group__fft_1ga0e609aa42ffdf2b828b207f0bdea38b9)

- Param FADAS\_FFT\_INV:

    - Implement inverse FFT of a given series in the arguments provided to [FadasFFT\_Run()](https://docs.qualcomm.com/doc/80-63309-1/topic/fast-fourier-transform.html#group__fft_1ga0e609aa42ffdf2b828b207f0bdea38b9)

- Param FADAS\_FFT\_INVSCALE:

    - Implement inverse FFT of a given series in the arguments provided to [FadasFFT\_Run()](https://docs.qualcomm.com/doc/80-63309-1/topic/fast-fourier-transform.html#group__fft_1ga0e609aa42ffdf2b828b207f0bdea38b9) and scale the points

*Values:*

- enumerator FADAS\_FFT\_FWD

    - 

- enumerator FADAS\_FFT\_INV

    - 

- enumerator FADAS\_FFT\_INVSCALE

    -

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasFFT\_Init(const char \*licenseKey)

    - Initialize FastADAS fft feature. **WARNING:** Must be called once before other FastADAS functions except [FadasVersion()](https://docs.qualcomm.com/doc/80-63309-1/topic/misc.html#group__misc_1ga55cbdff48d751f2a0227ae4ac106d746).

- Parameters:

    - **licenseKey** – Pointer to the license key string.

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasFFT\_DeInit(void)

    - Deinitialize FastADAS fft feature. **WARNING:** Must be called once after all other FastADAS functions.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasFFT\_Create([FadasFFT\_Method\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_group__fft_1ga8957d46f84e19316984a269b5707882d.html#_CPPv417FadasFFT_Method_e) method, uint32\_t maxNumPts, [FadasFFT\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_f_f_t_8h_1a9ad9cf749355bae0668d1eac5be7d36a.html#_CPPv410FadasFFT_t) \*\*phFFT)

    - Create an FFT object.

- Parameters:

    - - **method** – method to be applied on the matrix given to [FadasFFT\_Run()](https://docs.qualcomm.com/doc/80-63309-1/topic/fast-fourier-transform.html#group__fft_1ga0e609aa42ffdf2b828b207f0bdea38b9)
- **maxNumPts** – Number of points in a row of the matrix
- **phFFT** – Pointer to the handle to be populated

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasFFT\_Destroy([FadasFFT\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_f_f_t_8h_1a9ad9cf749355bae0668d1eac5be7d36a.html#_CPPv410FadasFFT_t) \*hFFT)

    - Destroy an FFT object.

- Parameters:

    - **phFFT** – Pointer to the handle to be destroyed

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasFFT\_Setup([FadasFFT\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_f_f_t_8h_1a9ad9cf749355bae0668d1eac5be7d36a.html#_CPPv410FadasFFT_t) \*hFFT, uint32\_t numPts)

    - Calculation of twiddle factors to be poputed into the FFT object.

- Parameters:

    - - **phFFT** – Pointer to the fft handle
- **numPts** – Number of points in a row of the matrix

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

- [FadasError\_e](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#_CPPv412FadasError_e) FadasFFT\_Run([FadasFFT\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_fadas_f_f_t_8h_1a9ad9cf749355bae0668d1eac5be7d36a.html#_CPPv410FadasFFT_t) \*hFFT, [FadasCompMatrixf32\_t](https://docs.qualcomm.com/doc/80-63309-1/topic/typedef_group__matrix__comp_1ga85de7611aa474ce17ac23f6f667661b0.html#_CPPv420FadasCompMatrixf32_t) \*pData)

    - Perform FFT/Inverse FFT on the matrix (with fp32 sequences) provided in pData.

- Parameters:

    - - **phFFT** – Pointer to the fft handle
- **pData** – Pointer to the matrix structure

- Returns:

    - [FADAS\_ERROR\_NONE](https://docs.qualcomm.com/doc/80-63309-1/topic/enum_fadas_8h_1a280abf443019bfc722ac1158e5fe1013.html#fadas_8h_1a280abf443019bfc722ac1158e5fe1013aea09a4171f0866f38326d7e5323f2d12) — Success.

Last Published: Sep 30, 2024

[Previous Topic
Error Correction Code](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/error-correction-code.md) [Next Topic
Filtering](https://docs.qualcomm.com/bundle/publicresource/80-63309-1/topics/filtering.md)