Skip to content

Commit

Permalink
Replace complex literals by explicit constructions
Browse files Browse the repository at this point in the history
Construct gr::complex with {float re, float im} instead of relying on
complex literals, given that the latter may not work with Clang, as
reported in #28.

To reproduce the changes in this patch, use the following script:

cmd='sed -i '' \
    -e "s/(SQRT2_2 + SQRT2_2i)/{SQRT2_2, SQRT2_2}/g" \
    -e "s/(-SQRT2_2 - SQRT2_2i)/{-SQRT2_2, -SQRT2_2}/g" \
    -e "s/(-SQRT2_2 + SQRT2_2i)/{-SQRT2_2, SQRT2_2}/g" \
    -e "s/(SQRT2_2 - SQRT2_2i)/{SQRT2_2, -SQRT2_2}/g" \
    -e "s/(+SQRT2_2 + SQRT2_2i)/{SQRT2_2, SQRT2_2}/g" \
    -e "s/(-SQRT2_2 + SQRT2_2i)/{-SQRT2_2, SQRT2_2}/g" \
    -e "s/(+SQRT2_2 - SQRT2_2i)/{SQRT2_2, -SQRT2_2}/g" \
    -e "s/(-SQRT2_2 - SQRT2_2i)/{-SQRT2_2, -SQRT2_2}/g" \
    -e "s/(-1.0j)/{ 0, -1.0 }/g" \
    -e "s/(+1.0j)/{ 0, 1.0 }/g" \
    -e "s/1j/{ 0, 1.0 }/g" \
    $1 && clang-format -i $1'
find . -name *.h -path "./lib/*" -exec bash -c "$cmd" -- {} \;
find . -name *.cc -path "./lib/*" -exec bash -c "$cmd" -- {} \;
find . -name *.hh -path "./lib/*" -exec bash -c "$cmd" -- {} \;
find . -name *.cc -path "./bench/*" -exec bash -c "$cmd" -- {} \;
  • Loading branch information
igorauad committed Jul 7, 2023
1 parent 365936f commit c079787
Show file tree
Hide file tree
Showing 7 changed files with 133 additions and 131 deletions.
142 changes: 71 additions & 71 deletions bench/cpu/benchmark.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,28 @@ BENCHMARK(BM_map_bpsk);
static void BM_demap_bpsk(benchmark::State& state)
{
std::vector<gr_complex> bpsk = {
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i)
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }
};

for (auto _ : state) {
Expand All @@ -50,29 +50,29 @@ BENCHMARK(BM_demap_bpsk);
static void BM_demap_bpsk_diff(benchmark::State& state)
{
std::vector<gr_complex> bpsk = {
(-SQRT2_2 + SQRT2_2i), // last SOF symbol
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i)
{ -SQRT2_2, SQRT2_2 }, // last SOF symbol
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }
};

for (auto _ : state) {
Expand All @@ -84,28 +84,28 @@ BENCHMARK(BM_demap_bpsk_diff);
static void BM_derotate_bpsk(benchmark::State& state)
{
std::vector<gr_complex> pi2_bpsk = {
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i),
(-SQRT2_2 - SQRT2_2i), (SQRT2_2 - SQRT2_2i), (-SQRT2_2 - SQRT2_2i),
(SQRT2_2 - SQRT2_2i)
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 }, { SQRT2_2, -SQRT2_2 }, { -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 }
};
std::vector<float> bpsk(64);

Expand All @@ -120,10 +120,10 @@ static void BM_pl_descrambler(benchmark::State& state)
// Vector with arbitrary QPSK symbols and max length
int nsyms = MAX_PLFRAME_PAYLOAD;
std::vector<gr_complex> qpsk_syms(nsyms);
constexpr gr_complex qpsk_lut[4] = { (+SQRT2_2 + SQRT2_2i),
(-SQRT2_2 + SQRT2_2i),
(-SQRT2_2 - SQRT2_2i),
(+SQRT2_2 - SQRT2_2i) };
constexpr gr_complex qpsk_lut[4] = { { SQRT2_2, SQRT2_2 },
{ -SQRT2_2, SQRT2_2 },
{ -SQRT2_2, -SQRT2_2 },
{ SQRT2_2, -SQRT2_2 } };
for (int i = 0; i < nsyms; i++) {
qpsk_syms[i] = qpsk_lut[i % 4];
}
Expand Down
16 changes: 8 additions & 8 deletions lib/pi2_bpsk.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ void map_bpsk(uint64_t code, gr_complex* out, unsigned int N)
constexpr gr_complex pi2_bpsk_map[2][2] = {
// even index here (odd index mapping from the standard)
{
(SQRT2_2 + SQRT2_2i), // bit 0
(-SQRT2_2 - SQRT2_2i) // bit 1
{ SQRT2_2, SQRT2_2 }, // bit 0
{ -SQRT2_2, -SQRT2_2 } // bit 1
},
// odd index here (even index mapping from the standard)
{
(-SQRT2_2 + SQRT2_2i), // bit 0
(SQRT2_2 - SQRT2_2i) // bit 1
{ -SQRT2_2, SQRT2_2 }, // bit 0
{ SQRT2_2, -SQRT2_2 } // bit 1
}
};

