19 const int default_greymap_qam16[16] = {2,6,14,10,3,7,15,11,1,5,13,9,0,4,12,8};
20 const int default_greymap_qam64[64] = {0,32,8,40,3,35,11,43,48,16,56,24,51,19,59,27,12,44,4,36,15,47,7,39,60,28,52,20,63,31,55,23,2,34,10,42,1,33,9,41,50,18,58,26,49,17,57,25,14,46,6,38,13,45,5,37,62,30,54,22,61,29,53,21};
36 void map(
const uint8_t *in, gr_complex* out,
int nsymbols, uint16_t mapidx=0);
37 void map(
const float *in, gr_complex* out,
int nsymbols, uint16_t mapidx=0);
38 void demap_hard(
const gr_complex* in, uint8_t *out,
int nsymbols);
39 void demap_soft(
const gr_complex* in,
float *out,
int nsymbols);
44 std::vector<std::vector<gr_complex> > d_wmaps;
45 std::vector<std::vector<gr_complex> > d_mappings;
49 uint16_t d_mapidx_max;
50 const std::vector<int> d_symbol_values;
51 std::vector<int> d_symbol_values_rev;
57 virtual void _demap_hard(
const gr_complex* in, uint8_t *out,
int nsymbols) = 0;
58 virtual void _demap_soft(
const gr_complex* in,
float *out,
int nsymbols) = 0;
61 template <modtype_t T>
class demap_impl :
public demap_base {
63 const constellation *c;
65 demap_impl(
const constellation *_c);
66 void _demap_hard(
const gr_complex* in, uint8_t *out,
int nsymbols);
67 void _demap_soft(
const gr_complex* in,
float *out,
int nsymbols);
70 demap_base* d_demapper;