discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Bug in DBPSK blocks


From: Nick Foster
Subject: [Discuss-gnuradio] Bug in DBPSK blocks
Date: Tue, 3 Dec 2013 10:52:19 -0800

Hi all,

There's a bug in the block for the DBPSK modulator. The "differential" param isn't set to True in dbpsk_mod; it's just left to default, and differential defaults to False in the bpsk_mod block. So it really acts like a BPSK modulator. QPSK was the same. Here's a patch.

diff --git a/gr-digital/python/digital/bpsk.py b/gr-digital/python/digital/bpsk.py
index 57cf253..92f3254 100644
--- a/gr-digital/python/digital/bpsk.py
+++ b/gr-digital/python/digital/bpsk.py
@@ -117,7 +117,7 @@ class dbpsk_mod(bpsk_mod):
 
     def __init__(self, mod_code=None, *args, **kwargs):
 
-        super(dbpsk_mod, self).__init__(*args, **kwargs)
+        super(dbpsk_mod, self).__init__(differential=True, *args, **kwargs)
 
 # /////////////////////////////////////////////////////////////////////////////
 #                           DBPSK demodulator
@@ -139,7 +139,7 @@ class dbpsk_demod(bpsk_demod):
 
     def __init__(self, mod_code=None, *args, **kwargs):
 
-        super(dbpsk_demod, self).__init__(*args, **kwargs)
+        super(dbpsk_demod, self).__init__(differential=True, *args, **kwargs)
 
 #
 # Add these to the mod/demod registry
diff --git a/gr-digital/python/digital/qpsk.py b/gr-digital/python/digital/qpsk.py
index 859d981..1ed3357 100644
--- a/gr-digital/python/digital/qpsk.py
+++ b/gr-digital/python/digital/qpsk.py
@@ -149,7 +149,7 @@ class dqpsk_mod(qpsk_mod):
     __doc__ += shared_mod_args
 
     def __init__(self, mod_code=_def_mod_code, *args, **kwargs):
-        super(dqpsk_mod, self).__init__(mod_code,
+        super(dqpsk_mod, self).__init__(mod_code, True,
                                         *args, **kwargs)
 
 # /////////////////////////////////////////////////////////////////////////////
@@ -171,7 +171,7 @@ class dqpsk_demod(qpsk_demod):
     __doc__ += shared_demod_args
 
     def __init__(self, mod_code=_def_mod_code, *args, **kwargs):
-        super(dqpsk_demod, self).__init__(mod_code,
+        super(dqpsk_demod, self).__init__(mod_code, True,
                                           *args, **kwargs)
 
 #

Incidentally, I question the need for the DBPSK mod GRC block now that we have the generic PSK mod GRC block. Might make sense to deprecate it.

--n

reply via email to

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