КОМПЬЮТЕРНАЯ ОБРАБОТКА ЧИСЛОВЫХ ПОТОКОВ С ПОМОЩЬЮ ВЭЙВЛЕТОВ Выполнил: Терехин Николай, 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)