gr-baz Package
digital_constellation_sector Class Reference

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

#include <digital_constellation.h>

Inheritance diagram for digital_constellation_sector:
digital_constellation digital_constellation_psk digital_constellation_rect

Public Member Functions

 digital_constellation_sector (std::vector< gr_complex > constellation, std::vector< unsigned int > pre_diff_code, unsigned int rotational_symmetry, unsigned int dimensionality, unsigned int n_sectors)
unsigned int decision_maker (const gr_complex *sample)
 Returns the constellation point that matches best.
- Public Member Functions inherited from digital_constellation
 digital_constellation (std::vector< gr_complex > constellation, std::vector< unsigned int > pre_diff_code, unsigned int rotational_symmetry, unsigned int dimensionality)
 digital_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.
unsigned int decision_maker_e (const gr_complex *sample, float *error)
 Calculates distance.
virtual void calc_metric (const gr_complex *sample, float *metric, trellis_metric_type_t type)
 Calculates metrics for all points in the constellation. For use with the viterbi algorithm.
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< unsigned 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 ()
digital_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 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 digital_constellation
std::vector< gr_complexd_constellation
std::vector< unsigned 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

Detailed Description

Sectorized digital constellation

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

digital_constellation_sector

Constructor & Destructor Documentation

digital_constellation_sector::digital_constellation_sector ( std::vector< gr_complex constellation,
std::vector< unsigned int >  pre_diff_code,
unsigned int  rotational_symmetry,
unsigned int  dimensionality,
unsigned int  n_sectors 
)

Member Function Documentation

virtual unsigned int digital_constellation_sector::calc_sector_value ( unsigned int  sector)
protectedpure virtual
unsigned int digital_constellation_sector::decision_maker ( const gr_complex sample)
virtual

Returns the constellation point that matches best.

Implements digital_constellation.

void digital_constellation_sector::find_sector_values ( )
protected
virtual unsigned int digital_constellation_sector::get_sector ( const gr_complex sample)
protectedpure virtual

Member Data Documentation

unsigned int digital_constellation_sector::n_sectors
protected

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