Configuration class for SDR frontend hardware settings. More...
#include <SDRFrontEndConfigurations.hxx>
Public Member Functions | |
virtual void | initializeSDR ()=0 |
Initialize the SDR hardware. | |
virtual const std::vector< size_t > & | userSpecifiedTxChannels () const =0 |
Get the list of user-specified Tx channels. | |
virtual const std::vector< size_t > & | userSpecifiedRxChannels () const =0 |
Get the list of user-specified Rx channels. | |
virtual void | setTxCarrierFrequencies (std::vector< double > carrierFreqs)=0 |
Set carrier frequencies for Tx channels. | |
virtual void | setRxCarrierFrequencies (std::vector< double > carrierFreqs)=0 |
Set carrier frequencies for Rx channels. | |
virtual std::vector< double > | getTxCarrierFrequencies ()=0 |
Get carrier frequencies for Tx channels. | |
virtual std::vector< double > | getRxCarrierFrequencies ()=0 |
Get carrier frequencies for Rx channels. | |
virtual void | setTxSamplingRate (double txRate)=0 |
Set the Tx sampling rate. | |
virtual void | setRxSamplingRate (double rxRate)=0 |
Set the Rx sampling rate. | |
virtual double | getTxSamplingRate ()=0 |
Get the current Tx sampling rate. | |
virtual double | getRxSamplingRate ()=0 |
Get the current Rx sampling rate. | |
virtual bool | supportAGC ()=0 |
Check if AGC is supported. | |
virtual void | setAGC (bool enableAGC)=0 |
Enable or disable AGC. | |
virtual std::string | getTxAntenna ()=0 |
Get the current Tx antenna. | |
virtual std::string | getRxAntenna ()=0 |
Get the current Rx antenna. | |
virtual void | setTxAntenna (const std::string &txAnt)=0 |
Set the Tx antenna. | |
virtual void | setRxAntenna (const std::string &rxAnt)=0 |
Set the Rx antenna. | |
virtual std::vector< std::string > | getTxAntennas ()=0 |
Get list of available Tx antennas. | |
virtual std::vector< std::string > | getRxAntennas ()=0 |
Get list of available Rx antennas. | |
virtual void | setTxAntennas (const std::vector< std::string > &txAnts)=0 |
Set antennas for all Tx chains. | |
virtual void | setRxAntennas (const std::vector< std::string > &rxAnts)=0 |
Set antennas for all Rx chains. | |
virtual double | getFilterBandwidth ()=0 |
Get the current filter bandwidth. | |
virtual void | setFilterBandwidth (double bw)=0 |
Set the filter bandwidth. | |
virtual std::string | getClockSource ()=0 |
Get the current clock source. | |
virtual void | setClockSource (const std::string &clockSource)=0 |
Set the clock source. | |
virtual void | setClockSources (const std::vector< std::string > &clockSources)=0 |
Set clock sources for multiple motherboards. | |
virtual std::vector< std::string > | getClockSources ()=0 |
Get list of current clock sources. | |
virtual std::string | getTimeSource ()=0 |
Get the current time source. | |
virtual void | setTimeSource (const std::string &timeSource)=0 |
Set the time source. | |
virtual void | setTimeSources (const std::vector< std::string > &timeSources)=0 |
Set time sources for multiple motherboards. | |
virtual std::vector< std::string > | getTimeSources ()=0 |
Get list of current time sources. | |
virtual double | getMasterClockRate ()=0 |
Get the master clock rate. | |
virtual void | setMasterClockRate (double masterClockRate)=0 |
Set the master clock rate. | |
virtual SDRFrontEndTransferType | getTransferType () const =0 |
Get the current transfer type. | |
virtual void | setTransferType (SDRFrontEndTransferType transferType)=0 |
Set the transfer type. | |
virtual void | setNumThreads4RxDecoding (uint8_t numThreads)=0 |
Set the number of threads for Rx decoding. | |
virtual double | getRxBufferDuration () const =0 |
Get the Rx buffer duration. | |
virtual void | skipMPDUDecoding4HESUHighDopplerFrame (bool skipDataDecoding)=0 |
Set whether to skip MPDU decoding for HE-SU high Doppler frames. | |
virtual void | setRxPipelineChannels (std::vector< std::vector< size_t > > PipelineChannels)=0 |
virtual std::vector< std::vector< size_t > > | getRxPipelineChannels ()=0 |
virtual void | setPinelineConfig (std::vector< PipelineConfig > cfgs)=0 |
virtual std::vector< PipelineConfig > | getPinelineConfig ()=0 |
![]() | |
virtual | ~SDRFrontEndBasebandConfigurations ()=default |
virtual double | getRxSensitivity ()=0 |
Get the receiver sensitivity. | |
virtual void | setRxSensitivity (double rxSensitivity)=0 |
Set the receiver sensitivity. | |
virtual bool | isRxResampleBypassFIR ()=0 |
Check if FIR filter is bypassed in Rx resampling. | |
virtual void | setRxResampleBypassFIR (bool bypass)=0 |
Set whether to bypass FIR filter in Rx resampling. | |
virtual bool | isTxSplitHighLow ()=0 |
Check if high/low split is enabled for Tx. | |
virtual void | setTxSplitHighLow (bool split)=0 |
Set whether to split high/low for Tx. | |
virtual bool | isRxMergeHighLow ()=0 |
Check if high/low merge is enabled for Rx. | |
virtual void | setRxMergeHighLow (bool merge)=0 |
Set whether to merge high/low for Rx. | |
virtual std::optional< double > | getCarrierFrequencyOffset4TxEncoding ()=0 |
Get the carrier frequency offset for Tx encoding. | |
virtual void | setCarrierFrequencyOffset4TxEncoding (double carrierFrequencyOffset)=0 |
Set the carrier frequency offset for Tx encoding. | |
virtual std::optional< double > | getSamplingFrequencyOffset4TxEncoding ()=0 |
Get the sampling frequency offset for Tx encoding. | |
virtual void | setSamplingFrequencyOffset4TxEncoding (double samplingFrequencyOffset)=0 |
Set the sampling frequency offset for Tx encoding. | |
virtual std::optional< double > | getCarrierFrequencyOffset4RxDecoding ()=0 |
Get the carrier frequency offset for Rx decoding. | |
virtual void | setCarrierFrequencyOffset4RxDecoding (double carrierFrequencyOffset)=0 |
Set the carrier frequency offset for Rx decoding. | |
virtual std::optional< double > | getSamplingFrequencyOffset4RxDecoding ()=0 |
Get the sampling frequency offset for Rx decoding. | |
virtual void | setSamplingFrequencyOffset4RxDecoding (double samplingFrequencyOffset)=0 |
Set the sampling frequency offset for Rx decoding. | |
virtual double | getTxResampleRatio ()=0 |
Get the Tx resampling ratio. | |
virtual void | setTxResampleRatio (double txResampleRatio)=0 |
Set the Tx resampling ratio. | |
virtual double | getRxResampleRatio ()=0 |
Get the Rx resampling ratio. | |
virtual void | setRxResampleRatio (double rxResampleRatio)=0 |
Set the Rx resampling ratio. | |
virtual double | getSDRFrontEndTime ()=0 |
Get the current SDR hardware time. | |
virtual ChannelBandwidthEnum | getRxChannelBandwidthMode ()=0 |
Get the current channel bandwidth mode for Rx. | |
virtual void | setRxChannelBandwidthMode (ChannelBandwidthEnum rxCbw)=0 |
Set the channel bandwidth mode for Rx. | |
virtual void | setTxIQMismatch (double iq_ratio_db, double iq_crosstalk_degree)=0 |
Set I/Q mismatch parameters for Tx. | |
virtual void | setRxIQMismatch (double iq_ratio_db, double iq_crosstalk_degree)=0 |
Set I/Q mismatch parameters for Rx. | |
virtual double | getTxIqRatioDB ()=0 |
Get the I/Q ratio for Tx in dB. | |
virtual double | getTxIqCrossTalkDegree ()=0 |
Get the I/Q crosstalk angle for Tx. | |
virtual double | getRxIqRatioDB ()=0 |
Get the I/Q ratio for Rx in dB. | |
virtual double | getRxIqCrossTalkDegree ()=0 |
Get the I/Q crosstalk angle for Rx. | |
virtual bool | isFullDuplexEnabled ()=0 |
Check if full duplex mode is enabled. | |
virtual void | setFullDuplex (bool enableFullduplex)=0 |
Set full duplex mode. | |
virtual double | getRxOfdmSymbolOffset ()=0 |
Get the Rx OFDM symbol offset. | |
virtual void | setRxOfdmSymbolOffset (double rxOfdmSymbolOffset)=0 |
Set the Rx OFDM symbol offset. | |
virtual double | getNumSamplesSavedBeforeStart ()=0 |
Get the number of samples saved before start. | |
virtual void | getNumSamplesSavedBeforeStart (double numSamplesSavedBeforeStart)=0 |
Set the number of samples saved before start. | |
virtual bool | isReturnBasebandSignals () const =0 |
Check if baseband signals should be returned. | |
virtual bool | useConventionalPacketDetector () const =0 |
Check if conventional packet detector should be used. | |
Configuration class for SDR frontend hardware settings.
This class extends SDRFrontEndBasebandConfigurations to provide additional configuration options specific to SDR hardware, such as carrier frequencies, sampling rates, gain settings, and hardware-specific parameters.
Definition at line 369 of file SDRFrontEndConfigurations.hxx.
|
pure virtual |
Get the current clock source.
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Get list of current clock sources.
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Get the current filter bandwidth.
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Get the master clock rate.
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Get the current Rx antenna.
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Get list of available Rx antennas.
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Get the Rx buffer duration.
|
pure virtual |
Get carrier frequencies for Rx channels.
Implemented in VirtualSDRFrontEnd.
Referenced by AbstractSDRFrontEnd::getCarrierFrequency().
|
pure virtual |
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Get the current Rx sampling rate.
Implemented in VirtualSDRFrontEnd.
Referenced by AbstractSDRFrontEnd::getSamplingRate().
|
pure virtual |
Get the current time source.
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Get list of current time sources.
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Get the current transfer type.
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Get the current Tx antenna.
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Get list of available Tx antennas.
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Get carrier frequencies for Tx channels.
Implemented in VirtualSDRFrontEnd.
Referenced by AbstractSDRFrontEnd::getCarrierFrequency().
|
pure virtual |
Get the current Tx sampling rate.
Implemented in VirtualSDRFrontEnd.
Referenced by AbstractSDRFrontEnd::getSamplingRate(), AbstractSDRFrontEnd::transmit(), and AbstractSDRFrontEnd::transmitFramesInBatch().
|
pure virtual |
Initialize the SDR hardware.
|
pure virtual |
Enable or disable AGC.
enableAGC | True to enable AGC, false to disable |
Implemented in VirtualSDRFrontEnd.
|
pure virtual |
Set the clock source.
clockSource | Name of desired clock source |
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Set clock sources for multiple motherboards.
clockSources | Vector of clock source names for each motherboard |
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Set the filter bandwidth.
bw | Desired filter bandwidth in Hz |
Implemented in VirtualSDRFrontEnd, and AbstractSDRFrontEnd.
|
pure virtual |
Set the master clock rate.
masterClockRate | Desired master clock rate in Hz |
Implemented in VirtualSDRFrontEnd, and AbstractSDRFrontEnd.
|
pure virtual |
Set the number of threads for Rx decoding.
numThreads | Number of threads to use |
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
|
pure virtual |
Set antennas for all Rx chains.
rxAnts | Vector of antenna names for each Rx chain |
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Set carrier frequencies for Rx channels.
carrierFreqs | Vector of carrier frequencies for each Rx channel |
Implemented in VirtualSDRFrontEnd.
Referenced by AbstractSDRFrontEnd::setCarrierFrequency().
|
pure virtual |
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Set the Rx sampling rate.
rxRate | Desired Rx sampling rate in Hz |
Implemented in VirtualSDRFrontEnd.
Referenced by AbstractSDRFrontEnd::setSamplingRate().
|
pure virtual |
Set the time source.
timeSource | Name of desired time source |
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Set time sources for multiple motherboards.
timeSources | Vector of time source names for each motherboard |
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Set the transfer type.
transferType | Desired transfer type |
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
|
pure virtual |
Set antennas for all Tx chains.
txAnts | Vector of antenna names for each Tx chain |
Implemented in AbstractSDRFrontEnd, and VirtualSDRFrontEnd.
|
pure virtual |
Set carrier frequencies for Tx channels.
carrierFreqs | Vector of carrier frequencies for each Tx channel |
Implemented in VirtualSDRFrontEnd.
Referenced by AbstractSDRFrontEnd::setCarrierFrequency().
|
pure virtual |
Set the Tx sampling rate.
txRate | Desired Tx sampling rate in Hz |
Implemented in VirtualSDRFrontEnd.
Referenced by AbstractSDRFrontEnd::setSamplingRate().
|
pure virtual |
Set whether to skip MPDU decoding for HE-SU high Doppler frames.
skipDataDecoding | True to skip decoding, false otherwise |
|
pure virtual |
Check if AGC is supported.
Implemented in VirtualSDRFrontEnd.
|
pure virtual |
Get the list of user-specified Rx channels.
Implemented in AbstractSDRFrontEnd.
|
pure virtual |
Get the list of user-specified Tx channels.
Implemented in AbstractSDRFrontEnd.