libcdx: Interfaces to the Channel Data Exchange (CDX) File Format
C++, Python, and Matlab library to exchange data for radio propagation channels
Public Member Functions | List of all members
CDX::WriteDiscreteDelayFile Class Reference

Class for writing discrete-delay data to a CDX file. More...

#include <WriteDiscreteDelayFile.h>

Inheritance diagram for CDX::WriteDiscreteDelayFile:
Inheritance graph
[legend]
Collaboration diagram for CDX::WriteDiscreteDelayFile:
Collaboration graph
[legend]

Public Member Functions

 WriteDiscreteDelayFile (std::string _file_name, double _c0_m_s, double _cir_rate_Hz, double _transmitter_frequency_Hz, const std::vector< std::string > &_link_names, double _delay_smpl_freq_Hz)
 
void setup_link (std::string link_name, size_t number_of_delay_samples, double min_delay)
 
void append_cir_snapshot (std::string link_name, const std::vector< std::complex< double > > &data, double ref_delay)
 
void append_2d_dataset (H5::Group *group, std::string path, double *data, size_t length, size_t act_cir)
 
- Public Member Functions inherited from CDX::WriteFile
 WriteFile (std::string _file_name, double _c0_m_s, double _cir_rate_Hz, double _transmitter_frequency, std::vector< std::string > _link_names)
 
void create_group (std::string path)
 
void write (std::string path, std::string data)
 Writes string data to path.
 
void write (std::string path, double data)
 Writes double value to path.
 
void write (std::string path, double *data, size_t num)
 Writes double array to path.
 
void write (std::string path, const std::vector< double > &data)
 Writes vector of doubles to path.
 
void write (const H5::CommonFG *h5file, const std::string &path, const std::vector< std::string > &data)
 Writes vector of strings to path.
 
void write (const H5::CommonFG *h5file, const std::string &path, const std::map< uint16_t, std::string > &data)
 Writes a std::map<uint16_t, std::string> to path.
 
void write (H5::Group *group, std::string path, const std::vector< double > &data)
 Writes double value to path into group.
 
void write (std::string path, const std::vector< std::vector< double > > &data)
 Writes vector of vector of doubles to path.
 
- Public Member Functions inherited from CDX::File
 File (std::string _file_name)
 Construction from a file name. More...
 
 File (std::string _file_name, double _c0_m_s, double _cir_rate_Hz, double _transmitter_frequency_Hz, const std::vector< std::string > &_link_names)
 Construction from file name and parameters. More...
 
virtual ~File ()
 Destructor.
 
H5::H5File get_file_handle () const
 Returns the file handle to the HDF5 file. More...
 
size_t get_nof_links () const
 Returns number of links. More...
 
double get_cir_rate_Hz () const
 Return the CIR rate of the file. More...
 
double get_c0_m_s () const
 Returns the speed of light in m/s as defined in the CDX file. More...
 
double get_transmitter_frequency_Hz () const
 Returns the transmitter frequency in Hz. More...
 
std::vector< std::string > get_link_names () const
 Returns the link names. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from CDX::File
static double read_double_h5 (H5::H5File file, std::string dataset_name)
 Reads a double from an HDF5 file. More...
 
static std::string read_string_h5 (H5::H5File file, std::string path)
 Reads string of given path from an CDX file. More...
 
- Protected Member Functions inherited from CDX::WriteFile
void create_reference_delays_dataset (H5::Group *group)
 Creates 1D dataset for reference delays in file. Initial size is zero and dataset has unlimited dimension.
 
void append_reference_delay (H5::Group *group, double reference_delay)
 Append single value to reference delay dataset.
 
- Protected Attributes inherited from CDX::File
const std::string file_name
 the CDX file's name
 
H5::H5File h5file
 the handle to the HDF5 file
 
double c0_m_s
 the speed of light in m/s
 
double cir_rate_Hz
 the CIR update rate in Hz
 
double transmitter_frequency_Hz
 the transmitter frequency in Hz
 
std::string delay_type
 the delay type, either "continuous-delay" or "discrete-delay"
 
std::vector< std::string > link_names
 vector of the link names
 
H5::Group links_group
 handle to the group in the HDF5 file that stores the links
 
const size_t nof_links
 the number of the links
 
std::map< std::string, H5::Group * > link_groups
 vector of pointers to HDF5 groups which contain data for each link in file
 

Detailed Description

Class for writing discrete-delay data to a CDX file.

Constructor & Destructor Documentation

◆ WriteDiscreteDelayFile()

CDX::WriteDiscreteDelayFile::WriteDiscreteDelayFile ( std::string  _file_name,
double  _c0_m_s,
double  _cir_rate_Hz,
double  _transmitter_frequency_Hz,
const std::vector< std::string > &  _link_names,
double  _delay_smpl_freq_Hz 
)
Parameters
min_delaydelay value of first delay bin

Member Function Documentation

◆ append_cir_snapshot()

void CDX::WriteDiscreteDelayFile::append_cir_snapshot ( std::string  link_name,
const std::vector< std::complex< double > > &  data,
double  ref_delay 
)

This function appends a cir with discrete delay data to a CDX file

◆ setup_link()

void CDX::WriteDiscreteDelayFile::setup_link ( std::string  link_name,
size_t  number_of_delay_samples,
double  min_delay 
)

Configures a link.

Parameters
[in]linkNumber of the link.
[in]number_of_delay_samplesNumber of samples in the delay dimension.
[in]min_delayMinimal delay, this serves as the lower value on the vertical axis.

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