# fftw

Быстрое преобразование Фурье на основе библиотеки fftw

## Последовательность вызова

    [y]=fftw(x)
                [y]=fftw(x,sign)
                [y]=fftw(x,sign,dim,incr)
                [y]=fftw(x,sign,[dim1 dim2 ...dimN],[incr1 incr2 ...incrN])

## Аргументы

y,x

  matrix/вектор вещественных/комплексных данных. Входные/выходные данные, которые должны быть преобразованы.

sign

  Целое число. 1 или -1. Устанавливает прямое или обратное преобразование.

dim

  Целое число. Устанавливает размерность (длину) преобразования.

incr

  Целое число. Устанавливает шаг (интервал) преобразования.

## Описание

Эта функция реализует прямое/обратное Дискретное Преобразование Фурье (ДПФ) с помощью библиотеки FFTW.

С помощью этой функции можно делать одномерное (вектор), двумерное, и многомерное преобразование.

За подробной информацией о синтаксисе fftw обращайтесь к функции fft Scilab'а.

За подробной информацией о библиотеке FFTW обращайтесь на вэб-сайт FFTW : http://www.fftw.org

Примечание: Функция fftw автоматически сохраняет свои последние параметры в памяти для повторного использования.

Это значительно улучшает время вычисления при выполнении последовательных вызовов.

## Примеры

    //простое одномерное прямое преобразование
    a = rand(50,1)+%i*rand(50,1);
    y = fftw(a); y = fftw(a,-1);

    //обратное преобразование
    b = fftw(y,1);

    //двумерное преобразование
    a = rand(512,512)+%i*rand(512,512);
    y = fftw(a);

    //многомерное преобразование -старая последовательность вызова-
    a = rand(120,1);
    y = a;
    dim=[5 6 4];
    incr=[1 5 30];
    for i=1:3
      y = fftw(y,-1,dim(i),incr(i));
    end

    //многомерное преобразование -новая последовательность вызова-
    //Более эффективна, чем старая
    y = fftw(a,-1,[5 6 4],[1 5 30]);
    b = fftw(y,1,[5 6 4],[1 5 30]);

## Смотрите также

- fftw_flags
- get_fftw_wisdom
- set_fftw_wisdom
- fftw_forget_wisdom

## Литература

Matteo Frigo and Steven G. Johnson, "FFTW Documentation" http://www.fftw.org/#documentation