fftw

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

Описание

method = fftw('planner') возвращает метод, что быстрое преобразование Фурье функционирует fftfft2fftnifftifft2, и 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.060777 seconds.
tic; fft(X); toc;
Elapsed time is 0.000220 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
Для просмотра документации необходимо авторизоваться на сайте