commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 38/43: dtv: redo c++0x complaint std::compl


From: git
Subject: [Commit-gnuradio] [gnuradio] 38/43: dtv: redo c++0x complaint std::complex to be c++11 compliant; works on OSX with GCC (4.2 and 4.8, using listdc++) and Clang (LLVM 3.4 and 3.6, using libc++), with and without -std=c++11.
Date: Thu, 2 Apr 2015 19:15:52 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit 094c890c070e9a0d46da390aba1e36f344ede008
Author: Michael Dickens <address@hidden>
Date:   Thu Apr 2 14:57:35 2015 -0400

    dtv: redo c++0x complaint std::complex to be c++11 compliant; works on OSX 
with GCC (4.2 and 4.8, using listdc++) and Clang (LLVM 3.4 and 3.6, using 
libc++), with and without -std=c++11.
---
 gr-dtv/lib/dvbs2/dvbs2_modulator_bc_impl.cc      | 3828 ++++++++--------------
 gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.cc       |   59 +-
 gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.h        |    2 +-
 gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.cc    |  277 +-
 gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.h     |    2 +-
 gr-dtv/lib/dvbt2/dvbt2_miso_cc_impl.cc           |   12 +-
 gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc      | 1104 +++----
 gr-dtv/lib/dvbt2/dvbt2_p1insertion_cc_impl.cc    |   13 +-
 gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc         |   51 +-
 gr-dtv/lib/dvbt2/dvbt2_pilotgenerator_cc_impl.cc |  208 +-
 10 files changed, 1860 insertions(+), 3696 deletions(-)

diff --git a/gr-dtv/lib/dvbs2/dvbs2_modulator_bc_impl.cc 
b/gr-dtv/lib/dvbs2/dvbs2_modulator_bc_impl.cc
index 56e2fd0..c8579d1 100644
--- a/gr-dtv/lib/dvbs2/dvbs2_modulator_bc_impl.cc
+++ b/gr-dtv/lib/dvbs2/dvbs2_modulator_bc_impl.cc
@@ -48,32 +48,20 @@ namespace gr {
       r1 = m;
       switch (constellation) {
         case MOD_QPSK:
-          m_qpsk[0].real() = (r1 * cos(M_PI / 4.0));
-          m_qpsk[0].imag() = (r1 * sin(M_PI / 4.0));
-          m_qpsk[1].real() = (r1 * cos(7 * M_PI / 4.0));
-          m_qpsk[1].imag() = (r1 * sin(7 * M_PI / 4.0));
-          m_qpsk[2].real() = (r1 * cos(3 * M_PI / 4.0));
-          m_qpsk[2].imag() = (r1 * sin(3 * M_PI / 4.0));
-          m_qpsk[3].real() = (r1 * cos(5 * M_PI / 4.0));
-          m_qpsk[3].imag() = (r1 * sin(5 * M_PI / 4.0));
+          m_qpsk[0] = gr_complex((r1 * cos(M_PI / 4.0)), (r1 * sin(M_PI / 
4.0)));
+          m_qpsk[1] = gr_complex((r1 * cos(7 * M_PI / 4.0)), (r1 * sin(7 * 
M_PI / 4.0)));
+          m_qpsk[2] = gr_complex((r1 * cos(3 * M_PI / 4.0)), (r1 * sin(3 * 
M_PI / 4.0)));
+          m_qpsk[3] = gr_complex((r1 * cos(5 * M_PI / 4.0)), (r1 * sin(5 * 
M_PI / 4.0)));
           break;
         case MOD_8PSK:
-          m_8psk[0].real() = (r1 * cos(M_PI / 4.0));
-          m_8psk[0].imag() = (r1 * sin(M_PI / 4.0));
-          m_8psk[1].real() = (r1 * cos(0.0));
-          m_8psk[1].imag() = (r1 * sin(0.0));
-          m_8psk[2].real() = (r1 * cos(4 * M_PI / 4.0));
-          m_8psk[2].imag() = (r1 * sin(4 * M_PI / 4.0));
-          m_8psk[3].real() = (r1 * cos(5 * M_PI / 4.0));
-          m_8psk[3].imag() = (r1 * sin(5 * M_PI / 4.0));
-          m_8psk[4].real() = (r1 * cos(2 * M_PI / 4.0));
-          m_8psk[4].imag() = (r1 * sin(2 * M_PI / 4.0));
-          m_8psk[5].real() = (r1 * cos(7 * M_PI / 4.0));
-          m_8psk[5].imag() = (r1 * sin(7 * M_PI / 4.0));
-          m_8psk[6].real() = (r1 * cos(3 * M_PI / 4.0));
-          m_8psk[6].imag() = (r1 * sin(3 * M_PI / 4.0));
-          m_8psk[7].real() = (r1 * cos(6 * M_PI / 4.0));
-          m_8psk[7].imag() = (r1 * sin(6 * M_PI / 4.0));
+          m_8psk[0] = gr_complex((r1 * cos(M_PI / 4.0)), (r1 * sin(M_PI / 
4.0)));
+          m_8psk[1] = gr_complex((r1 * cos(0.0)), (r1 * sin(0.0)));
+          m_8psk[2] = gr_complex((r1 * cos(4 * M_PI / 4.0)), (r1 * sin(4 * 
M_PI / 4.0)));
+          m_8psk[3] = gr_complex((r1 * cos(5 * M_PI / 4.0)), (r1 * sin(5 * 
M_PI / 4.0)));
+          m_8psk[4] = gr_complex((r1 * cos(2 * M_PI / 4.0)), (r1 * sin(2 * 
M_PI / 4.0)));
+          m_8psk[5] = gr_complex((r1 * cos(7 * M_PI / 4.0)), (r1 * sin(7 * 
M_PI / 4.0)));
+          m_8psk[6] = gr_complex((r1 * cos(3 * M_PI / 4.0)), (r1 * sin(3 * 
M_PI / 4.0)));
+          m_8psk[7] = gr_complex((r1 * cos(6 * M_PI / 4.0)), (r1 * sin(6 * 
M_PI / 4.0)));
           break;
         case MOD_8APSK:
           r3 = m;
@@ -91,22 +79,14 @@ namespace gr {
               r2 = 0;
               break;
           }
-          m_8psk[0].real() = (r1 * cos(M_PI));
-          m_8psk[0].imag() = (r1 * sin(M_PI));
-          m_8psk[1].real() = (r2 * cos(M_PI * 1.352));
-          m_8psk[1].imag() = (r2 * sin(M_PI * 1.352));
-          m_8psk[2].real() = (r2 * cos(M_PI * -1.352));
-          m_8psk[2].imag() = (r2 * sin(M_PI * -1.352));
-          m_8psk[3].real() = (r3 * cos(M_PI));
-          m_8psk[3].imag() = (r3 * sin(M_PI));
-          m_8psk[4].real() = (r1 * cos(0.0));
-          m_8psk[4].imag() = (r1 * sin(0.0));
-          m_8psk[5].real() = (r2 * cos(M_PI * -0.352));
-          m_8psk[5].imag() = (r2 * sin(M_PI * -0.352));
-          m_8psk[6].real() = (r2 * cos(M_PI * 0.352));
-          m_8psk[6].imag() = (r2 * sin(M_PI * 0.352));
-          m_8psk[7].real() = (r3 * cos(0.0));
-          m_8psk[7].imag() = (r3 * sin(0.0));
+          m_8psk[0] = gr_complex((r1 * cos(M_PI)), (r1 * sin(M_PI)));
+          m_8psk[1] = gr_complex((r2 * cos(M_PI * 1.352)), (r2 * sin(M_PI * 
1.352)));
+          m_8psk[2] = gr_complex((r2 * cos(M_PI * -1.352)), (r2 * sin(M_PI * 
-1.352)));
+          m_8psk[3] = gr_complex((r3 * cos(M_PI)), (r3 * sin(M_PI)));
+          m_8psk[4] = gr_complex((r1 * cos(0.0)), (r1 * sin(0.0)));
+          m_8psk[5] = gr_complex((r2 * cos(M_PI * -0.352)), (r2 * sin(M_PI * 
-0.352)));
+          m_8psk[6] = gr_complex((r2 * cos(M_PI * 0.352)), (r2 * sin(M_PI * 
0.352)));
+          m_8psk[7] = gr_complex((r3 * cos(0.0)), (r3 * sin(0.0)));
           break;
         case MOD_16APSK:
           r2 = m;
@@ -190,114 +170,64 @@ namespace gr {
                 break;
             }
           }
-          m_16apsk[0].real()  = (r2 * cos(M_PI / 4.0));
-          m_16apsk[0].imag()  = (r2 * sin(M_PI / 4.0));
-          m_16apsk[1].real()  = (r2 * cos(-M_PI / 4.0));
-          m_16apsk[1].imag()  = (r2 * sin(-M_PI / 4.0));
-          m_16apsk[2].real()  = (r2 * cos(3 * M_PI / 4.0));
-          m_16apsk[2].imag()  = (r2 * sin(3 * M_PI / 4.0));
-          m_16apsk[3].real()  = (r2 * cos(-3 * M_PI / 4.0));
-          m_16apsk[3].imag()  = (r2 * sin(-3 * M_PI / 4.0));
-          m_16apsk[4].real()  = (r2 * cos(M_PI / 12.0));
-          m_16apsk[4].imag()  = (r2 * sin(M_PI / 12.0));
-          m_16apsk[5].real()  = (r2 * cos(-M_PI / 12.0));
-          m_16apsk[5].imag()  = (r2 * sin(-M_PI / 12.0));
-          m_16apsk[6].real()  = (r2 * cos(11 * M_PI / 12.0));
-          m_16apsk[6].imag()  = (r2 * sin(11 * M_PI / 12.0));
-          m_16apsk[7].real()  = (r2 * cos(-11 * M_PI / 12.0));
-          m_16apsk[7].imag()  = (r2 * sin(-11 * M_PI / 12.0));
-          m_16apsk[8].real()  = (r2 * cos(5 * M_PI / 12.0));
-          m_16apsk[8].imag()  = (r2 * sin(5 * M_PI / 12.0));
-          m_16apsk[9].real()  = (r2 * cos(-5 * M_PI / 12.0));
-          m_16apsk[9].imag()  = (r2 * sin(-5 * M_PI / 12.0));
-          m_16apsk[10].real() = (r2 * cos(7 * M_PI / 12.0));
-          m_16apsk[10].imag() = (r2 * sin(7 * M_PI / 12.0));
-          m_16apsk[11].real() = (r2 * cos(-7 * M_PI / 12.0));
-          m_16apsk[11].imag() = (r2 * sin(-7 * M_PI / 12.0));
-          m_16apsk[12].real() = (r1 * cos(M_PI / 4.0));
-          m_16apsk[12].imag() = (r1 * sin(M_PI / 4.0));
-          m_16apsk[13].real() = (r1 * cos(-M_PI / 4.0));
-          m_16apsk[13].imag() = (r1 * sin(-M_PI / 4.0));
-          m_16apsk[14].real() = (r1 * cos(3 * M_PI / 4.0));
-          m_16apsk[14].imag() = (r1 * sin(3 * M_PI / 4.0));
-          m_16apsk[15].real() = (r1 * cos(-3 * M_PI / 4.0));
-          m_16apsk[15].imag() = (r1 * sin(-3 * M_PI / 4.0));
+          m_16apsk[0] = gr_complex((r2 * cos(M_PI / 4.0)), (r2 * sin(M_PI / 
4.0)));
+          m_16apsk[1] = gr_complex((r2 * cos(-M_PI / 4.0)), (r2 * sin(-M_PI / 
4.0)));
+          m_16apsk[2] = gr_complex((r2 * cos(3 * M_PI / 4.0)), (r2 * sin(3 * 
M_PI / 4.0)));
+          m_16apsk[3] = gr_complex((r2 * cos(-3 * M_PI / 4.0)), (r2 * sin(-3 * 
M_PI / 4.0)));
+          m_16apsk[4] = gr_complex((r2 * cos(M_PI / 12.0)), (r2 * sin(M_PI / 
12.0)));
+          m_16apsk[5] = gr_complex((r2 * cos(-M_PI / 12.0)), (r2 * sin(-M_PI / 
12.0)));
+          m_16apsk[6] = gr_complex((r2 * cos(11 * M_PI / 12.0)), (r2 * sin(11 
* M_PI / 12.0)));
+          m_16apsk[7] = gr_complex((r2 * cos(-11 * M_PI / 12.0)), (r2 * 
sin(-11 * M_PI / 12.0)));
+          m_16apsk[8] = gr_complex((r2 * cos(5 * M_PI / 12.0)), (r2 * sin(5 * 
M_PI / 12.0)));
+          m_16apsk[9] = gr_complex((r2 * cos(-5 * M_PI / 12.0)), (r2 * sin(-5 
* M_PI / 12.0)));
+          m_16apsk[10] = gr_complex((r2 * cos(7 * M_PI / 12.0)), (r2 * sin(7 * 
M_PI / 12.0)));
+          m_16apsk[11] = gr_complex((r2 * cos(-7 * M_PI / 12.0)), (r2 * sin(-7 
* M_PI / 12.0)));
+          m_16apsk[12] = gr_complex((r1 * cos(M_PI / 4.0)), (r1 * sin(M_PI / 
4.0)));
+          m_16apsk[13] = gr_complex((r1 * cos(-M_PI / 4.0)), (r1 * sin(-M_PI / 
4.0)));
+          m_16apsk[14] = gr_complex((r1 * cos(3 * M_PI / 4.0)), (r1 * sin(3 * 
M_PI / 4.0)));
+          m_16apsk[15] = gr_complex((r1 * cos(-3 * M_PI / 4.0)), (r1 * sin(-3 
* M_PI / 4.0)));
           break;
         case MOD_8_8APSK:
           if (rate == C18_30) {
-            m_16apsk[0].real()  = 0.4718;
-            m_16apsk[0].imag()  = 0.2606;
-            m_16apsk[1].real()  = 0.2606;
-            m_16apsk[1].imag()  = 0.4718;
-            m_16apsk[2].real()  = -0.4718;
-            m_16apsk[2].imag()  = 0.2606;
-            m_16apsk[3].real()  = -0.2606;
-            m_16apsk[3].imag()  = 0.4718;
-            m_16apsk[4].real()  = 0.4718;
-            m_16apsk[4].imag()  = -0.2606;
-            m_16apsk[5].real()  = 0.2606;
-            m_16apsk[5].imag()  = -0.4718;
-            m_16apsk[6].real()  = -0.4718;
-            m_16apsk[6].imag()  = -0.2606;
-            m_16apsk[7].real()  = -0.2606;
-            m_16apsk[7].imag()  = -0.4718;
-            m_16apsk[8].real()  = 1.2088;
-            m_16apsk[8].imag()  = 0.4984;
-            m_16apsk[9].real()  = 0.4984;
-            m_16apsk[9].imag()  = 1.2088;
-            m_16apsk[10].real() = -1.2088;
-            m_16apsk[10].imag() = 0.4984;
-            m_16apsk[11].real() = -0.4984;
-            m_16apsk[11].imag() = 1.2088;
-            m_16apsk[12].real() = 1.2088;
-            m_16apsk[12].imag() = -0.4984;
-            m_16apsk[13].real() = 0.4984;
-            m_16apsk[13].imag() = -1.2088;
-            m_16apsk[14].real() = -1.2088;
-            m_16apsk[14].imag() = -0.4984;
-            m_16apsk[15].real() = -0.4984;
-            m_16apsk[15].imag() = -1.2088;
+            m_16apsk[0] = gr_complex(0.4718, 0.2606);
+            m_16apsk[1] = gr_complex(0.2606, 0.4718);
+            m_16apsk[2] = gr_complex(-0.4718, 0.2606);
+            m_16apsk[3] = gr_complex(-0.2606, 0.4718);
+            m_16apsk[4] = gr_complex(0.4718, -0.2606);
+            m_16apsk[5] = gr_complex(0.2606, -0.4718);
+            m_16apsk[6] = gr_complex(-0.4718, -0.2606);
+            m_16apsk[7] = gr_complex(-0.2606, -0.4718);
+            m_16apsk[8] = gr_complex(1.2088, 0.4984);
+            m_16apsk[9] = gr_complex(0.4984, 1.2088);
+            m_16apsk[10] = gr_complex(-1.2088, 0.4984);
+            m_16apsk[11] = gr_complex(-0.4984, 1.2088);
+            m_16apsk[12] = gr_complex(1.2088, -0.4984);
+            m_16apsk[13] = gr_complex(0.4984, -1.2088);
+            m_16apsk[14] = gr_complex(-1.2088, -0.4984);
+            m_16apsk[15] = gr_complex(-0.4984, -1.2088);
             for (int i = 0; i < 16; i++) {
-              m_16apsk[i].real() /= 1.2088;
-              m_16apsk[i].imag() /= 1.2088;
+              m_16apsk[i] /= 1.2088;
             }
           }
           else if (rate == C20_30) {
-            m_16apsk[0].real()  = 0.5061;
-            m_16apsk[0].imag()  = 0.2474;
-            m_16apsk[1].real()  = 0.2474;
-            m_16apsk[1].imag()  = 0.5061;
-            m_16apsk[2].real()  = -0.5061;
-            m_16apsk[2].imag()  = 0.2474;
-            m_16apsk[3].real()  = -0.2474;
-            m_16apsk[3].imag()  = 0.5061;
-            m_16apsk[4].real()  = 0.5061;
-            m_16apsk[4].imag()  = -0.2474;
-            m_16apsk[5].real()  = 0.2474;
-            m_16apsk[5].imag()  = -0.5061;
-            m_16apsk[6].real()  = -0.5061;
-            m_16apsk[6].imag()  = -0.2474;
-            m_16apsk[7].real()  = -0.2474;
-            m_16apsk[7].imag()  = -0.5061;
-            m_16apsk[8].real()  = 1.2007;
-            m_16apsk[8].imag()  = 0.4909;
-            m_16apsk[9].real()  = 0.4909;
-            m_16apsk[9].imag()  = 1.2007;
-            m_16apsk[10].real() = -1.2007;
-            m_16apsk[10].imag() = 0.4909;
-            m_16apsk[11].real() = -0.4909;
-            m_16apsk[11].imag() = 1.2007;
-            m_16apsk[12].real() = 1.2007;
-            m_16apsk[12].imag() = -0.4909;
-            m_16apsk[13].real() = 0.4909;
-            m_16apsk[13].imag() = -1.2007;
-            m_16apsk[14].real() = -1.2007;
-            m_16apsk[14].imag() = -0.4909;
-            m_16apsk[15].real() = -0.4909;
-            m_16apsk[15].imag() = -1.2007;
+            m_16apsk[0] = gr_complex(0.5061, 0.2474);
+            m_16apsk[1] = gr_complex(0.2474, 0.5061);
+            m_16apsk[2] = gr_complex(-0.5061, 0.2474);
+            m_16apsk[3] = gr_complex(-0.2474, 0.5061);
+            m_16apsk[4] = gr_complex(0.5061, -0.2474);
+            m_16apsk[5] = gr_complex(0.2474, -0.5061);
+            m_16apsk[6] = gr_complex(-0.5061, -0.2474);
+            m_16apsk[7] = gr_complex(-0.2474, -0.5061);
+            m_16apsk[8] = gr_complex(1.2007, 0.4909);
+            m_16apsk[9] = gr_complex(0.4909, 1.2007);
+            m_16apsk[10] = gr_complex(-1.2007, 0.4909);
+            m_16apsk[11] = gr_complex(-0.4909, 1.2007);
+            m_16apsk[12] = gr_complex(1.2007, -0.4909);
+            m_16apsk[13] = gr_complex(0.4909, -1.2007);
+            m_16apsk[14] = gr_complex(-1.2007, -0.4909);
+            m_16apsk[15] = gr_complex(-0.4909, -1.2007);
             for (int i = 0; i < 16; i++) {
-              m_16apsk[i].real() /= 1.2007;
-              m_16apsk[i].imag() /= 1.2007;
+              m_16apsk[i] /= 1.2007;
             }
           }
           else {
@@ -312,38 +242,22 @@ namespace gr {
                 r1 = 0;
                 break;
             }
-            m_16apsk[0].real()  = (r1 * cos(M_PI / 8.0));
-            m_16apsk[0].imag()  = (r1 * sin(M_PI / 8.0));
-            m_16apsk[1].real()  = (r1 * cos(3 * M_PI / 8.0));
-            m_16apsk[1].imag()  = (r1 * sin(3 * M_PI / 8.0));
-            m_16apsk[2].real()  = (r1 * cos(7 * M_PI / 8.0));
-            m_16apsk[2].imag()  = (r1 * sin(7 * M_PI / 8.0));
-            m_16apsk[3].real()  = (r1 * cos(5 * M_PI / 8.0));
-            m_16apsk[3].imag()  = (r1 * sin(5 * M_PI / 8.0));
-            m_16apsk[4].real()  = (r1 * cos(15 * M_PI / 8.0));
-            m_16apsk[4].imag()  = (r1 * sin(15 * M_PI / 8.0));
-            m_16apsk[5].real()  = (r1 * cos(13 * M_PI / 8.0));
-            m_16apsk[5].imag()  = (r1 * sin(13 * M_PI / 8.0));
-            m_16apsk[6].real()  = (r1 * cos(9 * M_PI / 8.0));
-            m_16apsk[6].imag()  = (r1 * sin(9 * M_PI / 8.0));
-            m_16apsk[7].real()  = (r1 * cos(11 * M_PI / 8.0));
-            m_16apsk[7].imag()  = (r1 * sin(11 * M_PI / 8.0));
-            m_16apsk[8].real()  = (r2 * cos(M_PI / 8.0));
-            m_16apsk[8].imag()  = (r2 * sin(M_PI / 8.0));
-            m_16apsk[9].real()  = (r2 * cos(3 * M_PI / 8.0));
-            m_16apsk[9].imag()  = (r2 * sin(3 * M_PI / 8.0));
-            m_16apsk[10].real() = (r2 * cos(7 * M_PI / 8.0));
-            m_16apsk[10].imag() = (r2 * sin(7 * M_PI / 8.0));
-            m_16apsk[11].real() = (r2 * cos(5 * M_PI / 8.0));
-            m_16apsk[11].imag() = (r2 * sin(5 * M_PI / 8.0));
-            m_16apsk[12].real() = (r2 * cos(15 * M_PI / 8.0));
-            m_16apsk[12].imag() = (r2 * sin(15 * M_PI / 8.0));
-            m_16apsk[13].real() = (r2 * cos(13 * M_PI / 8.0));
-            m_16apsk[13].imag() = (r2 * sin(13 * M_PI / 8.0));
-            m_16apsk[14].real() = (r2 * cos(9 * M_PI / 8.0));
-            m_16apsk[14].imag() = (r2 * sin(9 * M_PI / 8.0));
-            m_16apsk[15].real() = (r2 * cos(11 * M_PI / 8.0));
-            m_16apsk[15].imag() = (r2 * sin(11 * M_PI / 8.0));
+            m_16apsk[0] = gr_complex((r1 * cos(M_PI / 8.0)), (r1 * sin(M_PI / 
8.0)));
+            m_16apsk[1] = gr_complex((r1 * cos(3 * M_PI / 8.0)), (r1 * sin(3 * 
M_PI / 8.0)));
+            m_16apsk[2] = gr_complex((r1 * cos(7 * M_PI / 8.0)), (r1 * sin(7 * 
M_PI / 8.0)));
+            m_16apsk[3] = gr_complex((r1 * cos(5 * M_PI / 8.0)), (r1 * sin(5 * 
M_PI / 8.0)));
+            m_16apsk[4] = gr_complex((r1 * cos(15 * M_PI / 8.0)), (r1 * sin(15 
* M_PI / 8.0)));
+            m_16apsk[5] = gr_complex((r1 * cos(13 * M_PI / 8.0)), (r1 * sin(13 
* M_PI / 8.0)));
+            m_16apsk[6] = gr_complex((r1 * cos(9 * M_PI / 8.0)), (r1 * sin(9 * 
M_PI / 8.0)));
+            m_16apsk[7] = gr_complex((r1 * cos(11 * M_PI / 8.0)), (r1 * sin(11 
* M_PI / 8.0)));
+            m_16apsk[8] = gr_complex((r2 * cos(M_PI / 8.0)), (r2 * sin(M_PI / 
8.0)));
+            m_16apsk[9] = gr_complex((r2 * cos(3 * M_PI / 8.0)), (r2 * sin(3 * 
M_PI / 8.0)));
+            m_16apsk[10] = gr_complex((r2 * cos(7 * M_PI / 8.0)), (r2 * sin(7 
* M_PI / 8.0)));
+            m_16apsk[11] = gr_complex((r2 * cos(5 * M_PI / 8.0)), (r2 * sin(5 
* M_PI / 8.0)));
+            m_16apsk[12] = gr_complex((r2 * cos(15 * M_PI / 8.0)), (r2 * 
sin(15 * M_PI / 8.0)));
+            m_16apsk[13] = gr_complex((r2 * cos(13 * M_PI / 8.0)), (r2 * 
sin(13 * M_PI / 8.0)));
+            m_16apsk[14] = gr_complex((r2 * cos(9 * M_PI / 8.0)), (r2 * sin(9 
* M_PI / 8.0)));
+            m_16apsk[15] = gr_complex((r2 * cos(11 * M_PI / 8.0)), (r2 * 
sin(11 * M_PI / 8.0)));
           }
           break;
         case MOD_32APSK:
@@ -374,70 +288,38 @@ namespace gr {
               r2 = 0;
               break;
           }
-          m_32apsk[0].real()  = (r2 * cos(M_PI / 4.0));
-          m_32apsk[0].imag()  = (r2 * sin(M_PI / 4.0));
-          m_32apsk[1].real()  = (r2 * cos(5 * M_PI / 12.0));
-          m_32apsk[1].imag()  = (r2 * sin(5 * M_PI / 12.0));
-          m_32apsk[2].real()  = (r2 * cos(-M_PI / 4.0));
-          m_32apsk[2].imag()  = (r2 * sin(-M_PI / 4.0));
-          m_32apsk[3].real()  = (r2 * cos(-5 * M_PI / 12.0));
-          m_32apsk[3].imag()  = (r2 * sin(-5 * M_PI / 12.0));
-          m_32apsk[4].real()  = (r2 * cos(3 * M_PI / 4.0));
-          m_32apsk[4].imag()  = (r2 * sin(3 * M_PI / 4.0));
-          m_32apsk[5].real()  = (r2 * cos(7 * M_PI / 12.0));
-          m_32apsk[5].imag()  = (r2 * sin(7 * M_PI / 12.0));
-          m_32apsk[6].real()  = (r2 * cos(-3 * M_PI / 4.0));
-          m_32apsk[6].imag()  = (r2 * sin(-3 * M_PI / 4.0));
-          m_32apsk[7].real()  = (r2 * cos(-7 * M_PI / 12.0));
-          m_32apsk[7].imag()  = (r2 * sin(-7 * M_PI / 12.0));
-          m_32apsk[8].real()  = (r3 * cos(M_PI / 8.0));
-          m_32apsk[8].imag()  = (r3 * sin(M_PI / 8.0));
-          m_32apsk[9].real()  = (r3 * cos(3 * M_PI / 8.0));
-          m_32apsk[9].imag()  = (r3 * sin(3 * M_PI / 8.0));
-          m_32apsk[10].real() = (r3 * cos(-M_PI / 4.0));
-          m_32apsk[10].imag() = (r3 * sin(-M_PI / 4.0));
-          m_32apsk[11].real() = (r3 * cos(-M_PI / 2.0));
-          m_32apsk[11].imag() = (r3 * sin(-M_PI / 2.0));
-          m_32apsk[12].real() = (r3 * cos(3 * M_PI / 4.0));
-          m_32apsk[12].imag() = (r3 * sin(3 * M_PI / 4.0));
-          m_32apsk[13].real() = (r3 * cos(M_PI / 2.0));
-          m_32apsk[13].imag() = (r3 * sin(M_PI / 2.0));
-          m_32apsk[14].real() = (r3 * cos(-7 * M_PI / 8.0));
-          m_32apsk[14].imag() = (r3 * sin(-7 * M_PI / 8.0));
-          m_32apsk[15].real() = (r3 * cos(-5 * M_PI / 8.0));
-          m_32apsk[15].imag() = (r3 * sin(-5 * M_PI / 8.0));
-          m_32apsk[16].real() = (r2 * cos(M_PI / 12.0));
-          m_32apsk[16].imag() = (r2 * sin(M_PI / 12.0));
-          m_32apsk[17].real() = (r1 * cos(M_PI / 4.0));
-          m_32apsk[17].imag() = (r1 * sin(M_PI / 4.0));
-          m_32apsk[18].real() = (r2 * cos(-M_PI / 12.0));
-          m_32apsk[18].imag() = (r2 * sin(-M_PI / 12.0));
-          m_32apsk[19].real() = (r1 * cos(-M_PI / 4.0));
-          m_32apsk[19].imag() = (r1 * sin(-M_PI / 4.0));
-          m_32apsk[20].real() = (r2 * cos(11 * M_PI / 12.0));
-          m_32apsk[20].imag() = (r2 * sin(11 * M_PI / 12.0));
-          m_32apsk[21].real() = (r1 * cos(3 * M_PI / 4.0));
-          m_32apsk[21].imag() = (r1 * sin(3 * M_PI / 4.0));
-          m_32apsk[22].real() = (r2 * cos(-11 * M_PI / 12.0));
-          m_32apsk[22].imag() = (r2 * sin(-11 * M_PI / 12.0));
-          m_32apsk[23].real() = (r1 * cos(-3 * M_PI / 4.0));
-          m_32apsk[23].imag() = (r1 * sin(-3 * M_PI / 4.0));
-          m_32apsk[24].real() = (r3 * cos(0.0));
-          m_32apsk[24].imag() = (r3 * sin(0.0));
-          m_32apsk[25].real() = (r3 * cos(M_PI / 4.0));
-          m_32apsk[25].imag() = (r3 * sin(M_PI / 4.0));
-          m_32apsk[26].real() = (r3 * cos(-M_PI / 8.0));
-          m_32apsk[26].imag() = (r3 * sin(-M_PI / 8.0));
-          m_32apsk[27].real() = (r3 * cos(-3 * M_PI / 8.0));
-          m_32apsk[27].imag() = (r3 * sin(-3 * M_PI / 8.0));
-          m_32apsk[28].real() = (r3 * cos(7 * M_PI / 8.0));
-          m_32apsk[28].imag() = (r3 * sin(7 * M_PI / 8.0));
-          m_32apsk[29].real() = (r3 * cos(5 * M_PI / 8.0));
-          m_32apsk[29].imag() = (r3 * sin(5 * M_PI / 8.0));
-          m_32apsk[30].real() = (r3 * cos(M_PI));
-          m_32apsk[30].imag() = (r3 * sin(M_PI));
-          m_32apsk[31].real() = (r3 * cos(-3 * M_PI / 4.0));
-          m_32apsk[31].imag() = (r3 * sin(-3 * M_PI / 4.0));
+          m_32apsk[0] = gr_complex((r2 * cos(M_PI / 4.0)), (r2 * sin(M_PI / 
4.0)));
+          m_32apsk[1] = gr_complex((r2 * cos(5 * M_PI / 12.0)), (r2 * sin(5 * 
M_PI / 12.0)));
+          m_32apsk[2] = gr_complex((r2 * cos(-M_PI / 4.0)), (r2 * sin(-M_PI / 
4.0)));
+          m_32apsk[3] = gr_complex((r2 * cos(-5 * M_PI / 12.0)), (r2 * sin(-5 
* M_PI / 12.0)));
+          m_32apsk[4] = gr_complex((r2 * cos(3 * M_PI / 4.0)), (r2 * sin(3 * 
M_PI / 4.0)));
+          m_32apsk[5] = gr_complex((r2 * cos(7 * M_PI / 12.0)), (r2 * sin(7 * 
M_PI / 12.0)));
+          m_32apsk[6] = gr_complex((r2 * cos(-3 * M_PI / 4.0)), (r2 * sin(-3 * 
M_PI / 4.0)));
+          m_32apsk[7] = gr_complex((r2 * cos(-7 * M_PI / 12.0)), (r2 * sin(-7 
* M_PI / 12.0)));
+          m_32apsk[8] = gr_complex((r3 * cos(M_PI / 8.0)), (r3 * sin(M_PI / 
8.0)));
+          m_32apsk[9] = gr_complex((r3 * cos(3 * M_PI / 8.0)), (r3 * sin(3 * 
M_PI / 8.0)));
+          m_32apsk[10] = gr_complex((r3 * cos(-M_PI / 4.0)), (r3 * sin(-M_PI / 
4.0)));
+          m_32apsk[11] = gr_complex((r3 * cos(-M_PI / 2.0)), (r3 * sin(-M_PI / 
2.0)));
+          m_32apsk[12] = gr_complex((r3 * cos(3 * M_PI / 4.0)), (r3 * sin(3 * 
M_PI / 4.0)));
+          m_32apsk[13] = gr_complex((r3 * cos(M_PI / 2.0)), (r3 * sin(M_PI / 
2.0)));
+          m_32apsk[14] = gr_complex((r3 * cos(-7 * M_PI / 8.0)), (r3 * sin(-7 
* M_PI / 8.0)));
+          m_32apsk[15] = gr_complex((r3 * cos(-5 * M_PI / 8.0)), (r3 * sin(-5 
* M_PI / 8.0)));
+          m_32apsk[16] = gr_complex((r2 * cos(M_PI / 12.0)), (r2 * sin(M_PI / 
12.0)));
+          m_32apsk[17] = gr_complex((r1 * cos(M_PI / 4.0)), (r1 * sin(M_PI / 
4.0)));
+          m_32apsk[18] = gr_complex((r2 * cos(-M_PI / 12.0)), (r2 * sin(-M_PI 
/ 12.0)));
+          m_32apsk[19] = gr_complex((r1 * cos(-M_PI / 4.0)), (r1 * sin(-M_PI / 
4.0)));
+          m_32apsk[20] = gr_complex((r2 * cos(11 * M_PI / 12.0)), (r2 * sin(11 
* M_PI / 12.0)));
+          m_32apsk[21] = gr_complex((r1 * cos(3 * M_PI / 4.0)), (r1 * sin(3 * 
M_PI / 4.0)));
+          m_32apsk[22] = gr_complex((r2 * cos(-11 * M_PI / 12.0)), (r2 * 
sin(-11 * M_PI / 12.0)));
+          m_32apsk[23] = gr_complex((r1 * cos(-3 * M_PI / 4.0)), (r1 * sin(-3 
* M_PI / 4.0)));
+          m_32apsk[24] = gr_complex((r3 * cos(0.0)), (r3 * sin(0.0)));
+          m_32apsk[25] = gr_complex((r3 * cos(M_PI / 4.0)), (r3 * sin(M_PI / 
4.0)));
+          m_32apsk[26] = gr_complex((r3 * cos(-M_PI / 8.0)), (r3 * sin(-M_PI / 
8.0)));
+          m_32apsk[27] = gr_complex((r3 * cos(-3 * M_PI / 8.0)), (r3 * sin(-3 
* M_PI / 8.0)));
+          m_32apsk[28] = gr_complex((r3 * cos(7 * M_PI / 8.0)), (r3 * sin(7 * 
M_PI / 8.0)));
+          m_32apsk[29] = gr_complex((r3 * cos(5 * M_PI / 8.0)), (r3 * sin(5 * 
M_PI / 8.0)));
+          m_32apsk[30] = gr_complex((r3 * cos(M_PI)), (r3 * sin(M_PI)));
+          m_32apsk[31] = gr_complex((r3 * cos(-3 * M_PI / 4.0)), (r3 * sin(-3 
* M_PI / 4.0)));
           break;
         case MOD_4_12_16APSK:
           r3 = m;
@@ -469,70 +351,38 @@ namespace gr {
                 break;
             }
           }
-          m_32apsk[0].real()  = (r3 * cos(11 * M_PI / 16.0));
-          m_32apsk[0].imag()  = (r3 * sin(11 * M_PI / 16.0));
-          m_32apsk[1].real()  = (r3 * cos(9 * M_PI / 16.0));
-          m_32apsk[1].imag()  = (r3 * sin(9 * M_PI / 16.0));
-          m_32apsk[2].real()  = (r3 * cos(5 * M_PI / 16.0));
-          m_32apsk[2].imag()  = (r3 * sin(5 * M_PI / 16.0));
-          m_32apsk[3].real()  = (r3 * cos(7 * M_PI / 16.0));
-          m_32apsk[3].imag()  = (r3 * sin(7 * M_PI / 16.0));
-          m_32apsk[4].real()  = (r2 * cos(3 * M_PI / 4.0));
-          m_32apsk[4].imag()  = (r2 * sin(3 * M_PI / 4.0));
-          m_32apsk[5].real()  = (r2 * cos(7 * M_PI / 12.0));
-          m_32apsk[5].imag()  = (r2 * sin(7 * M_PI / 12.0));
-          m_32apsk[6].real()  = (r2 * cos(M_PI / 4.0));
-          m_32apsk[6].imag()  = (r2 * sin(M_PI / 4.0));
-          m_32apsk[7].real()  = (r2 * cos(5 * M_PI / 12.0));
-          m_32apsk[7].imag()  = (r2 * sin(5 * M_PI / 12.0));
-          m_32apsk[8].real()  = (r3 * cos(13 * M_PI / 16.0));
-          m_32apsk[8].imag()  = (r3 * sin(13 * M_PI / 16.0));
-          m_32apsk[9].real()  = (r3 * cos(15 * M_PI / 16.0));
-          m_32apsk[9].imag()  = (r3 * sin(15 * M_PI / 16.0));
-          m_32apsk[10].real() = (r3 * cos(3 * M_PI / 16.0));
-          m_32apsk[10].imag() = (r3 * sin(3 * M_PI / 16.0));
-          m_32apsk[11].real() = (r3 * cos(M_PI / 16.0));
-          m_32apsk[11].imag() = (r3 * sin(M_PI / 16.0));
-          m_32apsk[12].real() = (r2 * cos(11 * M_PI / 12.0));
-          m_32apsk[12].imag() = (r2 * sin(11 * M_PI / 12.0));
-          m_32apsk[13].real() = (r1 * cos(3 * M_PI / 4.0));
-          m_32apsk[13].imag() = (r1 * sin(3 * M_PI / 4.0));
-          m_32apsk[14].real() = (r2 * cos(M_PI / 12.0));
-          m_32apsk[14].imag() = (r2 * sin(M_PI / 12.0));
-          m_32apsk[15].real() = (r1 * cos(M_PI / 4.0));
-          m_32apsk[15].imag() = (r1 * sin(M_PI / 4.0));
-          m_32apsk[16].real() = (r3 * cos(21 * M_PI / 16.0));
-          m_32apsk[16].imag() = (r3 * sin(21 * M_PI / 16.0));
-          m_32apsk[17].real() = (r3 * cos(23 * M_PI / 16.0));
-          m_32apsk[17].imag() = (r3 * sin(23 * M_PI / 16.0));
-          m_32apsk[18].real() = (r3 * cos(27 * M_PI / 16.0));
-          m_32apsk[18].imag() = (r3 * sin(27 * M_PI / 16.0));
-          m_32apsk[19].real() = (r3 * cos(25 * M_PI / 16.0));
-          m_32apsk[19].imag() = (r3 * sin(25 * M_PI / 16.0));
-          m_32apsk[20].real() = (r2 * cos(5 * M_PI / 4.0));
-          m_32apsk[20].imag() = (r2 * sin(5 * M_PI / 4.0));
-          m_32apsk[21].real() = (r2 * cos(17 * M_PI / 12.0));
-          m_32apsk[21].imag() = (r2 * sin(17 * M_PI / 12.0));
-          m_32apsk[22].real() = (r2 * cos(7 * M_PI / 4.0));
-          m_32apsk[22].imag() = (r2 * sin(7 * M_PI / 4.0));
-          m_32apsk[23].real() = (r2 * cos(19 * M_PI / 12.0));
-          m_32apsk[23].imag() = (r2 * sin(19 * M_PI / 12.0));
-          m_32apsk[24].real() = (r3 * cos(19 * M_PI / 16.0));
-          m_32apsk[24].imag() = (r3 * sin(19 * M_PI / 16.0));
-          m_32apsk[25].real() = (r3 * cos(17 * M_PI / 16.0));
-          m_32apsk[25].imag() = (r3 * sin(17 * M_PI / 16.0));
-          m_32apsk[26].real() = (r3 * cos(29 * M_PI / 16.0));
-          m_32apsk[26].imag() = (r3 * sin(29 * M_PI / 16.0));
-          m_32apsk[27].real() = (r3 * cos(31 * M_PI / 16.0));
-          m_32apsk[27].imag() = (r3 * sin(31 * M_PI / 16.0));
-          m_32apsk[28].real() = (r2 * cos(13 * M_PI / 12.0));
-          m_32apsk[28].imag() = (r2 * sin(13 * M_PI / 12.0));
-          m_32apsk[29].real() = (r1 * cos(5 * M_PI / 4.0));
-          m_32apsk[29].imag() = (r1 * sin(5 * M_PI / 4.0));
-          m_32apsk[30].real() = (r2 * cos(23 * M_PI / 12.0));
-          m_32apsk[30].imag() = (r2 * sin(23 * M_PI / 12.0));
-          m_32apsk[31].real() = (r1 * cos(7 * M_PI / 4.0));
-          m_32apsk[31].imag() = (r1 * sin(7 * M_PI / 4.0));
+          m_32apsk[0] = gr_complex((r3 * cos(11 * M_PI / 16.0)), (r3 * sin(11 
* M_PI / 16.0)));
+          m_32apsk[1] = gr_complex((r3 * cos(9 * M_PI / 16.0)), (r3 * sin(9 * 
M_PI / 16.0)));
+          m_32apsk[2] = gr_complex((r3 * cos(5 * M_PI / 16.0)), (r3 * sin(5 * 
M_PI / 16.0)));
+          m_32apsk[3] = gr_complex((r3 * cos(7 * M_PI / 16.0)), (r3 * sin(7 * 
M_PI / 16.0)));
+          m_32apsk[4] = gr_complex((r2 * cos(3 * M_PI / 4.0)), (r2 * sin(3 * 
M_PI / 4.0)));
+          m_32apsk[5] = gr_complex((r2 * cos(7 * M_PI / 12.0)), (r2 * sin(7 * 
M_PI / 12.0)));
+          m_32apsk[6] = gr_complex((r2 * cos(M_PI / 4.0)), (r2 * sin(M_PI / 
4.0)));
+          m_32apsk[7] = gr_complex((r2 * cos(5 * M_PI / 12.0)), (r2 * sin(5 * 
M_PI / 12.0)));
+          m_32apsk[8] = gr_complex((r3 * cos(13 * M_PI / 16.0)), (r3 * sin(13 
* M_PI / 16.0)));
+          m_32apsk[9] = gr_complex((r3 * cos(15 * M_PI / 16.0)), (r3 * sin(15 
* M_PI / 16.0)));
+          m_32apsk[10] = gr_complex((r3 * cos(3 * M_PI / 16.0)), (r3 * sin(3 * 
M_PI / 16.0)));
+          m_32apsk[11] = gr_complex((r3 * cos(M_PI / 16.0)), (r3 * sin(M_PI / 
16.0)));
+          m_32apsk[12] = gr_complex((r2 * cos(11 * M_PI / 12.0)), (r2 * sin(11 
* M_PI / 12.0)));
+          m_32apsk[13] = gr_complex((r1 * cos(3 * M_PI / 4.0)), (r1 * sin(3 * 
M_PI / 4.0)));
+          m_32apsk[14] = gr_complex((r2 * cos(M_PI / 12.0)), (r2 * sin(M_PI / 
12.0)));
+          m_32apsk[15] = gr_complex((r1 * cos(M_PI / 4.0)), (r1 * sin(M_PI / 
4.0)));
+          m_32apsk[16] = gr_complex((r3 * cos(21 * M_PI / 16.0)), (r3 * sin(21 
* M_PI / 16.0)));
+          m_32apsk[17] = gr_complex((r3 * cos(23 * M_PI / 16.0)), (r3 * sin(23 
* M_PI / 16.0)));
+          m_32apsk[18] = gr_complex((r3 * cos(27 * M_PI / 16.0)), (r3 * sin(27 
* M_PI / 16.0)));
+          m_32apsk[19] = gr_complex((r3 * cos(25 * M_PI / 16.0)), (r3 * sin(25 
* M_PI / 16.0)));
+          m_32apsk[20] = gr_complex((r2 * cos(5 * M_PI / 4.0)), (r2 * sin(5 * 
M_PI / 4.0)));
+          m_32apsk[21] = gr_complex((r2 * cos(17 * M_PI / 12.0)), (r2 * sin(17 
* M_PI / 12.0)));
+          m_32apsk[22] = gr_complex((r2 * cos(7 * M_PI / 4.0)), (r2 * sin(7 * 
M_PI / 4.0)));
+          m_32apsk[23] = gr_complex((r2 * cos(19 * M_PI / 12.0)), (r2 * sin(19 
* M_PI / 12.0)));
+          m_32apsk[24] = gr_complex((r3 * cos(19 * M_PI / 16.0)), (r3 * sin(19 
* M_PI / 16.0)));
+          m_32apsk[25] = gr_complex((r3 * cos(17 * M_PI / 16.0)), (r3 * sin(17 
* M_PI / 16.0)));
+          m_32apsk[26] = gr_complex((r3 * cos(29 * M_PI / 16.0)), (r3 * sin(29 
* M_PI / 16.0)));
+          m_32apsk[27] = gr_complex((r3 * cos(31 * M_PI / 16.0)), (r3 * sin(31 
* M_PI / 16.0)));
+          m_32apsk[28] = gr_complex((r2 * cos(13 * M_PI / 12.0)), (r2 * sin(13 
* M_PI / 12.0)));
+          m_32apsk[29] = gr_complex((r1 * cos(5 * M_PI / 4.0)), (r1 * sin(5 * 
M_PI / 4.0)));
+          m_32apsk[30] = gr_complex((r2 * cos(23 * M_PI / 12.0)), (r2 * sin(23 
* M_PI / 12.0)));
+          m_32apsk[31] = gr_complex((r1 * cos(7 * M_PI / 4.0)), (r1 * sin(7 * 
M_PI / 4.0)));
           break;
         case MOD_4_8_4_16APSK:
           r4 = m;
@@ -558,70 +408,38 @@ namespace gr {
               r3 = 0;
               break;
           }
-          m_32apsk[0].real()  = (r1 * cos(M_PI / 4.0));
-          m_32apsk[0].imag()  = (r1 * sin(M_PI / 4.0));
-          m_32apsk[1].real()  = (r4 * cos(7 * M_PI / 16.0));
-          m_32apsk[1].imag()  = (r4 * sin(7 * M_PI / 16.0));
-          m_32apsk[2].real()  = (r1 * cos(7 * M_PI / 4.0));
-          m_32apsk[2].imag()  = (r1 * sin(7 * M_PI / 4.0));
-          m_32apsk[3].real()  = (r4 * cos(25 * M_PI / 16.0));
-          m_32apsk[3].imag()  = (r4 * sin(25 * M_PI / 16.0));
-          m_32apsk[4].real()  = (r1 * cos(3 * M_PI / 4.0));
-          m_32apsk[4].imag()  = (r1 * sin(3 * M_PI / 4.0));
-          m_32apsk[5].real()  = (r4 * cos(9 * M_PI / 16.0));
-          m_32apsk[5].imag()  = (r4 * sin(9 * M_PI / 16.0));
-          m_32apsk[6].real()  = (r1 * cos(5 * M_PI / 4.0));
-          m_32apsk[6].imag()  = (r1 * sin(5 * M_PI / 4.0));
-          m_32apsk[7].real()  = (r4 * cos(23 * M_PI / 16.0));
-          m_32apsk[7].imag()  = (r4 * sin(23 * M_PI / 16.0));
-          m_32apsk[8].real()  = (r2 * cos(M_PI / 12.0));
-          m_32apsk[8].imag()  = (r2 * sin(M_PI / 12.0));
-          m_32apsk[9].real()  = (r4 * cos(M_PI / 16.0));
-          m_32apsk[9].imag()  = (r4 * sin(M_PI / 16.0));
-          m_32apsk[10].real() = (r2 * cos(23 * M_PI / 12.0));
-          m_32apsk[10].imag() = (r2 * sin(23 * M_PI / 12.0));
-          m_32apsk[11].real() = (r4 * cos(31 * M_PI / 16.0));
-          m_32apsk[11].imag() = (r4 * sin(31 * M_PI / 16.0));
-          m_32apsk[12].real() = (r2 * cos(11 * M_PI / 12.0));
-          m_32apsk[12].imag() = (r2 * sin(11 * M_PI / 12.0));
-          m_32apsk[13].real() = (r4 * cos(15 * M_PI / 16.0));
-          m_32apsk[13].imag() = (r4 * sin(15 * M_PI / 16.0));
-          m_32apsk[14].real() = (r2 * cos(13 * M_PI / 12.0));
-          m_32apsk[14].imag() = (r2 * sin(13 * M_PI / 12.0));
-          m_32apsk[15].real() = (r4 * cos(17 * M_PI / 16.0));
-          m_32apsk[15].imag() = (r4 * sin(17 * M_PI / 16.0));
-          m_32apsk[16].real() = (r2 * cos(5 * M_PI / 12.0));
-          m_32apsk[16].imag() = (r2 * sin(5 * M_PI / 12.0));
-          m_32apsk[17].real() = (r4 * cos(5 * M_PI / 16.0));
-          m_32apsk[17].imag() = (r4 * sin(5 * M_PI / 16.0));
-          m_32apsk[18].real() = (r2 * cos(19 * M_PI / 12.0));
-          m_32apsk[18].imag() = (r2 * sin(19 * M_PI / 12.0));
-          m_32apsk[19].real() = (r4 * cos(27 * M_PI / 16.0));
-          m_32apsk[19].imag() = (r4 * sin(27 * M_PI / 16.0));
-          m_32apsk[20].real() = (r2 * cos(7 * M_PI / 12.0));
-          m_32apsk[20].imag() = (r2 * sin(7 * M_PI / 12.0));
-          m_32apsk[21].real() = (r4 * cos(11 * M_PI / 16.0));
-          m_32apsk[21].imag() = (r4 * sin(11 * M_PI / 16.0));
-          m_32apsk[22].real() = (r2 * cos(17 * M_PI / 12.0));
-          m_32apsk[22].imag() = (r2 * sin(17 * M_PI / 12.0));
-          m_32apsk[23].real() = (r4 * cos(21 * M_PI / 16.0));
-          m_32apsk[23].imag() = (r4 * sin(21 * M_PI / 16.0));
-          m_32apsk[24].real() = (r3 * cos(M_PI / 4.0));
-          m_32apsk[24].imag() = (r3 * sin(M_PI / 4.0));
-          m_32apsk[25].real() = (r4 * cos(3 * M_PI / 16.0));
-          m_32apsk[25].imag() = (r4 * sin(3 * M_PI / 16.0));
-          m_32apsk[26].real() = (r3 * cos(7 * M_PI / 4.0));
-          m_32apsk[26].imag() = (r3 * sin(7 * M_PI / 4.0));
-          m_32apsk[27].real() = (r4 * cos(29 * M_PI / 16.0));
-          m_32apsk[27].imag() = (r4 * sin(29 * M_PI / 16.0));
-          m_32apsk[28].real() = (r3 * cos(3 * M_PI / 4.0));
-          m_32apsk[28].imag() = (r3 * sin(3 * M_PI / 4.0));
-          m_32apsk[29].real() = (r4 * cos(13 * M_PI / 16.0));
-          m_32apsk[29].imag() = (r4 * sin(13 * M_PI / 16.0));
-          m_32apsk[30].real() = (r3 * cos(5 * M_PI / 4.0));
-          m_32apsk[30].imag() = (r3 * sin(5 * M_PI / 4.0));
-          m_32apsk[31].real() = (r4 * cos(19 * M_PI / 16.0));
-          m_32apsk[31].imag() = (r4 * sin(19 * M_PI / 16.0));
+          m_32apsk[0] = gr_complex((r1 * cos(M_PI / 4.0)), (r1 * sin(M_PI / 
4.0)));
+          m_32apsk[1] = gr_complex((r4 * cos(7 * M_PI / 16.0)), (r4 * sin(7 * 
M_PI / 16.0)));
+          m_32apsk[2] = gr_complex((r1 * cos(7 * M_PI / 4.0)), (r1 * sin(7 * 
M_PI / 4.0)));
+          m_32apsk[3] = gr_complex((r4 * cos(25 * M_PI / 16.0)), (r4 * sin(25 
* M_PI / 16.0)));
+          m_32apsk[4] = gr_complex((r1 * cos(3 * M_PI / 4.0)), (r1 * sin(3 * 
M_PI / 4.0)));
+          m_32apsk[5] = gr_complex((r4 * cos(9 * M_PI / 16.0)), (r4 * sin(9 * 
M_PI / 16.0)));
+          m_32apsk[6] = gr_complex((r1 * cos(5 * M_PI / 4.0)), (r1 * sin(5 * 
M_PI / 4.0)));
+          m_32apsk[7] = gr_complex((r4 * cos(23 * M_PI / 16.0)), (r4 * sin(23 
* M_PI / 16.0)));
+          m_32apsk[8] = gr_complex((r2 * cos(M_PI / 12.0)), (r2 * sin(M_PI / 
12.0)));
+          m_32apsk[9] = gr_complex((r4 * cos(M_PI / 16.0)), (r4 * sin(M_PI / 
16.0)));
+          m_32apsk[10] = gr_complex((r2 * cos(23 * M_PI / 12.0)), (r2 * sin(23 
* M_PI / 12.0)));
+          m_32apsk[11] = gr_complex((r4 * cos(31 * M_PI / 16.0)), (r4 * sin(31 
* M_PI / 16.0)));
+          m_32apsk[12] = gr_complex((r2 * cos(11 * M_PI / 12.0)), (r2 * sin(11 
* M_PI / 12.0)));
+          m_32apsk[13] = gr_complex((r4 * cos(15 * M_PI / 16.0)), (r4 * sin(15 
* M_PI / 16.0)));
+          m_32apsk[14] = gr_complex((r2 * cos(13 * M_PI / 12.0)), (r2 * sin(13 
* M_PI / 12.0)));
+          m_32apsk[15] = gr_complex((r4 * cos(17 * M_PI / 16.0)), (r4 * sin(17 
* M_PI / 16.0)));
+          m_32apsk[16] = gr_complex((r2 * cos(5 * M_PI / 12.0)), (r2 * sin(5 * 
M_PI / 12.0)));
+          m_32apsk[17] = gr_complex((r4 * cos(5 * M_PI / 16.0)), (r4 * sin(5 * 
M_PI / 16.0)));
+          m_32apsk[18] = gr_complex((r2 * cos(19 * M_PI / 12.0)), (r2 * sin(19 
* M_PI / 12.0)));
+          m_32apsk[19] = gr_complex((r4 * cos(27 * M_PI / 16.0)), (r4 * sin(27 
* M_PI / 16.0)));
+          m_32apsk[20] = gr_complex((r2 * cos(7 * M_PI / 12.0)), (r2 * sin(7 * 
M_PI / 12.0)));
+          m_32apsk[21] = gr_complex((r4 * cos(11 * M_PI / 16.0)), (r4 * sin(11 
* M_PI / 16.0)));
+          m_32apsk[22] = gr_complex((r2 * cos(17 * M_PI / 12.0)), (r2 * sin(17 
* M_PI / 12.0)));
+          m_32apsk[23] = gr_complex((r4 * cos(21 * M_PI / 16.0)), (r4 * sin(21 
* M_PI / 16.0)));
+          m_32apsk[24] = gr_complex((r3 * cos(M_PI / 4.0)), (r3 * sin(M_PI / 
4.0)));
+          m_32apsk[25] = gr_complex((r4 * cos(3 * M_PI / 16.0)), (r4 * sin(3 * 
M_PI / 16.0)));
+          m_32apsk[26] = gr_complex((r3 * cos(7 * M_PI / 4.0)), (r3 * sin(7 * 
M_PI / 4.0)));
+          m_32apsk[27] = gr_complex((r4 * cos(29 * M_PI / 16.0)), (r4 * sin(29 
* M_PI / 16.0)));
+          m_32apsk[28] = gr_complex((r3 * cos(3 * M_PI / 4.0)), (r3 * sin(3 * 
M_PI / 4.0)));
+          m_32apsk[29] = gr_complex((r4 * cos(13 * M_PI / 16.0)), (r4 * sin(13 
* M_PI / 16.0)));
+          m_32apsk[30] = gr_complex((r3 * cos(5 * M_PI / 4.0)), (r3 * sin(5 * 
M_PI / 4.0)));
+          m_32apsk[31] = gr_complex((r4 * cos(19 * M_PI / 16.0)), (r4 * sin(19 
* M_PI / 16.0)));
           break;
         case MOD_64APSK:
           r4 = m;
@@ -637,134 +455,70 @@ namespace gr {
               r3 = 0;
               break;
           }
-          m_64apsk[0].real()  = (r1 * cos(M_PI / 16.0));
-          m_64apsk[0].imag()  = (r1 * sin(M_PI / 16.0));
-          m_64apsk[1].real()  = (r1 * cos(3 * M_PI / 16.0));
-          m_64apsk[1].imag()  = (r1 * sin(3 * M_PI / 16.0));
-          m_64apsk[2].real()  = (r1 * cos(7 * M_PI / 16.0));
-          m_64apsk[2].imag()  = (r1 * sin(7 * M_PI / 16.0));
-          m_64apsk[3].real()  = (r1 * cos(5 * M_PI / 16.0));
-          m_64apsk[3].imag()  = (r1 * sin(5 * M_PI / 16.0));
-          m_64apsk[4].real()  = (r1 * cos(31 * M_PI / 16.0));
-          m_64apsk[4].imag()  = (r1 * sin(31 * M_PI / 16.0));
-          m_64apsk[5].real()  = (r1 * cos(29 * M_PI / 16.0));
-          m_64apsk[5].imag()  = (r1 * sin(29 * M_PI / 16.0));
-          m_64apsk[6].real()  = (r1 * cos(25 * M_PI / 16.0));
-          m_64apsk[6].imag()  = (r1 * sin(25 * M_PI / 16.0));
-          m_64apsk[7].real()  = (r1 * cos(27 * M_PI / 16.0));
-          m_64apsk[7].imag()  = (r1 * sin(27 * M_PI / 16.0));
-          m_64apsk[8].real()  = (r1 * cos(15 * M_PI / 16.0));
-          m_64apsk[8].imag()  = (r1 * sin(15 * M_PI / 16.0));
-          m_64apsk[9].real()  = (r1 * cos(13 * M_PI / 16.0));
-          m_64apsk[9].imag()  = (r1 * sin(13 * M_PI / 16.0));
-          m_64apsk[10].real() = (r1 * cos(9 * M_PI / 16.0));
-          m_64apsk[10].imag() = (r1 * sin(9 * M_PI / 16.0));
-          m_64apsk[11].real() = (r1 * cos(11 * M_PI / 16.0));
-          m_64apsk[11].imag() = (r1 * sin(11 * M_PI / 16.0));
-          m_64apsk[12].real() = (r1 * cos(17 * M_PI / 16.0));
-          m_64apsk[12].imag() = (r1 * sin(17 * M_PI / 16.0));
-          m_64apsk[13].real() = (r1 * cos(19 * M_PI / 16.0));
-          m_64apsk[13].imag() = (r1 * sin(19 * M_PI / 16.0));
-          m_64apsk[14].real() = (r1 * cos(23 * M_PI / 16.0));
-          m_64apsk[14].imag() = (r1 * sin(23 * M_PI / 16.0));
-          m_64apsk[15].real() = (r1 * cos(21 * M_PI / 16.0));
-          m_64apsk[15].imag() = (r1 * sin(21 * M_PI / 16.0));
-          m_64apsk[16].real() = (r2 * cos(M_PI / 16.0));
-          m_64apsk[16].imag() = (r2 * sin(M_PI / 16.0));
-          m_64apsk[17].real() = (r2 * cos(3 * M_PI / 16.0));
-          m_64apsk[17].imag() = (r2 * sin(3 * M_PI / 16.0));
-          m_64apsk[18].real() = (r2 * cos(7 * M_PI / 16.0));
-          m_64apsk[18].imag() = (r2 * sin(7 * M_PI / 16.0));
-          m_64apsk[19].real() = (r2 * cos(5 * M_PI / 16.0));
-          m_64apsk[19].imag() = (r2 * sin(5 * M_PI / 16.0));
-          m_64apsk[20].real() = (r2 * cos(31 * M_PI / 16.0));
-          m_64apsk[20].imag() = (r2 * sin(31* M_PI / 16.0));
-          m_64apsk[21].real() = (r2 * cos(29 * M_PI / 16.0));
-          m_64apsk[21].imag() = (r2 * sin(29 * M_PI / 16.0));
-          m_64apsk[22].real() = (r2 * cos(25 * M_PI / 16.0));
-          m_64apsk[22].imag() = (r2 * sin(25 * M_PI / 16.0));
-          m_64apsk[23].real() = (r2 * cos(27 * M_PI / 16.0));
-          m_64apsk[23].imag() = (r2 * sin(27 * M_PI / 16.0));
-          m_64apsk[24].real() = (r2 * cos(15 * M_PI / 16.0));
-          m_64apsk[24].imag() = (r2 * sin(15 * M_PI / 16.0));
-          m_64apsk[25].real() = (r2 * cos(13 * M_PI / 16.0));
-          m_64apsk[25].imag() = (r2 * sin(13 * M_PI / 16.0));
-          m_64apsk[26].real() = (r2 * cos(9 * M_PI / 16.0));
-          m_64apsk[26].imag() = (r2 * sin(9 * M_PI / 16.0));
-          m_64apsk[27].real() = (r2 * cos(11 * M_PI / 16.0));
-          m_64apsk[27].imag() = (r2 * sin(11 * M_PI / 16.0));
-          m_64apsk[28].real() = (r2 * cos(17 * M_PI / 16.0));
-          m_64apsk[28].imag() = (r2 * sin(17 * M_PI / 16.0));
-          m_64apsk[29].real() = (r2 * cos(19 * M_PI / 16.0));
-          m_64apsk[29].imag() = (r2 * sin(19 * M_PI / 16.0));
-          m_64apsk[30].real() = (r2 * cos(23 * M_PI / 16.0));
-          m_64apsk[30].imag() = (r2 * sin(23 * M_PI / 16.0));
-          m_64apsk[31].real() = (r2 * cos(21 * M_PI / 16.0));
-          m_64apsk[31].imag() = (r2 * sin(21 * M_PI / 16.0));
-          m_64apsk[32].real() = (r4 * cos(M_PI / 16.0));
-          m_64apsk[32].imag() = (r4 * sin(M_PI / 16.0));
-          m_64apsk[33].real() = (r4 * cos(3 * M_PI / 16.0));
-          m_64apsk[33].imag() = (r4 * sin(3 * M_PI / 16.0));
-          m_64apsk[34].real() = (r4 * cos(7 * M_PI / 16.0));
-          m_64apsk[34].imag() = (r4 * sin(7 * M_PI / 16.0));
-          m_64apsk[35].real() = (r4 * cos(5 * M_PI / 16.0));
-          m_64apsk[35].imag() = (r4 * sin(5 * M_PI / 16.0));
-          m_64apsk[36].real() = (r4 * cos(31 * M_PI / 16.0));
-          m_64apsk[36].imag() = (r4 * sin(31 * M_PI / 16.0));
-          m_64apsk[37].real() = (r4 * cos(29 * M_PI / 16.0));
-          m_64apsk[37].imag() = (r4 * sin(29 * M_PI / 16.0));
-          m_64apsk[38].real() = (r4 * cos(25 * M_PI / 16.0));
-          m_64apsk[38].imag() = (r4 * sin(25 * M_PI / 16.0));
-          m_64apsk[39].real() = (r4 * cos(27 * M_PI / 16.0));
-          m_64apsk[39].imag() = (r4 * sin(27 * M_PI / 16.0));
-          m_64apsk[40].real() = (r4 * cos(15 * M_PI / 16.0));
-          m_64apsk[40].imag() = (r4 * sin(15 * M_PI / 16.0));
-          m_64apsk[41].real() = (r4 * cos(13 * M_PI / 16.0));
-          m_64apsk[41].imag() = (r4 * sin(13 * M_PI / 16.0));
-          m_64apsk[42].real() = (r4 * cos(9 * M_PI / 16.0));
-          m_64apsk[42].imag() = (r4 * sin(9 * M_PI / 16.0));
-          m_64apsk[43].real() = (r4 * cos(11 * M_PI / 16.0));
-          m_64apsk[43].imag() = (r4 * sin(11 * M_PI / 16.0));
-          m_64apsk[44].real() = (r4 * cos(17 * M_PI / 16.0));
-          m_64apsk[44].imag() = (r4 * sin(17 * M_PI / 16.0));
-          m_64apsk[45].real() = (r4 * cos(19 * M_PI / 16.0));
-          m_64apsk[45].imag() = (r4 * sin(19 * M_PI / 16.0));
-          m_64apsk[46].real() = (r4 * cos(23 * M_PI / 16.0));
-          m_64apsk[46].imag() = (r4 * sin(23 * M_PI / 16.0));
-          m_64apsk[47].real() = (r4 * cos(21 * M_PI / 16.0));
-          m_64apsk[47].imag() = (r4 * sin(21 * M_PI / 16.0));
-          m_64apsk[48].real() = (r3 * cos(M_PI / 16.0));
-          m_64apsk[48].imag() = (r3 * sin(M_PI / 16.0));
-          m_64apsk[49].real() = (r3 * cos(3 * M_PI / 16.0));
-          m_64apsk[49].imag() = (r3 * sin(3 * M_PI / 16.0));
-          m_64apsk[50].real() = (r3 * cos(7 * M_PI / 16.0));
-          m_64apsk[50].imag() = (r3 * sin(7 * M_PI / 16.0));
-          m_64apsk[51].real() = (r3 * cos(5 * M_PI / 16.0));
-          m_64apsk[51].imag() = (r3 * sin(5 * M_PI / 16.0));
-          m_64apsk[52].real() = (r3 * cos(31 * M_PI / 16.0));
-          m_64apsk[52].imag() = (r3 * sin(31 * M_PI / 16.0));
-          m_64apsk[53].real() = (r3 * cos(29 * M_PI / 16.0));
-          m_64apsk[53].imag() = (r3 * sin(29 * M_PI / 16.0));
-          m_64apsk[54].real() = (r3 * cos(25 * M_PI / 16.0));
-          m_64apsk[54].imag() = (r3 * sin(25 * M_PI / 16.0));
-          m_64apsk[55].real() = (r3 * cos(27 * M_PI / 16.0));
-          m_64apsk[55].imag() = (r3 * sin(27 * M_PI / 16.0));
-          m_64apsk[56].real() = (r3 * cos(15 * M_PI / 16.0));
-          m_64apsk[56].imag() = (r3 * sin(15 * M_PI / 16.0));
-          m_64apsk[57].real() = (r3 * cos(13 * M_PI / 16.0));
-          m_64apsk[57].imag() = (r3 * sin(13 * M_PI / 16.0));
-          m_64apsk[58].real() = (r3 * cos(9 * M_PI / 16.0));
-          m_64apsk[58].imag() = (r3 * sin(9 * M_PI / 16.0));
-          m_64apsk[59].real() = (r3 * cos(11 * M_PI / 16.0));
-          m_64apsk[59].imag() = (r3 * sin(11 * M_PI / 16.0));
-          m_64apsk[60].real() = (r3 * cos(17 * M_PI / 16.0));
-          m_64apsk[60].imag() = (r3 * sin(17 * M_PI / 16.0));
-          m_64apsk[61].real() = (r3 * cos(19 * M_PI / 16.0));
-          m_64apsk[61].imag() = (r3 * sin(19 * M_PI / 16.0));
-          m_64apsk[62].real() = (r3 * cos(23 * M_PI / 16.0));
-          m_64apsk[62].imag() = (r3 * sin(23 * M_PI / 16.0));
-          m_64apsk[63].real() = (r3 * cos(21 * M_PI / 16.0));
-          m_64apsk[63].imag() = (r3 * sin(21 * M_PI / 16.0));
+          m_64apsk[0] = gr_complex((r1 * cos(M_PI / 16.0)), (r1 * sin(M_PI / 
16.0)));
+          m_64apsk[1] = gr_complex((r1 * cos(3 * M_PI / 16.0)), (r1 * sin(3 * 
M_PI / 16.0)));
+          m_64apsk[2] = gr_complex((r1 * cos(7 * M_PI / 16.0)), (r1 * sin(7 * 
M_PI / 16.0)));
+          m_64apsk[3] = gr_complex((r1 * cos(5 * M_PI / 16.0)), (r1 * sin(5 * 
M_PI / 16.0)));
+          m_64apsk[4] = gr_complex((r1 * cos(31 * M_PI / 16.0)), (r1 * sin(31 
* M_PI / 16.0)));
+          m_64apsk[5] = gr_complex((r1 * cos(29 * M_PI / 16.0)), (r1 * sin(29 
* M_PI / 16.0)));
+          m_64apsk[6] = gr_complex((r1 * cos(25 * M_PI / 16.0)), (r1 * sin(25 
* M_PI / 16.0)));
+          m_64apsk[7] = gr_complex((r1 * cos(27 * M_PI / 16.0)), (r1 * sin(27 
* M_PI / 16.0)));
+          m_64apsk[8] = gr_complex((r1 * cos(15 * M_PI / 16.0)), (r1 * sin(15 
* M_PI / 16.0)));
+          m_64apsk[9] = gr_complex((r1 * cos(13 * M_PI / 16.0)), (r1 * sin(13 
* M_PI / 16.0)));
+          m_64apsk[10] = gr_complex((r1 * cos(9 * M_PI / 16.0)), (r1 * sin(9 * 
M_PI / 16.0)));
+          m_64apsk[11] = gr_complex((r1 * cos(11 * M_PI / 16.0)), (r1 * sin(11 
* M_PI / 16.0)));
+          m_64apsk[12] = gr_complex((r1 * cos(17 * M_PI / 16.0)), (r1 * sin(17 
* M_PI / 16.0)));
+          m_64apsk[13] = gr_complex((r1 * cos(19 * M_PI / 16.0)), (r1 * sin(19 
* M_PI / 16.0)));
+          m_64apsk[14] = gr_complex((r1 * cos(23 * M_PI / 16.0)), (r1 * sin(23 
* M_PI / 16.0)));
+          m_64apsk[15] = gr_complex((r1 * cos(21 * M_PI / 16.0)), (r1 * sin(21 
* M_PI / 16.0)));
+          m_64apsk[16] = gr_complex((r2 * cos(M_PI / 16.0)), (r2 * sin(M_PI / 
16.0)));
+          m_64apsk[17] = gr_complex((r2 * cos(3 * M_PI / 16.0)), (r2 * sin(3 * 
M_PI / 16.0)));
+          m_64apsk[18] = gr_complex((r2 * cos(7 * M_PI / 16.0)), (r2 * sin(7 * 
M_PI / 16.0)));
+          m_64apsk[19] = gr_complex((r2 * cos(5 * M_PI / 16.0)), (r2 * sin(5 * 
M_PI / 16.0)));
+          m_64apsk[20] = gr_complex((r2 * cos(31 * M_PI / 16.0)), (r2 * 
sin(31* M_PI / 16.0)));
+          m_64apsk[21] = gr_complex((r2 * cos(29 * M_PI / 16.0)), (r2 * sin(29 
* M_PI / 16.0)));
+          m_64apsk[22] = gr_complex((r2 * cos(25 * M_PI / 16.0)), (r2 * sin(25 
* M_PI / 16.0)));
+          m_64apsk[23] = gr_complex((r2 * cos(27 * M_PI / 16.0)), (r2 * sin(27 
* M_PI / 16.0)));
+          m_64apsk[24] = gr_complex((r2 * cos(15 * M_PI / 16.0)), (r2 * sin(15 
* M_PI / 16.0)));
+          m_64apsk[25] = gr_complex((r2 * cos(13 * M_PI / 16.0)), (r2 * sin(13 
* M_PI / 16.0)));
+          m_64apsk[26] = gr_complex((r2 * cos(9 * M_PI / 16.0)), (r2 * sin(9 * 
M_PI / 16.0)));
+          m_64apsk[27] = gr_complex((r2 * cos(11 * M_PI / 16.0)), (r2 * sin(11 
* M_PI / 16.0)));
+          m_64apsk[28] = gr_complex((r2 * cos(17 * M_PI / 16.0)), (r2 * sin(17 
* M_PI / 16.0)));
+          m_64apsk[29] = gr_complex((r2 * cos(19 * M_PI / 16.0)), (r2 * sin(19 
* M_PI / 16.0)));
+          m_64apsk[30] = gr_complex((r2 * cos(23 * M_PI / 16.0)), (r2 * sin(23 
* M_PI / 16.0)));
+          m_64apsk[31] = gr_complex((r2 * cos(21 * M_PI / 16.0)), (r2 * sin(21 
* M_PI / 16.0)));
+          m_64apsk[32] = gr_complex((r4 * cos(M_PI / 16.0)), (r4 * sin(M_PI / 
16.0)));
+          m_64apsk[33] = gr_complex((r4 * cos(3 * M_PI / 16.0)), (r4 * sin(3 * 
M_PI / 16.0)));
+          m_64apsk[34] = gr_complex((r4 * cos(7 * M_PI / 16.0)), (r4 * sin(7 * 
M_PI / 16.0)));
+          m_64apsk[35] = gr_complex((r4 * cos(5 * M_PI / 16.0)), (r4 * sin(5 * 
M_PI / 16.0)));
+          m_64apsk[36] = gr_complex((r4 * cos(31 * M_PI / 16.0)), (r4 * sin(31 
* M_PI / 16.0)));
+          m_64apsk[37] = gr_complex((r4 * cos(29 * M_PI / 16.0)), (r4 * sin(29 
* M_PI / 16.0)));
+          m_64apsk[38] = gr_complex((r4 * cos(25 * M_PI / 16.0)), (r4 * sin(25 
* M_PI / 16.0)));
+          m_64apsk[39] = gr_complex((r4 * cos(27 * M_PI / 16.0)), (r4 * sin(27 
* M_PI / 16.0)));
+          m_64apsk[40] = gr_complex((r4 * cos(15 * M_PI / 16.0)), (r4 * sin(15 
* M_PI / 16.0)));
+          m_64apsk[41] = gr_complex((r4 * cos(13 * M_PI / 16.0)), (r4 * sin(13 
* M_PI / 16.0)));
+          m_64apsk[42] = gr_complex((r4 * cos(9 * M_PI / 16.0)), (r4 * sin(9 * 
M_PI / 16.0)));
+          m_64apsk[43] = gr_complex((r4 * cos(11 * M_PI / 16.0)), (r4 * sin(11 
* M_PI / 16.0)));
+          m_64apsk[44] = gr_complex((r4 * cos(17 * M_PI / 16.0)), (r4 * sin(17 
* M_PI / 16.0)));
+          m_64apsk[45] = gr_complex((r4 * cos(19 * M_PI / 16.0)), (r4 * sin(19 
* M_PI / 16.0)));
+          m_64apsk[46] = gr_complex((r4 * cos(23 * M_PI / 16.0)), (r4 * sin(23 
* M_PI / 16.0)));
+          m_64apsk[47] = gr_complex((r4 * cos(21 * M_PI / 16.0)), (r4 * sin(21 
* M_PI / 16.0)));
+          m_64apsk[48] = gr_complex((r3 * cos(M_PI / 16.0)), (r3 * sin(M_PI / 
16.0)));
+          m_64apsk[49] = gr_complex((r3 * cos(3 * M_PI / 16.0)), (r3 * sin(3 * 
M_PI / 16.0)));
+          m_64apsk[50] = gr_complex((r3 * cos(7 * M_PI / 16.0)), (r3 * sin(7 * 
M_PI / 16.0)));
+          m_64apsk[51] = gr_complex((r3 * cos(5 * M_PI / 16.0)), (r3 * sin(5 * 
M_PI / 16.0)));
+          m_64apsk[52] = gr_complex((r3 * cos(31 * M_PI / 16.0)), (r3 * sin(31 
* M_PI / 16.0)));
+          m_64apsk[53] = gr_complex((r3 * cos(29 * M_PI / 16.0)), (r3 * sin(29 
* M_PI / 16.0)));
+          m_64apsk[54] = gr_complex((r3 * cos(25 * M_PI / 16.0)), (r3 * sin(25 
* M_PI / 16.0)));
+          m_64apsk[55] = gr_complex((r3 * cos(27 * M_PI / 16.0)), (r3 * sin(27 
* M_PI / 16.0)));
+          m_64apsk[56] = gr_complex((r3 * cos(15 * M_PI / 16.0)), (r3 * sin(15 
* M_PI / 16.0)));
+          m_64apsk[57] = gr_complex((r3 * cos(13 * M_PI / 16.0)), (r3 * sin(13 
* M_PI / 16.0)));
+          m_64apsk[58] = gr_complex((r3 * cos(9 * M_PI / 16.0)), (r3 * sin(9 * 
M_PI / 16.0)));
+          m_64apsk[59] = gr_complex((r3 * cos(11 * M_PI / 16.0)), (r3 * sin(11 
* M_PI / 16.0)));
+          m_64apsk[60] = gr_complex((r3 * cos(17 * M_PI / 16.0)), (r3 * sin(17 
* M_PI / 16.0)));
+          m_64apsk[61] = gr_complex((r3 * cos(19 * M_PI / 16.0)), (r3 * sin(19 
* M_PI / 16.0)));
+          m_64apsk[62] = gr_complex((r3 * cos(23 * M_PI / 16.0)), (r3 * sin(23 
* M_PI / 16.0)));
+          m_64apsk[63] = gr_complex((r3 * cos(21 * M_PI / 16.0)), (r3 * sin(21 
* M_PI / 16.0)));
           break;
         case MOD_8_16_20_20APSK:
           r4 = m;
@@ -786,134 +540,70 @@ namespace gr {
               r3 = 0;
               break;
           }
-          m_64apsk[0].real()   = (r2 * cos(25 * M_PI / 16.0));
-          m_64apsk[0].imag()   = (r2 * sin(25 * M_PI / 16.0));
-          m_64apsk[1].real()   = (r4 * cos(7 * M_PI / 4.0));
-          m_64apsk[1].imag()   = (r4 * sin(7 * M_PI / 4.0));
-          m_64apsk[2].real()   = (r2 * cos(27 * M_PI / 16.0));
-          m_64apsk[2].imag()   = (r2 * sin(27 * M_PI / 16.0));
-          m_64apsk[3].real()   = (r3 * cos(7 * M_PI / 4.0));
-          m_64apsk[3].imag()   = (r3 * sin(7 * M_PI / 4.0));
-          m_64apsk[4].real()   = (r4 * cos(31 * M_PI / 20.0));
-          m_64apsk[4].imag()   = (r4 * sin(31 * M_PI / 20.0));
-          m_64apsk[5].real()   = (r4 * cos(33 * M_PI / 20.0));
-          m_64apsk[5].imag()   = (r4 * sin(33 * M_PI / 20.0));
-          m_64apsk[6].real()   = (r3 * cos(31 * M_PI / 20.0));
-          m_64apsk[6].imag()   = (r3 * sin(31 * M_PI / 20.0));
-          m_64apsk[7].real()   = (r3 * cos(33 * M_PI / 20.0));
-          m_64apsk[7].imag()   = (r3 * sin(33 * M_PI / 20.0));
-          m_64apsk[8].real()   = (r2 * cos(23 * M_PI / 16.0));
-          m_64apsk[8].imag()   = (r2 * sin(23 * M_PI / 16.0));
-          m_64apsk[9].real()   = (r4 * cos(5 * M_PI / 4.0));
-          m_64apsk[9].imag()   = (r4 * sin(5 * M_PI / 4.0));
-          m_64apsk[10].real()   = (r2 * cos(21 * M_PI / 16.0));
-          m_64apsk[10].imag()   = (r2 * sin(21 * M_PI / 16.0));
-          m_64apsk[11].real()   = (r3 * cos(5 * M_PI / 4.0));
-          m_64apsk[11].imag()   = (r3 * sin(5 * M_PI / 4.0));
-          m_64apsk[12].real()   = (r4 * cos(29 * M_PI / 20.0));
-          m_64apsk[12].imag()   = (r4 * sin(29 * M_PI / 20.0));
-          m_64apsk[13].real()   = (r4 * cos(27 * M_PI / 20.0));
-          m_64apsk[13].imag()   = (r4 * sin(27 * M_PI / 20.0));
-          m_64apsk[14].real()   = (r3 * cos(29 * M_PI / 20.0));
-          m_64apsk[14].imag()   = (r3 * sin(29 * M_PI / 20.0));
-          m_64apsk[15].real()   = (r3 * cos(27 * M_PI / 20.0));
-          m_64apsk[15].imag()   = (r3 * sin(27 * M_PI / 20.0));
-          m_64apsk[16].real()   = (r1 * cos(13 * M_PI / 8.0));
-          m_64apsk[16].imag()   = (r1 * sin(13 * M_PI / 8.0));
-          m_64apsk[17].real()   = (r4 * cos(37 * M_PI / 20.0));
-          m_64apsk[17].imag()   = (r4 * sin(37 * M_PI / 20.0));
-          m_64apsk[18].real()   = (r2 * cos(29 * M_PI / 16.0));
-          m_64apsk[18].imag()   = (r2 * sin(29 * M_PI / 16.0));
-          m_64apsk[19].real()   = (r3 * cos(37 * M_PI / 20.0));
-          m_64apsk[19].imag()   = (r3 * sin(37 * M_PI / 20.0));
-          m_64apsk[20].real()   = (r1 * cos(15 * M_PI / 8.0));
-          m_64apsk[20].imag()   = (r1 * sin(15 * M_PI / 8.0));
-          m_64apsk[21].real()   = (r4 * cos(39 * M_PI / 20.0));
-          m_64apsk[21].imag()   = (r4 * sin(39 * M_PI / 20.0));
-          m_64apsk[22].real()   = (r2 * cos(31 * M_PI / 16.0));
-          m_64apsk[22].imag()   = (r2 * sin(31 * M_PI / 16.0));
-          m_64apsk[23].real()   = (r3 * cos(39 * M_PI / 20.0));
-          m_64apsk[23].imag()   = (r3 * sin(39 * M_PI / 20.0));
-          m_64apsk[24].real()   = (r1 * cos(11 * M_PI / 8.0));
-          m_64apsk[24].imag()   = (r1 * sin(11 * M_PI / 8.0));
-          m_64apsk[25].real()   = (r4 * cos(23 * M_PI / 20.0));
-          m_64apsk[25].imag()   = (r4 * sin(23 * M_PI / 20.0));
-          m_64apsk[26].real()   = (r2 * cos(19 * M_PI / 16.0));
-          m_64apsk[26].imag()   = (r2 * sin(19 * M_PI / 16.0));
-          m_64apsk[27].real()   = (r3 * cos(23 * M_PI / 20.0));
-          m_64apsk[27].imag()   = (r3 * sin(23 * M_PI / 20.0));
-          m_64apsk[28].real()   = (r1 * cos(9 * M_PI / 8.0));
-          m_64apsk[28].imag()   = (r1 * sin(9 * M_PI / 8.0));
-          m_64apsk[29].real()   = (r4 * cos(21 * M_PI / 20.0));
-          m_64apsk[29].imag()   = (r4 * sin(21 * M_PI / 20.0));
-          m_64apsk[30].real()   = (r2 * cos(17 * M_PI / 16.0));
-          m_64apsk[30].imag()   = (r2 * sin(17 * M_PI / 16.0));
-          m_64apsk[31].real()   = (r3 * cos(21 * M_PI / 20.0));
-          m_64apsk[31].imag()   = (r3 * sin(21 * M_PI / 20.0));
-          m_64apsk[32].real()   = (r2 * cos(7 * M_PI / 16.0));
-          m_64apsk[32].imag()   = (r2 * sin(7 * M_PI / 16.0));
-          m_64apsk[33].real()   = (r4 * cos(M_PI / 4.0));
-          m_64apsk[33].imag()   = (r4 * sin(M_PI / 4.0));
-          m_64apsk[34].real()   = (r2 * cos(5 * M_PI / 16.0));
-          m_64apsk[34].imag()   = (r2 * sin(5 * M_PI / 16.0));
-          m_64apsk[35].real()   = (r3 * cos(M_PI / 4.0));
-          m_64apsk[35].imag()   = (r3 * sin(M_PI / 4.0));
-          m_64apsk[36].real()   = (r4 * cos(9 * M_PI / 20.0));
-          m_64apsk[36].imag()   = (r4 * sin(9 * M_PI / 20.0));
-          m_64apsk[37].real()   = (r4 * cos(7 * M_PI / 20.0));
-          m_64apsk[37].imag()   = (r4 * sin(7 * M_PI / 20.0));
-          m_64apsk[38].real()   = (r3 * cos(9 * M_PI / 20.0));
-          m_64apsk[38].imag()   = (r3 * sin(9 * M_PI / 20.0));
-          m_64apsk[39].real()   = (r3 * cos(7 * M_PI / 20.0));
-          m_64apsk[39].imag()   = (r3 * sin(7 * M_PI / 20.0));
-          m_64apsk[40].real()   = (r2 * cos(9 * M_PI / 16.0));
-          m_64apsk[40].imag()   = (r2 * sin(9 * M_PI / 16.0));
-          m_64apsk[41].real()   = (r4 * cos(3 * M_PI / 4.0));
-          m_64apsk[41].imag()   = (r4 * sin(3 * M_PI / 4.0));
-          m_64apsk[42].real()   = (r2 * cos(11 * M_PI / 16.0));
-          m_64apsk[42].imag()   = (r2 * sin(11 * M_PI / 16.0));
-          m_64apsk[43].real()   = (r3 * cos(3 * M_PI / 4.0));
-          m_64apsk[43].imag()   = (r3 * sin(3 * M_PI / 4.0));
-          m_64apsk[44].real()   = (r4 * cos(11 * M_PI / 20.0));
-          m_64apsk[44].imag()   = (r4 * sin(11 * M_PI / 20.0));
-          m_64apsk[45].real()   = (r4 * cos(13 * M_PI / 20.0));
-          m_64apsk[45].imag()   = (r4 * sin(13 * M_PI / 20.0));
-          m_64apsk[46].real()   = (r3 * cos(11 * M_PI / 20.0));
-          m_64apsk[46].imag()   = (r3 * sin(11 * M_PI / 20.0));
-          m_64apsk[47].real()   = (r3 * cos(13 * M_PI / 20.0));
-          m_64apsk[47].imag()   = (r3 * sin(13 * M_PI / 20.0));
-          m_64apsk[48].real()   = (r1 * cos(3 * M_PI / 8.0));
-          m_64apsk[48].imag()   = (r1 * sin(3 * M_PI / 8.0));
-          m_64apsk[49].real()   = (r4 * cos(3 * M_PI / 20.0));
-          m_64apsk[49].imag()   = (r4 * sin(3 * M_PI / 20.0));
-          m_64apsk[50].real()   = (r2 * cos(3 * M_PI / 16.0));
-          m_64apsk[50].imag()   = (r2 * sin(3 * M_PI / 16.0));
-          m_64apsk[51].real()   = (r3 * cos(3 * M_PI / 20.0));
-          m_64apsk[51].imag()   = (r3 * sin(3 * M_PI / 20.0));
-          m_64apsk[52].real()   = (r1 * cos(M_PI / 8.0));
-          m_64apsk[52].imag()   = (r1 * sin(M_PI / 8.0));
-          m_64apsk[53].real()   = (r4 * cos(M_PI / 20.0));
-          m_64apsk[53].imag()   = (r4 * sin(M_PI / 20.0));
-          m_64apsk[54].real()   = (r2 * cos(M_PI / 16.0));
-          m_64apsk[54].imag()   = (r2 * sin(M_PI / 16.0));
-          m_64apsk[55].real()   = (r3 * cos(M_PI / 20.0));
-          m_64apsk[55].imag()   = (r3 * sin(M_PI / 20.0));
-          m_64apsk[56].real()   = (r1 * cos(5 * M_PI / 8.0));
-          m_64apsk[56].imag()   = (r1 * sin(5 * M_PI / 8.0));
-          m_64apsk[57].real()   = (r4 * cos(17 * M_PI / 20.0));
-          m_64apsk[57].imag()   = (r4 * sin(17 * M_PI / 20.0));
-          m_64apsk[58].real()   = (r2 * cos(13 * M_PI / 16.0));
-          m_64apsk[58].imag()   = (r2 * sin(13 * M_PI / 16.0));
-          m_64apsk[59].real()   = (r3 * cos(17 * M_PI / 20.0));
-          m_64apsk[59].imag()   = (r3 * sin(17 * M_PI / 20.0));
-          m_64apsk[60].real()   = (r1 * cos(7 * M_PI / 8.0));
-          m_64apsk[60].imag()   = (r1 * sin(7 * M_PI / 8.0));
-          m_64apsk[61].real()   = (r4 * cos(19 * M_PI / 20.0));
-          m_64apsk[61].imag()   = (r4 * sin(19 * M_PI / 20.0));
-          m_64apsk[62].real()   = (r2 * cos(15 * M_PI / 16.0));
-          m_64apsk[62].imag()   = (r2 * sin(15 * M_PI / 16.0));
-          m_64apsk[63].real()   = (r3 * cos(19 * M_PI / 20.0));
-          m_64apsk[63].imag()   = (r3 * sin(19 * M_PI / 20.0));
+          m_64apsk[0] = gr_complex((r2 * cos(25 * M_PI / 16.0)), (r2 * sin(25 
* M_PI / 16.0)));
+          m_64apsk[1] = gr_complex((r4 * cos(7 * M_PI / 4.0)), (r4 * sin(7 * 
M_PI / 4.0)));
+          m_64apsk[2] = gr_complex((r2 * cos(27 * M_PI / 16.0)), (r2 * sin(27 
* M_PI / 16.0)));
+          m_64apsk[3] = gr_complex((r3 * cos(7 * M_PI / 4.0)), (r3 * sin(7 * 
M_PI / 4.0)));
+          m_64apsk[4] = gr_complex((r4 * cos(31 * M_PI / 20.0)), (r4 * sin(31 
* M_PI / 20.0)));
+          m_64apsk[5] = gr_complex((r4 * cos(33 * M_PI / 20.0)), (r4 * sin(33 
* M_PI / 20.0)));
+          m_64apsk[6] = gr_complex((r3 * cos(31 * M_PI / 20.0)), (r3 * sin(31 
* M_PI / 20.0)));
+          m_64apsk[7] = gr_complex((r3 * cos(33 * M_PI / 20.0)), (r3 * sin(33 
* M_PI / 20.0)));
+          m_64apsk[8] = gr_complex((r2 * cos(23 * M_PI / 16.0)), (r2 * sin(23 
* M_PI / 16.0)));
+          m_64apsk[9] = gr_complex((r4 * cos(5 * M_PI / 4.0)), (r4 * sin(5 * 
M_PI / 4.0)));
+          m_64apsk[10] = gr_complex((r2 * cos(21 * M_PI / 16.0)), (r2 * sin(21 
* M_PI / 16.0)));
+          m_64apsk[11] = gr_complex((r3 * cos(5 * M_PI / 4.0)), (r3 * sin(5 * 
M_PI / 4.0)));
+          m_64apsk[12] = gr_complex((r4 * cos(29 * M_PI / 20.0)), (r4 * sin(29 
* M_PI / 20.0)));
+          m_64apsk[13] = gr_complex((r4 * cos(27 * M_PI / 20.0)), (r4 * sin(27 
* M_PI / 20.0)));
+          m_64apsk[14] = gr_complex((r3 * cos(29 * M_PI / 20.0)), (r3 * sin(29 
* M_PI / 20.0)));
+          m_64apsk[15] = gr_complex((r3 * cos(27 * M_PI / 20.0)), (r3 * sin(27 
* M_PI / 20.0)));
+          m_64apsk[16] = gr_complex((r1 * cos(13 * M_PI / 8.0)), (r1 * sin(13 
* M_PI / 8.0)));
+          m_64apsk[17] = gr_complex((r4 * cos(37 * M_PI / 20.0)), (r4 * sin(37 
* M_PI / 20.0)));
+          m_64apsk[18] = gr_complex((r2 * cos(29 * M_PI / 16.0)), (r2 * sin(29 
* M_PI / 16.0)));
+          m_64apsk[19] = gr_complex((r3 * cos(37 * M_PI / 20.0)), (r3 * sin(37 
* M_PI / 20.0)));
+          m_64apsk[20] = gr_complex((r1 * cos(15 * M_PI / 8.0)), (r1 * sin(15 
* M_PI / 8.0)));
+          m_64apsk[21] = gr_complex((r4 * cos(39 * M_PI / 20.0)), (r4 * sin(39 
* M_PI / 20.0)));
+          m_64apsk[22] = gr_complex((r2 * cos(31 * M_PI / 16.0)), (r2 * sin(31 
* M_PI / 16.0)));
+          m_64apsk[23] = gr_complex((r3 * cos(39 * M_PI / 20.0)), (r3 * sin(39 
* M_PI / 20.0)));
+          m_64apsk[24] = gr_complex((r1 * cos(11 * M_PI / 8.0)), (r1 * sin(11 
* M_PI / 8.0)));
+          m_64apsk[25] = gr_complex((r4 * cos(23 * M_PI / 20.0)), (r4 * sin(23 
* M_PI / 20.0)));
+          m_64apsk[26] = gr_complex((r2 * cos(19 * M_PI / 16.0)), (r2 * sin(19 
* M_PI / 16.0)));
+          m_64apsk[27] = gr_complex((r3 * cos(23 * M_PI / 20.0)), (r3 * sin(23 
* M_PI / 20.0)));
+          m_64apsk[28] = gr_complex((r1 * cos(9 * M_PI / 8.0)), (r1 * sin(9 * 
M_PI / 8.0)));
+          m_64apsk[29] = gr_complex((r4 * cos(21 * M_PI / 20.0)), (r4 * sin(21 
* M_PI / 20.0)));
+          m_64apsk[30] = gr_complex((r2 * cos(17 * M_PI / 16.0)), (r2 * sin(17 
* M_PI / 16.0)));
+          m_64apsk[31] = gr_complex((r3 * cos(21 * M_PI / 20.0)), (r3 * sin(21 
* M_PI / 20.0)));
+          m_64apsk[32] = gr_complex((r2 * cos(7 * M_PI / 16.0)), (r2 * sin(7 * 
M_PI / 16.0)));
+          m_64apsk[33] = gr_complex((r4 * cos(M_PI / 4.0)), (r4 * sin(M_PI / 
4.0)));
+          m_64apsk[34] = gr_complex((r2 * cos(5 * M_PI / 16.0)), (r2 * sin(5 * 
M_PI / 16.0)));
+          m_64apsk[35] = gr_complex((r3 * cos(M_PI / 4.0)), (r3 * sin(M_PI / 
4.0)));
+          m_64apsk[36] = gr_complex((r4 * cos(9 * M_PI / 20.0)), (r4 * sin(9 * 
M_PI / 20.0)));
+          m_64apsk[37] = gr_complex((r4 * cos(7 * M_PI / 20.0)), (r4 * sin(7 * 
M_PI / 20.0)));
+          m_64apsk[38] = gr_complex((r3 * cos(9 * M_PI / 20.0)), (r3 * sin(9 * 
M_PI / 20.0)));
+          m_64apsk[39] = gr_complex((r3 * cos(7 * M_PI / 20.0)), (r3 * sin(7 * 
M_PI / 20.0)));
+          m_64apsk[40] = gr_complex((r2 * cos(9 * M_PI / 16.0)), (r2 * sin(9 * 
M_PI / 16.0)));
+          m_64apsk[41] = gr_complex((r4 * cos(3 * M_PI / 4.0)), (r4 * sin(3 * 
M_PI / 4.0)));
+          m_64apsk[42] = gr_complex((r2 * cos(11 * M_PI / 16.0)), (r2 * sin(11 
* M_PI / 16.0)));
+          m_64apsk[43] = gr_complex((r3 * cos(3 * M_PI / 4.0)), (r3 * sin(3 * 
M_PI / 4.0)));
+          m_64apsk[44] = gr_complex((r4 * cos(11 * M_PI / 20.0)), (r4 * sin(11 
* M_PI / 20.0)));
+          m_64apsk[45] = gr_complex((r4 * cos(13 * M_PI / 20.0)), (r4 * sin(13 
* M_PI / 20.0)));
+          m_64apsk[46] = gr_complex((r3 * cos(11 * M_PI / 20.0)), (r3 * sin(11 
* M_PI / 20.0)));
+          m_64apsk[47] = gr_complex((r3 * cos(13 * M_PI / 20.0)), (r3 * sin(13 
* M_PI / 20.0)));
+          m_64apsk[48] = gr_complex((r1 * cos(3 * M_PI / 8.0)), (r1 * sin(3 * 
M_PI / 8.0)));
+          m_64apsk[49] = gr_complex((r4 * cos(3 * M_PI / 20.0)), (r4 * sin(3 * 
M_PI / 20.0)));
+          m_64apsk[50] = gr_complex((r2 * cos(3 * M_PI / 16.0)), (r2 * sin(3 * 
M_PI / 16.0)));
+          m_64apsk[51] = gr_complex((r3 * cos(3 * M_PI / 20.0)), (r3 * sin(3 * 
M_PI / 20.0)));
+          m_64apsk[52] = gr_complex((r1 * cos(M_PI / 8.0)), (r1 * sin(M_PI / 
8.0)));
+          m_64apsk[53] = gr_complex((r4 * cos(M_PI / 20.0)), (r4 * sin(M_PI / 
20.0)));
+          m_64apsk[54] = gr_complex((r2 * cos(M_PI / 16.0)), (r2 * sin(M_PI / 
16.0)));
+          m_64apsk[55] = gr_complex((r3 * cos(M_PI / 20.0)), (r3 * sin(M_PI / 
20.0)));
+          m_64apsk[56] = gr_complex((r1 * cos(5 * M_PI / 8.0)), (r1 * sin(5 * 
M_PI / 8.0)));
+          m_64apsk[57] = gr_complex((r4 * cos(17 * M_PI / 20.0)), (r4 * sin(17 
* M_PI / 20.0)));
+          m_64apsk[58] = gr_complex((r2 * cos(13 * M_PI / 16.0)), (r2 * sin(13 
* M_PI / 16.0)));
+          m_64apsk[59] = gr_complex((r3 * cos(17 * M_PI / 20.0)), (r3 * sin(17 
* M_PI / 20.0)));
+          m_64apsk[60] = gr_complex((r1 * cos(7 * M_PI / 8.0)), (r1 * sin(7 * 
M_PI / 8.0)));
+          m_64apsk[61] = gr_complex((r4 * cos(19 * M_PI / 20.0)), (r4 * sin(19 
* M_PI / 20.0)));
+          m_64apsk[62] = gr_complex((r2 * cos(15 * M_PI / 16.0)), (r2 * sin(15 
* M_PI / 16.0)));
+          m_64apsk[63] = gr_complex((r3 * cos(19 * M_PI / 20.0)), (r3 * sin(19 
* M_PI / 20.0)));
           break;
         case MOD_4_12_20_28APSK:
           r4 = m;
@@ -929,134 +619,70 @@ namespace gr {
               r3 = 0;
               break;
           }
-          m_64apsk[0].real()   = (r4 * cos(M_PI / 4.0));
-          m_64apsk[0].imag()   = (r4 * sin(M_PI / 4.0));
-          m_64apsk[1].real()   = (r4 * cos(7 * M_PI / 4.0));
-          m_64apsk[1].imag()   = (r4 * sin(7 * M_PI / 4.0));
-          m_64apsk[2].real()   = (r4 * cos(3 * M_PI / 4.0));
-          m_64apsk[2].imag()   = (r4 * sin(3 * M_PI / 4.0));
-          m_64apsk[3].real()   = (r4 * cos(5 * M_PI / 4.0));
-          m_64apsk[3].imag()   = (r4 * sin(5 * M_PI / 4.0));
-          m_64apsk[4].real()   = (r4 * cos(13 * M_PI / 28.0));
-          m_64apsk[4].imag()   = (r4 * sin(13 * M_PI / 28.0));
-          m_64apsk[5].real()   = (r4 * cos(43 * M_PI / 28.0));
-          m_64apsk[5].imag()   = (r4 * sin(43 * M_PI / 28.0));
-          m_64apsk[6].real()   = (r4 * cos(15 * M_PI / 28.0));
-          m_64apsk[6].imag()   = (r4 * sin(15 * M_PI / 28.0));
-          m_64apsk[7].real()   = (r4 * cos(41 * M_PI / 28.0));
-          m_64apsk[7].imag()   = (r4 * sin(41 * M_PI / 28.0));
-          m_64apsk[8].real()   = (r4 * cos(M_PI / 28.0));
-          m_64apsk[8].imag()   = (r4 * sin(M_PI / 28.0));
-          m_64apsk[9].real()   = (r4 * cos(55 * M_PI / 28.0));
-          m_64apsk[9].imag()   = (r4 * sin(55 * M_PI / 28.0));
-          m_64apsk[10].real()   = (r4 * cos(27 * M_PI / 28.0));
-          m_64apsk[10].imag()   = (r4 * sin(27 * M_PI / 28.0));
-          m_64apsk[11].real()   = (r4 * cos(29 * M_PI / 28.0));
-          m_64apsk[11].imag()   = (r4 * sin(29 * M_PI / 28.0));
-          m_64apsk[12].real()   = (r1 * cos(M_PI / 4.0));
-          m_64apsk[12].imag()   = (r1 * sin(M_PI / 4.0));
-          m_64apsk[13].real()   = (r1 * cos(7 * M_PI / 4.0));
-          m_64apsk[13].imag()   = (r1 * sin(7 * M_PI / 4.0));
-          m_64apsk[14].real()   = (r1 * cos(3 * M_PI / 4.0));
-          m_64apsk[14].imag()   = (r1 * sin(3 * M_PI / 4.0));
-          m_64apsk[15].real()   = (r1 * cos(5 * M_PI / 4.0));
-          m_64apsk[15].imag()   = (r1 * sin(5 * M_PI / 4.0));
-          m_64apsk[16].real()   = (r4 * cos(9 * M_PI / 28.0));
-          m_64apsk[16].imag()   = (r4 * sin(9 * M_PI / 28.0));
-          m_64apsk[17].real()   = (r4 * cos(47 * M_PI / 28.0));
-          m_64apsk[17].imag()   = (r4 * sin(47 * M_PI / 28.0));
-          m_64apsk[18].real()   = (r4 * cos(19 * M_PI / 28.0));
-          m_64apsk[18].imag()   = (r4 * sin(19 * M_PI / 28.0));
-          m_64apsk[19].real()   = (r4 * cos(37 * M_PI / 28.0));
-          m_64apsk[19].imag()   = (r4 * sin(37 * M_PI / 28.0));
-          m_64apsk[20].real()   = (r4 * cos(11 * M_PI / 28.0));
-          m_64apsk[20].imag()   = (r4 * sin(11 * M_PI / 28.0));
-          m_64apsk[21].real()   = (r4 * cos(45 * M_PI / 28.0));
-          m_64apsk[21].imag()   = (r4 * sin(45 * M_PI / 28.0));
-          m_64apsk[22].real()   = (r4 * cos(17 * M_PI / 28.0));
-          m_64apsk[22].imag()   = (r4 * sin(17 * M_PI / 28.0));
-          m_64apsk[23].real()   = (r4 * cos(39 * M_PI / 28.0));
-          m_64apsk[23].imag()   = (r4 * sin(39 * M_PI / 28.0));
-          m_64apsk[24].real()   = (r3 * cos(M_PI / 20.0));
-          m_64apsk[24].imag()   = (r3 * sin(M_PI / 20.0));
-          m_64apsk[25].real()   = (r3 * cos(39 * M_PI / 20.0));
-          m_64apsk[25].imag()   = (r3 * sin(39 * M_PI / 20.0));
-          m_64apsk[26].real()   = (r3 * cos(19 * M_PI / 20.0));
-          m_64apsk[26].imag()   = (r3 * sin(19 * M_PI / 20.0));
-          m_64apsk[27].real()   = (r3 * cos(21 * M_PI / 20.0));
-          m_64apsk[27].imag()   = (r3 * sin(21 * M_PI / 20.0));
-          m_64apsk[28].real()   = (r2 * cos(M_PI / 12.0));
-          m_64apsk[28].imag()   = (r2 * sin(M_PI / 12.0));
-          m_64apsk[29].real()   = (r2 * cos(23 * M_PI / 12.0));
-          m_64apsk[29].imag()   = (r2 * sin(23 * M_PI / 12.0));
-          m_64apsk[30].real()   = (r2 * cos(11 * M_PI / 12.0));
-          m_64apsk[30].imag()   = (r2 * sin(11 * M_PI / 12.0));
-          m_64apsk[31].real()   = (r2 * cos(13 * M_PI / 12.0));
-          m_64apsk[31].imag()   = (r2 * sin(13 * M_PI / 12.0));
-          m_64apsk[32].real()   = (r4 * cos(5 * M_PI / 28.0));
-          m_64apsk[32].imag()   = (r4 * sin(5 * M_PI / 28.0));
-          m_64apsk[33].real()   = (r4 * cos(51 * M_PI / 28.0));
-          m_64apsk[33].imag()   = (r4 * sin(51 * M_PI / 28.0));
-          m_64apsk[34].real()   = (r4 * cos(23 * M_PI / 28.0));
-          m_64apsk[34].imag()   = (r4 * sin(23 * M_PI / 28.0));
-          m_64apsk[35].real()   = (r4 * cos(33 * M_PI / 28.0));
-          m_64apsk[35].imag()   = (r4 * sin(33 * M_PI / 28.0));
-          m_64apsk[36].real()   = (r3 * cos(9 * M_PI / 20.0));
-          m_64apsk[36].imag()   = (r3 * sin(9 * M_PI / 20.0));
-          m_64apsk[37].real()   = (r3 * cos(31 * M_PI / 20.0));
-          m_64apsk[37].imag()   = (r3 * sin(31 * M_PI / 20.0));
-          m_64apsk[38].real()   = (r3 * cos(11 * M_PI / 20.0));
-          m_64apsk[38].imag()   = (r3 * sin(11 * M_PI / 20.0));
-          m_64apsk[39].real()   = (r3 * cos(29 * M_PI / 20.0));
-          m_64apsk[39].imag()   = (r3 * sin(29 * M_PI / 20.0));
-          m_64apsk[40].real()   = (r4 * cos(3 * M_PI / 28.0));
-          m_64apsk[40].imag()   = (r4 * sin(3 * M_PI / 28.0));
-          m_64apsk[41].real()   = (r4 * cos(53 * M_PI / 28.0));
-          m_64apsk[41].imag()   = (r4 * sin(53 * M_PI / 28.0));
-          m_64apsk[42].real()   = (r4 * cos(25 * M_PI / 28.0));
-          m_64apsk[42].imag()   = (r4 * sin(25 * M_PI / 28.0));
-          m_64apsk[43].real()   = (r4 * cos(31 * M_PI / 28.0));
-          m_64apsk[43].imag()   = (r4 * sin(31 * M_PI / 28.0));
-          m_64apsk[44].real()   = (r2 * cos(5 * M_PI / 12.0));
-          m_64apsk[44].imag()   = (r2 * sin(5 * M_PI / 12.0));
-          m_64apsk[45].real()   = (r2 * cos(19 * M_PI / 12.0));
-          m_64apsk[45].imag()   = (r2 * sin(19 * M_PI / 12.0));
-          m_64apsk[46].real()   = (r2 * cos(7 * M_PI / 12.0));
-          m_64apsk[46].imag()   = (r2 * sin(7 * M_PI / 12.0));
-          m_64apsk[47].real()   = (r2 * cos(17 * M_PI / 12.0));
-          m_64apsk[47].imag()   = (r2 * sin(17 * M_PI / 12.0));
-          m_64apsk[48].real()   = (r3 * cos(M_PI / 4.0));
-          m_64apsk[48].imag()   = (r3 * sin(M_PI / 4.0));
-          m_64apsk[49].real()   = (r3 * cos(7 * M_PI / 4.0));
-          m_64apsk[49].imag()   = (r3 * sin(7 * M_PI / 4.0));
-          m_64apsk[50].real()   = (r3 * cos(3 * M_PI / 4.0));
-          m_64apsk[50].imag()   = (r3 * sin(3 * M_PI / 4.0));
-          m_64apsk[51].real()   = (r3 * cos(5 * M_PI / 4.0));
-          m_64apsk[51].imag()   = (r3 * sin(5 * M_PI / 4.0));
-          m_64apsk[52].real()   = (r3 * cos(7 * M_PI / 20.0));
-          m_64apsk[52].imag()   = (r3 * sin(7 * M_PI / 20.0));
-          m_64apsk[53].real()   = (r3 * cos(33 * M_PI / 20.0));
-          m_64apsk[53].imag()   = (r3 * sin(33 * M_PI / 20.0));
-          m_64apsk[54].real()   = (r3 * cos(13 * M_PI / 20.0));
-          m_64apsk[54].imag()   = (r3 * sin(13 * M_PI / 20.0));
-          m_64apsk[55].real()   = (r3 * cos(27 * M_PI / 20.0));
-          m_64apsk[55].imag()   = (r3 * sin(27 * M_PI / 20.0));
-          m_64apsk[56].real()   = (r3 * cos(3 * M_PI / 20.0));
-          m_64apsk[56].imag()   = (r3 * sin(3 * M_PI / 20.0));
-          m_64apsk[57].real()   = (r3 * cos(37 * M_PI / 20.0));
-          m_64apsk[57].imag()   = (r3 * sin(37 * M_PI / 20.0));
-          m_64apsk[58].real()   = (r3 * cos(17 * M_PI / 20.0));
-          m_64apsk[58].imag()   = (r3 * sin(17 * M_PI / 20.0));
-          m_64apsk[59].real()   = (r3 * cos(23 * M_PI / 20.0));
-          m_64apsk[59].imag()   = (r3 * sin(23 * M_PI / 20.0));
-          m_64apsk[60].real()   = (r2 * cos(M_PI / 4.0));
-          m_64apsk[60].imag()   = (r2 * sin(M_PI / 4.0));
-          m_64apsk[61].real()   = (r2 * cos(7 * M_PI / 4.0));
-          m_64apsk[61].imag()   = (r2 * sin(7 * M_PI / 4.0));
-          m_64apsk[62].real()   = (r2 * cos(3 * M_PI / 4.0));
-          m_64apsk[62].imag()   = (r2 * sin(3 * M_PI / 4.0));
-          m_64apsk[63].real()   = (r2 * cos(5 * M_PI / 4.0));
-          m_64apsk[63].imag()   = (r2 * sin(5 * M_PI / 4.0));
+          m_64apsk[0] = gr_complex((r4 * cos(M_PI / 4.0)), (r4 * sin(M_PI / 
4.0)));
+          m_64apsk[1] = gr_complex((r4 * cos(7 * M_PI / 4.0)), (r4 * sin(7 * 
M_PI / 4.0)));
+          m_64apsk[2] = gr_complex((r4 * cos(3 * M_PI / 4.0)), (r4 * sin(3 * 
M_PI / 4.0)));
+          m_64apsk[3] = gr_complex((r4 * cos(5 * M_PI / 4.0)), (r4 * sin(5 * 
M_PI / 4.0)));
+          m_64apsk[4] = gr_complex((r4 * cos(13 * M_PI / 28.0)), (r4 * sin(13 
* M_PI / 28.0)));
+          m_64apsk[5] = gr_complex((r4 * cos(43 * M_PI / 28.0)), (r4 * sin(43 
* M_PI / 28.0)));
+          m_64apsk[6] = gr_complex((r4 * cos(15 * M_PI / 28.0)), (r4 * sin(15 
* M_PI / 28.0)));
+          m_64apsk[7] = gr_complex((r4 * cos(41 * M_PI / 28.0)), (r4 * sin(41 
* M_PI / 28.0)));
+          m_64apsk[8] = gr_complex((r4 * cos(M_PI / 28.0)), (r4 * sin(M_PI / 
28.0)));
+          m_64apsk[9] = gr_complex((r4 * cos(55 * M_PI / 28.0)), (r4 * sin(55 
* M_PI / 28.0)));
+          m_64apsk[10] = gr_complex((r4 * cos(27 * M_PI / 28.0)), (r4 * sin(27 
* M_PI / 28.0)));
+          m_64apsk[11] = gr_complex((r4 * cos(29 * M_PI / 28.0)), (r4 * sin(29 
* M_PI / 28.0)));
+          m_64apsk[12] = gr_complex((r1 * cos(M_PI / 4.0)), (r1 * sin(M_PI / 
4.0)));
+          m_64apsk[13] = gr_complex((r1 * cos(7 * M_PI / 4.0)), (r1 * sin(7 * 
M_PI / 4.0)));
+          m_64apsk[14] = gr_complex((r1 * cos(3 * M_PI / 4.0)), (r1 * sin(3 * 
M_PI / 4.0)));
+          m_64apsk[15] = gr_complex((r1 * cos(5 * M_PI / 4.0)), (r1 * sin(5 * 
M_PI / 4.0)));
+          m_64apsk[16] = gr_complex((r4 * cos(9 * M_PI / 28.0)), (r4 * sin(9 * 
M_PI / 28.0)));
+          m_64apsk[17] = gr_complex((r4 * cos(47 * M_PI / 28.0)), (r4 * sin(47 
* M_PI / 28.0)));
+          m_64apsk[18] = gr_complex((r4 * cos(19 * M_PI / 28.0)), (r4 * sin(19 
* M_PI / 28.0)));
+          m_64apsk[19] = gr_complex((r4 * cos(37 * M_PI / 28.0)), (r4 * sin(37 
* M_PI / 28.0)));
+          m_64apsk[20] = gr_complex((r4 * cos(11 * M_PI / 28.0)), (r4 * sin(11 
* M_PI / 28.0)));
+          m_64apsk[21] = gr_complex((r4 * cos(45 * M_PI / 28.0)), (r4 * sin(45 
* M_PI / 28.0)));
+          m_64apsk[22] = gr_complex((r4 * cos(17 * M_PI / 28.0)), (r4 * sin(17 
* M_PI / 28.0)));
+          m_64apsk[23] = gr_complex((r4 * cos(39 * M_PI / 28.0)), (r4 * sin(39 
* M_PI / 28.0)));
+          m_64apsk[24] = gr_complex((r3 * cos(M_PI / 20.0)), (r3 * sin(M_PI / 
20.0)));
+          m_64apsk[25] = gr_complex((r3 * cos(39 * M_PI / 20.0)), (r3 * sin(39 
* M_PI / 20.0)));
+          m_64apsk[26] = gr_complex((r3 * cos(19 * M_PI / 20.0)), (r3 * sin(19 
* M_PI / 20.0)));
+          m_64apsk[27] = gr_complex((r3 * cos(21 * M_PI / 20.0)), (r3 * sin(21 
* M_PI / 20.0)));
+          m_64apsk[28] = gr_complex((r2 * cos(M_PI / 12.0)), (r2 * sin(M_PI / 
12.0)));
+          m_64apsk[29] = gr_complex((r2 * cos(23 * M_PI / 12.0)), (r2 * sin(23 
* M_PI / 12.0)));
+          m_64apsk[30] = gr_complex((r2 * cos(11 * M_PI / 12.0)), (r2 * sin(11 
* M_PI / 12.0)));
+          m_64apsk[31] = gr_complex((r2 * cos(13 * M_PI / 12.0)), (r2 * sin(13 
* M_PI / 12.0)));
+          m_64apsk[32] = gr_complex((r4 * cos(5 * M_PI / 28.0)), (r4 * sin(5 * 
M_PI / 28.0)));
+          m_64apsk[33] = gr_complex((r4 * cos(51 * M_PI / 28.0)), (r4 * sin(51 
* M_PI / 28.0)));
+          m_64apsk[34] = gr_complex((r4 * cos(23 * M_PI / 28.0)), (r4 * sin(23 
* M_PI / 28.0)));
+          m_64apsk[35] = gr_complex((r4 * cos(33 * M_PI / 28.0)), (r4 * sin(33 
* M_PI / 28.0)));
+          m_64apsk[36] = gr_complex((r3 * cos(9 * M_PI / 20.0)), (r3 * sin(9 * 
M_PI / 20.0)));
+          m_64apsk[37] = gr_complex((r3 * cos(31 * M_PI / 20.0)), (r3 * sin(31 
* M_PI / 20.0)));
+          m_64apsk[38] = gr_complex((r3 * cos(11 * M_PI / 20.0)), (r3 * sin(11 
* M_PI / 20.0)));
+          m_64apsk[39] = gr_complex((r3 * cos(29 * M_PI / 20.0)), (r3 * sin(29 
* M_PI / 20.0)));
+          m_64apsk[40] = gr_complex((r4 * cos(3 * M_PI / 28.0)), (r4 * sin(3 * 
M_PI / 28.0)));
+          m_64apsk[41] = gr_complex((r4 * cos(53 * M_PI / 28.0)), (r4 * sin(53 
* M_PI / 28.0)));
+          m_64apsk[42] = gr_complex((r4 * cos(25 * M_PI / 28.0)), (r4 * sin(25 
* M_PI / 28.0)));
+          m_64apsk[43] = gr_complex((r4 * cos(31 * M_PI / 28.0)), (r4 * sin(31 
* M_PI / 28.0)));
+          m_64apsk[44] = gr_complex((r2 * cos(5 * M_PI / 12.0)), (r2 * sin(5 * 
M_PI / 12.0)));
+          m_64apsk[45] = gr_complex((r2 * cos(19 * M_PI / 12.0)), (r2 * sin(19 
* M_PI / 12.0)));
+          m_64apsk[46] = gr_complex((r2 * cos(7 * M_PI / 12.0)), (r2 * sin(7 * 
M_PI / 12.0)));
+          m_64apsk[47] = gr_complex((r2 * cos(17 * M_PI / 12.0)), (r2 * sin(17 
* M_PI / 12.0)));
+          m_64apsk[48] = gr_complex((r3 * cos(M_PI / 4.0)), (r3 * sin(M_PI / 
4.0)));
+          m_64apsk[49] = gr_complex((r3 * cos(7 * M_PI / 4.0)), (r3 * sin(7 * 
M_PI / 4.0)));
+          m_64apsk[50] = gr_complex((r3 * cos(3 * M_PI / 4.0)), (r3 * sin(3 * 
M_PI / 4.0)));
+          m_64apsk[51] = gr_complex((r3 * cos(5 * M_PI / 4.0)), (r3 * sin(5 * 
M_PI / 4.0)));
+          m_64apsk[52] = gr_complex((r3 * cos(7 * M_PI / 20.0)), (r3 * sin(7 * 
M_PI / 20.0)));
+          m_64apsk[53] = gr_complex((r3 * cos(33 * M_PI / 20.0)), (r3 * sin(33 
* M_PI / 20.0)));
+          m_64apsk[54] = gr_complex((r3 * cos(13 * M_PI / 20.0)), (r3 * sin(13 
* M_PI / 20.0)));
+          m_64apsk[55] = gr_complex((r3 * cos(27 * M_PI / 20.0)), (r3 * sin(27 
* M_PI / 20.0)));
+          m_64apsk[56] = gr_complex((r3 * cos(3 * M_PI / 20.0)), (r3 * sin(3 * 
M_PI / 20.0)));
+          m_64apsk[57] = gr_complex((r3 * cos(37 * M_PI / 20.0)), (r3 * sin(37 
* M_PI / 20.0)));
+          m_64apsk[58] = gr_complex((r3 * cos(17 * M_PI / 20.0)), (r3 * sin(17 
* M_PI / 20.0)));
+          m_64apsk[59] = gr_complex((r3 * cos(23 * M_PI / 20.0)), (r3 * sin(23 
* M_PI / 20.0)));
+          m_64apsk[60] = gr_complex((r2 * cos(M_PI / 4.0)), (r2 * sin(M_PI / 
4.0)));
+          m_64apsk[61] = gr_complex((r2 * cos(7 * M_PI / 4.0)), (r2 * sin(7 * 
M_PI / 4.0)));
+          m_64apsk[62] = gr_complex((r2 * cos(3 * M_PI / 4.0)), (r2 * sin(3 * 
M_PI / 4.0)));
+          m_64apsk[63] = gr_complex((r2 * cos(5 * M_PI / 4.0)), (r2 * sin(5 * 
M_PI / 4.0)));
           break;
         case MOD_128APSK:
           r6 = m;
@@ -1083,1298 +709,656 @@ namespace gr {
               r5 = 0;
               break;
           }
-          m_128apsk[0].real()   = (r1 * cos(83 * M_PI / 1260.0));
-          m_128apsk[0].imag()   = (r1 * sin(83 * M_PI / 1260.0));
-          m_128apsk[1].real()   = (r6 * cos(11 * M_PI / 105.0));
-          m_128apsk[1].imag()   = (r6 * sin(11 * M_PI / 105.0));
-          m_128apsk[2].real()   = (r6 * cos(37 * M_PI / 1680.0));
-          m_128apsk[2].imag()   = (r6 * sin(37 * M_PI / 1680.0));
-          m_128apsk[3].real()   = (r6 * cos(11 * M_PI / 168.0));
-          m_128apsk[3].imag()   = (r6 * sin(11 * M_PI / 168.0));
-          m_128apsk[4].real()   = (r2 * cos(121 * M_PI / 2520.0));
-          m_128apsk[4].imag()   = (r2 * sin(121 * M_PI / 2520.0));
-          m_128apsk[5].real()   = (r3 * cos(23 * M_PI / 280.0));
-          m_128apsk[5].imag()   = (r3 * sin(23 * M_PI / 280.0));
-          m_128apsk[6].real()   = (r5 * cos(19 * M_PI / 720.0));
-          m_128apsk[6].imag()   = (r5 * sin(19 * M_PI / 720.0));
-          m_128apsk[7].real()   = (r4 * cos(61 * M_PI / 720.0));
-          m_128apsk[7].imag()   = (r4 * sin(61 * M_PI / 720.0));
-          m_128apsk[8].real()   = (r1 * cos(103 * M_PI / 560.0));
-          m_128apsk[8].imag()   = (r1 * sin(103 * M_PI / 560.0));
-          m_128apsk[9].real()   = (r6 * cos(61 * M_PI / 420.0));
-          m_128apsk[9].imag()   = (r6 * sin(61 * M_PI / 420.0));
-          m_128apsk[10].real()   = (r6 * cos(383 * M_PI / 1680.0));
-          m_128apsk[10].imag()   = (r6 * sin(383 * M_PI / 1680.0));
-          m_128apsk[11].real()   = (r6 * cos(929 * M_PI / 5040.0));
-          m_128apsk[11].imag()   = (r6 * sin(929 * M_PI / 5040.0));
-          m_128apsk[12].real()   = (r2 * cos(113 * M_PI / 560.0));
-          m_128apsk[12].imag()   = (r2 * sin(113 * M_PI / 560.0));
-          m_128apsk[13].real()   = (r3 * cos(169 * M_PI / 1008.0));
-          m_128apsk[13].imag()   = (r3 * sin(169 * M_PI / 1008.0));
-          m_128apsk[14].real()   = (r5 * cos(563 * M_PI / 2520.0));
-          m_128apsk[14].imag()   = (r5 * sin(563 * M_PI / 2520.0));
-          m_128apsk[15].real()   = (r4 * cos(139 * M_PI / 840.0));
-          m_128apsk[15].imag()   = (r4 * sin(139 * M_PI / 840.0));
-          m_128apsk[16].real()   = (r1 * cos(243 * M_PI / 560.0));
-          m_128apsk[16].imag()   = (r1 * sin(243 * M_PI / 560.0));
-          m_128apsk[17].real()   = (r6 * cos(1993 * M_PI / 5040.0));
-          m_128apsk[17].imag()   = (r6 * sin(1993 * M_PI / 5040.0));
-          m_128apsk[18].real()   = (r6 * cos(43 * M_PI / 90.0));
-          m_128apsk[18].imag()   = (r6 * sin(43 * M_PI / 90.0));
-          m_128apsk[19].real()   = (r6 * cos(73 * M_PI / 168.0));
-          m_128apsk[19].imag()   = (r6 * sin(73 * M_PI / 168.0));
-          m_128apsk[20].real()   = (r2 * cos(1139 * M_PI / 2520.0));
-          m_128apsk[20].imag()   = (r2 * sin(1139 * M_PI / 2520.0));
-          m_128apsk[21].real()   = (r3 * cos(117 * M_PI / 280.0));
-          m_128apsk[21].imag()   = (r3 * sin(117 * M_PI / 280.0));
-          m_128apsk[22].real()   = (r5 * cos(341 * M_PI / 720.0));
-          m_128apsk[22].imag()   = (r5 * sin(341 * M_PI / 720.0));
-          m_128apsk[23].real()   = (r4 * cos(349 * M_PI / 840.0));
-          m_128apsk[23].imag()   = (r4 * sin(349 * M_PI / 840.0));
-          m_128apsk[24].real()   = (r1 * cos(177 * M_PI / 560.0));
-          m_128apsk[24].imag()   = (r1 * sin(177 * M_PI / 560.0));
-          m_128apsk[25].real()   = (r6 * cos(1789 * M_PI / 5040.0));
-          m_128apsk[25].imag()   = (r6 * sin(1789 * M_PI / 5040.0));
-          m_128apsk[26].real()   = (r6 * cos(49 * M_PI / 180.0));
-          m_128apsk[26].imag()   = (r6 * sin(49 * M_PI / 180.0));
-          m_128apsk[27].real()   = (r6 * cos(53 * M_PI / 168.0));
-          m_128apsk[27].imag()   = (r6 * sin(53 * M_PI / 168.0));
-          m_128apsk[28].real()   = (r2 * cos(167 * M_PI / 560.0));
-          m_128apsk[28].imag()   = (r2 * sin(167 * M_PI / 560.0));
-          m_128apsk[29].real()   = (r3 * cos(239 * M_PI / 720.0));
-          m_128apsk[29].imag()   = (r3 * sin(239 * M_PI / 720.0));
-          m_128apsk[30].real()   = (r5 * cos(199 * M_PI / 720.0));
-          m_128apsk[30].imag()   = (r5 * sin(199 * M_PI / 720.0));
-          m_128apsk[31].real()   = (r4 * cos(281 * M_PI / 840.0));
-          m_128apsk[31].imag()   = (r4 * sin(281 * M_PI / 840.0));
-          m_128apsk[32].real()   = (r1 * cos(1177 * M_PI / 1260.0));
-          m_128apsk[32].imag()   = (r1 * sin(1177 * M_PI / 1260.0));
-          m_128apsk[33].real()   = (r6 * cos(94 * M_PI / 105.0));
-          m_128apsk[33].imag()   = (r6 * sin(94 * M_PI / 105.0));
-          m_128apsk[34].real()   = (r6 * cos(1643 * M_PI / 1680.0));
-          m_128apsk[34].imag()   = (r6 * sin(1643 * M_PI / 1680.0));
-          m_128apsk[35].real()   = (r6 * cos(157 * M_PI / 168.0));
-          m_128apsk[35].imag()   = (r6 * sin(157 * M_PI / 168.0));
-          m_128apsk[36].real()   = (r2 * cos(2399 * M_PI / 2520.0));
-          m_128apsk[36].imag()   = (r2 * sin(2399 * M_PI / 2520.0));
-          m_128apsk[37].real()   = (r3 * cos(257 * M_PI / 280.0));
-          m_128apsk[37].imag()   = (r3 * sin(257 * M_PI / 280.0));
-          m_128apsk[38].real()   = (r5 * cos(701 * M_PI / 720.0));
-          m_128apsk[38].imag()   = (r5 * sin(701 * M_PI / 720.0));
-          m_128apsk[39].real()   = (r4 * cos(659 * M_PI / 720.0));
-          m_128apsk[39].imag()   = (r4 * sin(659 * M_PI / 720.0));
-          m_128apsk[40].real()   = (r1 * cos(457 * M_PI / 560.0));
-          m_128apsk[40].imag()   = (r1 * sin(457 * M_PI / 560.0));
-          m_128apsk[41].real()   = (r6 * cos(359 * M_PI / 420.0));
-          m_128apsk[41].imag()   = (r6 * sin(359 * M_PI / 420.0));
-          m_128apsk[42].real()   = (r6 * cos(1297 * M_PI / 1680.0));
-          m_128apsk[42].imag()   = (r6 * sin(1297 * M_PI / 1680.0));
-          m_128apsk[43].real()   = (r6 * cos(4111 * M_PI / 5040.0));
-          m_128apsk[43].imag()   = (r6 * sin(4111 * M_PI / 5040.0));
-          m_128apsk[44].real()   = (r2 * cos(447 * M_PI / 560.0));
-          m_128apsk[44].imag()   = (r2 * sin(447 * M_PI / 560.0));
-          m_128apsk[45].real()   = (r3 * cos(839 * M_PI / 1008.0));
-          m_128apsk[45].imag()   = (r3 * sin(839 * M_PI / 1008.0));
-          m_128apsk[46].real()   = (r5 * cos(1957 * M_PI / 2520.0));
-          m_128apsk[46].imag()   = (r5 * sin(1957 * M_PI / 2520.0));
-          m_128apsk[47].real()   = (r4 * cos(701 * M_PI / 840.0));
-          m_128apsk[47].imag()   = (r4 * sin(701 * M_PI / 840.0));
-          m_128apsk[48].real()   = (r1 * cos(317 * M_PI / 560.0));
-          m_128apsk[48].imag()   = (r1 * sin(317 * M_PI / 560.0));
-          m_128apsk[49].real()   = (r6 * cos(3047 * M_PI / 5040.0));
-          m_128apsk[49].imag()   = (r6 * sin(3047 * M_PI / 5040.0));
-          m_128apsk[50].real()   = (r6 * cos(47 * M_PI / 90.0));
-          m_128apsk[50].imag()   = (r6 * sin(47 * M_PI / 90.0));
-          m_128apsk[51].real()   = (r6 * cos(95 * M_PI / 168.0));
-          m_128apsk[51].imag()   = (r6 * sin(95 * M_PI / 168.0));
-          m_128apsk[52].real()   = (r2 * cos(1381 * M_PI / 2520.0));
-          m_128apsk[52].imag()   = (r2 * sin(1381 * M_PI / 2520.0));
-          m_128apsk[53].real()   = (r3 * cos(163 * M_PI / 280.0));
-          m_128apsk[53].imag()   = (r3 * sin(163 * M_PI / 280.0));
-          m_128apsk[54].real()   = (r5 * cos(379 * M_PI / 720.0));
-          m_128apsk[54].imag()   = (r5 * sin(379 * M_PI / 720.0));
-          m_128apsk[55].real()   = (r4 * cos(491 * M_PI / 840.0));
-          m_128apsk[55].imag()   = (r4 * sin(491 * M_PI / 840.0));
-          m_128apsk[56].real()   = (r1 * cos(383 * M_PI / 560.0));
-          m_128apsk[56].imag()   = (r1 * sin(383 * M_PI / 560.0));
-          m_128apsk[57].real()   = (r6 * cos(3251 * M_PI / 5040.0));
-          m_128apsk[57].imag()   = (r6 * sin(3251 * M_PI / 5040.0));
-          m_128apsk[58].real()   = (r6 * cos(131 * M_PI / 180.0));
-          m_128apsk[58].imag()   = (r6 * sin(131 * M_PI / 180.0));
-          m_128apsk[59].real()   = (r6 * cos(115 * M_PI / 168.0));
-          m_128apsk[59].imag()   = (r6 * sin(115 * M_PI / 168.0));
-          m_128apsk[60].real()   = (r2 * cos(393 * M_PI / 560.0));
-          m_128apsk[60].imag()   = (r2 * sin(393 * M_PI / 560.0));
-          m_128apsk[61].real()   = (r3 * cos(481 * M_PI / 720.0));
-          m_128apsk[61].imag()   = (r3 * sin(481 * M_PI / 720.0));
-          m_128apsk[62].real()   = (r5 * cos(521 * M_PI / 720.0));
-          m_128apsk[62].imag()   = (r5 * sin(521 * M_PI / 720.0));
-          m_128apsk[63].real()   = (r4 * cos(559 * M_PI / 840.0));
-          m_128apsk[63].imag()   = (r4 * sin(559 * M_PI / 840.0));
-          m_128apsk[64].real()   = (r1 * cos(2437 * M_PI / 1260.0));
-          m_128apsk[64].imag()   = (r1 * sin(2437 * M_PI / 1260.0));
-          m_128apsk[65].real()   = (r6 * cos(199 * M_PI / 105.0));
-          m_128apsk[65].imag()   = (r6 * sin(199 * M_PI / 105.0));
-          m_128apsk[66].real()   = (r6 * cos(3323 * M_PI / 1680.0));
-          m_128apsk[66].imag()   = (r6 * sin(3323 * M_PI / 1680.0));
-          m_128apsk[67].real()   = (r6 * cos(325 * M_PI / 168.0));
-          m_128apsk[67].imag()   = (r6 * sin(325 * M_PI / 168.0));
-          m_128apsk[68].real()   = (r2 * cos(4919 * M_PI / 2520.0));
-          m_128apsk[68].imag()   = (r2 * sin(4919 * M_PI / 2520.0));
-          m_128apsk[69].real()   = (r3 * cos(537 * M_PI / 280.0));
-          m_128apsk[69].imag()   = (r3 * sin(537 * M_PI / 280.0));
-          m_128apsk[70].real()   = (r5 * cos(1421 * M_PI / 720.0));
-          m_128apsk[70].imag()   = (r5 * sin(1421 * M_PI / 720.0));
-          m_128apsk[71].real()   = (r4 * cos(1379 * M_PI / 720.0));
-          m_128apsk[71].imag()   = (r4 * sin(1379 * M_PI / 720.0));
-          m_128apsk[72].real()   = (r1 * cos(1017 * M_PI / 560.0));
-          m_128apsk[72].imag()   = (r1 * sin(1017 * M_PI / 560.0));
-          m_128apsk[73].real()   = (r6 * cos(779 * M_PI / 420.0));
-          m_128apsk[73].imag()   = (r6 * sin(779 * M_PI / 420.0));
-          m_128apsk[74].real()   = (r6 * cos(2977 * M_PI / 1680.0));
-          m_128apsk[74].imag()   = (r6 * sin(2977 * M_PI / 1680.0));
-          m_128apsk[75].real()   = (r6 * cos(9151 * M_PI / 5040.0));
-          m_128apsk[75].imag()   = (r6 * sin(9151 * M_PI / 5040.0));
-          m_128apsk[76].real()   = (r2 * cos(1007 * M_PI / 560.0));
-          m_128apsk[76].imag()   = (r2 * sin(1007 * M_PI / 560.0));
-          m_128apsk[77].real()   = (r3 * cos(1847 * M_PI / 1008.0));
-          m_128apsk[77].imag()   = (r3 * sin(1847 * M_PI / 1008.0));
-          m_128apsk[78].real()   = (r5 * cos(4477 * M_PI / 2520.0));
-          m_128apsk[78].imag()   = (r5 * sin(4477 * M_PI / 2520.0));
-          m_128apsk[79].real()   = (r4 * cos(1541 * M_PI / 840.0));
-          m_128apsk[79].imag()   = (r4 * sin(1541 * M_PI / 840.0));
-          m_128apsk[80].real()   = (r1 * cos(877 * M_PI / 560.0));
-          m_128apsk[80].imag()   = (r1 * sin(877 * M_PI / 560.0));
-          m_128apsk[81].real()   = (r6 * cos(8087 * M_PI / 5040.0));
-          m_128apsk[81].imag()   = (r6 * sin(8087 * M_PI / 5040.0));
-          m_128apsk[82].real()   = (r6 * cos(137 * M_PI / 90.0));
-          m_128apsk[82].imag()   = (r6 * sin(137 * M_PI / 90.0));
-          m_128apsk[83].real()   = (r6 * cos(263 * M_PI / 168.0));
-          m_128apsk[83].imag()   = (r6 * sin(263 * M_PI / 168.0));
-          m_128apsk[84].real()   = (r2 * cos(3901 * M_PI / 2520.0));
-          m_128apsk[84].imag()   = (r2 * sin(3901 * M_PI / 2520.0));
-          m_128apsk[85].real()   = (r3 * cos(443 * M_PI / 280.0));
-          m_128apsk[85].imag()   = (r3 * sin(443 * M_PI / 280.0));
-          m_128apsk[86].real()   = (r5 * cos(1099 * M_PI / 720.0));
-          m_128apsk[86].imag()   = (r5 * sin(1099 * M_PI / 720.0));
-          m_128apsk[87].real()   = (r4 * cos(1331 * M_PI / 840.0));
-          m_128apsk[87].imag()   = (r4 * sin(1331 * M_PI / 840.0));
-          m_128apsk[88].real()   = (r1 * cos(943 * M_PI / 560.0));
-          m_128apsk[88].imag()   = (r1 * sin(943 * M_PI / 560.0));
-          m_128apsk[89].real()   = (r6 * cos(8291 * M_PI / 5040.0));
-          m_128apsk[89].imag()   = (r6 * sin(8291 * M_PI / 5040.0));
-          m_128apsk[90].real()   = (r6 * cos(311 * M_PI / 180.0));
-          m_128apsk[90].imag()   = (r6 * sin(311 * M_PI / 180.0));
-          m_128apsk[91].real()   = (r6 * cos(283 * M_PI / 168.0));
-          m_128apsk[91].imag()   = (r6 * sin(283 * M_PI / 168.0));
-          m_128apsk[92].real()   = (r2 * cos(953 * M_PI / 560.0));
-          m_128apsk[92].imag()   = (r2 * sin(953 * M_PI / 560.0));
-          m_128apsk[93].real()   = (r3 * cos(1201 * M_PI / 720.0));
-          m_128apsk[93].imag()   = (r3 * sin(1201 * M_PI / 720.0));
-          m_128apsk[94].real()   = (r5 * cos(1241 * M_PI / 720.0));
-          m_128apsk[94].imag()   = (r5 * sin(1241 * M_PI / 720.0));
-          m_128apsk[95].real()   = (r4 * cos(1399 * M_PI / 840.0));
-          m_128apsk[95].imag()   = (r4 * sin(1399 * M_PI / 840.0));
-          m_128apsk[96].real()   = (r1 * cos(1343 * M_PI / 1260.0));
-          m_128apsk[96].imag()   = (r1 * sin(1343 * M_PI / 1260.0));
-          m_128apsk[97].real()   = (r6 * cos(116 * M_PI / 105.0));
-          m_128apsk[97].imag()   = (r6 * sin(116 * M_PI / 105.0));
-          m_128apsk[98].real()   = (r6 * cos(1717 * M_PI / 1680.0));
-          m_128apsk[98].imag()   = (r6 * sin(1717 * M_PI / 1680.0));
-          m_128apsk[99].real()   = (r6 * cos(179 * M_PI / 168.0));
-          m_128apsk[99].imag()   = (r6 * sin(179 * M_PI / 168.0));
-          m_128apsk[100].real()   = (r2 * cos(2641 * M_PI / 2520.0));
-          m_128apsk[100].imag()   = (r2 * sin(2641 * M_PI / 2520.0));
-          m_128apsk[101].real()   = (r3 * cos(303 * M_PI / 280.0));
-          m_128apsk[101].imag()   = (r3 * sin(303 * M_PI / 280.0));
-          m_128apsk[102].real()   = (r5 * cos(739 * M_PI / 720.0));
-          m_128apsk[102].imag()   = (r5 * sin(739 * M_PI / 720.0));
-          m_128apsk[103].real()   = (r4 * cos(781 * M_PI / 720.0));
-          m_128apsk[103].imag()   = (r4 * sin(781 * M_PI / 720.0));
-          m_128apsk[104].real()   = (r1 * cos(663 * M_PI / 560.0));
-          m_128apsk[104].imag()   = (r1 * sin(663 * M_PI / 560.0));
-          m_128apsk[105].real()   = (r6 * cos(481 * M_PI / 420.0));
-          m_128apsk[105].imag()   = (r6 * sin(481 * M_PI / 420.0));
-          m_128apsk[106].real()   = (r6 * cos(2063 * M_PI / 1680.0));
-          m_128apsk[106].imag()   = (r6 * sin(2063 * M_PI / 1680.0));
-          m_128apsk[107].real()   = (r6 * cos(5969 * M_PI / 5040.0));
-          m_128apsk[107].imag()   = (r6 * sin(5969 * M_PI / 5040.0));
-          m_128apsk[108].real()   = (r2 * cos(673 * M_PI / 560.0));
-          m_128apsk[108].imag()   = (r2 * sin(673 * M_PI / 560.0));
-          m_128apsk[109].real()   = (r3 * cos(1177 * M_PI / 1008.0));
-          m_128apsk[109].imag()   = (r3 * sin(1177 * M_PI / 1008.0));
-          m_128apsk[110].real()   = (r5 * cos(3083 * M_PI / 2520.0));
-          m_128apsk[110].imag()   = (r5 * sin(3083 * M_PI / 2520.0));
-          m_128apsk[111].real()   = (r4 * cos(979 * M_PI / 840.0));
-          m_128apsk[111].imag()   = (r4 * sin(979 * M_PI / 840.0));
-          m_128apsk[112].real()   = (r1 * cos(803 * M_PI / 560.0));
-          m_128apsk[112].imag()   = (r1 * sin(803 * M_PI / 560.0));
-          m_128apsk[113].real()   = (r6 * cos(7033 * M_PI / 5040.0));
-          m_128apsk[113].imag()   = (r6 * sin(7033 * M_PI / 5040.0));
-          m_128apsk[114].real()   = (r6 * cos(133 * M_PI / 90.0));
-          m_128apsk[114].imag()   = (r6 * sin(133 * M_PI / 90.0));
-          m_128apsk[115].real()   = (r6 * cos(241 * M_PI / 168.0));
-          m_128apsk[115].imag()   = (r6 * sin(241 * M_PI / 168.0));
-          m_128apsk[116].real()   = (r2 * cos(3659 * M_PI / 2520.0));
-          m_128apsk[116].imag()   = (r2 * sin(3659 * M_PI / 2520.0));
-          m_128apsk[117].real()   = (r3 * cos(397 * M_PI / 280.0));
-          m_128apsk[117].imag()   = (r3 * sin(397 * M_PI / 280.0));
-          m_128apsk[118].real()   = (r5 * cos(1061 * M_PI / 720.0));
-          m_128apsk[118].imag()   = (r5 * sin(1061 * M_PI / 720.0));
-          m_128apsk[119].real()   = (r4 * cos(1189 * M_PI / 840.0));
-          m_128apsk[119].imag()   = (r4 * sin(1189 * M_PI / 840.0));
-          m_128apsk[120].real()   = (r1 * cos(737 * M_PI / 560.0));
-          m_128apsk[120].imag()   = (r1 * sin(737 * M_PI / 560.0));
-          m_128apsk[121].real()   = (r6 * cos(6829 * M_PI / 5040.0));
-          m_128apsk[121].imag()   = (r6 * sin(6829 * M_PI / 5040.0));
-          m_128apsk[122].real()   = (r6 * cos(229 * M_PI / 180.0));
-          m_128apsk[122].imag()   = (r6 * sin(229 * M_PI / 180.0));
-          m_128apsk[123].real()   = (r6 * cos(221 * M_PI / 168.0));
-          m_128apsk[123].imag()   = (r6 * sin(221 * M_PI / 168.0));
-          m_128apsk[124].real()   = (r2 * cos(727 * M_PI / 560.0));
-          m_128apsk[124].imag()   = (r2 * sin(727 * M_PI / 560.0));
-          m_128apsk[125].real()   = (r3 * cos(959 * M_PI / 720.0));
-          m_128apsk[125].imag()   = (r3 * sin(959 * M_PI / 720.0));
-          m_128apsk[126].real()   = (r5 * cos(919 * M_PI / 720.0));
-          m_128apsk[126].imag()   = (r5 * sin(919 * M_PI / 720.0));
-          m_128apsk[127].real()   = (r4 * cos(1121 * M_PI / 840.0));
-          m_128apsk[127].imag()   = (r4 * sin(1121 * M_PI / 840.0));
+          m_128apsk[0] = gr_complex((r1 * cos(83 * M_PI / 1260.0)), (r1 * 
sin(83 * M_PI / 1260.0)));
+          m_128apsk[1] = gr_complex((r6 * cos(11 * M_PI / 105.0)), (r6 * 
sin(11 * M_PI / 105.0)));
+          m_128apsk[2] = gr_complex((r6 * cos(37 * M_PI / 1680.0)), (r6 * 
sin(37 * M_PI / 1680.0)));
+          m_128apsk[3] = gr_complex((r6 * cos(11 * M_PI / 168.0)), (r6 * 
sin(11 * M_PI / 168.0)));
+          m_128apsk[4] = gr_complex((r2 * cos(121 * M_PI / 2520.0)), (r2 * 
sin(121 * M_PI / 2520.0)));
+          m_128apsk[5] = gr_complex((r3 * cos(23 * M_PI / 280.0)), (r3 * 
sin(23 * M_PI / 280.0)));
+          m_128apsk[6] = gr_complex((r5 * cos(19 * M_PI / 720.0)), (r5 * 
sin(19 * M_PI / 720.0)));
+          m_128apsk[7] = gr_complex((r4 * cos(61 * M_PI / 720.0)), (r4 * 
sin(61 * M_PI / 720.0)));
+          m_128apsk[8] = gr_complex((r1 * cos(103 * M_PI / 560.0)), (r1 * 
sin(103 * M_PI / 560.0)));
+          m_128apsk[9] = gr_complex((r6 * cos(61 * M_PI / 420.0)), (r6 * 
sin(61 * M_PI / 420.0)));
+          m_128apsk[10] = gr_complex((r6 * cos(383 * M_PI / 1680.0)), (r6 * 
sin(383 * M_PI / 1680.0)));
+          m_128apsk[11] = gr_complex((r6 * cos(929 * M_PI / 5040.0)), (r6 * 
sin(929 * M_PI / 5040.0)));
+          m_128apsk[12] = gr_complex((r2 * cos(113 * M_PI / 560.0)), (r2 * 
sin(113 * M_PI / 560.0)));
+          m_128apsk[13] = gr_complex((r3 * cos(169 * M_PI / 1008.0)), (r3 * 
sin(169 * M_PI / 1008.0)));
+          m_128apsk[14] = gr_complex((r5 * cos(563 * M_PI / 2520.0)), (r5 * 
sin(563 * M_PI / 2520.0)));
+          m_128apsk[15] = gr_complex((r4 * cos(139 * M_PI / 840.0)), (r4 * 
sin(139 * M_PI / 840.0)));
+          m_128apsk[16] = gr_complex((r1 * cos(243 * M_PI / 560.0)), (r1 * 
sin(243 * M_PI / 560.0)));
+          m_128apsk[17] = gr_complex((r6 * cos(1993 * M_PI / 5040.0)), (r6 * 
sin(1993 * M_PI / 5040.0)));
+          m_128apsk[18] = gr_complex((r6 * cos(43 * M_PI / 90.0)), (r6 * 
sin(43 * M_PI / 90.0)));
+          m_128apsk[19] = gr_complex((r6 * cos(73 * M_PI / 168.0)), (r6 * 
sin(73 * M_PI / 168.0)));
+          m_128apsk[20] = gr_complex((r2 * cos(1139 * M_PI / 2520.0)), (r2 * 
sin(1139 * M_PI / 2520.0)));
+          m_128apsk[21] = gr_complex((r3 * cos(117 * M_PI / 280.0)), (r3 * 
sin(117 * M_PI / 280.0)));
+          m_128apsk[22] = gr_complex((r5 * cos(341 * M_PI / 720.0)), (r5 * 
sin(341 * M_PI / 720.0)));
+          m_128apsk[23] = gr_complex((r4 * cos(349 * M_PI / 840.0)), (r4 * 
sin(349 * M_PI / 840.0)));
+          m_128apsk[24] = gr_complex((r1 * cos(177 * M_PI / 560.0)), (r1 * 
sin(177 * M_PI / 560.0)));
+          m_128apsk[25] = gr_complex((r6 * cos(1789 * M_PI / 5040.0)), (r6 * 
sin(1789 * M_PI / 5040.0)));
+          m_128apsk[26] = gr_complex((r6 * cos(49 * M_PI / 180.0)), (r6 * 
sin(49 * M_PI / 180.0)));
+          m_128apsk[27] = gr_complex((r6 * cos(53 * M_PI / 168.0)), (r6 * 
sin(53 * M_PI / 168.0)));
+          m_128apsk[28] = gr_complex((r2 * cos(167 * M_PI / 560.0)), (r2 * 
sin(167 * M_PI / 560.0)));
+          m_128apsk[29] = gr_complex((r3 * cos(239 * M_PI / 720.0)), (r3 * 
sin(239 * M_PI / 720.0)));
+          m_128apsk[30] = gr_complex((r5 * cos(199 * M_PI / 720.0)), (r5 * 
sin(199 * M_PI / 720.0)));
+          m_128apsk[31] = gr_complex((r4 * cos(281 * M_PI / 840.0)), (r4 * 
sin(281 * M_PI / 840.0)));
+          m_128apsk[32] = gr_complex((r1 * cos(1177 * M_PI / 1260.0)), (r1 * 
sin(1177 * M_PI / 1260.0)));
+          m_128apsk[33] = gr_complex((r6 * cos(94 * M_PI / 105.0)), (r6 * 
sin(94 * M_PI / 105.0)));
+          m_128apsk[34] = gr_complex((r6 * cos(1643 * M_PI / 1680.0)), (r6 * 
sin(1643 * M_PI / 1680.0)));
+          m_128apsk[35] = gr_complex((r6 * cos(157 * M_PI / 168.0)), (r6 * 
sin(157 * M_PI / 168.0)));
+          m_128apsk[36] = gr_complex((r2 * cos(2399 * M_PI / 2520.0)), (r2 * 
sin(2399 * M_PI / 2520.0)));
+          m_128apsk[37] = gr_complex((r3 * cos(257 * M_PI / 280.0)), (r3 * 
sin(257 * M_PI / 280.0)));
+          m_128apsk[38] = gr_complex((r5 * cos(701 * M_PI / 720.0)), (r5 * 
sin(701 * M_PI / 720.0)));
+          m_128apsk[39] = gr_complex((r4 * cos(659 * M_PI / 720.0)), (r4 * 
sin(659 * M_PI / 720.0)));
+          m_128apsk[40] = gr_complex((r1 * cos(457 * M_PI / 560.0)), (r1 * 
sin(457 * M_PI / 560.0)));
+          m_128apsk[41] = gr_complex((r6 * cos(359 * M_PI / 420.0)), (r6 * 
sin(359 * M_PI / 420.0)));
+          m_128apsk[42] = gr_complex((r6 * cos(1297 * M_PI / 1680.0)), (r6 * 
sin(1297 * M_PI / 1680.0)));
+          m_128apsk[43] = gr_complex((r6 * cos(4111 * M_PI / 5040.0)), (r6 * 
sin(4111 * M_PI / 5040.0)));
+          m_128apsk[44] = gr_complex((r2 * cos(447 * M_PI / 560.0)), (r2 * 
sin(447 * M_PI / 560.0)));
+          m_128apsk[45] = gr_complex((r3 * cos(839 * M_PI / 1008.0)), (r3 * 
sin(839 * M_PI / 1008.0)));
+          m_128apsk[46] = gr_complex((r5 * cos(1957 * M_PI / 2520.0)), (r5 * 
sin(1957 * M_PI / 2520.0)));
+          m_128apsk[47] = gr_complex((r4 * cos(701 * M_PI / 840.0)), (r4 * 
sin(701 * M_PI / 840.0)));
+          m_128apsk[48] = gr_complex((r1 * cos(317 * M_PI / 560.0)), (r1 * 
sin(317 * M_PI / 560.0)));
+          m_128apsk[49] = gr_complex((r6 * cos(3047 * M_PI / 5040.0)), (r6 * 
sin(3047 * M_PI / 5040.0)));
+          m_128apsk[50] = gr_complex((r6 * cos(47 * M_PI / 90.0)), (r6 * 
sin(47 * M_PI / 90.0)));
+          m_128apsk[51] = gr_complex((r6 * cos(95 * M_PI / 168.0)), (r6 * 
sin(95 * M_PI / 168.0)));
+          m_128apsk[52] = gr_complex((r2 * cos(1381 * M_PI / 2520.0)), (r2 * 
sin(1381 * M_PI / 2520.0)));
+          m_128apsk[53] = gr_complex((r3 * cos(163 * M_PI / 280.0)), (r3 * 
sin(163 * M_PI / 280.0)));
+          m_128apsk[54] = gr_complex((r5 * cos(379 * M_PI / 720.0)), (r5 * 
sin(379 * M_PI / 720.0)));
+          m_128apsk[55] = gr_complex((r4 * cos(491 * M_PI / 840.0)), (r4 * 
sin(491 * M_PI / 840.0)));
+          m_128apsk[56] = gr_complex((r1 * cos(383 * M_PI / 560.0)), (r1 * 
sin(383 * M_PI / 560.0)));
+          m_128apsk[57] = gr_complex((r6 * cos(3251 * M_PI / 5040.0)), (r6 * 
sin(3251 * M_PI / 5040.0)));
+          m_128apsk[58] = gr_complex((r6 * cos(131 * M_PI / 180.0)), (r6 * 
sin(131 * M_PI / 180.0)));
+          m_128apsk[59] = gr_complex((r6 * cos(115 * M_PI / 168.0)), (r6 * 
sin(115 * M_PI / 168.0)));
+          m_128apsk[60] = gr_complex((r2 * cos(393 * M_PI / 560.0)), (r2 * 
sin(393 * M_PI / 560.0)));
+          m_128apsk[61] = gr_complex((r3 * cos(481 * M_PI / 720.0)), (r3 * 
sin(481 * M_PI / 720.0)));
+          m_128apsk[62] = gr_complex((r5 * cos(521 * M_PI / 720.0)), (r5 * 
sin(521 * M_PI / 720.0)));
+          m_128apsk[63] = gr_complex((r4 * cos(559 * M_PI / 840.0)), (r4 * 
sin(559 * M_PI / 840.0)));
+          m_128apsk[64] = gr_complex((r1 * cos(2437 * M_PI / 1260.0)), (r1 * 
sin(2437 * M_PI / 1260.0)));
+          m_128apsk[65] = gr_complex((r6 * cos(199 * M_PI / 105.0)), (r6 * 
sin(199 * M_PI / 105.0)));
+          m_128apsk[66] = gr_complex((r6 * cos(3323 * M_PI / 1680.0)), (r6 * 
sin(3323 * M_PI / 1680.0)));
+          m_128apsk[67] = gr_complex((r6 * cos(325 * M_PI / 168.0)), (r6 * 
sin(325 * M_PI / 168.0)));
+          m_128apsk[68] = gr_complex((r2 * cos(4919 * M_PI / 2520.0)), (r2 * 
sin(4919 * M_PI / 2520.0)));
+          m_128apsk[69] = gr_complex((r3 * cos(537 * M_PI / 280.0)), (r3 * 
sin(537 * M_PI / 280.0)));
+          m_128apsk[70] = gr_complex((r5 * cos(1421 * M_PI / 720.0)), (r5 * 
sin(1421 * M_PI / 720.0)));
+          m_128apsk[71] = gr_complex((r4 * cos(1379 * M_PI / 720.0)), (r4 * 
sin(1379 * M_PI / 720.0)));
+          m_128apsk[72] = gr_complex((r1 * cos(1017 * M_PI / 560.0)), (r1 * 
sin(1017 * M_PI / 560.0)));
+          m_128apsk[73] = gr_complex((r6 * cos(779 * M_PI / 420.0)), (r6 * 
sin(779 * M_PI / 420.0)));
+          m_128apsk[74] = gr_complex((r6 * cos(2977 * M_PI / 1680.0)), (r6 * 
sin(2977 * M_PI / 1680.0)));
+          m_128apsk[75] = gr_complex((r6 * cos(9151 * M_PI / 5040.0)), (r6 * 
sin(9151 * M_PI / 5040.0)));
+          m_128apsk[76] = gr_complex((r2 * cos(1007 * M_PI / 560.0)), (r2 * 
sin(1007 * M_PI / 560.0)));
+          m_128apsk[77] = gr_complex((r3 * cos(1847 * M_PI / 1008.0)), (r3 * 
sin(1847 * M_PI / 1008.0)));
+          m_128apsk[78] = gr_complex((r5 * cos(4477 * M_PI / 2520.0)), (r5 * 
sin(4477 * M_PI / 2520.0)));
+          m_128apsk[79] = gr_complex((r4 * cos(1541 * M_PI / 840.0)), (r4 * 
sin(1541 * M_PI / 840.0)));
+          m_128apsk[80] = gr_complex((r1 * cos(877 * M_PI / 560.0)), (r1 * 
sin(877 * M_PI / 560.0)));
+          m_128apsk[81] = gr_complex((r6 * cos(8087 * M_PI / 5040.0)), (r6 * 
sin(8087 * M_PI / 5040.0)));
+          m_128apsk[82] = gr_complex((r6 * cos(137 * M_PI / 90.0)), (r6 * 
sin(137 * M_PI / 90.0)));
+          m_128apsk[83] = gr_complex((r6 * cos(263 * M_PI / 168.0)), (r6 * 
sin(263 * M_PI / 168.0)));
+          m_128apsk[84] = gr_complex((r2 * cos(3901 * M_PI / 2520.0)), (r2 * 
sin(3901 * M_PI / 2520.0)));
+          m_128apsk[85] = gr_complex((r3 * cos(443 * M_PI / 280.0)), (r3 * 
sin(443 * M_PI / 280.0)));
+          m_128apsk[86] = gr_complex((r5 * cos(1099 * M_PI / 720.0)), (r5 * 
sin(1099 * M_PI / 720.0)));
+          m_128apsk[87] = gr_complex((r4 * cos(1331 * M_PI / 840.0)), (r4 * 
sin(1331 * M_PI / 840.0)));
+          m_128apsk[88] = gr_complex((r1 * cos(943 * M_PI / 560.0)), (r1 * 
sin(943 * M_PI / 560.0)));
+          m_128apsk[89] = gr_complex((r6 * cos(8291 * M_PI / 5040.0)), (r6 * 
sin(8291 * M_PI / 5040.0)));
+          m_128apsk[90] = gr_complex((r6 * cos(311 * M_PI / 180.0)), (r6 * 
sin(311 * M_PI / 180.0)));
+          m_128apsk[91] = gr_complex((r6 * cos(283 * M_PI / 168.0)), (r6 * 
sin(283 * M_PI / 168.0)));
+          m_128apsk[92] = gr_complex((r2 * cos(953 * M_PI / 560.0)), (r2 * 
sin(953 * M_PI / 560.0)));
+          m_128apsk[93] = gr_complex((r3 * cos(1201 * M_PI / 720.0)), (r3 * 
sin(1201 * M_PI / 720.0)));
+          m_128apsk[94] = gr_complex((r5 * cos(1241 * M_PI / 720.0)), (r5 * 
sin(1241 * M_PI / 720.0)));
+          m_128apsk[95] = gr_complex((r4 * cos(1399 * M_PI / 840.0)), (r4 * 
sin(1399 * M_PI / 840.0)));
+          m_128apsk[96] = gr_complex((r1 * cos(1343 * M_PI / 1260.0)), (r1 * 
sin(1343 * M_PI / 1260.0)));
+          m_128apsk[97] = gr_complex((r6 * cos(116 * M_PI / 105.0)), (r6 * 
sin(116 * M_PI / 105.0)));
+          m_128apsk[98] = gr_complex((r6 * cos(1717 * M_PI / 1680.0)), (r6 * 
sin(1717 * M_PI / 1680.0)));
+          m_128apsk[99] = gr_complex((r6 * cos(179 * M_PI / 168.0)), (r6 * 
sin(179 * M_PI / 168.0)));
+          m_128apsk[100] = gr_complex((r2 * cos(2641 * M_PI / 2520.0)), (r2 * 
sin(2641 * M_PI / 2520.0)));
+          m_128apsk[101] = gr_complex((r3 * cos(303 * M_PI / 280.0)), (r3 * 
sin(303 * M_PI / 280.0)));
+          m_128apsk[102] = gr_complex((r5 * cos(739 * M_PI / 720.0)), (r5 * 
sin(739 * M_PI / 720.0)));
+          m_128apsk[103] = gr_complex((r4 * cos(781 * M_PI / 720.0)), (r4 * 
sin(781 * M_PI / 720.0)));
+          m_128apsk[104] = gr_complex((r1 * cos(663 * M_PI / 560.0)), (r1 * 
sin(663 * M_PI / 560.0)));
+          m_128apsk[105] = gr_complex((r6 * cos(481 * M_PI / 420.0)), (r6 * 
sin(481 * M_PI / 420.0)));
+          m_128apsk[106] = gr_complex((r6 * cos(2063 * M_PI / 1680.0)), (r6 * 
sin(2063 * M_PI / 1680.0)));
+          m_128apsk[107] = gr_complex((r6 * cos(5969 * M_PI / 5040.0)), (r6 * 
sin(5969 * M_PI / 5040.0)));
+          m_128apsk[108] = gr_complex((r2 * cos(673 * M_PI / 560.0)), (r2 * 
sin(673 * M_PI / 560.0)));
+          m_128apsk[109] = gr_complex((r3 * cos(1177 * M_PI / 1008.0)), (r3 * 
sin(1177 * M_PI / 1008.0)));
+          m_128apsk[110] = gr_complex((r5 * cos(3083 * M_PI / 2520.0)), (r5 * 
sin(3083 * M_PI / 2520.0)));
+          m_128apsk[111] = gr_complex((r4 * cos(979 * M_PI / 840.0)), (r4 * 
sin(979 * M_PI / 840.0)));
+          m_128apsk[112] = gr_complex((r1 * cos(803 * M_PI / 560.0)), (r1 * 
sin(803 * M_PI / 560.0)));
+          m_128apsk[113] = gr_complex((r6 * cos(7033 * M_PI / 5040.0)), (r6 * 
sin(7033 * M_PI / 5040.0)));
+          m_128apsk[114] = gr_complex((r6 * cos(133 * M_PI / 90.0)), (r6 * 
sin(133 * M_PI / 90.0)));
+          m_128apsk[115] = gr_complex((r6 * cos(241 * M_PI / 168.0)), (r6 * 
sin(241 * M_PI / 168.0)));
+          m_128apsk[116] = gr_complex((r2 * cos(3659 * M_PI / 2520.0)), (r2 * 
sin(3659 * M_PI / 2520.0)));
+          m_128apsk[117] = gr_complex((r3 * cos(397 * M_PI / 280.0)), (r3 * 
sin(397 * M_PI / 280.0)));
+          m_128apsk[118] = gr_complex((r5 * cos(1061 * M_PI / 720.0)), (r5 * 
sin(1061 * M_PI / 720.0)));
+          m_128apsk[119] = gr_complex((r4 * cos(1189 * M_PI / 840.0)), (r4 * 
sin(1189 * M_PI / 840.0)));
+          m_128apsk[120] = gr_complex((r1 * cos(737 * M_PI / 560.0)), (r1 * 
sin(737 * M_PI / 560.0)));
+          m_128apsk[121] = gr_complex((r6 * cos(6829 * M_PI / 5040.0)), (r6 * 
sin(6829 * M_PI / 5040.0)));
+          m_128apsk[122] = gr_complex((r6 * cos(229 * M_PI / 180.0)), (r6 * 
sin(229 * M_PI / 180.0)));
+          m_128apsk[123] = gr_complex((r6 * cos(221 * M_PI / 168.0)), (r6 * 
sin(221 * M_PI / 168.0)));
+          m_128apsk[124] = gr_complex((r2 * cos(727 * M_PI / 560.0)), (r2 * 
sin(727 * M_PI / 560.0)));
+          m_128apsk[125] = gr_complex((r3 * cos(959 * M_PI / 720.0)), (r3 * 
sin(959 * M_PI / 720.0)));
+          m_128apsk[126] = gr_complex((r5 * cos(919 * M_PI / 720.0)), (r5 * 
sin(919 * M_PI / 720.0)));
+          m_128apsk[127] = gr_complex((r4 * cos(1121 * M_PI / 840.0)), (r4 * 
sin(1121 * M_PI / 840.0)));
           break;
         case MOD_256APSK:
           if (rate == C20_30) {
-            m_256apsk[0].real()   = 1.6350;
-            m_256apsk[0].imag()   = 0.1593;
-            m_256apsk[1].real()   = 1.5776;
-            m_256apsk[1].imag()   = 0.4735;
-            m_256apsk[2].real()   = 0.9430;
-            m_256apsk[2].imag()   = 0.1100;
-            m_256apsk[3].real()   = 0.9069;
-            m_256apsk[3].imag()   = 0.2829;
-            m_256apsk[4].real()   = 0.3237;
-            m_256apsk[4].imag()   = 0.0849;
-            m_256apsk[5].real()   = 0.3228;
-            m_256apsk[5].imag()   = 0.0867;
-            m_256apsk[6].real()   = 0.7502;
-            m_256apsk[6].imag()   = 0.1138;
-            m_256apsk[7].real()   = 0.7325;
-            m_256apsk[7].imag()   = 0.2088;
-            m_256apsk[8].real()   = 0.1658;
-            m_256apsk[8].imag()   = 1.6747;
-            m_256apsk[9].real()   = 0.4907;
-            m_256apsk[9].imag()   = 1.6084;
-            m_256apsk[10].real()  = 0.1088;
-            m_256apsk[10].imag()  = 0.9530;
-            m_256apsk[11].real()  = 0.2464;
-            m_256apsk[11].imag()  = 0.9270;
-            m_256apsk[12].real()  = 0.0872;
-            m_256apsk[12].imag()  = 0.1390;
-            m_256apsk[13].real()  = 0.0871;
-            m_256apsk[13].imag()  = 0.1392;
-            m_256apsk[14].real()  = 0.1091;
-            m_256apsk[14].imag()  = 0.7656;
-            m_256apsk[15].real()  = 0.1699;
-            m_256apsk[15].imag()  = 0.7537;
-            m_256apsk[16].real()  = -1.6350;
-            m_256apsk[16].imag()  = 0.1593;
-            m_256apsk[17].real()  = -1.5776;
-            m_256apsk[17].imag()  = 0.4735;
-            m_256apsk[18].real()  = -0.9430;
-            m_256apsk[18].imag()  = 0.1100;
-            m_256apsk[19].real()  = -0.9069;
-            m_256apsk[19].imag()  = 0.2829;
-            m_256apsk[20].real()  = -0.3237;
-            m_256apsk[20].imag()  = 0.0849;
-            m_256apsk[21].real()  = -0.3228;
-            m_256apsk[21].imag()  = 0.0867;
-            m_256apsk[22].real()  = -0.7502;
-            m_256apsk[22].imag()  = 0.1138;
-            m_256apsk[23].real()  = -0.7325;
-            m_256apsk[23].imag()  = 0.2088;
-            m_256apsk[24].real()  = -0.1658;
-            m_256apsk[24].imag()  = 1.6747;
-            m_256apsk[25].real()  = -0.4907;
-            m_256apsk[25].imag()  = 1.6084;
-            m_256apsk[26].real()  = -0.1088;
-            m_256apsk[26].imag()  = 0.9530;
-            m_256apsk[27].real()  = -0.2464;
-            m_256apsk[27].imag()  = 0.9270;
-            m_256apsk[28].real()  = -0.0872;
-            m_256apsk[28].imag()  = 0.1390;
-            m_256apsk[29].real()  = -0.0871;
-            m_256apsk[29].imag()  = 0.1392;
-            m_256apsk[30].real()  = -0.1091;
-            m_256apsk[30].imag()  = 0.7656;
-            m_256apsk[31].real()  = -0.1699;
-            m_256apsk[31].imag()  = 0.7537;
-            m_256apsk[32].real()  = 1.3225;
-            m_256apsk[32].imag()  = 0.1320;
-            m_256apsk[33].real()  = 1.2742;
-            m_256apsk[33].imag()  = 0.3922;
-            m_256apsk[34].real()  = 1.0854;
-            m_256apsk[34].imag()  = 0.1139;
-            m_256apsk[35].real()  = 1.0441;
-            m_256apsk[35].imag()  = 0.3296;
-            m_256apsk[36].real()  = 0.4582;
-            m_256apsk[36].imag()  = 0.1123;
-            m_256apsk[37].real()  = 0.4545;
-            m_256apsk[37].imag()  = 0.1251;
-            m_256apsk[38].real()  = 0.6473;
-            m_256apsk[38].imag()  = 0.1138;
-            m_256apsk[39].real()  = 0.6339;
-            m_256apsk[39].imag()  = 0.1702;
-            m_256apsk[40].real()  = 0.1322;
-            m_256apsk[40].imag()  = 1.3631;
-            m_256apsk[41].real()  = 0.3929;
-            m_256apsk[41].imag()  = 1.3102;
-            m_256apsk[42].real()  = 0.1124;
-            m_256apsk[42].imag()  = 1.1327;
-            m_256apsk[43].real()  = 0.3160;
-            m_256apsk[43].imag()  = 1.0913;
-            m_256apsk[44].real()  = 0.0928;
-            m_256apsk[44].imag()  = 0.3970;
-            m_256apsk[45].real()  = 0.0937;
-            m_256apsk[45].imag()  = 0.3973;
-            m_256apsk[46].real()  = 0.1054;
-            m_256apsk[46].imag()  = 0.5979;
-            m_256apsk[47].real()  = 0.1230;
-            m_256apsk[47].imag()  = 0.5949;
-            m_256apsk[48].real()  = -1.3225;
-            m_256apsk[48].imag()  = 0.1320;
-            m_256apsk[49].real()  = -1.2742;
-            m_256apsk[49].imag()  = 0.3922;
-            m_256apsk[50].real()  = -1.0854;
-            m_256apsk[50].imag()  = 0.1139;
-            m_256apsk[51].real()  = -1.0441;
-            m_256apsk[51].imag()  = 0.3296;
-            m_256apsk[52].real()  = -0.4582;
-            m_256apsk[52].imag()  = 0.1123;
-            m_256apsk[53].real()  = -0.4545;
-            m_256apsk[53].imag()  = 0.1251;
-            m_256apsk[54].real()  = -0.6473;
-            m_256apsk[54].imag()  = 0.1138;
-            m_256apsk[55].real()  = -0.6339;
-            m_256apsk[55].imag()  = 0.1702;
-            m_256apsk[56].real()  = -0.1322;
-            m_256apsk[56].imag()  = 1.3631;
-            m_256apsk[57].real()  = -0.3929;
-            m_256apsk[57].imag()  = 1.3102;
-            m_256apsk[58].real()  = -0.1124;
-            m_256apsk[58].imag()  = 1.1327;
-            m_256apsk[59].real()  = -0.3160;
-            m_256apsk[59].imag()  = 1.0913;
-            m_256apsk[60].real()  = -0.0928;
-            m_256apsk[60].imag()  = 0.3970;
-            m_256apsk[61].real()  = -0.0937;
-            m_256apsk[61].imag()  = 0.3973;
-            m_256apsk[62].real()  = -0.1054;
-            m_256apsk[62].imag()  = 0.5979;
-            m_256apsk[63].real()  = -0.1230;
-            m_256apsk[63].imag()  = 0.5949;
-            m_256apsk[64].real()  = 1.6350;
-            m_256apsk[64].imag()  = -0.1593;
-            m_256apsk[65].real()  = 1.5776;
-            m_256apsk[65].imag()  = -0.4735;
-            m_256apsk[66].real()  = 0.9430;
-            m_256apsk[66].imag()  = -0.1100;
-            m_256apsk[67].real()  = 0.9069;
-            m_256apsk[67].imag()  = -0.2829;
-            m_256apsk[68].real()  = 0.3237;
-            m_256apsk[68].imag()  = -0.0849;
-            m_256apsk[69].real()  = 0.3228;
-            m_256apsk[69].imag()  = -0.0867;
-            m_256apsk[70].real()  = 0.7502;
-            m_256apsk[70].imag()  = -0.1138;
-            m_256apsk[71].real()  = 0.7325;
-            m_256apsk[71].imag()  = -0.2088;
-            m_256apsk[72].real()  = 0.1658;
-            m_256apsk[72].imag()  = -1.6747;
-            m_256apsk[73].real()  = 0.4907;
-            m_256apsk[73].imag()  = -1.6084;
-            m_256apsk[74].real()  = 0.1088;
-            m_256apsk[74].imag()  = -0.9530;
-            m_256apsk[75].real()  = 0.2464;
-            m_256apsk[75].imag()  = -0.9270;
-            m_256apsk[76].real()  = 0.0872;
-            m_256apsk[76].imag()  = -0.1390;
-            m_256apsk[77].real()  = 0.0871;
-            m_256apsk[77].imag()  = -0.1392;
-            m_256apsk[78].real()  = 0.1091;
-            m_256apsk[78].imag()  = -0.7656;
-            m_256apsk[79].real()  = 0.1699;
-            m_256apsk[79].imag()  = -0.7537;
-            m_256apsk[80].real()  = -1.6350;
-            m_256apsk[80].imag()  = -0.1593;
-            m_256apsk[81].real()  = -1.5776;
-            m_256apsk[81].imag()  = -0.4735;
-            m_256apsk[82].real()  = -0.9430;
-            m_256apsk[82].imag()  = -0.1100;
-            m_256apsk[83].real()  = -0.9069;
-            m_256apsk[83].imag()  = -0.2829;
-            m_256apsk[84].real()  = -0.3237;
-            m_256apsk[84].imag()  = -0.0849;
-            m_256apsk[85].real()  = -0.3228;
-            m_256apsk[85].imag()  = -0.0867;
-            m_256apsk[86].real()  = -0.7502;
-            m_256apsk[86].imag()  = -0.1138;
-            m_256apsk[87].real()  = -0.7325;
-            m_256apsk[87].imag()  = -0.2088;
-            m_256apsk[88].real()  = -0.1658;
-            m_256apsk[88].imag()  = -1.6747;
-            m_256apsk[89].real()  = -0.4907;
-            m_256apsk[89].imag()  = -1.6084;
-            m_256apsk[90].real()  = -0.1088;
-            m_256apsk[90].imag()  = -0.9530;
-            m_256apsk[91].real()  = -0.2464;
-            m_256apsk[91].imag()  = -0.9270;
-            m_256apsk[92].real()  = -0.0872;
-            m_256apsk[92].imag()  = -0.1390;
-            m_256apsk[93].real()  = -0.0871;
-            m_256apsk[93].imag()  = -0.1392;
-            m_256apsk[94].real()  = -0.1091;
-            m_256apsk[94].imag()  = -0.7656;
-            m_256apsk[95].real()  = -0.1699;
-            m_256apsk[95].imag()  = -0.7537;
-            m_256apsk[96].real()  = 1.3225;
-            m_256apsk[96].imag()  = -0.1320;
-            m_256apsk[97].real()  = 1.2742;
-            m_256apsk[97].imag()  = -0.3922;
-            m_256apsk[98].real()  = 1.0854;
-            m_256apsk[98].imag()  = -0.1139;
-            m_256apsk[99].real()  = 1.0441;
-            m_256apsk[99].imag()  = -0.3296;
-            m_256apsk[100].real() = 0.4582;
-            m_256apsk[100].imag() = -0.1123;
-            m_256apsk[101].real() = 0.4545;
-            m_256apsk[101].imag() = -0.1251;
-            m_256apsk[102].real() = 0.6473;
-            m_256apsk[102].imag() = -0.1138;
-            m_256apsk[103].real() = 0.6339;
-            m_256apsk[103].imag() = -0.1702;
-            m_256apsk[104].real() = 0.1322;
-            m_256apsk[104].imag() = -1.3631;
-            m_256apsk[105].real() = 0.3929;
-            m_256apsk[105].imag() = -1.3102;
-            m_256apsk[106].real() = 0.1124;
-            m_256apsk[106].imag() = -1.1327;
-            m_256apsk[107].real() = 0.3160;
-            m_256apsk[107].imag() = -1.0913;
-            m_256apsk[108].real() = 0.0928;
-            m_256apsk[108].imag() = -0.3970;
-            m_256apsk[109].real() = 0.0937;
-            m_256apsk[109].imag() = -0.3973;
-            m_256apsk[110].real() = 0.1054;
-            m_256apsk[110].imag() = -0.5979;
-            m_256apsk[111].real() = 0.1230;
-            m_256apsk[111].imag() = -0.5949;
-            m_256apsk[112].real() = -1.3225;
-            m_256apsk[112].imag() = -0.1320;
-            m_256apsk[113].real() = -1.2742;
-            m_256apsk[113].imag() = -0.3922;
-            m_256apsk[114].real() = -1.0854;
-            m_256apsk[114].imag() = -0.1139;
-            m_256apsk[115].real() = -1.0441;
-            m_256apsk[115].imag() = -0.3296;
-            m_256apsk[116].real() = -0.4582;
-            m_256apsk[116].imag() = -0.1123;
-            m_256apsk[117].real() = -0.4545;
-            m_256apsk[117].imag() = -0.1251;
-            m_256apsk[118].real() = -0.6473;
-            m_256apsk[118].imag() = -0.1138;
-            m_256apsk[119].real() = -0.6339;
-            m_256apsk[119].imag() = -0.1702;
-            m_256apsk[120].real() = -0.1322;
-            m_256apsk[120].imag() = -1.3631;
-            m_256apsk[121].real() = -0.3929;
-            m_256apsk[121].imag() = -1.3102;
-            m_256apsk[122].real() = -0.1124;
-            m_256apsk[122].imag() = -1.1327;
-            m_256apsk[123].real() = -0.3160;
-            m_256apsk[123].imag() = -1.0913;
-            m_256apsk[124].real() = -0.0928;
-            m_256apsk[124].imag() = -0.3970;
-            m_256apsk[125].real() = -0.0937;
-            m_256apsk[125].imag() = -0.3973;
-            m_256apsk[126].real() = -0.1054;
-            m_256apsk[126].imag() = -0.5979;
-            m_256apsk[127].real() = -0.1230;
-            m_256apsk[127].imag() = -0.5949;
-            m_256apsk[128].real() = 1.2901;
-            m_256apsk[128].imag() = 1.0495;
-            m_256apsk[129].real() = 1.4625;
-            m_256apsk[129].imag() = 0.7740;
-            m_256apsk[130].real() = 0.7273;
-            m_256apsk[130].imag() = 0.6160;
-            m_256apsk[131].real() = 0.8177;
-            m_256apsk[131].imag() = 0.4841;
-            m_256apsk[132].real() = 0.2844;
-            m_256apsk[132].imag() = 0.1296;
-            m_256apsk[133].real() = 0.2853;
-            m_256apsk[133].imag() = 0.1309;
-            m_256apsk[134].real() = 0.5902;
-            m_256apsk[134].imag() = 0.4857;
-            m_256apsk[135].real() = 0.6355;
-            m_256apsk[135].imag() = 0.4185;
-            m_256apsk[136].real() = 1.0646;
-            m_256apsk[136].imag() = 1.2876;
-            m_256apsk[137].real() = 0.7949;
-            m_256apsk[137].imag() = 1.4772;
-            m_256apsk[138].real() = 0.5707;
-            m_256apsk[138].imag() = 0.7662;
-            m_256apsk[139].real() = 0.4490;
-            m_256apsk[139].imag() = 0.8461;
-            m_256apsk[140].real() = 0.1053;
-            m_256apsk[140].imag() = 0.1494;
-            m_256apsk[141].real() = 0.1052;
-            m_256apsk[141].imag() = 0.1495;
-            m_256apsk[142].real() = 0.4294;
-            m_256apsk[142].imag() = 0.6363;
-            m_256apsk[143].real() = 0.3744;
-            m_256apsk[143].imag() = 0.6744;
-            m_256apsk[144].real() = -1.2901;
-            m_256apsk[144].imag() = 1.0495;
-            m_256apsk[145].real() = -1.4625;
-            m_256apsk[145].imag() = 0.7740;
-            m_256apsk[146].real() = -0.7273;
-            m_256apsk[146].imag() = 0.6160;
-            m_256apsk[147].real() = -0.8177;
-            m_256apsk[147].imag() = 0.4841;
-            m_256apsk[148].real() = -0.2844;
-            m_256apsk[148].imag() = 0.1296;
-            m_256apsk[149].real() = -0.2853;
-            m_256apsk[149].imag() = 0.1309;
-            m_256apsk[150].real() = -0.5902;
-            m_256apsk[150].imag() = 0.4857;
-            m_256apsk[151].real() = -0.6355;
-            m_256apsk[151].imag() = 0.4185;
-            m_256apsk[152].real() = -1.0646;
-            m_256apsk[152].imag() = 1.2876;
-            m_256apsk[153].real() = -0.7949;
-            m_256apsk[153].imag() = 1.4772;
-            m_256apsk[154].real() = -0.5707;
-            m_256apsk[154].imag() = 0.7662;
-            m_256apsk[155].real() = -0.4490;
-            m_256apsk[155].imag() = 0.8461;
-            m_256apsk[156].real() = -0.1053;
-            m_256apsk[156].imag() = 0.1494;
-            m_256apsk[157].real() = -0.1052;
-            m_256apsk[157].imag() = 0.1495;
-            m_256apsk[158].real() = -0.4294;
-            m_256apsk[158].imag() = 0.6363;
-            m_256apsk[159].real() = -0.3744;
-            m_256apsk[159].imag() = 0.6744;
-            m_256apsk[160].real() = 1.0382;
-            m_256apsk[160].imag() = 0.8623;
-            m_256apsk[161].real() = 1.1794;
-            m_256apsk[161].imag() = 0.6376;
-            m_256apsk[162].real() = 0.8504;
-            m_256apsk[162].imag() = 0.7217;
-            m_256apsk[163].real() = 0.9638;
-            m_256apsk[163].imag() = 0.5407;
-            m_256apsk[164].real() = 0.3734;
-            m_256apsk[164].imag() = 0.2560;
-            m_256apsk[165].real() = 0.3799;
-            m_256apsk[165].imag() = 0.2517;
-            m_256apsk[166].real() = 0.4968;
-            m_256apsk[166].imag() = 0.3947;
-            m_256apsk[167].real() = 0.5231;
-            m_256apsk[167].imag() = 0.3644;
-            m_256apsk[168].real() = 0.8555;
-            m_256apsk[168].imag() = 1.0542;
-            m_256apsk[169].real() = 0.6363;
-            m_256apsk[169].imag() = 1.2064;
-            m_256apsk[170].real() = 0.6961;
-            m_256apsk[170].imag() = 0.8850;
-            m_256apsk[171].real() = 0.5229;
-            m_256apsk[171].imag() = 1.0037;
-            m_256apsk[172].real() = 0.1938;
-            m_256apsk[172].imag() = 0.3621;
-            m_256apsk[173].real() = 0.1909;
-            m_256apsk[173].imag() = 0.3627;
-            m_256apsk[174].real() = 0.3224;
-            m_256apsk[174].imag() = 0.5236;
-            m_256apsk[175].real() = 0.3016;
-            m_256apsk[175].imag() = 0.5347;
-            m_256apsk[176].real() = -1.0382;
-            m_256apsk[176].imag() = 0.8623;
-            m_256apsk[177].real() = -1.1794;
-            m_256apsk[177].imag() = 0.6376;
-            m_256apsk[178].real() = -0.8504;
-            m_256apsk[178].imag() = 0.7217;
-            m_256apsk[179].real() = -0.9638;
-            m_256apsk[179].imag() = 0.5407;
-            m_256apsk[180].real() = -0.3734;
-            m_256apsk[180].imag() = 0.2560;
-            m_256apsk[181].real() = -0.3799;
-            m_256apsk[181].imag() = 0.2517;
-            m_256apsk[182].real() = -0.4968;
-            m_256apsk[182].imag() = 0.3947;
-            m_256apsk[183].real() = -0.5231;
-            m_256apsk[183].imag() = 0.3644;
-            m_256apsk[184].real() = -0.8555;
-            m_256apsk[184].imag() = 1.0542;
-            m_256apsk[185].real() = -0.6363;
-            m_256apsk[185].imag() = 1.2064;
-            m_256apsk[186].real() = -0.6961;
-            m_256apsk[186].imag() = 0.8850;
-            m_256apsk[187].real() = -0.5229;
-            m_256apsk[187].imag() = 1.0037;
-            m_256apsk[188].real() = -0.1938;
-            m_256apsk[188].imag() = 0.3621;
-            m_256apsk[189].real() = -0.1909;
-            m_256apsk[189].imag() = 0.3627;
-            m_256apsk[190].real() = -0.3224;
-            m_256apsk[190].imag() = 0.5236;
-            m_256apsk[191].real() = -0.3016;
-            m_256apsk[191].imag() = 0.5347;
-            m_256apsk[192].real() = 1.2901;
-            m_256apsk[192].imag() = -1.0495;
-            m_256apsk[193].real() = 1.4625;
-            m_256apsk[193].imag() = -0.7740;
-            m_256apsk[194].real() = 0.7273;
-            m_256apsk[194].imag() = -0.6160;
-            m_256apsk[195].real() = 0.8177;
-            m_256apsk[195].imag() = -0.4841;
-            m_256apsk[196].real() = 0.2844;
-            m_256apsk[196].imag() = -0.1296;
-            m_256apsk[197].real() = 0.2853;
-            m_256apsk[197].imag() = -0.1309;
-            m_256apsk[198].real() = 0.5902;
-            m_256apsk[198].imag() = -0.4857;
-            m_256apsk[199].real() = 0.6355;
-            m_256apsk[199].imag() = -0.4185;
-            m_256apsk[200].real() = 1.0646;
-            m_256apsk[200].imag() = -1.2876;
-            m_256apsk[201].real() = 0.7949;
-            m_256apsk[201].imag() = -1.4772;
-            m_256apsk[202].real() = 0.5707;
-            m_256apsk[202].imag() = -0.7662;
-            m_256apsk[203].real() = 0.4490;
-            m_256apsk[203].imag() = -0.8461;
-            m_256apsk[204].real() = 0.1053;
-            m_256apsk[204].imag() = -0.1494;
-            m_256apsk[205].real() = 0.1052;
-            m_256apsk[205].imag() = -0.1495;
-            m_256apsk[206].real() = 0.4294;
-            m_256apsk[206].imag() = -0.6363;
-            m_256apsk[207].real() = 0.3744;
-            m_256apsk[207].imag() = -0.6744;
-            m_256apsk[208].real() = -1.2901;
-            m_256apsk[208].imag() = -1.0495;
-            m_256apsk[209].real() = -1.4625;
-            m_256apsk[209].imag() = -0.7740;
-            m_256apsk[210].real() = -0.7273;
-            m_256apsk[210].imag() = -0.6160;
-            m_256apsk[211].real() = -0.8177;
-            m_256apsk[211].imag() = -0.4841;
-            m_256apsk[212].real() = -0.2844;
-            m_256apsk[212].imag() = -0.1296;
-            m_256apsk[213].real() = -0.2853;
-            m_256apsk[213].imag() = -0.1309;
-            m_256apsk[214].real() = -0.5902;
-            m_256apsk[214].imag() = -0.4857;
-            m_256apsk[215].real() = -0.6355;
-            m_256apsk[215].imag() = -0.4185;
-            m_256apsk[216].real() = -1.0646;
-            m_256apsk[216].imag() = -1.2876;
-            m_256apsk[217].real() = -0.7949;
-            m_256apsk[217].imag() = -1.4772;
-            m_256apsk[218].real() = -0.5707;
-            m_256apsk[218].imag() = -0.7662;
-            m_256apsk[219].real() = -0.4490;
-            m_256apsk[219].imag() = -0.8461;
-            m_256apsk[220].real() = -0.1053;
-            m_256apsk[220].imag() = -0.1494;
-            m_256apsk[221].real() = -0.1052;
-            m_256apsk[221].imag() = -0.1495;
-            m_256apsk[222].real() = -0.4294;
-            m_256apsk[222].imag() = -0.6363;
-            m_256apsk[223].real() = -0.3744;
-            m_256apsk[223].imag() = -0.6744;
-            m_256apsk[224].real() = 1.0382;
-            m_256apsk[224].imag() = -0.8623;
-            m_256apsk[225].real() = 1.1794;
-            m_256apsk[225].imag() = -0.6376;
-            m_256apsk[226].real() = 0.8504;
-            m_256apsk[226].imag() = -0.7217;
-            m_256apsk[227].real() = 0.9638;
-            m_256apsk[227].imag() = -0.5407;
-            m_256apsk[228].real() = 0.3734;
-            m_256apsk[228].imag() = -0.2560;
-            m_256apsk[229].real() = 0.3799;
-            m_256apsk[229].imag() = -0.2517;
-            m_256apsk[230].real() = 0.4968;
-            m_256apsk[230].imag() = -0.3947;
-            m_256apsk[231].real() = 0.5231;
-            m_256apsk[231].imag() = -0.3644;
-            m_256apsk[232].real() = 0.8555;
-            m_256apsk[232].imag() = -1.0542;
-            m_256apsk[233].real() = 0.6363;
-            m_256apsk[233].imag() = -1.2064;
-            m_256apsk[234].real() = 0.6961;
-            m_256apsk[234].imag() = -0.8850;
-            m_256apsk[235].real() = 0.5229;
-            m_256apsk[235].imag() = -1.0037;
-            m_256apsk[236].real() = 0.1938;
-            m_256apsk[236].imag() = -0.3621;
-            m_256apsk[237].real() = 0.1909;
-            m_256apsk[237].imag() = -0.3627;
-            m_256apsk[238].real() = 0.3224;
-            m_256apsk[238].imag() = -0.5236;
-            m_256apsk[239].real() = 0.3016;
-            m_256apsk[239].imag() = -0.5347;
-            m_256apsk[240].real() = -1.0382;
-            m_256apsk[240].imag() = -0.8623;
-            m_256apsk[241].real() = -1.1794;
-            m_256apsk[241].imag() = -0.6376;
-            m_256apsk[242].real() = -0.8504;
-            m_256apsk[242].imag() = -0.7217;
-            m_256apsk[243].real() = -0.9638;
-            m_256apsk[243].imag() = -0.5407;
-            m_256apsk[244].real() = -0.3734;
-            m_256apsk[244].imag() = -0.2560;
-            m_256apsk[245].real() = -0.3799;
-            m_256apsk[245].imag() = -0.2517;
-            m_256apsk[246].real() = -0.4968;
-            m_256apsk[246].imag() = -0.3947;
-            m_256apsk[247].real() = -0.5231;
-            m_256apsk[247].imag() = -0.3644;
-            m_256apsk[248].real() = -0.8555;
-            m_256apsk[248].imag() = -1.0542;
-            m_256apsk[249].real() = -0.6363;
-            m_256apsk[249].imag() = -1.2064;
-            m_256apsk[250].real() = -0.6961;
-            m_256apsk[250].imag() = -0.8850;
-            m_256apsk[251].real() = -0.5229;
-            m_256apsk[251].imag() = -1.0037;
-            m_256apsk[252].real() = -0.1938;
-            m_256apsk[252].imag() = -0.3621;
-            m_256apsk[253].real() = -0.1909;
-            m_256apsk[253].imag() = -0.3627;
-            m_256apsk[254].real() = -0.3224;
-            m_256apsk[254].imag() = -0.5236;
-            m_256apsk[255].real() = -0.3016;
-            m_256apsk[255].imag() = -0.5347;
+            m_256apsk[0] = gr_complex(1.6350, 0.1593);
+            m_256apsk[1] = gr_complex(1.5776, 0.4735);
+            m_256apsk[2] = gr_complex(0.9430, 0.1100);
+            m_256apsk[3] = gr_complex(0.9069, 0.2829);
+            m_256apsk[4] = gr_complex(0.3237, 0.0849);
+            m_256apsk[5] = gr_complex(0.3228, 0.0867);
+            m_256apsk[6] = gr_complex(0.7502, 0.1138);
+            m_256apsk[7] = gr_complex(0.7325, 0.2088);
+            m_256apsk[8] = gr_complex(0.1658, 1.6747);
+            m_256apsk[9] = gr_complex(0.4907, 1.6084);
+            m_256apsk[10] = gr_complex(0.1088, 0.9530);
+            m_256apsk[11] = gr_complex(0.2464, 0.9270);
+            m_256apsk[12] = gr_complex(0.0872, 0.1390);
+            m_256apsk[13] = gr_complex(0.0871, 0.1392);
+            m_256apsk[14] = gr_complex(0.1091, 0.7656);
+            m_256apsk[15] = gr_complex(0.1699, 0.7537);
+            m_256apsk[16] = gr_complex(-1.6350, 0.1593);
+            m_256apsk[17] = gr_complex(-1.5776, 0.4735);
+            m_256apsk[18] = gr_complex(-0.9430, 0.1100);
+            m_256apsk[19] = gr_complex(-0.9069, 0.2829);
+            m_256apsk[20] = gr_complex(-0.3237, 0.0849);
+            m_256apsk[21] = gr_complex(-0.3228, 0.0867);
+            m_256apsk[22] = gr_complex(-0.7502, 0.1138);
+            m_256apsk[23] = gr_complex(-0.7325, 0.2088);
+            m_256apsk[24] = gr_complex(-0.1658, 1.6747);
+            m_256apsk[25] = gr_complex(-0.4907, 1.6084);
+            m_256apsk[26] = gr_complex(-0.1088, 0.9530);
+            m_256apsk[27] = gr_complex(-0.2464, 0.9270);
+            m_256apsk[28] = gr_complex(-0.0872, 0.1390);
+            m_256apsk[29] = gr_complex(-0.0871, 0.1392);
+            m_256apsk[30] = gr_complex(-0.1091, 0.7656);
+            m_256apsk[31] = gr_complex(-0.1699, 0.7537);
+            m_256apsk[32] = gr_complex(1.3225, 0.1320);
+            m_256apsk[33] = gr_complex(1.2742, 0.3922);
+            m_256apsk[34] = gr_complex(1.0854, 0.1139);
+            m_256apsk[35] = gr_complex(1.0441, 0.3296);
+            m_256apsk[36] = gr_complex(0.4582, 0.1123);
+            m_256apsk[37] = gr_complex(0.4545, 0.1251);
+            m_256apsk[38] = gr_complex(0.6473, 0.1138);
+            m_256apsk[39] = gr_complex(0.6339, 0.1702);
+            m_256apsk[40] = gr_complex(0.1322, 1.3631);
+            m_256apsk[41] = gr_complex(0.3929, 1.3102);
+            m_256apsk[42] = gr_complex(0.1124, 1.1327);
+            m_256apsk[43] = gr_complex(0.3160, 1.0913);
+            m_256apsk[44] = gr_complex(0.0928, 0.3970);
+            m_256apsk[45] = gr_complex(0.0937, 0.3973);
+            m_256apsk[46] = gr_complex(0.1054, 0.5979);
+            m_256apsk[47] = gr_complex(0.1230, 0.5949);
+            m_256apsk[48] = gr_complex(-1.3225, 0.1320);
+            m_256apsk[49] = gr_complex(-1.2742, 0.3922);
+            m_256apsk[50] = gr_complex(-1.0854, 0.1139);
+            m_256apsk[51] = gr_complex(-1.0441, 0.3296);
+            m_256apsk[52] = gr_complex(-0.4582, 0.1123);
+            m_256apsk[53] = gr_complex(-0.4545, 0.1251);
+            m_256apsk[54] = gr_complex(-0.6473, 0.1138);
+            m_256apsk[55] = gr_complex(-0.6339, 0.1702);
+            m_256apsk[56] = gr_complex(-0.1322, 1.3631);
+            m_256apsk[57] = gr_complex(-0.3929, 1.3102);
+            m_256apsk[58] = gr_complex(-0.1124, 1.1327);
+            m_256apsk[59] = gr_complex(-0.3160, 1.0913);
+            m_256apsk[60] = gr_complex(-0.0928, 0.3970);
+            m_256apsk[61] = gr_complex(-0.0937, 0.3973);
+            m_256apsk[62] = gr_complex(-0.1054, 0.5979);
+            m_256apsk[63] = gr_complex(-0.1230, 0.5949);
+            m_256apsk[64] = gr_complex(1.6350, -0.1593);
+            m_256apsk[65] = gr_complex(1.5776, -0.4735);
+            m_256apsk[66] = gr_complex(0.9430, -0.1100);
+            m_256apsk[67] = gr_complex(0.9069, -0.2829);
+            m_256apsk[68] = gr_complex(0.3237, -0.0849);
+            m_256apsk[69] = gr_complex(0.3228, -0.0867);
+            m_256apsk[70] = gr_complex(0.7502, -0.1138);
+            m_256apsk[71] = gr_complex(0.7325, -0.2088);
+            m_256apsk[72] = gr_complex(0.1658, -1.6747);
+            m_256apsk[73] = gr_complex(0.4907, -1.6084);
+            m_256apsk[74] = gr_complex(0.1088, -0.9530);
+            m_256apsk[75] = gr_complex(0.2464, -0.9270);
+            m_256apsk[76] = gr_complex(0.0872, -0.1390);
+            m_256apsk[77] = gr_complex(0.0871, -0.1392);
+            m_256apsk[78] = gr_complex(0.1091, -0.7656);
+            m_256apsk[79] = gr_complex(0.1699, -0.7537);
+            m_256apsk[80] = gr_complex(-1.6350, -0.1593);
+            m_256apsk[81] = gr_complex(-1.5776, -0.4735);
+            m_256apsk[82] = gr_complex(-0.9430, -0.1100);
+            m_256apsk[83] = gr_complex(-0.9069, -0.2829);
+            m_256apsk[84] = gr_complex(-0.3237, -0.0849);
+            m_256apsk[85] = gr_complex(-0.3228, -0.0867);
+            m_256apsk[86] = gr_complex(-0.7502, -0.1138);
+            m_256apsk[87] = gr_complex(-0.7325, -0.2088);
+            m_256apsk[88] = gr_complex(-0.1658, -1.6747);
+            m_256apsk[89] = gr_complex(-0.4907, -1.6084);
+            m_256apsk[90] = gr_complex(-0.1088, -0.9530);
+            m_256apsk[91] = gr_complex(-0.2464, -0.9270);
+            m_256apsk[92] = gr_complex(-0.0872, -0.1390);
+            m_256apsk[93] = gr_complex(-0.0871, -0.1392);
+            m_256apsk[94] = gr_complex(-0.1091, -0.7656);
+            m_256apsk[95] = gr_complex(-0.1699, -0.7537);
+            m_256apsk[96] = gr_complex(1.3225, -0.1320);
+            m_256apsk[97] = gr_complex(1.2742, -0.3922);
+            m_256apsk[98] = gr_complex(1.0854, -0.1139);
+            m_256apsk[99] = gr_complex(1.0441, -0.3296);
+            m_256apsk[100] = gr_complex(0.4582, -0.1123);
+            m_256apsk[101] = gr_complex(0.4545, -0.1251);
+            m_256apsk[102] = gr_complex(0.6473, -0.1138);
+            m_256apsk[103] = gr_complex(0.6339, -0.1702);
+            m_256apsk[104] = gr_complex(0.1322, -1.3631);
+            m_256apsk[105] = gr_complex(0.3929, -1.3102);
+            m_256apsk[106] = gr_complex(0.1124, -1.1327);
+            m_256apsk[107] = gr_complex(0.3160, -1.0913);
+            m_256apsk[108] = gr_complex(0.0928, -0.3970);
+            m_256apsk[109] = gr_complex(0.0937, -0.3973);
+            m_256apsk[110] = gr_complex(0.1054, -0.5979);
+            m_256apsk[111] = gr_complex(0.1230, -0.5949);
+            m_256apsk[112] = gr_complex(-1.3225, -0.1320);
+            m_256apsk[113] = gr_complex(-1.2742, -0.3922);
+            m_256apsk[114] = gr_complex(-1.0854, -0.1139);
+            m_256apsk[115] = gr_complex(-1.0441, -0.3296);
+            m_256apsk[116] = gr_complex(-0.4582, -0.1123);
+            m_256apsk[117] = gr_complex(-0.4545, -0.1251);
+            m_256apsk[118] = gr_complex(-0.6473, -0.1138);
+            m_256apsk[119] = gr_complex(-0.6339, -0.1702);
+            m_256apsk[120] = gr_complex(-0.1322, -1.3631);
+            m_256apsk[121] = gr_complex(-0.3929, -1.3102);
+            m_256apsk[122] = gr_complex(-0.1124, -1.1327);
+            m_256apsk[123] = gr_complex(-0.3160, -1.0913);
+            m_256apsk[124] = gr_complex(-0.0928, -0.3970);
+            m_256apsk[125] = gr_complex(-0.0937, -0.3973);
+            m_256apsk[126] = gr_complex(-0.1054, -0.5979);
+            m_256apsk[127] = gr_complex(-0.1230, -0.5949);
+            m_256apsk[128] = gr_complex(1.2901, 1.0495);
+            m_256apsk[129] = gr_complex(1.4625, 0.7740);
+            m_256apsk[130] = gr_complex(0.7273, 0.6160);
+            m_256apsk[131] = gr_complex(0.8177, 0.4841);
+            m_256apsk[132] = gr_complex(0.2844, 0.1296);
+            m_256apsk[133] = gr_complex(0.2853, 0.1309);
+            m_256apsk[134] = gr_complex(0.5902, 0.4857);
+            m_256apsk[135] = gr_complex(0.6355, 0.4185);
+            m_256apsk[136] = gr_complex(1.0646, 1.2876);
+            m_256apsk[137] = gr_complex(0.7949, 1.4772);
+            m_256apsk[138] = gr_complex(0.5707, 0.7662);
+            m_256apsk[139] = gr_complex(0.4490, 0.8461);
+            m_256apsk[140] = gr_complex(0.1053, 0.1494);
+            m_256apsk[141] = gr_complex(0.1052, 0.1495);
+            m_256apsk[142] = gr_complex(0.4294, 0.6363);
+            m_256apsk[143] = gr_complex(0.3744, 0.6744);
+            m_256apsk[144] = gr_complex(-1.2901, 1.0495);
+            m_256apsk[145] = gr_complex(-1.4625, 0.7740);
+            m_256apsk[146] = gr_complex(-0.7273, 0.6160);
+            m_256apsk[147] = gr_complex(-0.8177, 0.4841);
+            m_256apsk[148] = gr_complex(-0.2844, 0.1296);
+            m_256apsk[149] = gr_complex(-0.2853, 0.1309);
+            m_256apsk[150] = gr_complex(-0.5902, 0.4857);
+            m_256apsk[151] = gr_complex(-0.6355, 0.4185);
+            m_256apsk[152] = gr_complex(-1.0646, 1.2876);
+            m_256apsk[153] = gr_complex(-0.7949, 1.4772);
+            m_256apsk[154] = gr_complex(-0.5707, 0.7662);
+            m_256apsk[155] = gr_complex(-0.4490, 0.8461);
+            m_256apsk[156] = gr_complex(-0.1053, 0.1494);
+            m_256apsk[157] = gr_complex(-0.1052, 0.1495);
+            m_256apsk[158] = gr_complex(-0.4294, 0.6363);
+            m_256apsk[159] = gr_complex(-0.3744, 0.6744);
+            m_256apsk[160] = gr_complex(1.0382, 0.8623);
+            m_256apsk[161] = gr_complex(1.1794, 0.6376);
+            m_256apsk[162] = gr_complex(0.8504, 0.7217);
+            m_256apsk[163] = gr_complex(0.9638, 0.5407);
+            m_256apsk[164] = gr_complex(0.3734, 0.2560);
+            m_256apsk[165] = gr_complex(0.3799, 0.2517);
+            m_256apsk[166] = gr_complex(0.4968, 0.3947);
+            m_256apsk[167] = gr_complex(0.5231, 0.3644);
+            m_256apsk[168] = gr_complex(0.8555, 1.0542);
+            m_256apsk[169] = gr_complex(0.6363, 1.2064);
+            m_256apsk[170] = gr_complex(0.6961, 0.8850);
+            m_256apsk[171] = gr_complex(0.5229, 1.0037);
+            m_256apsk[172] = gr_complex(0.1938, 0.3621);
+            m_256apsk[173] = gr_complex(0.1909, 0.3627);
+            m_256apsk[174] = gr_complex(0.3224, 0.5236);
+            m_256apsk[175] = gr_complex(0.3016, 0.5347);
+            m_256apsk[176] = gr_complex(-1.0382, 0.8623);
+            m_256apsk[177] = gr_complex(-1.1794, 0.6376);
+            m_256apsk[178] = gr_complex(-0.8504, 0.7217);
+            m_256apsk[179] = gr_complex(-0.9638, 0.5407);
+            m_256apsk[180] = gr_complex(-0.3734, 0.2560);
+            m_256apsk[181] = gr_complex(-0.3799, 0.2517);
+            m_256apsk[182] = gr_complex(-0.4968, 0.3947);
+            m_256apsk[183] = gr_complex(-0.5231, 0.3644);
+            m_256apsk[184] = gr_complex(-0.8555, 1.0542);
+            m_256apsk[185] = gr_complex(-0.6363, 1.2064);
+            m_256apsk[186] = gr_complex(-0.6961, 0.8850);
+            m_256apsk[187] = gr_complex(-0.5229, 1.0037);
+            m_256apsk[188] = gr_complex(-0.1938, 0.3621);
+            m_256apsk[189] = gr_complex(-0.1909, 0.3627);
+            m_256apsk[190] = gr_complex(-0.3224, 0.5236);
+            m_256apsk[191] = gr_complex(-0.3016, 0.5347);
+            m_256apsk[192] = gr_complex(1.2901, -1.0495);
+            m_256apsk[193] = gr_complex(1.4625, -0.7740);
+            m_256apsk[194] = gr_complex(0.7273, -0.6160);
+            m_256apsk[195] = gr_complex(0.8177, -0.4841);
+            m_256apsk[196] = gr_complex(0.2844, -0.1296);
+            m_256apsk[197] = gr_complex(0.2853, -0.1309);
+            m_256apsk[198] = gr_complex(0.5902, -0.4857);
+            m_256apsk[199] = gr_complex(0.6355, -0.4185);
+            m_256apsk[200] = gr_complex(1.0646, -1.2876);
+            m_256apsk[201] = gr_complex(0.7949, -1.4772);
+            m_256apsk[202] = gr_complex(0.5707, -0.7662);
+            m_256apsk[203] = gr_complex(0.4490, -0.8461);
+            m_256apsk[204] = gr_complex(0.1053, -0.1494);
+            m_256apsk[205] = gr_complex(0.1052, -0.1495);
+            m_256apsk[206] = gr_complex(0.4294, -0.6363);
+            m_256apsk[207] = gr_complex(0.3744, -0.6744);
+            m_256apsk[208] = gr_complex(-1.2901, -1.0495);
+            m_256apsk[209] = gr_complex(-1.4625, -0.7740);
+            m_256apsk[210] = gr_complex(-0.7273, -0.6160);
+            m_256apsk[211] = gr_complex(-0.8177, -0.4841);
+            m_256apsk[212] = gr_complex(-0.2844, -0.1296);
+            m_256apsk[213] = gr_complex(-0.2853, -0.1309);
+            m_256apsk[214] = gr_complex(-0.5902, -0.4857);
+            m_256apsk[215] = gr_complex(-0.6355, -0.4185);
+            m_256apsk[216] = gr_complex(-1.0646, -1.2876);
+            m_256apsk[217] = gr_complex(-0.7949, -1.4772);
+            m_256apsk[218] = gr_complex(-0.5707, -0.7662);
+            m_256apsk[219] = gr_complex(-0.4490, -0.8461);
+            m_256apsk[220] = gr_complex(-0.1053, -0.1494);
+            m_256apsk[221] = gr_complex(-0.1052, -0.1495);
+            m_256apsk[222] = gr_complex(-0.4294, -0.6363);
+            m_256apsk[223] = gr_complex(-0.3744, -0.6744);
+            m_256apsk[224] = gr_complex(1.0382, -0.8623);
+            m_256apsk[225] = gr_complex(1.1794, -0.6376);
+            m_256apsk[226] = gr_complex(0.8504, -0.7217);
+            m_256apsk[227] = gr_complex(0.9638, -0.5407);
+            m_256apsk[228] = gr_complex(0.3734, -0.2560);
+            m_256apsk[229] = gr_complex(0.3799, -0.2517);
+            m_256apsk[230] = gr_complex(0.4968, -0.3947);
+            m_256apsk[231] = gr_complex(0.5231, -0.3644);
+            m_256apsk[232] = gr_complex(0.8555, -1.0542);
+            m_256apsk[233] = gr_complex(0.6363, -1.2064);
+            m_256apsk[234] = gr_complex(0.6961, -0.8850);
+            m_256apsk[235] = gr_complex(0.5229, -1.0037);
+            m_256apsk[236] = gr_complex(0.1938, -0.3621);
+            m_256apsk[237] = gr_complex(0.1909, -0.3627);
+            m_256apsk[238] = gr_complex(0.3224, -0.5236);
+            m_256apsk[239] = gr_complex(0.3016, -0.5347);
+            m_256apsk[240] = gr_complex(-1.0382, -0.8623);
+            m_256apsk[241] = gr_complex(-1.1794, -0.6376);
+            m_256apsk[242] = gr_complex(-0.8504, -0.7217);
+            m_256apsk[243] = gr_complex(-0.9638, -0.5407);
+            m_256apsk[244] = gr_complex(-0.3734, -0.2560);
+            m_256apsk[245] = gr_complex(-0.3799, -0.2517);
+            m_256apsk[246] = gr_complex(-0.4968, -0.3947);
+            m_256apsk[247] = gr_complex(-0.5231, -0.3644);
+            m_256apsk[248] = gr_complex(-0.8555, -1.0542);
+            m_256apsk[249] = gr_complex(-0.6363, -1.2064);
+            m_256apsk[250] = gr_complex(-0.6961, -0.8850);
+            m_256apsk[251] = gr_complex(-0.5229, -1.0037);
+            m_256apsk[252] = gr_complex(-0.1938, -0.3621);
+            m_256apsk[253] = gr_complex(-0.1909, -0.3627);
+            m_256apsk[254] = gr_complex(-0.3224, -0.5236);
+            m_256apsk[255] = gr_complex(-0.3016, -0.5347);
             for (int i = 0; i < 256; i++) {
-              m_256apsk[i].real() /= 1.6747;
-              m_256apsk[i].imag() /= 1.6747;
+              m_256apsk[i] /= 1.6747;
             }
           }
           else if (rate == C22_30) {
-            m_256apsk[0].real()   = 1.5977;
-            m_256apsk[0].imag()   = 0.1526;
-            m_256apsk[1].real()   = 1.3187;
-            m_256apsk[1].imag()   = 0.1269;
-            m_256apsk[2].real()   = -1.5977;
-            m_256apsk[2].imag()   = 0.1526;
-            m_256apsk[3].real()   = -1.3187;
-            m_256apsk[3].imag()   = 0.1269;
-            m_256apsk[4].real()   = 0.2574;
-            m_256apsk[4].imag()   = 0.0733;
-            m_256apsk[5].real()   = 0.4496;
-            m_256apsk[5].imag()   = 0.0807;
-            m_256apsk[6].real()   = -0.2574;
-            m_256apsk[6].imag()   = 0.0733;
-            m_256apsk[7].real()   = -0.4496;
-            m_256apsk[7].imag()   = 0.0807;
-            m_256apsk[8].real()   = 1.5977;
-            m_256apsk[8].imag()   = -0.1526;
-            m_256apsk[9].real()   = 1.3187;
-            m_256apsk[9].imag()   = -0.1269;
-            m_256apsk[10].real()  = -1.5977;
-            m_256apsk[10].imag()  = -0.1526;
-            m_256apsk[11].real()  = -1.3187;
-            m_256apsk[11].imag()  = -0.1269;
-            m_256apsk[12].real()  = 0.2574;
-            m_256apsk[12].imag()  = -0.0733;
-            m_256apsk[13].real()  = 0.4496;
-            m_256apsk[13].imag()  = -0.0807;
-            m_256apsk[14].real()  = -0.2574;
-            m_256apsk[14].imag()  = -0.0733;
-            m_256apsk[15].real()  = -0.4496;
-            m_256apsk[15].imag()  = -0.0807;
-            m_256apsk[16].real()  = 0.9269;
-            m_256apsk[16].imag()  = 0.0943;
-            m_256apsk[17].real()  = 1.1024;
-            m_256apsk[17].imag()  = 0.1086;
-            m_256apsk[18].real()  = -0.9269;
-            m_256apsk[18].imag()  = 0.0943;
-            m_256apsk[19].real()  = -1.1024;
-            m_256apsk[19].imag()  = 0.1086;
-            m_256apsk[20].real()  = 0.7663;
-            m_256apsk[20].imag()  = 0.0867;
-            m_256apsk[21].real()  = 0.6115;
-            m_256apsk[21].imag()  = 0.0871;
-            m_256apsk[22].real()  = -0.7663;
-            m_256apsk[22].imag()  = 0.0867;
-            m_256apsk[23].real()  = -0.6115;
-            m_256apsk[23].imag()  = 0.0871;
-            m_256apsk[24].real()  = 0.9269;
-            m_256apsk[24].imag()  = -0.0943;
-            m_256apsk[25].real()  = 1.1024;
-            m_256apsk[25].imag()  = -0.1086;
-            m_256apsk[26].real()  = -0.9269;
-            m_256apsk[26].imag()  = -0.0943;
-            m_256apsk[27].real()  = -1.1024;
-            m_256apsk[27].imag()  = -0.1086;
-            m_256apsk[28].real()  = 0.7663;
-            m_256apsk[28].imag()  = -0.0867;
-            m_256apsk[29].real()  = 0.6115;
-            m_256apsk[29].imag()  = -0.0871;
-            m_256apsk[30].real()  = -0.7663;
-            m_256apsk[30].imag()  = -0.0867;
-            m_256apsk[31].real()  = -0.6115;
-            m_256apsk[31].imag()  = -0.0871;
-            m_256apsk[32].real()  = 1.2701;
-            m_256apsk[32].imag()  = 1.0139;
-            m_256apsk[33].real()  = 1.0525;
-            m_256apsk[33].imag()  = 0.8406;
-            m_256apsk[34].real()  = -1.2701;
-            m_256apsk[34].imag()  = 1.0139;
-            m_256apsk[35].real()  = -1.0525;
-            m_256apsk[35].imag()  = 0.8406;
-            m_256apsk[36].real()  = 0.2487;
-            m_256apsk[36].imag()  = 0.1978;
-            m_256apsk[37].real()  = 0.3523;
-            m_256apsk[37].imag()  = 0.2915;
-            m_256apsk[38].real()  = -0.2487;
-            m_256apsk[38].imag()  = 0.1978;
-            m_256apsk[39].real()  = -0.3523;
-            m_256apsk[39].imag()  = 0.2915;
-            m_256apsk[40].real()  = 1.2701;
-            m_256apsk[40].imag()  = -1.0139;
-            m_256apsk[41].real()  = 1.0525;
-            m_256apsk[41].imag()  = -0.8406;
-            m_256apsk[42].real()  = -1.2701;
-            m_256apsk[42].imag()  = -1.0139;
-            m_256apsk[43].real()  = -1.0525;
-            m_256apsk[43].imag()  = -0.8406;
-            m_256apsk[44].real()  = 0.2487;
-            m_256apsk[44].imag()  = -0.1978;
-            m_256apsk[45].real()  = 0.3523;
-            m_256apsk[45].imag()  = -0.2915;
-            m_256apsk[46].real()  = -0.2487;
-            m_256apsk[46].imag()  = -0.1978;
-            m_256apsk[47].real()  = -0.3523;
-            m_256apsk[47].imag()  = -0.2915;
-            m_256apsk[48].real()  = 0.7359;
-            m_256apsk[48].imag()  = 0.6043;
-            m_256apsk[49].real()  = 0.8807;
-            m_256apsk[49].imag()  = 0.7105;
-            m_256apsk[50].real()  = -0.7359;
-            m_256apsk[50].imag()  = 0.6043;
-            m_256apsk[51].real()  = -0.8807;
-            m_256apsk[51].imag()  = 0.7105;
-            m_256apsk[52].real()  = 0.6017;
-            m_256apsk[52].imag()  = 0.5019;
-            m_256apsk[53].real()  = 0.4747;
-            m_256apsk[53].imag()  = 0.3996;
-            m_256apsk[54].real()  = -0.6017;
-            m_256apsk[54].imag()  = 0.5019;
-            m_256apsk[55].real()  = -0.4747;
-            m_256apsk[55].imag()  = 0.3996;
-            m_256apsk[56].real()  = 0.7359;
-            m_256apsk[56].imag()  = -0.6043;
-            m_256apsk[57].real()  = 0.8807;
-            m_256apsk[57].imag()  = -0.7105;
-            m_256apsk[58].real()  = -0.7359;
-            m_256apsk[58].imag()  = -0.6043;
-            m_256apsk[59].real()  = -0.8807;
-            m_256apsk[59].imag()  = -0.7105;
-            m_256apsk[60].real()  = 0.6017;
-            m_256apsk[60].imag()  = -0.5019;
-            m_256apsk[61].real()  = 0.4747;
-            m_256apsk[61].imag()  = -0.3996;
-            m_256apsk[62].real()  = -0.6017;
-            m_256apsk[62].imag()  = -0.5019;
-            m_256apsk[63].real()  = -0.4747;
-            m_256apsk[63].imag()  = -0.3996;
-            m_256apsk[64].real()  = 1.5441;
-            m_256apsk[64].imag()  = 0.4545;
-            m_256apsk[65].real()  = 1.2750;
-            m_256apsk[65].imag()  = 0.3775;
-            m_256apsk[66].real()  = -1.5441;
-            m_256apsk[66].imag()  = 0.4545;
-            m_256apsk[67].real()  = -1.2750;
-            m_256apsk[67].imag()  = 0.3775;
-            m_256apsk[68].real()  = 0.2586;
-            m_256apsk[68].imag()  = 0.0752;
-            m_256apsk[69].real()  = 0.4435;
-            m_256apsk[69].imag()  = 0.1065;
-            m_256apsk[70].real()  = -0.2586;
-            m_256apsk[70].imag()  = 0.0752;
-            m_256apsk[71].real()  = -0.4435;
-            m_256apsk[71].imag()  = 0.1065;
-            m_256apsk[72].real()  = 1.5441;
-            m_256apsk[72].imag()  = -0.4545;
-            m_256apsk[73].real()  = 1.2750;
-            m_256apsk[73].imag()  = -0.3775;
-            m_256apsk[74].real()  = -1.5441;
-            m_256apsk[74].imag()  = -0.4545;
-            m_256apsk[75].real()  = -1.2750;
-            m_256apsk[75].imag()  = -0.3775;
-            m_256apsk[76].real()  = 0.2586;
-            m_256apsk[76].imag()  = -0.0752;
-            m_256apsk[77].real()  = 0.4435;
-            m_256apsk[77].imag()  = -0.1065;
-            m_256apsk[78].real()  = -0.2586;
-            m_256apsk[78].imag()  = -0.0752;
-            m_256apsk[79].real()  = -0.4435;
-            m_256apsk[79].imag()  = -0.1065;
-            m_256apsk[80].real()  = 0.8925;
-            m_256apsk[80].imag()  = 0.2771;
-            m_256apsk[81].real()  = 1.0649;
-            m_256apsk[81].imag()  = 0.3219;
-            m_256apsk[82].real()  = -0.8925;
-            m_256apsk[82].imag()  = 0.2771;
-            m_256apsk[83].real()  = -1.0649;
-            m_256apsk[83].imag()  = 0.3219;
-            m_256apsk[84].real()  = 0.7362;
-            m_256apsk[84].imag()  = 0.2279;
-            m_256apsk[85].real()  = 0.5936;
-            m_256apsk[85].imag()  = 0.1699;
-            m_256apsk[86].real()  = -0.7362;
-            m_256apsk[86].imag()  = 0.2279;
-            m_256apsk[87].real()  = -0.5936;
-            m_256apsk[87].imag()  = 0.1699;
-            m_256apsk[88].real()  = 0.8925;
-            m_256apsk[88].imag()  = -0.2771;
-            m_256apsk[89].real()  = 1.0649;
-            m_256apsk[89].imag()  = -0.3219;
-            m_256apsk[90].real()  = -0.8925;
-            m_256apsk[90].imag()  = -0.2771;
-            m_256apsk[91].real()  = -1.0649;
-            m_256apsk[91].imag()  = -0.3219;
-            m_256apsk[92].real()  = 0.7362;
-            m_256apsk[92].imag()  = -0.2279;
-            m_256apsk[93].real()  = 0.5936;
-            m_256apsk[93].imag()  = -0.1699;
-            m_256apsk[94].real()  = -0.7362;
-            m_256apsk[94].imag()  = -0.2279;
-            m_256apsk[95].real()  = -0.5936;
-            m_256apsk[95].imag()  = -0.1699;
-            m_256apsk[96].real()  = 1.4352;
-            m_256apsk[96].imag()  = 0.7452;
-            m_256apsk[97].real()  = 1.1866;
-            m_256apsk[97].imag()  = 0.6182;
-            m_256apsk[98].real()  = -1.4352;
-            m_256apsk[98].imag()  = 0.7452;
-            m_256apsk[99].real()  = -1.1866;
-            m_256apsk[99].imag()  = 0.6182;
-            m_256apsk[100].real() = 0.2523;
-            m_256apsk[100].imag() = 0.1944;
-            m_256apsk[101].real() = 0.3695;
-            m_256apsk[101].imag() = 0.2695;
-            m_256apsk[102].real() = -0.2523;
-            m_256apsk[102].imag() = 0.1944;
-            m_256apsk[103].real() = -0.3695;
-            m_256apsk[103].imag() = 0.2695;
-            m_256apsk[104].real() = 1.4352;
-            m_256apsk[104].imag() = -0.7452;
-            m_256apsk[105].real() = 1.1866;
-            m_256apsk[105].imag() = -0.6182;
-            m_256apsk[106].real() = -1.4352;
-            m_256apsk[106].imag() = -0.7452;
-            m_256apsk[107].real() = -1.1866;
-            m_256apsk[107].imag() = -0.6182;
-            m_256apsk[108].real() = 0.2523;
-            m_256apsk[108].imag() = -0.1944;
-            m_256apsk[109].real() = 0.3695;
-            m_256apsk[109].imag() = -0.2695;
-            m_256apsk[110].real() = -0.2523;
-            m_256apsk[110].imag() = -0.1944;
-            m_256apsk[111].real() = -0.3695;
-            m_256apsk[111].imag() = -0.2695;
-            m_256apsk[112].real() = 0.8273;
-            m_256apsk[112].imag() = 0.4493;
-            m_256apsk[113].real() = 0.9911;
-            m_256apsk[113].imag() = 0.5243;
-            m_256apsk[114].real() = -0.8273;
-            m_256apsk[114].imag() = 0.4493;
-            m_256apsk[115].real() = -0.9911;
-            m_256apsk[115].imag() = 0.5243;
-            m_256apsk[116].real() = 0.6708;
-            m_256apsk[116].imag() = 0.3859;
-            m_256apsk[117].real() = 0.5197;
-            m_256apsk[117].imag() = 0.3331;
-            m_256apsk[118].real() = -0.6708;
-            m_256apsk[118].imag() = 0.3859;
-            m_256apsk[119].real() = -0.5197;
-            m_256apsk[119].imag() = 0.3331;
-            m_256apsk[120].real() = 0.8273;
-            m_256apsk[120].imag() = -0.4493;
-            m_256apsk[121].real() = 0.9911;
-            m_256apsk[121].imag() = -0.5243;
-            m_256apsk[122].real() = -0.8273;
-            m_256apsk[122].imag() = -0.4493;
-            m_256apsk[123].real() = -0.9911;
-            m_256apsk[123].imag() = -0.5243;
-            m_256apsk[124].real() = 0.6708;
-            m_256apsk[124].imag() = -0.3859;
-            m_256apsk[125].real() = 0.5197;
-            m_256apsk[125].imag() = -0.3331;
-            m_256apsk[126].real() = -0.6708;
-            m_256apsk[126].imag() = -0.3859;
-            m_256apsk[127].real() = -0.5197;
-            m_256apsk[127].imag() = -0.3331;
-            m_256apsk[128].real() = 0.1646;
-            m_256apsk[128].imag() = 1.6329;
-            m_256apsk[129].real() = 0.1379;
-            m_256apsk[129].imag() = 1.3595;
-            m_256apsk[130].real() = -0.1646;
-            m_256apsk[130].imag() = 1.6329;
-            m_256apsk[131].real() = -0.1379;
-            m_256apsk[131].imag() = 1.3595;
-            m_256apsk[132].real() = 0.0736;
-            m_256apsk[132].imag() = 0.0898;
-            m_256apsk[133].real() = 0.0742;
-            m_256apsk[133].imag() = 0.5054;
-            m_256apsk[134].real() = -0.0736;
-            m_256apsk[134].imag() = 0.0898;
-            m_256apsk[135].real() = -0.0742;
-            m_256apsk[135].imag() = 0.5054;
-            m_256apsk[136].real() = 0.1646;
-            m_256apsk[136].imag() = -1.6329;
-            m_256apsk[137].real() = 0.1379;
-            m_256apsk[137].imag() = -1.3595;
-            m_256apsk[138].real() = -0.1646;
-            m_256apsk[138].imag() = -1.6329;
-            m_256apsk[139].real() = -0.1379;
-            m_256apsk[139].imag() = -1.3595;
-            m_256apsk[140].real() = 0.0736;
-            m_256apsk[140].imag() = -0.0898;
-            m_256apsk[141].real() = 0.0742;
-            m_256apsk[141].imag() = -0.5054;
-            m_256apsk[142].real() = -0.0736;
-            m_256apsk[142].imag() = -0.0898;
-            m_256apsk[143].real() = -0.0742;
-            m_256apsk[143].imag() = -0.5054;
-            m_256apsk[144].real() = 0.0992;
-            m_256apsk[144].imag() = 0.9847;
-            m_256apsk[145].real() = 0.1170;
-            m_256apsk[145].imag() = 1.1517;
-            m_256apsk[146].real() = -0.0992;
-            m_256apsk[146].imag() = 0.9847;
-            m_256apsk[147].real() = -0.1170;
-            m_256apsk[147].imag() = 1.1517;
-            m_256apsk[148].real() = 0.0894;
-            m_256apsk[148].imag() = 0.8287;
-            m_256apsk[149].real() = 0.0889;
-            m_256apsk[149].imag() = 0.6739;
-            m_256apsk[150].real() = -0.0894;
-            m_256apsk[150].imag() = 0.8287;
-            m_256apsk[151].real() = -0.0889;
-            m_256apsk[151].imag() = 0.6739;
-            m_256apsk[152].real() = 0.0992;
-            m_256apsk[152].imag() = -0.9847;
-            m_256apsk[153].real() = 0.1170;
-            m_256apsk[153].imag() = -1.1517;
-            m_256apsk[154].real() = -0.0992;
-            m_256apsk[154].imag() = -0.9847;
-            m_256apsk[155].real() = -0.1170;
-            m_256apsk[155].imag() = -1.1517;
-            m_256apsk[156].real() = 0.0894;
-            m_256apsk[156].imag() = -0.8287;
-            m_256apsk[157].real() = 0.0889;
-            m_256apsk[157].imag() = -0.6739;
-            m_256apsk[158].real() = -0.0894;
-            m_256apsk[158].imag() = -0.8287;
-            m_256apsk[159].real() = -0.0889;
-            m_256apsk[159].imag() = -0.6739;
-            m_256apsk[160].real() = 1.0516;
-            m_256apsk[160].imag() = 1.2481;
-            m_256apsk[161].real() = 0.8742;
-            m_256apsk[161].imag() = 1.0355;
-            m_256apsk[162].real() = -1.0516;
-            m_256apsk[162].imag() = 1.2481;
-            m_256apsk[163].real() = -0.8742;
-            m_256apsk[163].imag() = 1.0355;
-            m_256apsk[164].real() = 0.0970;
-            m_256apsk[164].imag() = 0.2450;
-            m_256apsk[165].real() = 0.1959;
-            m_256apsk[165].imag() = 0.4045;
-            m_256apsk[166].real() = -0.0970;
-            m_256apsk[166].imag() = 0.2450;
-            m_256apsk[167].real() = -0.1959;
-            m_256apsk[167].imag() = 0.4045;
-            m_256apsk[168].real() = 1.0516;
-            m_256apsk[168].imag() = -1.2481;
-            m_256apsk[169].real() = 0.8742;
-            m_256apsk[169].imag() = -1.0355;
-            m_256apsk[170].real() = -1.0516;
-            m_256apsk[170].imag() = -1.2481;
-            m_256apsk[171].real() = -0.8742;
-            m_256apsk[171].imag() = -1.0355;
-            m_256apsk[172].real() = 0.0970;
-            m_256apsk[172].imag() = -0.2450;
-            m_256apsk[173].real() = 0.1959;
-            m_256apsk[173].imag() = -0.4045;
-            m_256apsk[174].real() = -0.0970;
-            m_256apsk[174].imag() = -0.2450;
-            m_256apsk[175].real() = -0.1959;
-            m_256apsk[175].imag() = -0.4045;
-            m_256apsk[176].real() = 0.6150;
-            m_256apsk[176].imag() = 0.7441;
-            m_256apsk[177].real() = 0.7345;
-            m_256apsk[177].imag() = 0.8743;
-            m_256apsk[178].real() = -0.6150;
-            m_256apsk[178].imag() = 0.7441;
-            m_256apsk[179].real() = -0.7345;
-            m_256apsk[179].imag() = 0.8743;
-            m_256apsk[180].real() = 0.4932;
-            m_256apsk[180].imag() = 0.6301;
-            m_256apsk[181].real() = 0.3620;
-            m_256apsk[181].imag() = 0.5258;
-            m_256apsk[182].real() = -0.4932;
-            m_256apsk[182].imag() = 0.6301;
-            m_256apsk[183].real() = -0.3620;
-            m_256apsk[183].imag() = 0.5258;
-            m_256apsk[184].real() = 0.6150;
-            m_256apsk[184].imag() = -0.7441;
-            m_256apsk[185].real() = 0.7345;
-            m_256apsk[185].imag() = -0.8743;
-            m_256apsk[186].real() = -0.6150;
-            m_256apsk[186].imag() = -0.7441;
-            m_256apsk[187].real() = -0.7345;
-            m_256apsk[187].imag() = -0.8743;
-            m_256apsk[188].real() = 0.4932;
-            m_256apsk[188].imag() = -0.6301;
-            m_256apsk[189].real() = 0.3620;
-            m_256apsk[189].imag() = -0.5258;
-            m_256apsk[190].real() = -0.4932;
-            m_256apsk[190].imag() = -0.6301;
-            m_256apsk[191].real() = -0.3620;
-            m_256apsk[191].imag() = -0.5258;
-            m_256apsk[192].real() = 0.4866;
-            m_256apsk[192].imag() = 1.5660;
-            m_256apsk[193].real() = 0.4068;
-            m_256apsk[193].imag() = 1.3027;
-            m_256apsk[194].real() = -0.4866;
-            m_256apsk[194].imag() = 1.5660;
-            m_256apsk[195].real() = -0.4068;
-            m_256apsk[195].imag() = 1.3027;
-            m_256apsk[196].real() = 0.0732;
-            m_256apsk[196].imag() = 0.0899;
-            m_256apsk[197].real() = 0.0877;
-            m_256apsk[197].imag() = 0.4997;
-            m_256apsk[198].real() = -0.0732;
-            m_256apsk[198].imag() = 0.0899;
-            m_256apsk[199].real() = -0.0877;
-            m_256apsk[199].imag() = 0.4997;
-            m_256apsk[200].real() = 0.4866;
-            m_256apsk[200].imag() = -1.5660;
-            m_256apsk[201].real() = 0.4068;
-            m_256apsk[201].imag() = -1.3027;
-            m_256apsk[202].real() = -0.4866;
-            m_256apsk[202].imag() = -1.5660;
-            m_256apsk[203].real() = -0.4068;
-            m_256apsk[203].imag() = -1.3027;
-            m_256apsk[204].real() = 0.0732;
-            m_256apsk[204].imag() = -0.0899;
-            m_256apsk[205].real() = 0.0877;
-            m_256apsk[205].imag() = -0.4997;
-            m_256apsk[206].real() = -0.0732;
-            m_256apsk[206].imag() = -0.0899;
-            m_256apsk[207].real() = -0.0877;
-            m_256apsk[207].imag() = -0.4997;
-            m_256apsk[208].real() = 0.2927;
-            m_256apsk[208].imag() = 0.9409;
-            m_256apsk[209].real() = 0.3446;
-            m_256apsk[209].imag() = 1.1023;
-            m_256apsk[210].real() = -0.2927;
-            m_256apsk[210].imag() = 0.9409;
-            m_256apsk[211].real() = -0.3446;
-            m_256apsk[211].imag() = 1.1023;
-            m_256apsk[212].real() = 0.2350;
-            m_256apsk[212].imag() = 0.7945;
-            m_256apsk[213].real() = 0.1670;
-            m_256apsk[213].imag() = 0.6529;
-            m_256apsk[214].real() = -0.2350;
-            m_256apsk[214].imag() = 0.7945;
-            m_256apsk[215].real() = -0.1670;
-            m_256apsk[215].imag() = 0.6529;
-            m_256apsk[216].real() = 0.2927;
-            m_256apsk[216].imag() = -0.9409;
-            m_256apsk[217].real() = 0.3446;
-            m_256apsk[217].imag() = -1.1023;
-            m_256apsk[218].real() = -0.2927;
-            m_256apsk[218].imag() = -0.9409;
-            m_256apsk[219].real() = -0.3446;
-            m_256apsk[219].imag() = -1.1023;
-            m_256apsk[220].real() = 0.2350;
-            m_256apsk[220].imag() = -0.7945;
-            m_256apsk[221].real() = 0.1670;
-            m_256apsk[221].imag() = -0.6529;
-            m_256apsk[222].real() = -0.2350;
-            m_256apsk[222].imag() = -0.7945;
-            m_256apsk[223].real() = -0.1670;
-            m_256apsk[223].imag() = -0.6529;
-            m_256apsk[224].real() = 0.7867;
-            m_256apsk[224].imag() = 1.4356;
-            m_256apsk[225].real() = 0.6561;
-            m_256apsk[225].imag() = 1.1927;
-            m_256apsk[226].real() = -0.7867;
-            m_256apsk[226].imag() = 1.4356;
-            m_256apsk[227].real() = -0.6561;
-            m_256apsk[227].imag() = 1.1927;
-            m_256apsk[228].real() = 0.0947;
-            m_256apsk[228].imag() = 0.2451;
-            m_256apsk[229].real() = 0.1865;
-            m_256apsk[229].imag() = 0.4121;
-            m_256apsk[230].real() = -0.0947;
-            m_256apsk[230].imag() = 0.2451;
-            m_256apsk[231].real() = -0.1865;
-            m_256apsk[231].imag() = 0.4121;
-            m_256apsk[232].real() = 0.7867;
-            m_256apsk[232].imag() = -1.4356;
-            m_256apsk[233].real() = 0.6561;
-            m_256apsk[233].imag() = -1.1927;
-            m_256apsk[234].real() = -0.7867;
-            m_256apsk[234].imag() = -1.4356;
-            m_256apsk[235].real() = -0.6561;
-            m_256apsk[235].imag() = -1.1927;
-            m_256apsk[236].real() = 0.0947;
-            m_256apsk[236].imag() = -0.2451;
-            m_256apsk[237].real() = 0.1865;
-            m_256apsk[237].imag() = -0.4121;
-            m_256apsk[238].real() = -0.0947;
-            m_256apsk[238].imag() = -0.2451;
-            m_256apsk[239].real() = -0.1865;
-            m_256apsk[239].imag() = -0.4121;
-            m_256apsk[240].real() = 0.4677;
-            m_256apsk[240].imag() = 0.8579;
-            m_256apsk[241].real() = 0.5537;
-            m_256apsk[241].imag() = 1.0081;
-            m_256apsk[242].real() = -0.4677;
-            m_256apsk[242].imag() = 0.8579;
-            m_256apsk[243].real() = -0.5537;
-            m_256apsk[243].imag() = 1.0081;
-            m_256apsk[244].real() = 0.3893;
-            m_256apsk[244].imag() = 0.7143;
-            m_256apsk[245].real() = 0.3110;
-            m_256apsk[245].imag() = 0.5686;
-            m_256apsk[246].real() = -0.3893;
-            m_256apsk[246].imag() = 0.7143;
-            m_256apsk[247].real() = -0.3110;
-            m_256apsk[247].imag() = 0.5686;
-            m_256apsk[248].real() = 0.4677;
-            m_256apsk[248].imag() = -0.8579;
-            m_256apsk[249].real() = 0.5537;
-            m_256apsk[249].imag() = -1.0081;
-            m_256apsk[250].real() = -0.4677;
-            m_256apsk[250].imag() = -0.8579;
-            m_256apsk[251].real() = -0.5537;
-            m_256apsk[251].imag() = -1.0081;
-            m_256apsk[252].real() = 0.3893;
-            m_256apsk[252].imag() = -0.7143;
-            m_256apsk[253].real() = 0.3110;
-            m_256apsk[253].imag() = -0.5686;
-            m_256apsk[254].real() = -0.3893;
-            m_256apsk[254].imag() = -0.7143;
-            m_256apsk[255].real() = -0.3110;
-            m_256apsk[255].imag() = -0.5686;
+            m_256apsk[0] = gr_complex(1.5977, 0.1526);
+            m_256apsk[1] = gr_complex(1.3187, 0.1269);
+            m_256apsk[2] = gr_complex(-1.5977, 0.1526);
+            m_256apsk[3] = gr_complex(-1.3187, 0.1269);
+            m_256apsk[4] = gr_complex(0.2574, 0.0733);
+            m_256apsk[5] = gr_complex(0.4496, 0.0807);
+            m_256apsk[6] = gr_complex(-0.2574, 0.0733);
+            m_256apsk[7] = gr_complex(-0.4496, 0.0807);
+            m_256apsk[8] = gr_complex(1.5977, -0.1526);
+            m_256apsk[9] = gr_complex(1.3187, -0.1269);
+            m_256apsk[10] = gr_complex(-1.5977, -0.1526);
+            m_256apsk[11] = gr_complex(-1.3187, -0.1269);
+            m_256apsk[12] = gr_complex(0.2574, -0.0733);
+            m_256apsk[13] = gr_complex(0.4496, -0.0807);
+            m_256apsk[14] = gr_complex(-0.2574, -0.0733);
+            m_256apsk[15] = gr_complex(-0.4496, -0.0807);
+            m_256apsk[16] = gr_complex(0.9269, 0.0943);
+            m_256apsk[17] = gr_complex(1.1024, 0.1086);
+            m_256apsk[18] = gr_complex(-0.9269, 0.0943);
+            m_256apsk[19] = gr_complex(-1.1024, 0.1086);
+            m_256apsk[20] = gr_complex(0.7663, 0.0867);
+            m_256apsk[21] = gr_complex(0.6115, 0.0871);
+            m_256apsk[22] = gr_complex(-0.7663, 0.0867);
+            m_256apsk[23] = gr_complex(-0.6115, 0.0871);
+            m_256apsk[24] = gr_complex(0.9269, -0.0943);
+            m_256apsk[25] = gr_complex(1.1024, -0.1086);
+            m_256apsk[26] = gr_complex(-0.9269, -0.0943);
+            m_256apsk[27] = gr_complex(-1.1024, -0.1086);
+            m_256apsk[28] = gr_complex(0.7663, -0.0867);
+            m_256apsk[29] = gr_complex(0.6115, -0.0871);
+            m_256apsk[30] = gr_complex(-0.7663, -0.0867);
+            m_256apsk[31] = gr_complex(-0.6115, -0.0871);
+            m_256apsk[32] = gr_complex(1.2701, 1.0139);
+            m_256apsk[33] = gr_complex(1.0525, 0.8406);
+            m_256apsk[34] = gr_complex(-1.2701, 1.0139);
+            m_256apsk[35] = gr_complex(-1.0525, 0.8406);
+            m_256apsk[36] = gr_complex(0.2487, 0.1978);
+            m_256apsk[37] = gr_complex(0.3523, 0.2915);
+            m_256apsk[38] = gr_complex(-0.2487, 0.1978);
+            m_256apsk[39] = gr_complex(-0.3523, 0.2915);
+            m_256apsk[40] = gr_complex(1.2701, -1.0139);
+            m_256apsk[41] = gr_complex(1.0525, -0.8406);
+            m_256apsk[42] = gr_complex(-1.2701, -1.0139);
+            m_256apsk[43] = gr_complex(-1.0525, -0.8406);
+            m_256apsk[44] = gr_complex(0.2487, -0.1978);
+            m_256apsk[45] = gr_complex(0.3523, -0.2915);
+            m_256apsk[46] = gr_complex(-0.2487, -0.1978);
+            m_256apsk[47] = gr_complex(-0.3523, -0.2915);
+            m_256apsk[48] = gr_complex(0.7359, 0.6043);
+            m_256apsk[49] = gr_complex(0.8807, 0.7105);
+            m_256apsk[50] = gr_complex(-0.7359, 0.6043);
+            m_256apsk[51] = gr_complex(-0.8807, 0.7105);
+            m_256apsk[52] = gr_complex(0.6017, 0.5019);
+            m_256apsk[53] = gr_complex(0.4747, 0.3996);
+            m_256apsk[54] = gr_complex(-0.6017, 0.5019);
+            m_256apsk[55] = gr_complex(-0.4747, 0.3996);
+            m_256apsk[56] = gr_complex(0.7359, -0.6043);
+            m_256apsk[57] = gr_complex(0.8807, -0.7105);
+            m_256apsk[58] = gr_complex(-0.7359, -0.6043);
+            m_256apsk[59] = gr_complex(-0.8807, -0.7105);
+            m_256apsk[60] = gr_complex(0.6017, -0.5019);
+            m_256apsk[61] = gr_complex(0.4747, -0.3996);
+            m_256apsk[62] = gr_complex(-0.6017, -0.5019);
+            m_256apsk[63] = gr_complex(-0.4747, -0.3996);
+            m_256apsk[64] = gr_complex(1.5441, 0.4545);
+            m_256apsk[65] = gr_complex(1.2750, 0.3775);
+            m_256apsk[66] = gr_complex(-1.5441, 0.4545);
+            m_256apsk[67] = gr_complex(-1.2750, 0.3775);
+            m_256apsk[68] = gr_complex(0.2586, 0.0752);
+            m_256apsk[69] = gr_complex(0.4435, 0.1065);
+            m_256apsk[70] = gr_complex(-0.2586, 0.0752);
+            m_256apsk[71] = gr_complex(-0.4435, 0.1065);
+            m_256apsk[72] = gr_complex(1.5441, -0.4545);
+            m_256apsk[73] = gr_complex(1.2750, -0.3775);
+            m_256apsk[74] = gr_complex(-1.5441, -0.4545);
+            m_256apsk[75] = gr_complex(-1.2750, -0.3775);
+            m_256apsk[76] = gr_complex(0.2586, -0.0752);
+            m_256apsk[77] = gr_complex(0.4435, -0.1065);
+            m_256apsk[78] = gr_complex(-0.2586, -0.0752);
+            m_256apsk[79] = gr_complex(-0.4435, -0.1065);
+            m_256apsk[80] = gr_complex(0.8925, 0.2771);
+            m_256apsk[81] = gr_complex(1.0649, 0.3219);
+            m_256apsk[82] = gr_complex(-0.8925, 0.2771);
+            m_256apsk[83] = gr_complex(-1.0649, 0.3219);
+            m_256apsk[84] = gr_complex(0.7362, 0.2279);
+            m_256apsk[85] = gr_complex(0.5936, 0.1699);
+            m_256apsk[86] = gr_complex(-0.7362, 0.2279);
+            m_256apsk[87] = gr_complex(-0.5936, 0.1699);
+            m_256apsk[88] = gr_complex(0.8925, -0.2771);
+            m_256apsk[89] = gr_complex(1.0649, -0.3219);
+            m_256apsk[90] = gr_complex(-0.8925, -0.2771);
+            m_256apsk[91] = gr_complex(-1.0649, -0.3219);
+            m_256apsk[92] = gr_complex(0.7362, -0.2279);
+            m_256apsk[93] = gr_complex(0.5936, -0.1699);
+            m_256apsk[94] = gr_complex(-0.7362, -0.2279);
+            m_256apsk[95] = gr_complex(-0.5936, -0.1699);
+            m_256apsk[96] = gr_complex(1.4352, 0.7452);
+            m_256apsk[97] = gr_complex(1.1866, 0.6182);
+            m_256apsk[98] = gr_complex(-1.4352, 0.7452);
+            m_256apsk[99] = gr_complex(-1.1866, 0.6182);
+            m_256apsk[100] = gr_complex(0.2523, 0.1944);
+            m_256apsk[101] = gr_complex(0.3695, 0.2695);
+            m_256apsk[102] = gr_complex(-0.2523, 0.1944);
+            m_256apsk[103] = gr_complex(-0.3695, 0.2695);
+            m_256apsk[104] = gr_complex(1.4352, -0.7452);
+            m_256apsk[105] = gr_complex(1.1866, -0.6182);
+            m_256apsk[106] = gr_complex(-1.4352, -0.7452);
+            m_256apsk[107] = gr_complex(-1.1866, -0.6182);
+            m_256apsk[108] = gr_complex(0.2523, -0.1944);
+            m_256apsk[109] = gr_complex(0.3695, -0.2695);
+            m_256apsk[110] = gr_complex(-0.2523, -0.1944);
+            m_256apsk[111] = gr_complex(-0.3695, -0.2695);
+            m_256apsk[112] = gr_complex(0.8273, 0.4493);
+            m_256apsk[113] = gr_complex(0.9911, 0.5243);
+            m_256apsk[114] = gr_complex(-0.8273, 0.4493);
+            m_256apsk[115] = gr_complex(-0.9911, 0.5243);
+            m_256apsk[116] = gr_complex(0.6708, 0.3859);
+            m_256apsk[117] = gr_complex(0.5197, 0.3331);
+            m_256apsk[118] = gr_complex(-0.6708, 0.3859);
+            m_256apsk[119] = gr_complex(-0.5197, 0.3331);
+            m_256apsk[120] = gr_complex(0.8273, -0.4493);
+            m_256apsk[121] = gr_complex(0.9911, -0.5243);
+            m_256apsk[122] = gr_complex(-0.8273, -0.4493);
+            m_256apsk[123] = gr_complex(-0.9911, -0.5243);
+            m_256apsk[124] = gr_complex(0.6708, -0.3859);
+            m_256apsk[125] = gr_complex(0.5197, -0.3331);
+            m_256apsk[126] = gr_complex(-0.6708, -0.3859);
+            m_256apsk[127] = gr_complex(-0.5197, -0.3331);
+            m_256apsk[128] = gr_complex(0.1646, 1.6329);
+            m_256apsk[129] = gr_complex(0.1379, 1.3595);
+            m_256apsk[130] = gr_complex(-0.1646, 1.6329);
+            m_256apsk[131] = gr_complex(-0.1379, 1.3595);
+            m_256apsk[132] = gr_complex(0.0736, 0.0898);
+            m_256apsk[133] = gr_complex(0.0742, 0.5054);
+            m_256apsk[134] = gr_complex(-0.0736, 0.0898);
+            m_256apsk[135] = gr_complex(-0.0742, 0.5054);
+            m_256apsk[136] = gr_complex(0.1646, -1.6329);
+            m_256apsk[137] = gr_complex(0.1379, -1.3595);
+            m_256apsk[138] = gr_complex(-0.1646, -1.6329);
+            m_256apsk[139] = gr_complex(-0.1379, -1.3595);
+            m_256apsk[140] = gr_complex(0.0736, -0.0898);
+            m_256apsk[141] = gr_complex(0.0742, -0.5054);
+            m_256apsk[142] = gr_complex(-0.0736, -0.0898);
+            m_256apsk[143] = gr_complex(-0.0742, -0.5054);
+            m_256apsk[144] = gr_complex(0.0992, 0.9847);
+            m_256apsk[145] = gr_complex(0.1170, 1.1517);
+            m_256apsk[146] = gr_complex(-0.0992, 0.9847);
+            m_256apsk[147] = gr_complex(-0.1170, 1.1517);
+            m_256apsk[148] = gr_complex(0.0894, 0.8287);
+            m_256apsk[149] = gr_complex(0.0889, 0.6739);
+            m_256apsk[150] = gr_complex(-0.0894, 0.8287);
+            m_256apsk[151] = gr_complex(-0.0889, 0.6739);
+            m_256apsk[152] = gr_complex(0.0992, -0.9847);
+            m_256apsk[153] = gr_complex(0.1170, -1.1517);
+            m_256apsk[154] = gr_complex(-0.0992, -0.9847);
+            m_256apsk[155] = gr_complex(-0.1170, -1.1517);
+            m_256apsk[156] = gr_complex(0.0894, -0.8287);
+            m_256apsk[157] = gr_complex(0.0889, -0.6739);
+            m_256apsk[158] = gr_complex(-0.0894, -0.8287);
+            m_256apsk[159] = gr_complex(-0.0889, -0.6739);
+            m_256apsk[160] = gr_complex(1.0516, 1.2481);
+            m_256apsk[161] = gr_complex(0.8742, 1.0355);
+            m_256apsk[162] = gr_complex(-1.0516, 1.2481);
+            m_256apsk[163] = gr_complex(-0.8742, 1.0355);
+            m_256apsk[164] = gr_complex(0.0970, 0.2450);
+            m_256apsk[165] = gr_complex(0.1959, 0.4045);
+            m_256apsk[166] = gr_complex(-0.0970, 0.2450);
+            m_256apsk[167] = gr_complex(-0.1959, 0.4045);
+            m_256apsk[168] = gr_complex(1.0516, -1.2481);
+            m_256apsk[169] = gr_complex(0.8742, -1.0355);
+            m_256apsk[170] = gr_complex(-1.0516, -1.2481);
+            m_256apsk[171] = gr_complex(-0.8742, -1.0355);
+            m_256apsk[172] = gr_complex(0.0970, -0.2450);
+            m_256apsk[173] = gr_complex(0.1959, -0.4045);
+            m_256apsk[174] = gr_complex(-0.0970, -0.2450);
+            m_256apsk[175] = gr_complex(-0.1959, -0.4045);
+            m_256apsk[176] = gr_complex(0.6150, 0.7441);
+            m_256apsk[177] = gr_complex(0.7345, 0.8743);
+            m_256apsk[178] = gr_complex(-0.6150, 0.7441);
+            m_256apsk[179] = gr_complex(-0.7345, 0.8743);
+            m_256apsk[180] = gr_complex(0.4932, 0.6301);
+            m_256apsk[181] = gr_complex(0.3620, 0.5258);
+            m_256apsk[182] = gr_complex(-0.4932, 0.6301);
+            m_256apsk[183] = gr_complex(-0.3620, 0.5258);
+            m_256apsk[184] = gr_complex(0.6150, -0.7441);
+            m_256apsk[185] = gr_complex(0.7345, -0.8743);
+            m_256apsk[186] = gr_complex(-0.6150, -0.7441);
+            m_256apsk[187] = gr_complex(-0.7345, -0.8743);
+            m_256apsk[188] = gr_complex(0.4932, -0.6301);
+            m_256apsk[189] = gr_complex(0.3620, -0.5258);
+            m_256apsk[190] = gr_complex(-0.4932, -0.6301);
+            m_256apsk[191] = gr_complex(-0.3620, -0.5258);
+            m_256apsk[192] = gr_complex(0.4866, 1.5660);
+            m_256apsk[193] = gr_complex(0.4068, 1.3027);
+            m_256apsk[194] = gr_complex(-0.4866, 1.5660);
+            m_256apsk[195] = gr_complex(-0.4068, 1.3027);
+            m_256apsk[196] = gr_complex(0.0732, 0.0899);
+            m_256apsk[197] = gr_complex(0.0877, 0.4997);
+            m_256apsk[198] = gr_complex(-0.0732, 0.0899);
+            m_256apsk[199] = gr_complex(-0.0877, 0.4997);
+            m_256apsk[200] = gr_complex(0.4866, -1.5660);
+            m_256apsk[201] = gr_complex(0.4068, -1.3027);
+            m_256apsk[202] = gr_complex(-0.4866, -1.5660);
+            m_256apsk[203] = gr_complex(-0.4068, -1.3027);
+            m_256apsk[204] = gr_complex(0.0732, -0.0899);
+            m_256apsk[205] = gr_complex(0.0877, -0.4997);
+            m_256apsk[206] = gr_complex(-0.0732, -0.0899);
+            m_256apsk[207] = gr_complex(-0.0877, -0.4997);
+            m_256apsk[208] = gr_complex(0.2927, 0.9409);
+            m_256apsk[209] = gr_complex(0.3446, 1.1023);
+            m_256apsk[210] = gr_complex(-0.2927, 0.9409);
+            m_256apsk[211] = gr_complex(-0.3446, 1.1023);
+            m_256apsk[212] = gr_complex(0.2350, 0.7945);
+            m_256apsk[213] = gr_complex(0.1670, 0.6529);
+            m_256apsk[214] = gr_complex(-0.2350, 0.7945);
+            m_256apsk[215] = gr_complex(-0.1670, 0.6529);
+            m_256apsk[216] = gr_complex(0.2927, -0.9409);
+            m_256apsk[217] = gr_complex(0.3446, -1.1023);
+            m_256apsk[218] = gr_complex(-0.2927, -0.9409);
+            m_256apsk[219] = gr_complex(-0.3446, -1.1023);
+            m_256apsk[220] = gr_complex(0.2350, -0.7945);
+            m_256apsk[221] = gr_complex(0.1670, -0.6529);
+            m_256apsk[222] = gr_complex(-0.2350, -0.7945);
+            m_256apsk[223] = gr_complex(-0.1670, -0.6529);
+            m_256apsk[224] = gr_complex(0.7867, 1.4356);
+            m_256apsk[225] = gr_complex(0.6561, 1.1927);
+            m_256apsk[226] = gr_complex(-0.7867, 1.4356);
+            m_256apsk[227] = gr_complex(-0.6561, 1.1927);
+            m_256apsk[228] = gr_complex(0.0947, 0.2451);
+            m_256apsk[229] = gr_complex(0.1865, 0.4121);
+            m_256apsk[230] = gr_complex(-0.0947, 0.2451);
+            m_256apsk[231] = gr_complex(-0.1865, 0.4121);
+            m_256apsk[232] = gr_complex(0.7867, -1.4356);
+            m_256apsk[233] = gr_complex(0.6561, -1.1927);
+            m_256apsk[234] = gr_complex(-0.7867, -1.4356);
+            m_256apsk[235] = gr_complex(-0.6561, -1.1927);
+            m_256apsk[236] = gr_complex(0.0947, -0.2451);
+            m_256apsk[237] = gr_complex(0.1865, -0.4121);
+            m_256apsk[238] = gr_complex(-0.0947, -0.2451);
+            m_256apsk[239] = gr_complex(-0.1865, -0.4121);
+            m_256apsk[240] = gr_complex(0.4677, 0.8579);
+            m_256apsk[241] = gr_complex(0.5537, 1.0081);
+            m_256apsk[242] = gr_complex(-0.4677, 0.8579);
+            m_256apsk[243] = gr_complex(-0.5537, 1.0081);
+            m_256apsk[244] = gr_complex(0.3893, 0.7143);
+            m_256apsk[245] = gr_complex(0.3110, 0.5686);
+            m_256apsk[246] = gr_complex(-0.3893, 0.7143);
+            m_256apsk[247] = gr_complex(-0.3110, 0.5686);
+            m_256apsk[248] = gr_complex(0.4677, -0.8579);
+            m_256apsk[249] = gr_complex(0.5537, -1.0081);
+            m_256apsk[250] = gr_complex(-0.4677, -0.8579);
+            m_256apsk[251] = gr_complex(-0.5537, -1.0081);
+            m_256apsk[252] = gr_complex(0.3893, -0.7143);
+            m_256apsk[253] = gr_complex(0.3110, -0.5686);
+            m_256apsk[254] = gr_complex(-0.3893, -0.7143);
+            m_256apsk[255] = gr_complex(-0.3110, -0.5686);
             for (int i = 0; i < 256; i++) {
-              m_256apsk[i].real() /= 1.6329;
-              m_256apsk[i].imag() /= 1.6329;
+              m_256apsk[i] /= 1.6329;
             }
           }
           else {
@@ -2418,529 +1402,269 @@ namespace gr {
                 r7 = 0;
                 break;
             }
-            m_256apsk[0].real()   = (r1 * cos(M_PI / 32.0));
-            m_256apsk[0].imag()   = (r1 * sin(M_PI / 32.0));
-            m_256apsk[1].real()   = (r1 * cos(3 * M_PI / 32.0));
-            m_256apsk[1].imag()   = (r1 * sin(3 * M_PI / 32.0));
-            m_256apsk[2].real()   = (r1 * cos(7 * M_PI / 32.0));
-            m_256apsk[2].imag()   = (r1 * sin(7 * M_PI / 32.0));
-            m_256apsk[3].real()   = (r1 * cos(5 * M_PI / 32.0));
-            m_256apsk[3].imag()   = (r1 * sin(5 * M_PI / 32.0));
-            m_256apsk[4].real()   = (r1 * cos(15 * M_PI / 32.0));
-            m_256apsk[4].imag()   = (r1 * sin(15 * M_PI / 32.0));
-            m_256apsk[5].real()   = (r1 * cos(13 * M_PI / 32.0));
-            m_256apsk[5].imag()   = (r1 * sin(13 * M_PI / 32.0));
-            m_256apsk[6].real()   = (r1 * cos(9 * M_PI / 32.0));
-            m_256apsk[6].imag()   = (r1 * sin(9 * M_PI / 32.0));
-            m_256apsk[7].real()   = (r1 * cos(11 * M_PI / 32.0));
-            m_256apsk[7].imag()   = (r1 * sin(11 * M_PI / 32.0));
-            m_256apsk[8].real()   = (r1 * cos(31 * M_PI / 32.0));
-            m_256apsk[8].imag()   = (r1 * sin(31 * M_PI / 32.0));
-            m_256apsk[9].real()   = (r1 * cos(29 * M_PI / 32.0));
-            m_256apsk[9].imag()   = (r1 * sin(29 * M_PI / 32.0));
-            m_256apsk[10].real()   = (r1 * cos(25 * M_PI / 32.0));
-            m_256apsk[10].imag()   = (r1 * sin(25 * M_PI / 32.0));
-            m_256apsk[11].real()   = (r1 * cos(27 * M_PI / 32.0));
-            m_256apsk[11].imag()   = (r1 * sin(27 * M_PI / 32.0));
-            m_256apsk[12].real()   = (r1 * cos(17 * M_PI / 32.0));
-            m_256apsk[12].imag()   = (r1 * sin(17 * M_PI / 32.0));
-            m_256apsk[13].real()   = (r1 * cos(19 * M_PI / 32.0));
-            m_256apsk[13].imag()   = (r1 * sin(19 * M_PI / 32.0));
-            m_256apsk[14].real()   = (r1 * cos(23 * M_PI / 32.0));
-            m_256apsk[14].imag()   = (r1 * sin(23 * M_PI / 32.0));
-            m_256apsk[15].real()   = (r1 * cos(21 * M_PI / 32.0));
-            m_256apsk[15].imag()   = (r1 * sin(21 * M_PI / 32.0));
-            m_256apsk[16].real()   = (r1 * cos(-1 * M_PI / 32.0));
-            m_256apsk[16].imag()   = (r1 * sin(-1 * M_PI / 32.0));
-            m_256apsk[17].real()   = (r1 * cos(-3 * M_PI / 32.0));
-            m_256apsk[17].imag()   = (r1 * sin(-3 * M_PI / 32.0));
-            m_256apsk[18].real()   = (r1 * cos(-7 * M_PI / 32.0));
-            m_256apsk[18].imag()   = (r1 * sin(-7 * M_PI / 32.0));
-            m_256apsk[19].real()   = (r1 * cos(-5 * M_PI / 32.0));
-            m_256apsk[19].imag()   = (r1 * sin(-5 * M_PI / 32.0));
-            m_256apsk[20].real()   = (r1 * cos(-15 * M_PI / 32.0));
-            m_256apsk[20].imag()   = (r1 * sin(-15 * M_PI / 32.0));
-            m_256apsk[21].real()   = (r1 * cos(-13 * M_PI / 32.0));
-            m_256apsk[21].imag()   = (r1 * sin(-13 * M_PI / 32.0));
-            m_256apsk[22].real()   = (r1 * cos(-9 * M_PI / 32.0));
-            m_256apsk[22].imag()   = (r1 * sin(-9 * M_PI / 32.0));
-            m_256apsk[23].real()   = (r1 * cos(-11 * M_PI / 32.0));
-            m_256apsk[23].imag()   = (r1 * sin(-11 * M_PI / 32.0));
-            m_256apsk[24].real()   = (r1 * cos(33 * M_PI / 32.0));
-            m_256apsk[24].imag()   = (r1 * sin(33 * M_PI / 32.0));
-            m_256apsk[25].real()   = (r1 * cos(35 * M_PI / 32.0));
-            m_256apsk[25].imag()   = (r1 * sin(35 * M_PI / 32.0));
-            m_256apsk[26].real()   = (r1 * cos(39 * M_PI / 32.0));
-            m_256apsk[26].imag()   = (r1 * sin(39 * M_PI / 32.0));
-            m_256apsk[27].real()   = (r1 * cos(37 * M_PI / 32.0));
-            m_256apsk[27].imag()   = (r1 * sin(37 * M_PI / 32.0));
-            m_256apsk[28].real()   = (r1 * cos(47 * M_PI / 32.0));
-            m_256apsk[28].imag()   = (r1 * sin(47 * M_PI / 32.0));
-            m_256apsk[29].real()   = (r1 * cos(45 * M_PI / 32.0));
-            m_256apsk[29].imag()   = (r1 * sin(45 * M_PI / 32.0));
-            m_256apsk[30].real()   = (r1 * cos(41 * M_PI / 32.0));
-            m_256apsk[30].imag()   = (r1 * sin(41 * M_PI / 32.0));
-            m_256apsk[31].real()   = (r1 * cos(43 * M_PI / 32.0));
-            m_256apsk[31].imag()   = (r1 * sin(43 * M_PI / 32.0));
-            m_256apsk[32].real()   = (r2 * cos(M_PI / 32.0));
-            m_256apsk[32].imag()   = (r2 * sin(M_PI / 32.0));
-            m_256apsk[33].real()   = (r2 * cos(3 * M_PI / 32.0));
-            m_256apsk[33].imag()   = (r2 * sin(3 * M_PI / 32.0));
-            m_256apsk[34].real()   = (r2 * cos(7 * M_PI / 32.0));
-            m_256apsk[34].imag()   = (r2 * sin(7 * M_PI / 32.0));
-            m_256apsk[35].real()   = (r2 * cos(5 * M_PI / 32.0));
-            m_256apsk[35].imag()   = (r2 * sin(5 * M_PI / 32.0));
-            m_256apsk[36].real()   = (r2 * cos(15 * M_PI / 32.0));
-            m_256apsk[36].imag()   = (r2 * sin(15 * M_PI / 32.0));
-            m_256apsk[37].real()   = (r2 * cos(13 * M_PI / 32.0));
-            m_256apsk[37].imag()   = (r2 * sin(13 * M_PI / 32.0));
-            m_256apsk[38].real()   = (r2 * cos(9 * M_PI / 32.0));
-            m_256apsk[38].imag()   = (r2 * sin(9 * M_PI / 32.0));
-            m_256apsk[39].real()   = (r2 * cos(11 * M_PI / 32.0));
-            m_256apsk[39].imag()   = (r2 * sin(11 * M_PI / 32.0));
-            m_256apsk[40].real()   = (r2 * cos(31 * M_PI / 32.0));
-            m_256apsk[40].imag()   = (r2 * sin(31 * M_PI / 32.0));
-            m_256apsk[41].real()   = (r2 * cos(29 * M_PI / 32.0));
-            m_256apsk[41].imag()   = (r2 * sin(29 * M_PI / 32.0));
-            m_256apsk[42].real()   = (r2 * cos(25 * M_PI / 32.0));
-            m_256apsk[42].imag()   = (r2 * sin(25 * M_PI / 32.0));
-            m_256apsk[43].real()   = (r2 * cos(27 * M_PI / 32.0));
-            m_256apsk[43].imag()   = (r2 * sin(27 * M_PI / 32.0));
-            m_256apsk[44].real()   = (r2 * cos(17 * M_PI / 32.0));
-            m_256apsk[44].imag()   = (r2 * sin(17 * M_PI / 32.0));
-            m_256apsk[45].real()   = (r2 * cos(19 * M_PI / 32.0));
-            m_256apsk[45].imag()   = (r2 * sin(19 * M_PI / 32.0));
-            m_256apsk[46].real()   = (r2 * cos(23 * M_PI / 32.0));
-            m_256apsk[46].imag()   = (r2 * sin(23 * M_PI / 32.0));
-            m_256apsk[47].real()   = (r2 * cos(21 * M_PI / 32.0));
-            m_256apsk[47].imag()   = (r2 * sin(21 * M_PI / 32.0));
-            m_256apsk[48].real()   = (r2 * cos(-1 * M_PI / 32.0));
-            m_256apsk[48].imag()   = (r2 * sin(-1 * M_PI / 32.0));
-            m_256apsk[49].real()   = (r2 * cos(-3 * M_PI / 32.0));
-            m_256apsk[49].imag()   = (r2 * sin(-3 * M_PI / 32.0));
-            m_256apsk[50].real()   = (r2 * cos(-7 * M_PI / 32.0));
-            m_256apsk[50].imag()   = (r2 * sin(-7 * M_PI / 32.0));
-            m_256apsk[51].real()   = (r2 * cos(-5 * M_PI / 32.0));
-            m_256apsk[51].imag()   = (r2 * sin(-5 * M_PI / 32.0));
-            m_256apsk[52].real()   = (r2 * cos(-15 * M_PI / 32.0));
-            m_256apsk[52].imag()   = (r2 * sin(-15 * M_PI / 32.0));
-            m_256apsk[53].real()   = (r2 * cos(-13 * M_PI / 32.0));
-            m_256apsk[53].imag()   = (r2 * sin(-13 * M_PI / 32.0));
-            m_256apsk[54].real()   = (r2 * cos(-9 * M_PI / 32.0));
-            m_256apsk[54].imag()   = (r2 * sin(-9 * M_PI / 32.0));
-            m_256apsk[55].real()   = (r2 * cos(-11 * M_PI / 32.0));
-            m_256apsk[55].imag()   = (r2 * sin(-11 * M_PI / 32.0));
-            m_256apsk[56].real()   = (r2 * cos(33 * M_PI / 32.0));
-            m_256apsk[56].imag()   = (r2 * sin(33 * M_PI / 32.0));
-            m_256apsk[57].real()   = (r2 * cos(35 * M_PI / 32.0));
-            m_256apsk[57].imag()   = (r2 * sin(35 * M_PI / 32.0));
-            m_256apsk[58].real()   = (r2 * cos(39 * M_PI / 32.0));
-            m_256apsk[58].imag()   = (r2 * sin(39 * M_PI / 32.0));
-            m_256apsk[59].real()   = (r2 * cos(37 * M_PI / 32.0));
-            m_256apsk[59].imag()   = (r2 * sin(37 * M_PI / 32.0));
-            m_256apsk[60].real()   = (r2 * cos(47 * M_PI / 32.0));
-            m_256apsk[60].imag()   = (r2 * sin(47 * M_PI / 32.0));
-            m_256apsk[61].real()   = (r2 * cos(45 * M_PI / 32.0));
-            m_256apsk[61].imag()   = (r2 * sin(45 * M_PI / 32.0));
-            m_256apsk[62].real()   = (r2 * cos(41 * M_PI / 32.0));
-            m_256apsk[62].imag()   = (r2 * sin(41 * M_PI / 32.0));
-            m_256apsk[63].real()   = (r2 * cos(43 * M_PI / 32.0));
-            m_256apsk[63].imag()   = (r2 * sin(43 * M_PI / 32.0));
-            m_256apsk[64].real()   = (r4 * cos(M_PI / 32.0));
-            m_256apsk[64].imag()   = (r4 * sin(M_PI / 32.0));
-            m_256apsk[65].real()   = (r4 * cos(3 * M_PI / 32.0));
-            m_256apsk[65].imag()   = (r4 * sin(3 * M_PI / 32.0));
-            m_256apsk[66].real()   = (r4 * cos(7 * M_PI / 32.0));
-            m_256apsk[66].imag()   = (r4 * sin(7 * M_PI / 32.0));
-            m_256apsk[67].real()   = (r4 * cos(5 * M_PI / 32.0));
-            m_256apsk[67].imag()   = (r4 * sin(5 * M_PI / 32.0));
-            m_256apsk[68].real()   = (r4 * cos(15 * M_PI / 32.0));
-            m_256apsk[68].imag()   = (r4 * sin(15 * M_PI / 32.0));
-            m_256apsk[69].real()   = (r4 * cos(13 * M_PI / 32.0));
-            m_256apsk[69].imag()   = (r4 * sin(13 * M_PI / 32.0));
-            m_256apsk[70].real()   = (r4 * cos(9 * M_PI / 32.0));
-            m_256apsk[70].imag()   = (r4 * sin(9 * M_PI / 32.0));
-            m_256apsk[71].real()   = (r4 * cos(11 * M_PI / 32.0));
-            m_256apsk[71].imag()   = (r4 * sin(11 * M_PI / 32.0));
-            m_256apsk[72].real()   = (r4 * cos(31 * M_PI / 32.0));
-            m_256apsk[72].imag()   = (r4 * sin(31 * M_PI / 32.0));
-            m_256apsk[73].real()   = (r4 * cos(29 * M_PI / 32.0));
-            m_256apsk[73].imag()   = (r4 * sin(29 * M_PI / 32.0));
-            m_256apsk[74].real()   = (r4 * cos(25 * M_PI / 32.0));
-            m_256apsk[74].imag()   = (r4 * sin(25 * M_PI / 32.0));
-            m_256apsk[75].real()   = (r4 * cos(27 * M_PI / 32.0));
-            m_256apsk[75].imag()   = (r4 * sin(27 * M_PI / 32.0));
-            m_256apsk[76].real()   = (r4 * cos(17 * M_PI / 32.0));
-            m_256apsk[76].imag()   = (r4 * sin(17 * M_PI / 32.0));
-            m_256apsk[77].real()   = (r4 * cos(19 * M_PI / 32.0));
-            m_256apsk[77].imag()   = (r4 * sin(19 * M_PI / 32.0));
-            m_256apsk[78].real()   = (r4 * cos(23 * M_PI / 32.0));
-            m_256apsk[78].imag()   = (r4 * sin(23 * M_PI / 32.0));
-            m_256apsk[79].real()   = (r4 * cos(21 * M_PI / 32.0));
-            m_256apsk[79].imag()   = (r4 * sin(21 * M_PI / 32.0));
-            m_256apsk[80].real()   = (r4 * cos(-1 * M_PI / 32.0));
-            m_256apsk[80].imag()   = (r4 * sin(-1 * M_PI / 32.0));
-            m_256apsk[81].real()   = (r4 * cos(-3 * M_PI / 32.0));
-            m_256apsk[81].imag()   = (r4 * sin(-3 * M_PI / 32.0));
-            m_256apsk[82].real()   = (r4 * cos(-7 * M_PI / 32.0));
-            m_256apsk[82].imag()   = (r4 * sin(-7 * M_PI / 32.0));
-            m_256apsk[83].real()   = (r4 * cos(-5 * M_PI / 32.0));
-            m_256apsk[83].imag()   = (r4 * sin(-5 * M_PI / 32.0));
-            m_256apsk[84].real()   = (r4 * cos(-15 * M_PI / 32.0));
-            m_256apsk[84].imag()   = (r4 * sin(-15 * M_PI / 32.0));
-            m_256apsk[85].real()   = (r4 * cos(-13 * M_PI / 32.0));
-            m_256apsk[85].imag()   = (r4 * sin(-13 * M_PI / 32.0));
-            m_256apsk[86].real()   = (r4 * cos(-9 * M_PI / 32.0));
-            m_256apsk[86].imag()   = (r4 * sin(-9 * M_PI / 32.0));
-            m_256apsk[87].real()   = (r4 * cos(-11 * M_PI / 32.0));
-            m_256apsk[87].imag()   = (r4 * sin(-11 * M_PI / 32.0));
-            m_256apsk[88].real()   = (r4 * cos(33 * M_PI / 32.0));
-            m_256apsk[88].imag()   = (r4 * sin(33 * M_PI / 32.0));
-            m_256apsk[89].real()   = (r4 * cos(35 * M_PI / 32.0));
-            m_256apsk[89].imag()   = (r4 * sin(35 * M_PI / 32.0));
-            m_256apsk[90].real()   = (r4 * cos(39 * M_PI / 32.0));
-            m_256apsk[90].imag()   = (r4 * sin(39 * M_PI / 32.0));
-            m_256apsk[91].real()   = (r4 * cos(37 * M_PI / 32.0));
-            m_256apsk[91].imag()   = (r4 * sin(37 * M_PI / 32.0));
-            m_256apsk[92].real()   = (r4 * cos(47 * M_PI / 32.0));
-            m_256apsk[92].imag()   = (r4 * sin(47 * M_PI / 32.0));
-            m_256apsk[93].real()   = (r4 * cos(45 * M_PI / 32.0));
-            m_256apsk[93].imag()   = (r4 * sin(45 * M_PI / 32.0));
-            m_256apsk[94].real()   = (r4 * cos(41 * M_PI / 32.0));
-            m_256apsk[94].imag()   = (r4 * sin(41 * M_PI / 32.0));
-            m_256apsk[95].real()   = (r4 * cos(43 * M_PI / 32.0));
-            m_256apsk[95].imag()   = (r4 * sin(43 * M_PI / 32.0));
-            m_256apsk[96].real()   = (r3 * cos(M_PI / 32.0));
-            m_256apsk[96].imag()   = (r3 * sin(M_PI / 32.0));
-            m_256apsk[97].real()   = (r3 * cos(3 * M_PI / 32.0));
-            m_256apsk[97].imag()   = (r3 * sin(3 * M_PI / 32.0));
-            m_256apsk[98].real()   = (r3 * cos(7 * M_PI / 32.0));
-            m_256apsk[98].imag()   = (r3 * sin(7 * M_PI / 32.0));
-            m_256apsk[99].real()   = (r3 * cos(5 * M_PI / 32.0));
-            m_256apsk[99].imag()   = (r3 * sin(5 * M_PI / 32.0));
-            m_256apsk[100].real()   = (r3 * cos(15 * M_PI / 32.0));
-            m_256apsk[100].imag()   = (r3 * sin(15 * M_PI / 32.0));
-            m_256apsk[101].real()   = (r3 * cos(13 * M_PI / 32.0));
-            m_256apsk[101].imag()   = (r3 * sin(13 * M_PI / 32.0));
-            m_256apsk[102].real()   = (r3 * cos(9 * M_PI / 32.0));
-            m_256apsk[102].imag()   = (r3 * sin(9 * M_PI / 32.0));
-            m_256apsk[103].real()   = (r3 * cos(11 * M_PI / 32.0));
-            m_256apsk[103].imag()   = (r3 * sin(11 * M_PI / 32.0));
-            m_256apsk[104].real()   = (r3 * cos(31 * M_PI / 32.0));
-            m_256apsk[104].imag()   = (r3 * sin(31 * M_PI / 32.0));
-            m_256apsk[105].real()   = (r3 * cos(29 * M_PI / 32.0));
-            m_256apsk[105].imag()   = (r3 * sin(29 * M_PI / 32.0));
-            m_256apsk[106].real()   = (r3 * cos(25 * M_PI / 32.0));
-            m_256apsk[106].imag()   = (r3 * sin(25 * M_PI / 32.0));
-            m_256apsk[107].real()   = (r3 * cos(27 * M_PI / 32.0));
-            m_256apsk[107].imag()   = (r3 * sin(27 * M_PI / 32.0));
-            m_256apsk[108].real()   = (r3 * cos(17 * M_PI / 32.0));
-            m_256apsk[108].imag()   = (r3 * sin(17 * M_PI / 32.0));
-            m_256apsk[109].real()   = (r3 * cos(19 * M_PI / 32.0));
-            m_256apsk[109].imag()   = (r3 * sin(19 * M_PI / 32.0));
-            m_256apsk[110].real()   = (r3 * cos(23 * M_PI / 32.0));
-            m_256apsk[110].imag()   = (r3 * sin(23 * M_PI / 32.0));
-            m_256apsk[111].real()   = (r3 * cos(21 * M_PI / 32.0));
-            m_256apsk[111].imag()   = (r3 * sin(21 * M_PI / 32.0));
-            m_256apsk[112].real()   = (r3 * cos(-1 * M_PI / 32.0));
-            m_256apsk[112].imag()   = (r3 * sin(-1 * M_PI / 32.0));
-            m_256apsk[113].real()   = (r3 * cos(-3 * M_PI / 32.0));
-            m_256apsk[113].imag()   = (r3 * sin(-3 * M_PI / 32.0));
-            m_256apsk[114].real()   = (r3 * cos(-7 * M_PI / 32.0));
-            m_256apsk[114].imag()   = (r3 * sin(-7 * M_PI / 32.0));
-            m_256apsk[115].real()   = (r3 * cos(-5 * M_PI / 32.0));
-            m_256apsk[115].imag()   = (r3 * sin(-5 * M_PI / 32.0));
-            m_256apsk[116].real()   = (r3 * cos(-15 * M_PI / 32.0));
-            m_256apsk[116].imag()   = (r3 * sin(-15 * M_PI / 32.0));
-            m_256apsk[117].real()   = (r3 * cos(-13 * M_PI / 32.0));
-            m_256apsk[117].imag()   = (r3 * sin(-13 * M_PI / 32.0));
-            m_256apsk[118].real()   = (r3 * cos(-9 * M_PI / 32.0));
-            m_256apsk[118].imag()   = (r3 * sin(-9 * M_PI / 32.0));
-            m_256apsk[119].real()   = (r3 * cos(-11 * M_PI / 32.0));
-            m_256apsk[119].imag()   = (r3 * sin(-11 * M_PI / 32.0));
-            m_256apsk[120].real()   = (r3 * cos(33 * M_PI / 32.0));
-            m_256apsk[120].imag()   = (r3 * sin(33 * M_PI / 32.0));
-            m_256apsk[121].real()   = (r3 * cos(35 * M_PI / 32.0));
-            m_256apsk[121].imag()   = (r3 * sin(35 * M_PI / 32.0));
-            m_256apsk[122].real()   = (r3 * cos(39 * M_PI / 32.0));
-            m_256apsk[122].imag()   = (r3 * sin(39 * M_PI / 32.0));
-            m_256apsk[123].real()   = (r3 * cos(37 * M_PI / 32.0));
-            m_256apsk[123].imag()   = (r3 * sin(37 * M_PI / 32.0));
-            m_256apsk[124].real()   = (r3 * cos(47 * M_PI / 32.0));
-            m_256apsk[124].imag()   = (r3 * sin(47 * M_PI / 32.0));
-            m_256apsk[125].real()   = (r3 * cos(45 * M_PI / 32.0));
-            m_256apsk[125].imag()   = (r3 * sin(45 * M_PI / 32.0));
-            m_256apsk[126].real()   = (r3 * cos(41 * M_PI / 32.0));
-            m_256apsk[126].imag()   = (r3 * sin(41 * M_PI / 32.0));
-            m_256apsk[127].real()   = (r3 * cos(43 * M_PI / 32.0));
-            m_256apsk[127].imag()   = (r3 * sin(43 * M_PI / 32.0));
-            m_256apsk[128].real()   = (r8 * cos(M_PI / 32.0));
-            m_256apsk[128].imag()   = (r8 * sin(M_PI / 32.0));
-            m_256apsk[129].real()   = (r8 * cos(3 * M_PI / 32.0));
-            m_256apsk[129].imag()   = (r8 * sin(3 * M_PI / 32.0));
-            m_256apsk[130].real()   = (r8 * cos(7 * M_PI / 32.0));
-            m_256apsk[130].imag()   = (r8 * sin(7 * M_PI / 32.0));
-            m_256apsk[131].real()   = (r8 * cos(5 * M_PI / 32.0));
-            m_256apsk[131].imag()   = (r8 * sin(5 * M_PI / 32.0));
-            m_256apsk[132].real()   = (r8 * cos(15 * M_PI / 32.0));
-            m_256apsk[132].imag()   = (r8 * sin(15 * M_PI / 32.0));
-            m_256apsk[133].real()   = (r8 * cos(13 * M_PI / 32.0));
-            m_256apsk[133].imag()   = (r8 * sin(13 * M_PI / 32.0));
-            m_256apsk[134].real()   = (r8 * cos(9 * M_PI / 32.0));
-            m_256apsk[134].imag()   = (r8 * sin(9 * M_PI / 32.0));
-            m_256apsk[135].real()   = (r8 * cos(11 * M_PI / 32.0));
-            m_256apsk[135].imag()   = (r8 * sin(11 * M_PI / 32.0));
-            m_256apsk[136].real()   = (r8 * cos(31 * M_PI / 32.0));
-            m_256apsk[136].imag()   = (r8 * sin(31 * M_PI / 32.0));
-            m_256apsk[137].real()   = (r8 * cos(29 * M_PI / 32.0));
-            m_256apsk[137].imag()   = (r8 * sin(29 * M_PI / 32.0));
-            m_256apsk[138].real()   = (r8 * cos(25 * M_PI / 32.0));
-            m_256apsk[138].imag()   = (r8 * sin(25 * M_PI / 32.0));
-            m_256apsk[139].real()   = (r8 * cos(27 * M_PI / 32.0));
-            m_256apsk[139].imag()   = (r8 * sin(27 * M_PI / 32.0));
-            m_256apsk[140].real()   = (r8 * cos(17 * M_PI / 32.0));
-            m_256apsk[140].imag()   = (r8 * sin(17 * M_PI / 32.0));
-            m_256apsk[141].real()   = (r8 * cos(19 * M_PI / 32.0));
-            m_256apsk[141].imag()   = (r8 * sin(19 * M_PI / 32.0));
-            m_256apsk[142].real()   = (r8 * cos(23 * M_PI / 32.0));
-            m_256apsk[142].imag()   = (r8 * sin(23 * M_PI / 32.0));
-            m_256apsk[143].real()   = (r8 * cos(21 * M_PI / 32.0));
-            m_256apsk[143].imag()   = (r8 * sin(21 * M_PI / 32.0));
-            m_256apsk[144].real()   = (r8 * cos(-1 * M_PI / 32.0));
-            m_256apsk[144].imag()   = (r8 * sin(-1 * M_PI / 32.0));
-            m_256apsk[145].real()   = (r8 * cos(-3 * M_PI / 32.0));
-            m_256apsk[145].imag()   = (r8 * sin(-3 * M_PI / 32.0));
-            m_256apsk[146].real()   = (r8 * cos(-7 * M_PI / 32.0));
-            m_256apsk[146].imag()   = (r8 * sin(-7 * M_PI / 32.0));
-            m_256apsk[147].real()   = (r8 * cos(-5 * M_PI / 32.0));
-            m_256apsk[147].imag()   = (r8 * sin(-5 * M_PI / 32.0));
-            m_256apsk[148].real()   = (r8 * cos(-15 * M_PI / 32.0));
-            m_256apsk[148].imag()   = (r8 * sin(-15 * M_PI / 32.0));
-            m_256apsk[149].real()   = (r8 * cos(-13 * M_PI / 32.0));
-            m_256apsk[149].imag()   = (r8 * sin(-13 * M_PI / 32.0));
-            m_256apsk[150].real()   = (r8 * cos(-9 * M_PI / 32.0));
-            m_256apsk[150].imag()   = (r8 * sin(-9 * M_PI / 32.0));
-            m_256apsk[151].real()   = (r8 * cos(-11 * M_PI / 32.0));
-            m_256apsk[151].imag()   = (r8 * sin(-11 * M_PI / 32.0));
-            m_256apsk[152].real()   = (r8 * cos(33 * M_PI / 32.0));
-            m_256apsk[152].imag()   = (r8 * sin(33 * M_PI / 32.0));
-            m_256apsk[153].real()   = (r8 * cos(35 * M_PI / 32.0));
-            m_256apsk[153].imag()   = (r8 * sin(35 * M_PI / 32.0));
-            m_256apsk[154].real()   = (r8 * cos(39 * M_PI / 32.0));
-            m_256apsk[154].imag()   = (r8 * sin(39 * M_PI / 32.0));
-            m_256apsk[155].real()   = (r8 * cos(37 * M_PI / 32.0));
-            m_256apsk[155].imag()   = (r8 * sin(37 * M_PI / 32.0));
-            m_256apsk[156].real()   = (r8 * cos(47 * M_PI / 32.0));
-            m_256apsk[156].imag()   = (r8 * sin(47 * M_PI / 32.0));
-            m_256apsk[157].real()   = (r8 * cos(45 * M_PI / 32.0));
-            m_256apsk[157].imag()   = (r8 * sin(45 * M_PI / 32.0));
-            m_256apsk[158].real()   = (r8 * cos(41 * M_PI / 32.0));
-            m_256apsk[158].imag()   = (r8 * sin(41 * M_PI / 32.0));
-            m_256apsk[159].real()   = (r8 * cos(43 * M_PI / 32.0));
-            m_256apsk[159].imag()   = (r8 * sin(43 * M_PI / 32.0));
-            m_256apsk[160].real()   = (r7 * cos(M_PI / 32.0));
-            m_256apsk[160].imag()   = (r7 * sin(M_PI / 32.0));
-            m_256apsk[161].real()   = (r7 * cos(3 * M_PI / 32.0));
-            m_256apsk[161].imag()   = (r7 * sin(3 * M_PI / 32.0));
-            m_256apsk[162].real()   = (r7 * cos(7 * M_PI / 32.0));
-            m_256apsk[162].imag()   = (r7 * sin(7 * M_PI / 32.0));
-            m_256apsk[163].real()   = (r7 * cos(5 * M_PI / 32.0));
-            m_256apsk[163].imag()   = (r7 * sin(5 * M_PI / 32.0));
-            m_256apsk[164].real()   = (r7 * cos(15 * M_PI / 32.0));
-            m_256apsk[164].imag()   = (r7 * sin(15 * M_PI / 32.0));
-            m_256apsk[165].real()   = (r7 * cos(13 * M_PI / 32.0));
-            m_256apsk[165].imag()   = (r7 * sin(13 * M_PI / 32.0));
-            m_256apsk[166].real()   = (r7 * cos(9 * M_PI / 32.0));
-            m_256apsk[166].imag()   = (r7 * sin(9 * M_PI / 32.0));
-            m_256apsk[167].real()   = (r7 * cos(11 * M_PI / 32.0));
-            m_256apsk[167].imag()   = (r7 * sin(11 * M_PI / 32.0));
-            m_256apsk[168].real()   = (r7 * cos(31 * M_PI / 32.0));
-            m_256apsk[168].imag()   = (r7 * sin(31 * M_PI / 32.0));
-            m_256apsk[169].real()   = (r7 * cos(29 * M_PI / 32.0));
-            m_256apsk[169].imag()   = (r7 * sin(29 * M_PI / 32.0));
-            m_256apsk[170].real()   = (r7 * cos(25 * M_PI / 32.0));
-            m_256apsk[170].imag()   = (r7 * sin(25 * M_PI / 32.0));
-            m_256apsk[171].real()   = (r7 * cos(27 * M_PI / 32.0));
-            m_256apsk[171].imag()   = (r7 * sin(27 * M_PI / 32.0));
-            m_256apsk[172].real()   = (r7 * cos(17 * M_PI / 32.0));
-            m_256apsk[172].imag()   = (r7 * sin(17 * M_PI / 32.0));
-            m_256apsk[173].real()   = (r7 * cos(19 * M_PI / 32.0));
-            m_256apsk[173].imag()   = (r7 * sin(19 * M_PI / 32.0));
-            m_256apsk[174].real()   = (r7 * cos(23 * M_PI / 32.0));
-            m_256apsk[174].imag()   = (r7 * sin(23 * M_PI / 32.0));
-            m_256apsk[175].real()   = (r7 * cos(21 * M_PI / 32.0));
-            m_256apsk[175].imag()   = (r7 * sin(21 * M_PI / 32.0));
-            m_256apsk[176].real()   = (r7 * cos(-1 * M_PI / 32.0));
-            m_256apsk[176].imag()   = (r7 * sin(-1 * M_PI / 32.0));
-            m_256apsk[177].real()   = (r7 * cos(-3 * M_PI / 32.0));
-            m_256apsk[177].imag()   = (r7 * sin(-3 * M_PI / 32.0));
-            m_256apsk[178].real()   = (r7 * cos(-7 * M_PI / 32.0));
-            m_256apsk[178].imag()   = (r7 * sin(-7 * M_PI / 32.0));
-            m_256apsk[179].real()   = (r7 * cos(-5 * M_PI / 32.0));
-            m_256apsk[179].imag()   = (r7 * sin(-5 * M_PI / 32.0));
-            m_256apsk[180].real()   = (r7 * cos(-15 * M_PI / 32.0));
-            m_256apsk[180].imag()   = (r7 * sin(-15 * M_PI / 32.0));
-            m_256apsk[181].real()   = (r7 * cos(-13 * M_PI / 32.0));
-            m_256apsk[181].imag()   = (r7 * sin(-13 * M_PI / 32.0));
-            m_256apsk[182].real()   = (r7 * cos(-9 * M_PI / 32.0));
-            m_256apsk[182].imag()   = (r7 * sin(-9 * M_PI / 32.0));
-            m_256apsk[183].real()   = (r7 * cos(-11 * M_PI / 32.0));
-            m_256apsk[183].imag()   = (r7 * sin(-11 * M_PI / 32.0));
-            m_256apsk[184].real()   = (r7 * cos(33 * M_PI / 32.0));
-            m_256apsk[184].imag()   = (r7 * sin(33 * M_PI / 32.0));
-            m_256apsk[185].real()   = (r7 * cos(35 * M_PI / 32.0));
-            m_256apsk[185].imag()   = (r7 * sin(35 * M_PI / 32.0));
-            m_256apsk[186].real()   = (r7 * cos(39 * M_PI / 32.0));
-            m_256apsk[186].imag()   = (r7 * sin(39 * M_PI / 32.0));
-            m_256apsk[187].real()   = (r7 * cos(37 * M_PI / 32.0));
-            m_256apsk[187].imag()   = (r7 * sin(37 * M_PI / 32.0));
-            m_256apsk[188].real()   = (r7 * cos(47 * M_PI / 32.0));
-            m_256apsk[188].imag()   = (r7 * sin(47 * M_PI / 32.0));
-            m_256apsk[189].real()   = (r7 * cos(45 * M_PI / 32.0));
-            m_256apsk[189].imag()   = (r7 * sin(45 * M_PI / 32.0));
-            m_256apsk[190].real()   = (r7 * cos(41 * M_PI / 32.0));
-            m_256apsk[190].imag()   = (r7 * sin(41 * M_PI / 32.0));
-            m_256apsk[191].real()   = (r7 * cos(43 * M_PI / 32.0));
-            m_256apsk[191].imag()   = (r7 * sin(43 * M_PI / 32.0));
-            m_256apsk[192].real()   = (r5 * cos(M_PI / 32.0));
-            m_256apsk[192].imag()   = (r5 * sin(M_PI / 32.0));
-            m_256apsk[193].real()   = (r5 * cos(3 * M_PI / 32.0));
-            m_256apsk[193].imag()   = (r5 * sin(3 * M_PI / 32.0));
-            m_256apsk[194].real()   = (r5 * cos(7 * M_PI / 32.0));
-            m_256apsk[194].imag()   = (r5 * sin(7 * M_PI / 32.0));
-            m_256apsk[195].real()   = (r5 * cos(5 * M_PI / 32.0));
-            m_256apsk[195].imag()   = (r5 * sin(5 * M_PI / 32.0));
-            m_256apsk[196].real()   = (r5 * cos(15 * M_PI / 32.0));
-            m_256apsk[196].imag()   = (r5 * sin(15 * M_PI / 32.0));
-            m_256apsk[197].real()   = (r5 * cos(13 * M_PI / 32.0));
-            m_256apsk[197].imag()   = (r5 * sin(13 * M_PI / 32.0));
-            m_256apsk[198].real()   = (r5 * cos(9 * M_PI / 32.0));
-            m_256apsk[198].imag()   = (r5 * sin(9 * M_PI / 32.0));
-            m_256apsk[199].real()   = (r5 * cos(11 * M_PI / 32.0));
-            m_256apsk[199].imag()   = (r5 * sin(11 * M_PI / 32.0));
-            m_256apsk[200].real()   = (r5 * cos(31 * M_PI / 32.0));
-            m_256apsk[200].imag()   = (r5 * sin(31 * M_PI / 32.0));
-            m_256apsk[201].real()   = (r5 * cos(29 * M_PI / 32.0));
-            m_256apsk[201].imag()   = (r5 * sin(29 * M_PI / 32.0));
-            m_256apsk[202].real()   = (r5 * cos(25 * M_PI / 32.0));
-            m_256apsk[202].imag()   = (r5 * sin(25 * M_PI / 32.0));
-            m_256apsk[203].real()   = (r5 * cos(27 * M_PI / 32.0));
-            m_256apsk[203].imag()   = (r5 * sin(27 * M_PI / 32.0));
-            m_256apsk[204].real()   = (r5 * cos(17 * M_PI / 32.0));
-            m_256apsk[204].imag()   = (r5 * sin(17 * M_PI / 32.0));
-            m_256apsk[205].real()   = (r5 * cos(19 * M_PI / 32.0));
-            m_256apsk[205].imag()   = (r5 * sin(19 * M_PI / 32.0));
-            m_256apsk[206].real()   = (r5 * cos(23 * M_PI / 32.0));
-            m_256apsk[206].imag()   = (r5 * sin(23 * M_PI / 32.0));
-            m_256apsk[207].real()   = (r5 * cos(21 * M_PI / 32.0));
-            m_256apsk[207].imag()   = (r5 * sin(21 * M_PI / 32.0));
-            m_256apsk[208].real()   = (r5 * cos(-1 * M_PI / 32.0));
-            m_256apsk[208].imag()   = (r5 * sin(-1 * M_PI / 32.0));
-            m_256apsk[209].real()   = (r5 * cos(-3 * M_PI / 32.0));
-            m_256apsk[209].imag()   = (r5 * sin(-3 * M_PI / 32.0));
-            m_256apsk[210].real()   = (r5 * cos(-7 * M_PI / 32.0));
-            m_256apsk[210].imag()   = (r5 * sin(-7 * M_PI / 32.0));
-            m_256apsk[211].real()   = (r5 * cos(-5 * M_PI / 32.0));
-            m_256apsk[211].imag()   = (r5 * sin(-5 * M_PI / 32.0));
-            m_256apsk[212].real()   = (r5 * cos(-15 * M_PI / 32.0));
-            m_256apsk[212].imag()   = (r5 * sin(-15 * M_PI / 32.0));
-            m_256apsk[213].real()   = (r5 * cos(-13 * M_PI / 32.0));
-            m_256apsk[213].imag()   = (r5 * sin(-13 * M_PI / 32.0));
-            m_256apsk[214].real()   = (r5 * cos(-9 * M_PI / 32.0));
-            m_256apsk[214].imag()   = (r5 * sin(-9 * M_PI / 32.0));
-            m_256apsk[215].real()   = (r5 * cos(-11 * M_PI / 32.0));
-            m_256apsk[215].imag()   = (r5 * sin(-11 * M_PI / 32.0));
-            m_256apsk[216].real()   = (r5 * cos(33 * M_PI / 32.0));
-            m_256apsk[216].imag()   = (r5 * sin(33 * M_PI / 32.0));
-            m_256apsk[217].real()   = (r5 * cos(35 * M_PI / 32.0));
-            m_256apsk[217].imag()   = (r5 * sin(35 * M_PI / 32.0));
-            m_256apsk[218].real()   = (r5 * cos(39 * M_PI / 32.0));
-            m_256apsk[218].imag()   = (r5 * sin(39 * M_PI / 32.0));
-            m_256apsk[219].real()   = (r5 * cos(37 * M_PI / 32.0));
-            m_256apsk[219].imag()   = (r5 * sin(37 * M_PI / 32.0));
-            m_256apsk[220].real()   = (r5 * cos(47 * M_PI / 32.0));
-            m_256apsk[220].imag()   = (r5 * sin(47 * M_PI / 32.0));
-            m_256apsk[221].real()   = (r5 * cos(45 * M_PI / 32.0));
-            m_256apsk[221].imag()   = (r5 * sin(45 * M_PI / 32.0));
-            m_256apsk[222].real()   = (r5 * cos(41 * M_PI / 32.0));
-            m_256apsk[222].imag()   = (r5 * sin(41 * M_PI / 32.0));
-            m_256apsk[223].real()   = (r5 * cos(43 * M_PI / 32.0));
-            m_256apsk[223].imag()   = (r5 * sin(43 * M_PI / 32.0));
-            m_256apsk[224].real()   = (r6 * cos(M_PI / 32.0));
-            m_256apsk[224].imag()   = (r6 * sin(M_PI / 32.0));
-            m_256apsk[225].real()   = (r6 * cos(3 * M_PI / 32.0));
-            m_256apsk[225].imag()   = (r6 * sin(3 * M_PI / 32.0));
-            m_256apsk[226].real()   = (r6 * cos(7 * M_PI / 32.0));
-            m_256apsk[226].imag()   = (r6 * sin(7 * M_PI / 32.0));
-            m_256apsk[227].real()   = (r6 * cos(5 * M_PI / 32.0));
-            m_256apsk[227].imag()   = (r6 * sin(5 * M_PI / 32.0));
-            m_256apsk[228].real()   = (r6 * cos(15 * M_PI / 32.0));
-            m_256apsk[228].imag()   = (r6 * sin(15 * M_PI / 32.0));
-            m_256apsk[229].real()   = (r6 * cos(13 * M_PI / 32.0));
-            m_256apsk[229].imag()   = (r6 * sin(13 * M_PI / 32.0));
-            m_256apsk[230].real()   = (r6 * cos(9 * M_PI / 32.0));
-            m_256apsk[230].imag()   = (r6 * sin(9 * M_PI / 32.0));
-            m_256apsk[231].real()   = (r6 * cos(11 * M_PI / 32.0));
-            m_256apsk[231].imag()   = (r6 * sin(11 * M_PI / 32.0));
-            m_256apsk[232].real()   = (r6 * cos(31 * M_PI / 32.0));
-            m_256apsk[232].imag()   = (r6 * sin(31 * M_PI / 32.0));
-            m_256apsk[233].real()   = (r6 * cos(29 * M_PI / 32.0));
-            m_256apsk[233].imag()   = (r6 * sin(29 * M_PI / 32.0));
-            m_256apsk[234].real()   = (r6 * cos(25 * M_PI / 32.0));
-            m_256apsk[234].imag()   = (r6 * sin(25 * M_PI / 32.0));
-            m_256apsk[235].real()   = (r6 * cos(27 * M_PI / 32.0));
-            m_256apsk[235].imag()   = (r6 * sin(27 * M_PI / 32.0));
-            m_256apsk[236].real()   = (r6 * cos(17 * M_PI / 32.0));
-            m_256apsk[236].imag()   = (r6 * sin(17 * M_PI / 32.0));
-            m_256apsk[237].real()   = (r6 * cos(19 * M_PI / 32.0));
-            m_256apsk[237].imag()   = (r6 * sin(19 * M_PI / 32.0));
-            m_256apsk[238].real()   = (r6 * cos(23 * M_PI / 32.0));
-            m_256apsk[238].imag()   = (r6 * sin(23 * M_PI / 32.0));
-            m_256apsk[239].real()   = (r6 * cos(21 * M_PI / 32.0));
-            m_256apsk[239].imag()   = (r6 * sin(21 * M_PI / 32.0));
-            m_256apsk[240].real()   = (r6 * cos(-1 * M_PI / 32.0));
-            m_256apsk[240].imag()   = (r6 * sin(-1 * M_PI / 32.0));
-            m_256apsk[241].real()   = (r6 * cos(-3 * M_PI / 32.0));
-            m_256apsk[241].imag()   = (r6 * sin(-3 * M_PI / 32.0));
-            m_256apsk[242].real()   = (r6 * cos(-7 * M_PI / 32.0));
-            m_256apsk[242].imag()   = (r6 * sin(-7 * M_PI / 32.0));
-            m_256apsk[243].real()   = (r6 * cos(-5 * M_PI / 32.0));
-            m_256apsk[243].imag()   = (r6 * sin(-5 * M_PI / 32.0));
-            m_256apsk[244].real()   = (r6 * cos(-15 * M_PI / 32.0));
-            m_256apsk[244].imag()   = (r6 * sin(-15 * M_PI / 32.0));
-            m_256apsk[245].real()   = (r6 * cos(-13 * M_PI / 32.0));
-            m_256apsk[245].imag()   = (r6 * sin(-13 * M_PI / 32.0));
-            m_256apsk[246].real()   = (r6 * cos(-9 * M_PI / 32.0));
-            m_256apsk[246].imag()   = (r6 * sin(-9 * M_PI / 32.0));
-            m_256apsk[247].real()   = (r6 * cos(-11 * M_PI / 32.0));
-            m_256apsk[247].imag()   = (r6 * sin(-11 * M_PI / 32.0));
-            m_256apsk[248].real()   = (r6 * cos(33 * M_PI / 32.0));
-            m_256apsk[248].imag()   = (r6 * sin(33 * M_PI / 32.0));
-            m_256apsk[249].real()   = (r6 * cos(35 * M_PI / 32.0));
-            m_256apsk[249].imag()   = (r6 * sin(35 * M_PI / 32.0));
-            m_256apsk[250].real()   = (r6 * cos(39 * M_PI / 32.0));
-            m_256apsk[250].imag()   = (r6 * sin(39 * M_PI / 32.0));
-            m_256apsk[251].real()   = (r6 * cos(37 * M_PI / 32.0));
-            m_256apsk[251].imag()   = (r6 * sin(37 * M_PI / 32.0));
-            m_256apsk[252].real()   = (r6 * cos(47 * M_PI / 32.0));
-            m_256apsk[252].imag()   = (r6 * sin(47 * M_PI / 32.0));
-            m_256apsk[253].real()   = (r6 * cos(45 * M_PI / 32.0));
-            m_256apsk[253].imag()   = (r6 * sin(45 * M_PI / 32.0));
-            m_256apsk[254].real()   = (r6 * cos(41 * M_PI / 32.0));
-            m_256apsk[254].imag()   = (r6 * sin(41 * M_PI / 32.0));
-            m_256apsk[255].real()   = (r6 * cos(43 * M_PI / 32.0));
-            m_256apsk[255].imag()   = (r6 * sin(43 * M_PI / 32.0));
+            m_256apsk[0] = gr_complex((r1 * cos(M_PI / 32.0)), (r1 * sin(M_PI 
/ 32.0)));
+            m_256apsk[1] = gr_complex((r1 * cos(3 * M_PI / 32.0)), (r1 * sin(3 
* M_PI / 32.0)));
+            m_256apsk[2] = gr_complex((r1 * cos(7 * M_PI / 32.0)), (r1 * sin(7 
* M_PI / 32.0)));
+            m_256apsk[3] = gr_complex((r1 * cos(5 * M_PI / 32.0)), (r1 * sin(5 
* M_PI / 32.0)));
+            m_256apsk[4] = gr_complex((r1 * cos(15 * M_PI / 32.0)), (r1 * 
sin(15 * M_PI / 32.0)));
+            m_256apsk[5] = gr_complex((r1 * cos(13 * M_PI / 32.0)), (r1 * 
sin(13 * M_PI / 32.0)));
+            m_256apsk[6] = gr_complex((r1 * cos(9 * M_PI / 32.0)), (r1 * sin(9 
* M_PI / 32.0)));
+            m_256apsk[7] = gr_complex((r1 * cos(11 * M_PI / 32.0)), (r1 * 
sin(11 * M_PI / 32.0)));
+            m_256apsk[8] = gr_complex((r1 * cos(31 * M_PI / 32.0)), (r1 * 
sin(31 * M_PI / 32.0)));
+            m_256apsk[9] = gr_complex((r1 * cos(29 * M_PI / 32.0)), (r1 * 
sin(29 * M_PI / 32.0)));
+            m_256apsk[10] = gr_complex((r1 * cos(25 * M_PI / 32.0)), (r1 * 
sin(25 * M_PI / 32.0)));
+            m_256apsk[11] = gr_complex((r1 * cos(27 * M_PI / 32.0)), (r1 * 
sin(27 * M_PI / 32.0)));
+            m_256apsk[12] = gr_complex((r1 * cos(17 * M_PI / 32.0)), (r1 * 
sin(17 * M_PI / 32.0)));
+            m_256apsk[13] = gr_complex((r1 * cos(19 * M_PI / 32.0)), (r1 * 
sin(19 * M_PI / 32.0)));
+            m_256apsk[14] = gr_complex((r1 * cos(23 * M_PI / 32.0)), (r1 * 
sin(23 * M_PI / 32.0)));
+            m_256apsk[15] = gr_complex((r1 * cos(21 * M_PI / 32.0)), (r1 * 
sin(21 * M_PI / 32.0)));
+            m_256apsk[16] = gr_complex((r1 * cos(-1 * M_PI / 32.0)), (r1 * 
sin(-1 * M_PI / 32.0)));
+            m_256apsk[17] = gr_complex((r1 * cos(-3 * M_PI / 32.0)), (r1 * 
sin(-3 * M_PI / 32.0)));
+            m_256apsk[18] = gr_complex((r1 * cos(-7 * M_PI / 32.0)), (r1 * 
sin(-7 * M_PI / 32.0)));
+            m_256apsk[19] = gr_complex((r1 * cos(-5 * M_PI / 32.0)), (r1 * 
sin(-5 * M_PI / 32.0)));
+            m_256apsk[20] = gr_complex((r1 * cos(-15 * M_PI / 32.0)), (r1 * 
sin(-15 * M_PI / 32.0)));
+            m_256apsk[21] = gr_complex((r1 * cos(-13 * M_PI / 32.0)), (r1 * 
sin(-13 * M_PI / 32.0)));
+            m_256apsk[22] = gr_complex((r1 * cos(-9 * M_PI / 32.0)), (r1 * 
sin(-9 * M_PI / 32.0)));
+            m_256apsk[23] = gr_complex((r1 * cos(-11 * M_PI / 32.0)), (r1 * 
sin(-11 * M_PI / 32.0)));
+            m_256apsk[24] = gr_complex((r1 * cos(33 * M_PI / 32.0)), (r1 * 
sin(33 * M_PI / 32.0)));
+            m_256apsk[25] = gr_complex((r1 * cos(35 * M_PI / 32.0)), (r1 * 
sin(35 * M_PI / 32.0)));
+            m_256apsk[26] = gr_complex((r1 * cos(39 * M_PI / 32.0)), (r1 * 
sin(39 * M_PI / 32.0)));
+            m_256apsk[27] = gr_complex((r1 * cos(37 * M_PI / 32.0)), (r1 * 
sin(37 * M_PI / 32.0)));
+            m_256apsk[28] = gr_complex((r1 * cos(47 * M_PI / 32.0)), (r1 * 
sin(47 * M_PI / 32.0)));
+            m_256apsk[29] = gr_complex((r1 * cos(45 * M_PI / 32.0)), (r1 * 
sin(45 * M_PI / 32.0)));
+            m_256apsk[30] = gr_complex((r1 * cos(41 * M_PI / 32.0)), (r1 * 
sin(41 * M_PI / 32.0)));
+            m_256apsk[31] = gr_complex((r1 * cos(43 * M_PI / 32.0)), (r1 * 
sin(43 * M_PI / 32.0)));
+            m_256apsk[32] = gr_complex((r2 * cos(M_PI / 32.0)), (r2 * sin(M_PI 
/ 32.0)));
+            m_256apsk[33] = gr_complex((r2 * cos(3 * M_PI / 32.0)), (r2 * 
sin(3 * M_PI / 32.0)));
+            m_256apsk[34] = gr_complex((r2 * cos(7 * M_PI / 32.0)), (r2 * 
sin(7 * M_PI / 32.0)));
+            m_256apsk[35] = gr_complex((r2 * cos(5 * M_PI / 32.0)), (r2 * 
sin(5 * M_PI / 32.0)));
+            m_256apsk[36] = gr_complex((r2 * cos(15 * M_PI / 32.0)), (r2 * 
sin(15 * M_PI / 32.0)));
+            m_256apsk[37] = gr_complex((r2 * cos(13 * M_PI / 32.0)), (r2 * 
sin(13 * M_PI / 32.0)));
+            m_256apsk[38] = gr_complex((r2 * cos(9 * M_PI / 32.0)), (r2 * 
sin(9 * M_PI / 32.0)));
+            m_256apsk[39] = gr_complex((r2 * cos(11 * M_PI / 32.0)), (r2 * 
sin(11 * M_PI / 32.0)));
+            m_256apsk[40] = gr_complex((r2 * cos(31 * M_PI / 32.0)), (r2 * 
sin(31 * M_PI / 32.0)));
+            m_256apsk[41] = gr_complex((r2 * cos(29 * M_PI / 32.0)), (r2 * 
sin(29 * M_PI / 32.0)));
+            m_256apsk[42] = gr_complex((r2 * cos(25 * M_PI / 32.0)), (r2 * 
sin(25 * M_PI / 32.0)));
+            m_256apsk[43] = gr_complex((r2 * cos(27 * M_PI / 32.0)), (r2 * 
sin(27 * M_PI / 32.0)));
+            m_256apsk[44] = gr_complex((r2 * cos(17 * M_PI / 32.0)), (r2 * 
sin(17 * M_PI / 32.0)));
+            m_256apsk[45] = gr_complex((r2 * cos(19 * M_PI / 32.0)), (r2 * 
sin(19 * M_PI / 32.0)));
+            m_256apsk[46] = gr_complex((r2 * cos(23 * M_PI / 32.0)), (r2 * 
sin(23 * M_PI / 32.0)));
+            m_256apsk[47] = gr_complex((r2 * cos(21 * M_PI / 32.0)), (r2 * 
sin(21 * M_PI / 32.0)));
+            m_256apsk[48] = gr_complex((r2 * cos(-1 * M_PI / 32.0)), (r2 * 
sin(-1 * M_PI / 32.0)));
+            m_256apsk[49] = gr_complex((r2 * cos(-3 * M_PI / 32.0)), (r2 * 
sin(-3 * M_PI / 32.0)));
+            m_256apsk[50] = gr_complex((r2 * cos(-7 * M_PI / 32.0)), (r2 * 
sin(-7 * M_PI / 32.0)));
+            m_256apsk[51] = gr_complex((r2 * cos(-5 * M_PI / 32.0)), (r2 * 
sin(-5 * M_PI / 32.0)));
+            m_256apsk[52] = gr_complex((r2 * cos(-15 * M_PI / 32.0)), (r2 * 
sin(-15 * M_PI / 32.0)));
+            m_256apsk[53] = gr_complex((r2 * cos(-13 * M_PI / 32.0)), (r2 * 
sin(-13 * M_PI / 32.0)));
+            m_256apsk[54] = gr_complex((r2 * cos(-9 * M_PI / 32.0)), (r2 * 
sin(-9 * M_PI / 32.0)));
+            m_256apsk[55] = gr_complex((r2 * cos(-11 * M_PI / 32.0)), (r2 * 
sin(-11 * M_PI / 32.0)));
+            m_256apsk[56] = gr_complex((r2 * cos(33 * M_PI / 32.0)), (r2 * 
sin(33 * M_PI / 32.0)));
+            m_256apsk[57] = gr_complex((r2 * cos(35 * M_PI / 32.0)), (r2 * 
sin(35 * M_PI / 32.0)));
+            m_256apsk[58] = gr_complex((r2 * cos(39 * M_PI / 32.0)), (r2 * 
sin(39 * M_PI / 32.0)));
+            m_256apsk[59] = gr_complex((r2 * cos(37 * M_PI / 32.0)), (r2 * 
sin(37 * M_PI / 32.0)));
+            m_256apsk[60] = gr_complex((r2 * cos(47 * M_PI / 32.0)), (r2 * 
sin(47 * M_PI / 32.0)));
+            m_256apsk[61] = gr_complex((r2 * cos(45 * M_PI / 32.0)), (r2 * 
sin(45 * M_PI / 32.0)));
+            m_256apsk[62] = gr_complex((r2 * cos(41 * M_PI / 32.0)), (r2 * 
sin(41 * M_PI / 32.0)));
+            m_256apsk[63] = gr_complex((r2 * cos(43 * M_PI / 32.0)), (r2 * 
sin(43 * M_PI / 32.0)));
+            m_256apsk[64] = gr_complex((r4 * cos(M_PI / 32.0)), (r4 * sin(M_PI 
/ 32.0)));
+            m_256apsk[65] = gr_complex((r4 * cos(3 * M_PI / 32.0)), (r4 * 
sin(3 * M_PI / 32.0)));
+            m_256apsk[66] = gr_complex((r4 * cos(7 * M_PI / 32.0)), (r4 * 
sin(7 * M_PI / 32.0)));
+            m_256apsk[67] = gr_complex((r4 * cos(5 * M_PI / 32.0)), (r4 * 
sin(5 * M_PI / 32.0)));
+            m_256apsk[68] = gr_complex((r4 * cos(15 * M_PI / 32.0)), (r4 * 
sin(15 * M_PI / 32.0)));
+            m_256apsk[69] = gr_complex((r4 * cos(13 * M_PI / 32.0)), (r4 * 
sin(13 * M_PI / 32.0)));
+            m_256apsk[70] = gr_complex((r4 * cos(9 * M_PI / 32.0)), (r4 * 
sin(9 * M_PI / 32.0)));
+            m_256apsk[71] = gr_complex((r4 * cos(11 * M_PI / 32.0)), (r4 * 
sin(11 * M_PI / 32.0)));
+            m_256apsk[72] = gr_complex((r4 * cos(31 * M_PI / 32.0)), (r4 * 
sin(31 * M_PI / 32.0)));
+            m_256apsk[73] = gr_complex((r4 * cos(29 * M_PI / 32.0)), (r4 * 
sin(29 * M_PI / 32.0)));
+            m_256apsk[74] = gr_complex((r4 * cos(25 * M_PI / 32.0)), (r4 * 
sin(25 * M_PI / 32.0)));
+            m_256apsk[75] = gr_complex((r4 * cos(27 * M_PI / 32.0)), (r4 * 
sin(27 * M_PI / 32.0)));
+            m_256apsk[76] = gr_complex((r4 * cos(17 * M_PI / 32.0)), (r4 * 
sin(17 * M_PI / 32.0)));
+            m_256apsk[77] = gr_complex((r4 * cos(19 * M_PI / 32.0)), (r4 * 
sin(19 * M_PI / 32.0)));
+            m_256apsk[78] = gr_complex((r4 * cos(23 * M_PI / 32.0)), (r4 * 
sin(23 * M_PI / 32.0)));
+            m_256apsk[79] = gr_complex((r4 * cos(21 * M_PI / 32.0)), (r4 * 
sin(21 * M_PI / 32.0)));
+            m_256apsk[80] = gr_complex((r4 * cos(-1 * M_PI / 32.0)), (r4 * 
sin(-1 * M_PI / 32.0)));
+            m_256apsk[81] = gr_complex((r4 * cos(-3 * M_PI / 32.0)), (r4 * 
sin(-3 * M_PI / 32.0)));
+            m_256apsk[82] = gr_complex((r4 * cos(-7 * M_PI / 32.0)), (r4 * 
sin(-7 * M_PI / 32.0)));
+            m_256apsk[83] = gr_complex((r4 * cos(-5 * M_PI / 32.0)), (r4 * 
sin(-5 * M_PI / 32.0)));
+            m_256apsk[84] = gr_complex((r4 * cos(-15 * M_PI / 32.0)), (r4 * 
sin(-15 * M_PI / 32.0)));
+            m_256apsk[85] = gr_complex((r4 * cos(-13 * M_PI / 32.0)), (r4 * 
sin(-13 * M_PI / 32.0)));
+            m_256apsk[86] = gr_complex((r4 * cos(-9 * M_PI / 32.0)), (r4 * 
sin(-9 * M_PI / 32.0)));
+            m_256apsk[87] = gr_complex((r4 * cos(-11 * M_PI / 32.0)), (r4 * 
sin(-11 * M_PI / 32.0)));
+            m_256apsk[88] = gr_complex((r4 * cos(33 * M_PI / 32.0)), (r4 * 
sin(33 * M_PI / 32.0)));
+            m_256apsk[89] = gr_complex((r4 * cos(35 * M_PI / 32.0)), (r4 * 
sin(35 * M_PI / 32.0)));
+            m_256apsk[90] = gr_complex((r4 * cos(39 * M_PI / 32.0)), (r4 * 
sin(39 * M_PI / 32.0)));
+            m_256apsk[91] = gr_complex((r4 * cos(37 * M_PI / 32.0)), (r4 * 
sin(37 * M_PI / 32.0)));
+            m_256apsk[92] = gr_complex((r4 * cos(47 * M_PI / 32.0)), (r4 * 
sin(47 * M_PI / 32.0)));
+            m_256apsk[93] = gr_complex((r4 * cos(45 * M_PI / 32.0)), (r4 * 
sin(45 * M_PI / 32.0)));
+            m_256apsk[94] = gr_complex((r4 * cos(41 * M_PI / 32.0)), (r4 * 
sin(41 * M_PI / 32.0)));
+            m_256apsk[95] = gr_complex((r4 * cos(43 * M_PI / 32.0)), (r4 * 
sin(43 * M_PI / 32.0)));
+            m_256apsk[96] = gr_complex((r3 * cos(M_PI / 32.0)), (r3 * sin(M_PI 
/ 32.0)));
+            m_256apsk[97] = gr_complex((r3 * cos(3 * M_PI / 32.0)), (r3 * 
sin(3 * M_PI / 32.0)));
+            m_256apsk[98] = gr_complex((r3 * cos(7 * M_PI / 32.0)), (r3 * 
sin(7 * M_PI / 32.0)));
+            m_256apsk[99] = gr_complex((r3 * cos(5 * M_PI / 32.0)), (r3 * 
sin(5 * M_PI / 32.0)));
+            m_256apsk[100] = gr_complex((r3 * cos(15 * M_PI / 32.0)), (r3 * 
sin(15 * M_PI / 32.0)));
+            m_256apsk[101] = gr_complex((r3 * cos(13 * M_PI / 32.0)), (r3 * 
sin(13 * M_PI / 32.0)));
+            m_256apsk[102] = gr_complex((r3 * cos(9 * M_PI / 32.0)), (r3 * 
sin(9 * M_PI / 32.0)));
+            m_256apsk[103] = gr_complex((r3 * cos(11 * M_PI / 32.0)), (r3 * 
sin(11 * M_PI / 32.0)));
+            m_256apsk[104] = gr_complex((r3 * cos(31 * M_PI / 32.0)), (r3 * 
sin(31 * M_PI / 32.0)));
+            m_256apsk[105] = gr_complex((r3 * cos(29 * M_PI / 32.0)), (r3 * 
sin(29 * M_PI / 32.0)));
+            m_256apsk[106] = gr_complex((r3 * cos(25 * M_PI / 32.0)), (r3 * 
sin(25 * M_PI / 32.0)));
+            m_256apsk[107] = gr_complex((r3 * cos(27 * M_PI / 32.0)), (r3 * 
sin(27 * M_PI / 32.0)));
+            m_256apsk[108] = gr_complex((r3 * cos(17 * M_PI / 32.0)), (r3 * 
sin(17 * M_PI / 32.0)));
+            m_256apsk[109] = gr_complex((r3 * cos(19 * M_PI / 32.0)), (r3 * 
sin(19 * M_PI / 32.0)));
+            m_256apsk[110] = gr_complex((r3 * cos(23 * M_PI / 32.0)), (r3 * 
sin(23 * M_PI / 32.0)));
+            m_256apsk[111] = gr_complex((r3 * cos(21 * M_PI / 32.0)), (r3 * 
sin(21 * M_PI / 32.0)));
+            m_256apsk[112] = gr_complex((r3 * cos(-1 * M_PI / 32.0)), (r3 * 
sin(-1 * M_PI / 32.0)));
+            m_256apsk[113] = gr_complex((r3 * cos(-3 * M_PI / 32.0)), (r3 * 
sin(-3 * M_PI / 32.0)));
+            m_256apsk[114] = gr_complex((r3 * cos(-7 * M_PI / 32.0)), (r3 * 
sin(-7 * M_PI / 32.0)));
+            m_256apsk[115] = gr_complex((r3 * cos(-5 * M_PI / 32.0)), (r3 * 
sin(-5 * M_PI / 32.0)));
+            m_256apsk[116] = gr_complex((r3 * cos(-15 * M_PI / 32.0)), (r3 * 
sin(-15 * M_PI / 32.0)));
+            m_256apsk[117] = gr_complex((r3 * cos(-13 * M_PI / 32.0)), (r3 * 
sin(-13 * M_PI / 32.0)));
+            m_256apsk[118] = gr_complex((r3 * cos(-9 * M_PI / 32.0)), (r3 * 
sin(-9 * M_PI / 32.0)));
+            m_256apsk[119] = gr_complex((r3 * cos(-11 * M_PI / 32.0)), (r3 * 
sin(-11 * M_PI / 32.0)));
+            m_256apsk[120] = gr_complex((r3 * cos(33 * M_PI / 32.0)), (r3 * 
sin(33 * M_PI / 32.0)));
+            m_256apsk[121] = gr_complex((r3 * cos(35 * M_PI / 32.0)), (r3 * 
sin(35 * M_PI / 32.0)));
+            m_256apsk[122] = gr_complex((r3 * cos(39 * M_PI / 32.0)), (r3 * 
sin(39 * M_PI / 32.0)));
+            m_256apsk[123] = gr_complex((r3 * cos(37 * M_PI / 32.0)), (r3 * 
sin(37 * M_PI / 32.0)));
+            m_256apsk[124] = gr_complex((r3 * cos(47 * M_PI / 32.0)), (r3 * 
sin(47 * M_PI / 32.0)));
+            m_256apsk[125] = gr_complex((r3 * cos(45 * M_PI / 32.0)), (r3 * 
sin(45 * M_PI / 32.0)));
+            m_256apsk[126] = gr_complex((r3 * cos(41 * M_PI / 32.0)), (r3 * 
sin(41 * M_PI / 32.0)));
+            m_256apsk[127] = gr_complex((r3 * cos(43 * M_PI / 32.0)), (r3 * 
sin(43 * M_PI / 32.0)));
+            m_256apsk[128] = gr_complex((r8 * cos(M_PI / 32.0)), (r8 * 
sin(M_PI / 32.0)));
+            m_256apsk[129] = gr_complex((r8 * cos(3 * M_PI / 32.0)), (r8 * 
sin(3 * M_PI / 32.0)));
+            m_256apsk[130] = gr_complex((r8 * cos(7 * M_PI / 32.0)), (r8 * 
sin(7 * M_PI / 32.0)));
+            m_256apsk[131] = gr_complex((r8 * cos(5 * M_PI / 32.0)), (r8 * 
sin(5 * M_PI / 32.0)));
+            m_256apsk[132] = gr_complex((r8 * cos(15 * M_PI / 32.0)), (r8 * 
sin(15 * M_PI / 32.0)));
+            m_256apsk[133] = gr_complex((r8 * cos(13 * M_PI / 32.0)), (r8 * 
sin(13 * M_PI / 32.0)));
+            m_256apsk[134] = gr_complex((r8 * cos(9 * M_PI / 32.0)), (r8 * 
sin(9 * M_PI / 32.0)));
+            m_256apsk[135] = gr_complex((r8 * cos(11 * M_PI / 32.0)), (r8 * 
sin(11 * M_PI / 32.0)));
+            m_256apsk[136] = gr_complex((r8 * cos(31 * M_PI / 32.0)), (r8 * 
sin(31 * M_PI / 32.0)));
+            m_256apsk[137] = gr_complex((r8 * cos(29 * M_PI / 32.0)), (r8 * 
sin(29 * M_PI / 32.0)));
+            m_256apsk[138] = gr_complex((r8 * cos(25 * M_PI / 32.0)), (r8 * 
sin(25 * M_PI / 32.0)));
+            m_256apsk[139] = gr_complex((r8 * cos(27 * M_PI / 32.0)), (r8 * 
sin(27 * M_PI / 32.0)));
+            m_256apsk[140] = gr_complex((r8 * cos(17 * M_PI / 32.0)), (r8 * 
sin(17 * M_PI / 32.0)));
+            m_256apsk[141] = gr_complex((r8 * cos(19 * M_PI / 32.0)), (r8 * 
sin(19 * M_PI / 32.0)));
+            m_256apsk[142] = gr_complex((r8 * cos(23 * M_PI / 32.0)), (r8 * 
sin(23 * M_PI / 32.0)));
+            m_256apsk[143] = gr_complex((r8 * cos(21 * M_PI / 32.0)), (r8 * 
sin(21 * M_PI / 32.0)));
+            m_256apsk[144] = gr_complex((r8 * cos(-1 * M_PI / 32.0)), (r8 * 
sin(-1 * M_PI / 32.0)));
+            m_256apsk[145] = gr_complex((r8 * cos(-3 * M_PI / 32.0)), (r8 * 
sin(-3 * M_PI / 32.0)));
+            m_256apsk[146] = gr_complex((r8 * cos(-7 * M_PI / 32.0)), (r8 * 
sin(-7 * M_PI / 32.0)));
+            m_256apsk[147] = gr_complex((r8 * cos(-5 * M_PI / 32.0)), (r8 * 
sin(-5 * M_PI / 32.0)));
+            m_256apsk[148] = gr_complex((r8 * cos(-15 * M_PI / 32.0)), (r8 * 
sin(-15 * M_PI / 32.0)));
+            m_256apsk[149] = gr_complex((r8 * cos(-13 * M_PI / 32.0)), (r8 * 
sin(-13 * M_PI / 32.0)));
+            m_256apsk[150] = gr_complex((r8 * cos(-9 * M_PI / 32.0)), (r8 * 
sin(-9 * M_PI / 32.0)));
+            m_256apsk[151] = gr_complex((r8 * cos(-11 * M_PI / 32.0)), (r8 * 
sin(-11 * M_PI / 32.0)));
+            m_256apsk[152] = gr_complex((r8 * cos(33 * M_PI / 32.0)), (r8 * 
sin(33 * M_PI / 32.0)));
+            m_256apsk[153] = gr_complex((r8 * cos(35 * M_PI / 32.0)), (r8 * 
sin(35 * M_PI / 32.0)));
+            m_256apsk[154] = gr_complex((r8 * cos(39 * M_PI / 32.0)), (r8 * 
sin(39 * M_PI / 32.0)));
+            m_256apsk[155] = gr_complex((r8 * cos(37 * M_PI / 32.0)), (r8 * 
sin(37 * M_PI / 32.0)));
+            m_256apsk[156] = gr_complex((r8 * cos(47 * M_PI / 32.0)), (r8 * 
sin(47 * M_PI / 32.0)));
+            m_256apsk[157] = gr_complex((r8 * cos(45 * M_PI / 32.0)), (r8 * 
sin(45 * M_PI / 32.0)));
+            m_256apsk[158] = gr_complex((r8 * cos(41 * M_PI / 32.0)), (r8 * 
sin(41 * M_PI / 32.0)));
+            m_256apsk[159] = gr_complex((r8 * cos(43 * M_PI / 32.0)), (r8 * 
sin(43 * M_PI / 32.0)));
+            m_256apsk[160] = gr_complex((r7 * cos(M_PI / 32.0)), (r7 * 
sin(M_PI / 32.0)));
+            m_256apsk[161] = gr_complex((r7 * cos(3 * M_PI / 32.0)), (r7 * 
sin(3 * M_PI / 32.0)));
+            m_256apsk[162] = gr_complex((r7 * cos(7 * M_PI / 32.0)), (r7 * 
sin(7 * M_PI / 32.0)));
+            m_256apsk[163] = gr_complex((r7 * cos(5 * M_PI / 32.0)), (r7 * 
sin(5 * M_PI / 32.0)));
+            m_256apsk[164] = gr_complex((r7 * cos(15 * M_PI / 32.0)), (r7 * 
sin(15 * M_PI / 32.0)));
+            m_256apsk[165] = gr_complex((r7 * cos(13 * M_PI / 32.0)), (r7 * 
sin(13 * M_PI / 32.0)));
+            m_256apsk[166] = gr_complex((r7 * cos(9 * M_PI / 32.0)), (r7 * 
sin(9 * M_PI / 32.0)));
+            m_256apsk[167] = gr_complex((r7 * cos(11 * M_PI / 32.0)), (r7 * 
sin(11 * M_PI / 32.0)));
+            m_256apsk[168] = gr_complex((r7 * cos(31 * M_PI / 32.0)), (r7 * 
sin(31 * M_PI / 32.0)));
+            m_256apsk[169] = gr_complex((r7 * cos(29 * M_PI / 32.0)), (r7 * 
sin(29 * M_PI / 32.0)));
+            m_256apsk[170] = gr_complex((r7 * cos(25 * M_PI / 32.0)), (r7 * 
sin(25 * M_PI / 32.0)));
+            m_256apsk[171] = gr_complex((r7 * cos(27 * M_PI / 32.0)), (r7 * 
sin(27 * M_PI / 32.0)));
+            m_256apsk[172] = gr_complex((r7 * cos(17 * M_PI / 32.0)), (r7 * 
sin(17 * M_PI / 32.0)));
+            m_256apsk[173] = gr_complex((r7 * cos(19 * M_PI / 32.0)), (r7 * 
sin(19 * M_PI / 32.0)));
+            m_256apsk[174] = gr_complex((r7 * cos(23 * M_PI / 32.0)), (r7 * 
sin(23 * M_PI / 32.0)));
+            m_256apsk[175] = gr_complex((r7 * cos(21 * M_PI / 32.0)), (r7 * 
sin(21 * M_PI / 32.0)));
+            m_256apsk[176] = gr_complex((r7 * cos(-1 * M_PI / 32.0)), (r7 * 
sin(-1 * M_PI / 32.0)));
+            m_256apsk[177] = gr_complex((r7 * cos(-3 * M_PI / 32.0)), (r7 * 
sin(-3 * M_PI / 32.0)));
+            m_256apsk[178] = gr_complex((r7 * cos(-7 * M_PI / 32.0)), (r7 * 
sin(-7 * M_PI / 32.0)));
+            m_256apsk[179] = gr_complex((r7 * cos(-5 * M_PI / 32.0)), (r7 * 
sin(-5 * M_PI / 32.0)));
+            m_256apsk[180] = gr_complex((r7 * cos(-15 * M_PI / 32.0)), (r7 * 
sin(-15 * M_PI / 32.0)));
+            m_256apsk[181] = gr_complex((r7 * cos(-13 * M_PI / 32.0)), (r7 * 
sin(-13 * M_PI / 32.0)));
+            m_256apsk[182] = gr_complex((r7 * cos(-9 * M_PI / 32.0)), (r7 * 
sin(-9 * M_PI / 32.0)));
+            m_256apsk[183] = gr_complex((r7 * cos(-11 * M_PI / 32.0)), (r7 * 
sin(-11 * M_PI / 32.0)));
+            m_256apsk[184] = gr_complex((r7 * cos(33 * M_PI / 32.0)), (r7 * 
sin(33 * M_PI / 32.0)));
+            m_256apsk[185] = gr_complex((r7 * cos(35 * M_PI / 32.0)), (r7 * 
sin(35 * M_PI / 32.0)));
+            m_256apsk[186] = gr_complex((r7 * cos(39 * M_PI / 32.0)), (r7 * 
sin(39 * M_PI / 32.0)));
+            m_256apsk[187] = gr_complex((r7 * cos(37 * M_PI / 32.0)), (r7 * 
sin(37 * M_PI / 32.0)));
+            m_256apsk[188] = gr_complex((r7 * cos(47 * M_PI / 32.0)), (r7 * 
sin(47 * M_PI / 32.0)));
+            m_256apsk[189] = gr_complex((r7 * cos(45 * M_PI / 32.0)), (r7 * 
sin(45 * M_PI / 32.0)));
+            m_256apsk[190] = gr_complex((r7 * cos(41 * M_PI / 32.0)), (r7 * 
sin(41 * M_PI / 32.0)));
+            m_256apsk[191] = gr_complex((r7 * cos(43 * M_PI / 32.0)), (r7 * 
sin(43 * M_PI / 32.0)));
+            m_256apsk[192] = gr_complex((r5 * cos(M_PI / 32.0)), (r5 * 
sin(M_PI / 32.0)));
+            m_256apsk[193] = gr_complex((r5 * cos(3 * M_PI / 32.0)), (r5 * 
sin(3 * M_PI / 32.0)));
+            m_256apsk[194] = gr_complex((r5 * cos(7 * M_PI / 32.0)), (r5 * 
sin(7 * M_PI / 32.0)));
+            m_256apsk[195] = gr_complex((r5 * cos(5 * M_PI / 32.0)), (r5 * 
sin(5 * M_PI / 32.0)));
+            m_256apsk[196] = gr_complex((r5 * cos(15 * M_PI / 32.0)), (r5 * 
sin(15 * M_PI / 32.0)));
+            m_256apsk[197] = gr_complex((r5 * cos(13 * M_PI / 32.0)), (r5 * 
sin(13 * M_PI / 32.0)));
+            m_256apsk[198] = gr_complex((r5 * cos(9 * M_PI / 32.0)), (r5 * 
sin(9 * M_PI / 32.0)));
+            m_256apsk[199] = gr_complex((r5 * cos(11 * M_PI / 32.0)), (r5 * 
sin(11 * M_PI / 32.0)));
+            m_256apsk[200] = gr_complex((r5 * cos(31 * M_PI / 32.0)), (r5 * 
sin(31 * M_PI / 32.0)));
+            m_256apsk[201] = gr_complex((r5 * cos(29 * M_PI / 32.0)), (r5 * 
sin(29 * M_PI / 32.0)));
+            m_256apsk[202] = gr_complex((r5 * cos(25 * M_PI / 32.0)), (r5 * 
sin(25 * M_PI / 32.0)));
+            m_256apsk[203] = gr_complex((r5 * cos(27 * M_PI / 32.0)), (r5 * 
sin(27 * M_PI / 32.0)));
+            m_256apsk[204] = gr_complex((r5 * cos(17 * M_PI / 32.0)), (r5 * 
sin(17 * M_PI / 32.0)));
+            m_256apsk[205] = gr_complex((r5 * cos(19 * M_PI / 32.0)), (r5 * 
sin(19 * M_PI / 32.0)));
+            m_256apsk[206] = gr_complex((r5 * cos(23 * M_PI / 32.0)), (r5 * 
sin(23 * M_PI / 32.0)));
+            m_256apsk[207] = gr_complex((r5 * cos(21 * M_PI / 32.0)), (r5 * 
sin(21 * M_PI / 32.0)));
+            m_256apsk[208] = gr_complex((r5 * cos(-1 * M_PI / 32.0)), (r5 * 
sin(-1 * M_PI / 32.0)));
+            m_256apsk[209] = gr_complex((r5 * cos(-3 * M_PI / 32.0)), (r5 * 
sin(-3 * M_PI / 32.0)));
+            m_256apsk[210] = gr_complex((r5 * cos(-7 * M_PI / 32.0)), (r5 * 
sin(-7 * M_PI / 32.0)));
+            m_256apsk[211] = gr_complex((r5 * cos(-5 * M_PI / 32.0)), (r5 * 
sin(-5 * M_PI / 32.0)));
+            m_256apsk[212] = gr_complex((r5 * cos(-15 * M_PI / 32.0)), (r5 * 
sin(-15 * M_PI / 32.0)));
+            m_256apsk[213] = gr_complex((r5 * cos(-13 * M_PI / 32.0)), (r5 * 
sin(-13 * M_PI / 32.0)));
+            m_256apsk[214] = gr_complex((r5 * cos(-9 * M_PI / 32.0)), (r5 * 
sin(-9 * M_PI / 32.0)));
+            m_256apsk[215] = gr_complex((r5 * cos(-11 * M_PI / 32.0)), (r5 * 
sin(-11 * M_PI / 32.0)));
+            m_256apsk[216] = gr_complex((r5 * cos(33 * M_PI / 32.0)), (r5 * 
sin(33 * M_PI / 32.0)));
+            m_256apsk[217] = gr_complex((r5 * cos(35 * M_PI / 32.0)), (r5 * 
sin(35 * M_PI / 32.0)));
+            m_256apsk[218] = gr_complex((r5 * cos(39 * M_PI / 32.0)), (r5 * 
sin(39 * M_PI / 32.0)));
+            m_256apsk[219] = gr_complex((r5 * cos(37 * M_PI / 32.0)), (r5 * 
sin(37 * M_PI / 32.0)));
+            m_256apsk[220] = gr_complex((r5 * cos(47 * M_PI / 32.0)), (r5 * 
sin(47 * M_PI / 32.0)));
+            m_256apsk[221] = gr_complex((r5 * cos(45 * M_PI / 32.0)), (r5 * 
sin(45 * M_PI / 32.0)));
+            m_256apsk[222] = gr_complex((r5 * cos(41 * M_PI / 32.0)), (r5 * 
sin(41 * M_PI / 32.0)));
+            m_256apsk[223] = gr_complex((r5 * cos(43 * M_PI / 32.0)), (r5 * 
sin(43 * M_PI / 32.0)));
+            m_256apsk[224] = gr_complex((r6 * cos(M_PI / 32.0)), (r6 * 
sin(M_PI / 32.0)));
+            m_256apsk[225] = gr_complex((r6 * cos(3 * M_PI / 32.0)), (r6 * 
sin(3 * M_PI / 32.0)));
+            m_256apsk[226] = gr_complex((r6 * cos(7 * M_PI / 32.0)), (r6 * 
sin(7 * M_PI / 32.0)));
+            m_256apsk[227] = gr_complex((r6 * cos(5 * M_PI / 32.0)), (r6 * 
sin(5 * M_PI / 32.0)));
+            m_256apsk[228] = gr_complex((r6 * cos(15 * M_PI / 32.0)), (r6 * 
sin(15 * M_PI / 32.0)));
+            m_256apsk[229] = gr_complex((r6 * cos(13 * M_PI / 32.0)), (r6 * 
sin(13 * M_PI / 32.0)));
+            m_256apsk[230] = gr_complex((r6 * cos(9 * M_PI / 32.0)), (r6 * 
sin(9 * M_PI / 32.0)));
+            m_256apsk[231] = gr_complex((r6 * cos(11 * M_PI / 32.0)), (r6 * 
sin(11 * M_PI / 32.0)));
+            m_256apsk[232] = gr_complex((r6 * cos(31 * M_PI / 32.0)), (r6 * 
sin(31 * M_PI / 32.0)));
+            m_256apsk[233] = gr_complex((r6 * cos(29 * M_PI / 32.0)), (r6 * 
sin(29 * M_PI / 32.0)));
+            m_256apsk[234] = gr_complex((r6 * cos(25 * M_PI / 32.0)), (r6 * 
sin(25 * M_PI / 32.0)));
+            m_256apsk[235] = gr_complex((r6 * cos(27 * M_PI / 32.0)), (r6 * 
sin(27 * M_PI / 32.0)));
+            m_256apsk[236] = gr_complex((r6 * cos(17 * M_PI / 32.0)), (r6 * 
sin(17 * M_PI / 32.0)));
+            m_256apsk[237] = gr_complex((r6 * cos(19 * M_PI / 32.0)), (r6 * 
sin(19 * M_PI / 32.0)));
+            m_256apsk[238] = gr_complex((r6 * cos(23 * M_PI / 32.0)), (r6 * 
sin(23 * M_PI / 32.0)));
+            m_256apsk[239] = gr_complex((r6 * cos(21 * M_PI / 32.0)), (r6 * 
sin(21 * M_PI / 32.0)));
+            m_256apsk[240] = gr_complex((r6 * cos(-1 * M_PI / 32.0)), (r6 * 
sin(-1 * M_PI / 32.0)));
+            m_256apsk[241] = gr_complex((r6 * cos(-3 * M_PI / 32.0)), (r6 * 
sin(-3 * M_PI / 32.0)));
+            m_256apsk[242] = gr_complex((r6 * cos(-7 * M_PI / 32.0)), (r6 * 
sin(-7 * M_PI / 32.0)));
+            m_256apsk[243] = gr_complex((r6 * cos(-5 * M_PI / 32.0)), (r6 * 
sin(-5 * M_PI / 32.0)));
+            m_256apsk[244] = gr_complex((r6 * cos(-15 * M_PI / 32.0)), (r6 * 
sin(-15 * M_PI / 32.0)));
+            m_256apsk[245] = gr_complex((r6 * cos(-13 * M_PI / 32.0)), (r6 * 
sin(-13 * M_PI / 32.0)));
+            m_256apsk[246] = gr_complex((r6 * cos(-9 * M_PI / 32.0)), (r6 * 
sin(-9 * M_PI / 32.0)));
+            m_256apsk[247] = gr_complex((r6 * cos(-11 * M_PI / 32.0)), (r6 * 
sin(-11 * M_PI / 32.0)));
+            m_256apsk[248] = gr_complex((r6 * cos(33 * M_PI / 32.0)), (r6 * 
sin(33 * M_PI / 32.0)));
+            m_256apsk[249] = gr_complex((r6 * cos(35 * M_PI / 32.0)), (r6 * 
sin(35 * M_PI / 32.0)));
+            m_256apsk[250] = gr_complex((r6 * cos(39 * M_PI / 32.0)), (r6 * 
sin(39 * M_PI / 32.0)));
+            m_256apsk[251] = gr_complex((r6 * cos(37 * M_PI / 32.0)), (r6 * 
sin(37 * M_PI / 32.0)));
+            m_256apsk[252] = gr_complex((r6 * cos(47 * M_PI / 32.0)), (r6 * 
sin(47 * M_PI / 32.0)));
+            m_256apsk[253] = gr_complex((r6 * cos(45 * M_PI / 32.0)), (r6 * 
sin(45 * M_PI / 32.0)));
+            m_256apsk[254] = gr_complex((r6 * cos(41 * M_PI / 32.0)), (r6 * 
sin(41 * M_PI / 32.0)));
+            m_256apsk[255] = gr_complex((r6 * cos(43 * M_PI / 32.0)), (r6 * 
sin(43 * M_PI / 32.0)));
           }
           break;
         default:
-          m_qpsk[0].real() = (r1 * cos(M_PI / 4.0));
-          m_qpsk[0].imag() = (r1 * sin(M_PI / 4.0));
-          m_qpsk[1].real() = (r1 * cos(7 * M_PI / 4.0));
-          m_qpsk[1].imag() = (r1 * sin(7 * M_PI / 4.0));
-          m_qpsk[2].real() = (r1 * cos(3 * M_PI / 4.0));
-          m_qpsk[2].imag() = (r1 * sin(3 * M_PI / 4.0));
-          m_qpsk[3].real() = (r1 * cos(5 * M_PI / 4.0));
-          m_qpsk[3].imag() = (r1 * sin(5 * M_PI / 4.0));
+          m_qpsk[0] = gr_complex((r1 * cos(M_PI / 4.0)), (r1 * sin(M_PI / 
4.0)));
+          m_qpsk[1] = gr_complex((r1 * cos(7 * M_PI / 4.0)), (r1 * sin(7 * 
M_PI / 4.0)));
+          m_qpsk[2] = gr_complex((r1 * cos(3 * M_PI / 4.0)), (r1 * sin(3 * 
M_PI / 4.0)));
+          m_qpsk[3] = gr_complex((r1 * cos(5 * M_PI / 4.0)), (r1 * sin(5 * 
M_PI / 4.0)));
           break;
       }
       signal_constellation = constellation;
diff --git a/gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.cc 
b/gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.cc
index 6b58b15..a1f2d6a 100644
--- a/gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.cc
+++ b/gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.cc
@@ -68,25 +68,16 @@ namespace gr {
       }
       gold_code = goldcode;
 
-      m_bpsk[0][0].real() = (r0 * cos(M_PI / 4.0));
-      m_bpsk[0][0].imag() = (r0 * sin(M_PI / 4.0));
-      m_bpsk[0][1].real() = (r0 * cos(5.0 * M_PI / 4.0));
-      m_bpsk[0][1].imag() = (r0 * sin(5.0 * M_PI / 4.0));
-      m_bpsk[1][0].real() = (r0 * cos(5.0 * M_PI / 4.0));
-      m_bpsk[1][0].imag() = (r0 * sin(M_PI / 4.0));
-      m_bpsk[1][1].real() = (r0 * cos(M_PI / 4.0));
-      m_bpsk[1][1].imag() = (r0 * sin(5.0 * M_PI /4.0));
-      m_bpsk[2][0].real() = (r0 * cos(5.0 * M_PI / 4.0));
-      m_bpsk[2][0].imag() = (r0 * sin(M_PI / 4.0));
-      m_bpsk[2][1].real() = (r0 * cos(M_PI / 4.0));
-      m_bpsk[2][1].imag() = (r0 * sin(5.0 * M_PI /4.0));
-      m_bpsk[3][0].real() = (r0 * cos(5.0 * M_PI / 4.0));
-      m_bpsk[3][0].imag() = (r0 * sin(5.0 * M_PI / 4.0));
-      m_bpsk[3][1].real() = (r0 * cos(M_PI / 4.0));
-      m_bpsk[3][1].imag() = (r0 * sin(M_PI / 4.0));
-
-      m_zero[0].real() = 0.0;    /* used for zero stuffing interpolation */
-      m_zero[0].imag() = 0.0;
+      m_bpsk[0][0] = gr_complex((r0 * cos(M_PI / 4.0)), (r0 * sin(M_PI / 
4.0)));
+      m_bpsk[0][1] = gr_complex((r0 * cos(5.0 * M_PI / 4.0)), (r0 * sin(5.0 * 
M_PI / 4.0)));
+      m_bpsk[1][0] = gr_complex((r0 * cos(5.0 * M_PI / 4.0)), (r0 * sin(M_PI / 
4.0)));
+      m_bpsk[1][1] = gr_complex((r0 * cos(M_PI / 4.0)), (r0 * sin(5.0 * M_PI 
/4.0)));
+      m_bpsk[2][0] = gr_complex((r0 * cos(5.0 * M_PI / 4.0)), (r0 * sin(M_PI / 
4.0)));
+      m_bpsk[2][1] = gr_complex((r0 * cos(M_PI / 4.0)), (r0 * sin(5.0 * M_PI 
/4.0)));
+      m_bpsk[3][0] = gr_complex((r0 * cos(5.0 * M_PI / 4.0)), (r0 * sin(5.0 * 
M_PI / 4.0)));
+      m_bpsk[3][1] = gr_complex((r0 * cos(M_PI / 4.0)), (r0 * sin(M_PI / 
4.0)));
+
+      m_zero = gr_complex(0.0, 0.0);
 
       // Mode and code rate
       if (constellation == MOD_QPSK) {
@@ -692,31 +683,27 @@ namespace gr {
         n = 0;
         for (int plh = 0; plh < 90; plh++) {
           out[produced++] = m_pl[plh];
-          out[produced++] = m_zero[0];
+          out[produced++] = m_zero;
         }
         for (int j = 0; j < slots; j++) {
           for (int k = 0; k < 90; k++) {
             tempin = in[consumed++];
             switch (m_cscram[n++]) {
               case 0:
-                tempout.real() =  tempin.real();
-                tempout.imag() =  tempin.imag();
+                tempout = tempin;
                 break;
               case 1:
-                tempout.real() = -tempin.imag();
-                tempout.imag() =  tempin.real();
+                tempout = gr_complex(-tempin.imag(),  tempin.real());
                 break;
               case 2:
-                tempout.real() = -tempin.real();
-                tempout.imag() = -tempin.imag();
+                tempout = -tempin;
                 break;
               case 3:
-                tempout.real() =  tempin.imag();
-                tempout.imag() = -tempin.real();
+                tempout = gr_complex( tempin.imag(), -tempin.real());
                 break;
             }
             out[produced++] = tempout;
-            out[produced++] = m_zero[0];
+            out[produced++] = m_zero;
           }
           slot_count = (slot_count + 1) % 16;
           if ((slot_count == 0) && (j < slots - 1)) {
@@ -726,24 +713,20 @@ namespace gr {
                 tempin = m_bpsk[0][0];
                 switch (m_cscram[n++]) {
                   case 0:
-                    tempout.real() =  tempin.real();
-                    tempout.imag() =  tempin.imag();
+                    tempout = tempin;
                     break;
                   case 1:
-                    tempout.real() = -tempin.imag();
-                    tempout.imag() =  tempin.real();
+                    tempout = gr_complex(-tempin.imag(),  tempin.real());
                     break;
                   case 2:
-                    tempout.real() = -tempin.real();
-                    tempout.imag() = -tempin.imag();
+                    tempout = -tempin;
                     break;
                   case 03:
-                    tempout.real() =  tempin.imag();
-                    tempout.imag() = -tempin.real();
+                    tempout = gr_complex( tempin.imag(), -tempin.real());
                     break;
                 }
                 out[produced++] = tempout;
-                out[produced++] = m_zero[0];
+                out[produced++] = m_zero;
               }
             }
           }
diff --git a/gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.h 
b/gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.h
index 8a73cb2..6910776 100644
--- a/gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.h
+++ b/gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.h
@@ -37,7 +37,7 @@ namespace gr {
       int gold_code;
       gr_complex m_bpsk[4][2];
       gr_complex m_pl[90];
-      gr_complex m_zero[1];
+      gr_complex m_zero;
       int m_cscram[FRAME_SIZE_NORMAL];
       void b_64_8_code(unsigned char, int *);
       void pl_header_encode(unsigned char, unsigned char, int *);
diff --git a/gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.cc 
b/gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.cc
index bd02629..c3702e0 100644
--- a/gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.cc
+++ b/gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.cc
@@ -245,12 +245,9 @@ namespace gr {
 
       bch_poly_build_tables();
       l1pre_ldpc_lookup_generate();
-      m_bpsk[0].real() =  1.0;
-      m_bpsk[0].imag() =  0.0;
-      m_bpsk[1].real() =  -1.0;
-      m_bpsk[1].imag() =  0.0;
-      unmodulated[0].real() =  0.0;
-      unmodulated[0].imag() =  0.0;
+      m_bpsk[0] = gr_complex( 1.0,  0.0);
+      m_bpsk[1] = gr_complex( -1.0,  0.0);
+      unmodulated = gr_complex( 0.0,  0.0);
 
       l1post_ldpc_lookup_generate();
       switch (l1constellation) {
@@ -259,182 +256,98 @@ namespace gr {
           break;
         case L1_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;
+          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);
           eta_mod = 2;
           break;
         case L1_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;
+          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);
           eta_mod = 4;
           break;
         case L1_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;
+          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);
           eta_mod = 6;
           break;
       }
@@ -1796,15 +1709,11 @@ namespace gr {
     dvbt2_framemapper_cc_impl::init_dummy_randomizer(void)
     {
       int sr = 0x4A80;
-      for (int i = 0; i < mapped_items - stream_items - 1840 - (N_post / 
eta_mod) - (N_FC - C_FC); i++) {
+      int num = mapped_items - stream_items - 1840 - (N_post / eta_mod) - 
(N_FC - C_FC);
+      memset(&dummy_randomize[0], 0, sizeof(gr_complex) * num);
+      for (int i = 0; i < num; i++) {
         int b = ((sr) ^ (sr >> 1)) & 1;
-        if (b) {
-          dummy_randomize[i].real() = -1.0;
-        }
-        else {
-          dummy_randomize[i].real() = 1.0;
-        }
-        dummy_randomize[i].imag() = 0;
+        dummy_randomize[i] = (b ? -1.0 : 1.0);
         sr >>= 1;
         if(b) {
           sr |= 0x4000;
@@ -1854,7 +1763,7 @@ namespace gr {
             *out++ = dummy_randomize[index++];
           }
           for (int j = 0; j < N_FC - C_FC; j++) {
-             *out++ = unmodulated[0];
+             *out++ = unmodulated;
           }
         }
         else {
@@ -1872,7 +1781,7 @@ namespace gr {
             *interleave++ = dummy_randomize[index++];
           }
           for (int j = 0; j < N_FC - C_FC; j++) {
-            *interleave++ = unmodulated[0];
+            *interleave++ = unmodulated;
           }
           interleave = zigzag_interleave;
           read = 0;
diff --git a/gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.h 
b/gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.h
index 6cbd6b5..2b25b2d 100644
--- a/gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.h
+++ b/gr-dtv/lib/dvbt2/dvbt2_framemapper_cc_impl.h
@@ -172,7 +172,7 @@ namespace gr {
       gr_complex *zigzag_interleave;
       gr_complex *dummy_randomize;
       gr_complex l1pre_cache[1840];
-      gr_complex unmodulated[1];
+      gr_complex unmodulated;
       gr_complex m_bpsk[2];
       gr_complex m_qpsk[4];
       gr_complex m_16qam[16];
diff --git a/gr-dtv/lib/dvbt2/dvbt2_miso_cc_impl.cc 
b/gr-dtv/lib/dvbt2/dvbt2_miso_cc_impl.cc
index f879806..3f19c31 100644
--- a/gr-dtv/lib/dvbt2/dvbt2_miso_cc_impl.cc
+++ b/gr-dtv/lib/dvbt2/dvbt2_miso_cc_impl.cc
@@ -576,14 +576,10 @@ namespace gr {
         memcpy(out1, in, sizeof(gr_complex) * miso_items);
         out1 += miso_items;
         for (int j = 0; j < miso_items; j += 2) {
-          temp1 = *in++;
-          temp2 = *in++;
-          out2->real() = -temp2.real();
-          out2->imag() = temp2.imag();
-          out2++;
-          out2->real() = temp1.real();
-          out2->imag() = -temp1.imag();
-          out2++;
+          temp1 = std::conj(*in++);
+          temp2 = std::conj(*in++);
+          *out2++ = -temp2;
+          *out2++ =  temp1;
         }
       }
 
diff --git a/gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc 
b/gr-dtv/lib/dvbt2/dvbt2_modulator_bc_impl.cc
index 48fe2aa..8127e37 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());
               }
             }
           }
diff --git a/gr-dtv/lib/dvbt2/dvbt2_p1insertion_cc_impl.cc 
b/gr-dtv/lib/dvbt2/dvbt2_p1insertion_cc_impl.cc
index 0d0bc5a..22415af 100644
--- a/gr-dtv/lib/dvbt2/dvbt2_p1insertion_cc_impl.cc
+++ b/gr-dtv/lib/dvbt2/dvbt2_p1insertion_cc_impl.cc
@@ -136,12 +136,9 @@ namespace gr {
       for (int i = 0; i < 384; i++) {
         dbpsk_modulation_sequence[i] = dbpsk_modulation_sequence[i + 1] * 
p1_randomize[i];
       }
-      for (int i = 0; i < 1024; i++) {
-        p1_freq[i].real() = 0.0;
-        p1_freq[i].imag() = 0.0;
-      }
+      memset(&p1_freq[0], 0, sizeof(gr_complex) * 1024);
       for (int i = 0; i < 384; i++) {
-        p1_freq[p1_active_carriers[i] + 86].real() = 
float(dbpsk_modulation_sequence[i]);
+        p1_freq[p1_active_carriers[i] + 86] = 
float(dbpsk_modulation_sequence[i]);
       }
       p1_fft_size = 1024;
       p1_fft = new fft::fft_complex(p1_fft_size, false, 1);
@@ -151,8 +148,7 @@ namespace gr {
       p1_fft->execute();
       memcpy(out, p1_fft->get_outbuf(), sizeof(gr_complex) * p1_fft_size);
       for (int i = 0; i < 1024; i++) {
-        p1_time[i].real() *= 1 / sqrt(384);
-        p1_time[i].imag() *= 1 / sqrt(384);
+        p1_time[i] /= std::sqrt(384.0);
       }
       for (int i = 0; i < 1023; i++) {
         p1_freqshft[i + 1] = p1_freq[i];
@@ -166,8 +162,7 @@ namespace gr {
       p1_fft->execute();
       memcpy(out, p1_fft->get_outbuf(), sizeof(gr_complex) * p1_fft_size);
       for (int i = 0; i < 1024; i++) {
-        p1_timeshft[i].real() *= 1 / sqrt(384);
-        p1_timeshft[i].imag() *= 1 / sqrt(384);
+        p1_timeshft[i] /= std::sqrt(384.0);
       }
       frame_items = ((numdatasyms + N_P2) * fft_size) + ((numdatasyms + N_P2) 
* guard_interval);
       insertion_items = frame_items + 2048;
diff --git a/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc 
b/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc
index 94d252d..db3fd00 100644
--- a/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc
+++ b/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc
@@ -24,7 +24,6 @@
 
 #include <gnuradio/io_signature.h>
 #include "dvbt2_paprtr_cc_impl.h"
-#include <complex.h>
 #include <volk/volk.h>
 #include <stdio.h>
 
@@ -670,24 +669,18 @@ namespace gr {
     {
       const gr_complex *in = (const gr_complex *) input_items[0];
       gr_complex *out = (gr_complex *) output_items[0];
-      gr_complex zero, one;
-      int index, valid;
-      int L_FC = 0;
+      const gr_complex one (1.0, 0.0);
+      const gr_complex zero (0.0, 0.0);
+      const float normalization = 1.0 / N_TR;
+      const int L_FC = (N_FC != 0);
+      const float center = (C_PS - 1) / 2;
+      const float aMax = 5.0 * N_TR * std::sqrt(10.0 / (27.0 * C_PS));
       gr_complex *dst;
-      float normalization = 1.0 / N_TR;
-      int m = 0;
-      float y, a, alpha, center = (C_PS - 1) / 2;
-      float aMax = 5.0 * N_TR * sqrt(10.0 / (27.0 * C_PS));
-      gr_complex u, result, temp;
-      double _Complex vtemp;
+      int m = 0, index, valid;
+      float y, a, alpha;
+      gr_complex u, result;
+      double vtemp;
 
-      one.real() = 1.0;
-      one.imag() = 0.0;
-      zero.real() = 0.0;
-      zero.imag() = 0.0;
-      if (N_FC != 0) {
-        L_FC = 1;
-      }
       for (int i = 0; i < noutput_items; i += num_symbols) {
         if (papr_mode == PAPR_TR || papr_mode == PAPR_BOTH || (version_num == 
VERSION_131 && papr_mode == PAPR_OFF)) {
           for (int j = 0; j < num_symbols; j++) {
@@ -763,23 +756,18 @@ namespace gr {
                 if (y < v_clip + 0.01) {
                   break;
                 }
-                u.real() = (in[m].real() + c[m].real()) / y;
-                u.imag() = (in[m].imag() + c[m].imag()) / y;
+                u = (in[m] + c[m]) / y;
                 alpha = y - v_clip;
                 for (int n = 0; n < N_TR; n++) {
-                  vtemp = 0.0 + ((2 * M_PI * m * ((papr_map[n] + shift) - 
center)) / papr_fft_size * _Complex_I);
-                  vtemp = cexp(vtemp);
-                  ctemp[n].real() = creal(vtemp);
-                  ctemp[n].imag() = -cimag(vtemp);
+                  vtemp = (-2.0 * M_PI * m * ((papr_map[n] + shift) - center)) 
/ papr_fft_size;
+                  ctemp[n] = std::exp(gr_complexd(0.0, vtemp));
                 }
                 volk_32fc_s32fc_multiply_32fc(v, ctemp, u, N_TR);
-                temp.real() = alpha;
-                temp.imag() = 0.0;
-                volk_32fc_s32fc_multiply_32fc(rNew, v, temp, N_TR);
+                volk_32f_s32f_multiply_32f((float*)rNew, (float*)v, alpha, 
N_TR * 2);
                 volk_32f_x2_subtract_32f((float*)rNew, (float*)r, 
(float*)rNew, N_TR * 2);
                 volk_32fc_x2_multiply_conjugate_32fc(ctemp, r, v, N_TR);
                 for (int n = 0; n < N_TR; n++) {
-                  alphaLimit[n] = sqrt((aMax * aMax) - (ctemp[n].imag() * 
ctemp[n].imag())) + ctemp[n].real();
+                  alphaLimit[n] = std::sqrt((aMax * aMax) - (ctemp[n].imag() * 
ctemp[n].imag())) + ctemp[n].real();
                 }
                 index = 0;
                 volk_32fc_magnitude_32f(magnitude, rNew, N_TR);
@@ -796,18 +784,13 @@ namespace gr {
                     }
                   }
                   alpha = a;
-                  temp.real() = alpha;
-                  temp.imag() = 0.0;
-                  volk_32fc_s32fc_multiply_32fc(rNew, v, temp, N_TR);
+                  volk_32f_s32f_multiply_32f((float*)rNew, (float*)v, alpha, 
N_TR * 2);
                   volk_32f_x2_subtract_32f((float*)rNew, (float*)r, 
(float*)rNew, N_TR * 2);
                 }
                 for (int n = 0; n < papr_fft_size; n++) {
                   ones_freq[(n + m) % papr_fft_size] = ones_time[n];
                 }
-                temp.real() = alpha;
-                temp.imag() = 0.0;
-                result.real() = (u.real() * temp.real()) - (u.imag() * 
temp.imag());
-                result.imag() = (u.imag() * temp.real()) + (u.real() * 
temp.imag());
+                result = u * alpha;
                 volk_32fc_s32fc_multiply_32fc(ctemp, ones_freq, result, 
papr_fft_size);
                 volk_32f_x2_subtract_32f((float*)c, (float*)c, (float*)ctemp, 
papr_fft_size * 2);
                 memcpy(r, rNew, sizeof(gr_complex) * N_TR);
diff --git a/gr-dtv/lib/dvbt2/dvbt2_pilotgenerator_cc_impl.cc 
b/gr-dtv/lib/dvbt2/dvbt2_pilotgenerator_cc_impl.cc
index 7a4bd26..05dacce 100644
--- a/gr-dtv/lib/dvbt2/dvbt2_pilotgenerator_cc_impl.cc
+++ b/gr-dtv/lib/dvbt2/dvbt2_pilotgenerator_cc_impl.cc
@@ -740,14 +740,10 @@ namespace gr {
               }
             }
           }
-          cp_bpsk[0].real() = 4.0 / 3.0;
-          cp_bpsk[0].imag() = 0.0;
-          cp_bpsk[1].real() = -4.0 / 3.0;
-          cp_bpsk[1].imag() = 0.0;
-          cp_bpsk_inverted[0].real() = -4.0 / 3.0;
-          cp_bpsk_inverted[0].imag() = 0.0;
-          cp_bpsk_inverted[1].real() = 4.0 / 3.0;
-          cp_bpsk_inverted[1].imag() = 0.0;
+          cp_bpsk[0] = gr_complex(4.0 / 3.0, 0.0);
+          cp_bpsk[1] = gr_complex(-4.0 / 3.0, 0.0);
+          cp_bpsk_inverted[0] = gr_complex(-4.0 / 3.0, 0.0);
+          cp_bpsk_inverted[1] = gr_complex(4.0 / 3.0, 0.0);
           break;
         case FFTSIZE_2K:
           for (int i = 0; i < 18; i++) {
@@ -778,14 +774,10 @@ namespace gr {
               }
             }
           }
-          cp_bpsk[0].real() = 4.0 / 3.0;
-          cp_bpsk[0].imag() = 0.0;
-          cp_bpsk[1].real() = -4.0 / 3.0;
-          cp_bpsk[1].imag() = 0.0;
-          cp_bpsk_inverted[0].real() = -4.0 / 3.0;
-          cp_bpsk_inverted[0].imag() = 0.0;
-          cp_bpsk_inverted[1].real() = 4.0 / 3.0;
-          cp_bpsk_inverted[1].imag() = 0.0;
+          cp_bpsk[0] = gr_complex(4.0 / 3.0, 0.0);
+          cp_bpsk[1] = gr_complex(-4.0 / 3.0, 0.0);
+          cp_bpsk_inverted[0] = gr_complex(-4.0 / 3.0, 0.0);
+          cp_bpsk_inverted[1] = gr_complex(4.0 / 3.0, 0.0);
           break;
         case FFTSIZE_4K:
           for (int i = 0; i < 36; i++) {
@@ -816,14 +808,10 @@ namespace gr {
               }
             }
           }
-          cp_bpsk[0].real() = (4.0 * sqrt(2)) / 3.0;
-          cp_bpsk[0].imag() = 0.0;
-          cp_bpsk[1].real() = -(4.0 * sqrt(2)) / 3.0;
-          cp_bpsk[1].imag() = 0.0;
-          cp_bpsk_inverted[0].real() = -(4.0 * sqrt(2)) / 3.0;
-          cp_bpsk_inverted[0].imag() = 0.0;
-          cp_bpsk_inverted[1].real() = (4.0 * sqrt(2)) / 3.0;
-          cp_bpsk_inverted[1].imag() = 0.0;
+          cp_bpsk[0] = gr_complex((4.0 * std::sqrt(2.0)) / 3.0, 0.0);
+          cp_bpsk[1] = gr_complex(-(4.0 * std::sqrt(2.0)) / 3.0, 0.0);
+          cp_bpsk_inverted[0] = gr_complex(-(4.0 * std::sqrt(2.0)) / 3.0, 0.0);
+          cp_bpsk_inverted[1] = gr_complex((4.0 * std::sqrt(2.0)) / 3.0, 0.0);
           break;
         case FFTSIZE_8K:
         case FFTSIZE_8K_T2GI:
@@ -855,14 +843,10 @@ namespace gr {
               }
             }
           }
-          cp_bpsk[0].real() = 8.0 / 3.0;
-          cp_bpsk[0].imag() = 0.0;
-          cp_bpsk[1].real() = -8.0 / 3.0;
-          cp_bpsk[1].imag() = 0.0;
-          cp_bpsk_inverted[0].real() = -8.0 / 3.0;
-          cp_bpsk_inverted[0].imag() = 0.0;
-          cp_bpsk_inverted[1].real() = 8.0 / 3.0;
-          cp_bpsk_inverted[1].imag() = 0.0;
+          cp_bpsk[0] = gr_complex(8.0 / 3.0, 0.0);
+          cp_bpsk[1] = gr_complex(-8.0 / 3.0, 0.0);
+          cp_bpsk_inverted[0] = gr_complex(-8.0 / 3.0, 0.0);
+          cp_bpsk_inverted[1] = gr_complex(8.0 / 3.0, 0.0);
           break;
         case FFTSIZE_16K:
         case FFTSIZE_16K_T2GI:
@@ -894,14 +878,10 @@ namespace gr {
               }
             }
           }
-          cp_bpsk[0].real() = 8.0 / 3.0;
-          cp_bpsk[0].imag() = 0.0;
-          cp_bpsk[1].real() = -8.0 / 3.0;
-          cp_bpsk[1].imag() = 0.0;
-          cp_bpsk_inverted[0].real() = -8.0 / 3.0;
-          cp_bpsk_inverted[0].imag() = 0.0;
-          cp_bpsk_inverted[1].real() = 8.0 / 3.0;
-          cp_bpsk_inverted[1].imag() = 0.0;
+          cp_bpsk[0] = gr_complex(8.0 / 3.0, 0.0);
+          cp_bpsk[1] = gr_complex(-8.0 / 3.0, 0.0);
+          cp_bpsk_inverted[0] = gr_complex(-8.0 / 3.0, 0.0);
+          cp_bpsk_inverted[1] = gr_complex(8.0 / 3.0, 0.0);
           break;
         case FFTSIZE_32K:
         case FFTSIZE_32K_T2GI:
@@ -933,110 +913,74 @@ namespace gr {
               }
             }
           }
-          cp_bpsk[0].real() = 8.0 / 3.0;
-          cp_bpsk[0].imag() = 0.0;
-          cp_bpsk[1].real() = -8.0 / 3.0;
-          cp_bpsk[1].imag() = 0.0;
-          cp_bpsk_inverted[0].real() = -8.0 / 3.0;
-          cp_bpsk_inverted[0].imag() = 0.0;
-          cp_bpsk_inverted[1].real() = 8.0 / 3.0;
-          cp_bpsk_inverted[1].imag() = 0.0;
+          cp_bpsk[0] = gr_complex(8.0 / 3.0, 0.0);
+          cp_bpsk[1] = gr_complex(-8.0 / 3.0, 0.0);
+          cp_bpsk_inverted[0] = gr_complex(-8.0 / 3.0, 0.0);
+          cp_bpsk_inverted[1] = gr_complex(8.0 / 3.0, 0.0);
           break;
       }
       switch (pilotpattern) {
         case PILOT_PP1:
-          sp_bpsk[0].real() = 4.0 / 3.0;
-          sp_bpsk[0].imag() = 0.0;
-          sp_bpsk[1].real() = -4.0 / 3.0;
-          sp_bpsk[1].imag() = 0.0;
-          sp_bpsk_inverted[0].real() = -4.0 / 3.0;
-          sp_bpsk_inverted[0].imag() = 0.0;
-          sp_bpsk_inverted[1].real() = 4.0 / 3.0;
-          sp_bpsk_inverted[1].imag() = 0.0;
+          sp_bpsk[0] = gr_complex(4.0 / 3.0, 0.0);
+          sp_bpsk[1] = gr_complex(-4.0 / 3.0, 0.0);
+          sp_bpsk_inverted[0] = gr_complex(-4.0 / 3.0, 0.0);
+          sp_bpsk_inverted[1] = gr_complex(4.0 / 3.0, 0.0);
           dx = 3;
           dy = 4;
           break;
         case PILOT_PP2:
-          sp_bpsk[0].real() = 4.0 / 3.0;
-          sp_bpsk[0].imag() = 0.0;
-          sp_bpsk[1].real() = -4.0 / 3.0;
-          sp_bpsk[1].imag() = 0.0;
-          sp_bpsk_inverted[0].real() = -4.0 / 3.0;
-          sp_bpsk_inverted[0].imag() = 0.0;
-          sp_bpsk_inverted[1].real() = 4.0 / 3.0;
-          sp_bpsk_inverted[1].imag() = 0.0;
+          sp_bpsk[0] = gr_complex(4.0 / 3.0, 0.0);
+          sp_bpsk[1] = gr_complex(-4.0 / 3.0, 0.0);
+          sp_bpsk_inverted[0] = gr_complex(-4.0 / 3.0, 0.0);
+          sp_bpsk_inverted[1] = gr_complex(4.0 / 3.0, 0.0);
           dx = 6;
           dy = 2;
           break;
         case PILOT_PP3:
-          sp_bpsk[0].real() = 7.0 / 4.0;
-          sp_bpsk[0].imag() = 0.0;
-          sp_bpsk[1].real() = -7.0 / 4.0;
-          sp_bpsk[1].imag() = 0.0;
-          sp_bpsk_inverted[0].real() = -7.0 / 4.0;
-          sp_bpsk_inverted[0].imag() = 0.0;
-          sp_bpsk_inverted[1].real() = 7.0 / 4.0;
-          sp_bpsk_inverted[1].imag() = 0.0;
+          sp_bpsk[0] = gr_complex(7.0 / 4.0, 0.0);
+          sp_bpsk[1] = gr_complex(-7.0 / 4.0, 0.0);
+          sp_bpsk_inverted[0] = gr_complex(-7.0 / 4.0, 0.0);
+          sp_bpsk_inverted[1] = gr_complex(7.0 / 4.0, 0.0);
           dx = 6;
           dy = 4;
           break;
         case PILOT_PP4:
-          sp_bpsk[0].real() = 7.0 / 4.0;
-          sp_bpsk[0].imag() = 0.0;
-          sp_bpsk[1].real() = -7.0 / 4.0;
-          sp_bpsk[1].imag() = 0.0;
-          sp_bpsk_inverted[0].real() = -7.0 / 4.0;
-          sp_bpsk_inverted[0].imag() = 0.0;
-          sp_bpsk_inverted[1].real() = 7.0 / 4.0;
-          sp_bpsk_inverted[1].imag() = 0.0;
+          sp_bpsk[0] = gr_complex(7.0 / 4.0, 0.0);
+          sp_bpsk[1] = gr_complex(-7.0 / 4.0, 0.0);
+          sp_bpsk_inverted[0] = gr_complex(-7.0 / 4.0, 0.0);
+          sp_bpsk_inverted[1] = gr_complex(7.0 / 4.0, 0.0);
           dx = 12;
           dy = 2;
           break;
         case PILOT_PP5:
-          sp_bpsk[0].real() = 7.0 / 3.0;
-          sp_bpsk[0].imag() = 0.0;
-          sp_bpsk[1].real() = -7.0 / 3.0;
-          sp_bpsk[1].imag() = 0.0;
-          sp_bpsk_inverted[0].real() = -7.0 / 3.0;
-          sp_bpsk_inverted[0].imag() = 0.0;
-          sp_bpsk_inverted[1].real() = 7.0 / 3.0;
-          sp_bpsk_inverted[1].imag() = 0.0;
+          sp_bpsk[0] = gr_complex(7.0 / 3.0, 0.0);
+          sp_bpsk[1] = gr_complex(-7.0 / 3.0, 0.0);
+          sp_bpsk_inverted[0] = gr_complex(-7.0 / 3.0, 0.0);
+          sp_bpsk_inverted[1] = gr_complex(7.0 / 3.0, 0.0);
           dx = 12;
           dy = 4;
           break;
         case PILOT_PP6:
-          sp_bpsk[0].real() = 7.0 / 3.0;
-          sp_bpsk[0].imag() = 0.0;
-          sp_bpsk[1].real() = -7.0 / 3.0;
-          sp_bpsk[1].imag() = 0.0;
-          sp_bpsk_inverted[0].real() = -7.0 / 3.0;
-          sp_bpsk_inverted[0].imag() = 0.0;
-          sp_bpsk_inverted[1].real() = 7.0 / 3.0;
-          sp_bpsk_inverted[1].imag() = 0.0;
+          sp_bpsk[0] = gr_complex(7.0 / 3.0, 0.0);
+          sp_bpsk[1] = gr_complex(-7.0 / 3.0, 0.0);
+          sp_bpsk_inverted[0] = gr_complex(-7.0 / 3.0, 0.0);
+          sp_bpsk_inverted[1] = gr_complex(7.0 / 3.0, 0.0);
           dx = 24;
           dy = 2;
           break;
         case PILOT_PP7:
-          sp_bpsk[0].real() = 7.0 / 3.0;
-          sp_bpsk[0].imag() = 0.0;
-          sp_bpsk[1].real() = -7.0 / 3.0;
-          sp_bpsk[1].imag() = 0.0;
-          sp_bpsk_inverted[0].real() = -7.0 / 3.0;
-          sp_bpsk_inverted[0].imag() = 0.0;
-          sp_bpsk_inverted[1].real() = 7.0 / 3.0;
-          sp_bpsk_inverted[1].imag() = 0.0;
+          sp_bpsk[0] = gr_complex(7.0 / 3.0, 0.0);
+          sp_bpsk[1] = gr_complex(-7.0 / 3.0, 0.0);
+          sp_bpsk_inverted[0] = gr_complex(-7.0 / 3.0, 0.0);
+          sp_bpsk_inverted[1] = gr_complex(7.0 / 3.0, 0.0);
           dx = 24;
           dy = 4;
           break;
         case PILOT_PP8:
-          sp_bpsk[0].real() = 7.0 / 3.0;
-          sp_bpsk[0].imag() = 0.0;
-          sp_bpsk[1].real() = -7.0 / 3.0;
-          sp_bpsk[1].imag() = 0.0;
-          sp_bpsk_inverted[0].real() = -7.0 / 3.0;
-          sp_bpsk_inverted[0].imag() = 0.0;
-          sp_bpsk_inverted[1].real() = 7.0 / 3.0;
-          sp_bpsk_inverted[1].imag() = 0.0;
+          sp_bpsk[0] = gr_complex(7.0 / 3.0, 0.0);
+          sp_bpsk[1] = gr_complex(-7.0 / 3.0, 0.0);
+          sp_bpsk_inverted[0] = gr_complex(-7.0 / 3.0, 0.0);
+          sp_bpsk_inverted[1] = gr_complex(7.0 / 3.0, 0.0);
           dx = 6;
           dy = 16;
           break;
@@ -1132,26 +1076,18 @@ namespace gr {
       left_nulls = ((vlength - C_PS) / 2) + 1;
       right_nulls = (vlength - C_PS) / 2;
       if ((fftsize == FFTSIZE_32K || fftsize == FFTSIZE_32K_T2GI) && (miso == 
FALSE)) {
-        p2_bpsk[0].real() = sqrt(37.0) / 5.0;
-        p2_bpsk[0].imag() = 0.0;
-        p2_bpsk[1].real() = -(sqrt(37.0) / 5.0);
-        p2_bpsk[1].imag() = 0.0;
-        p2_bpsk_inverted[0].real() = -(sqrt(37.0) / 5.0);
-        p2_bpsk_inverted[0].imag() = 0.0;
-        p2_bpsk_inverted[1].real() = sqrt(37.0) / 5.0;
-        p2_bpsk_inverted[1].imag() = 0.0;
+        p2_bpsk[0] = gr_complex(std::sqrt(37.0) / 5.0, 0.0);
+        p2_bpsk[1] = gr_complex(-(std::sqrt(37.0) / 5.0), 0.0);
+        p2_bpsk_inverted[0] = gr_complex(-(std::sqrt(37.0) / 5.0), 0.0);
+        p2_bpsk_inverted[1] = gr_complex(std::sqrt(37.0) / 5.0, 0.0);
       }
       else {
-        p2_bpsk[0].real() = sqrt(31.0) / 5.0;
-        p2_bpsk[0].imag() = 0.0;
-        p2_bpsk[1].real() = -(sqrt(31.0) / 5.0);
-        p2_bpsk[1].imag() = 0.0;
-        p2_bpsk_inverted[0].real() = -(sqrt(31.0) / 5.0);
-        p2_bpsk_inverted[0].imag() = 0.0;
-        p2_bpsk_inverted[1].real() = sqrt(31.0) / 5.0;
-        p2_bpsk_inverted[1].imag() = 0.0;
+        p2_bpsk[0] = gr_complex(std::sqrt(31.0) / 5.0, 0.0);
+        p2_bpsk[1] = gr_complex(-(std::sqrt(31.0) / 5.0), 0.0);
+        p2_bpsk_inverted[0] = gr_complex(-(std::sqrt(31.0) / 5.0), 0.0);
+        p2_bpsk_inverted[1] = gr_complex(std::sqrt(31.0) / 5.0, 0.0);
       }
-      normalization = 5.0 / sqrt(27.0 * C_PS);
+      normalization = 5.0 / std::sqrt(27.0 * C_PS);
       switch (bandwidth) {
         case BANDWIDTH_1_7_MHZ:
           fs = 131.0 * 1000000.0 / 71.0;
@@ -1185,15 +1121,13 @@ namespace gr {
           sinc = sin(x) / x;
         }
         sincrms += sinc * sinc;
-        inverse_sinc[i + (vlength / 2)].real() = 1.0 / sinc;
-        inverse_sinc[i + (vlength / 2)].imag() = 0.0;
-        inverse_sinc[(vlength / 2) - i - 1].real() = 1.0 / sinc;
-        inverse_sinc[(vlength / 2) - i - 1].imag() = 0.0;
+        inverse_sinc[i + (vlength / 2)] = gr_complex(1.0 / sinc, 0.0);
+        inverse_sinc[(vlength / 2) - i - 1] = gr_complex(1.0 / sinc, 0.0);
         f = f + fstep;
       }
-      sincrms = sqrt(sincrms / (vlength / 2));
+      sincrms = std::sqrt(sincrms / (vlength / 2));
       for (int i = 0; i < vlength; i++) {
-        inverse_sinc[i].real() *= sincrms;
+        inverse_sinc[i] *= sincrms;
       }
       equalization_enable = equalization;
       ofdm_fft_size = vlength;
@@ -2750,8 +2684,7 @@ namespace gr {
       gr_complex *dst;
       int L_FC = 0;
 
-      zero.real() = 0.0;
-      zero.imag() = 0.0;
+      zero = gr_complex(0.0, 0.0);
       if (N_FC != 0) {
         L_FC = 1;
       }
@@ -3372,4 +3305,3 @@ namespace gr {
 
   } /* namespace dtv */
 } /* namespace gr */
-



reply via email to

[Prev in Thread] Current Thread [Next in Thread]