Добавьте, что анализ линий возражает против передатчика
link(
добавляет obj1,...,objN
)Link
объекты заданы obj1
, obj2
, и так далее..
Создайте спутниковый объект сценария.
startTime = datetime(2020,11,25,0,0,0);
stopTime = startTime + days(1);
sampleTime = 60; % seconds
sc = satelliteScenario(startTime,stopTime,sampleTime)
sc = satelliteScenario with properties: StartTime: 25-Nov-2020 StopTime: 26-Nov-2020 SampleTime: 60 Viewers: [0x0 matlabshared.satellitescenario.Viewer] Satellites: [1x0 matlabshared.satellitescenario.Satellite] GroundStations: [1x0 matlabshared.satellitescenario.GroundStation] AutoShow: 1
Добавьте спутник в сценарий.
semiMajorAxis = 10000000; % meters eccentricity = 0; inclination = 60; % degrees rightAscensionOfAscendingNode = 0; % degrees argumentOfPeriapsis = 0; % degrees trueAnomaly = 0; % degrees sat = satellite(sc,semiMajorAxis,eccentricity,inclination,rightAscensionOfAscendingNode,... argumentOfPeriapsis,trueAnomaly,"Name","Satellite");
Добавьте передатчик в спутник.
frequency = 27e9; % Hz power = 20; % dBW bitRate = 20; % Mbps systemLoss = 3; % dB txSat = transmitter(sat,"Name","Satellite Transmitter","Frequency",frequency,"power",power,... "BitRate",bitRate,"SystemLoss",systemLoss)
txSat = Transmitter with properties: Name: Satellite Transmitter ID: 2 MountingLocation: [0; 0; 0] meters MountingAngles: [0; 0; 0] degrees Antenna: [1x1 satcom.satellitescenario.GaussianAntenna] SystemLoss: 3 decibels Frequency: 2.7e+10 Hertz BitRate: 20 Mbps Power: 20 decibel-watts Links: [1x0 satcom.satellitescenario.Link]
Добавьте приемник в спутник.
gainToNoiseTemperatureRatio = 5; % dB/K systemLoss = 3; % dB rxSat = receiver(sat,"Name","Satellite Receiver","GainToNoiseTemperatureRatio",gainToNoiseTemperatureRatio,... "SystemLoss",systemLoss)
rxSat = Receiver with properties: Name: Satellite Receiver ID: 3 MountingLocation: [0; 0; 0] meters MountingAngles: [0; 0; 0] degrees Antenna: [1x1 satcom.satellitescenario.GaussianAntenna] SystemLoss: 3 decibels GainToNoiseTemperatureRatio: 5 decibels/Kelvin RequiredEbNo: 10 decibels
Задайте технические требования антенны повторителя.
dishDiameter = 0.5; % meters apertureEfficiency = 0.5; gaussianAntenna(txSat,"DishDiameter",dishDiameter,"ApertureEfficiency",apertureEfficiency); gaussianAntenna(rxSat,"DishDiameter",dishDiameter,"ApertureEfficiency",apertureEfficiency);
Добавьте две наземных станции в сценарий.
gs1 = groundStation(sc,"Name","Ground Station 1"); latitude = 52.2294963; % degrees longitude = 0.1487094; % degrees gs2 = groundStation(sc,latitude,longitude,"Name","Ground Station 2");
Добавьте карданов подвес в наземные станции. Этот карданов подвес позволяет вам регулировать антенны наземной станции, чтобы отследить спутник.
mountingLocation = [0; 0; -5]; % meters mountingAngles = [0; 180; 0]; % degrees gimbalGs1 = gimbal(gs1,"MountingLocation",mountingLocation,"MountingAngles",mountingAngles); gimbalGs2 = gimbal(gs2,"MountingLocation",mountingLocation,"MountingAngles",mountingAngles);
Отследите спутник с помощью карданова подвеса.
pointAt(gimbalGs1,sat); pointAt(gimbalGs2,sat);
Добавьте передатчик, чтобы установить в карданном подвесе gimbalGs1
.
frequency = 30e9; % Hz power = 40; % dBW bitRate = 20; % Mbps txGs1 = transmitter(gimbalGs1,"Name","Ground Stationn 1 Transmitter","Frequency",frequency,... "Power",power,"BitRate",bitRate);
Добавьте приемник, чтобы установить в карданном подвесе gimbalGs2
.
requiredEbNo = 14; % dB rxGs2 = receiver(gimbalGs2,"Name","Ground Station 2 Receiver","RequiredEbNo",requiredEbNo);
Задайте технические требования антенны наземных станций.
dishDiameter = 5; % meters gaussianAntenna(txGs1,"DishDiameter",dishDiameter); gaussianAntenna(rxGs2,"DishDiameter",dishDiameter);
Добавьте анализ линий в передатчик txGs1
.
lnk = link(txGs1,rxSat,txSat,rxGs2)
lnk = Link with properties: Sequence: [8 3 2 9] LineWidth: 1 LineColor: [0 1 0]
Определите времена когда наземная станция gs1
может отправить данные в наземную станцию gs2
через спутник.
linkIntervals(lnk)
ans=4×8 table
Source Target IntervalNumber StartTime EndTime Duration StartOrbit EndOrbit
_______________________________ ___________________________ ______________ ____________________ ____________________ ________ __________ ________
"Ground Stationn 1 Transmitter" "Ground Station 2 Receiver" 1 25-Nov-2020 00:26:00 25-Nov-2020 00:40:00 840 NaN NaN
"Ground Stationn 1 Transmitter" "Ground Station 2 Receiver" 2 25-Nov-2020 03:24:00 25-Nov-2020 03:36:00 720 NaN NaN
"Ground Stationn 1 Transmitter" "Ground Station 2 Receiver" 3 25-Nov-2020 06:20:00 25-Nov-2020 06:36:00 960 NaN NaN
"Ground Stationn 1 Transmitter" "Ground Station 2 Receiver" 4 25-Nov-2020 22:25:00 25-Nov-2020 22:38:00 780 NaN NaN
Визуализируйте ссылку с помощью Спутникового Средства просмотра Сценария.
play(sc);
obj1,...,objN
— Спутник, наземная станция или конический датчикTransmitter
возразите | Receiver
объектTransmitter
или Receiver
объект в виде отдельных аргументов, где obj1
должен быть Transmitter
возразите и любым после аргументов может быть Transmitter
или Receiver
объекты. Эти аргументы задают Последовательность ссылки. Эти объекты должны принадлежать тому же satelliteScenario
объект. Функция добавляет объект анализа линий в Link
свойство obj1
.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'LineWidth',2.5
устанавливает ширину линии поля зрения к 2,5 пикселям.Viewer
— Спутниковое средство просмотра сценарияsatelliteScenarioViewer
объекты (значение по умолчанию) | скалярный satelliteScenarioViewer
возразите | массив satelliteScenarioViewer
объектыСпутниковое средство просмотра сценария в виде скаляра, вектора-строки или массива satelliteScenarioViewer
объекты.
lnk
— Анализ линийLink
объектный скалярАнализ линий между входными объектами, возвращенными как вектор-строка из Link
объекты.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.