| 
|   | ~constellation_expl_rect () override | 
|   | 
|   | ~constellation_rect () override | 
|   | 
|   | constellation_sector (std::vector< gr_complex > constell, std::vector< int > pre_diff_code, unsigned int rotational_symmetry, unsigned int dimensionality, unsigned int n_sectors, normalization_t normalization=AMPLITUDE_NORMALIZATION) | 
|   | 
|   | ~constellation_sector () override | 
|   | 
| unsigned int  | decision_maker (const gr_complex *sample) override | 
|   | Returns the constellation point that matches best.  
  | 
|   | 
|   | constellation (std::vector< gr_complex > constell, std::vector< int > pre_diff_code, unsigned int rotational_symmetry, unsigned int dimensionality, normalization_t normalization=AMPLITUDE_NORMALIZATION, float npwr=1.0) | 
|   | 
|   | constellation () | 
|   | 
| virtual  | ~constellation () | 
|   | 
| void  | normalize (normalization_t normalization) | 
|   | Normalizes the constellation.  
  | 
|   | 
| void  | map_to_points (unsigned int value, gr_complex *points) | 
|   | Returns the constellation points for a symbol value.  
  | 
|   | 
| 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.  
  | 
|   | 
| unsigned int  | decision_maker_pe (const gr_complex *sample, float *phase_error) | 
|   | Also calculates the phase error.  
  | 
|   | 
| virtual void  | calc_metric (const gr_complex *sample, float *metric, gr::digital::trellis_metric_type_t type) | 
|   | Calculates distance.  
  | 
|   | 
| 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.  
  | 
|   | 
| std::vector< gr_complex >  | s_points () | 
|   | Returns the vector of points in this constellation. Raise error if dimensionality is not one.  
  | 
|   | 
| std::vector< std::vector< gr_complex > >  | v_points () | 
|   | Returns a vector of vectors of points.  
  | 
|   | 
| bool  | apply_pre_diff_code () | 
|   | Whether to apply an encoding before doing differential encoding. (e.g. gray coding)  
  | 
|   | 
| void  | set_pre_diff_code (bool a) | 
|   | Whether to apply an encoding before doing differential encoding. (e.g. gray coding)  
  | 
|   | 
| std::vector< int >  | pre_diff_code () | 
|   | Returns the encoding to apply before differential encoding.  
  | 
|   | 
| unsigned int  | rotational_symmetry () | 
|   | Returns the order of rotational symmetry.  
  | 
|   | 
| unsigned int  | dimensionality () | 
|   | Returns the number of complex numbers in a single symbol.  
  | 
|   | 
| 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) | 
|   | Generates the soft decision LUT based on constellation and symbol map.  
  | 
|   | 
| virtual std::vector< float >  | calc_soft_dec (gr_complex sample, float npwr=-1) | 
|   | Calculate soft decisions for the given sample.  
  | 
|   | 
| void  | set_soft_dec_lut (const std::vector< std::vector< float > > &soft_dec_lut, int precision) | 
|   | Define a soft decision look-up table.  
  | 
|   | 
| void  | set_npwr (float npwr) | 
|   | Sets the constellation noise power and recalculates LUT given npwr.  
  | 
|   | 
| bool  | has_soft_dec_lut () | 
|   | Returns True if the soft decision LUT has been defined, False otherwise.  
  | 
|   | 
| 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.  
  | 
|   | 
 | 
|   | 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) override | 
|   | 
|   | 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, normalization_t normalization=AMPLITUDE_NORMALIZATION) | 
|   | 
| unsigned int  | get_sector (const gr_complex *sample) override | 
|   | 
| gr_complex  | calc_sector_center (unsigned int sector) | 
|   | 
| unsigned int  | calc_sector_value (unsigned int sector) override | 
|   | 
| 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.