Как работает бит-реверс в имплементации Stockham FFT - PullRequest
0 голосов
/ 11 марта 2019

В документе из MSR приведен код ниже для расчета БПФ:

FFT_Rows(x, y, N, Ns, input)
{
    base = floor(x / Ns) * (Ns / 2);
    offset = x mod(Ns / 2);
    x0 = base + offset;
    x1 = x0 + N / 2;
    (Re0, Im0) = input[x0][y];
    (Re1, Im1) = input[x1][y];
    angle = -2 * M_PI * (x / Ns);
    (ReT, ImT) = (cos(angle), sin(angle));
    return (Re0 + ReT * Re1 - ImT * Im1,
        Im0 + ImT * Re1 + ReT * Im1);
}

как работают base и offset в реализации GPU? Я думаю, base + offset выполняет работу по обращению бит, но я не мог понять, как она работает;

...