Введение ...................................................................................... 1
Дискретное преобразование Фурье……………………………………..6
Быстрое преобразование Фурье………………………………………7
БПФ с прореживанием по времени…………………………………….8
Процедура объединения. Граф «Бабочка»…………………………14
Алгоритм с замещением………………………………………………..15
БПФ с прореживанием по частоте…………………………………….18
Обратное быстрое преобразование Фурье……………………………20
Описание создания программы………………………………………..23
Программная реализация………………………………………………26
Код программы…………………………………………………………..28
Вывод……………………………………………………………………...42
Литература………………………………………………………………..43
Раз по сравнению с методом прямого вычисления ДПФ, имеет чрезвычайно важное значение и должно рассматриваться как неотъемлемая часть применения методов цифровой обработки сигналов для спектрального анализа. Поэтому данная глава начинается с теории БПФ, включающей хорошо известные алгоритмы с основанием 2 и прореживанием по времени и по частоте. Далее будет показано, каким образом можно представить БПФ в виде единого алгоритма, имеющего много различных вариантов. Тот факт, что одномерный массив чисел можно выразить через двумерный массив более чем одним способом, объясняет многообразие алгоритмов БПФ. Отсюда следует, что математическая операция перехода из одномерного пространства в двумерное является основой всех алгоритмов БПФ. При таком едином подходе к алгоритму БПФ его различные варианты могут быть получены сравнительно простым способом
Описание создания программы:
В качестве контейнера отображения данных используется MainFrame(javax.swing.JFrame). На данном контейнере расположены следующие элементы:
-Выпадающий список для отображения списка функций - javax.swing.JComboBox<String> JFunction;
-Выпадающий список для отображения списка размерности -javax.swing.JComboBox<String> JSize;
-Кнопка Закрытия - javax.swing.JButton jButton1;
-Кнопка Расчета - javax.swing.JButton jButton2;
-Контейнер для вывода текста - java.awt.TextArea textArea1;
-Контейнер для рисования - javax.swing.JPanel jPanelPaint.
Для расчета был написан класс FFT реализующий расчетную математику задачи и вспомогательный класс для работы с комплексными числами Complex.
Основным классом работы является MainFrame. В нем разработаны методы для запуска расчета и отрисовки и вывода результата расчета.
Для расчета используется метод jButton2ActionPerformed
В нем сначала узнаем какую функцию стоит рассчитать, потом заполняем массив комплексных чисел, рассчитав его на основе указанной функции.
Работа защищена на "ОТЛИЧНО" без лишних вопросов от преподавателя