Expand All @@ -55,8 +55,8 @@ uint64_t demap_bpsk(const gr_complex* in, unsigned int N)
* rotated pi/2 BPSK symbol.
*/
constexpr gr_complex rot[2] = {
(SQRT2_2 - SQRT2_2i), // rotation factor for even indexes
(-SQRT2_2 - SQRT2_2i) // rotation factor for odd indexes
{ SQRT2_2, -SQRT2_2 }, // rotation factor for even indexes
{ -SQRT2_2, -SQRT2_2 } // rotation factor for odd indexes
};

if (N > 64) {
Expand Down Expand Up @@ -182,8 +182,8 @@ void derotate_bpsk(const gr_complex* in, float* out, unsigned int N)
{
// Refer to the notes in the implementation of demap_bpsk.
constexpr gr_complex rot[2] = {
(SQRT2_2 - SQRT2_2i), // rotation factor for even indexes
(-SQRT2_2 - SQRT2_2i) // rotation factor for odd indexes
{ SQRT2_2, -SQRT2_2 }, // rotation factor for even indexes
{ -SQRT2_2, -SQRT2_2 } // rotation factor for odd indexes
};

if (N > 64) {
Expand Down
1 change: 0 additions & 1 deletion lib/pl_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@

// Math macros
#define SQRT2_2 0.7071067811865476
#define SQRT2_2i 0.7071067811865476j

namespace gr {
namespace dvbs2rx {
Expand Down
21 changes: 12 additions & 9 deletions lib/pl_frame_sync.cc
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,18 @@ frame_sync::frame_sync(int debug_level, uint8_t unlock_thresh)
{
/* SOF and PLSC matched filter (correlator) taps: the folded (or reversed)
* version of the target SOF and PLSC symbols */
d_sof_taps = { (-1.0j), (-1.0j), (-1.0j), (-1.0j), (+1.0j), (+1.0j), (+1.0j),
(+1.0j), (-1.0j), (+1.0j), (+1.0j), (+1.0j), (-1.0j), (+1.0j),
(+1.0j), (-1.0j), (-1.0j), (+1.0j), (-1.0j), (-1.0j), (+1.0j),
(-1.0j), (+1.0j), (+1.0j), (-1.0j) };
d_plsc_taps = { (-1.0j), (+1.0j), (+1.0j), (-1.0j), (-1.0j), (-1.0j), (+1.0j),
(-1.0j), (-1.0j), (+1.0j), (+1.0j), (+1.0j), (+1.0j), (+1.0j),
(-1.0j), (-1.0j), (-1.0j), (-1.0j), (+1.0j), (+1.0j), (-1.0j),
(+1.0j), (+1.0j), (-1.0j), (+1.0j), (-1.0j), (+1.0j), (-1.0j),
(+1.0j), (+1.0j), (-1.0j), (-1.0j) };
d_sof_taps = { { 0, -1.0 }, { 0, -1.0 }, { 0, -1.0 }, { 0, -1.0 }, { 0, 1.0 },
{ 0, 1.0 }, { 0, 1.0 }, { 0, 1.0 }, { 0, -1.0 }, { 0, 1.0 },
{ 0, 1.0 }, { 0, 1.0 }, { 0, -1.0 }, { 0, 1.0 }, { 0, 1.0 },
{ 0, -1.0 }, { 0, -1.0 }, { 0, 1.0 }, { 0, -1.0 }, { 0, -1.0 },
{ 0, 1.0 }, { 0, -1.0 }, { 0, 1.0 }, { 0, 1.0 }, { 0, -1.0 } };
d_plsc_taps = { { 0, -1.0 }, { 0, 1.0 }, { 0, 1.0 }, { 0, -1.0 }, { 0, -1.0 },
{ 0, -1.0 }, { 0, 1.0 }, { 0, -1.0 }, { 0, -1.0 }, { 0, 1.0 },
{ 0, 1.0 }, { 0, 1.0 }, { 0, 1.0 }, { 0, 1.0 }, { 0, -1.0 },
{ 0, -1.0 }, { 0, -1.0 }, { 0, -1.0 }, { 0, 1.0 }, { 0, 1.0 },
{ 0, -1.0 }, { 0, 1.0 }, { 0, 1.0 }, { 0, -1.0 }, { 0, 1.0 },
{ 0, -1.0 }, { 0, 1.0 }, { 0, -1.0 }, { 0, 1.0 }, { 0, 1.0 },
{ 0, -1.0 }, { 0, -1.0 } };
std::reverse(d_sof_taps.begin(), d_sof_taps.end());
std::reverse(d_plsc_taps.begin(), d_plsc_taps.end());
assert(d_sof_taps.size() == SOF_CORR_LEN);
Expand Down
Loading

0 comments on commit c079787

Please sign in to comment.