Loading...
Searching...
No Matches
RFTimeBlockEncoder Class Reference

`#include <rftimeblockencoder.h>`

## Public Member Functions

| RFTimeBlockEncoder (size_t nPol, size_t nChannels)
virtual | ~RFTimeBlockEncoder () override
virtual void | EncodeWithDithering (const dyscostman::StochasticEncoder< float > &gausEncoder, FBuffer &buffer, float *metaBuffer, symbol_t *symbolBuffer, size_t antennaCount, std::mt19937 &rnd) final override
virtual void | EncodeWithoutDithering (const dyscostman::StochasticEncoder< float > &gausEncoder, FBuffer &buffer, float *metaBuffer, symbol_t *symbolBuffer, size_t antennaCount) final override
virtual void | InitializeDecode (const float *metaBuffer, size_t nRow, size_t nAntennae) final override
virtual void | Decode (const dyscostman::StochasticEncoder< float > &gausEncoder, FBuffer &buffer, const symbol_t *symbolBuffer, size_t blockRow, size_t antenna1, size_t antenna2) final override
virtual size_t | SymbolCount (size_t nRow, size_t nPol, size_t nChannels) const final override
virtual size_t | SymbolCount (size_t nRow) const final override
virtual size_t | SymbolsPerRow () const final override
virtual size_t | MetaDataCount (size_t nRow, size_t nPol, size_t nChannels, size_t) const final override
void | Normalize (const dyscostman::StochasticEncoder< float > &gausEncoder, TimeBlockBuffer< std::complex< float > > &buffer, size_t antennaCount)
Public Member Functions inherited from TimeBlockEncoder
virtual | ~TimeBlockEncoder ()

## Private Member Functions

void | maximizeRows (std::vector< DBufferRow > &data, float *metaBuffer, const dyscostman::StochasticEncoder< float > &gausEncoder)
void | maximizeChannels (std::vector< DBufferRow > &data, float *metaBuffer, const dyscostman::StochasticEncoder< float > &gausEncoder)
template<bool UseDithering>
void | encode (const dyscostman::StochasticEncoder< float > &gausEncoder, const FBuffer &buffer, float *metaBuffer, symbol_t *symbolBuffer, size_t antennaCount, std::mt19937 *rnd)

## Private Attributes

size_t | _nPol
size_t | _nChannels
aocommon::UVector< double > | _channelFactors
aocommon::UVector< double > | _rowFactors
std::uniform_int_distribution< unsigned > | _ditherDist

## Additional Inherited Members

Public Types inherited from TimeBlockEncoder
typedef TimeBlockBuffer< std::complex< float > > | FBuffer
typedef TimeBlockBuffer< std::complex< float > >::DataRow | FBufferRow
typedef TimeBlockBuffer< std::complex< double > > | DBuffer
typedef TimeBlockBuffer< std::complex< double > >::DataRow | DBufferRow
typedef unsigned | symbol_t
Protected Member Functions inherited from TimeBlockEncoder
| TimeBlockEncoder ()

## Detailed Description

Definition at line 14 of file rftimeblockencoder.h.

## Constructor & Destructor Documentation

## RFTimeBlockEncoder()

RFTimeBlockEncoder::RFTimeBlockEncoder | ( | size_t | nPol,
|  | size_t | nChannels )

## ~RFTimeBlockEncoder()

virtual RFTimeBlockEncoder::~RFTimeBlockEncoder | ( |  | ) |

override virtual

## Member Function Documentation

## Decode()

virtual void RFTimeBlockEncoder::Decode | ( | const dyscostman::StochasticEncoder< float > & | gausEncoder,
|  | FBuffer & | buffer,
|  | const symbol_t * | symbolBuffer,
|  | size_t | blockRow,
|  | size_t | antenna1,
|  | size_t | antenna2 )

final override virtual

Implements TimeBlockEncoder.

## encode()

template<bool UseDithering>

void RFTimeBlockEncoder::encode | ( | const dyscostman::StochasticEncoder< float > & | gausEncoder,
|  | const FBuffer & | buffer,
|  | float * | metaBuffer,
|  | symbol_t * | symbolBuffer,
|  | size_t | antennaCount,
|  | std::mt19937 * | rnd )

private

