Многоходовая спутниковая связь Ссылки между двумя наземными станциями

Этот пример демонстрирует, как настроить ссылку спутниковой связи с несколькими скачками между двумя наземными станциями. Первая наземная станция расположена в MathWorks India, а вторая наземная станция - в MathWorks Australia. Ссылка маршрутизируется через два спутника (MathWorks Sat 1 и MathWorks Sat 2). Каждый спутник действует как регенеративные ретрансляторы. Регенеративный ретранслятор получает входной сигнал, а затем демодулирует, ремодулирует, усиливает и повторно передает принятый сигнал. Время в течение дня, в течение которого MathWorks India может отправлять данные в MathWorks Australia, определяется.

Создайте сценарий спутника

Использование satelliteScenario создание спутникового сценария. Использование datetime для определения времени запуска и времени остановки сценария. Установите шаг расчета равное 60 секундам.

startTime = datetime(2020,8,19,20,55,0); % 19 August 2020 8:55 PM UTC
stopTime = startTime + days(1);          % 20 August 2020 8:55 PM UTC
sampleTime = 60;                         % seconds
sc = satelliteScenario(startTime,stopTime,sampleTime);

Запуск Satellite Scenario Viewer

Использование satelliteScenarioViewer запуск Satellite Scenario Viewer.

satelliteScenarioViewer(sc);

Добавление спутников

Использование satellite добавить спутники MathWorks Sat 1 и MathWorks Sat 2 к сценарию путем определения их орбитальных элементов Кеплера, соответствующих времени запуска сценария.

semiMajorAxis = 10000000;          % meters
eccentricity = 0;
inclination = 0;                   % degrees
rightAscensionOfAscendingNode = 0; % degrees
argumentOfPeriapsis = 0;           % degrees
trueAnomaly = 0;                   % degrees
mwSat1 = satellite(sc, ...
    semiMajorAxis, ...
    eccentricity, ...
    inclination, ...
    rightAscensionOfAscendingNode, ...
    argumentOfPeriapsis, ...
    trueAnomaly, ...
    "Name","MathWorks Sat 1", ...
    "OrbitPropagator","two-body-keplerian");
semiMajorAxis = 10000000;            % meters
eccentricity = 0;
inclination = 30;                    % degrees
rightAscensionOfAscendingNode = 120; % degrees
argumentOfPeriapsis = 0;             % degrees
trueAnomaly = 300;                   % degrees
mwSat2 = satellite(sc, ...
    semiMajorAxis, ...
    eccentricity, ...
    inclination, ...
    rightAscensionOfAscendingNode, ...
    argumentOfPeriapsis, ...
    trueAnomaly, ...
    "Name","MathWorks Sat 2", ...
    "OrbitPropagator","two-body-keplerian");

Добавьте Gimbals к спутникам

Использование gimbal добавить гимбалы к спутникам. Каждый спутник состоит из двух карданов на противоположных сторонах спутника. Один gimbal содержит антенну приемника, а другой gimbal - антенну передатчика. Место установки задано в декартовых координатах в каркасе кузова спутника, что определяется (xˆS,yˆS,zˆS), где xˆS, yˆS и zˆS являются осями крена, тангажа и рыскания соответственно спутника. Место монтажа кардана, который удерживает приемник, -yˆS+2zˆS счетчики и таковые из gimbal, который удерживает передатчик, yˆS+2zˆS счетчики, как показано на схеме ниже.

gimbalMWSat1Tx = gimbal(mwSat1, ...
    "MountingLocation",[0;1;2]);  % meters
gimbalMWSat2Tx = gimbal(mwSat2, ...
    "MountingLocation",[0;1;2]);  % meters
gimbalMWSat1Rx = gimbal(mwSat1, ...
    "MountingLocation",[0;-1;2]); % meters
gimbalMWSat2Rx = gimbal(mwSat2, ...
    "MountingLocation",[0;-1;2]); % meters

Добавление приемников и передатчиков к Gimbals

