skyplot

Построение графика данных по азимуту и повышению спутника

Описание

пример

skyplot(azdata,eldata) создает график неба с использованием азимута и данных о повышении, заданных в виде векторов в степенях. Углы азимута измеряются в степенях, по часовой стрелке-положительно с северного направления. Углы возвышения измеряются от линии горизонта при 90 степенях непосредственно вверх. Для получения дополнительной информации об элементах рисунка неба смотрите Main Sky Plot Elements.

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

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

пример

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

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

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

Примеры

свернуть все

Создайте модель датчика 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; 

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

isWAAS = (prn > 32); 
constellationGroup = categorical(isWAAS,[false,true],{'GPS','WAAS'}); 

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

skyplot(satAz,satEl,prn,'GroupData',constellationGroup) 
legend('GPS','WAAS')

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, Panel, Tab, TiledChartLayout, или GridLayout объект.

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

свернуть все

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

Подробнее о

свернуть все

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

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 команда не поддерживается.

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

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

См. также

Функции

Свойства

Объекты

Введенный в R2021a