Разработка алгоритмов дискретных кватернионных преобразований для решения задач морской навигации в судовой навигационно-информационной сети тема диссертации и автореферата по ВАК РФ 05.12.13, кандидат технических наук Звягинцев, Николай Сергеевич
- Специальность ВАК РФ05.12.13
- Количество страниц 171
Оглавление диссертации кандидат технических наук Звягинцев, Николай Сергеевич
Перечень принятых сокращений.
ВВЕДЕНИЕ.
1. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ МОРСКОЙ НАВИГАЦИИ В СУДОВОЙ НАВИГАЦИОННО-ИНФОРМАЦИОННОЙ СЕТИ И ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЯ.
1.1 Математическое содержание траекторных задач морской навигации на плоскости и сфере.
1.1.1 Классификация и выбор решаемых задач в траекторном процессоре судовой навигационно-информационной сети.
1.1.2 Математическое содержание траекторных задач на плоскости.
1Л .3 Математическое содержание траекторных задач на сфере . .23 1.1.4 Особенности математического содержания траекторных задач на плоскости и сфере.
1.2 Базовая структура и пути повышения эффективности работы вычислительных средств судовой навигационно-информационной сети при решении траекторных задач.
1.3 Алгоритмы координатных преобразований для реализации вращения вектора.
1.4 Анализ алгоритмов вращения вектора для решения траекторных задач морской навигации в судовой навигационно-информационной сети.
1.5 Развитие структуры судовой навигационно-информационной сети и постановка задачи исследования.
2. СИНТЕЗ АЛГОРИТМОВ ДИСКРЕТНОГО ВРАЩЕНИЯ
ВЕКТОРА ДЛЯ РЕШЕНИЯ ЗАДАЧ МОРСКОЙ НАВИГАЦИИ В СУДОВОЙ НАВИГАЦИОННО-ИНФОРМАЦИОННОЙ СЕТИ.
2.1 Синтез алгоритмов дискретного линейного вращения вектора методом численного интегрирования.
2.2 Частные алгоритмы дискретного линейного вращения вектора.
2.3 Геометрия трехмерного вращения вектора. Дискретное кватернионное преобразование.
2.4 Вычислительные возможности алгоритмов дискретных кватернионных преобразований.
2.4.1 Прямые и обратные преобразования.
2.4.2 Вычисление произведений синусно-косинусных сочетаний.
3. ИССЛЕДОВАНИЕ СХОДИМОСТИ И ТОЧНОСТИ АЛГОРИТМОВ ДИСКРЕТНЫХ КВАТЕРНИОННЫХ ПРЕОБРАЗОВАНИЙ.
3.1 Анализ сходимости алгоритмов дискретных кватернионных преобразований.
3.2 Общая структура ошибки алгоритма дискретного кватернионного преобразования.
3.3 Методическая, трансформируемая и суммарная погрешности алгоритма дискретного кватернионного преобразования.
4. ПРЕДСТАВЛЕНИЕ ТРАЕКТОРНЫХ ЗАДАЧ МОРСКОЙ
НАВИГАЦИИ АЛГОРИТМАМИ ДИСКРЕТНЫХ КВАТЕРНИОННЫХ ПРЕОБРАЗОВАНИЙ ПО ДАННЫМ ИНФОРМАЦИОННЫХ ПОТОКОВ
СУДОВОЙ НАВИГАЦИОННО- ИНФОРМАЦИОННОЙ
СЕТИ.
4.1 Особенности представления траектории судна алгоритмами дискретного кватернионного преобразования.
4.2 Представление задачи автосопровождения алгоритмами дискретных кватернионных преобразований.
4.3 Представление задач автопрокладки и проигрывания маневра алгоритмами дискретных кватернионных преобразований.
4.4 Определение пройденного расстояния алгоритмами дискретных кватернионных преобразований.
4.5 Методика выбора шага алгоритма дискретного кватернионного преобразования.
5. АППАРАТУРНАЯ РЕАЛИЗАЦИЯ ТРАЕКТОРНОГО ПРОЦЕССОРА СУДОВОЙ НАВИГАЦИОННО-ИНФОРМАЦИОННОЙ СЕТИ.
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ И ОЦЕНКА ЭФФЕКТИВНОСТИ АЛГОРИТМОВ ДИСКРЕТНЫХ КВАТЕРНИОННЫХ ПРЕОБРАЗОВАНИЙ
5.1. Аппаратурная реализация траекторного процессора судовой навигационно-информационной сети.
5.2. Программная реализация траекторных задач алгоритмами дискретных кватернионных преобразований.
5.3. Результаты математического моделирования траекторных задач алгоритмами дискретных кватернионных преобразований.
5.4. Оценка эффективности применения алгоритмов дискретных кватернионных преобразований для решения траекторных задач.
5.4.1 Количественная оценка эффективности.
5.4.2 Качественная оценка эффективности.
Рекомендованный список диссертаций по специальности «Системы, сети и устройства телекоммуникаций», 05.12.13 шифр ВАК
Методы распознавания 3D изображений на основе их кватернионных моделей2011 год, кандидат технических наук Баев, Алексей Александрович
Алгоритмические модели и структуры узлов специализированных процессоров цифровой обработки сигналов с векторизацией вычислений2001 год, доктор технических наук Царёв, Александр Павлович
Разработка и исследование аппаратурно-ориентированных алгоритмов для нахождения собственных значений матриц2002 год, кандидат технических наук Стрельников, Олег Иванович
Мобильные системы предоставления информационных сервисов позиционирования объектов2013 год, кандидат технических наук Салех Хади Мухаммед
Совершенствование навигационного обеспечения мореплавания на основе контроля и повышения точностных характеристик судовой аппаратуры спутниковой навигации при эксплуатации2011 год, кандидат технических наук Сальников, Алексей Игоревич
Введение диссертации (часть автореферата) на тему «Разработка алгоритмов дискретных кватернионных преобразований для решения задач морской навигации в судовой навигационно-информационной сети»
Диссертационная работа посвящена разработке алгоритмов дискретных линейных кватернионных преобразований, сокращающих и распараллеливающих вычисления при решении задач морской навигации в судовых навигационно-информационных сетях (СНИС).
Развитие информационных технологий и совершенствование технических средств навигации (ТСН) привело к объединению ТСН в рамках судового навигационно-информационного комплекса (СНИК), необходимой составляющей которого, согласно конвенционным требованиям, является транспондер автоматической информационной системы (АИС). Это позволяет судам и оператору системы управления движения судов (СУДС) автоматически обмениваться информацией сгенерированной и обработанной в СНИК, что в настоящий момент играет важную роль в обеспечении безопасности мореплавания. Развитие ТСН, входящих в СНИС приводит к увеличению информационных потоков и росту объема вычислений. Такие задачи, как расчет прогнозируемых и исполнительных траекторий судна [1], определение параметров движения, обеспечивающих безопасное плавание [2], а также элементов сближения маневрирующих судов [3] в настоящее время находят решение в СНИС[4],[5], что позволяет повысить безопасность мореплавания. Многие задачи судовождения решаются как в реальном так и в ускоренном масштабах времени (РМВ и УМВ). Это требует повышения производительности вычислительных средств (ВС) СНИС при высоком уровне их надежности. Такая необходимость обусловлена тем, что рост объема вычислений, реализуемых процессором в единицу времени приводит к повышению нагрузки на ВС, увеличению вероятности случайной ошибки в вычислениях, к росту времени решения задач и снижению точности расчетов в РМВ и УМВ [6],[7]. Традиционное решение проблемы повышения производительности за счет реализации вычислений в мощных универсальных процессорах не всегда эффективно. Такой путь приводит к усложнению аппаратной архитектуры ВС, повышению энергопотребления системы в целом и введению эффективных систем охлаждения [8]. Вышеперечисленные факторы снижают надежность вычислительного блока и повышают его стоимость [9],[10]. Современная статистика по судам, запрашивающим технический ремонт в порту Новороссийск, показывает, что 4% случаев выхода из строя таких терминальный частей СНИС, как новых РЛС/САРП и ЭКДИС обусловлены отказом вычислительных средств и в 9% - отказы средств энергообеспечения, что является подтверждением того, что надежность бортовых ВС остается актуальной проблемой в современных условиях. Одновременное удовлетворение таких противоречивых показателей работы ВС как производительность и надежность характеризует эффективность ВС, на повышения которой ориентированы разрабатываемые в работе алгоритмы.
Проблема производительности является актуальной для многих разработчиков ВС. В прошлом повышение производительности универсальных процессоров в основном происходило за счет увеличения тактовой частоты. Однако в настоящий момент практически все ведущие разработчики ВС, такие как Intel, AMD, Тега, Level One, IBM, Cray Research и др. пришли к тому, что дальнейшее повышение частоты оказалось неэффективным из-за ряда фундаментальных физических барьеров, связанных с повышением потребляемой мощности, выделением тепла, задержками при обращении к памяти, архитектурными ограничениями [И]. Выходом из сложившейся ситуации стало разделение задачи на множество одновременных операций и их распределение среди ряда небольших вычислительных устройств [12],[13],[14],[15],[16],[17]. Именно этот путь в настоящее время выбран ведущими производителями вычислительной техники, как наиболее перспективное решение проблемы повышения эффективности ВС как универсальных, так и специализированных [11],[18]. Эффективность подхода, основанного на реализации вычислений в проблемно-ориентированной аппаратуре, называемой сопроцессорами, расширителями, контроллерами, конверторами и др., заключается в следующем:
- проблемно-ориентированные ВС, реализующие специальные методы реализации конкретных задач, отличаются повышенной эффективностью, в сравнении с универсальными. Практика разработки ВС показала, чем выше производительность, тем уже класс эффективно решаемых ими задач [19];
- предоставляется возможность распараллеливания вычислений и, как следствие, увеличение производительности. Параллельная организация вычислений как на аппаратном, так и на программном уровне лежит в основе разделения вычислительного процесса на множество одновременных однотипных операций, реализуемых в проблемно-ориентированных ВС и является в настоящее время мощным инструментом, позволяющим повысить производительность [18],[19];
- проблемно-ориентированные средства отличаются простой аппаратной архитектурой и высокой надежностью [10], что выгодно отличает их при эксплуатации на подвижных объектах, в частности на борту судна.
Необходимо отметить, что распараллеливание и проблемная ориентация вычислений, выбранные ведущими производителями ВС в качестве генерального пути повышения эффективности ВС (ярким примером является оглашенная корпорацией Intel концепция «Разделяй и властвуй» [11]), не являются новыми, но давно признаны и реализуются в подавляющем большинстве специализированных технических средств, систем и приборов, в том числе навигационных.
Заметим, что аппаратурный состав специализированных ВС, как правило, базируется на основе процессоров общего назначения. Причиной этому является их массовое производство и низкая стоимость. При этом, специализация закладывается включением специальной аппаратуры, архитектура которой реализует проблемно-ориентируемые методы вычислений тех задач, которые требуют выполнения большого объема вычислений традиционными способами. Как правило, к такой аппаратуре относятся ВС работающие в жестком режиме реального времени [19]. Так, основное большинство производителей навигационных радаров, такие как DataBridge, JRC, Kelvin Huges, Furuno, Anschutz (радары линейки Pathfinder/ST) и др. для задач построения радарной развертки в РМВ используют отдельный процессор (как правило универсальный), с параллельно подключенной специальной аппаратурой, такой как графические контроллеры, контроллеры ввода/вывода (часто используется несколько контроллеров для каждого вида отображаемой информации) и др. [20],[21 ],[22],[23],[24]. Задачи цифровой обработки сигнала в подавляющем большинстве PJIC также реализуются в специальной аппаратуре [25],[26]. В других навигационных приборах, работающих в режиме реального времени, таких как лаги, эхолоты, приемоиндикаторы спутниковых навигационных систем (ПИ СНС), вычисления также реализуются в проблемно-ориентированных ВС [27],[28],[29].
Тенденция реализации вычислений в проблемно-ориентированных ВС, вместе с растущим объемом информации навигационного характера (конвенционное внедрение АИС, обмен данных между приборами по протоколам NMEA, IEE и др.) привели к целесообразности решения навигационных задач в спецпроцессорах и контроллерах реализующих специальные методы вычислений. Примеров - множество, среди них, такие известные современные PJI станции, как Furuno FR-8051/8111/8251, задачи автоматической радиолокационной прокладки (АРП) в которых решаются в спецпроцессоре [30], линейка PJIC JMA 5110/5106/5104 (производитель JRC), где задачи АРП решаются в рамках отдельной платы на базе спецпроцессора [31], PJIC PATHFINDER®/ST МК2 RADAR, задачи АРП в которой возложены на специальный Tracking Processor [25] и многие другие. Разработке и совершенствованию специальных методов решения навигационных задач как на аппаратном, так и на программном уровне посвящены труды таких ученых как Бранец [32], Д. Парини [33], Van der Veer [34], [35] и др.
Обобщая вышеизложенное отметим, что эффективность современных вычислительных средств во многом определяется их аппаратной архитектурой, отображающей проблемно-ориентированные методы и основанные на них алгоритмы. Роль методов вычислений является основополагающей в специализированной аппаратуре, где за счет проблемной ориентации достигаются повышенная производительность и надежность ВС. Вопрос специализации ВС является особо актуальным в бортовой аппаратуре, т.е в терминальной части СНИС, от которой требуется высокая производительность и надежность при решении задач в РМВ и УМВ по данным информационных потоков СНИС. В частности, эффективность решения навигационных задач на современной этапе также определяется проблемной ориентацией ВС, при этом задача совершенствования методов вычислений остается актуальной благодаря росту объема вычислений, встречающимся случаям отказа ВС и систем энергообеспечения.
В общем случае, снижение объема вычислений при обработке информационных потоков СНИС позволяет достичь следующих технических и экономических преимуществ [8], [9], [10]:
- увеличение объема решаемых задач без повышения производительности вычислительных средств;
- уменьшение нагрузки на вычислительные средства и, как следствие, снижение вероятности случайных ошибок;
- возможность реализации вычислений в менее мощных вычислительных средствах, отличающихся пониженным энергопотреблением и простой архитектурой, что повышает надежность вычислительного блока и снижает его стоимость и эксплуатационные затраты.
Таким образом, эффективные методы вычислений и основанные на них алгоритмы должны быть ориентированы на специфику решаемых задач в плане сокращения объема и распараллеливания вычислений. Большинство вычислений навигационного характера, выполняемых при обработке информационных потоков СНИС, описываются аппаратом тригонометрии как на плоскости, так и в пространстве. Наиболее эффективный в настоящее время подход к выполнению тригонометрических преобразований, вращением вектора положен в работах Дж. Волдера, Дж. Меджита, Дж. Уолтера в конце 50-х и в 60-х годах [36], [37], [38]. Результатом стал известный алгоритм Волдера, реализующий ортогональное преобразование плоского ортонормированного базиса и устройство на его основе - CORDIC (Coordinate rotation digital computer - цифровой компьютер для преобразования координат). Далее, в работах российских и зарубежных ученых, таких как Байков В. Д. [39], [40], Смолов В. Б. [41], [42], Каляев А. В. [43], Духнич Е. В. [44], [45], [46], [47] Деревесков С. О. [48], Д. Парини [33], Van der Veer [34],[35],[49], J. Delosme [50], [51], S. Hsiao [52], [53], G. Cavalaro [54], [55], S. Paul [56], A. Elster [57], S. Freeman [58] и др. проведено обобщение алгоритмов вращения вектора и рассматривались вопросы реализации различных математических и прикладных задач (в том числе и навигационных) алгоритмами дискретных линейных преобразований (ДЛП), основывающимися на алгоритме Волдера.
Однако при весомом сокращении объема вычислений алгоритмы ДЛП имеют ряд существенных недостатков. Во-первых, независимо от величины угла для его отработки необходимо выполнить фиксированное количество итераций, равное разрядности углов. Поэтому такие алгоритмы неэффективны в задачах морской навигации, требующих пошагового вращения вектора на малые углы, таких как задачи автосопровождения, проигрывания маневра расхождения судов и др. Во-вторых, данные алгоритмы реализуют «псевдовращение» и им присущ такой недостаток, как удлинение вектора. Использование любого из существующих методов компенсации удлинения [59], [60] (модифицированных алгоритмов Волдера) вызывает значительное усложнение вычислений.
Альтернативный подход к реализации вращения вектора предложен в работах Владимирова В. В. [61], [62], [63], [64]. Предложенные алгоритмы выполняют «естественное», а не «псевдо», трехмерное дискретное линейное вращение вектора вокруг произвольно направленной оси в шкале угловой метрики, методом численного интегрирования. Такие алгоритмы имеют преимущества в сравнении с другими при реализации вращений на малые углы, в частности, исключается удлинение вектора. Более того, базовым операндом вращения, реализуемого этими алгоритмами является трехмерная (а не плоская как в алгоритме Волдера) матрица, в общем случае реализующая кватернионное преобразование, что позволяет существенно сократить объем вычислений в трехмерном пространстве. Однако использование предложенных алгоритмов для решения задач навигации проблематично по следующим причинам.
Реальные процессы, реализацию которых необходимо описать, являются функциями от времени, тогда как аргументами реализуемых преобразований являются углы. Отсутствие временной зависимости не предоставляет возможности учета изменения параметров движения судна и требует перемасштабирования углов вращения на каждом шаге. Поэтому, решение задач, как в РМВ, так и в УМВ будет проблематичным: нарушение интервалов отсчета данных и индикации результатов, усложнение организации вычислительного процесса ввиду невозможности учета изменения шага, и, как следствие, снижение точности отработки и затруднение её итоговой оценки. Кроме того, метод численного интегрирования в этих алгоритмах реализован только по формуле прямоугольников (интегрирование с недостатком), что ограничивает точность вычислений.
Целыо диссертационной работы является разработка алгоритмов дискретных кватернионных преобразований (ДКП), реализующих трехмерное вращение вектора в шкале времени и обеспечивающих сокращение объема вычислений, что способствует повышению надежности бортовых вычислительных средств входящих в состав СНИС и, как следствие, повышению безопасности мореплавания.
Исходными данными для синтеза являются результаты анализа математического содержания и известных методов реализации навигационных задач по данным информационных потоков СНИС.
Результаты работы направлены на сокращение объема и распараллеливание вычислений, при реализации задач морской навигации в судовой навигационно-информационной сети.
Объектом исследования являются алгоритмы для решения траекторных задач морской навигации по данным информационных потоков СНИС: спутниковых навигационных систем (СНС) и автоматических идентификационных систем (АИС) в траекторном процессоре СНИС, как составной части терминала телекоммуникаций.
Основные теоретические положения и прикладные вопросы, решенные автором, изложены в пяти разделах диссертационной работы.
В первом разделе приводится классификация задач навигации с целью выбора из них наиболее проблематичных с точки зрения вычислительных мощностей, требуемых для их реализации. На основе математического содержания задач навигации производится выбор наиболее эффективного метода решения - алгоритмы координатных преобразований, основанных на вращении вектора.
Приводится проблемно-ориентированный состав задач, решаемых в судовой навигационно-информационной сети (СНИС) на современном уровне и обосновывается целесообразность введения в состав вычислительных средств СНИС траекторного процессора для достижения максимальной эффективности разрабатываемых алгоритмов. Приводятся и исследуются известные алгоритмы рационального вращения вектора. По результатам анализа приведенных алгоритмов ставится задача синтеза и формулируется задача исследования.
Второй раздел посвящен синтезу алгоритмов дискретного линейного вращения вектора методом численного интегрирования по Стилтьесу. Из общего вида алгоритма получены частные формы. Анализируется геометрия координатного преобразования, реализуемого полученными алгоритмами. По результатам анализа алгоритмы получают обобщенное название - алгоритм дискретного кватернионного преобразования (ДКП). Исследуются вычислительные возможности алгоритма ДКП.
В третьем разделе доказывается сходимость алгоритма ДКП, исследуются общая структура ошибки алгоритма ДКП, приводятся и выводятся формулы для количественной оценки её составляющих. В результате получена формула суммарной погрешности алгоритма ДКП, на основании которой базируется оценка интервала сходимости в зависимости от заданной величины допустимой ошибки, что необходимо для практического использования алгоритма при решении задач навигации по данным информационных потоков СНИС.
В четвертом разделе приводится обобщенный подход к описанию траектории судна алгоритмами ДКП. Описывается применение алгоритмов ДКП для решения конкретных навигационных задач, решаемых в терминалах СНИС, таких как автосопровождение, автопрокладка, проигрывание маневра и определение текущего значения пройденного расстояния. Приводится методика выбора шага алгоритма ДКП в зависимости от требуемого интервала решения задачи и величины допустимой погрешности.
В пятом разделе описывается примеры аппаратурной и программной реализации алгоритма ДКП, приводятся результаты проверки теоретических оценок точности, выполненной методом математического моделирования на основе данных реальных информационных потоков. Доказывается состоятельность применения алгоритмов ДКП для решения навигационных задач в СНИС путем сравнительного анализа вычислительной сложности задач навигации, реализованных алгоритмами ДКП, как описано в разд. 4 и тех же задач, но решенных ранее известными методами.
Научная новизна представлена следующими результатами:
- разработан новый класс алгоритмов, получивших название алгоритмов дискретных кватернионных преобразований и реализующих вращение вектора в трехмерном пространстве в шкале времени. В отличие от ранее известных, алгоритмы ДКП реализуют вращение вектора по формулам интегрирования различных порядков - прямоугольников, трапеций и парабол;
- исследована и доказана сходимость алгоритмов ДКП;
- получены формулы оценки трансформируемой и суммарной погрешностей алгоритма ДКП, предложена методика выбора шага алгоритма ДКП в зависимости от заданного интервала решения задач и допустимой ошибки вычислений;
- на основании полученных результатов исследования предложен обобщенный подход к реализации траекторных задач алгоритмами ДКП по данным информационных потоков СНИС.
Практической ценностью полученных в диссертации результатов является снижение объема вычислений при обработке информационных потоков СНИС и возможность распараллеливания вычислений в рамках предложенного алгоритма ДКП при решении задач морской навигации, что позволяет увеличить объем (перечень) решаемых вычислительными средствами задач без повышения их мощности, а, следовательно, повысить надежность и уменьшить аппаратурную сложность, энергопотребление и стоимость вычислительных средств терминалов СНИС.
Исследования проводились с использованием методов математического аппарата линейной алгебры, дифференциального и интегрального счисления, дискретной линейной алгебры, теории рядов и математического моделирования.
При выполнении работы использовались полученные самостоятельно автором теоретические результаты и совместные разработки, выполненные на кафедре «Технические средства судовождения» Морской государственной академии им. адмирала Ф. Ф. Ушакова.
Результаты проведенных в диссертации исследований использованы при модернизации программного обеспечения серийно выпускаемого изделия Наяда 25 Ml, а также в научно-исследовательских и опытно-конструкторских разработках по созданию современных средств автоматической радиолокационной прокладки (САРП) на предприятии ОАО «Горизонт», г. Ростов-на-Дону.
Основные положения проведенных исследований были доложены и обсуждены на четвертой Новороссийской городской научной конференции (апрель 2002г.), на Всероссийской научно-технической конференции с международным участием «Компьютерные информационные технологии в науке, инженерии и образовании», г. Таганрог, (май 2004г.), и дважды на Международной научно-практической конференции «Интеллектуальные многопроцессорные системы», г. Дивноморск (сентябрь 2005г.) г. Кацивели (Украина, 2006г.).
Похожие диссертационные работы по специальности «Системы, сети и устройства телекоммуникаций», 05.12.13 шифр ВАК
Высокопроизводительные сопроцессоры для параллельной обработки данных в формате с плавающей точкой в системах цифровой обработки сигналов2013 год, кандидат технических наук Пантелеев, Алексей Юрьевич
Использование диагональных сеток для уменьшения количества узлов аналогового блока ГВС типа "сетка-ЦВМ"1984 год, кандидат технических наук Шланген, Янис Янович
Многомерный гиперкомплексный контурный анализ и его приложения к обработке изображений и сигналов2004 год, доктор физико-математических наук Леухин, Анатолий Николаевич
Разработка и исследование аппаратурно-ориентированных алгоритмов дискретных косинусных преобразований2000 год, кандидат технических наук Тесленко, Александр Владимирович
Имитационное моделирование автоматического самолетовождения для электронных средств обучения летного и инженерно-технического персонала2005 год, кандидат технических наук Невская, Ирина Романовна
Заключение диссертации по теме «Системы, сети и устройства телекоммуникаций», Звягинцев, Николай Сергеевич
ЗАКЛЮЧЕНИЕ
Основной научный результат состоит в разработке алгоритмов дискретных кватернионных преобразований, снижающих объем вычислений в СНИС при реализации навигационных задач в реальном и ускоренном масштабах времени.
Главные теоретические и практические результаты, полученные в работе, можно сформулировать следующим образом.
1. Выполнен синтез алгоритмов, реализующих дискретное вращение вектора методом численного интегрирования по Стилтьесу в шкале времени. В результате получен класс алгоритмов дискретных кватернионных преобразований (ДКП).
2. Исследована и доказана сходимость алгоритмов ДКП на шаге At. Выполнен анализ погрешностей и получены рабочие формулы для оценки предельной суммарной погрешности и интервала сходимости.
3. Предложена методика выбора шага алгоритма ДКП, в зависимости от требуемого интервала решения задач навигации и допустимой погрешности определения навигационных параметров.
4. Представлен обобщенный подход к описанию траекторных задач алгоритмами ДКП.
5. Разработана подтвержденная патентом на изобретение структура траекторного процессора СНИС, реализующая вращение вектора по алгоритму ДКП (формула трапеций).
6. Проведен сравнительный анализ вычислительной сложности разработанных алгоритмов, подтверждающий сокращение объема вычислений при решении задач навигации.
Полученные результаты подтверждают состоятельность, эффективность и целесообразность использования алгоритмов ДКП для решения траекторных задач.
Основные теоретические положения и прикладные вопросы диссертационной работы представлены следующими частными результатами:
1. Для сокращения объема навигационных вычислений в СНИС выполнен анализ математического содержания задач навигации. Выявлена основная часть математического содержания - тригонометрические преобразования, а наиболее эффективный путь их реализации - вращение вектора на плоскости и в пространстве. Для достижения максимальной эффективности реализации алгоритмов предложено ввести в состав вычислительных средств СНИС траекторный процессор, логику работы которого предложено основывать на алгоритмах вращения вектора. Исследованы известные алгоритмы вращения вектора, и показана необходимость и возможность их дальнейшего развития.
2. Синтезированы алгоритмы, реализующие вращение вектора методом численного интегрирования по Стилтьесу в шкале времени. От известных алгоритмов вращения полученные алгоритмы отличаются реализацией вращения вектора по формулам различных порядков - прямоугольников, трапеций и парабол. Показано, что по своей геометрии используемый метод вращения вектора является кватернионным преобразованием. В результате синтезированные алгоритмы названы дискретными кватернионными преобразованиями. Исследованы вычислительные возможности алгоритмов ДКП.
3. Получены аналитические зависимости связи значений шага, интервала сходимости и погрешности вычислений по алгоритму ДКП.
4. Предложен обобщенный подход к представлению траектории судна по данным информационных потоков СНИС алгоритмами ДКП. Дано описание представления задач АС, АП, ПМ и определения текущего значения пройденного расстояния алгоритмами ДКП. Предложена методика выбора шага и приращения угла вращения в зависимости от интервала решения навигационных задач и требований к точности.
5. В качестве примера аппаратурной реализации ДКП предложена функциональная схема траекторного процессора, также приведен пример программной реализации ДКП на языке Ассемблера. Проведен сравнительный анализ вычислительной сложности алгоритмов ДКП при решении задач АС, АП и ПМ. Анализ показал значительное сокращение объема вычислений в сравнении с классическими методами решения, а именно от 7 до 27 раз, в зависимости от порядка ДКП, и способа его реализации.
Основные материалы диссертации опубликованы в 11 статьях, получены свидетельство РФ об официальной регистрации программы для ЭВМ и патент РФ на изобретение.
Основные положения проведенных исследований были доложены и обсуждены на четвертой Новороссийской городской научной конференции (апрель 2002г.), на Всероссийской научно-технической конференции с международным участием «Перспективные информационные технологии и интеллектуальные системы в науке, инженерии и образовании», г. Таганрог, (май 2004г.) и дважды на Международной научно-практической конференции «Интеллектуальные и многопроцессорные системы», г. Дивноморск (сентябрь 2005г.), г. Кацивели (Украина, 2006г.).
Результаты проведенных в диссертации исследований использованы при модернизации серийно выпускаемого изделия Наяда 25 Ml, а также в научно-исследовательских и опытно-конструкторских разработках по созданию современных перспективных средств автоматической радиолокационной прокладки (САРП) на предприятии ОАО «Горизонт», г. Ростов-на-Дону.
139
Список литературы диссертационного исследования кандидат технических наук Звягинцев, Николай Сергеевич, 2006 год
1. Зайков В. И. Единая математическая модель маневрирующих судов/Крыловские чтения: тез. докл. Всесоюзн. Научно-техн. Конф./ НТО им. акад. А. Н. Крылова. - Л.Судостроение, 1978.
2. Ольшамовский С. Б. Повышение безопасности мореплавания. Часть 1,2,3. Новороссийск: НГМА, 2000г.
3. Ольшамовский С. Б., Перекрестов А. Н. Исследование расхождений крупнотоннажных судов в море. ЦБНТИ ММФ, серия «Безопасность мореплавания», вып. 2. (152), 1983.
4. Instruction manual for ECDIS JAN 3590 Japan Radio Co. LTD.
5. Operator's manual for ECDIS FEA 2100/2105 FURUNO Electric Co. LTD: Nishinomiya, Japan.
6. Кузнецов B.B., Смагин B.A. Прямая и обратная задачи надежности сложных программных комплексов / Надежность и контроль качества./ -1997.-№ 10.
7. Mysa J. A theory of software reliability and its application. /IEEE Trans, on software Eng./ sept. 1975. - vol.SE-1.
8. Литвинский И.Е., Прохоренко B.A. Обеспечение безотказности персональных ЭВМ. М.: Радио и связь, 1993.
9. Дмитриев С. П., Колесов Н. В., Осипов А. В. Информационная надежность, контроль и диагностика навигационных систем. СПб.: ГНЦ РФ - ЦНИИ «Элекроприбор», 2003.
10. Shreekant Thakkar, Tom Huff. The Internet Streaming SIMD Extentions. /Intel Technologies/ 1999. - vol.2.
11. Jagannath Keshava, Vladimir Pentkovskiy. Pentium III Processor Implementation Tradeoffs. /Intel Technologies/ 1999. - vol.2.
12. Glenn Hinton, Dave Sager и др. The Microarchitecture of Pentium 4 Processors. /Intel Technologies/ 2001. - vol. 1.
13. Marius Cornea-Hasegan. Providing the IEEE Correctness of Iterative Floating Point Square Root, Divide and Remainder Algorithms. /Intel Technologies/ -1998.-vol.3.
14. AMD Athlon™ Processor x86 Code Optimization Guide: Advanced Micro Devises Corp.
15. Mobile AMD-K6®-2+ Processor Data Sheet: Advanced Micro Devises Corp.
16. Стив Павловски. Архитектура платформ будущего. /Technology@Intel/ -2006.-vol.1.
17. А. П. Пятибратов, JI. П. Гудыно, А. А. Кириченко. Вычислительные системы, сети и телекоммуникации. М.: Финансы и статистика, 2005.20.1nstallation and user's manual for ECDIS "DataBridge 2000".
18. Radar 3000 Instruction manual. Japan, Tokyo: Japan Radio Co. LTD, 2001.22.0perating Information for Nucleus Radar Systems with AIS. England, London: Kelvin Hughes Publication №2029, 2003.
19. ECDIS EC 1000 EC1000B Technical Manual. Finland, Furuno Publication № 802013.
20. Pathfinder®ST ECDIS Operator Manual. Germany, Kiel: Raytheon Marine, 2002.
21. Pathfinder®ST MK2 Radar Operator Manual. Germany, Kiel: Raytheon Marine, 2002.
22. Workshop Manual Technical and Maintenance Information for Nucleus 3 Radar Systems. England, London: Kelvin Hughes Publication, 2003.
23. SIMRAD GN33 GPS Navigator Manual.- Germany, Hamburg: SIMRAD A Kongsberg Company, 2002.
24. GP-90 Dual Operator Manual. Japan, Nishinomiya: Furuno Electric Co. Publ. № ОМЕ 44271,2003.
25. Color Echo Sounder JFV-90 Instruction Manual. Japan, Tokyo: Japan Radio Co. LTD, 2002.
26. Marine Radar FR 8051/8111/8252 Installation Manual. Japan, Nishinomiya: Furuno Electric Co. Publ. № IME 34240 F, 2001.
27. JMA 5104/5106/5110 Instruction Manual. Japan, Tokyo: Japan Radio Co. LTD, Code № 7ZPRD0590,2001.
28. Бранец В. H., Шмыглевский И. П. Введение в теорию безплатформенных инерциальных систем. М.: Наука, 1992.
29. Парини Д. Система «Дивик» для решения сложных навигационных задач. -Жура. «Электроника», 1966, №18.
30. Van der Veen A.J., Deprettere E.F. Parallel VLSI matrix pencil algorithm for high resolution direction finding /IEEE Trans, on signal processing./-1991.-Vol.39,No.2.
31. Van der Veen A.J., Ober P.B., Deprettere E.F. Azimuth and elevation computation in high resolution DOA estimation /IEEE Trans, on signal processing./-1992.-Vol.40,No.7.
32. Voider J.E. The CORDIC Trigonometric Computing Technique. /IRE Trans. On Electronic Computers./ ,1959, Vol. EC-8 (3)
33. Meggit J.~E. Pseudo Division and Pseudo Multiplication Processes /IBM Journal of Research and Development. /,1962, Vol.6.
34. Walther J.S. A Unified Algorithm for Elementary Functions. /AFIPS Conf. Proc. / ,1971, Vol. 38.
35. Байков В. Д. Вычисление логарифмических и показательных функций по методу «цифра за цифрой» в ЦВМ с плавающей запятой. Изв. вузов. Приборостроение, 1977, т. 20, - №5.
36. Банков В. Д. Селютин С. А. Аппаратурно-ориентированный метод решения задач линейной алгебры. АВТ, 1983, - №1.
37. Смолов В.Б., Байков В. Д. Перспективные направления использования метода вычислений «цифра за цифрой» в микропрограммных процессорах. Изв. Вузов. Приборостроение. 1978,- т.21,№5.
38. Байков В. Д. Смолов В. Б. Аппаратурная реализация элементарных функций в ЦВМ. Л.: Изд. ЛГУ, 1975.
39. Каляев А. В. Многопроцессорные системы с программируемой архитектурой. -М.: Радио и связь, 1984.
40. Духнич Е. В. Каляев А.В. Алгоритмы для аппаратурной реализации преобразования компонент тензоров /Автоматика и вычислительная техника./ I977.-N2.
41. Духнич Е. В. Мурашов С.В. Два варианта алгоритмов для быстрой аппаратурной реализации линейного преобразования отражения /Проектирование ЭВМ: Межвуз. Сб. Научн. трудов.ЛРязань: РГРА, 1992.
42. Духнич Е.И., Егунов В.А. Алгоритмы многомерных отражений, ориентированные на систолическую реализацию /Проектирование ЭВМ: Межвузовский сборник научных трудов./ Рязань : РГРА, 1994.
43. Духнич Е.И. Алгоритмы быстрого преобразования Якоби для мультипроцессорной реализации /Многопроцессорные вычислительные структуры: Межведомственный тематический научный сборник./ -Таганрог: ТРТИ, 1989.- вып. II (XX).
44. Деревенсков С.О. Быстрый ДЛП-алгоритм многомерного вращения вектора /Волгоград.гос.техн.ун-т./ Волгоград, 1995.-4с.- Деп. В ВИНИТИ. № 2442 - В95.
45. Van der Veen A.J., Deprettere E.F., Swindlehurst A.L. Subspace-based signal analysis using singular value decomposition /Proc. of the IEEE./-1993 .-Vol.81.
46. Delosme J.-M., Ipsen I.C. Parallel Solution of Symmetric Positive Definite Systems with Hyperbolic rotations /LINEAR ALGEBRA AND ITS APPLICATIONS./- 1986.- Vol.77.
47. Hsiao S.-F., Delosme J.-M. Parallel Processing of Complex Data Using Quaternion and Pseudo-Quaternion CORDIC Algorithms /In Proceedings of the ASAP'94 Conf./- University of California: 1994.
48. Hsiao S.-F., Delosme J.-M. Householder CORDIC Algorithms /IEEE Transactions on Computers./ 1995. - Vol. 44(8).
49. Hsiao S.-F., Delosme J.-M. Parallel Singular Value Decomposition of Complex Matrices Using Multidimensional CORDIC Algorithms. /IEEE Trans. On Signal Processing./- 1996. Vol. (3).
50. Cavallaro J.R., Elster A.C. Complex Matrix Factorizations with CORDIC Arithmetic /Technical Report 89-1071/ Department of Computer Science, Cornell University.- 1989.
51. Cavallaro J.R., Hemkumar N.-D. Efficient complex matrix transformationsthwith CORDIC /In Proceedings of the 11 IEEE Symposium on Computer Arithmetic./- Windsor, Ontario.- 1993.
52. Paul S., Gotze J, Sauer M. Error Analysis of CORDIC-Based Jacobi Algorithms. /IEEE Transactions on Computers./ 1995. - Vol. 44(7).
53. Elster A.C. A CORDIC Processor Array for the SVD of a Complex Matrix. /R. Vaccaro, Ed., SVD and Signal Processing II./-Amsterdam: Elsevier Science, 1991.
54. Freeman S., O'Donnell M. A Complex Arithmetic Digital Signal Processor Using CORDIC Rotators /In Proceedings of the APPLICATION IMPLEMENTATIONS AND MAPPINGS Conf./ 1995. - Vol. 5.
55. Духнич Е.И., Лукашева Г.Н., Серов A.A. Модифицированные алгоритмы дискретных линейных преобразований вращения /Многопроцессорные вычислительные структуры./ -Таганрог, 1990.-Вып.12 (XXI).
56. Сверхбольшие интегральные схемы и современная обработка сигналов: Пер. с англ./Под ред. С.Гуна, Х.Уайтхауза, Т.Кайлата./- М.: Радио и связь, 1989.
57. Владимиров В. В. Алгоритм кватернионного преобразования и его вычислительные возможности./Многопроцессорные вычислительные структуры. /- Таганрог: ТРТИ, 1987.- Вып. 9.
58. Авторское свидетельство № 1472902. Устройство для преобразования координат (Владимиров В. В.) опубл. БИ. №14,- 1989.
59. Владимиров В. В. Алгоритм сопроцессора дискретного кватернионного преобразования. /Многопроцессорные вычислительные структуры./.-Таганрог: ТРТИ, 1989 с. Вып. 11.
60. Авторское свидетельство № 1403062. Устройство для преобразования координат вектора в трехмерном пространстве (Владимиров В. В. и др.) опубл. БИ. №22,- 1988.
61. Владимиров В. В. Звягинцев Н. С. Решение задачи автосопровождения по спутниковым обсервациям. / Сборник научных трудов НГМА / -Новороссийск: НГМА 2003, вып. №8.
62. Лукин А. Н. Кожухов В. П. и др. Математические основы судовождения. -М.: Транспорт, 1993.
63. Владимиров В. В. Звягинцев Н. С. Вычислительные возможности алгоритма трехмерного дискретного вращения вектора. /Проблемы водного транспорта./ Известия ВУЗов, Северо-Кавказский регион, 2004.
64. Сизов В. В. Морские навигационно-картографические системы. -Ростов н/Д: ИРИДИС, 2000.
65. Кешин М. О. и др. Кинематическое позиционирование в реальном масштабе времени с помощью используемой Интернет дифференциальной GPS разработки НАСА. /Гироскопия и Навигация/СПб.: ЦНИИ «Электроприбор», 2004г, вып. 47.
66. Пелевин А. Е. Стабилизация движения судна на криволинейной траектории. /Гироскопия и Навигация./- СПб.: ЦНИИ «Электроприбор», 2002, вып. 37.
67. Кузнецов В.В., Смагин В.А. Прямая и обратная задачи надежности сложных программных комплексов / Надежность и контроль качества./ -1997.-№ 10.
68. Муса Дж.Д. Измерение и обеспечение надежности программных средств. /ТИИЭР/, 1980, Т.68, №9.
69. Карповский Е.Я., Чижов С.А. Надежность программной продукции. -Киев: Техника, 1990.
70. Mysa J. A theory of software reliability and its application. /1ЕЕЕ Trans, on software Eng./ sept. 1975. - vol.SE-1.
71. Духнич Е.И. Синтез класса алгоритмов и вычислительных структур для реализации дискретных линейных преобразований: Диссерт. на соискание уч. степени д.т.н. Таганрог, 1985.
72. Андреев А. Е. Аппаратурно-ориентируемые алгоритмы типовых унитарных преобразований линейной алгебры: Диссерт. на соискание уч. степени к.т.н. Волгоград, 1998.
73. Тесленко А. В. Разработка и исследование аппаратурно-ориентированных алгоритмов дискретных косинусных преобразований: Диссерт. на соискание уч. степени к.т.н. Волгоград, 1998.
74. Духнич Е. И. Об одном подходе к выполнению цифровых линейных преобразований // Кибернетика. 1985.- N5.
75. Егунов В.А. Разработка и исследование аппаратурно-ориентированных алгоритмов быстрого преобразования Хаусхолдера: Диссерт. на соискание уч. степени к.т.н.- Волгоград, 1996.
76. Стрельников Олег Иванович. Разработка и исследование аппаратурно-ориентированных алгоритмов для нахождения собственных значений матриц. Диссерт. на соискание уч. степени к.т.н. Волгоград, 2002.
77. Духнич Е.И., Деревенсков С.О. ДЛП-алгоритмы многомерных вращений для СБИС-реализации /Многопроцессорные вычислительные структуры: Междуведомственный тематический научный сборник сборник./ -Таганрог: ТРТИ, 1995.- Вып. 15-16.
78. Деревенсков С.О. Быстрый ДЛП-алгоритм многомерного вращения вектора /Волгоград.гос.техн.ун-т./- Волгоград, 1995.-4с.- Деп. В ВИНИТИ. № 2442 В95.
79. Авторское свидетельство №959071. Вычислительное устройство. (Владимиров В. В. и др.) опубл. БИ №34, 1982.
80. Духнич Е. И., Лученко А. Е. и др. Итерационный способ решения ОГЗ для преобразования гиперболических координат в геодезические. Деп. рук. №3-6679, МРС, ТТЭ, серия 0, №31,1981.
81. Духнич Е. И., Лученко А. Е. и др. Векторный метод решения обратной геодезической задачи. /Вопросы радиоэлектроники./ Сер. ОТ, 1980, вып.9.
82. Духнич Е. И., Митраков В. А. О возможности расширения набора операций вычислителя DIVIC. / В кн.: III Всесоюзная конференция по аналоговой вычислительной технике./ М.: НТО РЭС им. А. Н. Попова, 1969.
83. Духнич Е. И., Бартошевский В. Д. Алгоритмы решения ОГЗ для функциональных расширителей навигационных ЭВМ. /Известия ЛЭТИ./ -Л.: 1981,-вып. 285.
84. Демидович Б. П., Марон И. А. Основы вычислительной математики. М. : Наука, 1966.
85. Каляев А. В. Теория цифровых интегрирующих машин и структур. М.: «Советское радио», 1970.
86. Г.Корн, Т. Корн. Справочник по математике для научных работников и инженеров. СПб.: издательство «Лань», 2003.
87. Владимиров В. В. Звягинцев Н. С. Анализ и синтез алгоритмов дискретного вращения вектора для решения задач морской навигации. /Проблемы водного транспорта./ Известия ВУЗов, Северо-Кавказский регион, 2004.
88. Казанова Г. Векторная алгебра. М. Мир, 1979.
89. Владимиров В. В. Звягинцев Н. С. Граждан Д. В. Анализ сходимости алгоритмов дискретных кватернионных преобразований. /Перспективные информационные технологии и интеллектуальные системы. /- Таганрог: ТРТУ, 2005,-№1(21).
90. В.В. Владимиров, Н. С. Звягинцев, Д. В. Граждан. Применение кватернионных преобразований для описания траектории судна. /Проблемы водного транспорта./ Известия ВУЗов, Северо-Кавказский регион, 2004.
91. Программный код алгоритма ДКП (п=0)386р
92. STK SEGMENT STACK USE16 DB 256 DUP (?) STK ENDS
93. DATA SEGMENT PARA PUBLIC "DATA" USE16kSISW DB 1 ;REVERSE/DIRECT SWITCHgXO DD 10.0 ;INPUT COORDINATES gYO DD 10.0 gZO DD 10.0mAAx DD 12.0 ;ANGLES TO ROTATE ON mAAyDD 12.0 mAAz DD 12.0
94. M DD 1.0 ;ACCURACY DATA ENDS
95. EXTRN ITERALGOR:FAR EXTRN REVERSE:FAR
96. CODE SEGMENT PARA PUBLIC "CODE" USE16 MAIN:
97. ASSUME CS:CODE, DS:DATA MOV AX, DATA MOV DS, AX XOR AX, AX
98. CALL ITERALGOR JMP EXIT REVSCALL:
99. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
100. CLUDE SGNMACRO.INC INCLUDE macroSC.INC INCLUDE macroROT.INC INCLUDE NULLaxis.INC INCLUDE ALGOmacr.INC INCLUDE STOPcond.INC KSIS STRUC STRUCTURE FOR ROTAXIS X DD (?) Y DD (?) Z DD (?) KSIS ENDS .386p
101. ROTATION AXIS & kSi SWITCH1. RTAXIS DB (?)
102. STOPAXIS DB (?) ;STOP CRITERIA FOR REVERSE CALCULATIONS kSISW DB (?) ; 1 IS TRUE, 0 FALSE - REVERSE CALC SWITCHхххххххххххххххххххххххххххххххххххххххххххххххххххххххххххххх COMMONDATA ENDS
103. DATA SEGMENT PUBLIC PARA "DATA" USE16 ADDRSTOP DW ENDCYCLE
104. RADS DD 0.017453292519943295769236907684886 ;PI/180 RADSdiv60 DD 0.0002908882086657215961539484614 ;RADS/60 AuxAccDD 1.1547005383792515290182975610039 ;2/SQR(3) ;INPUT ANGLES
105. AAx DD (?) AAy DD (?) AAz DD (?)1.TERMIDIATE ANGLES
106. Aix DD (?) AiyDD (?) Aiz DD (?)1. SCALE VALUESdAx DD (?) dAy DD (?) dAzDD (?)
107. Mx DD (?) My DD (?) Mz DD (?)kSi VALUES
108. KSIKSIS о ;STRUCTURE FOR ROTAXIS
109. SGNS KSIS о ;KSIS STRUC FOR MEMORIZING SGN (AAx, AAy, AAz)
110. NLAXISBF KSIS о ; FOR NULLAXIS MACRO
111. NLAXISAF KSIS о ;F0R ALTERNATIVE STOPkSiX DD (?)kSiY DD (?)kSiZ DD (?)1. STEP & ACCURACY1. STP DD (?) ;M DD 600.01. COORDINATEScX0 DD 10.0 ;cY0 DD 10.0 ;cZ0 DD 10.0cXl DD (?) cYl DD (?) cZl DD (?)cX2 DD (?) cY2 DD (?) cZ2 DD (?)
112. XFINAL DD (?) YFINAL DD (?) ZFINAL DD (?)
113. ROTATION AXIS & KSI SWITCH ;RTAXIS DB "X"
114. STOPAXIS DB "Y" ;STOP CRITERIA FOR REVERSE CALCULATIONS ;kSISW DB 1 ; 1 IS TRUE, 0 FALSE - REVERSE CALC SWITCH1. THREE DD 3.0 TWO DD 2.01.DD (?)1. DD (?)1.I DD (?) DATA ENDS1. PUBLIC ITERALGOR
115. CODE SEGMENT PUBLIC PARA "CODE" USE16 ASSUME CS:CODE, DS:DATA, ES:COMMONDATA1. MAIN:1.ERALGOR PROC FAR1. MOV AX, COMMONDATA1. MOV ES, AX1. XORAX, AX1. MOV AX, DATA1. MOV DS, AX1. XORAX, AX1. FINIT
116. FLD gAAz FLD gAAy FLD gAAx FSTP AAx FSTP AAy FSTP AAz1. XXXXXXXXXX
117. SCALING & CALCULATING STEP ;XXXXXXXXXX1.fl: ;FIRST KSI SWITCH CONDITION
118. MOV AL, kSISW CMP AL, 1 JETRUE1
119. ELSE1: ;KSI SWITCH IS FALSE1. SCALE AAx, AAy, AAz, RADS
120. FSTP Mx RETRIEVING SCLAED ANGLES FROM NCP STACK1. FSTP My FSTP Mz1. CALCULATING STEP
121. FMUL RADSdiv60 RADIANS FSTM1. FMUL AuxAcc FSTP STP1. JMP ENDIF1
122. TRUE1: FLDM FLD1 FLD1 FLD1 FSTP Mx FSTP My FSTP Mz
123. FMUL RADSdiv60 RADIANS FSTP STP1. ENDIF1:1. XOR AL, AL ;END IF11. FLDMz ;dAj=Mj*STP
124. FLD My FLD Mx FMUL STP FSTP dAx FMUL STP FSTP dAy FMUL STP FSTP dAz ;XXXXXXXXXX
125. END SCALING & CALCULATING STEP ;XXXXXXXXXX
126. XXXXXXXXXX ;SETTING ROTATION AXIS ;XXXXXXXXXX
127. SGN1 AAx FSTP SGNS.X SGN1 AAy FSTP SGNS.Y SGN1 AAz FSTP SGNS.Z•xxxxxxxxxx
128. HERE BEGINS THE CYCLE ;ХХХХХХХХХХ
129. MOV ECX, 1 ;STOP CONDITIONS PUT ZERO IN THIS REGISTER
130. CONVERTING IN MINUTES AND MINUTES IN
131. SAVING ACCURACY FOR NORMSTOP
132. STP = 2*M/SQR(3) ;SAVING STP1. KSI SWITCH IS TRUE1. Mx=My=Mz=I ;STP=M
133. CONVERTING STEP IN MINUTES AND MINUTES IN1. DO CYCLE:1.ITIAL ALGORITHM DATA1. CMP ECX, 1 JNE COUNTER2
134. FLD cZO ;IF IT IS FIRST STEP X1=X2=X0, SAME OTHER COORDS1. FLD cYO FLD cXO
135. FST cX2 FSTP cXl FST cY2 FSTP cYl FST cZ2 FSTP cZl1. JMP ENDCOUNTER
136. COUNTER2: CMP ECX,2 JNE ENDCOUNTER
137. FLD cZO ;IF IT IS SECOND STEP X1=X0, SAME OTHER COORDS1. FLD cYO1. FLD cXO1. FSTPcXl1. FSTP cYl1. FSTP cZl1. ENDCOUNTER:
138. END INITIAL ALGORITHM DATA
139. SECOND KSI SWITCH CONDITION1.f2:
140. MOV AL, kSISW CMP AL, 1 JE TRUE2 ELSE2: SGN2 AAx, Aix FSTP kSiX SGN2 AAy, Aiy FSTP kSiY SGN2 AAz, Aiz FSTP kSiZ
141. KSI SWITCH IS FALSE kSiX=SGN(Ax-Aix) kSiY=SGN(Ay-Aiy) kSiZ-SGN(Az-Aiz)1. JMP ENDIF2
142. TRUE2: ;KSI SWITCH IS TRUE
143. ROTAXIS KSI, RTAXIS, cX2, cY2, cZ2 ;SETTING kSis AS PER REQ ROTATION AXIS FSTP kSiX FSTP kSiY1. FSTP kSiZ1. ENDIF2: ;END IF21. XORAL, AL
144. XXXXXXXXXX ; ALGORITHM MACRO :XXXXXXXXXX1. ALGORITHM
145. XXXXXXXXXX ; ALGORITHM ENDS ;XXXXXXXXXX
146. RE-ASSINING INITIAL DATA AND CHECKING FOR STOP1. FLD cZ2 FLD cY2 FLD cX2
147. FSTP cXl FSTP cYl FSTP cZl1. X1=X2 ;Y1=Y2 ;Z1=Z21.f3: ;THIRD KSI SWITCH CONDITION
148. MOV AL, kSISW ;MEMORIZING INITIAL kSiS
149. CMP AL, 1 JNE ENDIF3 TRUE3: ;KSI SWITCH IS TRUE
150. NULLAXIS NLAXISBF, STOPAXIS, cX2, cY2, cZ21. ENDIF3: ;END IF31. XOR AL, AL
151. FLD ZFINAL FLD YFINAL FLD XFINAL
152. FSTP cX2 FSTP cY2 FSTP cZ21.f4: ;FOURTH KSI SWITCH CONDITION
153. MOV AL, kSISW CMP AL, 1 JE TRUE4
154. ELSE4: ;KSI SWITCH IS FALSE1. FLD dAz FLD dAy FLD dAx
155. FMUL SGNS.X FSTP dAx FMUL SGNS.Y FSTP dAy FMUL SGNS.Z FSTP dAz
156. CALCULATING Aij=Aij+dAj*SGN(Aj)
157. FLD dAx FLD Aix FLD dAz FLD Aiz FLD dAy FLD Aiy
158. FADD FXCH ST(1) FADDP ST(2),ST FXCH ST(2)
159. FADDP ST(3),ST ;RESULT IN NCP Z, Y, X
160. FSTP Aiz FSTP Aiy FSTP Aix
161. NORMSTOP AAx, AAy, AAz, Aix, Aiy, Aiz, M CMP ECX, 0 JNEDONEXT JMP ADDRSTOP DONEXT: ;IF STOP TRUE STOP ;ELSE CONTINUE CYCLE JMP ENDIF4 TRUE4: ;KSI SWITCH IS TRUE
162. NULLAXIS NLAXISAF, STOPAXIS, XFINAL, YFINAL, ZFINAL ALTSTOP NLAXISBF, NLAXISAF ZEROCHECK kSiX, kSiY, kSiZ
163. EXIT CYCLE HERE IF STOP IS TRUE CMP ECX, 0 JNE DONEXT 1
164. JMP ADDRSTOP ;IF STOP TRUE STOP DONEXT1: ;ELSE CONTINUE CYCLE
165. FLD dAx ;CALCULATING Aij=Aij+dAj1. FLD Aix1. FLD dAz1. FLD Aiz1. FLD dAy1. FLD Aiy
166. FADD FXCH ST(1) FADDP ST(2),ST FXCH ST(2) FADDP ST(3),ST
167. FSTP Aiz FSTP Aiy FSTP Aix ENDIF4: XORAL, AL1. RESULT IN NCP Z, Y, X1. END IF4
168. C ECX JMP DOCYCLE !!!!!!!!!!!!!!!!!!!!!!! XXXXXXXXXX ENDING ALGORITHM CYCLE XXXXXXXXXX ENDCYCLE: FINIT FLD Aiz FDIV RADS FLD Aiy FDIV RADS FLD Aix FDIV RADS FLD ZFINAL FLD YFINAL FLD XFINAL
169. CREASING CYCLE COUNTER ;IF STOP FALSE CONTINUE
170. CONVERTING BACK IN DEGREES
171. CONVERTING BACK IN DEGREES
172. CONVERTING BACK IN DEGREES1. FLDZ
173. FST NLAXISBF.X ;RE-INITIALIZING ALL DATA IN CASE OF LATER USE1. FST NLAXISBF.Y1. FST NLAXISBF.Z1. FST NLAXISAF.X1. FST NLAXISAF.Y1. FST NLAXIS AF.Z
174. FST Aix FST Aiy FST Aiz FST dAx FST dAy FSTP dAz1. RET ENDP
175. EXITALL: MOV AX, 4C00h INT21H1. CODE ENDS END MAIN386p
176. ROTATION AXIS & kSi SWITCH1. RTAXIS DB (?)
177. STOPAXIS DB (?) ;STOP CRITERIA FOR REVERSE CALCULATIONS kSISW DB (?) ;1 IS TRUE, 0 FALSE - REVERSE CALC SWITCH ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx COMMONDATA ENDS
178. DATA SEGMENT PARA PUBLIC "DATA" USE 16mXO DD 20.0 ;INPUT COORDINATES mYO DD 20.0 mZO DD 20.0mAAx DD (?) ;ANGLES TO ROTATE ON mAAy DD (?) mAAz DD (?)mM DD 0.1 ;ACCURACY
179. ROTATION AXIS & kSi SWITCH mRTAXIS DB "X"'mSTOPAXIS DB "Y" ;STOP CRITERIA FOR REVERSE CALCULATIONS mkSISW DB (?) ; 1 IS TRUE, 0 FALSE - REVERSE CALC SWITCH
180. REVERSE CALCULATIONS OUTPUT VALUES1. AxP DD (?) AyP DD (?)1. AzP DD (?)
181. AxVrDD (?) Ay Vr DD (?) AzVr DD (?)
182. PrjYOZ DD (?) PijXOZ DD (?) PrjXOY DD (?)1. DATA ENDS
183. CODE SEGMENT PARA PUBLIC "CODE" USE16
184. EXTRN ITERALGOR-.FAR MAIN:
185. ASSUME CS:CODE, DS:DATA, ES:COMMONDATA MOV AX, DATA MOV DS, AX XORAX, AX
186. MOV AX, COMMONDATA MOV ES, AX XORAX, AX1. SETTING ACCURACY1. FINIT1. FLD mM1. FSTP M1. XXXXXXXXXX1. FIRST ROUND OF CYCLES1. XXXXXXXXXX1. ROTATION AROUND X ON ZOX1. XXXXXXXXXX
187. SETTING INPUT DATA FOR ALGORITHM FLD mZO FLD mYO FLDmXO FSTP cXO FSTP cYO FSTP cZO MOV AL, "Y" MOV STOPAXIS, AL MOV AL, "X" MOV RTAXIS, AL MOV AL, 1 MOV kSISW, AL
188. CALL ITERALGOR ;SAVING OUTPUT DATA1. FSTP сХО FSTP cYO
189. FST PrjYOZ ;SAVING PROJECTION ON YOZ FSTP cZO
190. FSTP AxP ;Ax ANGLE ;XXXXXXXXXX
191. END ROTATION AROUND X ON ZOX1. XXXXXXXXXX1. XXXXXXXXXX
192. ROTATION AROUND Y ON XOY ;XXXXXXXXXX FINIT
193. SETTING INPUT DATA FOR ALGORITHM MOVAL, "Z"
194. MOV STOPAXIS, AL ;NO NEED TO RESET cXO, cYo, cZO THEY WERE RE-SAVED ABOVE
195. MOV AL, "Y" ;NO NEED TO SET kSISW TO 1 IT WAS SET TO 1 ABOVE1. MOV RTAXIS, AL1. CALL ITERALGOR FXCH ST(4)
196. FSTP AxVr ;SAVING YOZ PROJECTION ANGLE FINIT1. XXXXXXXXXX1. END FIRST ROUND OF CYCLES1. XXXXXXXXXX1. XXXXXXXXXX1. SECOND ROUND OF CYCLES1. XXXXXXXXXX1. ROTATION AROUND Y ON XOY1. XXXXXXXXXX
197. SETTING INPUT DATA FOR ALGORITHM FLD mZO FLD mYO FLD mXO FSTP cXO FSTP cYO FSTP cZO MOVAL, "Z" MOV STOPAXIS, AL MOV AL, "Y" MOV RTAXIS, AL
198. CALL ITERALGOR ;SAVING OUTPUT DATA FST PrjXOZ ;SAVING PROJECTION ON YOZ FSTP cXO FSTP cYO FSTP cZO1. FXCH ST(1)
199. FSTPAyP ;Ay ANGLE ;XXXXXXXXXX
200. END ROTATION AROUND Y ON XOY ;XXXXXXXXXX ;XXXXXXXXXX ROTATION AROUND Z ON ZOY ;XXXXXXXXXX FINIT
201. SETTING INPUT DATA FOR ALGORITHM MOV AL, "X"
202. MOV STOPAXIS, AL ;NO NEED TO RESET cXO, cYo, cZO THEY WERE RE-SAVED ABOVE
203. MOV AL, "Z" ;NO NEED TO SET kSISW TO 1 IT WAS SET TO 1 ABOVE1. MOV RTAXIS, AL1. CALL ITERALGOR FXCH ST(5)
204. FSTP AyVr ;SAVING XOY PROJECTION ANGLE FINIT1. XXXXXXXXXX
205. END SECOND ROUND OF CYCLES iXXXXXXXXXX1. XXXXXXXXXX1. THIRD ROUND OF CYCLES1. XXXXXXXXXX1. ROTATION AROUND Z ON ZOY1. XXXXXXXXXX
206. SETTING INPUT DATA FOR ALGORITHM FLD mZO FLD mYO FLD mXO FSTP cXO FSTP cYO FSTP cZO MOV AL, "Xм MOV STOPAXIS, AL MOV AL, "Z" MOV RTAXIS, AL
207. CALL ITERALGOR ;SAVING OUTPUT DATA FSTP cXO
208. FST PrjXOY ;SAVING PROJECTION ON XOY FSTP cYO FSTP cZO FXCH ST(2)
209. FSTPAzP ;Az ANGLE ;XXXXXXXXXX
210. END ROTATION AROUND Z ON ZOY ;XXXXXXXXXX ;XXXXXXXXXX ROTATION AROUND X ON XOZ ;XXXXXXXXXX FINIT
211. SETTING INPUT DATA FOR ALGORITHM MOV AL, "Y" MOV STOPAXIS, AL MOV RTAXIS, AL1. CALL ITERALGOR FXCH ST(3)
212. FSTP AzVr ;SAVING XOY PROJECTION ANGLE1. XXXXXXXXXX1. END THIRD ROUND OF CYCLES1. XXXXXXXXXX1. FINIT1. FLD AzVr1. FLD AyVr1. FLD AxVr1. FLD PrjXOY1. FLD PrjYOZ1. FLD PrjXOZ
213. EXIT: MOV AX, 4C00h INT21H CODE ENDS END MAIN1. ALGORITHM MACRO FINIT
214. CALCULATING I, II, III FLD cXl FLD cX2 FMULTHREE FSUBR
215. FDIV TWO ;I = (3*X2-Xl)/2 FSTI
216. FLD cYl FLD cY2 FMUL THREE FSUBR
217. FDIV TWO ;II = (3*Y2-Yl)/2 FST II1. FLD cZl FLD cZ21. FMUL THREE FSUBR
218. FDIV TWO ;III = (3*Z2-Zl)/2 FST III1. FLD dAy FLD kSiY FMUL
219. FMUL ;dAy*kSiY*III, STACK RESLT1III00.
220. FXCH ST(1) ; STACK IIRESLT1I00. FLD dAz FLD kSiZ FMUL
221. FMUL ;dAz*kSiZ*II, STACK RESLT2RESLT1I00 FSUB ;RESULT 1 -RESU LT2, STACK NEWRSLTI00 FLD cX2
222. FADD ;XFINAL FSTP XFINAL ; STACK I00.1. FLD dAz FLD kSiZ FMUL
223. FMUL ;dAz*kSiZ*I, STACK RESLT100.1. FLD III1. FLD dAx1. FLD kSiX1. FMUL
224. FMUL ;dAx*kSiX*III, STACK RESLT2RESLT100. FSUB ;RESULT1-RESULT2, STACK NEWRSLT00. FLD cY2 FADD1. FSTP YFINAL ;STACK 00.
225. FLD II FLD dAx FLD kSiX FMUL
226. FMUL ;dAx*kSiX*II, STACK RESULT00.1. FLD I1. FLD dAy1. FLD kSiY1. FMUL
227. FMUL ;dAy*kSiY*I, STACK RESLT2RESLT100. FSUB ;RESULT1-RESULT2, STACK NEWRSLT00., FLD cZ2 FADD1. FSTP ZFINAL ;STACK 00.1. ENDM
228. THIS MACRO REQUIRES PRE-DIFENED KSIS STRUC ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ROTAXIS MACRO KSI:REQ, STRING 1:REQ, X2:REQ, Y2:REQ, Z2:REQ LOCAL Xc, Yc, Zc, GoOUT
229. XORAX, AX MOV AL, STRING 1 CMP AL, "X" JE Xc1. CMP AL, "Y" JE Yc1. CMP AL, "Z" JE Zc1. Xc:1. SGN1 Y2
230. FSTP KSI.X; USING FREE FIELD TO STORE INTERMIDIATE SGN VALUE SGN1 Z2 FMUL KSI.X FSTP KSI.X FLDZ FST KSI.Y FSTP KSI.Z JMP GoOUT Yc:1. SGN1 X2
231. FSTP KSI.Y ; USING FREE FIELD TO STORE INTERMIDIATE SGN VALUE SGN1 Z2 FMUL KSI.Y FSTP KSI.Y FLDZ FST KSI.X FSTP KSI.Z JMP GoOUT Zc:1. SGN1 X2
232. FSTP KSI.Z; USING FREE FIELD TO STORE INTERMIDIATE SGN VALUE SGN1 Y2 FMUL KSI.Z FSTP KSI.Z FLDZ FST KSI.X FSTP KSI.Y GoOUT: FINIT FLD KSI.Z FLD KSI.Y FLD KSI.X ENDM
233. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
234. ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХхххххххххххххххххххххх1. PART OF ITERALGOR
235. COMPARES 3 SIGNED/UNSIGNED DWORD VALUES ;RETURNES 3 SCALED ABS VALUES ;OUTPUT ON TOP OF NCP STACK
236. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXхххххххххххххххххххххх
237. SCALE MACRO X:REQ, Y:REQ, Z:REQ, CONV:REQ
238. CAL XABS, YABS, ZABS, RADconv, XmoreYxUnZ, XxIsMAX, YxIsMAX, ZxIsMAX,1. GoOUT1. XABS DD (?)1. YABS DD (?)1. ZABS DD (?)1. FINIT FLDX FLDY FLDZ
239. FMUL CONV CALCULATING THEIR ABS VALUES AND CONVERTING DEGREES IN REQ UNITS FSTZ FABS1. FSTP ZABS
240. FMUL CONV CALCULATING THEIR ABS VALUES AND CONVERTING DEGREES IN REQ UNITS FSTY FABS1. FSTP YABS
241. FMUL CONV CALCULATING THEIR ABS VALUES AND CONVERTING DEGREES IN REQ UNITS FSTX FABS1. FSTP XABS1. FLD YABS FLD XABS
242. FCOM COMPARING XABS AND YABS1. FSTSWAX1. SAHF1. JAE XmoreYxUnZ1. FINIT FLD ZABS FLD YABS
243. FCOM COMPARING YABS AND ZABS1. XOR АХ, АХ1. FSTSWAX1. SAHF1. JAE YxIsMAX
244. JMP ZxIsMAX ;Z is MAX and goes for output
245. XmoreYxUnZ: ;XABS >YABS, COMPARING XABS AND ZABS
246. FXCH ST(1) FSTP YABS FLD ZABS FXCH ST(1) FCOM1. XOR AX, AX FSTSW AX SAHF
247. JAE XxIsMAX ;OTHEWISE Z IS MAX1. ZxIsMAX:1. FINIT
248. FLD ZABS ;Z is MAX and goes for output ;SCALING CALCULATIONS WITH MAX = Z1. FLD XABS1. FDIVR ; XABS/ZABS
249. FSTP XABS ;NOW XABS IS SCALED
250. FLD ZABS ;ZABS IS MAX ANGLE FLD YABS1. FDIVR ; YABS/ZABS
251. FSTP YABS ;NOW YABS IS SCALED1. FLD1
252. FSTP ZABS ; Z IS MAX ANGLE, ITS SCALE -1 JMP GoOUT1. YxIsMAX:1. FINIT
253. FLD YABS ;Y is MAX and goes for output ;SCAL1NG CALCULATIONS WITH MAX = Y FLD XABS1. FDIVR ; XABS/YABS
254. FSTP XABS ;NOW XABS IS SCALED
255. FLD YABS ;YABS IS MAX ANGLE FLD ZABS1. FD1VR ; ZABS/YABS
256. FSTP ZABS ;NOW ZABS IS SCALED1. FLD1
257. FSTPYABS ; Y IS MAX ANGLE, ITS SCALE -1 JMP GoOUT1. XxIsMAX:1. FINIT
258. FLD XABS ;X is MAX and goes for output ;SCALING CALCULATIONS WITH MAX = X FLD YABS1. FDIVR ; YABS/XABS
259. FSTP YABS ;NOW YABS IS SCALED
260. FLD XABS ;YABS IS MAX ANGLE FLD ZABS1. FDIVR ; ZABS/XABS
261. FSTP ZABS ;NOW ZABS IS SCALED1. FLD1
262. FSTP XABS ; X IS MAX ANGLE, ITS SCALE -11. GoOUT:
263. FLD ZABS FLD YABS FLD XABS1. ENDM
264. REQUIRES PRE-DEFINED KSIS STRUC ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX NULLaxis MACRO KSINAME:REQ, STRING 1:REQ, X2:REQ, Y2:REQ, Z2:REQ LOCAL Xc, Yc, Zc, GoOUT
265. XORAX, AX MOV AL, STRING 1 CMP AL, "X" JE Xc1. CMP AL, "Y" JE Yc1. CMP AL, "Z" JE Zc1. Xc:1. SGN1 X21. FSTP KSINAME.X1. JMP GoOUT Yc:1. SGN1 Y2
266. FSTP KSINAME.Y JMP GoOUT Zc: SGN1 Z21. FSTP KSINAME.Z GoOUT:1. ENDM
267. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
268. ITIALIZE MACRO MOV AX, @DATA MOV DS, AX XORAX, AX ENDM
269. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxx
270. SGN MACRO ;PART OF ITERALGOR
271. CALCULATES SGN OF DIFFERENCE OF 2 FLOAT VALUES ;ONE OF VALUES IS REQ, ANOTHER OPTIONAL
272. ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХxxxxxxx
273. SGN2 MACRO VALUE 1:REQ, VALUE2:REQ LOCAL POSITIVE, ZERO, NEGATIVE, OUTING FINIT
274. FLD VALUE 1 FLD VALUE2 FSUB1. XORAX, AX FTST
275. FSTSWAX SAHF JZ ZERO JC NEGATIVE POSITIVE: FINIT FLD1
276. JMP OUTING ZERO: FINIT FLDZ
277. JMP OUTING NEGATIVE: FINIT FLD1 FCHS OUTING:
278. ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХххххххх
279. SGN1 MACRO VAL1:REQ LOCAL POS, ZEROl, NEGG, OUTING 1 FINIT FLD VAL1 XOR AX, AX FTST
280. FSTSWAX SAHF JZ ZEROl JC NEGG POS: FINIT FLD1
281. JMP OUTING 1 ZEROl: FINIT FLDZ
282. JMP OUTING 1 NEGG: FINIT FLD1 FCHS OUTING 1: ENDM
283. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX NORMSTOP MACRO AA:REQ, BB:REQ, CC:REQ, A:REQ, B.REQ, C:REQ, M:REQ LOCAL CONTINUE, ELSESTOP1. FINIT1. CALCULATING ABS(Aj-Aij)
284. FLD A FLD AA FLD С FLD CC FLD В FLD BB
285. FSUBR FXCH ST(1) FSUBRP ST(2),ST FXCH ST(2)
286. FSUBRP ST(3),ST ;RESULT IN NCP C, B,A FABS1. FXCH ST(2) FABS1. FXCH ST(1)
287. FABS ;RESULT IN NCP А, С, В
288. FCOMPM COMPARING FIRST VALUE DIFF AX1. FSTSWAX1. SAHF1. JA CONTINUE
289. FCOMP M COMPARING 2ND VALUE DIFF AZ1. FSTSWAX1. SAHF1. JA CONTINUE
290. FCOMP M COMPARING 3RD VALUE DIFF AY1. FSTSWAX1. SAHF1. JA CONTINUE1. ELSESTOP: FINIT
291. XOR ECX, ECX ;SETTING COUNTER RG TO ZERO1. CONTINUE: FINIT ENDM
292. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ;REQUIRES TWO KSIS STUCTURES ALTSTOP MACRO BEFORE:REQ, AFTER:REQ LOCAL STOPIT, CONTINUE XOR AX, AX FINIT
293. FLD BEFORE.Z FLD BEFORE. Y FLD BEFORE.X FCOMP AFTER.X FSTSW AX SAHF
294. JNE STOPIT FCOMP AFTER.Y FSTSWAX SAHF
295. JNE STOPIT FCOMP AFTER.Z FSTSW AX SAHF1. JNE STOPIT JMP CONTINUE1. STOPIT:
296. XOR ECX, ECX ;SETTING COUNTER RG TO ZERO1. CONTINUE: ENDM
297. VIM! I'Ж Л \!<» ичкаа ы pc i i1 'p /f^A^Ul'i!1. K Iо pia.m (лини pc IN. п. I a Kill пнчч'р l aiinoiiiinii рамп i ы Jiuii тмина 11.< . I'a ipafioi ка а.м ори i мин лпскреi in.i\ una u pinioniii.i \ npt-nnpa touaiimi l.ni решения ta.ia'i ммрскми наши ашш»
298. Li/i ia J" Ml". a ia.'wi.c и Н.Л чпи-ж \ k'.iHH.i iv' iu-m:\ h oi;u i • >-KiMK i p\ ■■ Ivi-1:\ pa -.panoi lie оч. lamno ;iqvi;cK'iiiaiii.!\ c|v jc : я аыома-. i: msi p: n:n !>'.j!,,ti'MiH»M срок sa и
299. Pan.»;;,; !.»:-1ч.!»!сь и рлмкл\ .jm »>.",< >pj о ic\t:H'io Кем ом р\ :.ч»."кч ; ьс .V" J о.; i,i :! ;: jno-j;.1 kiMa.ii.ii;ii, и: юла ра qv.no i км комплскоп. \с Ipoiu ! нл.ижпикчж К ). В. С '.'-'>' г,г- 'Г*
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.