Каждый спутник состоит из приемника и передатчика, образующего регенеративный ретранслятор. Использование receiver чтобы добавить приемник к карданным gimbalMWSat1Rx и gimbalMWSat2Rx. Место установки приемной антенны относительно карданной антенны является zˆG счетчики, как показано на схеме выше. Отношение усиление приемника к температуре 3dB/K, и необходимый Eb/No составляет 4 дБ.

mwSat1Rx = receiver(gimbalMWSat1Rx, ...
    "MountingLocation",[0;0;1], ...      % meters
    "GainToNoiseTemperatureRatio",3, ... % decibels/Kelvin
    "RequiredEbNo",4);                   % decibels
mwSat2Rx = receiver(gimbalMWSat2Rx, ...
    "MountingLocation",[0;0;1], ...      % meters
    "GainToNoiseTemperatureRatio",3, ... % decibels/Kelvin
    "RequiredEbNo",4);                   % decibels

Использование gaussianAntenna для установки диаметра тарелки антенн приемника на спутниках равного 0,5 м. Гауссова антенна имеет диаграмму направленности излучения, которая достигает максимума при своем борезайте и разрушается радиально-симметрично на основе Гауссова распределения при отходе от борсайта, как показано на схеме ниже. Пиковое усиление является функцией диаметра тарелки и эффективности апертуры.

gaussianAntenna(mwSat1Rx, ...
    "DishDiameter",0.5); % meters
gaussianAntenna(mwSat2Rx, ...
    "DishDiameter",0.5); % meters

Использование transmitter для добавления передатчика к карданным gimbalMWSat1Tx и gimbalMWSat2Tx. Место установки передающей антенны относительно карданной антенны является zˆG метров, где (xˆG,yˆG,zˆG) задайте каркас кузова гимбала. boresight антенны выровнена с zˆG. Оба спутника передают степенью 15 дБВ. Передатчик на борту MathWorks Sat 1 используется в сшивке для отправки данных в MathWorks Sat 2 на частоте 30 ГГц. Передатчик на борту MathWorks Sat 2 используется в нисходящем канале MathWorks Australia на частоте 27 ГГц.

mwSat1Tx = transmitter(gimbalMWSat1Tx, ...
    "MountingLocation",[0;0;1], ... % meters
    "Frequency",30e9, ...           % hertz
    "Power",15);                    % decibel watts
mwSat2Tx = transmitter(gimbalMWSat2Tx, ...
    "MountingLocation",[0;0;1], ... % meters
    "Frequency",27e9, ...           % hertz
    "Power",15);                    % decibel watts

Как и приемник, передатчик также использует Гауссову антенну. Установите диаметр тарелки антенн передатчика спутников равным 0,5 м.

gaussianAntenna(mwSat1Tx, ...
    "DishDiameter",0.5); % meters
gaussianAntenna(mwSat2Tx, ...
    "DishDiameter",0.5); % meters

Добавление наземных станций

Использование groundStation добавить наземные станции в MathWorks India и MathWorks Australia.

latitude = 12.9436963;  % degrees
longitude = 77.6906568; % degrees
mwIndia = groundStation(sc, ...
    latitude, ...
    longitude, ...
    "Name","MathWorks India");
latitude = -33.7974039;  % degrees
longitude = 151.1768208; % degrees
mwAustralia = groundStation(sc, ...
    latitude, ...
    longitude, ...
    "Name","MathWorks Australia");

Добавьте Gimbal к каждой наземной станции

Использование gimbal добавить gimbal в MathWorks India и MathWorks Australia. Gimbal в MathWorks India держит передатчик, а Gimbal в MathWorks Australia - приемник. Карданные стержни расположены на высоте 5 метров над соответствующими наземными станциями, как показано на схеме ниже. Следовательно, места их установки -5zˆGS метров, где (xˆGS,yˆGS,zˆGS) задайте ось тела наземных станций. xˆGS, yˆGS и zˆGS всегда указывает на Север, Восток и вниз соответственно. Поэтому zˆGS компонент карданов -5 метров так, чтобы они были размещены над наземной станцией, а не ниже. Кроме того, по умолчанию углы крепления кардана такие, что их оси тела (xˆG,yˆG,zˆG) выровнены с родительской (в данном случае с наземной станцией) осями тела (xˆGS,yˆGS,zˆGS). В результате, когда гимбалы не управляются, их zˆG ось указывает прямо вниз, и антенна прикреплена к ней также с помощью углов установки по умолчанию. Поэтому необходимо задать угол тангажа монтажа равные 180 степени, так чтобы zˆG точки вверх, когда карданный стержень не управляется.

gimbalMWIndia = gimbal(mwIndia, ...
    "MountingAngles",[0;180;0], ... % degrees
    "MountingLocation",[0;0;-5]);   % meters
gimbalMWAustralia = gimbal(mwAustralia, ...
    "MountingAngles",[0;180;0], ... % degrees
    "MountingLocation",[0;0;-5]);   % meters

Добавление передатчиков и приемников к наземным станциям Gimbals

Использование transmitter добавить передатчик в карданный в MathWorks India. Передатчик восходящей линии связи отправляет данные в MathWorks Sat 1 на частоте 30 ГГц и степени 30 дБВ. Антенна передатчика установлена на zˆG метров относительно карданного.

mwIndiaTx = transmitter(gimbalMWIndia, ...
    "Name","MathWorks India Transmitter", ...
    "MountingLocation",[0;0;1], ... % meters
    "Frequency",30e9, ...           % hertz
    "Power",30);                    % decibel watts

Использование gaussianAntenna установить диаметр тарелки антенны передатчика равным 2 м.

gaussianAntenna(mwIndiaTx, ...
    "DishDiameter",2); % meters

Использование receiver добавить приемник к gimbal на наземной станции MathWorks Australia для приема нисходящих данных от MathWorks Sat 2. Отношение коэффициента усиления к шуму приемника составляет 3 дБ/К, а необходимый коэффициент Eb/Нет равен 1 дБ. Место установки антенны приемника: zˆG метров относительно карданного.

mwAustraliaRx = receiver(gimbalMWAustralia, ...
    "Name","MathWorks Australia Receiver", ...
    "MountingLocation",[0;0;1], ...      % meters
    "GainToNoiseTemperatureRatio",3, ... % decibels/Kelvin
    "RequiredEbNo",1);                   % decibels

Использование gaussianAntenna установить диаметр тарелки антенны приемника равным 2 м.

gaussianAntenna(mwAustraliaRx, ...
    "DishDiameter",2); % meters

Установите цели слежения для Gimbals

Для наилучшего качества ссылки антенны должны постоянно указывать на свои соответствующие цели. Гимбалы могут управляться независимо от их родительских элементов (спутник или наземная станция) и конфигурироваться для отслеживания других спутников и наземных станций. Использование pointAt установить цель слежения за карданами так, чтобы:

  • Антенна передатчика в MathWorks India указывает на MathWorks Sat 1

  • Антенна приемника на борту MathWorks Sat 1 точка в MathWorks India

  • Антенна передатчика на борту MathWorks Sat 1 точки на MathWorks Sat 2

  • Антенна приемника на борту MathWorks Sat 2 точки на MathWorks Sat 1

  • Антенна передатчика на борту MathWorks Sat 2 точки на MathWorks Australia

  • Антенна приемника в MathWorks Australia указывает на MathWorks Sat 2

pointAt(gimbalMWIndia,mwSat1);
pointAt(gimbalMWSat1Rx,mwIndia);
pointAt(gimbalMWSat1Tx,mwSat2);
pointAt(gimbalMWSat2Rx,mwSat1);
pointAt(gimbalMWSat2Tx,mwAustralia);
pointAt(gimbalMWAustralia,mwSat2);

