Rectangular digital constellationOnly implemented for 1-(complex)dimensional constellation.
More...
|
| ~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...
|
|
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.
Works well for square QAM.
Works for any generic constellation provided sectors are not too large.