exponenta event banner

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.

Примеры

свернуть все

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 и 222, MATLAB использует предварительно загруженную информацию из своей внутренней базы данных для оптимизации вычислений преобразования. Настройка не выполняется для точных степеней 2, если база данных не очищена с помощью команды fftw(wisdom,[]).

Ссылки

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

.

См. также

| | | | |

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