Когда задана цель для gimbal, его zˆG ось будет отслеживать цель. Поскольку антенна включена zˆG и его boresight выровнен с zˆGантенна также будет отслеживать желаемую цель.

Добавьте анализ ссылки и визуализируйте сценарий

Использование link добавить анализ ссылки к передатчику в MathWorks India. Ссылка имеет регенеративный тип ретранслятора, который начинается с mwIndiaTx и заканчивается на mwAustraliaRx, и маршрутизируется через mwSat1Rx, mwSat1Tx, mwSat2Rx и mwSat2Tx.

lnk = link(mwIndiaTx,mwSat1Rx,mwSat1Tx,mwSat2Rx,mwSat2Tx,mwAustraliaRx);

Satellite Scenario Viewer автоматически обновляется для отображения всего сценария. Используйте средство просмотра как визуальное подтверждение того, что сценарий настроен правильно. Зеленые линии представляют ссылку и подтверждают, что ссылка закрыта.

Определите время, когда ссылка закрыта, и визуализируйте закрытие ссылки

Используйте linkIntervals метод для определения времени закрытия ссылки. The linkIntervals метод выводит таблицу начала и времен остановки закрытий ссылки, которые представляют интервалы, в течение которых MathWorks India может отправлять данные в MathWorks Australia. Source и Target являются первым и последним узлами в ссылке. Если один из Source или Target находится на спутнике, StartOrbit и EndOrbit предоставляют количество орбит источника или целевого спутника, которые они присоединены непосредственно или через карданные черви, начиная со времени запуска сценария. Если и Источник, и Цель присоединены к спутнику, StartOrbit и EndOrbit обеспечивают количество орбит спутника, к которому подключен Источник. Поскольку и Source, и Target присоединены к наземным станциям, StartOrbit и EndOrbit являются NaN.

linkIntervals(lnk)
ans=6×8 table
               Source                            Target                IntervalNumber         StartTime                EndTime           Duration    StartOrbit    EndOrbit
    _____________________________    ______________________________    ______________    ____________________    ____________________    ________    __________    ________

    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          1           19-Aug-2020 20:55:00    19-Aug-2020 21:20:00      1500         NaN          NaN   
    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          2           19-Aug-2020 23:38:00    20-Aug-2020 00:21:00      2580         NaN          NaN   
    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          3           20-Aug-2020 09:34:00    20-Aug-2020 09:50:00       960         NaN          NaN   
    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          4           20-Aug-2020 12:26:00    20-Aug-2020 12:58:00      1920         NaN          NaN   
    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          5           20-Aug-2020 15:25:00    20-Aug-2020 16:05:00      2400         NaN          NaN   
    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          6           20-Aug-2020 18:28:00    20-Aug-2020 19:13:00      2700         NaN          NaN   

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

play(sc);

Постройте маржу ссылки в MathWorks Australia

Запас ссылку в приемник является различие между энергией на бит к шуму степени коэффициентом спектральной плотности (Eb/No) в приемник и его RequiredEbNo. Для успешного закрытия ссылки, запас ссылки должен быть положительным на всех узлах приемника. Чем выше запас по ссылке, тем лучше качество ссылки. Чтобы вычислить маржу ссылки в конечном узле, то есть MathWorks Australia Приемника, используйте ebno получить историю Eb/No в MathWorks Australia Receiver и вычесть ее RequiredEbNo из этого количества, чтобы получить маржу ссылки. Кроме того, используйте plot для построения графика вычисления запаса ссылки.

[e, time] = ebno(lnk);
margin = e - mwAustraliaRx.RequiredEbNo;
plot(time,margin,"LineWidth",2);
xlabel("Time");
ylabel("Link Margin (dB)");
grid on;

Погрешности в графике подразумевают, что ссылка было разорвана до достижения конечного узла в ссылке, или линия зрения между конечным узлом и узлом до него, то есть MathWorks Sat 2, была разбита. В любое другое время поле ссылки положительно. Это подразумевает, что степень передатчика MathWorks Sat 2 и чувствительность приемника MathWorks Australia всегда достаточны. Это также подразумевает, что запас положителен во всех других переходах ссылки.

