I want to analyze a signal I get from my microphone port by using portaudio
and fftwpp
. For that I followed the explanation provided here. My questions concerning that are now:
There it is stated that I should chunk a window out of the incoming data. My data is already chunked, after I am only recording for a short time, and afterwards process it. Thus I am assuming that a rectangular window is already applied to my data. Is that correct?
Now I am getting 200k data points, should I directly put them into an array:
Array::array1<Complex> F(np,align);
Array::array1<double> f(n,align); // For out-of-place transforms
// array1<double> f(2*np,(double *) F()); // For in-place transforms
fftwpp::rcfft1d Forward(n,f,F);
fftwpp::crfft1d Backward(n,F,f);
qDebug() << "Putting " << numSamples << " into an array!";
for(int i = 0; i < numSamples; i++)
f[i] = this->data.recordedSamples[i];
or should I split them up? If I all put them in one array, which resolution do I get then? My sample rate is set to 44.1 kHz.