Loading...
Searching...
No Matches
gr::digital::constellation_16qam Class Reference

Digital constellation for 16qam. More...

`#include <gnuradio/digital/constellation.h>`

## Public Types

typedef std::shared_ptr< constellation_16qam > | sptr
Public Types inherited from gr::digital::constellation
enum | normalization_t { NO_NORMALIZATION , POWER_NORMALIZATION , AMPLITUDE_NORMALIZATION }

## Public Member Functions

| ~constellation_16qam () override
unsigned int | decision_maker (const gr_complex *sample) override
| 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, normalization_t normalization=AMPLITUDE_NORMALIZATION, float npwr=1.0)
| constellation ()
virtual | ~constellation ()
void | normalize (normalization_t normalization)
| Normalizes the constellation.
void | map_to_points (unsigned int value, gr_complex *points)
| Returns the constellation points for a symbol value.
std::vector< gr_complex > | map_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_complex > | points ()
| Returns the set of points in this constellation.
std::vector< gr_complex > | s_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 ()
pmt::pmt_t | as_pmt ()
void | gen_soft_dec_lut (int precision, float npwr=-1)
| Generates the soft decision LUT based on constellation and symbol map.
virtual std::vector< float > | calc_soft_dec (gr_complex sample, float npwr=-1)
| Calculate soft decisions for the given `sample`.
void | set_soft_dec_lut (const std::vector< std::vector< float > > &soft_dec_lut, int precision)
| Define a soft decision look-up table.
void | set_npwr (float npwr)
| Sets the constellation noise power and recalculates LUT given `npwr`.
bool | has_soft_dec_lut ()
| Returns True if the soft decision LUT has been defined, False otherwise.
std::vector< std::vector< float > > | soft_dec_lut ()
std::vector< float > | soft_decision_maker (gr_complex sample)
| Returns the soft decisions for the given `sample`.

## Static Public Member Functions

static sptr | make ()

## Protected Member Functions

| constellation_16qam ()
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 ()
void | max_min_axes ()

## Additional Inherited Members

Protected Attributes inherited from gr::digital::constellation
std::vector< gr_complex > | d_constellation
std::vector< 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
| The factor by which the user given constellation points were scaled by to achieve an average amplitude of 1.
float | d_maxamp
float | d_re_min
float | d_re_max
float | d_im_min
float | d_im_max
std::vector< std::vector< float > > | d_soft_dec_lut
int | d_lut_precision
float | d_lut_scale
float | d_npwr
float | d_padding
bool | d_use_external_lut

## Detailed Description

Digital constellation for 16qam.

    1000   1101 | 1100   1001
               |
    1111   1010 | 1011   1110
       -----------------
    0100   0001 | 0000   0101
               |
    0011   0110 | 0111   0010

## Member Typedef Documentation

## sptr

typedef std::shared_ptr<constellation_16qam> gr::digital::constellation_16qam::sptr

## Constructor & Destructor Documentation

## ~constellation_16qam()

gr::digital::constellation_16qam::~constellation_16qam | ( |  | ) |

override

## constellation_16qam()

gr::digital::constellation_16qam::constellation_16qam | ( |  | ) |

protected

## Member Function Documentation

## decision_maker()

unsigned int gr::digital::constellation_16qam::decision_maker | ( | const gr_complex * | sample | ) |

override virtual

Returns the constellation point that matches best.

Implements gr::digital::constellation.

## make()

sptr gr::digital::constellation_16qam::make | ( |  | ) |

static

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

- constellation.h