EngeeSatellites.SatelliteCNRConfig
Configuration parameters of the carrier-to-noise ratio.
| Library |
|
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 pairName=Value, whereName— the name of the property, andValue— 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.
| Типы данных |
|
# 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.
| Типы данных |
|
# 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.
| Типы данных |
|
# 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.
| Типы данных |
|
# Frequency — the frequency of the signal
+
14 (by default) | scalar
Details
The frequency of the signal, set as a positive real scalar in GHz.
| Типы данных |
|
# 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.
| Типы данных |
|
# 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.
| Типы данных |
|
# 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.
| Типы данных |
|
# 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.
| Типы данных |
|
# 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.
| Типы данных |
|
# Bandwidth — signal bandwidth
+
6 (by default) | scalar
Details
The bandwidth of the signal, specified as a positive real scalar in MHz.
| Типы данных |
|
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