Изменение необходимого Eb/No и наблюдение эффекта на интервалах ссылки

Увеличьте RequiredEbNo из приемника в MathWorks Australia от 1 дБ до 10 дБ и пересчитать интервалы ссылки. Увеличение RequiredEbNo существенно снижает чувствительность MathWorks Australia Receiver. Это отрицательно влияет на результирующее время закрытия ссылки и запас ссылки. Количество интервалов замкнутой ссылки падает с шести до пяти, а длительность интервалов замкнутой ссылки короче. Сравнение запаса ссылки с помощью перерасчета и построения графика запаса ссылки. При необходимом значении EbNo, равном 10 дБ, закрытие ссылки иногда ограничивается полем ссылки, когда между смежными узлами есть линия визирования.

mwAustraliaRx.RequiredEbNo = 10; % decibels
linkIntervals(lnk)
ans=5×8 table
               Source                            Target                IntervalNumber         StartTime                EndTime           Duration    StartOrbit    EndOrbit
    _____________________________    ______________________________    ______________    ____________________    ____________________    ________    __________    ________

    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          1           19-Aug-2020 20:55:00    19-Aug-2020 21:18:00      1380         NaN          NaN   
    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          2           19-Aug-2020 23:43:00    20-Aug-2020 00:15:00      1920         NaN          NaN   
    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          3           20-Aug-2020 12:30:00    20-Aug-2020 12:58:00      1680         NaN          NaN   
    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          4           20-Aug-2020 15:29:00    20-Aug-2020 16:05:00      2160         NaN          NaN   
    "MathWorks India Transmitter"    "MathWorks Australia Receiver"          5           20-Aug-2020 18:32:00    20-Aug-2020 19:13:00      2460         NaN          NaN   

Кроме того, выполните пересчет и постройте график нового запаса ссылки и сравните его с предыдущим графиком. Маржа ссылки в целом снизилась, что означает, что качество ссылки снизилось в результате снижения чувствительности приемника. В некоторых случаях запас по ссылке отрицателен, что означает, что бывают моменты, когда ссылка все же ломается в MathWorks Australia Receiver, даже если у него есть линия зрения на MathWorks Sat 2.

[e, newTime] = ebno(lnk);
newMargin = e - mwAustraliaRx.RequiredEbNo;
plot(newTime,newMargin,"r",time,margin,"b","LineWidth",2);
xlabel("Time");
ylabel("Link Margin (dB)");
legend("New link margin","Old link margin","Location","north");
grid on;

Следующие шаги

Этот пример продемонстрировал, как настроить регенеративный тип ретранслятора с несколькими ссылок и как определить время, когда ссылка закрыта. Время закрытия ссылки зависит от запаса ссылки в каждом приемнике в ссылке. Запас ссылку является различие между энергией на бит к шуму степени коэффициентом спектральной плотности (Eb/No) в приемник и необходимым Eb/No. Eb/No в приемник является функцией:

  • Орбита и режим указания спутников, удерживающих передатчики и приемники

  • Положение наземных станций, удерживающих передатчики и приемники

  • Положение, ориентация и режим указания карданных элементов, удерживающих передатчики и приемники

  • Положение и ориентация передатчиков и приемников относительно их родительских элементов

  • Спецификации передатчиков - степень, частота, бит и потери системы

  • Спецификации приемников - коэффициент усиления/шума, необходимый Eb/No и потери системы

  • Спецификации антенн передатчика и приемника, такие как диаметр тарелки и эффективности апертуры для Гауссовой антенны

Измените вышеуказанные параметры и наблюдайте их влияние на ссылку, чтобы выполнить различные типы анализа what-if.

См. также

Объекты

Функции

Похожие примеры

Подробнее о

Для просмотра документации необходимо авторизоваться на сайте