GNU Radio 3.7.1.1 C++ API
gr::digital::constellation_expl_rect Class Reference

Rectangular digital constellationOnly implemented for 1-(complex)dimensional constellation. More...

#include <constellation.h>

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

List of all members.

Public Types

typedef boost::shared_ptr
< constellation_expl_rect
sptr
- Public Types inherited from gr::digital::constellation_rect

Public Member Functions

 ~constellation_expl_rect ()
- Public Member Functions inherited from gr::digital::constellation_rect
 ~constellation_rect ()
- Public Member Functions inherited from 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)
 ~constellation_sector ()
unsigned int decision_maker (const gr_complex *sample)
 Returns the constellation point that matches best.
- 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.
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.
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_complexpoints ()
 Returns the set of points in this constellation.
std::vector< gr_complexs_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 ()

Static Public Member Functions

static sptr make (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)
- Static Public Member Functions inherited from gr::digital::constellation_rect
static constellation_rect::sptr make (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)

Protected Member Functions

 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)
- Protected Member Functions inherited from gr::digital::constellation_rect
 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)
- Protected Member Functions inherited from gr::digital::constellation_sector
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 ()

Detailed Description

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.


Member Typedef Documentation


Constructor & Destructor Documentation

gr::digital::constellation_expl_rect::~constellation_expl_rect ( )
gr::digital::constellation_expl_rect::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 
)
protected

Member Function Documentation

unsigned int gr::digital::constellation_expl_rect::calc_sector_value ( unsigned int  sector)
inlineprotectedvirtual

Reimplemented from gr::digital::constellation_rect.

static sptr gr::digital::constellation_expl_rect::make ( 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 
)
static

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