Re: FFT - faq

From
Michael Ryazanov (2:5030/1006.64)
To
Vladimir Vassilevsky
Date
2002-12-16T23:09Z
Area
RU.ALGORITHMS
▐┤E╚°' Vladimir!

14.12 05:55 Vladimir Vassilevsky, 2:5020/175.2 -> Ilia Kantor

 NP>>> cos_ = cos(arg);
 NP>>> sin_ = sin(arg);
 IK>> Тормознутые функции.. Лучше брать значения из предварительно созданной
 IK>> таблицы.
 VV> Самый быстрый способ вычисления sin - командой сопроцессора (на 486+)

FSIN - Синус

-----------------------------------------------------------------
|Код      Команда  Число       Парал-  Описание                 |
|операции          тактовых    лельное                          |
|                  циклов      выпол-                           |
|                              нение                            |
|D9 FE    FSIN    241(193-279)   2     Замена ST его   синусом  |
-----------------------------------------------------------------

FSINCOS - Синус и косинус

-----------------------------------------------------------------
|Код      Команда  Число       Парал-  Описание                 |
|операции          тактовых    лельное                          |
|                  циклов      выпол-                           |
|                              нение                            |
|D9 FB   FSINCOS  291(243-329)   2     Вычисление синуса и      |
|                                      косинуса ST; замена ST на|
|                                      синус и затем помещение  |
|                                      косинуса в стек FPU      |
-----------------------------------------------------------------

 VV> Таблица с простейшей линейной интерполяцией - намного медленнее.

   Таблица составляется один раз -- по одному значению для каждой выборки. Потом используется без всяких интерполяций. Можно обойтись только одной четвертью для одной функции, но понадобится немного арифметики с аргументами (и смена знака результата).

                                                                      |V|uxau/\
--- -- - ·
 * Origin:             Ф И З Ф А К - Ч Е М П И О H !           (2:5030/1006.64)