быстрое преобразование фурье.

Тема в разделе "Общие вопросы по С и С++", создана пользователем -why-, 10 ноя 2005.

Статус темы:
Закрыта.
  1. -why-

    -why- Гость

    Привет!
    Может кто знает или писал сам быстрое преобразование Фурье с прореживанием по частоте?
    Пытаюсь сделать уже ооочень долго :-\ или может кто наметанным галзом скажет в чем ошибка:
    for (k = n-1; k >0; k--)
    {
    double Wk = (-2 * 3.14159) / (1 << k);
    for (int j = 0; j < (1 << (n-k)); j++)
    {
    for (int r = 0; r < (1 << (k - 1)); r++)
    {
    int u = j * (1 << k) + r;
    int v = u + (1 << (k - 1));

    double Wkr = Wk * r;
    double Sn = sin(Wkr);
    double Cs = cos(Wkr);

    double ReY1 = re + re[v];
    double ImY1 = im + im[v];
    double ReY2 = Cs * re - Sn * im - Cs * re[v] + Sn * im[v];
    double ImY2 = Sn * re + Cs * im - Sn * re[v] - Cs * im[v];

    re = ReY1;
    re[v] = ReY2;
    im = ImY1;
    im[v] = ImY2;



    }
    }
    }
    Буду очень благодарна :)
     
  2. ????

    ???? Гость

    Для: -why-
    глаз у меня ненамётан по этому коду ничего не подскажу
    но дам посмотреть на другой тут
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей