GNU Radio 3.7.1-34 C++ API
gr::digital::constellation_sector Class Referenceabstract

Sectorized digital constellationConstellation space is divided into sectors. Each sector is associated with the nearest constellation point. More...

#include <constellation.h>

Inheritance diagram for gr::digital::constellation_sector:
gr::digital::constellation gr::digital::constellation_psk gr::digital::constellation_rect gr::digital::constellation_expl_rect

Public Member Functions

 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...
 
- Public Member Functions inherited from gr::digital::constellation
 constellation (std::vector< gr_complex > constell, std::vector< int > pre_diff_code, unsigned int rotational_symmetry, unsigned int dimensionality)
 
 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_complexmap_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_complexpoints ()
 Returns the set of points in this constellation. More...
 
std::vector< gr_complexs_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 ()
 

Protected Member Functions

virtual unsigned int get_sector (const gr_complex *sample)=0
 
virtual unsigned int calc_sector_value (unsigned int sector)=0
 
void find_sector_values ()
 
- Protected Member Functions inherited from gr::digital::constellation
float get_distance (unsigned int index, const gr_complex *sample)
 
unsigned int get_closest_point (const gr_complex *sample)
 
void calc_arity ()
 

Protected Attributes

unsigned int n_sectors
 
- Protected Attributes inherited from gr::digital::constellation
std::vector< gr_complexd_constellation
 
std::vector< int > d_pre_diff_code
 
bool d_apply_pre_diff_code
 
unsigned int d_rotational_symmetry
 
unsigned int d_dimensionality
 
unsigned int d_arity
 
float d_scalefactor
 The factor by which the user given constellation points were scaled by to achieve an average amplitude of 1. More...
 

Detailed Description

Sectorized digital constellation

Constellation space is divided into sectors. Each sector is associated with the nearest constellation point.

constellation_sector

Constructor & Destructor Documentation

gr::digital::constellation_sector::constellation_sector ( std::vector< gr_complex constell,
std::vector< int >  pre_diff_code,
unsigned int  rotational_symmetry,
unsigned int  dimensionality,
unsigned int  n_sectors 
)
gr::digital::constellation_sector::~constellation_sector ( )

Member Function Documentation

virtual unsigned int gr::digital::constellation_sector::calc_sector_value ( unsigned int  sector)
protectedpure virtual
unsigned int gr::digital::constellation_sector::decision_maker ( const gr_complex sample)
virtual

Returns the constellation point that matches best.

Implements gr::digital::constellation.

void gr::digital::constellation_sector::find_sector_values ( )
protected
virtual unsigned int gr::digital::constellation_sector::get_sector ( const gr_complex sample)
protectedpure virtual

Member Data Documentation

unsigned int gr::digital::constellation_sector::n_sectors
protected

The documentation for this class was generated from the following file: