So after some more painful digging within the source code mess, I have finally decoded that:
1) The RFFT function uses inside half length CFFT call.
2) The RFFT instance structure contains a pointer (pCfft) to a "internal CFFT" structure as well, that gets initialized using the common arm_rfft_init_xxx call.
3) there are errors in the documentation regarding how to initialize these instances manually, as NO property fftLenBy2 exists within that structure:
Use of the initialization function is optional.
However, if the initialization function is used, then the instance structure
cannot be placed into a const data section. To place an instance structure
into a const data section, the instance structure should be manually
initialized as follows:
<pre>
arm_rfft_instance_q31 S = {fftLenReal, fftLenBy2, ifftFlagR, bitReverseFlagR, twidCoefRModifier, pTwiddleAReal, pTwiddleBReal, pCfft};
arm_rfft_instance_q15 S = {fftLenReal, fftLenBy2, ifftFlagR, bitReverseFlagR, twidCoefRModifier, pTwiddleAReal, pTwiddleBReal, pCfft};
Now I understand it a bit more.
How one extracts the output spectrum from thehalf length CFFT fed with just real number series?