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

Была ли эта тема полезной?