Я пытаюсь выполнить БПФ на iPhone и понял, что не перекрывал свой ввод до оконного режима. Мне было интересно, может ли кто-нибудь дать мне некоторое представление о том, как правильно перекрывать мой входной буфер.
Я хочу перекрыть bufferSamples в 4 раза, и я понимаю, что это нужно сделать с помощью функций memove, но я не могу понять, как заставить его работать в отношении перекрытия.
enum
{
frameSize = 2048,
overlap = 4,
range = 8192,
step = frameSize/overlap,
};
static COMPLEX_SPLIT A;
// For each sample in buffer...
for (int j = 0; j < audioBufferList.mNumberBuffers; j++)
{
// Declaring samples from audio buffer list
SInt16 *bufferSamples = (SInt16*)audioBufferList.mBuffers[j].mData;
// Overlapping here?
////////////////////////
//// vDSP FUNCTIONS ////
////////////////////////
// Creating Hann window function
for (int i = 0; i < frameSize; i++)
{
double window = 0.5 * (1.0 - cos((2.0 * M_PI * i) / (frameSize - 1)));
// Applying window to each sample
A.realp[i] = window * bufferSamples[i];
A.imagp[i] = 0;
}
// Further DSP...