Документация Engee

satelliteCNR

Отношение несущей к шуму для заданных параметров бюджета спутниковой связи.

Библиотека

EngeeSatellites

Синтаксис

Вызов функции

  • cn,info = satelliteCNR(cfg) — вычисляет отношение сигнала несущей частоты к шуму (Carrier-to-Noise Ratio, CNR) cn для параметров бюджета спутниковой связи, указанных в конфигурации cfg. Функция также возвращает промежуточные результаты расчета CNR в выходном аргументе info на основе параметров бюджета канала связи, заданных во входном аргументе cfg.

Аргументы

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

# cfg — объект конфигурации CNR
объект satelliteCNRConfig

Details

Объект конфигурации CNR, заданный как объект EngeeSatellites.SatelliteCNRConfig.

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

# cn — отношение несущей к шуму
скаляр

Details

Отношение сигнала несущей частоты к шуму, возвращаемое в виде скаляра в дБ. Дополнительную информацию см. в разделе Алгоритмы.

Типы данных

Float64

# info — промежуточные результаты расчета CNR
структура

Details

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

Поле структуры Описание

TransmitterEIRP

Эффективная изотропная излучаемая мощность передающей антенны, возвращаемая в виде скаляра в дБВт.

FSPL

Потери в свободном пространстве от передающей до приемной антенны, возвращаемые в виде скаляра в дБ.

ReceivedIsotropicPower

Принимаемая изотропная мощность на приемной антенне, возвращаемая в виде скаляра в дБВт.

CarrierToNoiseDensityRatio

Отношение плотности мощности несущей к плотности мощности шума, возвращаемое в виде скаляра в дБ-Гц.

ReceivedEbNo

Отношение энергии на бит к плотности мощности шума, возвращаемое в виде скаляра в дБ.

ReceivedEsNo

Отношение энергии на символ к плотности мощности шума, возвращаемое в виде скаляра в дБ.

Все поля в структуре имеют тип данных Float64. Дополнительную информацию см. в разделе Алгоритмы.

Типы данных

struct

Примеры

Расчет отношения несущая/шум и энергетического запаса

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

Алгоритмы

Отношение несущая/шум (CNR) в системе спутниковой связи измеряет мощность несущего сигнала на приемнике относительно мощности шума на этом же приемнике. На следующей схеме показаны различные потери и усиления сигнала, возникающие в спутниковой связи.

satellite cnr ru

Для расчета отношения несущая/шум cn для системы функция satelliteCNR выполняет различные промежуточные вычисления, используя свойства объекта конфигурации EngeeSatellites.SatelliteCNRConfig, и выводит их в структуру info. Функция использует эти формулы для промежуточных вычислений.

Поле структуры info Формула

TransmitterEIRP

TransmitterPower − TransmitterSystemLoss + TransmitterAntennaGain

FSPL

20 * log10(4 * π * Distance * Frequency / c), где c — скорость света

ReceivedIsotropicPower

TransmitterEIRP − FSPL − MiscellaneousLoss

CarrierToNoiseDensityRatio

ReceivedIsotropicPower + GainToNoiseTemperatureRatio − 10 * log10(k_B) − ReceiverSystemLoss, где k_B — постоянная Больцмана

ReceivedEbNo

CarrierToNoiseDensityRatio − 10 * log10(BitRate) − 60

ReceivedEsNo

CarrierToNoiseDensityRatio − 10 * log10(SymbolRate) − 60

Затем функция вычисляет отношение несущей к шуму с помощью формулы

cn = CarrierToNoiseDensityRatio − 10 * log10(Bandwidth) − 60.