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 |
Public Member Functions inherited from SDRFrontEndBasebandConfigurations | |
| 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.