GNU Radio 3.7.1 C++ API
gr::digital::constellation_rect Class Reference

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

#include <constellation.h>

Inheritance diagram for gr::digital::constellation_rect:

List of all members.

Public Types

typedef boost::shared_ptr
< constellation_rect
sptr

Public Member Functions

 ~constellation_rect ()

Static Public Member Functions

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_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)
unsigned int calc_sector_value (unsigned int sector)

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.

Works well for square QAM.

Works for any generic constellation provided sectors are not too large.


Member Typedef Documentation


Constructor & Destructor Documentation

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 
) [protected]

Member Function Documentation

unsigned int gr::digital::constellation_rect::calc_sector_value ( unsigned int  sector) [protected, virtual]
unsigned int gr::digital::constellation_rect::get_sector ( const gr_complex sample) [protected, virtual]
static constellation_rect::sptr gr::digital::constellation_rect::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 
) [static]

Make a rectangular constellation object.

Parameters:
constellList of constellation points (order of list matches pre_diff_code)
pre_diff_codeList of alphabet symbols (before applying any differential coding) (order of list matches constell)
rotational_symmetryNumber of rotations around unit circle that have the same representation.
real_sectorsNumber of sectors the real axis is split in to.
imag_sectorsNumber of sectors the imag axis is split in to.
width_real_sectorswidth of each real sector to calculate decision boundaries.
width_imag_sectorswidth of each imag sector to calculate decision boundaries.

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