Engee documentation

satelliteCNR

The ratio of carrier to noise for the specified parameters of the satellite communication budget.

Library

EngeeSatellites

Syntax

Function call

  • cn,info = satelliteCNR(cfg) — calculates the ratio of the carrier frequency signal to noise (Carrier-to-Noise Ratio, CNR) cn for the satellite communication budget parameters specified in the configuration cfg. The function also returns the intermediate results of the CNR calculation in the output argument. info based on the parameters of the communication channel budget specified in the input argument cfg.

Arguments

Input arguments

# cfg — CNR configuration object

+ the Satellites CNRCONFIG object

Details

The CNR configuration object, set as an object EngeeSatellites.SatelliteCNRConfig.

Output arguments

# cn is the ratio of carrier to noise

+ scalar

Details

The ratio of the carrier frequency signal to noise, returned as a scalar in dB. For more information, see Algorithms.

Типы данных

Float64

# info — intermediate results of CNR calculation

+ structure

Details

Intermediate results of the CNR calculation based on the parameters of the communication channel budget specified in the argument cfg, and returned as a structure with the following fields.

Structure Field Description

TransmitterEIRP

The effective isotropic radiated power of the transmitting antenna, returned as a scalar in dBW.

FSPL

The loss in free space from the transmitting to the receiving antenna, returned as a scalar in dB.

ReceivedIsotropicPower

The received isotropic power at the receiving antenna, returned as a scalar in dBW.

CarrierToNoiseDensityRatio

The ratio of the carrier power density to the noise power density, returned as a scalar in dB Hz.

ReceivedEbNo

The ratio of energy per bit to the noise power density, returned as a scalar in dB.

ReceivedEsNo

The ratio of energy per symbol to the noise power density, returned as a scalar in dB.

All fields in the structure have a data type Float64. For more information, see Algorithms.

Типы данных

struct

Examples

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

Algorithms

The carrier-to-noise ratio (CNR) in a satellite communication system measures the power of the carrier signal at a receiver relative to the noise power at the same receiver. The following diagram shows the various signal losses and amplifications that occur in satellite communications.

satellite cnr en

To calculate the carrier/noise ratio cn for the system, the function satelliteCNR performs various intermediate calculations using the properties of the configuration object EngeeSatellites.SatelliteCNRConfig, and outputs them to the structure info. The function uses these formulas for intermediate calculations.

Structure Field info Formula

TransmitterEIRP

TransmitterPower − TransmitterSystemLoss + TransmitterAntennaGain

FSPL

20 * log10(4 * π * Distance * Frequency / c), where c — the speed of light

ReceivedIsotropicPower

TransmitterEIRP − FSPL − MiscellaneousLoss

CarrierToNoiseDensityRatio

ReceivedIsotropicPower + GainToNoiseTemperatureRatio − 10 * log10(k_B) − ReceiverSystemLoss, where k_B — Boltzmann constant

ReceivedEbNo

CarrierToNoiseDensityRatio − 10 * log10(BitRate) − 60

ReceivedEsNo

CarrierToNoiseDensityRatio − 10 * log10(SymbolRate) − 60

The function then calculates the carrier-to-noise ratio using the formula

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