[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 04/05: digital: fixed differential handling
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 04/05: digital: fixed differential handling for dpsk mod/demod blocks. Also fixed docs. |
Date: |
Fri, 7 Mar 2014 17:52:50 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
trondeau pushed a commit to branch maint
in repository gnuradio.
commit 699a3cf309b422b5fccc02d0a27214a9a09f0e08
Author: Jakub Zy <address@hidden>
Date: Fri Mar 7 09:15:06 2014 -0500
digital: fixed differential handling for dpsk mod/demod blocks. Also fixed
docs.
---
gr-digital/python/digital/bpsk.py | 47 +++++++++++++++++++-------------------
gr-digital/python/digital/qpsk.py | 48 +++++++++++++++++++++------------------
2 files changed, 49 insertions(+), 46 deletions(-)
diff --git a/gr-digital/python/digital/bpsk.py
b/gr-digital/python/digital/bpsk.py
index 92f3254..2ecaac3 100644
--- a/gr-digital/python/digital/bpsk.py
+++ b/gr-digital/python/digital/bpsk.py
@@ -1,23 +1,23 @@
#
# Copyright 2005,2006,2011 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU Radio
-#
+#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
-#
+#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
-#
+#
"""
BPSK modulation and demodulation.
@@ -46,12 +46,11 @@ def bpsk_constellation():
class bpsk_mod(generic_mod):
"""
Hierarchical block for RRC-filtered BPSK modulation.
-
+
The input is a byte stream (unsigned char) and the
output is the complex modulated signal at baseband.
-
-
- Args:
+
+ Args:
mod_code: Argument is not used. It exists purely to simplify
generation of the block in grc.
differential: Whether to use differential encoding (boolean).
"""
@@ -72,14 +71,14 @@ class bpsk_mod(generic_mod):
class bpsk_demod(generic_demod):
"""
- Hierarchical block for RRC-filtered BPSK modulation.
-
- The input is a byte stream (unsigned char) and the
- output is the complex modulated signal at baseband.
+ Hierarchical block for RRC-filtered BPSK demodulation.
+
+ The input is the complex modulated signal at baseband and the
+ output is a stream of bits packed 1 bit per byte (LSB)
- Args:
+ Args:
mod_code: Argument is not used. It exists purely to simplify
generation of the block in grc.
- differential: whether to use differential encoding (boolean)
+ differential: whether to use differential encoding (boolean)
"""
# See generic_demod for additional arguments
__doc__ += shared_demod_args
@@ -105,11 +104,11 @@ def dbpsk_constellation():
class dbpsk_mod(bpsk_mod):
"""
Hierarchical block for RRC-filtered DBPSK modulation.
-
+
The input is a byte stream (unsigned char) and the
output is the complex modulated signal at baseband.
-
- Args:
+
+ Args:
mod_code: Argument is not used. It exists purely to simplify
generation of the block in grc.
"""
# See generic_mod for additional arguments
@@ -126,12 +125,12 @@ class dbpsk_mod(bpsk_mod):
class dbpsk_demod(bpsk_demod):
"""
- Hierarchical block for RRC-filtered DBPSK modulation.
-
- The input is a byte stream (unsigned char) and the
- output is the complex modulated signal at baseband.
-
- Args:
+ Hierarchical block for RRC-filtered DBPSK demodulation.
+
+ The input is the complex modulated signal at baseband and the
+ output is a stream of bits packed 1 bit per byte (LSB)
+
+ Args:
mod_code: Argument is not used. It exists purely to simplify
generation of the block in grc.
"""
# See generic_demod for additional arguments
diff --git a/gr-digital/python/digital/qpsk.py
b/gr-digital/python/digital/qpsk.py
index 1ed3357..c5230ef 100644
--- a/gr-digital/python/digital/qpsk.py
+++ b/gr-digital/python/digital/qpsk.py
@@ -1,23 +1,23 @@
#
# Copyright 2005,2006,2011 Free Software Foundation, Inc.
-#
+#
# This file is part of GNU Radio
-#
+#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
-#
+#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.
-#
+#
"""
QPSK modulation.
@@ -39,7 +39,7 @@ _def_mod_code = mod_codes.GRAY_CODE
# QPSK constellation
# /////////////////////////////////////////////////////////////////////////////
-def qpsk_constellation(mod_code=_def_mod_code):
+def qpsk_constellation(mod_code=_def_mod_code):
"""
Creates a QPSK constellation.
"""
@@ -54,17 +54,17 @@ def qpsk_constellation(mod_code=_def_mod_code):
class qpsk_mod(generic_mod):
"""
Hierarchical block for RRC-filtered QPSK modulation.
-
+
The input is a byte stream (unsigned char) and the
output is the complex modulated signal at baseband.
-
+
Args:
mod_code: Whether to use a gray_code (digital.mod_codes.GRAY_CODE) or
not (digital.mod_codes.NO_CODE).
differential: Whether to use differential encoding (boolean).
"""
# See generic_mod for additional arguments
__doc__ += shared_mod_args
-
+
def __init__(self, mod_code=_def_mod_code, differential=False, *args,
**kwargs):
pre_diff_code = True
if not differential:
@@ -77,8 +77,9 @@ class qpsk_mod(generic_mod):
raise ValueError("That mod_code is not supported for DQPSK
mod/demod.")
if mod_code == mod_codes.NO_CODE:
pre_diff_code = False
-
+
super(qpsk_mod, self).__init__(constellation=constellation,
+ differential=differential,
pre_diff_code=pre_diff_code,
*args, **kwargs)
@@ -90,11 +91,11 @@ class qpsk_mod(generic_mod):
class qpsk_demod(generic_demod):
"""
- Hierarchical block for RRC-filtered QPSK modulation.
-
- The input is a byte stream (unsigned char) and the
- output is the complex modulated signal at baseband.
-
+ Hierarchical block for RRC-filtered QPSK demodulation.
+
+ The input is the complex modulated signal at baseband and the
+ output is a stream of bits packed 1 bit per byte (LSB)
+
Args:
mod_code: Whether to use a gray_code (digital.mod_codes.GRAY_CODE) or
not (digital.mod_codes.NO_CODE).
differential: Whether to use differential encoding (boolean).
@@ -117,6 +118,7 @@ class qpsk_demod(generic_demod):
pre_diff_code = False
super(qpsk_demod, self).__init__(constellation=constellation,
+ differential=differential,
pre_diff_code=pre_diff_code,
*args, **kwargs)
@@ -138,7 +140,7 @@ def dqpsk_constellation(mod_code=_def_mod_code):
class dqpsk_mod(qpsk_mod):
"""
Hierarchical block for RRC-filtered DQPSK modulation.
-
+
The input is a byte stream (unsigned char) and the
output is the complex modulated signal at baseband.
@@ -149,7 +151,8 @@ 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, True,
+ super(dqpsk_mod, self).__init__(mod_code=mod_code,
+ differential=True,
*args, **kwargs)
# /////////////////////////////////////////////////////////////////////////////
@@ -159,10 +162,10 @@ class dqpsk_mod(qpsk_mod):
class dqpsk_demod(qpsk_demod):
"""
- Hierarchical block for RRC-filtered DQPSK modulation.
-
- The input is a byte stream (unsigned char) and the
- output is the complex modulated signal at baseband.
+ Hierarchical block for RRC-filtered DQPSK demodulation.
+
+ The input is the complex modulated signal at baseband and the
+ output is a stream of bits packed 1 bit per byte (LSB)
Args:
mod_code: Whether to use a gray_code (digital.mod_codes.GRAY_CODE) or
not (digital.mod_codes.NO_CODE).
@@ -171,7 +174,8 @@ 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, True,
+ super(dqpsk_demod, self).__init__(mod_code=mod_code,
+ differential=True,
*args, **kwargs)
#