fftw

Задайте метод для определения Алгоритма бпф

Синтаксис

method = fftw('planner')
previous = fftw('planner',method)
fftinfo = fftw(wisdom)
previous = fftw(wisdom,fftinfo)

Описание

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.011337 seconds.
tic; fft(X); toc;
Elapsed time is 0.000117 seconds.

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

fftinfo = fftw('dwisdom');

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

fftw('dwisdom',fftinfo);

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

свернуть все

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

  • 'estimate' — Решите, что лучшее предположение преобразовывает алгоритм на основе размера проблемы.

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

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

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

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

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

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

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

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

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

Советы

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

Алгоритмы

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

Ссылки

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

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

| | | | |

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

Для просмотра документации необходимо авторизоваться на сайте