I am aware that the FFT of a real signal is Hermitian, i.e. $\text{FFT}(f)[i] = \text{FFT}(f)[-i]^*$, where $\text{FFT}(f)[i]$ is the i-th component of the FFT of $f$.
The logical consequence of this is that $\text{FFT}(f)[0]$ is real. Another way of seeing this is that the coefficient with index 0 is the "DC" component, or the "mean", and that this is of course real for a real signal.
Another consequence of course is that one needs to know only "half" the FFT to know it in full (i.e., it should be enough to know the coefficients number $0..N/2$, where N is the number of samples).
I was looking for a "real FFT" algorithm for my microcontroller and found the "official" ARM FFT. Of course they do it effectively, using an output of size N real numbers rather than N complex numbers, and outputing "only half the complex FFT" instead of the full (redundantly hermitian) FFT. This saves 50% space.
However I was surprised to see (in the discussion here https://github.com/ARM-software/CMSIS_5/issues/1091 ) that the FFT of the real signal actually has 2 purely real output values (at least, this is how they pack the output): the coefficient of index 0 (as expected) and also the coefficient of index N/2. I do not understand why the coefficient of index N/2 is real. Any hint why?
Details from the discussion there: "Except the first complex number that contains the two real numbers X[0] and X[N/2] all the data is complex. In other words, the first complex sample contains two real values packed."
As pointed out in comments, what I am interested in is actually some DFT properties. So that should be something like ($l$ and $k$ the DFT and function indexes, [] the "index slicing"):
$ DFT(f)[l] = \frac{1}{N} \sum_{k=0}^{N-1} f[k] e^{i 2 \pi k l / N}$