Описание работы скрипта DD_CPR_303ST




Скрипт DD_CPR_303ST, написанный на языке программирования «Mathlab», является основной подпрограммой программно-математического модуля, разрабатываемого по проекту…

Алгоритм работы скрипта может быть представлен в виде нижеследующей блок-схемы (рис. 1). Дальше будет дано описание каждого блока в отдельности.

Входные данные: файл данных DD_CPR_DATA1, DOY, Xr, Press, temp, hum.

В этом блоке описываются входные параметры и данные подпрограммы:

DD_CPR_DATA1 содержит массивы из векторов, компонентами которых являются SVN (номер спутника), Xsx, Xsy, Xsz (координаты спутника в системе ESEF), PR1, PR2 (дальности от данного спутника до базового и мобильного приемников, измеренные кодовым методом), CP1, CP2 (дальности от данного спутника до базового и мобильного приемников, измеренные фазовым методом), Epoch (момент времени, в которое было произведено измерение).

DOY – день года (передается в навигационном сообщений)

Xr – координаты базового приемника в EСEF (предполагается что местоположение базового (неподвижного) приемника определены с большой точностью до начала измерений)

Press (значение давления), temp (значение температуры), hum (показатель влажности) – параметры для подсчета поправки в тропосферной модели (передаются в навигационном сообщений)

1. Выделение определенного временного отрезка, при котором не происходит значительных срывов в измерений фаз несущей

В этом блоке необходимо выделить такой отрезок времени, в котором не наблюдается значительных срывов измерений фаз несущей. В случае срыва фаз ищется другой отрезок времени.

2. Создание массива с семью компонентами (SVN, Xs (По трем координатам), первые разности для PR И CP, эпохи)

Вводится новый массив данных {b} с компонентами: SVN (номер спутника), Xsx, Xsy, Xsz (координаты спутника в системе EСEF), PR: = PR1 - PR2 (первые разности для кодового метода), CP: = CP1 - CP2 (первые разности для фазового метода), Epoch (момент времени, в которое было произведено измерение).

3. Удаление измерений спутников, которые не на всем фиксированном промежутке времени находятся в поле зрения базового и мобильного приемников

В этом блоке удаляются измерения спутников, от которых приемник получает сигналы не на всем промежутке заданного отрезка времени, или же измерения, полученные от переотраженных сигналов.

4. Удаление измерений спутников, угол места которых относительно базового приемника в момент измерения меньше десяти градусов (подключение внешней функции ElSin)

В блоке создаются два массива fstep и endep (в первом находятся измерения, сделанные в начальные моменты времени, а во втором – измерения в конце заданного временного отрезка). После чего для этих массивов измерений находится синус угла места спутников относительно базового приемника, и удаляются те измерения спутников, для которых синус угла меньше sin = 0.17

5. Изменение структуры массива данных (разделение первичного массива на три матрицы)

В этом блоке создаются три матрицы dpr размерности (m, n), dcp размерности (m, n) и Xs размерности (3, n, m), где m – количество эпох, n – количество спутников. Элементами этих матриц являются следующие измеренные значения:

dpr (i, j) – первая кодовая разность в эпохе i для спутника j.

dcp (i, j) - первая фазовая разность в эпохе i для спутника j.

Xs (k, j, i) – компонента k вектора Xs в системе EСEF в эпохе i для спутника j.

6. Производится «сглаживание» для измеренных значений в местах проскальзывания цикла (подключение внешней функции FCS)

Входными данными для этого блока является dcp – матрица первых фазовых разностей. Эта матрица обрабатывается внешней функцией FCS, которая выполняет следующие операций: вычисляет матрицу вторых фазовых разностей относительно значений первого спутника, находит матрицу значений проскальзывания цикла с помощью «полуокругления» (для этого подключается функция halfround), а затем округления локальных разностей вторых фазовых разностей. Матрица значений проскальзывания цикла используется для корректировки входной матрицы первых фазовых разностей.

7. Расчет двойной кодовой разности

Значения вторых кодовых разностей определяются как разность между значениями первых кодовых разностей и значением первой кодовой разности для первого в списке спутника.

8. Расчет двойной фазовой разности (целочисленных остатков)

Значения вторых фазовых разностей определяются как разность между значениями первых фазовых разностей и значением первой фазовой разности для первого в списке спутника.

9. Первый проход: веществозначное кодово-фазовое решение (подключение внешних функции Cubfit, correctedEx, ECEF2llh, locvert, X2corr, DDTdr_M, DDIdr, VEСEF2enu)

В этом блоке находится кодово-фазовое решение навигационной задачи без учета целочисленной природы вторых фазовых разностей (то есть без учета того что вторая фазовая разность дальностей ddcp равна N*λ, где λ – длина волны сигнала со спутника, а N – целое число). Таким образом, одним из результатов первого прохода будет вектор, компонентами которого являются целые числа, полученные из округления вычисленных веществозначных N. Этот вектор является входным параметром (кандидатом) для LAMBDA метода.

В блоке используются нижеследующие внешние функций:

cubfit.m – скрипт производит кубическую интерполяцию входной функций полиномом.

CorrectedEx.m – функция вычисляет коррекцию псевдодальности возникающую из за допущения рабочей математической модели. В математической модели было сделано упрощение о том что единичные вектора направленные от базового и мобильного приемников к спутникам коллинеарны.

ecef2llh - библиотека для вычисления геодезических координат. Находит широту, долготу, высоту обьекта при заданных ECEF координатах этого объекта.

locvert.m - вычисление локальной вертикали.

X2corr.m - коррекция на несинхронность получения данных базовым и мобильным приемниками.

DDTdr_M.m - коррекция для двойных разностей вызванная тропосферной ошибкой.

DDIdr.m - коррекция для двойных разностей вызванная ионосферной ошибкой.

VECEF2ENU.m - преобразование координат.

10. Вычисление целочисленных неопределенностей с помощью LAMBDA Метода (подключение внешней функций Lambda2)

Входными данными блока являются вещественные значения неопределенностей и матрица ковариаций неопределенностей, а выходными данными – определенные методом целочисленные неопределенности.

К Lambda2 подключаются внешние функций decorrel (декоррелирует матрицу ковариации неоднозначностей), chistart (вычисляет первоначальный размер искомого элипсоида в пространстве значений кандидатов) и lsearch (осуществляет процедуру поиска кандидатов).

11. Второй проход: кодово-фазовое решение с разрешенными целочисленными неопределенностями

С найденными в предыдущем блоке целочисленными неопределенностями осуществляется второй проход. Подключается внешняя функция CorrectedEx.

CorrectedEx.m – эта функция вычисляет коррекцию псевдодальности, возникающую из за допущения рабочей математической модели. В математической модели было сделано упрощение о том что единичные вектора направленные от базового и мобильного приемников к спутникам коллинеарны.

12. Результаты: координаты вектора базовой линий

На выходе матлабовского скрипта DD_CPR_303ST получают координаты вектора базовой линий в системах ECEF и ENU.

Рисунок 3 – блок-схема алгоритма работы основного скрипта



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-02-24 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: