КОМПЬЮТЕРНАЯ ОБРАБОТКА ЧИСЛОВЫХ ПОТОКОВ С ПОМОЩЬЮ ВЭЙВЛЕТОВ Выполнил: Терехин Николай, 545

advertisement
КОМПЬЮТЕРНАЯ ОБРАБОТКА
ЧИСЛОВЫХ ПОТОКОВ С ПОМОЩЬЮ
ВЭЙВЛЕТОВ
Выполнил: Терехин Николай, 545
Научный руководитель: Демьянович Ю. К.
Постановка задачи
2




Дана функция f из C1[a, b]
Дана сетка на [a, b] и значения в узлах
Приблизить f, используя значения в узлах
сетки
Пользователь контролирует количество
кодирующих чисел
Вэйвлетный подход
3



Рассмотреть f на мелкой сетке
Укрупнить сетку
Аппроксимировать f на крупной сетке
Сплайны
4





Фиксируем φ(t) = (1, t, t2)T
Аппроксимационное соотношение
aj-2ωj-2 + aj-1ωj-1 + ajωj = φ(t) при t ∈ [xj, xj+1]
Рассматриваем ωj такие, что supp ωj ⊂ [xj, xj+3]
Sφ(X)= {u | u = Σcjωj} – пространство сплайнов
f приближается с помощью линейной
комбинации ωj
Аппроксимация
5



На вход подаётся аргумент функции t, узлы
сетки и значения в них
За O(log N) вычисляется пара узлов сетки,
соседних с x
За O(1) вычисляется значение аппроксимации
Средства разработки
6



C++
Microsoft Windows
Microsoft Visual Studio 2008
На выходе DLL
Экспортируемые функции
7

EncodeFunction
 Вход:
начальное количество узлов, доля
сохраняемых узлов, функция
 Выход: основной поток

ApproximateValue
 Вход:
узлы, коэффициенты
 Выход: аппроксимация
8
Возможности для
распараллеливания



ApproximateValue выполняется быстро
EncodeFunction потенциально долгая операция
и может быть распараллелена
Оптимально использование OpenMP
#pragma omp parallel for schedule(static)
Download