Бердо Р.С.
Государственное высшее
учебное заведение
«Национальный горный
университет»
Фильтрация
шумов интерполяционными сплайнами
Решение любой технической или экономической задачи, связанно с обработкой информации.
Чаще всего такая информация представлена цифровыми данными. Независимо от
природы данных, их обработка начинается с выделения полезной информации. Как
правило исходная информация представляется с некоторой погрешностью. Случайные
погрешности (шумы) при этом необходимо погасить тем или иным фильтром. Далее,
информация, очищенная от помех, используется в виде исходной. На основе этой
исходной информации решаются конкретные задачи. Если природа помех известна, то
строятся цифровые фильтры, реагирующие именно на такие помехи. Если же природа
помех не известна, т.е. когда на информативный сигнал наложен «белый шум», то
используют различные аппараты сглаживания, убирающие резкие изменения входящей
информации.
В работе рассматривается информация с помехами имеющими характер «белого
шума». Для такой информации разработано программное обеспечение простейших
алгоритмов сглаживания и построения кубических интерполяционных и почти
интерполяционных сплайнов. Пусть дан набор из
n + 1 точки
M0(x0, y0), M1(x1,
y1), …, Mn(xn, yn)
на плоскости, полученных в результате эксперимента или измерения. Из алгоритмов сглаживания использованы следующие методы: первый основанный
на замене трех последовательных точек центром тяжести треугольника с вершинами
в этих точках по формулам
второй – алгоритм повышенной точности
Оба алгоритма сглаживания приводят к уменьшению
количества точек. В связи с этим в работе предусмотрено доопределение такого
количества точек, чтоб сглаживание не привело к уменьшению исходного количества
точек. Сглаживание может выполняться несколько раз. Тогда возникает вопрос о
переглаживании данных, и о критерии окончания сглаживания. В основу этого
критерия положено сравнение длин ломаных до и после сглаживания. Если данные
сглажены достаточно, то длинны этих
ломанных отличаются не существенно. Программно реализовано повторение
сглаживания и проверка критерия окончания сглаживания.
Отдельный модуль реализует построение
интерполяционного сплайна третьего порядка
Программная реализация выполнена на языке Java SE (jdk 7u10) с использованием
библиотек jfreechart 1.0.14, Jama. Программа реализована
через оконный интерфейс, её использование не требует знания языка Java и
доступно для любого пользователя. Предусмотрено ввод массива данных из файла или
с клавиатуры. Файл данных – это текстовый файл, созданный с помощью любого
текстового редактора. Загрузка файла данных сопровождается появлением окна
(рис.1).
В связи с тем, что язык Java является
объектно-ориенторованным, то каждое пользовательское окно и определенные виды
сглаживания реализованы в виде классов, которые между собой связаны.
Рисунок 1 – Информационное окно о данных
На рисунке 2 показано окно выбора необходимого
метода сглаживания.
Рисунок 2 – Информационное окно выбора
вида сглаживания
Выбор метода сглаживания позволяет получить
новый массив данных, который пересылается в новый текстовый файл данных и
сопровождается графиком (рис.3). Для удобства пользователя текстовый файл
сохраняется в папке, которая создается при выборе метода и её название
идентично названию выбранного метода.
Рисунок 3 – Информационное окно исходных данных и данных
сглаженных уточненным методом
Программный продукт прошел апробацию на данных
различного типа и различного объема. Небольшой по объему и удобный по
интерфейсу успешно может использоваться пользователями разного уровня
квалификации.
Литература:
1. Лигун А.А., Шумейко А.А.
Асимптотические методы восстановления кривых. 1996. 358 с.
2. Лигун А.А., Кармазина
В.В. Восстановление функции плотности
распределения и их производных с помощью кубических гистосплайнов. Деп.В
УкрНИИНТИ 13.11.89г. за №2561 – Ук89, 38с.
3. Кармазина В.В.,
Приставка Ф.А. О современном программном обеспечении обработки информации с
помощью сплайнов. Міждержавна науково-методична
конференція «Компютерне моделювання». Тези доповідей – Дніпродзерджинськ: ДДТУ,
- 1997 138 – 139 с.
4. Хорстманн К.С., Корнелл
Г. Java 2. Библиотека профессионала, том I. Основы, 7-е изд.: Пер. с англ. – М.: Издательский
дом «Вильямс», 2007. – 896 с.