TSDuck v3.40-3963
MPEG Transport Stream Toolkit
|
Description of a Low-Noise Block (LNB) converter in a satellite dish. More...
#include <tsLNB.h>
Classes | |
class | Transposition |
Description of the required transposition for a given satellite frequency and polarization. More... | |
Public Member Functions | |
LNB ()=default | |
Default constructor. | |
LNB (const UString &name, Report &report=(ts::CerrReport::Instance())) | |
Constructor from an LNB name. | |
LNB (uint64_t frequency) | |
Constructor from a simple legacy LNB without high band. | |
LNB (uint64_t low_frequency, uint64_t high_frequency, uint64_t switch_frequency) | |
Constructor from a legacy LNB with low and high band. | |
size_t | bandsCount () const |
Get the number of frequency bands in the LNB. | |
bool | isPolarizationControlled () const |
Check if the LNB is polarization-controlled. | |
bool | isValid () const |
Check if valid (typically after initializing or converting from string). | |
uint64_t | legacyHighOscillatorFrequency () const |
Get the legacy "high oscillator frequency" value. | |
uint64_t | legacyLowOscillatorFrequency () const |
Get the legacy "low oscillator frequency" value. | |
uint64_t | legacySwitchFrequency () const |
Get the legacy "switch frequency" value. | |
UString | name () const |
Get the official name of the LNB. | |
bool | set (const UString &name, Report &report=(ts::CerrReport::Instance())) |
Set the LNB to the specified type of LNB. | |
void | set (uint64_t frequency) |
Set values of a simple legacy LNB without high band. | |
void | set (uint64_t low_frequency, uint64_t high_frequency, uint64_t switch_frequency) |
Set values of a legacy LNB with low and high band. | |
virtual UString | toString () const override |
Convert the LNB object to a string. | |
bool | transpose (Transposition &transposition, uint64_t satellite_frequency, Polarization polarity, Report &report=(ts::CerrReport::Instance())) const |
Compute the intermediate frequency and transposition from a satellite carrier frequency. | |
Static Public Member Functions | |
static UStringList | GetAllNames (Report &report=(ts::CerrReport::Instance())) |
Get a list of all available LNB's from the configuration file. | |
Description of a Low-Noise Block (LNB) converter in a satellite dish.
The satellite carrier frequency is used to carry the signal from the satellite to the dish. This value is public and is stored in the NIT for instance. The intermediate frequency is used to carry the signal from the dish's LNB to the receiver. The way this frequency is computed depends on the characteristics of the LNB. The intermediate frequency is the one that is used by the tuner in the satellite receiver.
Note: all frequencies are in Hz in parameters.
|
default |
Default constructor.
The object is initially invalid.
ts::LNB::LNB | ( | const UString & | name, |
Report & | report = (ts::CerrReport::Instance()) |
||
) |
ts::LNB::LNB | ( | uint64_t | frequency | ) |
Constructor from a simple legacy LNB without high band.
[in] | frequency | Low frequency. |
Constructor from a legacy LNB with low and high band.
[in] | low_frequency | Low frequency. |
[in] | high_frequency | High frequency. |
[in] | switch_frequency | Switch frequency. |
|
static |
|
inline |
Convert the LNB object to a string.
Implements ts::StringifyInterface.
|
inline |
Check if valid (typically after initializing or converting from string).
bool ts::LNB::isPolarizationControlled | ( | ) | const |
Check if the LNB is polarization-controlled.
With such LNB's, the satellite frequencies are transposed in different bands depending on the polarity. Also, they use "stacked" transposition: the transposed bands don't overlap and no tone/voltage/DiSEqC command is needed.
|
inline |
uint64_t ts::LNB::legacyLowOscillatorFrequency | ( | ) | const |
Get the legacy "low oscillator frequency" value.
uint64_t ts::LNB::legacyHighOscillatorFrequency | ( | ) | const |
Get the legacy "high oscillator frequency" value.
uint64_t ts::LNB::legacySwitchFrequency | ( | ) | const |
Get the legacy "switch frequency" value.
bool ts::LNB::transpose | ( | Transposition & | transposition, |
uint64_t | satellite_frequency, | ||
Polarization | polarity, | ||
Report & | report = (ts::CerrReport::Instance()) |
||
) | const |
Compute the intermediate frequency and transposition from a satellite carrier frequency.
[out] | transposition | Returned transposition information. |
[in] | satellite_frequency | Satellite carrier frequency in Hz. |
[in] | polarity | Carrier polarity. Used only on polarization-controlled LNB's. These LNB's typically transpose different polarizations in different bands of intermediate frequencies. |
[in,out] | report | Where to log errors. |
bool ts::LNB::set | ( | const UString & | name, |
Report & | report = (ts::CerrReport::Instance()) |
||
) |
Set the LNB to the specified type of LNB.
[in] | name | LNB name of alias as found in file tsduck.lnbs.xml. Can also be a full specification in legacy format (frequencies in MHz): |
[in,out] | report | Where to log errors. |
void ts::LNB::set | ( | uint64_t | frequency | ) |
Set values of a simple legacy LNB without high band.
[in] | frequency | Low frequency. |
void ts::LNB::set | ( | uint64_t | low_frequency, |
uint64_t | high_frequency, | ||
uint64_t | switch_frequency | ||
) |
Set values of a legacy LNB with low and high band.
[in] | low_frequency | Low frequency. |
[in] | high_frequency | High frequency. |
[in] | switch_frequency | Switch frequency. |