Engee documentation

EngeeSatellites.SatelliteCNRConfig

Configuration parameters of the carrier-to-noise ratio.

Library

EngeeSatellites

Description

The *EngeeSatellites.Satellites system object*represents a Carrier-to-Noise Ratio (CNR) configuration with default or preset values.

Syntax

Creation

  • cfg = EngeeSatellites.SatelliteCNRConfig() — creates a system configuration object of the carrier/noise ratio with the properties set by default.

  • cfg = EngeeSatellites.SatelliteCNRConfig(Name=Value) — creates a system configuration object of the carrier/noise ratio with the specified properties in the form of a pair Name=Value, where Name — the name of the property, and Value — the appropriate value. You can specify multiple pairs «name-value» the order of the pairs does not matter. Unspecified properties retain their default values.

    Example:

    # создание системного объекта конфигурации CNR с мощностью передатчика 20 дБВт
    cfg = SatelliteCNRConfig(TransmitterPower = 20)

Arguments

Output arguments

# cfg — CNR + configuration object

Details

The configuration object of the ratio of the carrier frequency signal to noise.

Features

# TransmitterPower — transmitter power

+ 10 (by default) | scalar

Details

The power of the transmitter, set as a real scalar in dBW.

Типы данных

Float64

# TransmitterSystemLoss — total losses in the transmitter system

+ 0 (by default) | scalar

Details

Total losses in the transmitter system, given as a non-negative real scalar in dB.

Типы данных

Float64

# TransmitterAntennaGain — the gain of the transmitter antenna

+ 10 (by default) | scalar

Details

The gain of the transmitter antenna, set as a non-negative real scalar in dBi.

Типы данных

Float64

# Distance — the distance between the antenna of the transmitter and the antenna of the receiver

+ 3786 (by default) | scalar

Details

The distance between the antenna of the transmitter and the antenna of the receiver, given as a non-negative real scalar in km.

Типы данных

Float64

# Frequency — the frequency of the signal

+ 14 (by default) | scalar

Details

The frequency of the signal, set as a positive real scalar in GHz.

Типы данных

Float64

# MiscellaneousLoss — various losses

+ 0 (by default) | scalar

Details

Various losses, given as a non-negative real scalar in dB. The main various losses include polarization loss, interference, and atmospheric attenuation.

Типы данных

Float64

# GainToNoiseTemperatureRatio is the ratio of receiver gain to noise temperature

+ 3 (by default) | scalar

Details

The ratio of the receiver gain to the noise temperature in the direction of the transmitting antenna, given as a real scalar in dB/K.

Типы данных

Float64

# ReceiverSystemLoss — total losses in the receiver system

+ 0 (by default) | scalar

Details

Total losses in the receiver system, given as a non-negative real scalar in dB.

Типы данных

Float64

# BitRate — data transfer rate over the channel

+ 10 (by default) | scalar

Details

The data transfer rate over the communication channel, set as a positive real scalar in Mbit/s.

Типы данных

Float64

# SymbolRate — symbolic data transfer rate over the communication channel

+ 10 (by default) | scalar

Details

The symbolic data transfer rate over the communication channel, set as a positive real scalar in ms/s.

Типы данных

Float64

# Bandwidth — signal bandwidth

+ 6 (by default) | scalar

Details

The bandwidth of the signal, specified as a positive real scalar in MHz.

Типы данных

Float64

Methods

satelliteCNR

Carrier-to-noise ratio for specified satellite budget parameters

Examples

Creating a CNR satellite object

Details

Create a satellite carrier-to-noise ratio (CNR) object with the default properties.

Set the bandwidth value to 15 MHz, and the value is the ratio of gain to noise temperature — 5 dB/K.

import EngeeSatellites: SatelliteCNRConfig

cfg = SatelliteCNRConfig()
cfg.Bandwidth = 15
cfg.GainToNoiseTemperatureRatio = 5

Let’s output the properties of the CNR configuration object.

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

Calculation of the carrier/noise ratio and energy reserve

Details

Let’s calculate the carrier/noise ratio and the energy reserve of the communication line for the specified parameters of the satellite communications budget.

Create a CNR configuration object with the default properties, and then change these properties.

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                                     # Мбит/с

Let’s output the properties of the CNR configuration object.

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

Calculate the carrier/noise ratio.

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

Calculate the supply of the communication line. Assume that the required ratio of energy per bit to noise power density (Eb/No) is 10 dB, and the loss during implementation in the receiver — 2 dB.

reqEbNo = 10
implLoss = 2
margin = info.ReceivedEbNo - reqEbNo - implLoss

println("margin = ", margin)
margin = 4.225468787398569