summaryrefslogtreecommitdiff
path: root/gr-atsc/include/gnuradio/atsc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-atsc/include/gnuradio/atsc')
-rw-r--r--gr-atsc/include/gnuradio/atsc/CMakeLists.txt76
-rw-r--r--gr-atsc/include/gnuradio/atsc/GrAtscSegSymSyncImpl_export.h26
-rw-r--r--gr-atsc/include/gnuradio/atsc/api.h33
-rw-r--r--gr-atsc/include/gnuradio/atsc/basic_trellis_encoder_impl.h62
-rw-r--r--gr-atsc/include/gnuradio/atsc/bit_timing_loop.h89
-rw-r--r--gr-atsc/include/gnuradio/atsc/consts.h42
-rw-r--r--gr-atsc/include/gnuradio/atsc/convolutional_interleaver.h126
-rw-r--r--gr-atsc/include/gnuradio/atsc/create_atsci_equalizer.h34
-rw-r--r--gr-atsc/include/gnuradio/atsc/create_atsci_fs_checker.h36
-rw-r--r--gr-atsc/include/gnuradio/atsc/create_atsci_fs_correlator.h36
-rw-r--r--gr-atsc/include/gnuradio/atsc/data_interleaver_impl.h65
-rw-r--r--gr-atsc/include/gnuradio/atsc/deinterleaver.h58
-rw-r--r--gr-atsc/include/gnuradio/atsc/depad.h54
-rw-r--r--gr-atsc/include/gnuradio/atsc/derandomizer.h57
-rw-r--r--gr-atsc/include/gnuradio/atsc/diag_output_impl.h29
-rw-r--r--gr-atsc/include/gnuradio/atsc/ds_to_softds.h60
-rw-r--r--gr-atsc/include/gnuradio/atsc/equalizer.h71
-rw-r--r--gr-atsc/include/gnuradio/atsc/equalizer_impl.h169
-rw-r--r--gr-atsc/include/gnuradio/atsc/equalizer_lms2_impl.h80
-rw-r--r--gr-atsc/include/gnuradio/atsc/equalizer_lms_impl.h79
-rw-r--r--gr-atsc/include/gnuradio/atsc/equalizer_nop_impl.h63
-rw-r--r--gr-atsc/include/gnuradio/atsc/fake_single_viterbi_impl.h52
-rw-r--r--gr-atsc/include/gnuradio/atsc/field_sync_demux.h76
-rw-r--r--gr-atsc/include/gnuradio/atsc/field_sync_mux.h68
-rw-r--r--gr-atsc/include/gnuradio/atsc/fpll.h82
-rw-r--r--gr-atsc/include/gnuradio/atsc/fs_checker.h64
-rw-r--r--gr-atsc/include/gnuradio/atsc/fs_checker_impl.h70
-rw-r--r--gr-atsc/include/gnuradio/atsc/fs_checker_naive_impl.h74
-rw-r--r--gr-atsc/include/gnuradio/atsc/fs_correlator_impl.h66
-rw-r--r--gr-atsc/include/gnuradio/atsc/fs_correlator_naive_impl.h70
-rw-r--r--gr-atsc/include/gnuradio/atsc/interleaver.h57
-rw-r--r--gr-atsc/include/gnuradio/atsc/interleaver_fifo.h86
-rw-r--r--gr-atsc/include/gnuradio/atsc/pad.h57
-rw-r--r--gr-atsc/include/gnuradio/atsc/pnXXX_impl.h26
-rw-r--r--gr-atsc/include/gnuradio/atsc/randomizer.h60
-rw-r--r--gr-atsc/include/gnuradio/atsc/randomizer_impl.h97
-rw-r--r--gr-atsc/include/gnuradio/atsc/reed_solomon_impl.h57
-rw-r--r--gr-atsc/include/gnuradio/atsc/rs_decoder.h58
-rw-r--r--gr-atsc/include/gnuradio/atsc/rs_encoder.h58
-rw-r--r--gr-atsc/include/gnuradio/atsc/single_viterbi_impl.h58
-rw-r--r--gr-atsc/include/gnuradio/atsc/slicer_agc_impl.h69
-rw-r--r--gr-atsc/include/gnuradio/atsc/sliding_correlator_impl.h86
-rw-r--r--gr-atsc/include/gnuradio/atsc/sssr_impl.h241
-rw-r--r--gr-atsc/include/gnuradio/atsc/syminfo_impl.h58
-rw-r--r--gr-atsc/include/gnuradio/atsc/sync_tag_impl.h56
-rw-r--r--gr-atsc/include/gnuradio/atsc/trellis_encoder.h57
-rw-r--r--gr-atsc/include/gnuradio/atsc/trellis_encoder_impl.h67
-rw-r--r--gr-atsc/include/gnuradio/atsc/types.h238
-rw-r--r--gr-atsc/include/gnuradio/atsc/viterbi_decoder.h62
-rw-r--r--gr-atsc/include/gnuradio/atsc/viterbi_decoder_impl.h84
50 files changed, 0 insertions, 3599 deletions
diff --git a/gr-atsc/include/gnuradio/atsc/CMakeLists.txt b/gr-atsc/include/gnuradio/atsc/CMakeLists.txt
deleted file mode 100644
index 342f55c03d..0000000000
--- a/gr-atsc/include/gnuradio/atsc/CMakeLists.txt
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 2013 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.
-
-########################################################################
-# Install header files
-########################################################################
-install(FILES
- api.h
- basic_trellis_encoder_impl.h
- bit_timing_loop.h
- consts.h
- convolutional_interleaver.h
- create_atsci_equalizer.h
- create_atsci_fs_checker.h
- create_atsci_fs_correlator.h
- data_interleaver_impl.h
- deinterleaver.h
- depad.h
- derandomizer.h
- diag_output_impl.h
- ds_to_softds.h
- equalizer.h
- equalizer_impl.h
- equalizer_lms2_impl.h
- equalizer_lms_impl.h
- equalizer_nop_impl.h
- fake_single_viterbi_impl.h
- field_sync_demux.h
- field_sync_mux.h
- fpll.h
- fs_checker.h
- fs_checker_impl.h
- fs_checker_naive_impl.h
- fs_correlator_impl.h
- fs_correlator_naive_impl.h
- GrAtscSegSymSyncImpl_export.h
- interleaver_fifo.h
- interleaver.h
- pad.h
- pnXXX_impl.h
- randomizer.h
- randomizer_impl.h
- reed_solomon_impl.h
- rs_decoder.h
- rs_encoder.h
- single_viterbi_impl.h
- slicer_agc_impl.h
- sliding_correlator_impl.h
- sssr_impl.h
- syminfo_impl.h
- sync_tag_impl.h
- trellis_encoder.h
- trellis_encoder_impl.h
- types.h
- viterbi_decoder.h
- viterbi_decoder_impl.h
- DESTINATION ${GR_INCLUDE_DIR}/gnuradio/atsc
- COMPONENT "atsc_devel"
-)
-
diff --git a/gr-atsc/include/gnuradio/atsc/GrAtscSegSymSyncImpl_export.h b/gr-atsc/include/gnuradio/atsc/GrAtscSegSymSyncImpl_export.h
deleted file mode 100644
index 187f1a0395..0000000000
--- a/gr-atsc/include/gnuradio/atsc/GrAtscSegSymSyncImpl_export.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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.
- */
-
-class GrAtscSegSymSync;
-
-GrAtscSegSymSync *create_GrAtscSegSymSyncImpl (
- double nominal_ratio_of_rx_clock_to_symbol_freq);
diff --git a/gr-atsc/include/gnuradio/atsc/api.h b/gr-atsc/include/gnuradio/atsc/api.h
deleted file mode 100644
index 1c1f257059..0000000000
--- a/gr-atsc/include/gnuradio/atsc/api.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 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.
- */
-
-#ifndef INCLUDED_ATSC_API_H
-#define INCLUDED_ATSC_API_H
-
-#include <gnuradio/attributes.h>
-
-#ifdef gnuradio_atsc_EXPORTS
-# define ATSC_API __GR_ATTR_EXPORT
-#else
-# define ATSC_API __GR_ATTR_IMPORT
-#endif
-
-#endif /* INCLUDED_ATSC_API_H */
diff --git a/gr-atsc/include/gnuradio/atsc/basic_trellis_encoder_impl.h b/gr-atsc/include/gnuradio/atsc/basic_trellis_encoder_impl.h
deleted file mode 100644
index 665a0f9ebf..0000000000
--- a/gr-atsc/include/gnuradio/atsc/basic_trellis_encoder_impl.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_BASIC_TRELLIS_ENCODER_H_
-#define _ATSC_BASIC_TRELLIS_ENCODER_H_
-
-#include <gnuradio/atsc/api.h>
-#include <assert.h>
-
-/*!
- * \brief ATSC trellis encoder building block.
- *
- * Note this is NOT the 12x interleaved interface.
- *
- * This implements a single instance of the ATSC trellis encoder.
- * This is a rate 2/3 encoder (really a constraint length 3, rate 1/2
- * encoder with the top bit passed through unencoded. This does not
- * implement the "precoding" of the top bit, because the NTSC rejection
- * filter is not supported.
- */
-
-class ATSC_API atsci_basic_trellis_encoder {
-
-private:
- int state; // two bit state;
-
-public:
- atsci_basic_trellis_encoder () : state (0) {}
-
- /*!
- * Encode two bit INPUT into 3 bit return value. Domain is [0,3],
- * Range is [0,7]. The mapping to bipolar levels is not done.
- */
- int encode (unsigned int input);
-
- //! reset encoder state
- void reset () { state = 0; }
-
- static const unsigned char next_state[32];
- static const unsigned char out_symbol[32];
-};
-
-#endif /* _ATSC_BASIC_TRELLIS_ENCODER_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/bit_timing_loop.h b/gr-atsc/include/gnuradio/atsc/bit_timing_loop.h
deleted file mode 100644
index 9965ade81d..0000000000
--- a/gr-atsc/include/gnuradio/atsc/bit_timing_loop.h
+++ /dev/null
@@ -1,89 +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_ATSC_BIT_TIMING_LOOP_H
-#define INCLUDED_ATSC_BIT_TIMING_LOOP_H
-
-#include <gnuradio/atsc/api.h>
-#include <cstdio>
-#include <gnuradio/block.h>
-#include <gnuradio/atsc/diag_output_impl.h>
-#include <gnuradio/atsc/sssr_impl.h>
-#include <gnuradio/atsc/syminfo_impl.h>
-
-class atsc_bit_timing_loop;
-typedef boost::shared_ptr<atsc_bit_timing_loop> atsc_bit_timing_loop_sptr;
-
-ATSC_API atsc_bit_timing_loop_sptr atsc_make_bit_timing_loop();
-
-/*!
- * \brief ATSC BitTimingLoop3
- * \ingroup atsc
- *
- * This class accepts a single real input and produces two outputs,
- * the raw symbol (float) and the tag (atsc_syminfo)
- */
-class ATSC_API atsc_bit_timing_loop : public gr::block
-{
- friend ATSC_API atsc_bit_timing_loop_sptr atsc_make_bit_timing_loop();
-
- atsc_bit_timing_loop();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-
- ~atsc_bit_timing_loop () { };
-
- void forecast (int noutput_items, gr_vector_int &ninput_items_required);
-
- int general_work (int noutput_items,
- gr_vector_int &ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
-
- // debug (NOPs)
- void set_mu (double a_mu) { }
- void set_no_update (bool a_no_update) { }
- void set_loop_filter_tap (double tap) { }
- void set_timing_rate (double rate) { }
-
-
- protected:
-
- atsci_sssr d_sssr;
- atsci_interpolator d_interp;
- unsigned long long d_next_input;
- double d_rx_clock_to_symbol_freq;
- int d_si;
-
-
-};
-
-#endif /* INCLUDED_ATSC_BIT_TIMING_LOOP_H */
-
-
-
diff --git a/gr-atsc/include/gnuradio/atsc/consts.h b/gr-atsc/include/gnuradio/atsc/consts.h
deleted file mode 100644
index bbe2ec69aa..0000000000
--- a/gr-atsc/include/gnuradio/atsc/consts.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_CONSTS_H_
-#define _ATSC_CONSTS_H_
-
-static const double ATSC_SYMBOL_RATE = 4.5e6 / 286 * 684; // ~10.76 MHz
-static const double ATSC_DATA_SEGMENT_RATE = ATSC_SYMBOL_RATE / 832; // ~12.935 kHz
-
-
-static const int ATSC_MPEG_DATA_LENGTH = 187;
-static const int ATSC_MPEG_PKT_LENGTH = 188; // sync + data
-static const int ATSC_MPEG_RS_ENCODED_LENGTH = 207;
-static const int ATSC_DATA_SEGMENT_LENGTH = 832; // includes 4 sync symbols at beginning
-static const int ATSC_DSEGS_PER_FIELD = 312; // regular data segs / field
-
-
-static const int MPEG_SYNC_BYTE = 0x47;
-
-static const int MPEG_TRANSPORT_ERROR_BIT = 0x80; // top bit of byte after SYNC
-
-
-#endif // _ATSC_CONSTS_H_
diff --git a/gr-atsc/include/gnuradio/atsc/convolutional_interleaver.h b/gr-atsc/include/gnuradio/atsc/convolutional_interleaver.h
deleted file mode 100644
index 02c0c4dc44..0000000000
--- a/gr-atsc/include/gnuradio/atsc/convolutional_interleaver.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _CONVOLUTIONAL_INTERLEAVER_H_
-#define _CONVOLUTIONAL_INTERLEAVER_H_
-
-#include <vector>
-#include <gnuradio/atsc/interleaver_fifo.h>
-#include <assert.h>
-
-/*!
- * \brief template class for generic convolutional interleaver
- */
-
-template<class symbol_type>
-class convolutional_interleaver {
- public:
-
- convolutional_interleaver (bool interleave_p, int nbanks, int fifo_size_incr);
- virtual ~convolutional_interleaver ();
-
- //! reset interleaver (flushes contents and resets commutator)
- void reset ();
-
- //! sync interleaver (resets commutator, but doesn't flush fifos)
- void sync () { m_commutator = 0; }
-
- //! return end to end delay in symbols (delay through concatenated interleaver / deinterleaver)
- int end_to_end_delay ();
-
- //! transform a single symbol
- symbol_type transform (symbol_type input){
- symbol_type retval = m_fifo[m_commutator]->stuff (input);
- m_commutator++;
- if (m_commutator >= m_nbanks)
- m_commutator = 0;
- return retval;
- }
-
- //! transform a bunch of symbols
- void transform (symbol_type *out, const symbol_type *in, int nsymbols);
-
-protected:
- int m_commutator;
- int m_nbanks;
- int m_fifo_size_incr;
- std::vector<interleaver_fifo<symbol_type> *> m_fifo;
-};
-
-template<class symbol_type>
-convolutional_interleaver<symbol_type>::convolutional_interleaver (
- bool interleave_p,
- int nbanks,
- int fifo_size_incr)
-{
- assert (nbanks >= 1);
- assert (fifo_size_incr >= 1);
-
- m_nbanks = nbanks;
- m_fifo_size_incr = fifo_size_incr;
-
- m_fifo.resize (nbanks);
-
- if (interleave_p){ // configure as interleaver
- for (int i = 0; i < nbanks; i++)
- m_fifo[i] = new interleaver_fifo<symbol_type>(i * fifo_size_incr);
- }
- else { // configure as de-interleaver
- for (int i = 0; i < nbanks; i++)
- m_fifo[nbanks - 1 - i] = new interleaver_fifo<symbol_type>(i * fifo_size_incr);
- }
- sync ();
-}
-
-template<class symbol_type>
-convolutional_interleaver<symbol_type>::~convolutional_interleaver ()
-{
- for (int i = 0; i < m_nbanks; i++)
- delete m_fifo[i];
-}
-
-template<class symbol_type> void
-convolutional_interleaver<symbol_type>::reset ()
-{
- sync ();
- for (int i = 0; i < m_nbanks; i++)
- m_fifo[i]->reset ();
-}
-
-template<class symbol_type> int
-convolutional_interleaver<symbol_type>::end_to_end_delay ()
-{
- int m = m_nbanks * m_fifo_size_incr;
- return m * (m_nbanks - 1);
-}
-
-template<class symbol_type> void
-convolutional_interleaver<symbol_type>::transform (symbol_type *out,
- const symbol_type *in,
- int nsymbols)
-{
- // we may want to unroll this a couple of times...
- for (int i = 0; i < nsymbols; i++)
- out[i] = transform (in[i]);
-}
-
-#endif /* _CONVOLUTIONAL_INTERLEAVER_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/create_atsci_equalizer.h b/gr-atsc/include/gnuradio/atsc/create_atsci_equalizer.h
deleted file mode 100644
index 63773a80bb..0000000000
--- a/gr-atsc/include/gnuradio/atsc/create_atsci_equalizer.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _CREATE_ATSC_EQUALIZER_H_
-#define _CREATE_ATSC_EQUALIZER_H_
-
-#include <gnuradio/atsc/api.h>
-
-class atsci_equalizer;
-
-ATSC_API atsci_equalizer *create_atsci_equalizer_nop ();
-ATSC_API atsci_equalizer *create_atsci_equalizer_lms ();
-ATSC_API atsci_equalizer *create_atsci_equalizer_lms2 ();
-
-#endif /* _CREATE_ATSC_EQUALIZER_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/create_atsci_fs_checker.h b/gr-atsc/include/gnuradio/atsc/create_atsci_fs_checker.h
deleted file mode 100644
index 73b0c7443f..0000000000
--- a/gr-atsc/include/gnuradio/atsc/create_atsci_fs_checker.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _CREATE_ATSC_FS_CHECKER_H_
-#define _CREATE_ATSC_FS_CHECKER_H_
-
-#include <gnuradio/atsc/api.h>
-
-class atsci_fs_checker;
-
-/*!
- * Factory that creates appropriate atsci_fs_checker
- */
-ATSC_API atsci_fs_checker *create_atsci_fs_checker ();
-
-
-#endif /* _CREATE_ATSC_FS_CHECKER_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/create_atsci_fs_correlator.h b/gr-atsc/include/gnuradio/atsc/create_atsci_fs_correlator.h
deleted file mode 100644
index dc6d81499f..0000000000
--- a/gr-atsc/include/gnuradio/atsc/create_atsci_fs_correlator.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _CREATE_ATSC_FS_CORRELATOR_H_
-#define _CREATE_ATSC_FS_CORRELATOR_H_
-
-#include <gnuradio/atsc/api.h>
-
-class atsci_fs_correlator;
-
-/*!
- * Factory that creates appropriate atsci_fs_correlator
- */
-ATSC_API atsci_fs_correlator *create_atsci_fs_correlator ();
-
-
-#endif /* _CREATE_ATSC_FS_CORRELATOR_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/data_interleaver_impl.h b/gr-atsc/include/gnuradio/atsc/data_interleaver_impl.h
deleted file mode 100644
index e44125864b..0000000000
--- a/gr-atsc/include/gnuradio/atsc/data_interleaver_impl.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_DATA_INTERLEAVER_H_
-#define _ATSC_DATA_INTERLEAVER_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/types.h>
-#include <gnuradio/atsc/convolutional_interleaver.h>
-
-/*!
- * \brief atsc convolutional data interleaver
- */
-class ATSC_API atsci_data_interleaver : public convolutional_interleaver<unsigned char> {
- public:
- atsci_data_interleaver () : convolutional_interleaver<unsigned char>(true, 52, 4) {}
-
- void interleave (atsc_mpeg_packet_rs_encoded &out,
- const atsc_mpeg_packet_rs_encoded &in);
-};
-
-/*!
- * \brief atsc convolutional data deinterleaver
- */
-class ATSC_API atsci_data_deinterleaver : public convolutional_interleaver<unsigned char> {
- public:
- atsci_data_deinterleaver () :
- convolutional_interleaver<unsigned char>(false, 52, 4), alignment_fifo (156) {}
-
- void deinterleave (atsc_mpeg_packet_rs_encoded &out,
- const atsc_mpeg_packet_rs_encoded &in);
-
-private:
- /*!
- * Note: The use of the alignment_fifo keeps the encoder and decoder
- * aligned if both are synced to a field boundary. There may be other
- * ways to implement this function. This is a best guess as to how
- * this should behave, as we have no test vectors for either the
- * interleaver or deinterleaver.
- */
- interleaver_fifo<unsigned char> alignment_fifo;
-
- static void remap_pli (plinfo &out, const plinfo &in);
-};
-
-#endif /* _ATSC_DATA_INTERLEAVER_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/deinterleaver.h b/gr-atsc/include/gnuradio/atsc/deinterleaver.h
deleted file mode 100644
index 22b5461aaf..0000000000
--- a/gr-atsc/include/gnuradio/atsc/deinterleaver.h
+++ /dev/null
@@ -1,58 +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_ATSC_DEINTERLEAVER_H
-#define INCLUDED_ATSC_DEINTERLEAVER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/data_interleaver_impl.h>
-
-class atsc_deinterleaver;
-typedef boost::shared_ptr<atsc_deinterleaver> atsc_deinterleaver_sptr;
-
-ATSC_API atsc_deinterleaver_sptr atsc_make_deinterleaver();
-
-/*!
- * \brief Deinterleave RS encoded ATSC data ( atsc_mpeg_packet_rs_encoded --> atsc_mpeg_packet_rs_encoded)
- * \ingroup atsc
- *
- * input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_rs_encoded
- */
-class ATSC_API atsc_deinterleaver : public gr::sync_block
-{
- friend ATSC_API atsc_deinterleaver_sptr atsc_make_deinterleaver();
-
- atsci_data_deinterleaver d_deinterleaver;
-
- atsc_deinterleaver();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-};
-
-
-#endif /* INCLUDED_ATSC_DEINTERLEAVER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/depad.h b/gr-atsc/include/gnuradio/atsc/depad.h
deleted file mode 100644
index 3a638c46fe..0000000000
--- a/gr-atsc/include/gnuradio/atsc/depad.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_ATSC_DEPAD_H
-#define INCLUDED_ATSC_DEPAD_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_interpolator.h>
-
-class atsc_depad;
-typedef boost::shared_ptr<atsc_depad> atsc_depad_sptr;
-
-ATSC_API atsc_depad_sptr atsc_make_depad();
-
-/*!
- * \brief depad mpeg ts packets from 256 byte atsc_mpeg_packet to 188 byte char
- * \ingroup atsc
- *
- * input: atsc_mpeg_packet; output: unsigned char
- */
-class ATSC_API atsc_depad : public gr::sync_interpolator
-{
- friend ATSC_API atsc_depad_sptr atsc_make_depad();
-
- atsc_depad();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-};
-
-
-#endif /* INCLUDED_ATSC_DEPAD_H */
diff --git a/gr-atsc/include/gnuradio/atsc/derandomizer.h b/gr-atsc/include/gnuradio/atsc/derandomizer.h
deleted file mode 100644
index 86eaca427c..0000000000
--- a/gr-atsc/include/gnuradio/atsc/derandomizer.h
+++ /dev/null
@@ -1,57 +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_ATSC_DERANDOMIZER_H
-#define INCLUDED_ATSC_DERANDOMIZER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/randomizer_impl.h>
-
-class atsc_derandomizer;
-typedef boost::shared_ptr<atsc_derandomizer> atsc_derandomizer_sptr;
-
-ATSC_API atsc_derandomizer_sptr atsc_make_derandomizer();
-
-/*!
- * \brief "dewhiten" incoming mpeg transport stream packets
- * \ingroup atsc
- *
- * input: atsc_mpeg_packet_no_sync; output: atsc_mpeg_packet;
- */
-class ATSC_API atsc_derandomizer : public gr::sync_block
-{
- friend ATSC_API atsc_derandomizer_sptr atsc_make_derandomizer();
-
- atsci_randomizer d_rand;
-
- atsc_derandomizer();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset();
-};
-
-
-#endif /* INCLUDED_ATSC_DERANDOMIZER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/diag_output_impl.h b/gr-atsc/include/gnuradio/atsc/diag_output_impl.h
deleted file mode 100644
index 09fd763d6a..0000000000
--- a/gr-atsc/include/gnuradio/atsc/diag_output_impl.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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.
- */
-
-/*
- * single place to control all compile time diagnostic output options
- */
-
-#define _BT_DIAG_OUTPUT_ 0
-#define _FPLL_DIAG_OUTPUT_ 0
-#define _SSSR_DIAG_OUTPUT_ 0
diff --git a/gr-atsc/include/gnuradio/atsc/ds_to_softds.h b/gr-atsc/include/gnuradio/atsc/ds_to_softds.h
deleted file mode 100644
index 197aafb7ad..0000000000
--- a/gr-atsc/include/gnuradio/atsc/ds_to_softds.h
+++ /dev/null
@@ -1,60 +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_ATSC_DS_TO_SOFTDS_H
-#define INCLUDED_ATSC_DS_TO_SOFTDS_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/types.h>
-
-class atsc_ds_to_softds;
-typedef boost::shared_ptr<atsc_ds_to_softds> atsc_ds_to_softds_sptr;
-
-ATSC_API atsc_ds_to_softds_sptr atsc_make_ds_to_softds();
-
-/*!
- * \brief Debug glue routine (atsc_data_segment --> atsc_soft_data_segment)
- * \ingroup atsc
- *
- * input: atsc_data_segment; output: atsc_soft_data_segment
- */
-class ATSC_API atsc_ds_to_softds : public gr::sync_block
-{
- friend ATSC_API atsc_ds_to_softds_sptr atsc_make_ds_to_softds();
-
- atsc_ds_to_softds();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void map_to_soft_symbols (atsc_soft_data_segment &out,
- const atsc_data_segment &in);
-
-
- void reset() { /* nop */ }
-};
-
-
-#endif /* INCLUDED_ATSC_DS_TO_SOFTDS_H */
diff --git a/gr-atsc/include/gnuradio/atsc/equalizer.h b/gr-atsc/include/gnuradio/atsc/equalizer.h
deleted file mode 100644
index 4e9103fb12..0000000000
--- a/gr-atsc/include/gnuradio/atsc/equalizer.h
+++ /dev/null
@@ -1,71 +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_ATSC_EQUALIZER_H
-#define INCLUDED_ATSC_EQUALIZER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/equalizer_impl.h>
-#include <vector>
-
-class atsc_equalizer;
-typedef boost::shared_ptr<atsc_equalizer> atsc_equalizer_sptr;
-
-atsc_equalizer_sptr ATSC_API atsc_make_equalizer();
-
-/*!
- * \brief ATSC equalizer (float,syminfo --> float,syminfo)
- * \ingroup atsc
- *
- * first inputs are data samples, second inputs are tags.
- * first outputs are equalized data samples, second outputs are tags.
- */
-class ATSC_API atsc_equalizer : public gr::sync_block
-{
- friend ATSC_API atsc_equalizer_sptr atsc_make_equalizer();
-
- atsc_equalizer();
-
-public:
- void forecast (int noutput_items, gr_vector_int &ninput_items_required);
-
- std::vector<double> taps() {
- return d_equalizer->taps();
- }
-
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-
- ~atsc_equalizer ();
-
-
-protected:
- atsci_equalizer *d_equalizer;
-
-};
-
-
-#endif /* INCLUDED_ATSC_EQUALIZER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/equalizer_impl.h b/gr-atsc/include/gnuradio/atsc/equalizer_impl.h
deleted file mode 100644
index a6d849b00f..0000000000
--- a/gr-atsc/include/gnuradio/atsc/equalizer_impl.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_EQUALIZER_H_
-#define _ATSC_EQUALIZER_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/syminfo_impl.h>
-#include <vector>
-
-/*!
- * \brief abstract base class for ATSC equalizer
- */
-class ATSC_API atsci_equalizer {
-
-private:
-
- /*
- * have we seen a field sync since the last reset or problem?
- */
- bool d_locked_p;
-
- /*
- * sample offset from the beginning of the last field sync we saw
- * to the beginning of our current input stream. When we're locked
- * this will be in [0, 313*832] i.e., [0, 260416]
- */
- int d_offset_from_last_field_sync;
-
- int d_current_field; // [0,1]
-
-
-public:
-
- // CREATORS
- atsci_equalizer ();
- virtual ~atsci_equalizer ();
-
- virtual std::vector<double> taps () {
- return std::vector<double>();
- }
-
- // MANIPULATORS
-
- /*!
- * \brief reset state (e.g., on channel change)
- *
- * Note, subclasses must invoke the superclass's method too!
- */
- virtual void reset ();
-
- /*!
- * \brief produce \p nsamples of output from given inputs and tags
- *
- * This is the main entry point. It examines the input_tags
- * and local state and invokes the appropriate virtual function
- * to handle each sub-segment of the input data.
- *
- * \p input_samples must have (nsamples + ntaps() - 1) valid entries.
- * input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] are
- * referenced to compute the output values.
- *
- * \p input_tags must have nsamples valid entries.
- * input_tags[0] .. input_tags[nsamples - 1] are referenced to
- * compute the output values.
- */
- virtual void filter (const float *input_samples,
- const atsc::syminfo *input_tags,
- float *output_samples,
- int nsamples);
-
- // ACCESSORS
-
- /*!
- * \brief how much history the input data stream requires.
- *
- * This must return a value >= 1. Think of this as the number
- * of samples you need to look at to compute a single output sample.
- */
- virtual int ntaps () const = 0;
-
- /*!
- * \brief how many taps are "in the future".
- *
- * This allows us to handle what the ATSC folks call "pre-ghosts".
- * What it really does is allow the caller to jack with the offset
- * between the tags and the data so that everything magically works out.
- *
- * npretaps () must return a value between 0 and ntaps() - 1.
- *
- * If npretaps () returns 0, this means that the equalizer will only handle
- * multipath "in the past." I suspect that a good value would be something
- * like 15% - 20% of ntaps ().
- */
- virtual int npretaps () const = 0;
-
-
-protected:
-
- /*!
- * Input range is known NOT TO CONTAIN data segment syncs
- * or field syncs. This should be the fast path. In the
- * non decicion directed case, this just runs the input
- * through the filter without adapting it.
- *
- * \p input_samples has (nsamples + ntaps() - 1) valid entries.
- * input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be
- * referenced to compute the output values.
- */
- virtual void filter_normal (const float *input_samples,
- float *output_samples,
- int nsamples) = 0;
-
- /*!
- * Input range is known to consist of only a data segment sync or a
- * portion of a data segment sync. \p nsamples will be in [1,4].
- * \p offset will be in [0,3]. \p offset is the offset of the input
- * from the beginning of the data segment sync pattern.
- *
- * \p input_samples has (nsamples + ntaps() - 1) valid entries.
- * input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be
- * referenced to compute the output values.
- */
- virtual void filter_data_seg_sync (const float *input_samples,
- float *output_samples,
- int nsamples,
- int offset) = 0;
-
- /*!
- * Input range is known to consist of only a field sync segment or a
- * portion of a field sync segment. \p nsamples will be in [1,832].
- * \p offset will be in [0,831]. \p offset is the offset of the input
- * from the beginning of the data segment sync pattern. We consider the
- * 4 symbols of the immediately preceding data segment sync to be the
- * first symbols of the field sync segment. \p which_field is in [0,1]
- * and specifies which field (duh).
- *
- * \p input_samples has (nsamples + ntaps() - 1) valid entries.
- * input_samples[0] .. input_samples[nsamples - 1 + ntaps() - 1] may be
- * referenced to compute the output values.
- */
- virtual void filter_field_sync (const float *input_samples,
- float *output_samples,
- int nsamples,
- int offset,
- int which_field) = 0;
-};
-
-
-#endif /* _ATSC_EQUALIZER_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/equalizer_lms2_impl.h b/gr-atsc/include/gnuradio/atsc/equalizer_lms2_impl.h
deleted file mode 100644
index 5f4ab66c96..0000000000
--- a/gr-atsc/include/gnuradio/atsc/equalizer_lms2_impl.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_EQUALIZER_LMS2_H_
-#define _ATSC_EQUALIZER_LMS2_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/equalizer_impl.h>
-#include <vector>
-#include <stdio.h>
-
-class ATSC_API atsci_equalizer_lms2 : public atsci_equalizer
-{
-public:
- atsci_equalizer_lms2 ();
- virtual ~atsci_equalizer_lms2 ();
-
- virtual void reset ();
- virtual int ntaps () const;
- virtual int npretaps () const;
-
-protected:
- FILE *trainingfile;
- virtual void filter_normal (const float *input_samples,
- float *output_samples,
- int nsamples);
-
- virtual void filter_data_seg_sync (const float *input_samples,
- float *output_samples,
- int nsamples,
- int offset);
-
- virtual void filter_field_sync (const float *input_samples,
- float *output_samples,
- int nsamples,
- int offset,
- int which_field);
-
-private:
- std::vector<double> d_taps_ff;
- std::vector<double> d_taps_fb;
- std::vector<float> d_old_output;
-
- int d_output_ptr;
-
- void filterN (const float *input_samples,
- float *output_samples,
- int nsamples);
-
- void adaptN (const float *input_samples,
- const float *training_pattern,
- float *output_samples,
- int nsamples);
-
- float filter1 (const float input[]);
- float adapt1 (const float input[], float ideal_output);
-
-};
-
-
-#endif /* _ATSC_EQUALIZER_LMS2_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/equalizer_lms_impl.h b/gr-atsc/include/gnuradio/atsc/equalizer_lms_impl.h
deleted file mode 100644
index 0daa00e67c..0000000000
--- a/gr-atsc/include/gnuradio/atsc/equalizer_lms_impl.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_EQUALIZER_LMS_H_
-#define _ATSC_EQUALIZER_LMS_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/equalizer_impl.h>
-#include <vector>
-#include <stdio.h>
-
-class ATSC_API atsci_equalizer_lms : public atsci_equalizer
-{
-public:
- atsci_equalizer_lms ();
- virtual ~atsci_equalizer_lms ();
-
- virtual void reset ();
- virtual int ntaps () const;
- virtual int npretaps () const;
- std::vector<double> taps () {
- return d_taps;
- }
-
-protected:
- FILE *trainingfile;
- virtual void filter_normal (const float *input_samples,
- float *output_samples,
- int nsamples);
-
- virtual void filter_data_seg_sync (const float *input_samples,
- float *output_samples,
- int nsamples,
- int offset);
-
- virtual void filter_field_sync (const float *input_samples,
- float *output_samples,
- int nsamples,
- int offset,
- int which_field);
-
-private:
- std::vector<double> d_taps;
-
- void filterN (const float *input_samples,
- float *output_samples,
- int nsamples);
-
- void adaptN (const float *input_samples,
- const float *training_pattern,
- float *output_samples,
- int nsamples);
-
- float filter1 (const float input[]);
- float adapt1 (const float input[], float ideal_output);
-
-};
-
-
-#endif /* _ATSC_EQUALIZER_LMS_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/equalizer_nop_impl.h b/gr-atsc/include/gnuradio/atsc/equalizer_nop_impl.h
deleted file mode 100644
index 1c075c5220..0000000000
--- a/gr-atsc/include/gnuradio/atsc/equalizer_nop_impl.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_EQUALIZER_NOP_H_
-#define _ATSC_EQUALIZER_NOP_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/equalizer_impl.h>
-
-class ATSC_API atsci_equalizer_nop : public atsci_equalizer
-{
-private:
- float scale (float input) { return input; }
-
- float scale_and_train (float input);
-
-
-public:
- atsci_equalizer_nop ();
- virtual ~atsci_equalizer_nop ();
-
- virtual void reset ();
- virtual int ntaps () const;
- virtual int npretaps () const;
-
-protected:
- virtual void filter_normal (const float *input_samples,
- float *output_samples,
- int nsamples);
-
- virtual void filter_data_seg_sync (const float *input_samples,
- float *output_samples,
- int nsamples,
- int offset);
-
- virtual void filter_field_sync (const float *input_samples,
- float *output_samples,
- int nsamples,
- int offset,
- int which_field);
-};
-
-
-#endif /* _ATSC_EQUALIZER_NOP_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/fake_single_viterbi_impl.h b/gr-atsc/include/gnuradio/atsc/fake_single_viterbi_impl.h
deleted file mode 100644
index ae671832b4..0000000000
--- a/gr-atsc/include/gnuradio/atsc/fake_single_viterbi_impl.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSCFAKESINGLEVITERBI_H_
-#define _ATSCFAKESINGLEVITERBI_H_
-
-#include <gnuradio/atsc/api.h>
-
-/*!
- * \brief single channel viterbi decoder
- */
-class ATSC_API atsci_fake_single_viterbi
-{
-
-public:
- atsci_fake_single_viterbi ();
-
- /*!
- * \p INPUT ideally takes on the values +/- 1,3,5,7
- * return is decoded dibit in the range [0, 3]
- */
- char decode (float input);
-
- void reset ();
-
- //! internal delay of decoder
- int delay () { return 0; }
-
-protected:
- int post_coder_state;
-};
-
-#endif
diff --git a/gr-atsc/include/gnuradio/atsc/field_sync_demux.h b/gr-atsc/include/gnuradio/atsc/field_sync_demux.h
deleted file mode 100644
index 1c31a5b98f..0000000000
--- a/gr-atsc/include/gnuradio/atsc/field_sync_demux.h
+++ /dev/null
@@ -1,76 +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_ATSC_FIELD_SYNC_DEMUX_H
-#define INCLUDED_ATSC_FIELD_SYNC_DEMUX_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/block.h>
-#include <gnuradio/atsc/types.h>
-
-class atsc_field_sync_demux;
-typedef boost::shared_ptr<atsc_field_sync_demux> atsc_field_sync_demux_sptr;
-
-ATSC_API atsc_field_sync_demux_sptr atsc_make_field_sync_demux();
-
-/*!
- * \brief ATSC Field Sync Demux
- *
- * This class accepts 1 stream of floats (data), and 1 stream of tags (syminfo). * It outputs one stream of atsc_soft_data_segment packets
- * \ingroup atsc
- *
- */
-class ATSC_API atsc_field_sync_demux : public gr::block
-{
- friend ATSC_API atsc_field_sync_demux_sptr atsc_make_field_sync_demux();
-
- atsc_field_sync_demux();
-
-public:
- void forecast (int noutput_items, gr_vector_int &ninput_items_required);
-
- int general_work (int noutput_items,
- gr_vector_int &ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
-
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-
-protected:
- bool d_locked;
- bool d_in_field2;
- int d_segment_number;
- uint64_t d_next_input;
- uint64_t d_lost_index; // diagnostic fluff
-
- unsigned long long d_inputs0_index; // for inputs[0].index
- unsigned long d_inputs0_size; // for inputs[0].size
- int d_consume;
-
-};
-
-
-#endif /* INCLUDED_ATSC_FIELD_SYNC_DEMUX_H */
diff --git a/gr-atsc/include/gnuradio/atsc/field_sync_mux.h b/gr-atsc/include/gnuradio/atsc/field_sync_mux.h
deleted file mode 100644
index 2cccb52aec..0000000000
--- a/gr-atsc/include/gnuradio/atsc/field_sync_mux.h
+++ /dev/null
@@ -1,68 +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_ATSC_FIELD_SYNC_MUX_H
-#define INCLUDED_ATSC_FIELD_SYNC_MUX_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/types.h>
-
-class atsc_field_sync_mux;
-typedef boost::shared_ptr<atsc_field_sync_mux> atsc_field_sync_mux_sptr;
-
-ATSC_API atsc_field_sync_mux_sptr atsc_make_field_sync_mux();
-
-/*!
- * \brief Insert ATSC Field Syncs as required (atsc_data_segment --> atsc_data_segment)
- * \ingroup atsc
- *
- * input: atsc_data_segment; output: atsc_data_segment
- */
-class ATSC_API atsc_field_sync_mux : public gr::block
-{
- friend ATSC_API atsc_field_sync_mux_sptr atsc_make_field_sync_mux();
-
- atsc_field_sync_mux();
-
-public:
- void forecast (int noutput_items, gr_vector_int &ninput_items_required);
- int general_work (int noutput_items,
- gr_vector_int &ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
-
- static const int N_SAVED_SYMBOLS = 12;
-
- void reset()
- {
- d_already_output_field_sync = false;
- }
-
-protected:
- bool d_already_output_field_sync;
- unsigned char d_saved_symbols[N_SAVED_SYMBOLS];
-};
-
-
-#endif /* INCLUDED_ATSC_FIELD_SYNC_MUX_H */
diff --git a/gr-atsc/include/gnuradio/atsc/fpll.h b/gr-atsc/include/gnuradio/atsc/fpll.h
deleted file mode 100644
index 9c565ed2eb..0000000000
--- a/gr-atsc/include/gnuradio/atsc/fpll.h
+++ /dev/null
@@ -1,82 +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_ATSC_FPLL_H
-#define INCLUDED_ATSC_FPLL_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/nco.h>
-#include <gnuradio/filter/single_pole_iir.h>
-#include <gnuradio/analog/agc.h>
-#include <stdio.h>
-#include <gnuradio/atsc/diag_output_impl.h>
-
-using namespace gr;
-
-class atsc_fpll;
-typedef boost::shared_ptr<atsc_fpll> atsc_fpll_sptr;
-
-ATSC_API atsc_fpll_sptr atsc_make_fpll();
-
-/*!
- * \brief ATSC FPLL (2nd Version)
- * \ingroup atsc
- *
- * A/D --> GrFIRfilterFFF ----> GrAtscFPLL ---->
- *
- * We use GrFIRfilterFFF to bandpass filter the signal of interest.
- *
- * This class accepts a single real input and produces a single real output
- */
-
-class ATSC_API atsc_fpll : public gr::sync_block
-{
- friend ATSC_API atsc_fpll_sptr atsc_make_fpll();
-
- atsc_fpll();
-
-public:
-
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-
- void initialize () ;
-
- protected:
-
- double initial_freq;
- double initial_phase;
- bool debug_no_update;
- gr::nco<float,float> nco;
- analog::kernel::agc_ff agc; // automatic gain control
- filter::single_pole_iir<float,float,float> afci;
- filter::single_pole_iir<float,float,float> afcq;
-
-
-};
-
-
-#endif /* INCLUDED_ATSC_FPLL_H */
diff --git a/gr-atsc/include/gnuradio/atsc/fs_checker.h b/gr-atsc/include/gnuradio/atsc/fs_checker.h
deleted file mode 100644
index 7a7d73852a..0000000000
--- a/gr-atsc/include/gnuradio/atsc/fs_checker.h
+++ /dev/null
@@ -1,64 +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_ATSC_FS_CHECKER_H
-#define INCLUDED_ATSC_FS_CHECKER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/fs_checker_impl.h>
-#include <gnuradio/sync_block.h>
-
-class atsc_fs_checker;
-typedef boost::shared_ptr<atsc_fs_checker> atsc_fs_checker_sptr;
-
-ATSC_API atsc_fs_checker_sptr atsc_make_fs_checker();
-
-/*!
- * \brief ATSC field sync checker (float,syminfo --> float,syminfo)
- * \ingroup atsc
- *
- * first output is delayed version of input.
- * second output is set of tags, one-for-one with first output.
- */
-
-class ATSC_API atsc_fs_checker : public gr::sync_block
-{
- friend ATSC_API atsc_fs_checker_sptr atsc_make_fs_checker();
-
- atsc_fs_checker();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-
- ~atsc_fs_checker ();
-
-protected:
- atsci_fs_checker *d_fsc;
-
-};
-
-
-#endif /* INCLUDED_ATSC_FS_CHECKER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/fs_checker_impl.h b/gr-atsc/include/gnuradio/atsc/fs_checker_impl.h
deleted file mode 100644
index 3ac1b8d913..0000000000
--- a/gr-atsc/include/gnuradio/atsc/fs_checker_impl.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_FS_CHECKER_H_
-#define _ATSC_FS_CHECKER_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/syminfo_impl.h>
-
-/*!
- * \brief abstract base class for ATSC field sync checker
- *
- * Processes input samples one at a time looking for
- * an occurence of either the field sync 1 or field sync 2 pattern.
- *
- * Note that unlike atsci_fs_correlator, this class uses the symbol_num in
- * input_tag to avoid having to test each symbol position.
- *
- * For each sample processed, an output sample and an output tag are produced.
- * The output samples are identical to the input samples but are delayed by
- * a number of samples given by \p delay(). The output tag associated with
- * the the given output sample indicates whether this sample is the beginning
- * of one of the field syncs or is an ordinary sample. The tags are defined in
- * atsci_sync_tag.h.
- *
- * For ease of use, the field sync patterns are defined to begin with the
- * first symbol of the 4 symbol data segment sync pattern that immediately
- * proceeds the actual PN 511 code. This makes it easier for downstream code
- * to determine the location of data segment syncs merely by counting. They'll
- * occur every 832 samples assuming everything is working.
- */
-
-class ATSC_API atsci_fs_checker {
-
-public:
-
- // CREATORS
- atsci_fs_checker ();
- virtual ~atsci_fs_checker () = 0;
-
- // MANIPULATORS
- virtual void reset () = 0;
- virtual void filter (float input_sample, atsc::syminfo input_tag,
- float *output_sample, atsc::syminfo *output_tag) = 0;
-
- // ACCESSORS
-
- //! return delay in samples from input to output
- virtual int delay () const = 0;
-};
-
-#endif /* _ATSC_FS_CHECKER_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/fs_checker_naive_impl.h b/gr-atsc/include/gnuradio/atsc/fs_checker_naive_impl.h
deleted file mode 100644
index 002af5c645..0000000000
--- a/gr-atsc/include/gnuradio/atsc/fs_checker_naive_impl.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_FS_CHECKER_NAIVE_H_
-#define _ATSC_FS_CHECKER_NAIVE_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/fs_checker_impl.h>
-
-/*!
- * \brief Naive concrete implementation of field sync checker
- */
-class ATSC_API atsci_fs_checker_naive : public atsci_fs_checker {
-
- private:
- static const int SRSIZE = 1024; // must be power of two
- int d_index; // points at oldest sample
- float d_sample_sr[SRSIZE]; // sample shift register
- atsc::syminfo d_tag_sr[SRSIZE]; // tag shift register
- unsigned char d_bit_sr[SRSIZE]; // binary decision shift register
- int d_field_num;
- int d_segment_num;
-
- static const int OFFSET_511 = 0; // offset to PN 511 pattern
- static const int LENGTH_511 = 511 + 4; // length of PN 511 pattern (+ 4 seg sync)
- static const int OFFSET_2ND_63 = 578; // offset to second PN 63 pattern
- static const int LENGTH_2ND_63 = 63; // length of PN 63 pattern
-
- static unsigned char s_511[LENGTH_511]; // PN 511 pattern
- static unsigned char s_63[LENGTH_2ND_63]; // PN 63 pattern
-
- inline static int wrap (int index){ return index & (SRSIZE - 1); }
- inline static int incr (int index){ return wrap (index + 1); }
- inline static int decr (int index){ return wrap (index - 1); }
-
- public:
-
- // CREATORS
- atsci_fs_checker_naive ();
- ~atsci_fs_checker_naive ();
-
- // MANIPULATORS
- virtual void reset ();
- void filter (float input_sample, atsc::syminfo input_tag,
- float *output_sample, atsc::syminfo *output_tag);
-
- // ACCESSORS
-
- //! return delay in samples from input to output
- int delay () const;
-
-};
-
-
-#endif /* _ATSC_FS_CHECKER_NAIVE_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/fs_correlator_impl.h b/gr-atsc/include/gnuradio/atsc/fs_correlator_impl.h
deleted file mode 100644
index 2517877666..0000000000
--- a/gr-atsc/include/gnuradio/atsc/fs_correlator_impl.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_FS_CORRELATOR_H_
-#define _ATSC_FS_CORRELATOR_H_
-
-#include <gnuradio/atsc/api.h>
-
-/*!
- * \brief abstract base class for ATSC field sync correlator
- *
- * Processes input samples one at a time looking for
- * an occurence of either the field sync 1 or field sync 2 pattern.
- *
- * For each sample processed, an output sample and an output tag are produced.
- * The output samples are identical to the input samples but are delayed by
- * a number of samples given by \p delay(). The output tag associated with
- * the the given output sample indicates whether this sample is the beginning
- * of one of the field syncs or is an ordinary sample. The tags are defined in
- * atsci_sync_tag.h.
- *
- * For ease of use, the field sync patterns are defined to begin with the
- * first symbol of the 4 symbol data segment sync pattern that immediately
- * proceeds the actual PN 511 code. This makes it easier for downstream code
- * to determine the location of data segment syncs merely by counting. They'll
- * occur every 832 samples assuming everything is working.
- */
-
-class ATSC_API atsci_fs_correlator {
-
-public:
-
- // CREATORS
- atsci_fs_correlator ();
- virtual ~atsci_fs_correlator () = 0;
-
- // MANIPULATORS
- virtual void reset () = 0;
- virtual void filter (float input_sample, float *output_sample, float *output_tag) = 0;
-
- // ACCESSORS
-
- //! return delay in samples from input to output
- virtual int delay () const = 0;
-};
-
-#endif /* _ATSC_FS_CORRELATOR_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/fs_correlator_naive_impl.h b/gr-atsc/include/gnuradio/atsc/fs_correlator_naive_impl.h
deleted file mode 100644
index 4f8b5a8d76..0000000000
--- a/gr-atsc/include/gnuradio/atsc/fs_correlator_naive_impl.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_FS_CORRELATOR_NAIVE_H_
-#define _ATSC_FS_CORRELATOR_NAIVE_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/fs_correlator_impl.h>
-
-/*!
- * \brief Naive concrete implementation of field sync correlator
- */
-class ATSC_API atsci_fs_correlator_naive : public atsci_fs_correlator {
-
- private:
- static const int SRSIZE = 1024; // must be power of two
- int d_index; // points at oldest sample
- float d_sample_sr[SRSIZE]; // sample shift register
- unsigned char d_bit_sr[SRSIZE]; // binary decision shift register
-
- static const int OFFSET_511 = 0; // offset to PN 511 pattern
- static const int LENGTH_511 = 511 + 4; // length of PN 511 pattern (+ 4 seg sync)
- static const int OFFSET_2ND_63 = 578; // offset to second PN 63 pattern
- static const int LENGTH_2ND_63 = 63; // length of PN 63 pattern
-
- static unsigned char s_511[LENGTH_511]; // PN 511 pattern
- static unsigned char s_63[LENGTH_2ND_63]; // PN 63 pattern
-
- inline static int wrap (int index){ return index & (SRSIZE - 1); }
- inline static int incr (int index){ return wrap (index + 1); }
- inline static int decr (int index){ return wrap (index - 1); }
-
- public:
-
- // CREATORS
- atsci_fs_correlator_naive ();
- ~atsci_fs_correlator_naive ();
-
- // MANIPULATORS
- virtual void reset ();
- void filter (float input_sample, float *output_sample, float *output_tag);
-
- // ACCESSORS
-
- //! return delay in samples from input to output
- int delay () const;
-
-};
-
-
-#endif /* _ATSC_FS_CORRELATOR_NAIVE_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/interleaver.h b/gr-atsc/include/gnuradio/atsc/interleaver.h
deleted file mode 100644
index 1f245bbbe0..0000000000
--- a/gr-atsc/include/gnuradio/atsc/interleaver.h
+++ /dev/null
@@ -1,57 +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_ATSC_INTERLEAVER_H
-#define INCLUDED_ATSC_INTERLEAVER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/data_interleaver_impl.h>
-
-class atsc_interleaver;
-typedef boost::shared_ptr<atsc_interleaver> atsc_interleaver_sptr;
-
-ATSC_API atsc_interleaver_sptr atsc_make_interleaver();
-
-/*! \brief Interleave RS encoded ATSC data ( atsc_mpeg_packet_rs_encoded --> atsc_mpeg_packet_rs_encoded)*
- * \ingroup atsc
- *
- * input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_rs_encoded
- */
-class ATSC_API atsc_interleaver : public gr::sync_block
-{
- friend ATSC_API atsc_interleaver_sptr atsc_make_interleaver();
-
- atsci_data_interleaver d_interleaver;
-
- atsc_interleaver();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-};
-
-
-#endif /* INCLUDED_ATSC_INTERLEAVER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/interleaver_fifo.h b/gr-atsc/include/gnuradio/atsc/interleaver_fifo.h
deleted file mode 100644
index aee42104e7..0000000000
--- a/gr-atsc/include/gnuradio/atsc/interleaver_fifo.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _INTERLEAVER_FIFO_H_
-#define _INTERLEAVER_FIFO_H_
-
-
-#include <gnuradio/atsc/interleaver_fifo.h>
-#include <string.h>
-
-/*!
- * \brief template class for interleaver fifo
- */
-
-template<class symbol_type>
-class interleaver_fifo {
- public:
-
- interleaver_fifo (unsigned int size);
- ~interleaver_fifo ();
-
- //! reset interleaver (flushes contents and resets commutator)
- void reset ();
-
- //! stuff a symbol into the fifo and return the oldest
- symbol_type stuff (symbol_type input){
- if (m_size == 0)
- return input;
-
- symbol_type retval = m_fifo[m_position];
- m_fifo[m_position] = input;
- m_position++;
- if (m_position >= m_size)
- m_position = 0;
-
- return retval;
- }
-
-protected:
- unsigned int m_size;
- unsigned int m_position;
- symbol_type *m_fifo;
-};
-
-template<class symbol_type>
-interleaver_fifo<symbol_type>::interleaver_fifo (unsigned int size)
-{
- m_size = size;
- m_position = 0;
- m_fifo = new symbol_type[size];
- memset (m_fifo, 0, m_size * sizeof (symbol_type));
-}
-
-template<class symbol_type>
-interleaver_fifo<symbol_type>::~interleaver_fifo ()
-{
- delete [] m_fifo;
-}
-
-template<class symbol_type> void
-interleaver_fifo<symbol_type>::reset ()
-{
- m_position = 0;
- memset (m_fifo, 0, m_size * sizeof (symbol_type));
-}
-
-#endif /* _INTERLEAVER_FIFO_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/pad.h b/gr-atsc/include/gnuradio/atsc/pad.h
deleted file mode 100644
index cbe5b11e5d..0000000000
--- a/gr-atsc/include/gnuradio/atsc/pad.h
+++ /dev/null
@@ -1,57 +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_ATSC_PAD_H
-#define INCLUDED_ATSC_PAD_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_decimator.h>
-
-class atsc_pad;
-typedef boost::shared_ptr<atsc_pad> atsc_pad_sptr;
-
-ATSC_API atsc_pad_sptr atsc_make_pad();
-
-/*!
- * \brief pad mpeg ts packets from 188 byte char to
- * to 256 byte atsc_mpeg_packet
- * \ingroup atsc
- *
- * input: unsigned char; output: atsc_mpeg_packet
- */
-class ATSC_API atsc_pad : public gr::sync_decimator
-{
- friend ATSC_API atsc_pad_sptr atsc_make_pad();
-
- atsc_pad();
-
-public:
- void forecast (int noutput_items, gr_vector_int &ninput_items_required);
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-};
-
-
-#endif /* INCLUDED_ATSC_PAD_H */
diff --git a/gr-atsc/include/gnuradio/atsc/pnXXX_impl.h b/gr-atsc/include/gnuradio/atsc/pnXXX_impl.h
deleted file mode 100644
index b33d82cec6..0000000000
--- a/gr-atsc/include/gnuradio/atsc/pnXXX_impl.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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.
- */
-
-#include <gnuradio/atsc/api.h>
-
-ATSC_API extern const unsigned char atsc_pn511[];
-ATSC_API extern const unsigned char atsc_pn63[];
diff --git a/gr-atsc/include/gnuradio/atsc/randomizer.h b/gr-atsc/include/gnuradio/atsc/randomizer.h
deleted file mode 100644
index dfda95d032..0000000000
--- a/gr-atsc/include/gnuradio/atsc/randomizer.h
+++ /dev/null
@@ -1,60 +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_ATSC_RANDOMIZER_H
-#define INCLUDED_ATSC_RANDOMIZER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/randomizer_impl.h>
-
-class atsc_randomizer;
-typedef boost::shared_ptr<atsc_randomizer> atsc_randomizer_sptr;
-
-ATSC_API atsc_randomizer_sptr atsc_make_randomizer();
-
-/*!
- * \brief "Whiten" incoming mpeg transport stream packets
- * \ingroup atsc
- *
- * input: atsc_mpeg_packet; output: atsc_mpeg_packet_no_sync
- */
-class ATSC_API atsc_randomizer : public gr::sync_block
-{
- friend ATSC_API atsc_randomizer_sptr atsc_make_randomizer();
-
- atsci_randomizer d_rand;
- bool d_field2; // user to init plinfo in output
- int d_segno; // likewise
-
- atsc_randomizer();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset();
-};
-
-
-#endif /* INCLUDED_ATSC_RANDOMIZER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/randomizer_impl.h b/gr-atsc/include/gnuradio/atsc/randomizer_impl.h
deleted file mode 100644
index d798629de2..0000000000
--- a/gr-atsc/include/gnuradio/atsc/randomizer_impl.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2001 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 _ATSC_RANDOMIZER_H_
-#define _ATSC_RANDOMIZER_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/types.h>
-
-/*!
- * \brief ATSC data "whitener"
- *
- * The data randomizer described in ATSC standard A/53B.
- * See figure D4 on page 54.
- */
-
-class ATSC_API atsci_randomizer {
- friend class qa_atsci_randomizer;
-
- public:
- atsci_randomizer();
-
- /*! \brief reset randomizer LFSR
- *
- * must be called during the Data Segment Sync interval prior to the
- * first data segment. I.e., the LFSR is reset prior to the first
- * field of each VSB data frame.
- */
- void reset ();
-
- //! randomize (whiten) mpeg packet and remove leading MPEG-2 sync byte
- void randomize (atsc_mpeg_packet_no_sync &out, const atsc_mpeg_packet &in);
-
- //! derandomize (de-whiten) mpeg packet and add leading MPEG-2 sync byte
- void derandomize (atsc_mpeg_packet &out, const atsc_mpeg_packet_no_sync &in);
-
- unsigned int state() const { return d_state; }
-
- private:
- static void initialize_output_map ();
- static unsigned char slow_output_map (int st);
-
- static unsigned char fast_output_map (int st){
- return s_output_map[(st & 0xb23c) >> 2]; // Magic const with 8 bits set improves cache
- // utilization. The bits correspond to the taps
- // used in output calculation. Others may be
- // safely ignored.
- }
-
- //! return current output value
- unsigned char output (){
- return fast_output_map (d_state);
- }
-
- //! clock LFSR; advance to next state.
- void clk (){
- if (d_state & 0x1)
- d_state = ((d_state ^ MASK) >> 1) | 0x8000;
- else
- d_state = d_state >> 1;
- }
-
- //! return current output value and advance to next state
- unsigned char output_and_clk (){
- unsigned char r = output ();
- clk ();
- return r;
- }
-
- unsigned int d_state;
-
- static const unsigned int PRELOAD_VALUE = 0x018f; /* 0xf180 bit reversed */
- static const unsigned int MASK = 0xa638;
- static unsigned char s_output_map[1 << 14];
- static bool s_output_map_initialized_p;
-};
-
-#endif /* _ATSC_RANDOMIZER_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/reed_solomon_impl.h b/gr-atsc/include/gnuradio/atsc/reed_solomon_impl.h
deleted file mode 100644
index 53584b4dbf..0000000000
--- a/gr-atsc/include/gnuradio/atsc/reed_solomon_impl.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_REED_SOLOMON_H_
-#define _ATSC_REED_SOLOMON_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/types.h>
-
-/*!
- * \brief ATSC Reed-Solomon encoder / decoder
- *
- * The t=10 (207,187) code described in ATSC standard A/53B.
- * See figure D5 on page 55.
- */
-
-class ATSC_API atsci_reed_solomon {
-
- public:
- atsci_reed_solomon();
- ~atsci_reed_solomon();
-
- /*!
- * \brief Add RS error correction encoding
- */
- void encode (atsc_mpeg_packet_rs_encoded &out, const atsc_mpeg_packet_no_sync &in);
-
- /*!
- * Decode RS encoded packet.
- * \returns a count of corrected symbols, or -1 if the block was uncorrectible.
- */
- int decode (atsc_mpeg_packet_no_sync &out, const atsc_mpeg_packet_rs_encoded &in);
-
- private:
- void *d_rs;
-};
-
-#endif /* _ATSC_REED_SOLOMON_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/rs_decoder.h b/gr-atsc/include/gnuradio/atsc/rs_decoder.h
deleted file mode 100644
index 99ab875869..0000000000
--- a/gr-atsc/include/gnuradio/atsc/rs_decoder.h
+++ /dev/null
@@ -1,58 +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_ATSC_RS_DECODER_H
-#define INCLUDED_ATSC_RS_DECODER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/reed_solomon_impl.h>
-
-class atsc_rs_decoder;
-typedef boost::shared_ptr<atsc_rs_decoder> atsc_rs_decoder_sptr;
-
-ATSC_API atsc_rs_decoder_sptr atsc_make_rs_decoder();
-
-/*!
- * \brief Reed-Solomon decoder for ATSC
- * \ingroup atsc
- *
- * input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_no_sync
- */
-class ATSC_API atsc_rs_decoder : public gr::sync_block
-{
- friend ATSC_API atsc_rs_decoder_sptr atsc_make_rs_decoder();
-
- atsci_reed_solomon d_rs_decoder;
-
- atsc_rs_decoder();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-};
-
-
-#endif /* INCLUDED_ATSC_RS_DECODER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/rs_encoder.h b/gr-atsc/include/gnuradio/atsc/rs_encoder.h
deleted file mode 100644
index 49f67d2762..0000000000
--- a/gr-atsc/include/gnuradio/atsc/rs_encoder.h
+++ /dev/null
@@ -1,58 +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_ATSC_RS_ENCODER_H
-#define INCLUDED_ATSC_RS_ENCODER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/reed_solomon_impl.h>
-
-class atsc_rs_encoder;
-typedef boost::shared_ptr<atsc_rs_encoder> atsc_rs_encoder_sptr;
-
-ATSC_API atsc_rs_encoder_sptr atsc_make_rs_encoder();
-
-/*!
- * \brief Reed-Solomon encoder for ATSC
- * \ingroup atsc
- *
- * input: atsc_mpeg_packet_no_sync; output: atsc_mpeg_packet_rs_encoded
- */
-class ATSC_API atsc_rs_encoder : public gr::sync_block
-{
- friend ATSC_API atsc_rs_encoder_sptr atsc_make_rs_encoder();
-
- atsci_reed_solomon d_rs_encoder;
-
- atsc_rs_encoder();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-};
-
-
-#endif /* INCLUDED_ATSC_RS_ENCODER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/single_viterbi_impl.h b/gr-atsc/include/gnuradio/atsc/single_viterbi_impl.h
deleted file mode 100644
index d6578ce259..0000000000
--- a/gr-atsc/include/gnuradio/atsc/single_viterbi_impl.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSCSINGLEVITERBI_H_
-#define _ATSCSINGLEVITERBI_H_
-
-#include <gnuradio/atsc/api.h>
-
-/*!
- * \brief single channel viterbi decoder
- */
-class ATSC_API atsci_single_viterbi
-{
-
-public:
- atsci_single_viterbi ();
-
- static const unsigned int TB_LEN = 32;
-
- /*!
- * \p INPUT ideally takes on the values +/- 1,3,5,7
- * return is decoded dibit in the range [0, 3]
- */
- char decode (float input);
-
- void reset ();
-
- //! internal delay of decoder
- int delay () { return TB_LEN - 1; }
-
-protected:
- static const int transition_table[32];
- static const float was_sent[32];
- float path_metrics [2][8];
- unsigned long long traceback [2][8];
- unsigned char phase;
-};
-
-#endif
diff --git a/gr-atsc/include/gnuradio/atsc/slicer_agc_impl.h b/gr-atsc/include/gnuradio/atsc/slicer_agc_impl.h
deleted file mode 100644
index d55e744fea..0000000000
--- a/gr-atsc/include/gnuradio/atsc/slicer_agc_impl.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_SLICER_AGC_H_
-#define _ATSC_SLICER_AGC_H_
-
-#include <gnuradio/atsc/api.h>
-#include <math.h>
-#include <gnuradio/filter/single_pole_iir.h>
-
-/*!
- * \brief Automatic Gain Control class for atsc slicer
- *
- * Given perfect data, output values will be +/- {7, 5, 3, 1}
- */
-
-class ATSC_API atsci_slicer_agc {
-
- public:
- atsci_slicer_agc () : _gain(1), dc(0.0025) {};
-
-
- float gain () { return _gain; }
-
-#if 1
- float scale (float input){
- float t = input * _gain;
- float output = t - REFERENCE;
- float error = REFERENCE - dc.filter (t);
- _gain += error * RATE;
- return output;
- }
-#else
- float scale(float input){
- float avg = dc.filter(input);
- if(fabs(avg)<.1)avg=.1;
- _gain += _gain*.99 + .01* REFERENCE/avg;
- return input*_gain - REFERENCE;
- }
-#endif
-
- protected:
-
- static const float REFERENCE = 1.25; // pilot reference value
- static const float RATE = 1.0e-5; // adjustment rate
- float _gain; // current gain
- gr_single_pole_iir<float,float,float> dc;
-};
-
-#endif /* _ATSC_SLICER_AGC_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/sliding_correlator_impl.h b/gr-atsc/include/gnuradio/atsc/sliding_correlator_impl.h
deleted file mode 100644
index eca63df609..0000000000
--- a/gr-atsc/include/gnuradio/atsc/sliding_correlator_impl.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_SLIDING_CORRELATOR_H_
-#define _ATSC_SLIDING_CORRELATOR_H_
-
-#include <gnuradio/atsc/api.h>
-#include <string.h>
-
-#include <gnuradio/atsc/pnXXX_impl.h>
-//extern const unsigned char atsc_pn511[511];
-//extern const unsigned char atsc_pn63[63];
-
-/*!
- * \brief look for the PN 511 field sync pattern
- */
-class ATSC_API atsci_sliding_correlator {
- public:
-
- atsci_sliding_correlator ();
- ~atsci_sliding_correlator (){};
-
- //! input hard decision bit, return correlation (0,511)
- // Result is the number of wrong bits.
- // E.g., 0 -> perfect match; 511 -> all bits are wrong
-
- int input_bit (int bit);
-
- //! input sample, return correlation (0,511)
- // Result is the number of wrong bits.
- // E.g., 0 -> perfect match; 511 -> all bits are wrong
-
- int input_int (int sample){
- return input_bit (sample < 0 ? 0 : 1);
- }
-
- //! input sample, return correlation (0,511)
- // Result is the number of wrong bits.
- // E.g., 0 -> perfect match; 511 -> all bits are wrong
-
- int input_float (float sample){
- return input_bit (sample < 0 ? 0 : 1);
- }
-
- void reset () { input.reset (); }
-
- private:
-
- typedef unsigned long srblock;
- static const int bits_per_char = 8;
- static const int srblock_bitsize = sizeof (srblock) * bits_per_char;
- static const int NSRBLOCKS = (511 + srblock_bitsize - 1) / srblock_bitsize;
-
- class shift_reg {
- public:
- shift_reg () { reset (); }
- void reset () { memset (d, 0, sizeof (d)); }
- void shift_in (int bit);
- srblock d[NSRBLOCKS];
- };
-
- shift_reg mask; // pattern we're looking for
- shift_reg input; // current input window
- shift_reg and_mask; // bits to consider
-};
-
-#endif /* _ATSC_SLIDING_CORRELATOR_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/sssr_impl.h b/gr-atsc/include/gnuradio/atsc/sssr_impl.h
deleted file mode 100644
index f61d0f340f..0000000000
--- a/gr-atsc/include/gnuradio/atsc/sssr_impl.h
+++ /dev/null
@@ -1,241 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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.
- */
-
-/*
- * --- ATSC Segment and Symbol Sync Recovery ---
- */
-
-#ifndef _ATSC_SSSR_H_
-#define _ATSC_SSSR_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/consts.h>
-#include <gnuradio/filter/mmse_fir_interpolator_ff.h>
-#include <gnuradio/filter/single_pole_iir.h>
-#include <cstdio>
-
-/*
- * --- support classes for atsci_sssr ---
- */
-
-namespace sssr {
-
- typedef float sample_t;
-
- // ----------------------------------------------------------------
- //! digital correlator for 1001 and 0110 patterns
-
- class ATSC_API digital_correlator {
- int d_sr; // 4 bit shift register
-
- public:
-
- // Constructor
- digital_correlator () { reset (); }
-
- // Manipulators
-
- //! called on channel change
- void reset () { d_sr = 0; }
-
- //! clock bit in and return true if we've seen 1001
-
- bool update (int bit) {
- d_sr = ((bit & 1) << 3) | (d_sr >> 1);
-
- return (d_sr == 0x9); // 1001
- }
-
- };
-
-
- // ----------------------------------------------------------------
- //! segment sync integrator
-
- class ATSC_API seg_sync_integrator {
- signed char d_integrator[ATSC_DATA_SEGMENT_LENGTH];
-
- public:
-
- // Constructor
- seg_sync_integrator () { reset (); }
-
- // Manipulators
-
- //! called on channel change
- void reset ();
-
- //! update current tap with weight and return integrated correlation value
- int update (int weight, int index);
-
- //! return index of maximum correlation value
- int find_max (int *value);
-
- };
-
- // ----------------------------------------------------------------
- //! quad filter (used to compute timing error)
-
- class ATSC_API quad_filter {
- sample_t d_delay[4];
-
- public:
- // Constructor
- quad_filter () { reset (); }
-
- // Manipulators
-
- //! called on channel change
- void reset () { d_delay[0] = d_delay[1] = d_delay[2] = d_delay[3] = 0; }
-
- double update (sample_t sample){
- d_delay[3] = d_delay[2];
- d_delay[2] = d_delay[1];
- d_delay[1] = d_delay[0];
- d_delay[0] = sample;
-
- // the coefficients are -1,-1,+1,+1
- return d_delay[3] + d_delay[2] - d_delay[1] - d_delay[0];
- }
- };
-}
-
-// ----------------------------------------------------------------
-
-/*!
- * \brief ATSC Segment and Symbol Sync Recovery
- *
- * This class implements data segment sync tracking and symbol timing
- * using the method described in "ATSC/VSB Tutorial - Receiver Technology"
- * by Wayne E. Bretl of Zenith, pgs 41-45.
- */
-
-class ATSC_API atsci_sssr {
- sssr::digital_correlator d_correlator;
- sssr::seg_sync_integrator d_integrator;
- sssr::quad_filter d_quad_filter;
- double d_quad_output[ATSC_DATA_SEGMENT_LENGTH];
- double d_timing_adjust;
- int d_counter; // free running mod 832 counter
- int d_symbol_index;
- bool d_seg_locked;
- FILE *d_debug_fp;
-
-
- bool incr_counter () {
- d_counter++;
- if (d_counter >= ATSC_DATA_SEGMENT_LENGTH){
- d_counter = 0;
- return true;
- }
- return false;
- }
-
- void incr_symbol_index () {
- d_symbol_index++;
- if (d_symbol_index >= ATSC_DATA_SEGMENT_LENGTH)
- d_symbol_index = 0;
- }
-
-public:
-
- // Constructor
- atsci_sssr ();
- ~atsci_sssr ();
-
- // Manipulators
-
- //! call on channel change
- void reset ();
-
-
- /*!
- * \brief process a single sample at the ATSC symbol rate (~10.76 MSPS)
- *
- * This block computes an indication of our timing error and keeps
- * track of where the segment sync's occur. \p timing_adjust is
- * returned to indicate how the interpolator timing needs to be
- * adjusted to track the transmitter's symbol timing. If \p seg_locked
- * is true, then \p symbol_index is the index of this sample in
- * the current segment. The symbols are numbered from 0 to 831, where
- * symbols 0, 1, 2 and 3 correspond to the data segment sync pattern,
- * nominally +5, -5, -5, +5.
- */
-
- void update (sssr::sample_t sample_in, // input
- bool *seg_locked, // are we seeing segment syncs?
- int *symbol_index, // 0..831
- double *timing_adjust); // how much to adjust timing
-
-};
-
-// ----------------------------------------------------------------
-
-/*!
- * \brief interpolator control for segment and symbol sync recovery
- */
-
-class ATSC_API atsci_interpolator {
- gr::filter::mmse_fir_interpolator_ff d_interp;
- gr::filter::single_pole_iir<float,float,float> d_loop; // ``VCO'' loop filter
- double d_nominal_ratio_of_rx_clock_to_symbol_freq; // FREQ
- double d_w; // ratio of PERIOD of Tx to Rx clocks
- double d_mu; // fractional delay [0,1]
- int d_incr; // diagnostic only
- FILE *d_debug_fp; // diagnostic only
-
-public:
- //! \p nominal_ratio_of_rx_clock_to_symbol_freq must be >= 1.8
- atsci_interpolator (double nominal_ratio_of_rx_clock_to_symbol_freq);
- ~atsci_interpolator ();
-
- // Manipulators
-
- //! call on channel change
- void reset ();
-
- /*!
- * \brief produce next sample referenced to Tx clock
- *
- * If there aren't enough input_samples left to produce
- * an output, return false, else true.
- */
-
- bool update (const sssr::sample_t input_samples[], // I: vector of samples
- int nsamples, // I: total number of samples
- int *index, // I/O: current input index
- double timing_adjustment, // I: how much to bump timing
- sssr::sample_t *output_sample); // O: the output sample
-
- // Accessors
-
- // how much history we require on our input
- unsigned ntaps () const { return d_interp.ntaps (); }
-
- // diagnostic accessors
- double mu () const { return d_mu; }
- double w () const { return d_w; }
- int incr () const { return d_incr; }
-
-};
-
-#endif /* _ATSC_SSSR_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/syminfo_impl.h b/gr-atsc/include/gnuradio/atsc/syminfo_impl.h
deleted file mode 100644
index 9f25e4902a..0000000000
--- a/gr-atsc/include/gnuradio/atsc/syminfo_impl.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_SYMINFO_H_
-#define _ATSC_SYMINFO_H_
-
-namespace atsc {
-
- static const unsigned int SI_SEGMENT_NUM_MASK = 0x1ff;
- static const unsigned int SI_FIELD_SYNC_SEGMENT_NUM = SI_SEGMENT_NUM_MASK; // conceptually -1
-
- struct syminfo {
- unsigned int symbol_num : 10; // 0..831
- unsigned int segment_num : 9; // 0..311 and SI_FIELD_SYNC_SEGMENT_NUM
- unsigned int field_num : 1; // 0..1
- unsigned int valid : 1; // contents are valid
- };
-
-
- static inline bool
- tag_is_start_field_sync (syminfo tag)
- {
- return tag.symbol_num == 0 && tag.segment_num == SI_FIELD_SYNC_SEGMENT_NUM && tag.valid;
- }
-
- static inline bool
- tag_is_start_field_sync_1 (syminfo tag)
- {
- return tag_is_start_field_sync (tag) && tag.field_num == 0;
- }
-
- static inline bool
- tag_is_start_field_sync_2 (syminfo tag)
- {
- return tag_is_start_field_sync (tag) && tag.field_num == 1;
- }
-
-}
-
-#endif /* _ATSC_SYMINFO_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/sync_tag_impl.h b/gr-atsc/include/gnuradio/atsc/sync_tag_impl.h
deleted file mode 100644
index bdb64c5d3d..0000000000
--- a/gr-atsc/include/gnuradio/atsc/sync_tag_impl.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_SYNC_TAG_H_
-#define _ATSC_SYNC_TAG_H_
-
-/*
- * Constants used to communicate in the second stream passed between
- * GrAtscFSCorrelator, GrAtscEqualizer and GrAtscFieldSyncMux. The
- * second stream is sample-for-sample parallel with the streaming
- * floating point in the first stream. The second stream provides
- * information about alignment boundaries.
- *
- * These are in floating point because the current implementation
- * requires that for a given module, all input streams share the same
- * type and all output streams share the same type. We'd use unsigned
- * char otherwise.
- */
-
-namespace atsc_sync_tag {
-
- // Nothing special
- static const float NORMAL = 0.0;
-
- // The corresponding symbol is the first symbol of the
- // data segment sync sequence { +5, -5, -5, +5 }
- static const float START_SEG_SYNC = 1.0;
-
- // The corresponding symbol is the first symbol of the
- // field sync 1 PN511 pattern.
- static const float START_FIELD_SYNC_1 = 2.0;
-
- // The corresponding symbol is the first symbol of the
- // field sync 2 PN511 pattern.
- static const float START_FIELD_SYNC_2 = 3.0;
-};
-
-#endif /* _ATSC_SYNC_TAG_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/trellis_encoder.h b/gr-atsc/include/gnuradio/atsc/trellis_encoder.h
deleted file mode 100644
index 6eb424650f..0000000000
--- a/gr-atsc/include/gnuradio/atsc/trellis_encoder.h
+++ /dev/null
@@ -1,57 +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_ATSC_TRELLIS_ENCODER_H
-#define INCLUDED_ATSC_TRELLIS_ENCODER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/trellis_encoder_impl.h>
-
-class atsc_trellis_encoder;
-typedef boost::shared_ptr<atsc_trellis_encoder> atsc_trellis_encoder_sptr;
-
-ATSC_API atsc_trellis_encoder_sptr atsc_make_trellis_encoder();
-
-/*!
- * \brief ATSC 12-way interleaved trellis encoder (atsc_mpeg_packet_rs_encoded --> atsc_data_segment)
- * \ingroup atsc
- *
- * input: atsc_mpeg_packet_rs_encoded; output: atsc_data_segment
- */
-class ATSC_API atsc_trellis_encoder : public gr::sync_block
-{
- friend ATSC_API atsc_trellis_encoder_sptr atsc_make_trellis_encoder();
-
- atsci_trellis_encoder d_trellis_encoder;
-
- atsc_trellis_encoder();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-};
-
-
-#endif /* INCLUDED_ATSC_TRELLIS_ENCODER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/trellis_encoder_impl.h b/gr-atsc/include/gnuradio/atsc/trellis_encoder_impl.h
deleted file mode 100644
index 93aab1b190..0000000000
--- a/gr-atsc/include/gnuradio/atsc/trellis_encoder_impl.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_TRELLIS_ENCODER_H_
-#define _ATSC_TRELLIS_ENCODER_H_
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/basic_trellis_encoder_impl.h>
-#include <gnuradio/atsc/types.h>
-
-/*!
- * \brief fancy, schmancy 12-way interleaved trellis encoder for ATSC
- */
-
-class ATSC_API atsci_trellis_encoder {
- public:
- static const int NCODERS = 12;
-
- atsci_trellis_encoder ();
- ~atsci_trellis_encoder ();
-
- //! reset all encoder states
- void reset ();
-
- /*!
- * Take 12 RS encoded, convolutionally interleaved segments and
- * produce 12 trellis coded data segments. We work in groups of 12
- * because that's the smallest number of segments that composes a
- * single full cycle of the encoder mux.
- */
- void encode (atsc_data_segment out[NCODERS],
- const atsc_mpeg_packet_rs_encoded in[NCODERS]);
-
-
- protected:
- static const int SEGMENT_SIZE = ATSC_MPEG_RS_ENCODED_LENGTH; // 207
- static const int INPUT_SIZE = (SEGMENT_SIZE * 12);
- static const int OUTPUT_SIZE = (ATSC_DATA_SEGMENT_LENGTH * 12);
-
- void encode_helper (unsigned char out[OUTPUT_SIZE],
- const unsigned char in[INPUT_SIZE]);
-
- atsci_basic_trellis_encoder enc[NCODERS];
- bool debug;
-};
-
-
-#endif /* _ATSC_TRELLIS_ENCODER_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/types.h b/gr-atsc/include/gnuradio/atsc/types.h
deleted file mode 100644
index 1d93bb0d6a..0000000000
--- a/gr-atsc/include/gnuradio/atsc/types.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2001,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 _ATSC_TYPES_H_
-#define _ATSC_TYPES_H_
-
-#include <gnuradio/atsc/consts.h>
-#include <cstring>
-#include <cassert>
-
-
-/*!
- * \brief pipeline info that flows with data
- *
- * Not all modules need all the info
- */
-class plinfo {
-public:
- plinfo () : _flags (0), _segno (0) { }
-
- // accessors
-
- bool field_sync1_p () const { return (_flags & fl_field_sync1) != 0; }
- bool field_sync2_p () const { return (_flags & fl_field_sync2) != 0; }
- bool field_sync_p () const { return field_sync1_p () || field_sync2_p (); }
-
- bool regular_seg_p () const { return (_flags & fl_regular_seg) != 0; }
-
- bool in_field1_p () const { return (_flags & fl_field2) == 0; }
- bool in_field2_p () const { return (_flags & fl_field2) != 0; }
-
- bool first_regular_seg_p () const { return (_flags & fl_first_regular_seg) != 0; }
-
- bool transport_error_p () const { return (_flags & fl_transport_error) != 0; }
-
- unsigned int segno () const { return _segno; }
- unsigned int flags () const { return _flags; }
-
- // setters
-
- void set_field_sync1 ()
- {
- _segno = 0;
- _flags = fl_field_sync1;
- }
-
- void set_field_sync2 ()
- {
- _segno = 0;
- _flags = fl_field_sync2 | fl_field2;
- }
-
- void set_regular_seg (bool field2, int segno)
- {
- assert (0 <= segno && segno < ATSC_DSEGS_PER_FIELD);
- _segno = segno;
- _flags = fl_regular_seg;
- if (segno == 0)
- _flags |= fl_first_regular_seg;
- if (segno >= ATSC_DSEGS_PER_FIELD)
- _flags |= fl_transport_error;
- if (field2)
- _flags |= fl_field2;
- }
-
- void set_transport_error (bool error){
- if (error)
- _flags |= fl_transport_error;
- else
- _flags &= ~fl_transport_error;
- }
-
- // overload equality operator
- bool operator== (const plinfo &other) const {
- return (_flags == other._flags && _segno == other._segno);
- }
-
- bool operator!= (const plinfo &other) const {
- return !(_flags == other._flags && _segno == other._segno);
- }
-
- /*!
- * Set \p OUT such that it reflects a \p NSEGS_OF_DELAY
- * pipeline delay from \p IN.
- */
- static void delay (plinfo &out, const plinfo &in, int nsegs_of_delay);
-
- /*!
- * confirm that \p X is plausible
- */
- static void sanity_check (const plinfo &in);
-
-
-protected:
- unsigned short _flags; // bitmask
- unsigned short _segno; // segment number [0,311]
-
- // these three are mutually exclusive
- // This is a regular data segment.
- static const int fl_regular_seg = 0x0001;
- // This is a field sync segment, for 1st half of a field.
- static const int fl_field_sync1 = 0x0002;
- // This is a field sync segment, for 2nd half of a field.
- static const int fl_field_sync2 = 0x0004;
-
- // This bit is on ONLY when fl_regular_seg is set AND when this is
- // the first regular data segment AFTER a field sync segment. This
- // segment causes various processing modules to reset.
- static const int fl_first_regular_seg = 0x0008;
-
- // which field are we in?
- static const int fl_field2 = 0x0010; // else field 1
-
- // This bit is set when Reed-Solomon decoding detects an error that it
- // can't correct. Note that other error detection (e.g. Viterbi) do not
- // set it, since Reed-Solomon will correct many of those. This bit is
- // then copied into the final Transport Stream packet so that MPEG
- // software can see that the 188-byte data segment has been corrupted.
- static const int fl_transport_error = 0x0020;
-};
-
-
-
-
-class atsc_mpeg_packet {
- public:
- static const int NPAD = 68;
- unsigned char data[ATSC_MPEG_DATA_LENGTH + 1]; // first byte is sync
- unsigned char _pad_[NPAD]; // pad to power of 2 (256)
-
- // overload equality operator
- bool operator== (const atsc_mpeg_packet &other) const {
- return std::memcmp (data, other.data, sizeof (data)) == 0;
- };
-
- bool operator!= (const atsc_mpeg_packet &other) const {
- return !(std::memcmp (data, other.data, sizeof (data)) == 0);
- };
-};
-
-class atsc_mpeg_packet_no_sync {
- public:
- static const int NPAD = 65;
- plinfo pli;
- unsigned char data[ATSC_MPEG_DATA_LENGTH];
- unsigned char _pad_[NPAD]; // pad to power of 2 (256)
-
- // overload equality operator
- bool operator== (const atsc_mpeg_packet_no_sync &other) const {
- return std::memcmp (data, other.data, sizeof (data)) == 0;
- }
-
- bool operator!= (const atsc_mpeg_packet_no_sync &other) const {
- return !(std::memcmp (data, other.data, sizeof (data)) == 0);
- }
-};
-
-class atsc_mpeg_packet_rs_encoded {
- public:
- static const int NPAD = 45;
- plinfo pli;
- unsigned char data[ATSC_MPEG_RS_ENCODED_LENGTH];
- unsigned char _pad_[NPAD]; // pad to power of 2 (256)
-
- // overload equality operator
- bool operator== (const atsc_mpeg_packet_rs_encoded &other) const {
- return std::memcmp (data, other.data, sizeof (data)) == 0;
- }
-
- bool operator!= (const atsc_mpeg_packet_rs_encoded &other) const {
- return !(std::memcmp (data, other.data, sizeof (data)) == 0);
- }
-};
-
-
-//! contains 832 3 bit symbols. The low 3 bits in the byte hold the symbol.
-
-class atsc_data_segment {
- public:
- static const int NPAD = 188;
- plinfo pli;
- unsigned char data[ATSC_DATA_SEGMENT_LENGTH];
- unsigned char _pad_[NPAD]; // pad to power of 2 (1024)
-
- // overload equality operator
- bool operator== (const atsc_data_segment &other) const {
- return std::memcmp (data, other.data, sizeof (data)) == 0;
- }
-
- bool operator!= (const atsc_data_segment &other) const {
- return !(std::memcmp (data, other.data, sizeof (data)) == 0);
- }
-};
-
-/*!
- * Contains 832 bipolar floating point symbols.
- * Nominal values are +/- {1, 3, 5, 7}.
- * This data type represents the input to the viterbi decoder.
- */
-
-class atsc_soft_data_segment {
- public:
- static const int NPAD = 764;
- plinfo pli;
- float data[ATSC_DATA_SEGMENT_LENGTH];
- unsigned char _pad_[NPAD]; // pad to power of 2 (4096)
-
- // overload equality operator
- bool operator== (const atsc_data_segment &other) const {
- return std::memcmp (data, other.data, sizeof (data)) == 0;
- }
-
- bool operator!= (const atsc_data_segment &other) const {
- return !(std::memcmp (data, other.data, sizeof (data)) == 0);
- }
-};
-
-
-#endif /* _ATSC_TYPES_H_ */
diff --git a/gr-atsc/include/gnuradio/atsc/viterbi_decoder.h b/gr-atsc/include/gnuradio/atsc/viterbi_decoder.h
deleted file mode 100644
index a529c18d3b..0000000000
--- a/gr-atsc/include/gnuradio/atsc/viterbi_decoder.h
+++ /dev/null
@@ -1,62 +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_ATSC_VITERBI_DECODER_H
-#define INCLUDED_ATSC_VITERBI_DECODER_H
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/sync_block.h>
-#include <gnuradio/atsc/viterbi_decoder_impl.h>
-
-class atsc_viterbi_decoder;
-typedef boost::shared_ptr<atsc_viterbi_decoder> atsc_viterbi_decoder_sptr;
-
-ATSC_API atsc_viterbi_decoder_sptr atsc_make_viterbi_decoder();
-
-/*!
- * \brief ATSC 12-way interleaved viterbi decoder (atsc_soft_data_segment --> atsc_mpeg_packet_rs_encoded)
- * \ingroup atsc
- *
- * input: atsc_soft_data_segment; output: atsc_mpeg_packet_rs_encoded
- */
-class ATSC_API atsc_viterbi_decoder : public gr::sync_block
-{
- friend ATSC_API atsc_viterbi_decoder_sptr atsc_make_viterbi_decoder();
-
- atsci_viterbi_decoder d_viterbi_decoder;
-
- atsc_viterbi_decoder();
-
-public:
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- void reset() { /* nop */ }
-
-protected:
- int last_start;
-
-};
-
-
-#endif /* INCLUDED_ATSC_VITERBI_DECODER_H */
diff --git a/gr-atsc/include/gnuradio/atsc/viterbi_decoder_impl.h b/gr-atsc/include/gnuradio/atsc/viterbi_decoder_impl.h
deleted file mode 100644
index 447d43911d..0000000000
--- a/gr-atsc/include/gnuradio/atsc/viterbi_decoder_impl.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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 _ATSC_VITERBI_DECODER_H_
-#define _ATSC_VITERBI_DECODER_H_
-
-#define USE_SIMPLE_SLICER 0
-
-#include <gnuradio/atsc/api.h>
-#include <gnuradio/atsc/types.h>
-#include <gnuradio/atsc/interleaver_fifo.h>
-
-#if (USE_SIMPLE_SLICER)
-#include <gnuradio/atsc/fake_single_viterbi_impl.h>
-typedef atsci_fake_single_viterbi single_viterbi_t;
-#else
-#include <gnuradio/atsc/single_viterbi_impl.h>
-typedef atsci_single_viterbi single_viterbi_t;
-#endif
-
-/*!
- * \brief fancy, schmancy 12-way interleaved viterbi decoder for ATSC
- */
-
-class ATSC_API atsci_viterbi_decoder {
-public:
- static const int NCODERS = 12;
-
- atsci_viterbi_decoder ();
- ~atsci_viterbi_decoder ();
-
- //! reset all decoder states
- void reset ();
-
- /*!
- * Take 12 data segments of soft decisions (floats) and
- * produce 12 RS encoded data segments. We work in groups of 12
- * because that's the smallest number of segments that composes a
- * single full cycle of the decoder mux.
- */
- void decode (atsc_mpeg_packet_rs_encoded out[NCODERS],
- const atsc_soft_data_segment in[NCODERS]);
-
-
-
- protected:
- typedef interleaver_fifo<unsigned char> fifo_t;
-
- static const int SEGMENT_SIZE = ATSC_MPEG_RS_ENCODED_LENGTH; // 207
- static const int OUTPUT_SIZE = (SEGMENT_SIZE * 12);
- static const int INPUT_SIZE = (ATSC_DATA_SEGMENT_LENGTH * 12);
-
- void decode_helper (unsigned char out[OUTPUT_SIZE],
- const float in[INPUT_SIZE]);
-
-
- single_viterbi_t viterbi[NCODERS];
- fifo_t *fifo[NCODERS];
- bool debug;
-
-};
-
-
-
-#endif /* _ATSC_VITERBI_DECODER_H_ */