Desktop / КА отчет
.pdfМинистерство образования и науки Российской Федерации Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ имени академика С.П. КОРОЛЕВА
Кафедра геоинформатики
Пояснительная записка
к курсовому проекту по дисциплине «Компьютерная алгебра»
Тема № 5
Студент А.Ю.Медовникова,
группа 657
Проверил
Самара 2011
Задание
Реализация и исследование быстрого алгоритма двумерного вещественного ДПФ по основанию 4 с представлением данных в алгебре кватернионов.
2
Оглавление
Задание........................................................................................................................................... |
1 |
||
1 |
Постановка задачи...................................................................................................................... |
4 |
|
2 |
Теоретический материал ........................................................................................................... |
5 |
|
|
2.1 |
Двумерное преобразование Фурье .................................................................................. |
5 |
|
2.1 |
Алгебра кватернионов........................................................................................................ |
7 |
|
2.3 |
Учет вещественности .......................................................................................................... |
8 |
3 |
Описание разработанного алгоритма и программы............................................................... |
9 |
|
4 |
Тестинрование программы...................................................................................................... |
11 |
|
5 |
Исследование алгоритма ......................................................................................................... |
12 |
|
Приложение А. Листинг программы.......................................................................................... |
13 |
||
Приложение B. Примеры результатов выполнения программы............................................ |
22 |
3
1 Постановка задачи
Пусть имеется конечный двумерный вещественный сигнал , вчастности изображение размером NxN. Часто для анализа изображения требуется расчёт его Фурье спектра. Прямое преобразование Фурье занимает очень много времени, особенно учитывая, что изображения чаще всего имеют размеры больше 256*256. Для сигналов таких размеров используют быстрое преобразование Фурье. В данной работе рассматривается один из способов расчета быстрого алгоритма преобразования Фурье. В результате будет представлено исследование эффективности такого метода.
4
2 Теоретический материал
2.1 Двумерное преобразование Фурье
В общем случае мы имеем - конечный двумерный вещественный сигнал размером NxM. Его комплексный спектр Фурье имеет вид:
где и
Для сигналов небольшой длины достаточно реализовать формулу (2.1). Однако в большинстве случаев требуется реализация быстрого алгоритма, чтобы получить возможность оперативной работы с большими сигналами. Однако для этого входной сигнал должен удовлетворять двум требованиям:
, т.е. входной сигнал квадратный
, в общем случае, а при нашем разложении по основании 4 должно выполняться
Если же входной сигнал не удовлетворяет этим свойствам, то его можно дополнить нулями до необходимых размеров. Далее будем рассматривать сигнал, удовлетворяющим этим условиям. В этом случае сигнал принимает вид:
где |
|
, |
|
– комплексный корень N-ой степени из единицы
Под дискретным преобразованием Фурье со специальным представлением данных в рамках курсового проекта будем понимать преобразование вида:
где и лежат в разных экземплярах поля комплексных чисел.
Основная идея такого преобразования заключается в погружении входного вещественного сигнала в четырехмерную алгебру.
В данном варианте работы рассматривается двумерного ДПФ по основанию 4. Для этого разобьем входную последовательность на 16 подпоследовательностей и запишем (2.3) в виде:
5
где
При этом значения спектра для остальных значений аргументов вычисляются без дополнительных умножений, а именно:
Умножение на степени базовых элементов i и j тривиальны, они сводятся к перестановкам элементов кода и/или смене знака компонент.
6
2.1 Алгебра кватернионов
Под алгеброй гамильтоновых кватернионов понимается четырехмерная ассоциативная алгебра H следующего вида:
(2.8)
с определяющими соотношениями для умножения базисных элементов :
(2.9)
Операция сложения кватернионов осуществляется покомпонентно, а умножение с учетом правил (2.9) и с приведением подобных членов.
Следующие отображения являются автоморфизмами H над R:
(2.10)
причем:
(2.11)
Система уравнений (1.5), рассматриваемая относительно a, b, c, d, разрешима при любых значениях левых частей и требует для решения не более 4 вещественных умножений. Считая умножения на степени двойки более элементарной операцией по сравнению с вещественным умножением, мы не будем учитывать их при анализе вычислительной сложности рассматриваемого алгоритма. Умножение комплексных чисел может быть реализовано по схеме «три умножения, три сложения», тогда, в соответствии с представлением
(2.12)
умножение двух кватернионов общего вида может быть реализовано с помощью девяти вещественных умножений. Пусть далее – i-кватернион и - j- кватернион. Тогда для вычисления произведений sq и qt необходимо и достаточно по шесть вещественных умножений, а для одновременного вычисления произведения sqt – девять вещественных умножений:
(2.13)
При этом считаем, что произведения и суммы констант выполнены заранее.
7
2.3 Учет вещественности
Как уже отмечалось ранее, входной сигнал представляет собой вещественную последовательность, а основным свойством спектра вещественного сигнала является его симметрия. Так спектр вещественного сигнала удовлетворяет следующим трем свойствам симметрии:
(2.14)
Такое свойство позволяет на каждом шаге алгоритма производить вычисления по
формуле (2.7) в области размером |
|
|
|
вместо области размером |
, а |
|
|
||||
недостающие отсчеты заполняются на основании свойств (2.14). |
|
8
3 Описание разработанного алгоритма и программы
Программа была разработана на языке Java с использованием стандартных библиотек. Результирующий продукт полностью кроссплатформенный и может быть запущен на любой операционной системе с установленной виртуальной Java-машиной(JVM).
При запуске приложения создается графический интерфейс, позволяющий пользователю удобно использовать функции продукта.
Из заданного заранее в программе списка изображений пользователь может выбрать одно. При этом изображение трансформируется из трехкомпонентного в монохромное. (рис 3.1)
Рис. 3.1 Список загруженных изображений
Далее пользователь может выбрать необходимый ему алгоритм: DFT(простое дискретное преобразование по формуле (2.3)) или FFT(быстрое преобразование Фурье в алгебре кватернионов).
После нажатия кнопки соответствующего алгоритма запускается процесс обработки входного изображения и в окне появляется прогресс-бар, информирующего пользователя, что идет процесс обработки.
Если при выполнении обработки пользователь нажмет на какую либо кнопку, то появится сообщение о том, что невозможно запустить новый процесс пока не завершен предыдущий. (рис 3.2)
9
Рис. 3.2 Сообщение об ошибке
После завершения обработки появляется графическое отображение результирующего спектра (выводится модуль полученного гиперкомплексного числа, приведенный к диапазону яркости [0,255]). А так же записывается время выполнения алгоритма в секундах. (рис. 3.3)
Рис. 3.3 Окно с результатом обработки
После того как пользователь поочередно выполнит FFT и DFT, можно нажать на кнопку «Разница» и тогда в консоль выведется разница между спектрами полученными двумя способами.
10