Referenced by EncodeWithDithering(), and EncodeWithoutDithering().

## EncodeWithDithering()

virtual void RFTimeBlockEncoder::EncodeWithDithering | ( | const dyscostman::StochasticEncoder< float > & | gausEncoder,
|  | FBuffer & | buffer,
|  | float * | metaBuffer,
|  | symbol_t * | symbolBuffer,
|  | size_t | antennaCount,
|  | std::mt19937 & | rnd )

inline final override virtual

Implements TimeBlockEncoder.

Definition at line 20 of file rftimeblockencoder.h.

References encode().

## EncodeWithoutDithering()

virtual void RFTimeBlockEncoder::EncodeWithoutDithering | ( | const dyscostman::StochasticEncoder< float > & | gausEncoder,
|  | FBuffer & | buffer,
|  | float * | metaBuffer,
|  | symbol_t * | symbolBuffer,
|  | size_t | antennaCount )

inline final override virtual

Implements TimeBlockEncoder.

Definition at line 28 of file rftimeblockencoder.h.

References encode().

## InitializeDecode()

virtual void RFTimeBlockEncoder::InitializeDecode | ( | const float * | metaBuffer,
|  | size_t | nRow,
|  | size_t | nAntennae )

final override virtual

Implements TimeBlockEncoder.

## maximizeChannels()

void RFTimeBlockEncoder::maximizeChannels | ( | std::vector< DBufferRow > & | data,
|  | float * | metaBuffer,
|  | const dyscostman::StochasticEncoder< float > & | gausEncoder )

private

## maximizeRows()

void RFTimeBlockEncoder::maximizeRows | ( | std::vector< DBufferRow > & | data,
|  | float * | metaBuffer,
|  | const dyscostman::StochasticEncoder< float > & | gausEncoder )

private

## MetaDataCount()

virtual size_t RFTimeBlockEncoder::MetaDataCount | ( | size_t | nRow,
|  | size_t | nPol,
|  | size_t | nChannels,
|  | size_t | ) const

inline final override virtual

Implements TimeBlockEncoder.

Definition at line 57 of file rftimeblockencoder.h.

## Normalize()

void RFTimeBlockEncoder::Normalize | ( | const dyscostman::StochasticEncoder< float > & | gausEncoder,
|  | TimeBlockBuffer< std::complex< float > > & | buffer,
|  | size_t | antennaCount )

## SymbolCount() [1/2]

virtual size_t RFTimeBlockEncoder::SymbolCount | ( | size_t | nRow | ) | const

inline final override virtual

Implements TimeBlockEncoder.

Definition at line 49 of file rftimeblockencoder.h.

References _nChannels, and _nPol.

## SymbolCount() [2/2]

virtual size_t RFTimeBlockEncoder::SymbolCount | ( | size_t | nRow,
|  | size_t | nPol,
|  | size_t | nChannels ) const

inline final override virtual

Implements TimeBlockEncoder.

Definition at line 44 of file rftimeblockencoder.h.

## SymbolsPerRow()

virtual size_t RFTimeBlockEncoder::SymbolsPerRow | ( |  | ) | const

inline final override virtual

Implements TimeBlockEncoder.

Definition at line 53 of file rftimeblockencoder.h.

References _nChannels, and _nPol.

## Member Data Documentation

## _channelFactors

aocommon::UVector<double> RFTimeBlockEncoder::_channelFactors

private

Definition at line 80 of file rftimeblockencoder.h.

## _ditherDist

std::uniform_int_distribution<unsigned> RFTimeBlockEncoder::_ditherDist

private

Definition at line 81 of file rftimeblockencoder.h.

## _nChannels

size_t RFTimeBlockEncoder::_nChannels

private

Definition at line 78 of file rftimeblockencoder.h.

Referenced by SymbolCount(), and SymbolsPerRow().

## _nPol

size_t RFTimeBlockEncoder::_nPol

private

Definition at line 78 of file rftimeblockencoder.h.

Referenced by SymbolCount(), and SymbolsPerRow().

## _rowFactors

aocommon::UVector<double> RFTimeBlockEncoder::_rowFactors

private

Definition at line 80 of file rftimeblockencoder.h.

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

- tables/Dysco/rftimeblockencoder.h