skyplot

Постройте спутниковый азимут и данные о вертикальном изменении

Описание

пример

skyplot(azdata,eldata) создает график неба с помощью азимута и данных о вертикальном изменении, заданных как векторы в градусах. Углы азимута измеряются в градусах, по часовой стрелке положительные от Северного направления. Углы возвышения измеряются от линии горизонта с 90 градусами, являющимися непосредственно. Для получения дополнительной информации об элементах графика неба фигуры, смотрите Основные Элементы Графика Неба.

skyplot(azdata,eldata,labeldata) задает метки данных как массив строк с элементами, соответствующими каждой точке данных в azdata и eldata входные параметры.

skyplot(status) задает азимут и данные о вертикальном изменении в структуре с полями SatelliteAzimuth и SatelliteElevation.

пример

skyplot(___,Name,Value) задает опции с помощью одних или нескольких аргументов name-value в дополнение к входным параметрам в предыдущих синтаксисах. Аргументы name-value являются свойствами SkyPlotChart объект. Для списка свойств смотрите SkyPlotChart Properties.

skyplot(parent,___) создает график неба в фигуре, панели или вкладке, заданной parent.

h = skyplot(___) возвращает график неба как SkyPlotChart объект, h. Используйте h изменить свойства графика после создания его. Для списка свойств смотрите SkyPlotChart Properties.

Примеры

свернуть все

Создайте модель датчика GNSS как gnssSensor Система Object™.

gnss = gnssSensor; 

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

pos = [0 0 0]; 
vel = [0 0 0]; 
[~, ~, status] = gnss(pos, vel); 
satAz = status.SatelliteAzimuth; 
satEl = status.SatelliteElevation; 

Постройте спутниковые постионы.

skyplot(satAz,satEl) 

Figure contains an object of type skyplot.

Анимируйте траекторию спутниковых положений в зависимости от времени от датчика GNSS.

Инициализируйте фигуру графика неба. Укажите соответствующую продвигающуюся во время информацию.

skyplotHandle = skyplot(0,0); 

Figure contains an object of type skyplot.

numHours = 12; 
dt = 100; 
numSeconds = numHours * 60 * 60; 
numSimSteps = numSeconds/dt;

Создайте модель датчика GNSS как gnssSensor Система Object™.

gnss = gnssSensor('SampleRate', 1/dt); 

Выполните итерации через временные шаги и сделайте следующее:

  • Симулируйте показания датчика. Задайте нулевой постион и скорость для стационарного датчика.

  • Сохраните азимут и углы возвышения как векторы.

  • Установите AzimuthData и ElevationData свойства SkyPlotChart обработайте непосредственно.

for i = 1:numSimSteps 

    [~, ~, status] = gnss([0 0 0],[0 0 0]); 

    satAz = status.SatelliteAzimuth; 
    satEl = status.SatelliteElevation; 

    set(skyplotHandle,'AzimuthData',satAz,'ElevationData',satEl);
    
    drawnow 
end 

Figure contains an object of type skyplot.

Загрузите азимут и данные о вертикальном изменении из файла журнала, сгенерированного датчиком спутника Adafruit® GPS. Данные, обеспеченные в этом примере, содержат азимут и вертикальное изменение каждого спутника и псевдослучайного шума (PRN) коды. Сохраните эти значения как векторы.

load('gpsHWInfo','hwInfo') 
satAz = hwInfo.SatelliteAzimuths; 
satEl = hwInfo.SatelliteElevations; 
prn = hwInfo.SatellitePRNs; 

Разделите спутники на основе кодов PRN. Чтобы коррелировать каждое положение с группой, создайте categorical массив. Для этого набора спутников только те с PRNs меньше чем 32 используются в решении для расположения.

isUnused = (prn > 32);
group = categorical(isUnused,[false true],["Used in Positioning Solution" "Unused"]);

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

skyplot(satAz,satEl,prn,GroupData=group) 
legend('Used','Unused')

Figure contains an object of type skyplot.

Входные параметры

свернуть все

Углы азимута для видимых спутниковых положений в виде n - вектор элемента из углов. n является количеством видимых спутниковых положений в графике. Углы азимута измеряются в градусах, по часовой стрелке положительные от Северного направления.

Пример: [25 45 182 356]

Типы данных: double

Углы возвышения для видимых спутниковых положений в виде n - вектор элемента из углов. n является количеством видимых спутниковых положений в графике. Углы возвышения измеряются от линии горизонта с 90 градусами, являющимися непосредственно.

Пример: [45 90 27 74]

Типы данных: double

Метки для видимых спутниковых положений в виде n - массив строк элемента. n является количеством видимых спутниковых положений в графике.

Пример: ["G1" "G11" "G7" "G3"]

Типы данных: string

Спутниковое состояние в виде массива структур с полями SatelliteAzimuth и SatelliteElevation. Как правило, эта структура состояния прибывает из gnssSensor объект, который симулирует спутниковые положения и скорости.

Пример: gnss = gnssSensor; [~,~,status] = gnss(position,velocity)

Типы данных: struct

Родительский контейнер в виде FigureПанель, Tab, TiledChartLayout, или GridLayout объект.

Выходные аргументы

свернуть все

Точечная диаграмма неба, возвращенная как SkyplotChart объект, который является автономной визуализацией. Используйте h установить свойства на точечной диаграмме неба. Для получения дополнительной информации смотрите SkyPlotChart Properties.

Больше о

свернуть все

Основные элементы графика неба

Figure showing a circular plot for satellite positions based on azimuth and elevation angles. Zero degrees for Azimuth is directly North with positive values going clockwise. Elevation angles are shown with circular axes with the outer-circle being the horizon line or zero degrees. 90 degrees elevation is directly up or the center point of the circular plot. Positions are colored by group and have specified labels

Основные элементы фигуры:

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

  • Оси вертикального изменения — Заданный eldata входной параметр, положения угла возвышения измеряются от линии горизонта с 90 градусами, являющимися непосредственно.

  • Метки — заданный labeldata входной параметр как массив строк с элементом для каждой точки в azdata и eldata векторы.

  • Группы — Заданный свойством GroupData, a categorical массив задает группу для каждого спутникового положения.

Автономная визуализация

Автономная визуализация является графиком, спроектированным для особых целей, которые работают независимо из других графиков. В отличие от других графиков такой как plot и surf, автономной визуализации встроили предварительно сконфигурированный объект осей в него, и некоторые индивидуальные настройки не доступны. Автономная визуализация также имеет эти характеристики:

  • Это не может быть объединено с другими графическими элементами, такими как линии, закрашенные фигуры или поверхности. Таким образом, hold команда не поддерживается.

  • gca функция может возвратить объект диаграммы как текущую систему координат.

  • Можно передать объект диаграммы многим MATLAB® функции, которые принимают объект осей как входной параметр. Например, можно передать объект диаграммы title функция.

Смотрите также

Функции

Свойства

Объекты

Введенный в R2021a