summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnathan Corgan <jcorgan@corganenterprises.com>2012-06-07 09:59:44 -0700
committerJohnathan Corgan <jcorgan@corganenterprises.com>2012-06-07 09:59:44 -0700
commit0c5b464bf8cd97023d8ced153d14229186b23e8e (patch)
treee649de0749328bb357ec74780ab11779fdfb2173
parentddbaaabc927b2ecc18ad84a238fa3235001bc79b (diff)
core: remove gr_diff_encoder and gr_diff_decoder after move to gr-digital
-rw-r--r--gnuradio-core/src/lib/general/CMakeLists.txt2
-rw-r--r--gnuradio-core/src/lib/general/general.i4
-rw-r--r--gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc61
-rw-r--r--gnuradio-core/src/lib/general/gr_diff_decoder_bb.h53
-rw-r--r--gnuradio-core/src/lib/general/gr_diff_decoder_bb.i31
-rw-r--r--gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc62
-rw-r--r--gnuradio-core/src/lib/general/gr_diff_encoder_bb.h54
-rw-r--r--gnuradio-core/src/lib/general/gr_diff_encoder_bb.i31
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_diff_encoder.py86
-rw-r--r--gr-digital/lib/digital_constellation.cc4
-rwxr-xr-xgr-digital/python/qa_constellation.py4
-rw-r--r--grc/blocks/block_tree.xml3
-rw-r--r--grc/blocks/gr_diff_decoder_bb.xml25
-rw-r--r--grc/blocks/gr_diff_encoder_bb.xml25
14 files changed, 4 insertions, 441 deletions
diff --git a/gnuradio-core/src/lib/general/CMakeLists.txt b/gnuradio-core/src/lib/general/CMakeLists.txt
index e273187030..46a1a7ca85 100644
--- a/gnuradio-core/src/lib/general/CMakeLists.txt
+++ b/gnuradio-core/src/lib/general/CMakeLists.txt
@@ -194,8 +194,6 @@ set(gr_core_general_triple_threats
gr_cpm
gr_ctcss_squelch_ff
gr_decode_ccsds_27_fb
- gr_diff_decoder_bb
- gr_diff_encoder_bb
gr_diff_phasor_cc
gr_dpll_bb
gr_deinterleave
diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i
index a1f53f6dd9..66378ab1b4 100644
--- a/gnuradio-core/src/lib/general/general.i
+++ b/gnuradio-core/src/lib/general/general.i
@@ -99,8 +99,6 @@
#include <gr_test.h>
#include <gr_unpack_k_bits_bb.h>
#include <gr_diff_phasor_cc.h>
-#include <gr_diff_encoder_bb.h>
-#include <gr_diff_decoder_bb.h>
#include <gr_framer_sink_1.h>
#include <gr_multiply_cc.h>
#include <gr_multiply_ff.h>
@@ -207,8 +205,6 @@
%include "gr_test.i"
%include "gr_unpack_k_bits_bb.i"
%include "gr_diff_phasor_cc.i"
-%include "gr_diff_encoder_bb.i"
-%include "gr_diff_decoder_bb.i"
%include "gr_framer_sink_1.i"
%include "gr_multiply_cc.i"
%include "gr_multiply_ff.i"
diff --git a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc b/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc
deleted file mode 100644
index 74324a62ea..0000000000
--- a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2010 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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gr_diff_decoder_bb.h>
-#include <gr_io_signature.h>
-
-gr_diff_decoder_bb_sptr
-gr_make_diff_decoder_bb (unsigned int modulus)
-{
- return gnuradio::get_initial_sptr(new gr_diff_decoder_bb(modulus));
-}
-
-gr_diff_decoder_bb::gr_diff_decoder_bb (unsigned int modulus)
- : gr_sync_block ("diff_decoder_bb",
- gr_make_io_signature (1, 1, sizeof (unsigned char)),
- gr_make_io_signature (1, 1, sizeof (unsigned char))),
- d_modulus(modulus)
-{
- set_history(2); // need to look at two inputs
-}
-
-int
-gr_diff_decoder_bb::work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- const unsigned char *in = (const unsigned char *) input_items[0];
- unsigned char *out = (unsigned char *) output_items[0];
- in += 1; // ensure that in[-1] is valid
-
- unsigned modulus = d_modulus;
-
- for (int i = 0; i < noutput_items; i++){
- out[i] = (in[i] - in[i-1]) % modulus;
- }
-
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.h b/gnuradio-core/src/lib/general/gr_diff_decoder_bb.h
deleted file mode 100644
index c4ebbc4765..0000000000
--- a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 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.
- */
-
-#ifndef INCLUDED_GR_DIFF_DECODER_BB_H
-#define INCLUDED_GR_DIFF_DECODER_BB_H
-
-#include <gr_core_api.h>
-#include <gr_sync_block.h>
-
-class gr_diff_decoder_bb;
-typedef boost::shared_ptr<gr_diff_decoder_bb> gr_diff_decoder_bb_sptr;
-
-GR_CORE_API gr_diff_decoder_bb_sptr gr_make_diff_decoder_bb (unsigned int modulus);
-
-/*!
- * \brief y[0] = (x[0] - x[-1]) % M
- * \ingroup coding_blk
- *
- * Differential decoder
- */
-class GR_CORE_API gr_diff_decoder_bb : public gr_sync_block
-{
- friend GR_CORE_API gr_diff_decoder_bb_sptr gr_make_diff_decoder_bb (unsigned int modulus);
- gr_diff_decoder_bb(unsigned int modulus);
-
- unsigned int d_modulus;
-
- public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-};
-
-#endif
diff --git a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.i b/gnuradio-core/src/lib/general/gr_diff_decoder_bb.i
deleted file mode 100644
index 3dddb17c3e..0000000000
--- a/gnuradio-core/src/lib/general/gr_diff_decoder_bb.i
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 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.
- */
-
-GR_SWIG_BLOCK_MAGIC(gr,diff_decoder_bb)
-
-gr_diff_decoder_bb_sptr gr_make_diff_decoder_bb (unsigned int modulus);
-
-class gr_diff_decoder_bb : public gr_sync_block
-{
- private:
- gr_diff_decoder_bb (unsigned int modulus);
-};
diff --git a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc b/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc
deleted file mode 100644
index 98492c746e..0000000000
--- a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.cc
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2010 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.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gr_diff_encoder_bb.h>
-#include <gr_io_signature.h>
-
-gr_diff_encoder_bb_sptr
-gr_make_diff_encoder_bb (unsigned int modulus)
-{
- return gnuradio::get_initial_sptr(new gr_diff_encoder_bb(modulus));
-}
-
-gr_diff_encoder_bb::gr_diff_encoder_bb (unsigned int modulus)
- : gr_sync_block ("diff_encoder_bb",
- gr_make_io_signature (1, 1, sizeof (unsigned char)),
- gr_make_io_signature (1, 1, sizeof (unsigned char))),
- d_last_out(0), d_modulus(modulus)
-{
-}
-
-int
-gr_diff_encoder_bb::work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- const unsigned char *in = (const unsigned char *) input_items[0];
- unsigned char *out = (unsigned char *) output_items[0];
-
- unsigned last_out = d_last_out;
- unsigned modulus = d_modulus;
-
- for (int i = 0; i < noutput_items; i++){
- out[i] = (in[i] + last_out) % modulus;
- last_out = out[i];
- }
-
- d_last_out = last_out;
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.h b/gnuradio-core/src/lib/general/gr_diff_encoder_bb.h
deleted file mode 100644
index e98876b700..0000000000
--- a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 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.
- */
-
-#ifndef INCLUDED_GR_DIFF_ENCODER_BB_H
-#define INCLUDED_GR_DIFF_ENCODER_BB_H
-
-#include <gr_core_api.h>
-#include <gr_sync_block.h>
-
-class gr_diff_encoder_bb;
-typedef boost::shared_ptr<gr_diff_encoder_bb> gr_diff_encoder_bb_sptr;
-
-GR_CORE_API gr_diff_encoder_bb_sptr gr_make_diff_encoder_bb (unsigned int modulus);
-
-/*!
- * \brief y[0] = (x[0] + y[-1]) % M
- * \ingroup coding_blk
- *
- * Differential encoder
- */
-class GR_CORE_API gr_diff_encoder_bb : public gr_sync_block
-{
- friend GR_CORE_API gr_diff_encoder_bb_sptr gr_make_diff_encoder_bb (unsigned int modulus);
- gr_diff_encoder_bb(unsigned int modulus);
-
- unsigned int d_last_out;
- unsigned int d_modulus;
-
- public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-};
-
-#endif
diff --git a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.i b/gnuradio-core/src/lib/general/gr_diff_encoder_bb.i
deleted file mode 100644
index 96dadaca5b..0000000000
--- a/gnuradio-core/src/lib/general/gr_diff_encoder_bb.i
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 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.
- */
-
-GR_SWIG_BLOCK_MAGIC(gr,diff_encoder_bb)
-
-gr_diff_encoder_bb_sptr gr_make_diff_encoder_bb (unsigned int modulus);
-
-class gr_diff_encoder_bb : public gr_sync_block
-{
- private:
- gr_diff_encoder_bb (unsigned int modulus);
-};
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_diff_encoder.py b/gnuradio-core/src/python/gnuradio/gr/qa_diff_encoder.py
deleted file mode 100755
index c1fe2a7000..0000000000
--- a/gnuradio-core/src/python/gnuradio/gr/qa_diff_encoder.py
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2006,2007,2010 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.
-#
-
-from gnuradio import gr, gr_unittest
-import math
-import random
-
-def make_random_int_tuple(L, min, max):
- result = []
- for x in range(L):
- result.append(random.randint(min, max))
- return tuple(result)
-
-
-class test_diff_encoder (gr_unittest.TestCase):
-
- def setUp (self):
- self.tb = gr.top_block ()
-
- def tearDown (self):
- self.tb = None
-
- def test_diff_encdec_000(self):
- random.seed(0)
- modulus = 2
- src_data = make_random_int_tuple(1000, 0, modulus-1)
- expected_result = src_data
- src = gr.vector_source_b(src_data)
- enc = gr.diff_encoder_bb(modulus)
- dec = gr.diff_decoder_bb(modulus)
- dst = gr.vector_sink_b()
- self.tb.connect(src, enc, dec, dst)
- self.tb.run() # run the graph and wait for it to finish
- actual_result = dst.data() # fetch the contents of the sink
- self.assertEqual(expected_result, actual_result)
-
- def test_diff_encdec_001(self):
- random.seed(0)
- modulus = 4
- src_data = make_random_int_tuple(1000, 0, modulus-1)
- expected_result = src_data
- src = gr.vector_source_b(src_data)
- enc = gr.diff_encoder_bb(modulus)
- dec = gr.diff_decoder_bb(modulus)
- dst = gr.vector_sink_b()
- self.tb.connect(src, enc, dec, dst)
- self.tb.run() # run the graph and wait for it to finish
- actual_result = dst.data() # fetch the contents of the sink
- self.assertEqual(expected_result, actual_result)
-
- def test_diff_encdec_002(self):
- random.seed(0)
- modulus = 8
- src_data = make_random_int_tuple(40000, 0, modulus-1)
- expected_result = src_data
- src = gr.vector_source_b(src_data)
- enc = gr.diff_encoder_bb(modulus)
- dec = gr.diff_decoder_bb(modulus)
- dst = gr.vector_sink_b()
- self.tb.connect(src, enc, dec, dst)
- self.tb.run() # run the graph and wait for it to finish
- actual_result = dst.data() # fetch the contents of the sink
- self.assertEqual(expected_result, actual_result)
-
-if __name__ == '__main__':
- gr_unittest.run(test_diff_encoder, "test_diff_encoder.xml")
-
diff --git a/gr-digital/lib/digital_constellation.cc b/gr-digital/lib/digital_constellation.cc
index d9a53c4930..383c73c30d 100644
--- a/gr-digital/lib/digital_constellation.cc
+++ b/gr-digital/lib/digital_constellation.cc
@@ -466,8 +466,8 @@ digital_make_constellation_dqpsk()
digital_constellation_dqpsk::digital_constellation_dqpsk ()
{
// This constellation is not gray coded, which allows
- // us to use differential encodings (through gr_diff_encode and
- // gr_diff_decode) on the symbols.
+ // us to use differential encodings (through digital_diff_encode and
+ // digital_diff_decode) on the symbols.
d_constellation.resize(4);
d_constellation[0] = gr_complex(+SQRT_TWO, +SQRT_TWO);
d_constellation[1] = gr_complex(-SQRT_TWO, +SQRT_TWO);
diff --git a/gr-digital/python/qa_constellation.py b/gr-digital/python/qa_constellation.py
index f132c4d614..89ada949e0 100755
--- a/gr-digital/python/qa_constellation.py
+++ b/gr-digital/python/qa_constellation.py
@@ -170,7 +170,7 @@ class mod_demod(gr.hier_block2):
self.blocks.append(digital_swig.map_bb(self.constellation.pre_diff_code()))
# Differential encoding.
if self.differential:
- self.blocks.append(gr.diff_encoder_bb(arity))
+ self.blocks.append(digital_swig.diff_encoder_bb(arity))
# Convert to constellation symbols.
self.blocks.append(digital_swig.chunks_to_symbols_bc(self.constellation.points(),
self.constellation.dimensionality()))
@@ -184,7 +184,7 @@ class mod_demod(gr.hier_block2):
self.blocks.append(digital_swig.constellation_decoder_cb(self.constellation.base()))
# Differential decoding.
if self.differential:
- self.blocks.append(gr.diff_decoder_bb(arity))
+ self.blocks.append(digital_swig.diff_decoder_bb(arity))
# Decode any pre-differential coding.
if self.constellation.apply_pre_diff_code():
self.blocks.append(digital_swig.map_bb(
diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml
index 6f334f5383..e1071723e4 100644
--- a/grc/blocks/block_tree.xml
+++ b/grc/blocks/block_tree.xml
@@ -193,9 +193,6 @@
<block>gr_diff_phasor_cc</block>
- <block>gr_diff_encoder_bb</block>
- <block>gr_diff_decoder_bb</block>
-
<block>blks2_wfm_tx</block>
<block>blks2_wfm_rcv</block>
<block>blks2_wfm_rcv_pll</block>
diff --git a/grc/blocks/gr_diff_decoder_bb.xml b/grc/blocks/gr_diff_decoder_bb.xml
deleted file mode 100644
index ea7cf17343..0000000000
--- a/grc/blocks/gr_diff_decoder_bb.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-##Differential Decoder
-###################################################
- -->
-<block>
- <name>Differential Decoder</name>
- <key>gr_diff_decoder_bb</key>
- <import>from gnuradio import gr</import>
- <make>gr.diff_decoder_bb($modulus)</make>
- <param>
- <name>Modulus</name>
- <key>modulus</key>
- <type>int</type>
- </param>
- <sink>
- <name>in</name>
- <type>byte</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- </source>
-</block>
diff --git a/grc/blocks/gr_diff_encoder_bb.xml b/grc/blocks/gr_diff_encoder_bb.xml
deleted file mode 100644
index 21241eac22..0000000000
--- a/grc/blocks/gr_diff_encoder_bb.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-##Differential Encoder
-###################################################
- -->
-<block>
- <name>Differential Encoder</name>
- <key>gr_diff_encoder_bb</key>
- <import>from gnuradio import gr</import>
- <make>gr.diff_encoder_bb($modulus)</make>
- <param>
- <name>Modulus</name>
- <key>modulus</key>
- <type>int</type>
- </param>
- <sink>
- <name>in</name>
- <type>byte</type>
- </sink>
- <source>
- <name>out</name>
- <type>byte</type>
- </source>
-</block>