libcdx: Interfaces to the Channel Data Exchange (CDX) File Format
C++, Python, and Matlab library to exchange data for radio propagation channels
WriteDiscreteDelayFile.h
Go to the documentation of this file.
1 
6 #ifndef WRITEDISCRETEDELAYCDXFILE_H_
7 #define WRITEDISCRETEDELAYCDXFILE_H_
8 
9 #include "WriteFile.h"
10 
11 namespace CDX {
12 
17 public:
21  WriteDiscreteDelayFile(std::string _file_name, double _c0_m_s,
22  double _cir_rate_Hz, double _transmitter_frequency_Hz,
23  const std::vector<std::string> &_link_names,
24  double _delay_smpl_freq_Hz);
25 
26  virtual ~WriteDiscreteDelayFile();
27 
35  void setup_link(std::string link_name, size_t number_of_delay_samples,
36  double min_delay);
37 
39  void append_cir_snapshot(std::string link_name,
40  const std::vector<std::complex<double> > &data, double ref_delay);
41 
42  void append_2d_dataset(H5::Group *group, std::string path, double *data,
43  size_t length, size_t act_cir);
44 
45 private:
46  std::map<std::string, size_t> numbers_of_delay_samples;
47  std::map<std::string, double> min_delays;
48  double delay_smpl_freq_Hz;
49 
50  std::map<std::string, size_t> act_cirs;
51 };
52 
53 } // end of namespace CDX
54 
55 #endif /* WRITEDISCRETEDELAYCDXFILE_H_ */
Base class for writing continuous-delay and discrete-delay CDX files.
Definition: WriteFile.h:17
void append_cir_snapshot(std::string link_name, const std::vector< std::complex< double > > &data, double ref_delay)
Definition: WriteDiscreteDelayFile.cpp:112
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)
Definition: WriteDiscreteDelayFile.cpp:15
Class for writing discrete-delay data to a CDX file.
Definition: WriteDiscreteDelayFile.h:16
void setup_link(std::string link_name, size_t number_of_delay_samples, double min_delay)
Definition: WriteDiscreteDelayFile.cpp:45
Contains all CDX classes and types.
Definition: File.cpp:19