Hi everyone,
As for the FFT function:
void FFT::performFrequencyOnlyForwardTransform (float* inputOutputData) const noexcept
{
if (size == 1)
return;
performRealOnlyForwardTransform (inputOutputData);
auto* out = reinterpret_cast<Complex<float>*> (inputOutputData);
for (auto i = 0; i < size; ++i)
inputOutputData[i] = std::abs (out[i]);// After the abs, it does not bultiplied by 2
zeromem (&inputOutputData[size], sizeof (float) * static_cast<size_t> (size));
}
From the index N/2+1 to N-1, the FFT result F[index] is the Conjugate complex number of the index 1 to N/2-1. F[index] (index N/2+1 to N-1) is just the negative frequency. After get the absolute value,why it does not be multiplied by 2?
In the Tutorial: Visualise the frequencies of a signal in real time, after get the FFT result, the absolute value is still not be multiplied by 2.
why?
Best regards!