Разработки СО РАН - каталоги программ и БД

Поиск по каталогам:

2015-09-11

Назначение
- расчет и нахождение аппроксимирующих функций, с последующим построением аппроксимаций различными методами;
- расчет относительной ошибки аппроксимации как на всем заданном интервале функции, так и в отдельных ее точках;
- расчет значений аппроксимирующих функций на заданном интервале.

Область применения: Изучение новых объектов (технических) исследований при помощи методов аппроксимации, например, при исследовании вольт-амперной характеристики (ВАХ) электрорадиоизделий; исследование радиосигналов, т.е. амплитудно-частотных характеристик (АЧХ); при групповой архивации (сжатии) файлов - определение среднего соотношения эффективности сжатия информации.

Используемый алгоритм: метод наименьших квадратов разных функций и интерполяция (полиномы Ньютона и Лагранжа).

Блок-схема алгоритма приведена во вложении.

Для работы программы вводятся входные данные (значения X, Y), указываются шаг уплотнения и интервал (в каких пределах рассматривать функцию и производить расчет). По нажатию на кнопку "Расчет" производятся: расчет n методов аппроксимации, расчет погрешности с последующим внесением результатов в соответствующие таблицы и с построением графиков. По минимальному значению расчитанной погрешности определяется оптимальный метод аппроксимации.

Функциональные возможности: Программа позволяет представлять данные расчетов как в графической форме, так и в табличной. Возможность копирования результатов: расчеты в Microsoft Excel (таблицы); график в буфер обмена, а также печать на принтер. Входные данные: ручной ввод или текстовый файл. Объем обрабатываемых данных: до 5000 точек (X, Y), свыше 5000 - требуются более высокие параметры аппаратных средств ПК.

Инструментальные средства создания: среда разработки Borland Delphi 7.

Скриншоты:
1. Расчет значений аппроксимирующей функции и сама функция (модель);
2. Расчет погрешности (относительной ошибки аппроксимации) на всём интервале значений;
3. Расчет погрешности (относительной ошибки аппроксимации) в каждой точке для каждого метода аппроксимации;
4. Выбор метода аппроксимации на основе минимального значения расчитанной погрешности (в каждой точке);
5. Графическое представление расчитанной погрешности (для каждого метода аппроксимации);
6. Графики: входных данных (X,Y) и ее аппроксимации.
В качестве входных данных использовались экспериментальные значения ВАХ кремниего транзистора. В результате получили аппроксимирующую функцию.

2015-07-23

Назначение: цифровое голографическое восстановление и цифровая голографическая интерферометрия на платформе CUDA по реальным цифровым голограммам.


Область применения: цифровая голография, цифровая голографическая микроскопия, оптическая физика.


Используемый алгоритм: метод преобразования Френеля, метод фильтрации высоких частот для подавления нулевого порядка дифракции, метод цифровой голографической интерферометрии.

На вход программы подается файл изображения с голограммой, полученной цифровым путем. При помощи выбранного метода по голограмме восстанавливается изображение объекта, который был записан на этой голограмме. В основе методов восстановления лежит численное решение интеграла Френеля-Кирхгофа [1]. В методе преобразования Френеля используется разложение части подынтегрального выражения в ряд Тейлора и приведение интеграла к преобразованию Фурье. Перед голографическим восстановлением осуществляется дополнительная обработка голограммы с целью подавления нулевого порядка дифракции для улучшения качества результата [2]. Для этого используется адаптивный частотный фильтр. Для реализации цифровой голографической интерферометрии используются 2 голограммы. Разница между их численными восстановлениями по фазе позволяет восстановить трёхмерную деформационную модель по всей видимой поверхности измеряемого объекта [3].

  1. Рябухо, В. П. Когерентно-оптические методы в измерительной технике и биофотонике: Учебное пособие / В. П. Рябухо, В. В. Тучин. – Саратов: Сателлит, 2009. – 127 с.
  2. Kreis, T. Suppression of the dc term in digital holography / T. Kreis, W. Juptner // Optical Engineering. – 1997. – Vol. 36. – P. 2357-2360.
  3. Schnars, U. Direct phase determination in hologram interferometry with use of digitally recorded holograms / U. Schnars // JOSA A. – 1994. – Vol. 11(7). – P. 661-665.

