Все полученные данные необходимо свести в один массив, элементы которого, программные объекты – точечные излучатели, могут использоваться для расчета принимаемого РЛС радиолокационного сигнала. Полученный массив можно отсортировать по возрастанию азимутов точечных излучателей с тем, чтобы ускорить процесс моделирования при определении облучается ли точечный излучатель зондирующим сигналом (см. ниже).
Укрупненная схема описанного процесса приведена на рисунке 3.3.
После подготовки всех радиолокационных объектов необходимо аналогичную операцию произвести с зондирующими сигналами – необходимо разбить их на отдельные импульсы, определить для каждого импульса момент запуска и интервал от запуска предыдущего импульса, свести данные в массив импульсов, отсортировать массив по времени запуска отдельных импульсов. Далее необходимо определить время моделирования – время задается пользователем либо в явном виде, либо пользователь задает количество отсчетов по азимуту в малых азимутных интервалах (МАИ). Во втором случае необходимо
Рисунок 3.3 – Укрупненная схема процесса подготовки к моделированию
произвести пересчет введенного значения в секунды, воспользовавшись формулой:
(34)где NМОД – количество отсчетов по азимуту в МАИ для моделирования;
NОБ – количество МАИ за полный оборот антенны;
ТВР– период вращения антенны, с.
После определения времени моделирования процесс моделирования можно описать как цикл, который выполняется до тех пор, пока значение переменной содержащей время, прошедшее от начала моделирования, не превысит времени моделирования, определенного ранее. Шаг между двумя итерациями цикла равен интервалу между моментами запуска двух соседних импульсов (двумя соседними элементами массива импульсов).
На каждом проходе цикла пакет данных с отсчетами по дальности заполняется белым шумом, на который накладывается отраженный сигнал, который определяется как сумма отражений от всех точечных излучателей, облучаемых импульсом, пришедшим в данный момент.
Отраженный сигнал рассчитывается как совокупность мгновенный значений амплитуды сигнала, т.е. первоначально определяется действующее значение амплитуды отраженного сигнала, затем фаза сигнала и мгновенное значение амплитуды сигнала. Полученные мгновенные значения амплитуды отраженного сигнала записываются по отсчетам дальности данного пакета (таблица А.1).
Решение о том, будет ли облучен данный точечный излучатель или нет, применяется после анализа функции диаграммы направленности по азимуту (19). Если значение функции меньше 0,01, то считается, что точечный излучатель не облучается данным импульсом. В противном случае для данного точечного излучателя будет рассчитан отраженный сигнал.
После расчета данных полученный пакет записывается в файл.
Укрупненные блок-схемы на рисунках 3.4 и 3.5 иллюстрируют вышесказанное.
3.3 Программная реализация математических моделей
После разработки алгоритмов реализации математических моделей можно сделать вывод о том, что для программной реализации разработанных моделей наиболее подходит объектно-ориентированный подход, все достоинства которого широко известны /9/.
При использовании объектно-ориентированного подхода реализация математических моделей будет сведена к реализации методов и атрибутов (свойств) для программных объектов. В качестве атрибутов (свойств) программных объектов будут выступать параметры реальных объектов, выделенные при разработке математического обеспечения.
В качестве базовых программных объектов можно взять объекты, которые описывают следующие реальные объекты: радиолокационный объект или цель, зондирующий сигнал и РЛС в целом.
Рисунок 3.4 – Укрупненная схема алгоритма процесса моделирования
Рисунок 3.5 – Укрупненная схема подпрограммы расчета отраженного сигнала
Однотипные объекты лучше объединить в массивы для унификации доступа. Массивы обязательно должны быть динамическими, поскольку количество элементов, а, следовательно, и размер памяти, занимаемый массивом, может меняться.
Заголовочный файл на языке C++, содержащий описание программных объектов, приведен в приложении Б.
3.4 Разработка интерфейса пользователя
3.4.1 Выбор среды разработки
Поскольку разрабатываемый программный комплекс разрабатывается для работы под управлением операционной системы Windows 9x, то для удобства разработки и последующей эксплуатации лучше воспользоваться одним из средств RAD, использующих событийно-ориентированное программирование. В качестве такой системы был выбран продукт C++ Builder фирмы Borland. Программный продукт обладает всеми достоинствами RAD системы, позволяет использовать преимущества языка программирования C++ и создавать серьезные приложения для работы в операционной системе Windows 9x.
Программный продукт C++ Builder позволяет создавать приложения, основным интерфейсным элементом которых является форма – стандартный элемент управления Windows «окно» с уже определенным стилем. Разрабатываемое приложение проектируется как совокупность таких форм, на которых располагаются остальные элементы управления.
3.4.2 Описание интерфейса пользователя
При инициализации приложения отображается форма (рисунок 3.6), где сосредоточены основные элементы управления. Через эту форму можно получить доступ ко всем функциям разрабатываемого программного комплекса.
Рисунок 3.6 – Главная форма приложения
По умолчанию, некоторые элементы управления заблокированы и становятся доступны пользователю после ввода определенных параметров или выполнения определенных действий. Все элементы управления, выведенные на панель управления, продублированы в главном меню приложения и снабжены всплывающими подсказками (hints), которые также отображаются в строке состояния.
На главной форме приложения сосредоточены следующие элементы управления:
1 – создание нового файла, после активизации элемента управления очищаются все внутренние структуры хранения данных, вся, не сохраненная информация, стирается;
2 – открытие файла, после активизации элемента управления появляется диалог открытия файла, где пользователь может выбрать имя файла с ранее сохраненными параметрами. Данные из выбранного файла загружаются во внутренние структуры и отображаются в элементах 13, 14, 16;
3 – сохранение в файл, после активизации элемента управления появляется диалог сохранения файла, где пользователь может выбрать имя уже существующего файла или задать имя нового файла. Введенные данные будут сохранены в выбранный файл. Если файл не существует, то он будет создан;
4 – задание параметров зондирующих сигналов, после активизации элемента управления отображается форма, на которой пользователь сможет задать параметры зондирующих сигналов (рисунок 3.7). Список параметров соответствует разработанным моделям. После задания параметров сигнала становится возможным просмотр общего вида сигнала и его спектра. Изображения внешнего вида сигнала и его спектра могут быть скопированы в буфер обмена или сохранены в файл в формате EMF;
Рисунок 3.7 – Форма для задания параметров зондирующего сигнала
5 – расстановка зондирующих сигналов, после активизации элемента управления появляется форма, на которой пользователь может задать порядок запуска зондирующих сигналов и интервалы между запусками;
6 – параметры РЛС, после активизации элемента управления появляется форма, где пользователь задает параметры конкретной РЛС. Для удобства пользователя параметры объединены в группы, характеризующие какой-либо модуль РЛС;
7 – активизация процесса моделирования, после активизации элемента управления появляется форма, где пользователь задает параметры моделирования – время моделирования или число отсчетов по азимуту, имя выходного файла. После подтверждения ввода параметров начинается процесс моделирования, ход которого отображается в виде индикатора, показывающего процент выполнения. Процесс моделирования можно прервать, воспользовавшись кнопкой «Отмена». После окончания моделирования выдается сообщение о нормальном окончании процесса или сообщение с указанием ошибки и способом ее устранения;
8 – просмотр полученного файла при помощи программы Viewer, полученный в процессе моделирования файл может быть просмотрен при помощи данной программы. Программа будет вызвана и в нее будет загружен искомый файл автоматически;
9 – загрузка файл в устройство обработки радиолокационной информации;
10 – вызов мастера, который позволяет автоматизировать последовательность ввода параметров и получения выходного файла (рисунок 3.8). Окно мастера содержит текст, поясняющий, что произойдет при выполнении конкретного действия, выполнение которого может быть запущено как при помощи соответствующего элемента управления на форме мастера, так и на главной форме приложения. Имеется возможность пропуска текущего действия и возврата к предыдущему действию. После выполнения операции мастер автоматически переходит к следующему пункту. При активизации соответствующей опции на форме мастера, последний будет загружаться всякий раз при активизации приложения. Данные о настройках пользователя сохраняются в ini-файле;