- •Министерство образования республики беларусь белорусский госудастрвенный университет Факультет прикладной математики и информатики
- •Минск 2010 аннотация
- •Анатацыя
- •Реферат
- •Введение
- •1. Фильтры
- •1.1 Фильтр Гаусса
- •1.2 Базовый случай фильтра Гаусса
- •1.3.1 Дискретное преобразование Фурье
- •1.3.2 Быстрое преобразование Фурье
- •1.3 Применение фильтра Гаусса с помощью преобразования Фурье
- •1.4 Рекурсивный фильтр Гаусса
- •2. Методы параллелизации. OpenCl
- •2.1 Выбор платформы
- •2.3 Применение технологии OpenCl к рекурсивному фильтру
- •3. Сравнительный анализ, условия тестирования, результаты
- •4. Выводы
- •Заключение
- •Список использованных источников
- •Приложение а. Руководство пользователя
- •Приложение б. Листинг программы
1. Фильтры
Цифровой фильтр — любой фильтр, обрабатывающий цифровой сигнал с целью выделения и/или подавления определённых частот этого сигнала. В отличие от цифрового, аналоговый фильтр имеет дело с аналоговым сигналом, его свойства не дискретны, соответственно передаточная функция зависит от внутренних свойств составляющих его элементов. Особую роль среди цифровых фильтров играют фильтры нижних частот (ФНЧ). ФНЧ – фильтр, эффективно пропускающий частотный спектр сигнала ниже некоторой частоты (частоты среза), и уменьшающий (или подавляющий) частоты сигнала выше этой частоты. Степень подавления каждой частоты зависит от вида фильтра. Широко применяется как аппаратная (на основе специализированных микросхем или FPGA), так и программная (на базе процессоров общего назначения или сигнальных процессоров) реализация фильтров нижних частот. Мы же будем рассматривать различные варианты программной реализации одного из ФНЧ - фильтра Гаусса.
1.1 Фильтр Гаусса
В электронике и обработке сигналов, фильтром Гаусса называют фильтр, чья импульсная характеристика является функцией Гаусса. Импульсная характеристика - выходной сигнал динамической системы как реакция на входной сигнал, то есть наши данные (импульс). Гауссов фильтр спроектирован таким образом, чтобы свести к минимуму отклонения от входных данных переходной функции, реакцию системы на входное ступенчатое воздействие при нулевых начальных условиях во время нарастания и спада.
Такое поведение связано с тем, что фильтр Гаусса имеет минимальную групповую задержку, меру прохождения данных через ядро фильтра. Математически, фильтр Гаусса представляет собой свёртку входного сигнала и функции Гаусса. Это преобразование также известно как преобразование Вейерштрасса.
Фильтр Гаусса обычно используется в цифровом виде для обработки двумерных сигналов с целью снижения уровня шума. Визуально данных эффект представляет собой лёгкое размытие, как при наблюдении через мутное стекло.
Стоит отметить весьма ограниченную скорость фильтра Гаусса при реализации с помощью явного метода, особенно заметную на больших объёмах данных.
1.2 Базовый случай фильтра Гаусса
Импульсная характеристика одномерного фильтра Гаусса может быть представлена в виде:
.
А со среднеквадратичным отклонением:
.
Для двумерного случая мы представляем фильтр как произведение двух одномерных случаев, поэтому получим:
.
где x - расстояние от центра по горизонтальной оси, y - расстояние от центра по вертикальной оси, σ- среднеквадратичное отклонение распределения гаусса.
Рассмотрим более общий случай. Результирующая формула будет иметь следующий вид для n-мерного случая:
Однако для реализации данное определение может быть нецелесообразным в виду непрерывности. Поэтому в дальнейшем можем сделать некоторые упрощения.
Так как гауссовское ядро обладает свойствами отделимости
,
то n-мерная операция свёртки может быть разбита на множество одномерных применений гауссова ядра для каждого измерения:
,
где
.
и где t является корнем дисперсии и равно σ2. Свойство отделимости на практике имеет большое значение, так как позволяет упростить вычисления и привести их к одномерному случаю. Далее будем рассматривать именно его.
Для реализации одномерного шага сглаживания наиболее простым способом является операция свёртки дискретного сигнала и гауссового ядра:
,
где
.
что в свою очередь может быть ограничено для сигнала с конечной импульсной характеристикой:
,
для M выбрано достаточно большим, что:
.
Общий выбор выбора M заключается в создании зависимости её от дисперсии, к примеру:
где С зачастую выбирается где-то между 3 и 6.
Использование заданного гауссова ядра
может привести к проблемам точности в
случаях, когда важны точность и
надёжность. При незначительной роли
погрешности при вычислениях (10 -
6 до 10 - 8) , ошибки
вносимые ограничением ядра незначительны.
Однако если точность важна, то есть
более лучшие альтернативы гауссову
ядру как оконной функции, к примеру,
оконные функции Хэмминга, Блэкмана, Кайзера
(см. [5]) будут меньше
изменять спектр, чем это сделает ядро
гаусса. А так как функция Гаусса быстро
убывает на концах, то рассматривание
значений на
больше 10 - 8 не является
целесообразным.
