- •Содержание.
- •1. Введение.
- •1.1. Содержательная постановка задачи.
- •1.2. Терминологические соглашения.
- •2. Постановка задачи.
- •Общие сведения о моделировании систем.
- •2.2. Основание для разработки.
- •2.3. Назначение.
- •2.4. Требования к программному обеспечению.
- •2.5. Входные и выходные данные.
- •2.6. Условия эксплуатации.
- •3. Описание программного обеспечения.
- •3.1. Выбор языка программирования для реализации цифровой модели.
- •3.2. Функциональное назначение цифровой модели.
- •3.3. Описание идентификаторов процедур и функций, входящих в состав цифровой модели.
- •3.4. Описание идентификаторов переменных и массивов, используемых в цифровой модели.
- •3.5. Описание алгоритма цифровой модели.
- •3.6. Описание процедур и функций, реализующих цифровую модель.
- •3.6.1. Процедура расчета коэффициентов.
- •3.6.1.1. Функциональное назначение.
- •Integral ( X : real ).
- •3.6.1.2. Описание идентификаторов переменных и массивов.
- •3.6.1.2.1. Входные данные.
- •3.6.1.2.2. Вспомогательные переменные.
- •3.6.1.2.3. Выходные данные.
- •3.6.1.3. Описание логики.
- •3.6.2. Процедура формирования модели изображения очередного кадра.
- •3.6.2.1. Функциональное назначение.
- •3.6.2.2. Описание идентификаторов и назначения переменных и массивов.
- •3.6.2.2.1. Входные данные.
- •3.6.2.2.2. Вспомогательные переменные.
- •3.6.2.2.3. Выходные данные.
- •3.5.2.3. Описание логики.
- •3.6.3. Описание процедуры моделирования движения сложного фона.
- •3.6.3.1. Функциональное назначение.
- •Var ArgumentX, ArgumentY : real).
- •3.6.3.2. Описание идентификаторов и назначение переменных и массивов.
- •3.6.3.2.1. Входные данные.
- •3.6.3.2.2. Вспомогательные переменные.
- •3.6.3.2.3. Выходные данные.
- •3.6.3.3. Описание логики.
- •3.6.4. Описание функций яркости.
- •3.6.4.1. Функциональное назначение.
- •3.6.4.2. Описание идентификаторов и назначения переменных.
- •3.6.4.2.1. Входные данные.
- •3.6.4.2.2. Выходные данные.
- •3.6.4.3. Описание подпрограмм-функций. Функция яркости с поверхностью типа «плоскость».
- •Функция яркости с поверхностью типа «усеченная плоскость».
- •Функция яркости с поверхностью типа «дважды усеченная плоскость».
- •Функция яркости с поверхностью типа «эллипсоид вращения».
- •Функция яркости с поверхностью типа «эллиптический цилиндр».
- •Функция яркости с поверхностью типа «параболический цилиндр».
- •Функция яркости с поверхностью типа «однополостной гиперболоид».
- •Функция яркости с поверхностью типа «гиперболический параболоид».
- •Функция яркости с поверхностью типа «волнистая поверхность».
- •3.6.5. Процедура ввода параметров функций, участвующих в моделировании изображения.
- •3.6.5.1. Функциональное назначение.
- •3.6.5.2. Описание идентификаторов и назначения используемых переменных и массивов.
- •3.6.5.2.1. Вспомогательные переменные.
- •3.6.5.2.2. Выходные данные.
- •3.6.5.3. Описание логики.
- •3.6.6. Процедура формирования разностного изображения с помощью операции временного дифференцирования.
- •3.6.6.1. Функциональное назначение.
- •3.6.6.2. Описание идентификаторов переменных и массивов.
- •3.6.6.2.1. Входные данные.
- •3.6.6.2.2. Вспомогательные переменные.
- •3.6.6.2.3. Выходные данные.
- •3.6.6.3. Описание логики.
- •3.6.7. Процедура задания начальных значений.
- •3.6.7.1. Функциональное назначение.
- •3.6.7.2. Описание идентификаторов переменных и массивов.
- •3.6.7.2.1. Вспомогательные переменные.
- •3.6.7.2.2. Выходные данные.
- •3.6.7.3. Описание логики.
- •3.6.8. Процедура инициализации графического режима.
- •3.6.8.1. Функциональное назначение.
- •InitGraphMode.
- •3.6.8.2. Описание идентификаторов переменных и массивов.
- •3.6.8.2.1. Входные данные.
- •3.6.8.2.2. Вспомогательные переменные.
- •3.6.8.2.3. Выходные данные.
- •3.6.8.3. Описание логики.
- •3.6.9. Процедура распознавания.
- •3.6.9.1. Функциональное назначение.
- •3.6.9.2. Содержательная постановка задачи автоматического распознавания подвижных точечных объектов.
- •3.6.9.3. Описание алгоритмов распознавания подвижных точечных объектов.
- •3.6.9.3.1. Описание детерминированного алгоритма распознавания подвижных точечных объектов.
- •3.6.9.3.2. Описание вероятностного алгоритма распознавания подвижных точечных объектов.
- •3.6.9.3.3. Описание комбинированного алгоритма распознавания подвижных точечных объектов.
- •3.6.9.3.4. Описание вероятностного и комбинированного алгоритмов распознавания подвижных точечных объектов с усеченной выборкой.
- •3.6.9.4. Описание идентификаторов переменных и массивов.
- •3.6.9.4.1. Входные данные.
- •3.6.9.4.2. Вспомогательные переменные.
- •3.6.9.4.3. Выходные данные.
- •3.6.9.5. Описание логики.
- •3.6.10. Процедура определения массива направлений.
- •3.6.10.1. Функциональное назначение.
- •3.6.10.2. Выходные данные.
- •3.6.10.3. Описание логики.
3.6.2. Процедура формирования модели изображения очередного кадра.
3.6.2.1. Функциональное назначение.
Изображения кадров могут моделироваться на ЭВМ массивами (матрицами) неотрицательных чисел, распределенным по заданным законам и отображающих яркость элементарных участков (ячеек) поля наблюдения (сетчатки) в фиксированные моменты времени. Данная процедура предназначена для формирования модели изображения очередного кадра в виде массива чисел, представляющего множество сигналов рецепторов сетчатки. В данной цифровой модели рецепторы представляют собой плоские светочувствительные элементы прямоугольной (в частном случае - квадратной) формы с одинаковыми задаваемыми размерами.
Процедура формирования модели изображения очередного кадра позволяет имитировать сигналы рецепторов конечных размеров, являющиеся интегральной характеристикой яркости, распределенной по их площади. Эти сигналы могут отображать стационарное и нестационарное поле помех, образованных сложным изображением, двигающийся на его фоне объект и случайные помехи, зашумляющие все изображение.
Сложное изображение и двигающийся объект конечных размеров круглой или эллиптической формы моделируются путем суперпозиции нескольких функций яркости из 9-ти возможных типов, причем в формировании интегральной функции яркости могут участвовать несколько функций одного и того же типа с разными параметрами. Яркость изображения в точке отсчета может определяться по значениям разных функций одним из трех способов: либо просто аддитивно, то есть путем сложения значений яркости нескольких функций; по приоритету функции, то есть по высоте расположения данной функции относительно других, когда яркость в точке отсчета определяется положительной яркостью в этой точке функции с наивысшим приоритетом; либо по приоритету яркости - когда яркость в точке отсчета определяется функцией, имеющей в этой точке наивысшую яркость. При этом предполагается, что функция яркости не может в пределах сетчатки иметь отрицательное значение яркости.
Помехи, зашумляющие изображение, аддитивны и могут задаваться в виде множества некоррелированных чисел (значений яркости в данной точке), распределенных в каждом рецепторе сетчатки либо по нормальному, либо по равномерному закону распределения.
Между рецепторами, расположенными на площади ячеек сетчатки, можно имитировать промежутки нечувствительного или непроводящего материала.
Для обеспечения необходимой точности распределения яркости по рецептору возможно задание на его площади требуемого числа отсчетов функций яркости.
Кроме непосредственно моделирования очередного кадра изображения, данная процедура имеет еще 11 вспомогательных подпрограмм:
процедуру «Movement»;
функцию «FunctionRandom»;
9 функций яркости «Function1», «Function2», ... «Function9».
Процедура «Movement» предназначена для определения координат очередного отсчета той или иной функции яркости, формирующей изображение, взятого на поле наблюдения. При этом учитывается исходное расположение и направленное прямолинейное равномерное движение сетчатки в плоскости аргументов данной функции, а также - равномерное вращение поля рецепторов относительно собственного центра. Таким образом, данная процедура осуществляет преобразование координат смещенной, движущейся и вращающейся системы отсчета сетчатки в координаты неподвижной системы отсчета данной функции яркости. Обращение к процедуре осуществляется строкой вида:
Movement (x0, y0, q0, v, vq, dx, dy : real; var ArgumentX, ArgumentY : real),
в результате чего в переменных ArgumentX и ArgumentY возвращаются значения координат неподвижной системы отсчета данной функции яркости.
Таким образом данная процедура совместно с функциями яркости и непосредственно с процедурой формирования модели изображения очередного кадра моделирует на поле наблюдения сложную картину движения функций яркости в виде одновременного их перемещения из разных мест по различным направлениям и с различными скоростями прямолинейного и вращательного движений.
Функция «FunctionRandom» в данной процедуре предназначена для моделирования некореллированных помех, задаваемых в виде множества случайных чисел, распределенных по полю сетчатки по нормальному закону распределения. Обращение к данной функции осуществляется через переменную «FunctionRandom», в которую в результате работы данной функции записывается вещественное случайное число, распределенное по нормальному закону распределения с математическим ожиданием 0 и среднеквадратическим отклонением 1.
Описание назначения и принципа работы функций яркости «Function1», «Function2», ..., «Function9» и функции «Movement» приводятся далее в разделе «Описание процедур и функций, реализующих цифровую модель». Функция получения случайного вещественного числа, распределенного по нормальному закону распределения с математическим ожиданием 0 и среднеквадратическим отклонением 1 взята из [21].
Далее приводится описание алгоритма построения модели изображения очередного кадра. Программно эти методы реализованы в процедуре «Screen» данной цифровой модели, обращение к которой осуществляется строкой вида:
Screen.