47 uint16_t twidCoefModifier);
53 uint16_t twidCoefModifier,
59 uint16_t bitRevFactor,
60 uint16_t * pBitRevTab);
180 float32_t *pDst1 = &pDst[2], *pDst2 = &pDst[(4u * fftLen) - 1u];
181 float32_t *pSrc1 = &pSrc[2], *pSrc2 = &pSrc[(2u * fftLen) - 1u];
184 pCoefA = &pATable[modifier * 2u];
185 pCoefB = &pBTable[modifier * 2u];
207 outR = *pSrc1 * CoefA1;
209 outI = *pSrc1++ * CoefA2;
212 outR -= (*pSrc1 + *pSrc2) * CoefA2;
214 outI += *pSrc1++ * CoefA1;
219 outI -= *pSrc2-- * CoefB1;
221 outI -= *pSrc2 * CoefA2;
224 outR += *pSrc2-- * CoefB1;
235 pCoefB = pCoefB + (modifier * 2u);
236 pCoefA = pCoefA + ((modifier * 2u) - 1u);
242 pDst[2u * fftLen] = pSrc[0] - pSrc[1];
243 pDst[(2u * fftLen) + 1u] = 0.0f;
245 pDst[0] = pSrc[0] + pSrc[1];
273 float32_t *pSrc1 = &pSrc[0], *pSrc2 = &pSrc[(2u * fftLen) + 1u];
275 pCoefA = &pATable[0];
276 pCoefB = &pBTable[0];
295 outR = *pSrc1 * CoefA1;
298 outI = -(*pSrc1++) * CoefA2;
301 outR += (*pSrc1 + *pSrc2) * CoefA2;
304 outI += (*pSrc1++) * CoefA1;
309 outI -= *pSrc2-- * CoefB1;
312 outR += *pSrc2 * CoefB1;
315 outI += *pSrc2-- * CoefA2;
322 pCoefB = pCoefB + (modifier * 2u);
323 pCoefA = pCoefA + ((modifier * 2u) - 1u);
float float32_t
32-bit floating-point type definition.
void arm_rfft_f32(const arm_rfft_instance_f32 *S, float32_t *pSrc, float32_t *pDst)
Processing function for the floating-point RFFT/RIFFT.
Instance structure for the floating-point RFFT/RIFFT function.
uint16_t twidCoefModifier
Instance structure for the floating-point CFFT/CIFFT function.
void arm_bitreversal_f32(float32_t *pSrc, uint16_t fftSize, uint16_t bitRevFactor, uint16_t *pBitRevTab)
void arm_radix4_butterfly_inverse_f32(float32_t *pSrc, uint16_t fftLen, float32_t *pCoef, uint16_t twidCoefModifier, float32_t onebyfftLen)
uint32_t twidCoefRModifier
arm_cfft_radix4_instance_f32 * pCfft
float32_t * pTwiddleBReal
void arm_split_rifft_f32(float32_t *pSrc, uint32_t fftLen, float32_t *pATable, float32_t *pBTable, float32_t *pDst, uint32_t modifier)
Core Real IFFT process.
float32_t * pTwiddleAReal