Функциональные возможности: цифровое голографическое восстановление реальных голограмм с подавлением нулевого порядка дифракции при различных параметрах восстановления (длина волны, расстояние восстановления, угол отклонения опорного пучка, физический размер пикселя в голограмме и др.).

Программный продукт выполняет следующие функции:

  • восстановление цифровой голограммы, используя последовательный алгоритм для CPU (для размера голограмм со сторонами от 256 до 4096 пикселей);
  • восстановление цифровой голограммы, используя параллельный алгоритм для GPU CUDA (для размера голограмм со сторонами от 256 до 4096 пикселей);
  • осуществление ЦГИ, используя последовательный алгоритм для CPU (для размера голограмм со сторонами от 256 до 4096 пикселей);
  • осуществление ЦГИ, используя параллельный алгоритм для GPU CUDA (для размера голограмм со сторонами от 256 до 4096 пикселей).

Инструментальные средства создания: Microsoft Visual Studio 2012, С++, CUDA Toolkit 6.5.

Работа с программой: в приложенном архиве располагается программа для OC Windows в виде исполняемого файла (папка redist) и в виде исходного кода (папка src). Для запуска программы необходимо запустить файл Holo.exe или примеры (run_experiment1.bat и run_experiment2.bat). В папке redist также можно найти подробное руководство по работе с программой (users_manual.pdf).

2015-07-09

Назначение - прогнозирование финансовых потоков
Область применения - валютные и финансовые рынки
Используемый алгоритм - алгоритм Бокса-Дженкинса с 14 параметрами. Нахождение параметров модели было сведено к решению двух взаимосвязанных задач квадратичного программирования. По разработанному алгоритму было создано программное обеспечение в среде MS Excel, обеспечивающее нахождения прогнозного значения отношения цен бивалютной пары евро-канадский доллар по 42 входным начальным данным.

Согласно теории Бокса-Дженкинса, прогнозное значение x­t  бивалютной пары в момент времени t определяется рекуррентным выражением:

x= a1xt-1+...+ apxt-p+b1et-1+...bqet-q                                          (1)

В выражении (1) приняты следующие обозначения:

  • p, q – натуральные числа – число точек, участвующих в прогнозе;
  • xt-p,...,xt-1 – последовательность значений в моменты времени  с номерами t-p,..., t-1 соответственно;
  • et-q,...,et-1 – случайные величины, имеющие нормальное распределение с нулевым математическим ожиданием и среднеквадратичным отклонением d;
  • ai, bj – постоянные коэффициенты.

Для отыскания параметров ai, bj обычно используют метод перебора, суть которого заключается в «подгонке» параметров так, чтобы точки, получаемые из рекуррентного выражения (1), совпадали (или хотя бы были очень близки) с фактическими значениями. Данная методика дает хорошие результаты лишь для небольшого числа параметров (не более 3).

Научной новизной настоящего исследования является организация поиска параметров ai , bj посредством решения задачи квадратичного программирования.

Для простоты изложения далее считается, что p=q и число значений n временного ряда кратно p. Предположение n=kp (где k=1,2,…) не является критичным, т.к. его выполнение всегда можно обеспечить. Противоположный случай  рассматривается аналогично, но получаемые выкладки будут более громоздкими и затруднят понимание идеи излагаемого метода.

Параметры a1, a2, …, ap трендовой составляющей определяются на основании выражения:

                                xt  = a1xt-1+...+apxt-p                                                                          (2)

Уравнению (2) можно сопоставить характеристическое уравнение

                                                         f(z)=1-a1z-...-apzp=0.                                  (3)

В дальнейшем будут рассматриваться только стационарные процессы. Необходимым и достаточным условием стационарности процесса (2) является нахождение всех корней характеристического уравнения (3) вне единичного круга. Из этого условия следуют два неравенства

f(-1)f(1)>0,|ap|<1         (4)

Параметры a1, a2, …, ap, кроме условий (4), должны достаточно точно аппроксимировать фактические значения              Таким образом, поиск коэффициентов a1, a2, …, ap трендовой части рекуррентного выражения (1) сведён к задаче квадратичного программирования с ограничениями (4).

