GNU Radio 3.6.4 C++ API
digital_constellation_psk Class Reference

digital_constellation_pskConstellation space is divided into pie slices sectors. More...

#include <digital_constellation.h>

Inheritance diagram for digital_constellation_psk:
digital_constellation_sector digital_constellation

Public Member Functions

 digital_constellation_psk (std::vector< gr_complex > constellation, std::vector< unsigned int > pre_diff_code, unsigned int n_sectors)
- Public Member Functions inherited from 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)
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

unsigned int get_sector (const gr_complex *sample)
unsigned int calc_sector_value (unsigned int sector)
- Protected Member Functions inherited from digital_constellation_sector
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 ()

Friends

DIGITAL_API
digital_constellation_psk_sptr 
digital_make_constellation_psk (std::vector< gr_complex > constellation, std::vector< unsigned int > pre_diff_code, unsigned int n_sectors)

Additional Inherited Members

- Protected Attributes inherited from digital_constellation_sector
unsigned int n_sectors

Detailed Description

digital_constellation_psk

Constellation space is divided into pie slices sectors.

Each slice is associated with the nearest constellation point.

Works well for PSK but nothing else.

Assumes that there is a constellation point at 1.x

Constructor & Destructor Documentation

digital_constellation_psk::digital_constellation_psk ( std::vector< gr_complex constellation,
std::vector< unsigned int >  pre_diff_code,
unsigned int  n_sectors 
)

Member Function Documentation

unsigned int digital_constellation_psk::calc_sector_value ( unsigned int  sector)
protectedvirtual
unsigned int digital_constellation_psk::get_sector ( const gr_complex sample)
protectedvirtual

Friends And Related Function Documentation

DIGITAL_API digital_constellation_psk_sptr digital_make_constellation_psk ( std::vector< gr_complex constellation,
std::vector< unsigned int >  pre_diff_code,
unsigned int  n_sectors 
)
friend

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