|
| ~constellation_expl_rect () |
|
| ~constellation_rect () |
|
| constellation_sector (std::vector< gr_complex > constell, std::vector< int > pre_diff_code, unsigned int rotational_symmetry, unsigned int dimensionality, unsigned int n_sectors) |
|
| ~constellation_sector () |
|
unsigned int | decision_maker (const gr_complex *sample) |
| Returns the constellation point that matches best. More...
|
|
| constellation (std::vector< gr_complex > constell, std::vector< int > pre_diff_code, unsigned int rotational_symmetry, unsigned int dimensionality, bool normalize_points=true) |
|
| constellation () |
|
virtual | ~constellation () |
|
void | map_to_points (unsigned int value, gr_complex *points) |
| Returns the constellation points for a symbol value. More...
|
|
std::vector< gr_complex > | map_to_points_v (unsigned int value) |
|
unsigned int | decision_maker_v (std::vector< gr_complex > sample) |
| Takes a vector rather than a pointer. Better for SWIG wrapping. More...
|
|
unsigned int | decision_maker_pe (const gr_complex *sample, float *phase_error) |
| Also calculates the phase error. More...
|
|
virtual void | calc_metric (const gr_complex *sample, float *metric, gr::digital::trellis_metric_type_t type) |
| Calculates distance. More...
|
|
virtual void | calc_euclidean_metric (const gr_complex *sample, float *metric) |
|
virtual void | calc_hard_symbol_metric (const gr_complex *sample, float *metric) |
|
std::vector< gr_complex > | points () |
| Returns the set of points in this constellation. More...
|
|
std::vector< gr_complex > | s_points () |
| Returns the vector of points in this constellation. Raise error if dimensionality is not one. More...
|
|
std::vector< std::vector< gr_complex > > | v_points () |
| Returns a vector of vectors of points. More...
|
|
bool | apply_pre_diff_code () |
| Whether to apply an encoding before doing differential encoding. (e.g. gray coding) More...
|
|
void | set_pre_diff_code (bool a) |
| Whether to apply an encoding before doing differential encoding. (e.g. gray coding) More...
|
|
std::vector< int > | pre_diff_code () |
| Returns the encoding to apply before differential encoding. More...
|
|
unsigned int | rotational_symmetry () |
| Returns the order of rotational symmetry. More...
|
|
unsigned int | dimensionality () |
| Returns the number of complex numbers in a single symbol. More...
|
|
unsigned int | bits_per_symbol () |
|
unsigned int | arity () |
|
constellation_sptr | base () |
|
pmt::pmt_t | as_pmt () |
|
void | gen_soft_dec_lut (int precision, float npwr=1.0) |
| Generates the soft decision LUT based on constellation and symbol map. More...
|
|
virtual std::vector< float > | calc_soft_dec (gr_complex sample, float npwr=1.0) |
| Calculate soft decisions for the given sample . More...
|
|
void | set_soft_dec_lut (const std::vector< std::vector< float >> &soft_dec_lut, int precision) |
| Define a soft decision look-up table. More...
|
|
bool | has_soft_dec_lut () |
| Returns True if the soft decision LUT has been defined, False otherwise. More...
|
|
std::vector< std::vector< float > > | soft_dec_lut () |
|
std::vector< float > | soft_decision_maker (gr_complex sample) |
| Returns the soft decisions for the given sample . More...
|
|
|
| constellation_expl_rect (std::vector< gr_complex > constellation, std::vector< int > pre_diff_code, unsigned int rotational_symmetry, unsigned int real_sectors, unsigned int imag_sectors, float width_real_sectors, float width_imag_sectors, std::vector< unsigned int > sector_values) |
|
unsigned int | calc_sector_value (unsigned int sector) |
|
| constellation_rect (std::vector< gr_complex > constell, std::vector< int > pre_diff_code, unsigned int rotational_symmetry, unsigned int real_sectors, unsigned int imag_sectors, float width_real_sectors, float width_imag_sectors) |
|
unsigned int | get_sector (const gr_complex *sample) |
|
gr_complex | calc_sector_center (unsigned int sector) |
|
void | find_sector_values () |
|
float | get_distance (unsigned int index, const gr_complex *sample) |
|
unsigned int | get_closest_point (const gr_complex *sample) |
|
void | calc_arity () |
|
void | max_min_axes () |
|
Rectangular digital constellation.
Only implemented for 1-(complex)dimensional constellation.
Constellation space is divided into rectangular sectors. Each sector is associated with the nearest constellation point.
This class is different from constellation_rect in that the mapping from sector to constellation point is explicitly passed into the constructor as sector_values. Usually we do not need this, since we want each sector to be automatically mapped to the closest constellation point, however sometimes it's nice to have the flexibility.