FlightGear next
FGRadioTransmission Class Reference

#include <radio.hxx>

Public Member Functions

 FGRadioTransmission ()
 
 ~FGRadioTransmission ()
 
void setFrequency (double freq, int radio)
 a couple of setters and getters for convenience, call after initializing frequency is in MHz, sensitivity in dBm, antenna gain and losses in dB, transmitter power in dBm polarization can be: 0 horizontal, 1 vertical
 
double getFrequency (int radio)
 
void setTxPower (double txpower)
 
void setRxSensitivity (double sensitivity)
 
void setTxAntennaHeight (double tx_antenna_height)
 
void setRxAntennaHeight (double rx_antenna_height)
 
void setTxAntennaGain (double tx_antenna_gain)
 
void setRxAntennaGain (double rx_antenna_gain)
 
void setTxLineLosses (double tx_line_losses)
 
void setRxLineLosses (double rx_line_losses)
 
void setPropagationModel (int model)
 
void setPolarization (int polarization)
 
void receiveATC (SGGeod tx_pos, double freq, std::string text, int transmission_type)
 
void receiveChat (SGGeod tx_pos, double freq, std::string text, int transmission_type)
 
double receiveNav (SGGeod tx_pos, double freq, int transmission_type)
 
double receiveBeacon (SGGeod &tx_pos, double heading, double pitch)
 

Static Public Member Functions

static double watt_to_dbm (double power_watt)
 static convenience functions for unit conversions
 
static double dbm_to_watt (double dbm)
 
static double dbm_to_microvolt (double dbm)
 

Detailed Description

Definition at line 35 of file radio.hxx.

Constructor & Destructor Documentation

◆ FGRadioTransmission()

FGRadioTransmission::FGRadioTransmission ( )

AM transmitter power in dBm. Typical output powers for ATC ground equipment, VHF-UHF: 40 dBm - 10 W (ground, clearance) 44 dBm - 20 W (tower) 47 dBm - 50 W (center, sectors) 50 dBm - 100 W (center, sectors) 53 dBm - 200 W (sectors, on directional arrays)

Definition at line 35 of file radio.cxx.

◆ ~FGRadioTransmission()

FGRadioTransmission::~FGRadioTransmission ( )

Definition at line 71 of file radio.cxx.

Member Function Documentation

◆ dbm_to_microvolt()

double FGRadioTransmission::dbm_to_microvolt ( double dbm)
static

Definition at line 1019 of file radio.cxx.

◆ dbm_to_watt()

double FGRadioTransmission::dbm_to_watt ( double dbm)
static

Definition at line 1015 of file radio.cxx.

◆ getFrequency()

double FGRadioTransmission::getFrequency ( int radio)

Definition at line 76 of file radio.cxx.

◆ receiveATC()

void FGRadioTransmission::receiveATC ( SGGeod tx_pos,
double freq,
std::string text,
int transmission_type )

for low SNR values need a way to make the conversation hard to understand but audible in the real world, the receiver AGC fails to capture the slope and the signal, due to being amplitude modulated, decreases volume after demodulation the workaround below is more akin to what would happen on a FM transmission therefore the correct way would be to work on the volume

Definition at line 141 of file radio.cxx.

◆ receiveBeacon()

double FGRadioTransmission::receiveBeacon ( SGGeod & tx_pos,
double heading,
double pitch )

Definition at line 115 of file radio.cxx.

◆ receiveChat()

void FGRadioTransmission::receiveChat ( SGGeod tx_pos,
double freq,
std::string text,
int transmission_type )

Definition at line 93 of file radio.cxx.

◆ receiveNav()

double FGRadioTransmission::receiveNav ( SGGeod tx_pos,
double freq,
int transmission_type )

Definition at line 98 of file radio.cxx.

◆ setFrequency()

void FGRadioTransmission::setFrequency ( double freq,
int radio )

a couple of setters and getters for convenience, call after initializing frequency is in MHz, sensitivity in dBm, antenna gain and losses in dB, transmitter power in dBm polarization can be: 0 horizontal, 1 vertical

◆ setPolarization()

void FGRadioTransmission::setPolarization ( int polarization)
inline

Definition at line 106 of file radio.hxx.

◆ setPropagationModel()

void FGRadioTransmission::setPropagationModel ( int model)
inline

Definition at line 105 of file radio.hxx.

◆ setRxAntennaGain()

void FGRadioTransmission::setRxAntennaGain ( double rx_antenna_gain)
inline

Definition at line 102 of file radio.hxx.

◆ setRxAntennaHeight()

void FGRadioTransmission::setRxAntennaHeight ( double rx_antenna_height)
inline

Definition at line 100 of file radio.hxx.

◆ setRxLineLosses()

void FGRadioTransmission::setRxLineLosses ( double rx_line_losses)
inline

Definition at line 104 of file radio.hxx.

◆ setRxSensitivity()

void FGRadioTransmission::setRxSensitivity ( double sensitivity)
inline

Definition at line 98 of file radio.hxx.

◆ setTxAntennaGain()

void FGRadioTransmission::setTxAntennaGain ( double tx_antenna_gain)
inline

Definition at line 101 of file radio.hxx.

◆ setTxAntennaHeight()

void FGRadioTransmission::setTxAntennaHeight ( double tx_antenna_height)
inline

Definition at line 99 of file radio.hxx.

◆ setTxLineLosses()

void FGRadioTransmission::setTxLineLosses ( double tx_line_losses)
inline

Definition at line 103 of file radio.hxx.

◆ setTxPower()

void FGRadioTransmission::setTxPower ( double txpower)
inline

Definition at line 97 of file radio.hxx.

◆ watt_to_dbm()

double FGRadioTransmission::watt_to_dbm ( double power_watt)
static

static convenience functions for unit conversions

Definition at line 1011 of file radio.cxx.


The documentation for this class was generated from the following files: