EngeeSatellites.SatelliteCNRConfig
Параметры конфигурации отношения несущей к шуму.
| Библиотека |
|
Описание
Системный объект EngeeSatellites.SatelliteCNRConfig представляет собой конфигурацию отношения несущая/шум (Carrier-to-Noise Ratio, CNR) со значениями по умолчанию или с заданными значениями.
Синтаксис
Создание
-
cfg = EngeeSatellites.SatelliteCNRConfig()— создает системный объект конфигурации отношения несущая/шум со свойствами, заданными по умолчанию. -
cfg = EngeeSatellites.SatelliteCNRConfig(Name=Value)— создает системный объект конфигурации отношения несущая/шум с заданными свойствами в виде парыName=Value, гдеName— имя свойства, аValue— соответствующее значение. Можно указать несколько пар «имя-значение», порядок пар не имеет значения. Неуказанные свойства сохраняют свои значения по умолчанию.Пример:
# создание системного объекта конфигурации CNR с мощностью передатчика 20 дБВт cfg = SatelliteCNRConfig(TransmitterPower = 20)
Аргументы
Выходные аргументы
#
cfg —
конфигурация CNR
объект
Details
Объект конфигурации отношения сигнала несущей частоты к шуму.
Свойства
#
TransmitterPower —
мощность передатчика
10 (по умолчанию) | скаляр
Details
Мощность передатчика, заданная как вещественный скаляр в дБВт.
| Типы данных |
|
#
TransmitterSystemLoss —
общие потери в системе передатчика
0 (по умолчанию) | скаляр
Details
Общие потери в системе передатчика, заданные как неотрицательный вещественный скаляр в дБ.
| Типы данных |
|
#
TransmitterAntennaGain —
коэффициент усиления антенны передатчика
10 (по умолчанию) | скаляр
Details
Коэффициент усиления антенны передатчика, заданный как неотрицательный вещественный скаляр в дБи.
| Типы данных |
|
#
Distance —
расстояние между антенной передатчика и антенной приемника
3786 (по умолчанию) | скаляр
Details
Расстояние между антенной передатчика и антенной приемника, заданное как неотрицательный вещественный скаляр в км.
| Типы данных |
|
#
Frequency —
частота сигнала
14 (по умолчанию) | скаляр
Details
Частота сигнала, заданная как положительный вещественный скаляр в ГГц.
| Типы данных |
|
#
MiscellaneousLoss —
различные потери
0 (по умолчанию) | скаляр
Details
Различные потери, заданные как неотрицательный вещественный скаляр в дБ. Основные различные потери включают потерю на поляризацию, помехи и атмосферное затухание.
| Типы данных |
|
#
GainToNoiseTemperatureRatio —
отношение коэффициента усиления приемника к шумовой температуре
3 (по умолчанию) | скаляр
Details
Отношение коэффициента усиления приемника к шумовой температуре в направлении передающей антенны, заданное как вещественный скаляр в дБ/К.
| Типы данных |
|
#
ReceiverSystemLoss —
общие потери в системе приемника
0 (по умолчанию) | скаляр
Details
Общие потери в системе приемника, заданные как неотрицательный вещественный скаляр в дБ.
| Типы данных |
|
#
BitRate —
скорость передачи данных по каналу
10 (по умолчанию) | скаляр
Details
Скорость передачи данных по каналу связи, заданная как положительный вещественный скаляр в Мбит/с.
| Типы данных |
|
#
SymbolRate —
символьная скорость передачи данных по каналу связи
10 (по умолчанию) | скаляр
Details
Символьная скорость передачи данных по каналу связи, заданная как положительный вещественный скаляр в мс/с.
| Типы данных |
|
#
Bandwidth —
полоса пропускания сигнала
6 (по умолчанию) | скаляр
Details
Полоса пропускания сигнала, заданная как положительный вещественный скаляр в МГц.
| Типы данных |
|
Примеры
Создание объекта CNR спутника
Details
Создадим объект отношения несущая/шум (CNR) спутника со свойствами, заданными по умолчанию.
Установим значение полосы пропускания равным 15 МГц, а значение отношение коэффициента усиления к шумовой температуре — 5 дБ/К.
import EngeeSatellites: SatelliteCNRConfig
cfg = SatelliteCNRConfig()
cfg.Bandwidth = 15
cfg.GainToNoiseTemperatureRatio = 5
Выведем свойства объекта конфигурации CNR.
show(cfg)
SatelliteCNRConfig:
TransmitterPower=10
TransmitterSystemLoss=0
TransmitterAntennaGain=10
Distance=3786
Frequency=14
MiscellaneousLoss=0
GainToNoiseTemperatureRatio=5
ReceiverSystemLoss=0
BitRate=10
SymbolRate=10
Bandwidth=15
Расчет отношения несущая/шум и энергетического запаса
Details
Вычислим отношение несущая/шум и энергетический запас линии связи для заданных параметров бюджета спутниковой связи.
Создадим объект конфигурации CNR со свойствами, заданными по умолчанию, а затем изменим эти свойства.
import EngeeSatellites: SatelliteCNRConfig
cfg = SatelliteCNRConfig()
cfg.TransmitterPower = 17 # дБВт
cfg.TransmitterSystemLoss = 9 # дБ
cfg.TransmitterAntennaGain = 38 # дБи
cfg.Distance = 40215 # км
cfg.Frequency = 11 # ГГц
# В данном случае к прочим потерям относятся, соответственно, потеря
# поляризации, помехи и потери, связанные с неправильным направлением антенны.
polLoss = 3.0103
intLoss = 2
antLoss = 1
cfg.MiscellaneousLoss = polLoss + intLoss + antLoss # дБ
cfg.GainToNoiseTemperatureRatio = 25 # дБ/К
cfg.ReceiverSystemLoss = 2 # дБ
cfg.BitRate = 10 # Мбит/с
Выведем свойства объекта конфигурации CNR.
show(cfg)
SatelliteCNRConfig:
TransmitterPower=17
TransmitterSystemLoss=9
TransmitterAntennaGain=38
Distance=40215
Frequency=11
MiscellaneousLoss=6.0103
GainToNoiseTemperatureRatio=25
ReceiverSystemLoss=2
BitRate=10
SymbolRate=10
Bandwidth=6
Рассчитаем отношение несущая/шум.
import EngeeSatellites.Functions: satelliteCNR
cn, info = satelliteCNR(cfg)
println("\ncn = ", cn, "\ninfo: ",
"\n\tTransmitterEIRP = ", info.TransmitterEIRP,
"\n\tFSPL = ", info.FSPL,
"\n\tReceivedIsotropicPower = ", info.ReceivedIsotropicPower,
"\n\tCarrierToNoiseDensityRatio = ", info.CarrierToNoiseDensityRatio,
"\n\tReceivedEbNo = ", info.ReceivedEbNo,
"\n\tReceivedEsNo = ", info.ReceivedEsNo)
cn = 18.44395628356213
info:
TransmitterEIRP = 46
FSPL = 205.3633983858191
ReceivedIsotropicPower = -165.3736983858191
CarrierToNoiseDensityRatio = 86.22546878739857
ReceivedEbNo = 16.22546878739857
ReceivedEsNo = 16.22546878739857
Вычислим запас линии связи. Предположим, что требуемое отношение энергии на бит к плотности мощности шума (Eb/No) составляет 10 дБ, а потери при реализации в приемнике — 2 дБ.
reqEbNo = 10
implLoss = 2
margin = info.ReceivedEbNo - reqEbNo - implLoss
println("margin = ", margin)
margin = 4.225468787398569