From c7fca756d4f880cfeea7c4b4b3319203ae7d6e90 Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Sun, 8 May 2011 17:04:08 +0100 Subject: digital: fixing qa code; adding (untested) GRC block for DxPSK demods. --- gr-digital/grc/digital_dxpsk_demod.xml | 167 +++++++++++++++++++++++++++++++++ gr-digital/python/qa_costas_loop_cc.py | 1 - 2 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 gr-digital/grc/digital_dxpsk_demod.xml diff --git a/gr-digital/grc/digital_dxpsk_demod.xml b/gr-digital/grc/digital_dxpsk_demod.xml new file mode 100644 index 000000000..5e6dced22 --- /dev/null +++ b/gr-digital/grc/digital_dxpsk_demod.xml @@ -0,0 +1,167 @@ + + + + + + + DPSK Demod + digital_dxpsk_demod + from gnuradio import digital + digital.$(type)_demod( + samples_per_symbol=$samples_per_symbol, + excess_bw=$excess_bw, + costas_alpha=$costas_alpha, + timing_alpha=$timing_alpha, + timing_max_dev=$timing_max_dev, + gray_code=$gray_code, + verbose=$verbose, + log=$log, + sync_out=$sync_out, +) + clock_recov.set_alpha($costas_alpha) + clock_recov.set_beta(0.25*$costas_alpha**2) + time_recov.set_alpha($timing_alpha) + + Type + type + enum + + + + + Samples/Symbol + samples_per_symbol + 2 + int + + + Excess BW + excess_bw + 0.35 + real + + + Costas Alpha + costas_alpha + 0.175 + real + + + Timing Alpha + timing_alpha + 0.100 + real + + + Timing Max Dev + timing_max_dev + 1.5 + real + + + Omega Relative Limit + omega_relative_limit + 0.005 + real + + + Gray Code + gray_code + True + bool + + + + + Verbose + verbose + False + bool + #if str($verbose) == 'False' then 'part' else 'none'# + + + + + Logging + log + False + bool + #if str($log) == 'False' then 'part' else 'none'# + + + + + Sync Out + sync_out + False + bool + + + + + in + complex + + + out + byte + + + sync + complex + 1 + + diff --git a/gr-digital/python/qa_costas_loop_cc.py b/gr-digital/python/qa_costas_loop_cc.py index 2d8ce6726..368704093 100644 --- a/gr-digital/python/qa_costas_loop_cc.py +++ b/gr-digital/python/qa_costas_loop_cc.py @@ -135,7 +135,6 @@ class test_digital(gr_unittest.TestCase): data = [2*rot*const[d] for d in data] N = 40 # settling time - data = [rot1*const[d] for d in data] # rotate to align with sync expected_result = data[N:] rot = cmath.exp(0.1j) # some small rotation -- cgit