Основы работы с системой MathCAD 7.0

       

Функции прямого и обратного преобразований Фурье


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

Прямое преобразование Фурье

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

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

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

Функция cfft(A)

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


Обратное преобразование Фурье
Перейдем к обратному БПФ. Функция ifft(V) реализует обратное (инверсное) преобразование Фурье для вектора V с комплексными элементами. Вектор V здесь имеет 2m+ l элементов. Функция возвращает вектор D с действительными элементами.
Функция cifft(B) выполняет обратное преобразование Фурье по полному алгоритму, при котором как исходный, так и результирующий векторы или матрицы содержат элементы с комплексными значениями. Если задана матрица В, реализуется двумерное обратное преобразование Фурье. Заметим, что в ранних версиях эта возможность отсутствовала, но могла быть реализована (хотя и более сложным путем) с помощью одномерного БПФ.
Примеры на преобразование Фурье
На рис. 11.38 показано в комплексном виде прямое преобразование Фурье, а затем обратное. При этом преобразованный вектор полностью совпадает с исходным.


Рис. 11.38 Прямое и обратное преобразования Фурье для векторов с комплексными коэффициентами




Рис. 11.39 Применение БПФ для спектрального разложения и синтеза прямоугольного импульса
Техника проведения БПФ на примере разложения прямоугольного импульса и последующего его синтеза с помощью ряда Фурье с ограниченным (k-10) числом гармоник показана на рис. 11.39. Здесь исходный вектор задан с элементами действительного типа и используются функции fft и ifft.
БПФ широко применяется при решении задач фильтрации сигналов или аппроксимации функций. При ограниченном числе гармоник приближение функции тригонометрическим рядом Фурье обеспечивает наименьшую среднеквадратичную погрешность, если при этом используется БПФ.
Функции альтернативного преобразования Фурье
Помимо описанных функций MathCAD содержит ряд функций альтернативного преобразования Фурье. Они записываются прописными буквами: FFT, IFFT, CFFT и ICFFT. При альтернативном преобразовании используются иные нормирующие множители. Выражения, определяющие суть преобразований Фурье, можно легко найти в справочной базе данных системы (поэтому здесь они не приводятся).
Функции волновых дискретных преобразований
В системы MathCAD 6.0/7.0 включены еще две функции дискретных волновых преобразований:
Ф wave(V) — дискретное волновое преобразование действительных чисел с использованием четырехкоэффициентного волнового базиса Даубечи. Вектор V должен содержать 2" действительных значений, где п -
целое число;
Ф iwave(V) — обратное преобразование относительно преобразования wave
(V — вектор размером 2").
Это довольно редкие функции, представляющие интерес для специалистов — разработчиков электронных фильтров.

Содержание раздела