Система MathCAD Plus 6.0 Pro




Система MathCAD Plus 6.0 Pro - стр. 357


Если некоторая временная функция f(t) задана рядом отсчетов, переход от нее к параметрам ряда Фурье (амплитудам и фазам гармоник) называется прямым преобразованием Фурье, а обратный переход -- обратным преобразованием Фурье. К сожалению, эти переходы связаны с вычислениями интегралов, подынтегральные функции которых быстро осциллируют (т. е. приобретают колебательный характер), что существенно затрудняет вычисление таких интегралов с заданной точностью и ведет к значительным затратам времени.

Поэтому были разработаны специальные методы быстрого преобразования Фурье (БПФ). К сожалению, сложность этого процесса не позволяет детально описать его в настоящей книге. Отослав читателя к специальной литературе [10, 14], займемся описанием функций, реализующих прямое и обратное БПФ в системе MathCAD. Они предоставляют возможность проводить указанные преобразования для данных в виде векторов с действительными и комплексными числами.

fft(V)

Эта функция выполняет прямое БПФ (ее название происходит от слов Fast Fourier Transform -- быстрое преобразование Фурье) для данных, представленных действительными числами -- значениями исходного вектора V. Однако при этом вектор V должен иметь 2n составляющих, где n -- целое число. Если число составляющих иное, функция отказывается от быстрого преобразования и вычисляет прямое преобразование Фурье гораздо медленнее.

cfft(A)

Эта функция аналогична предыдущей, но реализует прямое преобразование Фурье для вектора A с комплексными элементами. Если A -- матрица, реализуется  двумерное преобразование. Введение функции fft(V) обусловлено тем, что преобразование для векторов с действительными элементами реализуется по более быстрому алгоритму (БПФ) и занимает меньше времени (при числе отсчетов, соответствующем 2n, где n -- целое число). В этом случае более прост и ввод исходных данных.

Перейдем к обратному БПФ. Функция

ifft(V)

реализует обратное (инверсное) преобразование Фурье для вектора V с комплексными элементам. Вектор V здесь имеет 2m+1 элементов. Функция возвращает вектор D с действительными элементами.




Содержание  Назад  Вперед