【发布时间】:2016-06-12 14:26:24
【问题描述】:
我想使用portaudio 和fftwpp 分析从我的麦克风端口获得的信号。为此,我遵循了here 提供的解释。我现在的问题是:
那里说我应该从传入的数据中分块一个窗口。我的数据已经被分块了,我只记录了很短的时间,然后处理它。因此,我假设一个矩形窗口已经应用于我的数据。对吗?
现在我得到了 200k 个数据点,我是否应该直接将它们放入数组中:
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];
或者我应该把它们分开吗?如果我都将它们放在一个数组中,那么我会得到哪种分辨率?我的采样率设置为 44.1 kHz。
【问题讨论】:
标签: c++ audio fft fftw portaudio