Аналогичным образом можно определить параметры b1, b2, …, bp. Введя обозначение et=xt-a1xt-1-apxt-p, рекуррентное выражение (1) можно представить в виде:

                                                          et.=b1xt-1+...+bqxt-q                                                (5)

Предполагая стационарность процесса (5) для поиска параметров b1, b2, …, bp,  получается аналогичная задача квадратичного программирования.

 Функциональные возможности - из таблицы валютных котировок в разработанное программное средство вводятся значения курса валют. Количество данных должно быть кратно 7 и не более 42. Проведя тестирование программного средства на большом количестве примеров, выяснилось, что кратность 7 вводимых данных обеспечивает достатчно качественный прогноз.

Инструментальные средства создания - табличный процессор MS Excel

2015-07-02

Назначение: Расшифровка интерференционных картин со случайными фазовыми сдвигами.

Область применения: Цифровая интерферометрия, оптическая физика.

Используемый алгоритм:  Алгоритм расшифровки интерференционных картин со случайными фазовыми сдвигами [1]

Алгоритмы анализа интерференционной структуры на основе фазовых сдвигов широко используются при создании интерференционных измерительных систем. Точность существующих алгоритмов анализа зависит от точности установки фазовых сдвигов. Однако, на практике сложно определить точное значение фазового сдвига из-за ошибки фазосдвигающего устройства. В программе используется новый алгоритм для расшифровки интерференционных картин. Алгоритм использует три интерференционные картины с произвольными фазовыми сдвигами для нахождения разности фаз между опорным и объектным волновыми фронтами.

Сущность алгоритма заключается в преобразовании траектории интерференционных сигналов (интенсивностей) со случайными фазовыми сдвигами к траектории сигналов, чьи фазовые сдвиги известны точно. Так как в алгоритме отсутствуют итерационные процессы, реализация алгоритма на CUDA отличается своей прямолинейностью и эффективностью.

[1] В.И. Гужов, С.П. Ильиных, Д.С. Хайдуков. Алгоритм расшифровки интерференционных картин со случайными фазовыми сдвигами / Сборник научных трудов НГТУ, 2014

Функциональные возможности - восстановление фазы по трём интерференционным картинам со случайными фазовыми сдвигами.

Особенности программы:

  • Одновременно можно использовать только три интерференционные картины.
  • Формат входных файлов - bmp(24 бит).
  • Формат выходных файлов: bmp(24 бит), текстовый файл.
  • Минимальный размер изображений 16x16 пикселей.
  • Максимальный размер изображений 4096x4096 пикселей.

Инструментальные средства создания - Microsoft Visual Studio 2012, С++, NVIDIA CUDA 5.5

Работа с программой - в приложенном архиве располагается программа для OC Windows в виде исполняемого файла (папка redist) и в виде исходного кода (папка src). Для запуска программы необходимо запустить файл Phazes_on_CUDA.exe. В папке redist также можно найти руководство по работе с программой (Руководство.txt).

2015-06-26

Назначение: Программа предназначена для определения количества упорядоченных кластеров, генерируемых случайным образом в 3D-пространстве.

Область применения: Программа может быть использована в  области физики и материаловедения.

Используемый алгоритм:   Реализованный в программе алгоритм заключается в подсчете кластеров, сгенерированных случайным образом. Кластеры реализованы в виде трехмерных цепочек шаров.

Алгоритм разработан автором  и заключается в следующем:

1. В слое сгенерированных шаров выбирается первая цепочка и в ней производится поиск отдельных кластеров. Каждому новому обнаруженному кластеру присваивается свой порядковый номер от 1до N. Данные о нахождении какого-либо шара в кластере заносятся в массив.

2. С учетом первой (базисной) цепочки производится поиск в следующих цепочках. Если обнаруживается связь с уже обнаруженными кластерами,  шару присваивается порядковый номер соответсвующего кластера, иначе шар  является началом нового кластера и ему присваивается следующий порядковый номер.

3. Так как сгенерированные объекты могут представлять собой сложную структуру, поиск и проверка проводятся ещё несколько раз  в зависимости от размеров структуры.

Функциональные возможности: С помощью данной программы можно определять количество упорядоченных кластеров, осуществлять обзор в режиме 3D, получать данные о свойствах генерируемых кластеров. 

Инструментальные средства создания: Среда программирования Delphi 7.0 Lite