GNU Radio 3.7.1 C++ API
|
Rectangular digital constellationOnly implemented for 1-(complex)dimensional constellation. More...
#include <constellation.h>
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) |
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.
Reimplemented in gr::digital::constellation_expl_rect.
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] |
unsigned int gr::digital::constellation_rect::calc_sector_value | ( | unsigned int | sector | ) | [protected, virtual] |
Implements gr::digital::constellation_sector.
Reimplemented in gr::digital::constellation_expl_rect.
unsigned int gr::digital::constellation_rect::get_sector | ( | const gr_complex * | sample | ) | [protected, virtual] |
Implements gr::digital::constellation_sector.
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.
constell | List of constellation points (order of list matches pre_diff_code) |
pre_diff_code | List of alphabet symbols (before applying any differential coding) (order of list matches constell) |
rotational_symmetry | Number of rotations around unit circle that have the same representation. |
real_sectors | Number of sectors the real axis is split in to. |
imag_sectors | Number of sectors the imag axis is split in to. |
width_real_sectors | width of each real sector to calculate decision boundaries. |
width_imag_sectors | width of each imag sector to calculate decision boundaries. |