fftw

Задайте метод для определения алгоритма БПФ

Описание

method = fftw('planner') возвращает метод, который выполняет быстрое преобразование Фурье fft, fft2, fftn, ifft, ifft2, и ifftn используется для определения алгоритма преобразования. Метод по умолчанию 'estimate', который определяет алгоритм на основе размера данных.

пример

previous = fftw('planner',method) устанавливает метод и опционально возвращает предыдущий метод. Для примера, fftw('planner','measure') выбирает самый быстрый алгоритм на основе размера и типа данных.

пример

fftinfo = fftw(wisdom) возвращает оптимальные параметры преобразования, установленные в текущем MATLAB® сеанс для точности, заданной в wisdom. Для примера, fftinfo = fftw('dwisdom') сохраняет текущие параметры преобразования двойной точности.

пример

previous = fftw(wisdom,fftinfo) применяет параметры в fftinfo в алгоритм преобразования для точности, заданной в wisdom.

Примеры

свернуть все

The fftw функция может улучшить эффективность функций преобразования Фурье путем попытки оптимизировать расчеты на основе размера и типа данных.

Очистите все существующие параметры преобразования двойной точности.

fftw('dwisdom',[]);

Установите метод оптимизации преобразований Фурье в текущем сеансе MATLAB ® равным 'measure'.

fftw('planner','measure');

Задайте случайный вектор и используйте fft функция для вычисления преобразования Фурье. fft использует алгоритм, который пытается оптимизировать расчеты для преобразования 500 на 1. Первый вызов в fft может быть медленнее, чем обычно, но последующие вызовы будут значительно быстрее.

X = rand(500,1);
tic; fft(X); toc;
Elapsed time is 0.055552 seconds.
tic; fft(X); toc;
Elapsed time is 0.000138 seconds.

Присвойте текущие параметры алгоритма преобразования двойной точности переменной fftinfo для дальнейшего использования.

fftinfo = fftw('dwisdom');

Примените информацию о параметре, хранящуюся в переменной fftinfo к будущим вызовам функций преобразования.

fftw('dwisdom',fftinfo);

Входные параметры

свернуть все

Метод настройки параметров преобразования, заданный как один из следующих:

  • 'estimate' - Определите алгоритм наилучшего преобразования на основе размера задачи.

  • 'measure' - Найдите лучший алгоритм путем вычисления нескольких преобразований и измерения времени запуска.

  • 'patient' - Запустите более широкую область значений проверки по сравнению с 'measure', что приводит к лучшему алгоритму преобразования, но за счет более высоких вычислительных затрат для определения параметров.

  • 'exhaustive' - Запускает все тесты, включая те, которые вряд ли будут оптимальными, что приводит к лучшему алгоритму, но с самой высокой вычислительной стоимостью для определения параметров.

  • 'hybrid' - Использовать комбинацию 'measure' для преобразований с длиной размерности 8192 или меньше и 'estimate' для преобразований с длиной размерности более 8192.

Типы данных: char | string

Точность параметра преобразования, заданная как 'swisdom' или 'dwisdom'. Опция 'swisdom' задает параметры преобразования для одноточных расчетов и 'dwisdom' задает параметры для расчетов с двойной точностью.

Типы данных: char

Параметры преобразования, заданные как символьный массив параметров преобразования, возвращаемых fftw(wisdom) или пустой массив []. Пустой массив [] очищает базу данных.

Типы данных: char

Совет

  • Параметры преобразования, возвращенные fftw Наиболее полезны при сохранении и применении на одном компьютере, используя ту же версию MATLAB каждый сеанс. Передача сохраненных параметров между компьютерами может привести к снижению эффективности, даже если оба компьютера имеют одинаковую операционную систему и версию MATLAB.

Алгоритмы

  • Для длин преобразования, которые являются степенями 2 между 214 и 222MATLAB использует предварительно загруженную информацию из своей внутренней базы данных, чтобы оптимизировать расчет преобразования. Настройка не выполняется для точных степеней 2, если вы не очистите базу данных с помощью команды fftw(wisdom,[]).

Ссылки

Расширенные возможности

.

См. также

| | | | |

Представлено до R2006a