23 #ifndef INCLUDED_OWC_PAM_MODULATOR_TWO_IMPL_H 24 #define INCLUDED_OWC_PAM_MODULATOR_TWO_IMPL_H 34 int d_modulation_order;
37 int d_samples_per_symbol;
39 std::vector<int> d_symbol_array;
40 std::vector<float> d_level_array;
53 float mean() {
return d_mean; }
61 int max_symbol = pow(2,num_bits);
63 for (
int i = 0; i < max_symbol; i++)
65 d_symbol_array.push_back(i);
75 d_level_array.clear();
78 int max_symbol = pow(2,num_bits);
83 float range = max_magnitude - min_magnitude;
86 float levels = min_magnitude;
88 for (
int i = 0; i < max_symbol; i++)
90 d_level_array.push_back(levels);
91 levels += single_level_magnitude;
100 gr_vector_const_void_star &input_items,
101 gr_vector_void_star &output_items
void set_samples_per_symbol(int samples_per_symbol)
Definition: PAM_Modulator_two_impl.h:55
void set_modulation_order(int modulation_order)
Definition: PAM_Modulator_two_impl.h:46
int samples_per_symbol()
Definition: PAM_Modulator_two_impl.h:56
float mean()
Definition: PAM_Modulator_two_impl.h:53
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
std::vector< int > symbol_array()
Definition: PAM_Modulator_two_impl.h:69
~PAM_Modulator_two_impl()
Definition: binary_to_decimal_mapper.h:29
<+description of block+>
Definition: PAM_Modulator_two.h:37
PAM_Modulator_two_impl(int modulation_order, float amplitude, float mean, int samples_per_symbol)
void set_symbol_array(int modulation_order)
Definition: PAM_Modulator_two_impl.h:58
void set_amplitude(float amplitude)
Definition: PAM_Modulator_two_impl.h:49
int modulation_order()
Definition: PAM_Modulator_two_impl.h:47
void set_mean(float mean)
Definition: PAM_Modulator_two_impl.h:52
void set_level_array(int modulation_order, float amplitude, float mean)
Definition: PAM_Modulator_two_impl.h:72
float amplitude()
Definition: PAM_Modulator_two_impl.h:50
Definition: PAM_Modulator_two_impl.h:31
std::vector< float > level_array()
Definition: PAM_Modulator_two_impl.h:95