exponenta event banner

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

В этом примере показано, как установить многоузловую линию спутниковой связи между двумя наземными станциями. Первая наземная станция находится в 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);

Запуск программы просмотра спутниковых сценариев

Использовать satelliteScenarioViewer для запуска программы просмотра спутниковых сценариев.

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");

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

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

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

Каждый спутник состоит из приемника и передатчика, составляющих регенеративный ретранслятор. Использовать 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) определяет каркас корпуса кардана. Прицел антенны совмещен с 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 для добавления кардана в MathWorks India и MathWorks Australia. Карман в MathWorks India содержит передатчик, а карман в 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

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

Использовать 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 добавление приемника к кардану на наземной станции MathWorks Australia для приема данных нисходящей линии связи от MathWorks Sat 2. Отношение коэффициента усиления приемника к температуре шума составляет 3 дБ/К, а требуемое значение Eb/No равно 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

Установка целей слежения для карманов

Для наилучшего качества линии связи антенны должны постоянно указывать на свои соответствующие цели. Шарниры могут управляться независимо от их родителей (спутник или наземная станция) и конфигурироваться для слежения за другими спутниками и наземными станциями. Использовать 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);

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

Добавление анализа связей и визуализация сценария

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

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

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

Определение времени закрытия связи и визуализация замыканий связи

Используйте linkIntervals для определения времени закрытия связи. linkIntervals выводит таблицу времени начала и окончания замыканий каналов, которые представляют интервалы, в течение которых MathWorks India может отправлять данные в MathWorks Australia. Исходный и целевой узлы являются первым и последним узлами в линии связи. Если один из источников или целей находится на спутнике, StartOrbit и EndOrbit обеспечивают подсчет орбиты источника или целевого спутника, к которому они присоединены непосредственно или через карданные шарниры, начиная со времени начала сценария. Если к спутнику присоединены и Источник, и Цель (Source and Target), StartOrbit и EndOrbit обеспечивают подсчет орбиты спутника, к которому присоединен Источник (Source). Так как и Источник, и Цель присоединены к наземным станциям, 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 Receiver, используйте ebno получить историю Eb/No в приемнике MathWorks Australia и вычесть его 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. Это отрицательно влияет на результирующее время замыкания линии связи и запас линии связи. Количество интервалов замкнутой линии связи уменьшается с шести до пяти, а длительность интервалов замкнутой линии связи короче. Сравнение границы звена с путем повторного вычисления и печати границы звена. При требуемом значении 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, даже если она имеет линию видимости к 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 и потери в системе

  • Технические характеристики антенн передатчика и приемника, такие как диаметр тарелки и эффективность апертуры для гауссовой антенны

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

См. также

Объекты

Функции

Связанные примеры

Подробнее