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

  • Автор темы -why-
  • Дата начала
Статус
Закрыто для дальнейших ответов.
W

-why-

Гость
#1
Привет!
Может кто знает или писал сам быстрое преобразование Фурье с прореживанием по частоте?
Пытаюсь сделать уже ооочень долго :-\ или может кто наметанным галзом скажет в чем ошибка:
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-
глаз у меня ненамётан по этому коду ничего не подскажу
но дам посмотреть на другой тут
 
Статус
Закрыто для дальнейших ответов.