summaryrefslogtreecommitdiff
path: root/gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc')
-rw-r--r--gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc1104
1 files changed, 373 insertions, 731 deletions
diff --git a/gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc b/gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc
index 48fe2aa43e..8127e372db 100644
--- a/gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc
+++ b/gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc
@@ -45,7 +45,7 @@ namespace gr {
{
double normalization;
double rotation_angle;
- gr_complex m_temp[1];
+ gr_complex temp;
cyclic_delay = FALSE;
if (framesize == FECFRAME_NORMAL) {
switch (constellation) {
@@ -87,750 +87,401 @@ namespace gr {
}
switch (constellation) {
case MOD_QPSK:
- normalization = sqrt(2);
- m_qpsk[0].real() = 1.0 / normalization;
- m_qpsk[0].imag() = 1.0 / normalization;
- m_qpsk[1].real() = 1.0 / normalization;
- m_qpsk[1].imag() = -1.0 / normalization;
- m_qpsk[2].real() = -1.0 / normalization;
- m_qpsk[2].imag() = 1.0 / normalization;
- m_qpsk[3].real() = -1.0 / normalization;
- m_qpsk[3].imag() = -1.0 / normalization;
+ normalization = std::sqrt(2.0);
+ m_qpsk[0] = gr_complex( 1.0 / normalization, 1.0 / normalization);
+ m_qpsk[1] = gr_complex( 1.0 / normalization, -1.0 / normalization);
+ m_qpsk[2] = gr_complex(-1.0 / normalization, 1.0 / normalization);
+ m_qpsk[3] = gr_complex(-1.0 / normalization, -1.0 / normalization);
if (rotation == ROTATION_ON) {
cyclic_delay = TRUE;
- rotation_angle = (2.0 * M_PI * 29.0) / 360;
+ rotation_angle = (2.0 * M_PI * 29.0) / 360.0;
+ temp = std::exp(gr_complexd(0.0, rotation_angle));
for (int i = 0; i < 4; i++) {
- m_temp[0].real() = m_qpsk[i].real();
- m_qpsk[i].real() = (m_qpsk[i].real() * cos(rotation_angle)) - (m_qpsk[i].imag() * sin(rotation_angle));
- m_qpsk[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_qpsk[i].imag() * cos(rotation_angle));
+ m_qpsk[i] *= temp;
}
}
break;
case MOD_16QAM:
- normalization = sqrt(10);
- m_16qam[0].real() = 3.0 / normalization;
- m_16qam[0].imag() = 3.0 / normalization;
- m_16qam[1].real() = 3.0 / normalization;
- m_16qam[1].imag() = 1.0 / normalization;
- m_16qam[2].real() = 1.0 / normalization;
- m_16qam[2].imag() = 3.0 / normalization;
- m_16qam[3].real() = 1.0 / normalization;
- m_16qam[3].imag() = 1.0 / normalization;
- m_16qam[4].real() = 3.0 / normalization;
- m_16qam[4].imag() = -3.0 / normalization;
- m_16qam[5].real() = 3.0 / normalization;
- m_16qam[5].imag() = -1.0 / normalization;
- m_16qam[6].real() = 1.0 / normalization;
- m_16qam[6].imag() = -3.0 / normalization;
- m_16qam[7].real() = 1.0 / normalization;
- m_16qam[7].imag() = -1.0 / normalization;
- m_16qam[8].real() = -3.0 / normalization;
- m_16qam[8].imag() = 3.0 / normalization;
- m_16qam[9].real() = -3.0 / normalization;
- m_16qam[9].imag() = 1.0 / normalization;
- m_16qam[10].real() = -1.0 / normalization;
- m_16qam[10].imag() = 3.0 / normalization;
- m_16qam[11].real() = -1.0 / normalization;
- m_16qam[11].imag() = 1.0 / normalization;
- m_16qam[12].real() = -3.0 / normalization;
- m_16qam[12].imag() = -3.0 / normalization;
- m_16qam[13].real() = -3.0 / normalization;
- m_16qam[13].imag() = -1.0 / normalization;
- m_16qam[14].real() = -1.0 / normalization;
- m_16qam[14].imag() = -3.0 / normalization;
- m_16qam[15].real() = -1.0 / normalization;
- m_16qam[15].imag() = -1.0 / normalization;
+ normalization = std::sqrt(10.0);
+ m_16qam[0] = gr_complex( 3.0 / normalization, 3.0 / normalization);
+ m_16qam[1] = gr_complex( 3.0 / normalization, 1.0 / normalization);
+ m_16qam[2] = gr_complex( 1.0 / normalization, 3.0 / normalization);
+ m_16qam[3] = gr_complex( 1.0 / normalization, 1.0 / normalization);
+ m_16qam[4] = gr_complex( 3.0 / normalization, -3.0 / normalization);
+ m_16qam[5] = gr_complex( 3.0 / normalization, -1.0 / normalization);
+ m_16qam[6] = gr_complex( 1.0 / normalization, -3.0 / normalization);
+ m_16qam[7] = gr_complex( 1.0 / normalization, -1.0 / normalization);
+ m_16qam[8] = gr_complex(-3.0 / normalization, 3.0 / normalization);
+ m_16qam[9] = gr_complex(-3.0 / normalization, 1.0 / normalization);
+ m_16qam[10] = gr_complex(-1.0 / normalization, 3.0 / normalization);
+ m_16qam[11] = gr_complex(-1.0 / normalization, 1.0 / normalization);
+ m_16qam[12] = gr_complex(-3.0 / normalization, -3.0 / normalization);
+ m_16qam[13] = gr_complex(-3.0 / normalization, -1.0 / normalization);
+ m_16qam[14] = gr_complex(-1.0 / normalization, -3.0 / normalization);
+ m_16qam[15] = gr_complex(-1.0 / normalization, -1.0 / normalization);
if (rotation == ROTATION_ON) {
cyclic_delay = TRUE;
- rotation_angle = (2.0 * M_PI * 16.8) / 360;
+ rotation_angle = (2.0 * M_PI * 16.8) / 360.0;
+ temp = std::exp(gr_complexd(0.0, rotation_angle));
for (int i = 0; i < 16; i++) {
- m_temp[0].real() = m_16qam[i].real();
- m_16qam[i].real() = (m_16qam[i].real() * cos(rotation_angle)) - (m_16qam[i].imag() * sin(rotation_angle));
- m_16qam[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_16qam[i].imag() * cos(rotation_angle));
+ m_16qam[i] *= temp;
}
}
break;
case MOD_64QAM:
- normalization = sqrt(42);
- m_64qam[0].real() = 7.0 / normalization;
- m_64qam[0].imag() = 7.0 / normalization;
- m_64qam[1].real() = 7.0 / normalization;
- m_64qam[1].imag() = 5.0 / normalization;
- m_64qam[2].real() = 5.0 / normalization;
- m_64qam[2].imag() = 7.0 / normalization;
- m_64qam[3].real() = 5.0 / normalization;
- m_64qam[3].imag() = 5.0 / normalization;
- m_64qam[4].real() = 7.0 / normalization;
- m_64qam[4].imag() = 1.0 / normalization;
- m_64qam[5].real() = 7.0 / normalization;
- m_64qam[5].imag() = 3.0 / normalization;
- m_64qam[6].real() = 5.0 / normalization;
- m_64qam[6].imag() = 1.0 / normalization;
- m_64qam[7].real() = 5.0 / normalization;
- m_64qam[7].imag() = 3.0 / normalization;
- m_64qam[8].real() = 1.0 / normalization;
- m_64qam[8].imag() = 7.0 / normalization;
- m_64qam[9].real() = 1.0 / normalization;
- m_64qam[9].imag() = 5.0 / normalization;
- m_64qam[10].real() = 3.0 / normalization;
- m_64qam[10].imag() = 7.0 / normalization;
- m_64qam[11].real() = 3.0 / normalization;
- m_64qam[11].imag() = 5.0 / normalization;
- m_64qam[12].real() = 1.0 / normalization;
- m_64qam[12].imag() = 1.0 / normalization;
- m_64qam[13].real() = 1.0 / normalization;
- m_64qam[13].imag() = 3.0 / normalization;
- m_64qam[14].real() = 3.0 / normalization;
- m_64qam[14].imag() = 1.0 / normalization;
- m_64qam[15].real() = 3.0 / normalization;
- m_64qam[15].imag() = 3.0 / normalization;
- m_64qam[16].real() = 7.0 / normalization;
- m_64qam[16].imag() = -7.0 / normalization;
- m_64qam[17].real() = 7.0 / normalization;
- m_64qam[17].imag() = -5.0 / normalization;
- m_64qam[18].real() = 5.0 / normalization;
- m_64qam[18].imag() = -7.0 / normalization;
- m_64qam[19].real() = 5.0 / normalization;
- m_64qam[19].imag() = -5.0 / normalization;
- m_64qam[20].real() = 7.0 / normalization;
- m_64qam[20].imag() = -1.0 / normalization;
- m_64qam[21].real() = 7.0 / normalization;
- m_64qam[21].imag() = -3.0 / normalization;
- m_64qam[22].real() = 5.0 / normalization;
- m_64qam[22].imag() = -1.0 / normalization;
- m_64qam[23].real() = 5.0 / normalization;
- m_64qam[23].imag() = -3.0 / normalization;
- m_64qam[24].real() = 1.0 / normalization;
- m_64qam[24].imag() = -7.0 / normalization;
- m_64qam[25].real() = 1.0 / normalization;
- m_64qam[25].imag() = -5.0 / normalization;
- m_64qam[26].real() = 3.0 / normalization;
- m_64qam[26].imag() = -7.0 / normalization;
- m_64qam[27].real() = 3.0 / normalization;
- m_64qam[27].imag() = -5.0 / normalization;
- m_64qam[28].real() = 1.0 / normalization;
- m_64qam[28].imag() = -1.0 / normalization;
- m_64qam[29].real() = 1.0 / normalization;
- m_64qam[29].imag() = -3.0 / normalization;
- m_64qam[30].real() = 3.0 / normalization;
- m_64qam[30].imag() = -1.0 / normalization;
- m_64qam[31].real() = 3.0 / normalization;
- m_64qam[31].imag() = -3.0 / normalization;
- m_64qam[32].real() = -7.0 / normalization;
- m_64qam[32].imag() = 7.0 / normalization;
- m_64qam[33].real() = -7.0 / normalization;
- m_64qam[33].imag() = 5.0 / normalization;
- m_64qam[34].real() = -5.0 / normalization;
- m_64qam[34].imag() = 7.0 / normalization;
- m_64qam[35].real() = -5.0 / normalization;
- m_64qam[35].imag() = 5.0 / normalization;
- m_64qam[36].real() = -7.0 / normalization;
- m_64qam[36].imag() = 1.0 / normalization;
- m_64qam[37].real() = -7.0 / normalization;
- m_64qam[37].imag() = 3.0 / normalization;
- m_64qam[38].real() = -5.0 / normalization;
- m_64qam[38].imag() = 1.0 / normalization;
- m_64qam[39].real() = -5.0 / normalization;
- m_64qam[39].imag() = 3.0 / normalization;
- m_64qam[40].real() = -1.0 / normalization;
- m_64qam[40].imag() = 7.0 / normalization;
- m_64qam[41].real() = -1.0 / normalization;
- m_64qam[41].imag() = 5.0 / normalization;
- m_64qam[42].real() = -3.0 / normalization;
- m_64qam[42].imag() = 7.0 / normalization;
- m_64qam[43].real() = -3.0 / normalization;
- m_64qam[43].imag() = 5.0 / normalization;
- m_64qam[44].real() = -1.0 / normalization;
- m_64qam[44].imag() = 1.0 / normalization;
- m_64qam[45].real() = -1.0 / normalization;
- m_64qam[45].imag() = 3.0 / normalization;
- m_64qam[46].real() = -3.0 / normalization;
- m_64qam[46].imag() = 1.0 / normalization;
- m_64qam[47].real() = -3.0 / normalization;
- m_64qam[47].imag() = 3.0 / normalization;
- m_64qam[48].real() = -7.0 / normalization;
- m_64qam[48].imag() = -7.0 / normalization;
- m_64qam[49].real() = -7.0 / normalization;
- m_64qam[49].imag() = -5.0 / normalization;
- m_64qam[50].real() = -5.0 / normalization;
- m_64qam[50].imag() = -7.0 / normalization;
- m_64qam[51].real() = -5.0 / normalization;
- m_64qam[51].imag() = -5.0 / normalization;
- m_64qam[52].real() = -7.0 / normalization;
- m_64qam[52].imag() = -1.0 / normalization;
- m_64qam[53].real() = -7.0 / normalization;
- m_64qam[53].imag() = -3.0 / normalization;
- m_64qam[54].real() = -5.0 / normalization;
- m_64qam[54].imag() = -1.0 / normalization;
- m_64qam[55].real() = -5.0 / normalization;
- m_64qam[55].imag() = -3.0 / normalization;
- m_64qam[56].real() = -1.0 / normalization;
- m_64qam[56].imag() = -7.0 / normalization;
- m_64qam[57].real() = -1.0 / normalization;
- m_64qam[57].imag() = -5.0 / normalization;
- m_64qam[58].real() = -3.0 / normalization;
- m_64qam[58].imag() = -7.0 / normalization;
- m_64qam[59].real() = -3.0 / normalization;
- m_64qam[59].imag() = -5.0 / normalization;
- m_64qam[60].real() = -1.0 / normalization;
- m_64qam[60].imag() = -1.0 / normalization;
- m_64qam[61].real() = -1.0 / normalization;
- m_64qam[61].imag() = -3.0 / normalization;
- m_64qam[62].real() = -3.0 / normalization;
- m_64qam[62].imag() = -1.0 / normalization;
- m_64qam[63].real() = -3.0 / normalization;
- m_64qam[63].imag() = -3.0 / normalization;
+ normalization = std::sqrt(42.0);
+ m_64qam[0] = gr_complex( 7.0 / normalization, 7.0 / normalization);
+ m_64qam[1] = gr_complex( 7.0 / normalization, 5.0 / normalization);
+ m_64qam[2] = gr_complex( 5.0 / normalization, 7.0 / normalization);
+ m_64qam[3] = gr_complex( 5.0 / normalization, 5.0 / normalization);
+ m_64qam[4] = gr_complex( 7.0 / normalization, 1.0 / normalization);
+ m_64qam[5] = gr_complex( 7.0 / normalization, 3.0 / normalization);
+ m_64qam[6] = gr_complex( 5.0 / normalization, 1.0 / normalization);
+ m_64qam[7] = gr_complex( 5.0 / normalization, 3.0 / normalization);
+ m_64qam[8] = gr_complex( 1.0 / normalization, 7.0 / normalization);
+ m_64qam[9] = gr_complex( 1.0 / normalization, 5.0 / normalization);
+ m_64qam[10] = gr_complex( 3.0 / normalization, 7.0 / normalization);
+ m_64qam[11] = gr_complex( 3.0 / normalization, 5.0 / normalization);
+ m_64qam[12] = gr_complex( 1.0 / normalization, 1.0 / normalization);
+ m_64qam[13] = gr_complex( 1.0 / normalization, 3.0 / normalization);
+ m_64qam[14] = gr_complex( 3.0 / normalization, 1.0 / normalization);
+ m_64qam[15] = gr_complex( 3.0 / normalization, 3.0 / normalization);
+ m_64qam[16] = gr_complex( 7.0 / normalization, -7.0 / normalization);
+ m_64qam[17] = gr_complex( 7.0 / normalization, -5.0 / normalization);
+ m_64qam[18] = gr_complex( 5.0 / normalization, -7.0 / normalization);
+ m_64qam[19] = gr_complex( 5.0 / normalization, -5.0 / normalization);
+ m_64qam[20] = gr_complex( 7.0 / normalization, -1.0 / normalization);
+ m_64qam[21] = gr_complex( 7.0 / normalization, -3.0 / normalization);
+ m_64qam[22] = gr_complex( 5.0 / normalization, -1.0 / normalization);
+ m_64qam[23] = gr_complex( 5.0 / normalization, -3.0 / normalization);
+ m_64qam[24] = gr_complex( 1.0 / normalization, -7.0 / normalization);
+ m_64qam[25] = gr_complex( 1.0 / normalization, -5.0 / normalization);
+ m_64qam[26] = gr_complex( 3.0 / normalization, -7.0 / normalization);
+ m_64qam[27] = gr_complex( 3.0 / normalization, -5.0 / normalization);
+ m_64qam[28] = gr_complex( 1.0 / normalization, -1.0 / normalization);
+ m_64qam[29] = gr_complex( 1.0 / normalization, -3.0 / normalization);
+ m_64qam[30] = gr_complex( 3.0 / normalization, -1.0 / normalization);
+ m_64qam[31] = gr_complex( 3.0 / normalization, -3.0 / normalization);
+ m_64qam[32] = gr_complex(-7.0 / normalization, 7.0 / normalization);
+ m_64qam[33] = gr_complex(-7.0 / normalization, 5.0 / normalization);
+ m_64qam[34] = gr_complex(-5.0 / normalization, 7.0 / normalization);
+ m_64qam[35] = gr_complex(-5.0 / normalization, 5.0 / normalization);
+ m_64qam[36] = gr_complex(-7.0 / normalization, 1.0 / normalization);
+ m_64qam[37] = gr_complex(-7.0 / normalization, 3.0 / normalization);
+ m_64qam[38] = gr_complex(-5.0 / normalization, 1.0 / normalization);
+ m_64qam[39] = gr_complex(-5.0 / normalization, 3.0 / normalization);
+ m_64qam[40] = gr_complex(-1.0 / normalization, 7.0 / normalization);
+ m_64qam[41] = gr_complex(-1.0 / normalization, 5.0 / normalization);
+ m_64qam[42] = gr_complex(-3.0 / normalization, 7.0 / normalization);
+ m_64qam[43] = gr_complex(-3.0 / normalization, 5.0 / normalization);
+ m_64qam[44] = gr_complex(-1.0 / normalization, 1.0 / normalization);
+ m_64qam[45] = gr_complex(-1.0 / normalization, 3.0 / normalization);
+ m_64qam[46] = gr_complex(-3.0 / normalization, 1.0 / normalization);
+ m_64qam[47] = gr_complex(-3.0 / normalization, 3.0 / normalization);
+ m_64qam[48] = gr_complex(-7.0 / normalization, -7.0 / normalization);
+ m_64qam[49] = gr_complex(-7.0 / normalization, -5.0 / normalization);
+ m_64qam[50] = gr_complex(-5.0 / normalization, -7.0 / normalization);
+ m_64qam[51] = gr_complex(-5.0 / normalization, -5.0 / normalization);
+ m_64qam[52] = gr_complex(-7.0 / normalization, -1.0 / normalization);
+ m_64qam[53] = gr_complex(-7.0 / normalization, -3.0 / normalization);
+ m_64qam[54] = gr_complex(-5.0 / normalization, -1.0 / normalization);
+ m_64qam[55] = gr_complex(-5.0 / normalization, -3.0 / normalization);
+ m_64qam[56] = gr_complex(-1.0 / normalization, -7.0 / normalization);
+ m_64qam[57] = gr_complex(-1.0 / normalization, -5.0 / normalization);
+ m_64qam[58] = gr_complex(-3.0 / normalization, -7.0 / normalization);
+ m_64qam[59] = gr_complex(-3.0 / normalization, -5.0 / normalization);
+ m_64qam[60] = gr_complex(-1.0 / normalization, -1.0 / normalization);
+ m_64qam[61] = gr_complex(-1.0 / normalization, -3.0 / normalization);
+ m_64qam[62] = gr_complex(-3.0 / normalization, -1.0 / normalization);
+ m_64qam[63] = gr_complex(-3.0 / normalization, -3.0 / normalization);
if (rotation == ROTATION_ON) {
cyclic_delay = TRUE;
- rotation_angle = (2.0 * M_PI * 8.6) / 360;
+ rotation_angle = (2.0 * M_PI * 8.6) / 360.0;
+ temp = std::exp(gr_complexd(0.0, rotation_angle));
for (int i = 0; i < 64; i++) {
- m_temp[0].real() = m_64qam[i].real();
- m_64qam[i].real() = (m_64qam[i].real() * cos(rotation_angle)) - (m_64qam[i].imag() * sin(rotation_angle));
- m_64qam[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_64qam[i].imag() * cos(rotation_angle));
+ m_64qam[i] *= temp;
}
}
break;
case MOD_256QAM:
- normalization = sqrt(170);
- m_256qam[0].real() = 15 / normalization;
- m_256qam[0].imag() = 15 / normalization;
- m_256qam[1].real() = 15 / normalization;
- m_256qam[1].imag() = 13 / normalization;
- m_256qam[2].real() = 13 / normalization;
- m_256qam[2].imag() = 15 / normalization;
- m_256qam[3].real() = 13 / normalization;
- m_256qam[3].imag() = 13 / normalization;
- m_256qam[4].real() = 15 / normalization;
- m_256qam[4].imag() = 9 / normalization;
- m_256qam[5].real() = 15 / normalization;
- m_256qam[5].imag() = 11 / normalization;
- m_256qam[6].real() = 13 / normalization;
- m_256qam[6].imag() = 9 / normalization;
- m_256qam[7].real() = 13 / normalization;
- m_256qam[7].imag() = 11 / normalization;
- m_256qam[8].real() = 9 / normalization;
- m_256qam[8].imag() = 15 / normalization;
- m_256qam[9].real() = 9 / normalization;
- m_256qam[9].imag() = 13 / normalization;
- m_256qam[10].real() = 11 / normalization;
- m_256qam[10].imag() = 15 / normalization;
- m_256qam[11].real() = 11 / normalization;
- m_256qam[11].imag() = 13 / normalization;
- m_256qam[12].real() = 9 / normalization;
- m_256qam[12].imag() = 9 / normalization;
- m_256qam[13].real() = 9 / normalization;
- m_256qam[13].imag() = 11 / normalization;
- m_256qam[14].real() = 11 / normalization;
- m_256qam[14].imag() = 9 / normalization;
- m_256qam[15].real() = 11 / normalization;
- m_256qam[15].imag() = 11 / normalization;
- m_256qam[16].real() = 15 / normalization;
- m_256qam[16].imag() = 1 / normalization;
- m_256qam[17].real() = 15 / normalization;
- m_256qam[17].imag() = 3 / normalization;
- m_256qam[18].real() = 13 / normalization;
- m_256qam[18].imag() = 1 / normalization;
- m_256qam[19].real() = 13 / normalization;
- m_256qam[19].imag() = 3 / normalization;
- m_256qam[20].real() = 15 / normalization;
- m_256qam[20].imag() = 7 / normalization;
- m_256qam[21].real() = 15 / normalization;
- m_256qam[21].imag() = 5 / normalization;
- m_256qam[22].real() = 13 / normalization;
- m_256qam[22].imag() = 7 / normalization;
- m_256qam[23].real() = 13 / normalization;
- m_256qam[23].imag() = 5 / normalization;
- m_256qam[24].real() = 9 / normalization;
- m_256qam[24].imag() = 1 / normalization;
- m_256qam[25].real() = 9 / normalization;
- m_256qam[25].imag() = 3 / normalization;
- m_256qam[26].real() = 11 / normalization;
- m_256qam[26].imag() = 1 / normalization;
- m_256qam[27].real() = 11 / normalization;
- m_256qam[27].imag() = 3 / normalization;
- m_256qam[28].real() = 9 / normalization;
- m_256qam[28].imag() = 7 / normalization;
- m_256qam[29].real() = 9 / normalization;
- m_256qam[29].imag() = 5 / normalization;
- m_256qam[30].real() = 11 / normalization;
- m_256qam[30].imag() = 7 / normalization;
- m_256qam[31].real() = 11 / normalization;
- m_256qam[31].imag() = 5 / normalization;
- m_256qam[32].real() = 1 / normalization;
- m_256qam[32].imag() = 15 / normalization;
- m_256qam[33].real() = 1 / normalization;
- m_256qam[33].imag() = 13 / normalization;
- m_256qam[34].real() = 3 / normalization;
- m_256qam[34].imag() = 15 / normalization;
- m_256qam[35].real() = 3 / normalization;
- m_256qam[35].imag() = 13 / normalization;
- m_256qam[36].real() = 1 / normalization;
- m_256qam[36].imag() = 9 / normalization;
- m_256qam[37].real() = 1 / normalization;
- m_256qam[37].imag() = 11 / normalization;
- m_256qam[38].real() = 3 / normalization;
- m_256qam[38].imag() = 9 / normalization;
- m_256qam[39].real() = 3 / normalization;
- m_256qam[39].imag() = 11 / normalization;
- m_256qam[40].real() = 7 / normalization;
- m_256qam[40].imag() = 15 / normalization;
- m_256qam[41].real() = 7 / normalization;
- m_256qam[41].imag() = 13 / normalization;
- m_256qam[42].real() = 5 / normalization;
- m_256qam[42].imag() = 15 / normalization;
- m_256qam[43].real() = 5 / normalization;
- m_256qam[43].imag() = 13 / normalization;
- m_256qam[44].real() = 7 / normalization;
- m_256qam[44].imag() = 9 / normalization;
- m_256qam[45].real() = 7 / normalization;
- m_256qam[45].imag() = 11 / normalization;
- m_256qam[46].real() = 5 / normalization;
- m_256qam[46].imag() = 9 / normalization;
- m_256qam[47].real() = 5 / normalization;
- m_256qam[47].imag() = 11 / normalization;
- m_256qam[48].real() = 1 / normalization;
- m_256qam[48].imag() = 1 / normalization;
- m_256qam[49].real() = 1 / normalization;
- m_256qam[49].imag() = 3 / normalization;
- m_256qam[50].real() = 3 / normalization;
- m_256qam[50].imag() = 1 / normalization;
- m_256qam[51].real() = 3 / normalization;
- m_256qam[51].imag() = 3 / normalization;
- m_256qam[52].real() = 1 / normalization;
- m_256qam[52].imag() = 7 / normalization;
- m_256qam[53].real() = 1 / normalization;
- m_256qam[53].imag() = 5 / normalization;
- m_256qam[54].real() = 3 / normalization;
- m_256qam[54].imag() = 7 / normalization;
- m_256qam[55].real() = 3 / normalization;
- m_256qam[55].imag() = 5 / normalization;
- m_256qam[56].real() = 7 / normalization;
- m_256qam[56].imag() = 1 / normalization;
- m_256qam[57].real() = 7 / normalization;
- m_256qam[57].imag() = 3 / normalization;
- m_256qam[58].real() = 5 / normalization;
- m_256qam[58].imag() = 1 / normalization;
- m_256qam[59].real() = 5 / normalization;
- m_256qam[59].imag() = 3 / normalization;
- m_256qam[60].real() = 7 / normalization;
- m_256qam[60].imag() = 7 / normalization;
- m_256qam[61].real() = 7 / normalization;
- m_256qam[61].imag() = 5 / normalization;
- m_256qam[62].real() = 5 / normalization;
- m_256qam[62].imag() = 7 / normalization;
- m_256qam[63].real() = 5 / normalization;
- m_256qam[63].imag() = 5 / normalization;
- m_256qam[64].real() = 15 / normalization;
- m_256qam[64].imag() = -15 / normalization;
- m_256qam[65].real() = 15 / normalization;
- m_256qam[65].imag() = -13 / normalization;
- m_256qam[66].real() = 13 / normalization;
- m_256qam[66].imag() = -15 / normalization;
- m_256qam[67].real() = 13 / normalization;
- m_256qam[67].imag() = -13 / normalization;
- m_256qam[68].real() = 15 / normalization;
- m_256qam[68].imag() = -9 / normalization;
- m_256qam[69].real() = 15 / normalization;
- m_256qam[69].imag() = -11 / normalization;
- m_256qam[70].real() = 13 / normalization;
- m_256qam[70].imag() = -9 / normalization;
- m_256qam[71].real() = 13 / normalization;
- m_256qam[71].imag() = -11 / normalization;
- m_256qam[72].real() = 9 / normalization;
- m_256qam[72].imag() = -15 / normalization;
- m_256qam[73].real() = 9 / normalization;
- m_256qam[73].imag() = -13 / normalization;
- m_256qam[74].real() = 11 / normalization;
- m_256qam[74].imag() = -15 / normalization;
- m_256qam[75].real() = 11 / normalization;
- m_256qam[75].imag() = -13 / normalization;
- m_256qam[76].real() = 9 / normalization;
- m_256qam[76].imag() = -9 / normalization;
- m_256qam[77].real() = 9 / normalization;
- m_256qam[77].imag() = -11 / normalization;
- m_256qam[78].real() = 11 / normalization;
- m_256qam[78].imag() = -9 / normalization;
- m_256qam[79].real() = 11 / normalization;
- m_256qam[79].imag() = -11 / normalization;
- m_256qam[80].real() = 15 / normalization;
- m_256qam[80].imag() = -1 / normalization;
- m_256qam[81].real() = 15 / normalization;
- m_256qam[81].imag() = -3 / normalization;
- m_256qam[82].real() = 13 / normalization;
- m_256qam[82].imag() = -1 / normalization;
- m_256qam[83].real() = 13 / normalization;
- m_256qam[83].imag() = -3 / normalization;
- m_256qam[84].real() = 15 / normalization;
- m_256qam[84].imag() = -7 / normalization;
- m_256qam[85].real() = 15 / normalization;
- m_256qam[85].imag() = -5 / normalization;
- m_256qam[86].real() = 13 / normalization;
- m_256qam[86].imag() = -7 / normalization;
- m_256qam[87].real() = 13 / normalization;
- m_256qam[87].imag() = -5 / normalization;
- m_256qam[88].real() = 9 / normalization;
- m_256qam[88].imag() = -1 / normalization;
- m_256qam[89].real() = 9 / normalization;
- m_256qam[89].imag() = -3 / normalization;
- m_256qam[90].real() = 11 / normalization;
- m_256qam[90].imag() = -1 / normalization;
- m_256qam[91].real() = 11 / normalization;
- m_256qam[91].imag() = -3 / normalization;
- m_256qam[92].real() = 9 / normalization;
- m_256qam[92].imag() = -7 / normalization;
- m_256qam[93].real() = 9 / normalization;
- m_256qam[93].imag() = -5 / normalization;
- m_256qam[94].real() = 11 / normalization;
- m_256qam[94].imag() = -7 / normalization;
- m_256qam[95].real() = 11 / normalization;
- m_256qam[95].imag() = -5 / normalization;
- m_256qam[96].real() = 1 / normalization;
- m_256qam[96].imag() = -15 / normalization;
- m_256qam[97].real() = 1 / normalization;
- m_256qam[97].imag() = -13 / normalization;
- m_256qam[98].real() = 3 / normalization;
- m_256qam[98].imag() = -15 / normalization;
- m_256qam[99].real() = 3 / normalization;
- m_256qam[99].imag() = -13 / normalization;
- m_256qam[100].real() = 1 / normalization;
- m_256qam[100].imag() = -9 / normalization;
- m_256qam[101].real() = 1 / normalization;
- m_256qam[101].imag() = -11 / normalization;
- m_256qam[102].real() = 3 / normalization;
- m_256qam[102].imag() = -9 / normalization;
- m_256qam[103].real() = 3 / normalization;
- m_256qam[103].imag() = -11 / normalization;
- m_256qam[104].real() = 7 / normalization;
- m_256qam[104].imag() = -15 / normalization;
- m_256qam[105].real() = 7 / normalization;
- m_256qam[105].imag() = -13 / normalization;
- m_256qam[106].real() = 5 / normalization;
- m_256qam[106].imag() = -15 / normalization;
- m_256qam[107].real() = 5 / normalization;
- m_256qam[107].imag() = -13 / normalization;
- m_256qam[108].real() = 7 / normalization;
- m_256qam[108].imag() = -9 / normalization;
- m_256qam[109].real() = 7 / normalization;
- m_256qam[109].imag() = -11 / normalization;
- m_256qam[110].real() = 5 / normalization;
- m_256qam[110].imag() = -9 / normalization;
- m_256qam[111].real() = 5 / normalization;
- m_256qam[111].imag() = -11 / normalization;
- m_256qam[112].real() = 1 / normalization;
- m_256qam[112].imag() = -1 / normalization;
- m_256qam[113].real() = 1 / normalization;
- m_256qam[113].imag() = -3 / normalization;
- m_256qam[114].real() = 3 / normalization;
- m_256qam[114].imag() = -1 / normalization;
- m_256qam[115].real() = 3 / normalization;
- m_256qam[115].imag() = -3 / normalization;
- m_256qam[116].real() = 1 / normalization;
- m_256qam[116].imag() = -7 / normalization;
- m_256qam[117].real() = 1 / normalization;
- m_256qam[117].imag() = -5 / normalization;
- m_256qam[118].real() = 3 / normalization;
- m_256qam[118].imag() = -7 / normalization;
- m_256qam[119].real() = 3 / normalization;
- m_256qam[119].imag() = -5 / normalization;
- m_256qam[120].real() = 7 / normalization;
- m_256qam[120].imag() = -1 / normalization;
- m_256qam[121].real() = 7 / normalization;
- m_256qam[121].imag() = -3 / normalization;
- m_256qam[122].real() = 5 / normalization;
- m_256qam[122].imag() = -1 / normalization;
- m_256qam[123].real() = 5 / normalization;
- m_256qam[123].imag() = -3 / normalization;
- m_256qam[124].real() = 7 / normalization;
- m_256qam[124].imag() = -7 / normalization;
- m_256qam[125].real() = 7 / normalization;
- m_256qam[125].imag() = -5 / normalization;
- m_256qam[126].real() = 5 / normalization;
- m_256qam[126].imag() = -7 / normalization;
- m_256qam[127].real() = 5 / normalization;
- m_256qam[127].imag() = -5 / normalization;
- m_256qam[128].real() = -15 / normalization;
- m_256qam[128].imag() = 15 / normalization;
- m_256qam[129].real() = -15 / normalization;
- m_256qam[129].imag() = 13 / normalization;
- m_256qam[130].real() = -13 / normalization;
- m_256qam[130].imag() = 15 / normalization;
- m_256qam[131].real() = -13 / normalization;
- m_256qam[131].imag() = 13 / normalization;
- m_256qam[132].real() = -15 / normalization;
- m_256qam[132].imag() = 9 / normalization;
- m_256qam[133].real() = -15 / normalization;
- m_256qam[133].imag() = 11 / normalization;
- m_256qam[134].real() = -13 / normalization;
- m_256qam[134].imag() = 9 / normalization;
- m_256qam[135].real() = -13 / normalization;
- m_256qam[135].imag() = 11 / normalization;
- m_256qam[136].real() = -9 / normalization;
- m_256qam[136].imag() = 15 / normalization;
- m_256qam[137].real() = -9 / normalization;
- m_256qam[137].imag() = 13 / normalization;
- m_256qam[138].real() = -11 / normalization;
- m_256qam[138].imag() = 15 / normalization;
- m_256qam[139].real() = -11 / normalization;
- m_256qam[139].imag() = 13 / normalization;
- m_256qam[140].real() = -9 / normalization;
- m_256qam[140].imag() = 9 / normalization;
- m_256qam[141].real() = -9 / normalization;
- m_256qam[141].imag() = 11 / normalization;
- m_256qam[142].real() = -11 / normalization;
- m_256qam[142].imag() = 9 / normalization;
- m_256qam[143].real() = -11 / normalization;
- m_256qam[143].imag() = 11 / normalization;
- m_256qam[144].real() = -15 / normalization;
- m_256qam[144].imag() = 1 / normalization;
- m_256qam[145].real() = -15 / normalization;
- m_256qam[145].imag() = 3 / normalization;
- m_256qam[146].real() = -13 / normalization;
- m_256qam[146].imag() = 1 / normalization;
- m_256qam[147].real() = -13 / normalization;
- m_256qam[147].imag() = 3 / normalization;
- m_256qam[148].real() = -15 / normalization;
- m_256qam[148].imag() = 7 / normalization;
- m_256qam[149].real() = -15 / normalization;
- m_256qam[149].imag() = 5 / normalization;
- m_256qam[150].real() = -13 / normalization;
- m_256qam[150].imag() = 7 / normalization;
- m_256qam[151].real() = -13 / normalization;
- m_256qam[151].imag() = 5 / normalization;
- m_256qam[152].real() = -9 / normalization;
- m_256qam[152].imag() = 1 / normalization;
- m_256qam[153].real() = -9 / normalization;
- m_256qam[153].imag() = 3 / normalization;
- m_256qam[154].real() = -11 / normalization;
- m_256qam[154].imag() = 1 / normalization;
- m_256qam[155].real() = -11 / normalization;
- m_256qam[155].imag() = 3 / normalization;
- m_256qam[156].real() = -9 / normalization;
- m_256qam[156].imag() = 7 / normalization;
- m_256qam[157].real() = -9 / normalization;
- m_256qam[157].imag() = 5 / normalization;
- m_256qam[158].real() = -11 / normalization;
- m_256qam[158].imag() = 7 / normalization;
- m_256qam[159].real() = -11 / normalization;
- m_256qam[159].imag() = 5 / normalization;
- m_256qam[160].real() = -1 / normalization;
- m_256qam[160].imag() = 15 / normalization;
- m_256qam[161].real() = -1 / normalization;
- m_256qam[161].imag() = 13 / normalization;
- m_256qam[162].real() = -3 / normalization;
- m_256qam[162].imag() = 15 / normalization;
- m_256qam[163].real() = -3 / normalization;
- m_256qam[163].imag() = 13 / normalization;
- m_256qam[164].real() = -1 / normalization;
- m_256qam[164].imag() = 9 / normalization;
- m_256qam[165].real() = -1 / normalization;
- m_256qam[165].imag() = 11 / normalization;
- m_256qam[166].real() = -3 / normalization;
- m_256qam[166].imag() = 9 / normalization;
- m_256qam[167].real() = -3 / normalization;
- m_256qam[167].imag() = 11 / normalization;
- m_256qam[168].real() = -7 / normalization;
- m_256qam[168].imag() = 15 / normalization;
- m_256qam[169].real() = -7 / normalization;
- m_256qam[169].imag() = 13 / normalization;
- m_256qam[170].real() = -5 / normalization;
- m_256qam[170].imag() = 15 / normalization;
- m_256qam[171].real() = -5 / normalization;
- m_256qam[171].imag() = 13 / normalization;
- m_256qam[172].real() = -7 / normalization;
- m_256qam[172].imag() = 9 / normalization;
- m_256qam[173].real() = -7 / normalization;
- m_256qam[173].imag() = 11 / normalization;
- m_256qam[174].real() = -5 / normalization;
- m_256qam[174].imag() = 9 / normalization;
- m_256qam[175].real() = -5 / normalization;
- m_256qam[175].imag() = 11 / normalization;
- m_256qam[176].real() = -1 / normalization;
- m_256qam[176].imag() = 1 / normalization;
- m_256qam[177].real() = -1 / normalization;
- m_256qam[177].imag() = 3 / normalization;
- m_256qam[178].real() = -3 / normalization;
- m_256qam[178].imag() = 1 / normalization;
- m_256qam[179].real() = -3 / normalization;
- m_256qam[179].imag() = 3 / normalization;
- m_256qam[180].real() = -1 / normalization;
- m_256qam[180].imag() = 7 / normalization;
- m_256qam[181].real() = -1 / normalization;
- m_256qam[181].imag() = 5 / normalization;
- m_256qam[182].real() = -3 / normalization;
- m_256qam[182].imag() = 7 / normalization;
- m_256qam[183].real() = -3 / normalization;
- m_256qam[183].imag() = 5 / normalization;
- m_256qam[184].real() = -7 / normalization;
- m_256qam[184].imag() = 1 / normalization;
- m_256qam[185].real() = -7 / normalization;
- m_256qam[185].imag() = 3 / normalization;
- m_256qam[186].real() = -5 / normalization;
- m_256qam[186].imag() = 1 / normalization;
- m_256qam[187].real() = -5 / normalization;
- m_256qam[187].imag() = 3 / normalization;
- m_256qam[188].real() = -7 / normalization;
- m_256qam[188].imag() = 7 / normalization;
- m_256qam[189].real() = -7 / normalization;
- m_256qam[189].imag() = 5 / normalization;
- m_256qam[190].real() = -5 / normalization;
- m_256qam[190].imag() = 7 / normalization;
- m_256qam[191].real() = -5 / normalization;
- m_256qam[191].imag() = 5 / normalization;
- m_256qam[192].real() = -15 / normalization;
- m_256qam[192].imag() = -15 / normalization;
- m_256qam[193].real() = -15 / normalization;
- m_256qam[193].imag() = -13 / normalization;
- m_256qam[194].real() = -13 / normalization;
- m_256qam[194].imag() = -15 / normalization;
- m_256qam[195].real() = -13 / normalization;
- m_256qam[195].imag() = -13 / normalization;
- m_256qam[196].real() = -15 / normalization;
- m_256qam[196].imag() = -9 / normalization;
- m_256qam[197].real() = -15 / normalization;
- m_256qam[197].imag() = -11 / normalization;
- m_256qam[198].real() = -13 / normalization;
- m_256qam[198].imag() = -9 / normalization;
- m_256qam[199].real() = -13 / normalization;
- m_256qam[199].imag() = -11 / normalization;
- m_256qam[200].real() = -9 / normalization;
- m_256qam[200].imag() = -15 / normalization;
- m_256qam[201].real() = -9 / normalization;
- m_256qam[201].imag() = -13 / normalization;
- m_256qam[202].real() = -11 / normalization;
- m_256qam[202].imag() = -15 / normalization;
- m_256qam[203].real() = -11 / normalization;
- m_256qam[203].imag() = -13 / normalization;
- m_256qam[204].real() = -9 / normalization;
- m_256qam[204].imag() = -9 / normalization;
- m_256qam[205].real() = -9 / normalization;
- m_256qam[205].imag() = -11 / normalization;
- m_256qam[206].real() = -11 / normalization;
- m_256qam[206].imag() = -9 / normalization;
- m_256qam[207].real() = -11 / normalization;
- m_256qam[207].imag() = -11 / normalization;
- m_256qam[208].real() = -15 / normalization;
- m_256qam[208].imag() = -1 / normalization;
- m_256qam[209].real() = -15 / normalization;
- m_256qam[209].imag() = -3 / normalization;
- m_256qam[210].real() = -13 / normalization;
- m_256qam[210].imag() = -1 / normalization;
- m_256qam[211].real() = -13 / normalization;
- m_256qam[211].imag() = -3 / normalization;
- m_256qam[212].real() = -15 / normalization;
- m_256qam[212].imag() = -7 / normalization;
- m_256qam[213].real() = -15 / normalization;
- m_256qam[213].imag() = -5 / normalization;
- m_256qam[214].real() = -13 / normalization;
- m_256qam[214].imag() = -7 / normalization;
- m_256qam[215].real() = -13 / normalization;
- m_256qam[215].imag() = -5 / normalization;
- m_256qam[216].real() = -9 / normalization;
- m_256qam[216].imag() = -1 / normalization;
- m_256qam[217].real() = -9 / normalization;
- m_256qam[217].imag() = -3 / normalization;
- m_256qam[218].real() = -11 / normalization;
- m_256qam[218].imag() = -1 / normalization;
- m_256qam[219].real() = -11 / normalization;
- m_256qam[219].imag() = -3 / normalization;
- m_256qam[220].real() = -9 / normalization;
- m_256qam[220].imag() = -7 / normalization;
- m_256qam[221].real() = -9 / normalization;
- m_256qam[221].imag() = -5 / normalization;
- m_256qam[222].real() = -11 / normalization;
- m_256qam[222].imag() = -7 / normalization;
- m_256qam[223].real() = -11 / normalization;
- m_256qam[223].imag() = -5 / normalization;
- m_256qam[224].real() = -1 / normalization;
- m_256qam[224].imag() = -15 / normalization;
- m_256qam[225].real() = -1 / normalization;
- m_256qam[225].imag() = -13 / normalization;
- m_256qam[226].real() = -3 / normalization;
- m_256qam[226].imag() = -15 / normalization;
- m_256qam[227].real() = -3 / normalization;
- m_256qam[227].imag() = -13 / normalization;
- m_256qam[228].real() = -1 / normalization;
- m_256qam[228].imag() = -9 / normalization;
- m_256qam[229].real() = -1 / normalization;
- m_256qam[229].imag() = -11 / normalization;
- m_256qam[230].real() = -3 / normalization;
- m_256qam[230].imag() = -9 / normalization;
- m_256qam[231].real() = -3 / normalization;
- m_256qam[231].imag() = -11 / normalization;
- m_256qam[232].real() = -7 / normalization;
- m_256qam[232].imag() = -15 / normalization;
- m_256qam[233].real() = -7 / normalization;
- m_256qam[233].imag() = -13 / normalization;
- m_256qam[234].real() = -5 / normalization;
- m_256qam[234].imag() = -15 / normalization;
- m_256qam[235].real() = -5 / normalization;
- m_256qam[235].imag() = -13 / normalization;
- m_256qam[236].real() = -7 / normalization;
- m_256qam[236].imag() = -9 / normalization;
- m_256qam[237].real() = -7 / normalization;
- m_256qam[237].imag() = -11 / normalization;
- m_256qam[238].real() = -5 / normalization;
- m_256qam[238].imag() = -9 / normalization;
- m_256qam[239].real() = -5 / normalization;
- m_256qam[239].imag() = -11 / normalization;
- m_256qam[240].real() = -1 / normalization;
- m_256qam[240].imag() = -1 / normalization;
- m_256qam[241].real() = -1 / normalization;
- m_256qam[241].imag() = -3 / normalization;
- m_256qam[242].real() = -3 / normalization;
- m_256qam[242].imag() = -1 / normalization;
- m_256qam[243].real() = -3 / normalization;
- m_256qam[243].imag() = -3 / normalization;
- m_256qam[244].real() = -1 / normalization;
- m_256qam[244].imag() = -7 / normalization;
- m_256qam[245].real() = -1 / normalization;
- m_256qam[245].imag() = -5 / normalization;
- m_256qam[246].real() = -3 / normalization;
- m_256qam[246].imag() = -7 / normalization;
- m_256qam[247].real() = -3 / normalization;
- m_256qam[247].imag() = -5 / normalization;
- m_256qam[248].real() = -7 / normalization;
- m_256qam[248].imag() = -1 / normalization;
- m_256qam[249].real() = -7 / normalization;
- m_256qam[249].imag() = -3 / normalization;
- m_256qam[250].real() = -5 / normalization;
- m_256qam[250].imag() = -1 / normalization;
- m_256qam[251].real() = -5 / normalization;
- m_256qam[251].imag() = -3 / normalization;
- m_256qam[252].real() = -7 / normalization;
- m_256qam[252].imag() = -7 / normalization;
- m_256qam[253].real() = -7 / normalization;
- m_256qam[253].imag() = -5 / normalization;
- m_256qam[254].real() = -5 / normalization;
- m_256qam[254].imag() = -7 / normalization;
- m_256qam[255].real() = -5 / normalization;
- m_256qam[255].imag() = -5 / normalization;
+ normalization = std::sqrt(170.0);
+ m_256qam[0] = gr_complex( 15 / normalization, 15 / normalization);
+ m_256qam[1] = gr_complex( 15 / normalization, 13 / normalization);
+ m_256qam[2] = gr_complex( 13 / normalization, 15 / normalization);
+ m_256qam[3] = gr_complex( 13 / normalization, 13 / normalization);
+ m_256qam[4] = gr_complex( 15 / normalization, 9 / normalization);
+ m_256qam[5] = gr_complex( 15 / normalization, 11 / normalization);
+ m_256qam[6] = gr_complex( 13 / normalization, 9 / normalization);
+ m_256qam[7] = gr_complex( 13 / normalization, 11 / normalization);
+ m_256qam[8] = gr_complex( 9 / normalization, 15 / normalization);
+ m_256qam[9] = gr_complex( 9 / normalization, 13 / normalization);
+ m_256qam[10] = gr_complex( 11 / normalization, 15 / normalization);
+ m_256qam[11] = gr_complex( 11 / normalization, 13 / normalization);
+ m_256qam[12] = gr_complex( 9 / normalization, 9 / normalization);
+ m_256qam[13] = gr_complex( 9 / normalization, 11 / normalization);
+ m_256qam[14] = gr_complex( 11 / normalization, 9 / normalization);
+ m_256qam[15] = gr_complex( 11 / normalization, 11 / normalization);
+ m_256qam[16] = gr_complex( 15 / normalization, 1 / normalization);
+ m_256qam[17] = gr_complex( 15 / normalization, 3 / normalization);
+ m_256qam[18] = gr_complex( 13 / normalization, 1 / normalization);
+ m_256qam[19] = gr_complex( 13 / normalization, 3 / normalization);
+ m_256qam[20] = gr_complex( 15 / normalization, 7 / normalization);
+ m_256qam[21] = gr_complex( 15 / normalization, 5 / normalization);
+ m_256qam[22] = gr_complex( 13 / normalization, 7 / normalization);
+ m_256qam[23] = gr_complex( 13 / normalization, 5 / normalization);
+ m_256qam[24] = gr_complex( 9 / normalization, 1 / normalization);
+ m_256qam[25] = gr_complex( 9 / normalization, 3 / normalization);
+ m_256qam[26] = gr_complex( 11 / normalization, 1 / normalization);
+ m_256qam[27] = gr_complex( 11 / normalization, 3 / normalization);
+ m_256qam[28] = gr_complex( 9 / normalization, 7 / normalization);
+ m_256qam[29] = gr_complex( 9 / normalization, 5 / normalization);
+ m_256qam[30] = gr_complex( 11 / normalization, 7 / normalization);
+ m_256qam[31] = gr_complex( 11 / normalization, 5 / normalization);
+ m_256qam[32] = gr_complex( 1 / normalization, 15 / normalization);
+ m_256qam[33] = gr_complex( 1 / normalization, 13 / normalization);
+ m_256qam[34] = gr_complex( 3 / normalization, 15 / normalization);
+ m_256qam[35] = gr_complex( 3 / normalization, 13 / normalization);
+ m_256qam[36] = gr_complex( 1 / normalization, 9 / normalization);
+ m_256qam[37] = gr_complex( 1 / normalization, 11 / normalization);
+ m_256qam[38] = gr_complex( 3 / normalization, 9 / normalization);
+ m_256qam[39] = gr_complex( 3 / normalization, 11 / normalization);
+ m_256qam[40] = gr_complex( 7 / normalization, 15 / normalization);
+ m_256qam[41] = gr_complex( 7 / normalization, 13 / normalization);
+ m_256qam[42] = gr_complex( 5 / normalization, 15 / normalization);
+ m_256qam[43] = gr_complex( 5 / normalization, 13 / normalization);
+ m_256qam[44] = gr_complex( 7 / normalization, 9 / normalization);
+ m_256qam[45] = gr_complex( 7 / normalization, 11 / normalization);
+ m_256qam[46] = gr_complex( 5 / normalization, 9 / normalization);
+ m_256qam[47] = gr_complex( 5 / normalization, 11 / normalization);
+ m_256qam[48] = gr_complex( 1 / normalization, 1 / normalization);
+ m_256qam[49] = gr_complex( 1 / normalization, 3 / normalization);
+ m_256qam[50] = gr_complex( 3 / normalization, 1 / normalization);
+ m_256qam[51] = gr_complex( 3 / normalization, 3 / normalization);
+ m_256qam[52] = gr_complex( 1 / normalization, 7 / normalization);
+ m_256qam[53] = gr_complex( 1 / normalization, 5 / normalization);
+ m_256qam[54] = gr_complex( 3 / normalization, 7 / normalization);
+ m_256qam[55] = gr_complex( 3 / normalization, 5 / normalization);
+ m_256qam[56] = gr_complex( 7 / normalization, 1 / normalization);
+ m_256qam[57] = gr_complex( 7 / normalization, 3 / normalization);
+ m_256qam[58] = gr_complex( 5 / normalization, 1 / normalization);
+ m_256qam[59] = gr_complex( 5 / normalization, 3 / normalization);
+ m_256qam[60] = gr_complex( 7 / normalization, 7 / normalization);
+ m_256qam[61] = gr_complex( 7 / normalization, 5 / normalization);
+ m_256qam[62] = gr_complex( 5 / normalization, 7 / normalization);
+ m_256qam[63] = gr_complex( 5 / normalization, 5 / normalization);
+ m_256qam[64] = gr_complex( 15 / normalization, -15 / normalization);
+ m_256qam[65] = gr_complex( 15 / normalization, -13 / normalization);
+ m_256qam[66] = gr_complex( 13 / normalization, -15 / normalization);
+ m_256qam[67] = gr_complex( 13 / normalization, -13 / normalization);
+ m_256qam[68] = gr_complex( 15 / normalization, -9 / normalization);
+ m_256qam[69] = gr_complex( 15 / normalization, -11 / normalization);
+ m_256qam[70] = gr_complex( 13 / normalization, -9 / normalization);
+ m_256qam[71] = gr_complex( 13 / normalization, -11 / normalization);
+ m_256qam[72] = gr_complex( 9 / normalization, -15 / normalization);
+ m_256qam[73] = gr_complex( 9 / normalization, -13 / normalization);
+ m_256qam[74] = gr_complex( 11 / normalization, -15 / normalization);
+ m_256qam[75] = gr_complex( 11 / normalization, -13 / normalization);
+ m_256qam[76] = gr_complex( 9 / normalization, -9 / normalization);
+ m_256qam[77] = gr_complex( 9 / normalization, -11 / normalization);
+ m_256qam[78] = gr_complex( 11 / normalization, -9 / normalization);
+ m_256qam[79] = gr_complex( 11 / normalization, -11 / normalization);
+ m_256qam[80] = gr_complex( 15 / normalization, -1 / normalization);
+ m_256qam[81] = gr_complex( 15 / normalization, -3 / normalization);
+ m_256qam[82] = gr_complex( 13 / normalization, -1 / normalization);
+ m_256qam[83] = gr_complex( 13 / normalization, -3 / normalization);
+ m_256qam[84] = gr_complex( 15 / normalization, -7 / normalization);
+ m_256qam[85] = gr_complex( 15 / normalization, -5 / normalization);
+ m_256qam[86] = gr_complex( 13 / normalization, -7 / normalization);
+ m_256qam[87] = gr_complex( 13 / normalization, -5 / normalization);
+ m_256qam[88] = gr_complex( 9 / normalization, -1 / normalization);
+ m_256qam[89] = gr_complex( 9 / normalization, -3 / normalization);
+ m_256qam[90] = gr_complex( 11 / normalization, -1 / normalization);
+ m_256qam[91] = gr_complex( 11 / normalization, -3 / normalization);
+ m_256qam[92] = gr_complex( 9 / normalization, -7 / normalization);
+ m_256qam[93] = gr_complex( 9 / normalization, -5 / normalization);
+ m_256qam[94] = gr_complex( 11 / normalization, -7 / normalization);
+ m_256qam[95] = gr_complex( 11 / normalization, -5 / normalization);
+ m_256qam[96] = gr_complex( 1 / normalization, -15 / normalization);
+ m_256qam[97] = gr_complex( 1 / normalization, -13 / normalization);
+ m_256qam[98] = gr_complex( 3 / normalization, -15 / normalization);
+ m_256qam[99] = gr_complex( 3 / normalization, -13 / normalization);
+ m_256qam[100] = gr_complex( 1 / normalization, -9 / normalization);
+ m_256qam[101] = gr_complex( 1 / normalization, -11 / normalization);
+ m_256qam[102] = gr_complex( 3 / normalization, -9 / normalization);
+ m_256qam[103] = gr_complex( 3 / normalization, -11 / normalization);
+ m_256qam[104] = gr_complex( 7 / normalization, -15 / normalization);
+ m_256qam[105] = gr_complex( 7 / normalization, -13 / normalization);
+ m_256qam[106] = gr_complex( 5 / normalization, -15 / normalization);
+ m_256qam[107] = gr_complex( 5 / normalization, -13 / normalization);
+ m_256qam[108] = gr_complex( 7 / normalization, -9 / normalization);
+ m_256qam[109] = gr_complex( 7 / normalization, -11 / normalization);
+ m_256qam[110] = gr_complex( 5 / normalization, -9 / normalization);
+ m_256qam[111] = gr_complex( 5 / normalization, -11 / normalization);
+ m_256qam[112] = gr_complex( 1 / normalization, -1 / normalization);
+ m_256qam[113] = gr_complex( 1 / normalization, -3 / normalization);
+ m_256qam[114] = gr_complex( 3 / normalization, -1 / normalization);
+ m_256qam[115] = gr_complex( 3 / normalization, -3 / normalization);
+ m_256qam[116] = gr_complex( 1 / normalization, -7 / normalization);
+ m_256qam[117] = gr_complex( 1 / normalization, -5 / normalization);
+ m_256qam[118] = gr_complex( 3 / normalization, -7 / normalization);
+ m_256qam[119] = gr_complex( 3 / normalization, -5 / normalization);
+ m_256qam[120] = gr_complex( 7 / normalization, -1 / normalization);
+ m_256qam[121] = gr_complex( 7 / normalization, -3 / normalization);
+ m_256qam[122] = gr_complex( 5 / normalization, -1 / normalization);
+ m_256qam[123] = gr_complex( 5 / normalization, -3 / normalization);
+ m_256qam[124] = gr_complex( 7 / normalization, -7 / normalization);
+ m_256qam[125] = gr_complex( 7 / normalization, -5 / normalization);
+ m_256qam[126] = gr_complex( 5 / normalization, -7 / normalization);
+ m_256qam[127] = gr_complex( 5 / normalization, -5 / normalization);
+ m_256qam[128] = gr_complex(-15 / normalization, 15 / normalization);
+ m_256qam[129] = gr_complex(-15 / normalization, 13 / normalization);
+ m_256qam[130] = gr_complex(-13 / normalization, 15 / normalization);
+ m_256qam[131] = gr_complex(-13 / normalization, 13 / normalization);
+ m_256qam[132] = gr_complex(-15 / normalization, 9 / normalization);
+ m_256qam[133] = gr_complex(-15 / normalization, 11 / normalization);
+ m_256qam[134] = gr_complex(-13 / normalization, 9 / normalization);
+ m_256qam[135] = gr_complex(-13 / normalization, 11 / normalization);
+ m_256qam[136] = gr_complex( -9 / normalization, 15 / normalization);
+ m_256qam[137] = gr_complex( -9 / normalization, 13 / normalization);
+ m_256qam[138] = gr_complex(-11 / normalization, 15 / normalization);
+ m_256qam[139] = gr_complex(-11 / normalization, 13 / normalization);
+ m_256qam[140] = gr_complex( -9 / normalization, 9 / normalization);
+ m_256qam[141] = gr_complex( -9 / normalization, 11 / normalization);
+ m_256qam[142] = gr_complex(-11 / normalization, 9 / normalization);
+ m_256qam[143] = gr_complex(-11 / normalization, 11 / normalization);
+ m_256qam[144] = gr_complex(-15 / normalization, 1 / normalization);
+ m_256qam[145] = gr_complex(-15 / normalization, 3 / normalization);
+ m_256qam[146] = gr_complex(-13 / normalization, 1 / normalization);
+ m_256qam[147] = gr_complex(-13 / normalization, 3 / normalization);
+ m_256qam[148] = gr_complex(-15 / normalization, 7 / normalization);
+ m_256qam[149] = gr_complex(-15 / normalization, 5 / normalization);
+ m_256qam[150] = gr_complex(-13 / normalization, 7 / normalization);
+ m_256qam[151] = gr_complex(-13 / normalization, 5 / normalization);
+ m_256qam[152] = gr_complex( -9 / normalization, 1 / normalization);
+ m_256qam[153] = gr_complex( -9 / normalization, 3 / normalization);
+ m_256qam[154] = gr_complex(-11 / normalization, 1 / normalization);
+ m_256qam[155] = gr_complex(-11 / normalization, 3 / normalization);
+ m_256qam[156] = gr_complex( -9 / normalization, 7 / normalization);
+ m_256qam[157] = gr_complex( -9 / normalization, 5 / normalization);
+ m_256qam[158] = gr_complex(-11 / normalization, 7 / normalization);
+ m_256qam[159] = gr_complex(-11 / normalization, 5 / normalization);
+ m_256qam[160] = gr_complex( -1 / normalization, 15 / normalization);
+ m_256qam[161] = gr_complex( -1 / normalization, 13 / normalization);
+ m_256qam[162] = gr_complex( -3 / normalization, 15 / normalization);
+ m_256qam[163] = gr_complex( -3 / normalization, 13 / normalization);
+ m_256qam[164] = gr_complex( -1 / normalization, 9 / normalization);
+ m_256qam[165] = gr_complex( -1 / normalization, 11 / normalization);
+ m_256qam[166] = gr_complex( -3 / normalization, 9 / normalization);
+ m_256qam[167] = gr_complex( -3 / normalization, 11 / normalization);
+ m_256qam[168] = gr_complex( -7 / normalization, 15 / normalization);
+ m_256qam[169] = gr_complex( -7 / normalization, 13 / normalization);
+ m_256qam[170] = gr_complex( -5 / normalization, 15 / normalization);
+ m_256qam[171] = gr_complex( -5 / normalization, 13 / normalization);
+ m_256qam[172] = gr_complex( -7 / normalization, 9 / normalization);
+ m_256qam[173] = gr_complex( -7 / normalization, 11 / normalization);
+ m_256qam[174] = gr_complex( -5 / normalization, 9 / normalization);
+ m_256qam[175] = gr_complex( -5 / normalization, 11 / normalization);
+ m_256qam[176] = gr_complex( -1 / normalization, 1 / normalization);
+ m_256qam[177] = gr_complex( -1 / normalization, 3 / normalization);
+ m_256qam[178] = gr_complex( -3 / normalization, 1 / normalization);
+ m_256qam[179] = gr_complex( -3 / normalization, 3 / normalization);
+ m_256qam[180] = gr_complex( -1 / normalization, 7 / normalization);
+ m_256qam[181] = gr_complex( -1 / normalization, 5 / normalization);
+ m_256qam[182] = gr_complex( -3 / normalization, 7 / normalization);
+ m_256qam[183] = gr_complex( -3 / normalization, 5 / normalization);
+ m_256qam[184] = gr_complex( -7 / normalization, 1 / normalization);
+ m_256qam[185] = gr_complex( -7 / normalization, 3 / normalization);
+ m_256qam[186] = gr_complex( -5 / normalization, 1 / normalization);
+ m_256qam[187] = gr_complex( -5 / normalization, 3 / normalization);
+ m_256qam[188] = gr_complex( -7 / normalization, 7 / normalization);
+ m_256qam[189] = gr_complex( -7 / normalization, 5 / normalization);
+ m_256qam[190] = gr_complex( -5 / normalization, 7 / normalization);
+ m_256qam[191] = gr_complex( -5 / normalization, 5 / normalization);
+ m_256qam[192] = gr_complex(-15 / normalization, -15 / normalization);
+ m_256qam[193] = gr_complex(-15 / normalization, -13 / normalization);
+ m_256qam[194] = gr_complex(-13 / normalization, -15 / normalization);
+ m_256qam[195] = gr_complex(-13 / normalization, -13 / normalization);
+ m_256qam[196] = gr_complex(-15 / normalization, -9 / normalization);
+ m_256qam[197] = gr_complex(-15 / normalization, -11 / normalization);
+ m_256qam[198] = gr_complex(-13 / normalization, -9 / normalization);
+ m_256qam[199] = gr_complex(-13 / normalization, -11 / normalization);
+ m_256qam[200] = gr_complex( -9 / normalization, -15 / normalization);
+ m_256qam[201] = gr_complex( -9 / normalization, -13 / normalization);
+ m_256qam[202] = gr_complex(-11 / normalization, -15 / normalization);
+ m_256qam[203] = gr_complex(-11 / normalization, -13 / normalization);
+ m_256qam[204] = gr_complex( -9 / normalization, -9 / normalization);
+ m_256qam[205] = gr_complex( -9 / normalization, -11 / normalization);
+ m_256qam[206] = gr_complex(-11 / normalization, -9 / normalization);
+ m_256qam[207] = gr_complex(-11 / normalization, -11 / normalization);
+ m_256qam[208] = gr_complex(-15 / normalization, -1 / normalization);
+ m_256qam[209] = gr_complex(-15 / normalization, -3 / normalization);
+ m_256qam[210] = gr_complex(-13 / normalization, -1 / normalization);
+ m_256qam[211] = gr_complex(-13 / normalization, -3 / normalization);
+ m_256qam[212] = gr_complex(-15 / normalization, -7 / normalization);
+ m_256qam[213] = gr_complex(-15 / normalization, -5 / normalization);
+ m_256qam[214] = gr_complex(-13 / normalization, -7 / normalization);
+ m_256qam[215] = gr_complex(-13 / normalization, -5 / normalization);
+ m_256qam[216] = gr_complex( -9 / normalization, -1 / normalization);
+ m_256qam[217] = gr_complex( -9 / normalization, -3 / normalization);
+ m_256qam[218] = gr_complex(-11 / normalization, -1 / normalization);
+ m_256qam[219] = gr_complex(-11 / normalization, -3 / normalization);
+ m_256qam[220] = gr_complex( -9 / normalization, -7 / normalization);
+ m_256qam[221] = gr_complex( -9 / normalization, -5 / normalization);
+ m_256qam[222] = gr_complex(-11 / normalization, -7 / normalization);
+ m_256qam[223] = gr_complex(-11 / normalization, -5 / normalization);
+ m_256qam[224] = gr_complex( -1 / normalization, -15 / normalization);
+ m_256qam[225] = gr_complex( -1 / normalization, -13 / normalization);
+ m_256qam[226] = gr_complex( -3 / normalization, -15 / normalization);
+ m_256qam[227] = gr_complex( -3 / normalization, -13 / normalization);
+ m_256qam[228] = gr_complex( -1 / normalization, -9 / normalization);
+ m_256qam[229] = gr_complex( -1 / normalization, -11 / normalization);
+ m_256qam[230] = gr_complex( -3 / normalization, -9 / normalization);
+ m_256qam[231] = gr_complex( -3 / normalization, -11 / normalization);
+ m_256qam[232] = gr_complex( -7 / normalization, -15 / normalization);
+ m_256qam[233] = gr_complex( -7 / normalization, -13 / normalization);
+ m_256qam[234] = gr_complex( -5 / normalization, -15 / normalization);
+ m_256qam[235] = gr_complex( -5 / normalization, -13 / normalization);
+ m_256qam[236] = gr_complex( -7 / normalization, -9 / normalization);
+ m_256qam[237] = gr_complex( -7 / normalization, -11 / normalization);
+ m_256qam[238] = gr_complex( -5 / normalization, -9 / normalization);
+ m_256qam[239] = gr_complex( -5 / normalization, -11 / normalization);
+ m_256qam[240] = gr_complex( -1 / normalization, -1 / normalization);
+ m_256qam[241] = gr_complex( -1 / normalization, -3 / normalization);
+ m_256qam[242] = gr_complex( -3 / normalization, -1 / normalization);
+ m_256qam[243] = gr_complex( -3 / normalization, -3 / normalization);
+ m_256qam[244] = gr_complex( -1 / normalization, -7 / normalization);
+ m_256qam[245] = gr_complex( -1 / normalization, -5 / normalization);
+ m_256qam[246] = gr_complex( -3 / normalization, -7 / normalization);
+ m_256qam[247] = gr_complex( -3 / normalization, -5 / normalization);
+ m_256qam[248] = gr_complex( -7 / normalization, -1 / normalization);
+ m_256qam[249] = gr_complex( -7 / normalization, -3 / normalization);
+ m_256qam[250] = gr_complex( -5 / normalization, -1 / normalization);
+ m_256qam[251] = gr_complex( -5 / normalization, -3 / normalization);
+ m_256qam[252] = gr_complex( -7 / normalization, -7 / normalization);
+ m_256qam[253] = gr_complex( -7 / normalization, -5 / normalization);
+ m_256qam[254] = gr_complex( -5 / normalization, -7 / normalization);
+ m_256qam[255] = gr_complex( -5 / normalization, -5 / normalization);
if (rotation == ROTATION_ON) {
cyclic_delay = TRUE;
- rotation_angle = (2.0 * M_PI * 3.576334375) / 360;
+ rotation_angle = (2.0 * M_PI * 3.576334375) / 360.0;
+ temp = std::exp(gr_complexd(0.0, rotation_angle));
for (int i = 0; i < 256; i++) {
- m_temp[0].real() = m_256qam[i].real();
- m_256qam[i].real() = (m_256qam[i].real() * cos(rotation_angle)) - (m_256qam[i].imag() * sin(rotation_angle));
- m_256qam[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_256qam[i].imag() * cos(rotation_angle));
+ m_256qam[i] *= temp;
}
}
break;
default:
- normalization = sqrt(2);
- m_qpsk[0].real() = 1.0 / normalization;
- m_qpsk[0].imag() = 1.0 / normalization;
- m_qpsk[1].real() = 1.0 / normalization;
- m_qpsk[1].imag() = -1.0 / normalization;
- m_qpsk[2].real() = -1.0 / normalization;
- m_qpsk[2].imag() = 1.0 / normalization;
- m_qpsk[3].real() = -1.0 / normalization;
- m_qpsk[3].imag() = -1.0 / normalization;
+ normalization = std::sqrt(2.0);
+ m_qpsk[0] = gr_complex( 1.0 / normalization, 1.0 / normalization);
+ m_qpsk[1] = gr_complex( 1.0 / normalization, -1.0 / normalization);
+ m_qpsk[2] = gr_complex(-1.0 / normalization, 1.0 / normalization);
+ m_qpsk[3] = gr_complex(-1.0 / normalization, -1.0 / normalization);
if (rotation == ROTATION_ON) {
cyclic_delay = TRUE;
- rotation_angle = (2.0 * M_PI * 29.0) / 360;
+ rotation_angle = (2.0 * M_PI * 29.0) / 360.0;
+ temp = std::exp(gr_complexd(0.0, rotation_angle));
for (int i = 0; i < 4; i++) {
- m_temp[0].real() = m_qpsk[i].real();
- m_qpsk[i].real() = (m_qpsk[i].real() * cos(rotation_angle)) - (m_qpsk[i].imag() * sin(rotation_angle));
- m_qpsk[i].imag() = (m_temp[0].real() * sin(rotation_angle)) + (m_qpsk[i].imag() * cos(rotation_angle));
+ m_qpsk[i] *= temp;
}
}
break;
@@ -861,7 +512,6 @@ namespace gr {
const unsigned char *in = (const unsigned char *) input_items[0];
gr_complex *out = (gr_complex *) output_items[0];
const unsigned char *in_delay;
- gr_complex f_temp[1], g_temp[1];
int index, index_delay;
switch (signal_constellation) {
@@ -878,10 +528,8 @@ namespace gr {
for (int j = 0; j < cell_size; j++) {
index = *in++;
index_delay = in_delay[(j + cell_size - 1) % cell_size];
- f_temp[0] = m_qpsk[index & 0x3];
- g_temp[0] = m_qpsk[index_delay & 0x3];
- f_temp[0].imag() = g_temp[0].imag();
- *out++ = f_temp[0];
+ *out++ = gr_complex(m_qpsk[index & 0x3].real(),
+ m_qpsk[index_delay & 0x3].imag());
}
}
}
@@ -899,10 +547,8 @@ namespace gr {
for (int j = 0; j < cell_size; j++) {
index = *in++;
index_delay = in_delay[(j + cell_size - 1) % cell_size];
- f_temp[0] = m_16qam[index & 0xf];
- g_temp[0] = m_16qam[index_delay & 0xf];
- f_temp[0].imag() = g_temp[0].imag();
- *out++ = f_temp[0];
+ *out++ = gr_complex(m_16qam[index & 0xf].real(),
+ m_16qam[index_delay & 0xf].imag());
}
}
}
@@ -920,10 +566,8 @@ namespace gr {
for (int j = 0; j < cell_size; j++) {
index = *in++;
index_delay = in_delay[(j + cell_size - 1) % cell_size];
- f_temp[0] = m_64qam[index & 0x3f];
- g_temp[0] = m_64qam[index_delay & 0x3f];
- f_temp[0].imag() = g_temp[0].imag();
- *out++ = f_temp[0];
+ *out++ = gr_complex(m_64qam[index & 0x3f].real(),
+ m_64qam[index_delay & 0x3f].imag());
}
}
}
@@ -941,10 +585,8 @@ namespace gr {
for (int j = 0; j < cell_size; j++) {
index = *in++;
index_delay = in_delay[(j + cell_size - 1) % cell_size];
- f_temp[0] = m_256qam[index & 0xff];
- g_temp[0] = m_256qam[index_delay & 0xff];
- f_temp[0].imag() = g_temp[0].imag();
- *out++ = f_temp[0];
+ *out++ = gr_complex(m_256qam[index & 0xff].real(),
+ m_256qam[index_delay & 0xff].imag());
}
}
}