В Mathcad входят два типа функций для дискретного преобразования Фурье: fft/ifft и cfft/icfft . Эти функции дискретны: они берут в качестве аргументов и возвращают векторы и матрицы. Они не могут быть использованы с другими функциями.
Используйте функции fft и ifft, если выполнены следующие два условия:
· аргументы вещественны, и
· вектор данных имеет 2m элементов.
Используйте функции cfft и icfft во всех других случаях. Первое условие необходимо, потому что функции fft/ifft используют тот факт, что для вещественных данных вторая половина преобразования Фурье является комплексно сопряженной с первой. Mathcad отбрасывает вторую половину вектора-результата. Это сохраняет и время и память при вычислениях.
Пара функций cfft/icfft не использует симметрию в преобразовании. По этой причине необходимо использовать их для комплексных данных. Так как вещественные числа — подмножество комплексных чисел, можно также использовать пару cfft/icfft для вещественных чисел.
Второе условие требуется, потому что пара функций fft/ifft использует высоко эффективный алгоритм быстрого преобразования Фурье. Для этого вектор аргумента, используемого с fft, должен иметь 2m элементов. В функциях сfft/icfft использован алгоритм, который допускает в качестве аргументов как матрицы, так и векторы произвольного размера. Когда эта пара функций используется с матрицей в качестве аргумента, вычисляется двумерное преобразование Фурье.
Обратите внимание, что, если использована функция fft для прямого преобразования, необходимо использовать функцию ifft для обратного. Аналогично, если для прямого преобразования использована cfft, то для обратного необходимо использовать icfft.
Различные формулировки определения преобразования Фурье используют различные нормировочные коэффициенты и соглашения о знаке перед мнимой единицей в показателе экспоненты прямого и обратного преобразований. Функции fft, ifft, cfft и icfft используют 1/ как нормировочный коэффициент и положительный показатель степени в прямом преобразовании. Функции FFT, IFFT, CFFT и ICFFT используют 1/N как нормировочный коэффициент и отрицательный показатель степени в прямом преобразовании. Необходимо использовать эти функции попарно. Например, если используется CFFT в прямом преобразовании, необходимо использовать ICFFT в обратном.