diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2013-04-30 12:58:22 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2013-04-30 12:58:22 -0700 |
commit | 02b89c6174b776acd2865443fbc19649b8b0e7d0 (patch) | |
tree | 9cc1da754cd7252212fe2d14ac4afe73275f5e38 /gr-trellis/include/trellis | |
parent | 5e17e3ea05631c9d1e47ae601859008e9c1f6be9 (diff) |
trellis: moved include dir to gnuradio/trellis
Diffstat (limited to 'gr-trellis/include/trellis')
23 files changed, 0 insertions, 1575 deletions
diff --git a/gr-trellis/include/trellis/CMakeLists.txt b/gr-trellis/include/trellis/CMakeLists.txt deleted file mode 100644 index b7ceea179e..0000000000 --- a/gr-trellis/include/trellis/CMakeLists.txt +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 2012 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. - -######################################################################## -# generate helper scripts to expand templated files -######################################################################## -include(GrPython) - -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " -#!${PYTHON_EXECUTABLE} - -import sys, os, re -sys.path.append('${GR_RUNTIME_PYTHONPATH}') -os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' -os.chdir('${CMAKE_CURRENT_BINARY_DIR}') - -if __name__ == '__main__': - import build_utils - root, inp = sys.argv[1:3] - for sig in sys.argv[3:]: - name = re.sub ('X+', sig, root) - d = build_utils.standard_dict2(name, sig, 'trellis') - build_utils.expand_template(d, inp) - -") - -macro(expand_h root) - #make a list of all the generated files - unset(expanded_files_h) - foreach(sig ${ARGN}) - string(REGEX REPLACE "X+" ${sig} name ${root}) - list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h) - endforeach(sig) - - #create a command to generate the files - add_custom_command( - OUTPUT ${expanded_files_h} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py - ${root} ${root}.h.t ${ARGN} - ) - - #install rules for the generated h files - list(APPEND generated_includes ${expanded_files_h}) -endmacro(expand_h) - -######################################################################## -# Invoke macro to generate various sources -####################################################################### -expand_h(encoder_XX bb bs bi ss si ii) -expand_h(sccc_encoder_XX bb bs bi ss si ii) -expand_h(pccc_encoder_XX bb bs bi ss si ii) -expand_h(metrics_X s i f c) -expand_h(viterbi_X b s i) -expand_h(viterbi_combined_XX sb ss si ib is ii fb fs fi cb cs ci) -expand_h(sccc_decoder_X b s i) -expand_h(sccc_decoder_combined_XX fb fs fi cb cs ci) -expand_h(pccc_decoder_X b s i) -expand_h(pccc_decoder_combined_XX fb fs fi cb cs ci) - -add_custom_target(trellis_generated_includes DEPENDS - ${generated_includes} -) - -######################################################################## -# Install header files -######################################################################## -install(FILES - ${generated_includes} - api.h - base.h - calc_metric.h - constellation_metrics_cf.h - core_algorithms.h - fsm.h - interleaver.h - permutation.h - quicksort_index.h - siso_type.h - siso_combined_f.h - siso_f.h - DESTINATION ${GR_INCLUDE_DIR}/gnuradio/trellis - COMPONENT "trellis_devel" -) - diff --git a/gr-trellis/include/trellis/api.h b/gr-trellis/include/trellis/api.h deleted file mode 100644 index bdf5842864..0000000000 --- a/gr-trellis/include/trellis/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_TRELLIS_API_H -#define INCLUDED_TRELLIS_API_H - -#include <gnuradio/attributes.h> - -#ifdef gnuradio_trellis_EXPORTS -# define TRELLIS_API __GR_ATTR_EXPORT -#else -# define TRELLIS_API __GR_ATTR_IMPORT -#endif - -#endif /* INCLUDED_TRELLIS_API_H */ diff --git a/gr-trellis/include/trellis/base.h b/gr-trellis/include/trellis/base.h deleted file mode 100644 index c69500d0df..0000000000 --- a/gr-trellis/include/trellis/base.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2002,2012 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_TRELLIS_BASE_H -#define INCLUDED_TRELLIS_BASE_H - -#include <vector> - -namespace gr { - namespace trellis { - - /*! - * \brief change base - */ - - bool dec2base(unsigned int num, int base, std::vector<int> &s); - bool dec2bases(unsigned int num, const std::vector<int> &bases, std::vector<int> &s); - unsigned int base2dec(const std::vector<int> &s, int base); - unsigned int bases2dec(const std::vector<int> &s, const std::vector<int> &bases); - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_TRELLIS_BASE_H */ diff --git a/gr-trellis/include/trellis/calc_metric.h b/gr-trellis/include/trellis/calc_metric.h deleted file mode 100644 index c85fcbff69..0000000000 --- a/gr-trellis/include/trellis/calc_metric.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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_CALC_METRIC_H -#define INCLUDED_CALC_METRIC_H - -#include <vector> -#include <gnuradio/gr_complex.h> -#include <gnuradio/digital/metric_type.h> - -namespace gr { - namespace trellis { - - template <class T> - void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *input, - float *metric, digital::trellis_metric_type_t type); - - /* - void calc_metric(int O, int D, const std::vector<short> &TABLE, const short *input, - float *metric, digital::trellis_metric_type_t type); - - void calc_metric(int O, int D, const std::vector<int> &TABLE, const int *input, - float *metric, digital::trellis_metric_type_t type); - - void calc_metric(int O, int D, const std::vector<float> &TABLE, const float *input, - float *metric, digital::trellis_metric_type_t type); - */ - - void calc_metric(int O, int D, const std::vector<gr_complex> &TABLE, const gr_complex *input, - float *metric, digital::trellis_metric_type_t type); - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_CALC_METRIC_H */ diff --git a/gr-trellis/include/trellis/constellation_metrics_cf.h b/gr-trellis/include/trellis/constellation_metrics_cf.h deleted file mode 100644 index 576378dd62..0000000000 --- a/gr-trellis/include/trellis/constellation_metrics_cf.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2010-2012 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_TRELLIS_CONSTELLATION_METRICS_CF_H -#define INCLUDED_TRELLIS_CONSTELLATION_METRICS_CF_H - -#include <trellis/api.h> -#include <gnuradio/block.h> -#include <gnuradio/digital/constellation.h> -#include <gnuradio/digital/metric_type.h> - -namespace gr { - namespace trellis { - - /*! - * \brief Evaluate metrics for use by the Viterbi algorithm. - * \ingroup trellis_coding_blk - */ - class TRELLIS_API constellation_metrics_cf : virtual public block - { - public: - // gr::trellis::constellation_metrics_cf::sptr - typedef boost::shared_ptr<constellation_metrics_cf> sptr; - - static sptr make(digital::constellation_sptr constellation, - digital::trellis_metric_type_t TYPE); - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_TRELLIS_CONSTELLATION_METRICS_CF_H */ diff --git a/gr-trellis/include/trellis/core_algorithms.h b/gr-trellis/include/trellis/core_algorithms.h deleted file mode 100644 index 03d3efa56a..0000000000 --- a/gr-trellis/include/trellis/core_algorithms.h +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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_CORE_ALGORITHMS_H -#define INCLUDED_CORE_ALGORITHMS_H - -#include <cmath> -#include <vector> -#include <gnuradio/digital/metric_type.h> -#include <trellis/fsm.h> -#include <trellis/interleaver.h> - -namespace gr { - namespace trellis { - - float min(float a, float b); - float min_star(float a, float b); - - template <class T> - void viterbi_algorithm(int I, int S, int O, - const std::vector<int> &NS, - const std::vector<int> &OS, - const std::vector< std::vector<int> > &PS, - const std::vector< std::vector<int> > &PI, - int K, - int S0,int SK, - const float *in, T *out); - - template <class Ti, class To> - void viterbi_algorithm_combined(int I, int S, int O, - const std::vector<int> &NS, - const std::vector<int> &OS, - const std::vector< std::vector<int> > &PS, - const std::vector< std::vector<int> > &PI, - int K, - int S0,int SK, - int D, - const std::vector<Ti> &TABLE, - digital::trellis_metric_type_t TYPE, - const Ti *in, To *out); - - void siso_algorithm(int I, int S, int O, - const std::vector<int> &NS, - const std::vector<int> &OS, - const std::vector< std::vector<int> > &PS, - const std::vector< std::vector<int> > &PI, - int K, - int S0,int SK, - bool POSTI, bool POSTO, - float (*p2mymin)(float,float), - const float *priori, const float *prioro, float *post); - - template <class T> - void siso_algorithm_combined(int I, int S, int O, - const std::vector<int> &NS, - const std::vector<int> &OS, - const std::vector< std::vector<int> > &PS, - const std::vector< std::vector<int> > &PI, - int K, - int S0,int SK, - bool POSTI, bool POSTO, - float (*p2mymin)(float,float), - int D, - const std::vector<T> &TABLE, - digital::trellis_metric_type_t TYPE, - const float *priori, const T *observations, float *post); - - template<class T> - void sccc_decoder(const fsm &FSMo, int STo0, int SToK, - const fsm &FSMi, int STi0, int STiK, - const interleaver &INTERLEAVER, int blocklength, int iterations, - float (*p2mymin)(float,float), - const float *iprioro, T *data); - - template<class Ti, class To> - void sccc_decoder_combined(const fsm &FSMo, int STo0, int SToK, - const fsm &FSMi, int STi0, int STiK, - const interleaver &INTERLEAVER, int blocklength, int iterations, - float (*p2mymin)(float,float), - int D, const std::vector<Ti> &TABLE, - digital::trellis_metric_type_t METRIC_TYPE, - float scaling, - const Ti *observations, To *data); - - template<class T> - void pccc_decoder(const fsm &FSM1, int ST10, int ST1K, - const fsm &FSM2, int ST20, int ST2K, - const interleaver &INTERLEAVER, int blocklength, int iterations, - float (*p2mymin)(float,float), - const float *cprioro, T *data); - - template<class Ti, class To> - void pccc_decoder_combined(const fsm &FSM1, int ST10, int ST1K, - const fsm &FSM2, int ST20, int ST2K, - const interleaver &INTERLEAVER, int blocklength, int iterations, - float (*p2mymin)(float,float), - int D, const std::vector<Ti> &TABLE, - digital::trellis_metric_type_t METRIC_TYPE, - float scaling, - const Ti *observations, To *data); - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_CORE_ALGORITHMS_H */ diff --git a/gr-trellis/include/trellis/encoder_XX.h.t b/gr-trellis/include/trellis/encoder_XX.h.t deleted file mode 100644 index 3901797204..0000000000 --- a/gr-trellis/include/trellis/encoder_XX.h.t +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <gnuradio/sync_block.h> - -namespace gr { - namespace trellis { - - /*! - * \brief Convolutional encoder. - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public sync_block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(const fsm &FSM, int ST); - - virtual fsm FSM() const = 0; - virtual int ST() const = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ diff --git a/gr-trellis/include/trellis/fsm.h b/gr-trellis/include/trellis/fsm.h deleted file mode 100644 index d88732b29b..0000000000 --- a/gr-trellis/include/trellis/fsm.h +++ /dev/null @@ -1,193 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2002,2011-2012 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_TRELLIS_FSM_H -#define INCLUDED_TRELLIS_FSM_H - -#include <trellis/api.h> -#include <vector> -#include <iosfwd> - -namespace gr { - namespace trellis { - - /*! - * \brief Finite State Machine Specification class. - * \ingroup trellis_coding_blk - * - * \details - * An instance of this class represents a finite state machine - * specification (FSMS) rather than the FSM itself. It particular - * the state of the FSM is not stored within an instance of this - * class. - */ - class TRELLIS_API fsm - { - private: - // Input alphabet cardinality. - int d_I; - - // Number of states. - int d_S; - - // Output alphabet cardinality. - int d_O; - - // NS means Next State. - // next_state = d_NS[current_state * d_I + input_symbol] - std::vector<int> d_NS; - - // OS means Output Symbol. - // output_symbol = d_OS[current_state * d_I + input_symbol] - std::vector<int> d_OS; - - // PS means Previous State. - std::vector< std::vector<int> > d_PS; - - // PI means Previous Input Symbol. - // d_PS[current_state][k] and d_PI[current_state][k], is a pair of the form - // (previous_state, previous_input_symbol) that could have produced the - // current state. - std::vector< std::vector<int> > d_PI; - - // TM means Termination matrix. - // d_TMl[s*d_S+es] is the shortest number of steps to get from state s to - // state es. - std::vector<int> d_TMl; - - // d_TMi[s*d_S+es] is the input symbol required to set off on the shortest - // path from state s to es. - std::vector<int> d_TMi; - void generate_PS_PI (); - void generate_TM (); - bool find_es(int es); - - public: - /*! - * \brief Constructor to create an uninitialized FSMS. - */ - fsm(); - - /*! - * \brief Constructor to copy an FSMS. - */ - fsm(const fsm &FSM); - - /*! - * \brief Constructor to to create an FSMS. - * - * \param I The number of possible input symbols. - * \param S The number of possible FSM states. - * \param O The number of possible output symbols. - * \param NS A mapping from (current state, input symbol) to next state. - * next_state = NS[current_state * I + input_symbol] - * \param OS A mapping from (current state, input symbol) to output symbol. - * output_symbol = OS[current_state * I + input_symbol] - * - */ - fsm(int I, int S, int O, const std::vector<int> &NS, const std::vector<int> &OS); - - /*! - * \brief Constructor to create an FSMS from file contents. - * - * \param name filename - * - */ - fsm(const char *name); - - /*! - * \brief Creates an FSMS from the generator matrix of a (n, k) binary convolutional code. - * - * \param k ??? - * \param n ??? - * \param G ??? - * - */ - fsm(int k, int n, const std::vector<int> &G); - - /*! - * \brief Creates an FSMS describing ISI. - * - * \param mod_size modulation size - * \param ch_length channel length - * - */ - fsm(int mod_size, int ch_length); - - /*! - * \brief Creates an FSMS describing the trellis for a CPM. - * - * \param P ???? h=K/P (relatively prime) - * \param M alphabet size - * \param L pulse duration - * - * This FSM is based on the paper by B. Rimoldi - * "A decomposition approach to CPM", IEEE Trans. Info Theory, March 1988 - * See also my own notes at http://www.eecs.umich.edu/~anastas/docs/cpm.pdf - */ - fsm(int P, int M, int L); - - /*! - * \brief Creates an FSMS describing the joint trellis of two FSMs. - * - * \param FSM1 first FSMS - * \param FSM2 second FSMS - */ - fsm(const fsm &FSM1, const fsm &FSM2); - - /*! - * \brief Creates an FSMS representing n stages through the originial FSM (AKA radix-n FSM). - * - * \param FSM Original FSMs - * \param n Number of stages. - */ - fsm(const fsm &FSM, int n); - int I() const { return d_I; } - int S() const { return d_S; } - int O() const { return d_O; } - const std::vector<int> & NS() const { return d_NS; } - const std::vector<int> & OS() const { return d_OS; } - const std::vector< std::vector<int> > & PS() const { return d_PS; } - const std::vector< std::vector<int> > & PI() const { return d_PI; } - const std::vector<int> & TMi() const { return d_TMi; } - const std::vector<int> & TMl() const { return d_TMl; } - - /*! - * \brief Creates an svg image of the trellis representation. - * - * \param filename filename - * \param number_stages ???? - */ - void write_trellis_svg(std::string filename ,int number_stages); - - /*! - * \brief Write the FSMS to a file. - * - * \param filename filename - */ - void write_fsm_txt(std::string filename); - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_TRELLIS_FSM_H */ diff --git a/gr-trellis/include/trellis/interleaver.h b/gr-trellis/include/trellis/interleaver.h deleted file mode 100644 index 35fff0ac88..0000000000 --- a/gr-trellis/include/trellis/interleaver.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2002,2012 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_TRELLIS_INTERLEAVER_H -#define INCLUDED_TRELLIS_INTERLEAVER_H - -#include <trellis/api.h> -#include <vector> - -namespace gr { - namespace trellis { - - /*! - * \brief INTERLEAVER class - * \ingroup trellis_coding_blk - */ - class TRELLIS_API interleaver - { - private: - int d_K; - std::vector<int> d_INTER; - std::vector<int> d_DEINTER; - - public: - interleaver(); - interleaver(const interleaver & INTERLEAVER); - interleaver(int K, const std::vector<int> & INTER); - interleaver(const char *name); - interleaver(int K, int seed); - int K () const { return d_K; } - const std::vector<int> & INTER() const { return d_INTER; } - const std::vector<int> & DEINTER() const { return d_DEINTER; } - void write_interleaver_txt(std::string filename); - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_TRELLIS_INTERLEAVER_H */ diff --git a/gr-trellis/include/trellis/metrics_X.h.t b/gr-trellis/include/trellis/metrics_X.h.t deleted file mode 100644 index d0b8806b62..0000000000 --- a/gr-trellis/include/trellis/metrics_X.h.t +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/calc_metric.h> -#include <gnuradio/block.h> - -namespace gr { - namespace trellis { - - /*! - * \brief Evaluate metrics for use by the Viterbi algorithm. - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(int O, int D, const std::vector<@I_TYPE@> &TABLE, - digital::trellis_metric_type_t TYPE); - - virtual int O() const = 0; - virtual int D() const = 0; - virtual digital::trellis_metric_type_t TYPE() const = 0; - virtual std::vector<@I_TYPE@> TABLE() const = 0; - virtual void set_TABLE(const std::vector<@I_TYPE@> &table) = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ diff --git a/gr-trellis/include/trellis/pccc_decoder_X.h.t b/gr-trellis/include/trellis/pccc_decoder_X.h.t deleted file mode 100644 index 7f87250bec..0000000000 --- a/gr-trellis/include/trellis/pccc_decoder_X.h.t +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/interleaver.h> -#include <trellis/siso_type.h> -#include <gnuradio/block.h> -#include <vector> - -namespace gr { - namespace trellis { - - /*! - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(const fsm &FSM1, int ST10, int ST1K, - const fsm &FSM2, int ST20, int ST2K, - const interleaver &INTERLEAVER, - int blocklength, - int repetitions, - siso_type_t SISO_TYPE); - - virtual fsm FSM1() const = 0; - virtual fsm FSM2() const = 0; - virtual int ST10() const = 0; - virtual int ST1K() const = 0; - virtual int ST20() const = 0; - virtual int ST2K() const = 0; - virtual interleaver INTERLEAVER() const = 0; - virtual int blocklength() const = 0; - virtual int repetitions() const = 0; - virtual siso_type_t SISO_TYPE() const = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ diff --git a/gr-trellis/include/trellis/pccc_decoder_combined_XX.h.t b/gr-trellis/include/trellis/pccc_decoder_combined_XX.h.t deleted file mode 100644 index be9db5a146..0000000000 --- a/gr-trellis/include/trellis/pccc_decoder_combined_XX.h.t +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/interleaver.h> -#include <trellis/calc_metric.h> -#include <trellis/siso_type.h> -#include <gnuradio/block.h> -#include <vector> - -namespace gr { - namespace trellis { - - /*! - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(const fsm &FSMo, int STo0, int SToK, - const fsm &FSMi, int STi0, int STiK, - const interleaver &INTERLEAVER, - int blocklength, - int repetitions, - siso_type_t SISO_TYPE, - int D, - const std::vector<@I_TYPE@> &TABLE, - digital::trellis_metric_type_t METRIC_TYPE, - float scaling); - - virtual fsm FSM1() const = 0; - virtual fsm FSM2() const = 0; - virtual int ST10() const = 0; - virtual int ST1K() const = 0; - virtual int ST20() const = 0; - virtual int ST2K() const = 0; - virtual interleaver INTERLEAVER() const = 0; - virtual int blocklength() const = 0; - virtual int repetitions() const = 0; - virtual int D() const = 0; - virtual std::vector<@I_TYPE@> TABLE() const = 0; - virtual digital::trellis_metric_type_t METRIC_TYPE() const = 0; - virtual siso_type_t SISO_TYPE() const = 0; - virtual float scaling() const = 0; - virtual void set_scaling(float scaling) = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ diff --git a/gr-trellis/include/trellis/pccc_encoder_XX.h.t b/gr-trellis/include/trellis/pccc_encoder_XX.h.t deleted file mode 100644 index c5d4a2f253..0000000000 --- a/gr-trellis/include/trellis/pccc_encoder_XX.h.t +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/interleaver.h> -#include <gnuradio/sync_block.h> -#include <vector> - -namespace gr { - namespace trellis { - - /*! - * \brief PCCC encoder. - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public sync_block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(const fsm &FSM1, int ST1, - const fsm &FSM2, int ST2, - const interleaver &INTERLEAVER, - int blocklength); - - virtual fsm FSM1() const = 0; - virtual int ST1() const = 0; - virtual fsm FSM2() const = 0; - virtual int ST2() const = 0; - virtual interleaver INTERLEAVER() const = 0; - virtual int blocklength() const = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ diff --git a/gr-trellis/include/trellis/permutation.h b/gr-trellis/include/trellis/permutation.h deleted file mode 100644 index 7bac7340d9..0000000000 --- a/gr-trellis/include/trellis/permutation.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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_TRELLIS_PERMUTATION_H -#define INCLUDED_TRELLIS_PERMUTATION_H - -#include <trellis/api.h> -#include <vector> -#include <gnuradio/sync_block.h> - -namespace gr { - namespace trellis { - - /*! - * \brief Permutation. - * \ingroup trellis_coding_blk - */ - class TRELLIS_API permutation : virtual public sync_block - { - public: - // gr::trellis::permutation::sptr - typedef boost::shared_ptr<permutation> sptr; - - static sptr make(int K, const std::vector<int> &TABLE, - int SYMS_PER_BLOCK, size_t NBYTES); - - virtual int K() const = 0; - virtual const std::vector<int> & TABLE() const = 0; - virtual int SYMS_PER_BLOCK() const = 0; - virtual size_t BYTES_PER_SYMBOL() const = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_TRELLIS_PERMUTATION_H */ diff --git a/gr-trellis/include/trellis/quicksort_index.h b/gr-trellis/include/trellis/quicksort_index.h deleted file mode 100644 index 402962172a..0000000000 --- a/gr-trellis/include/trellis/quicksort_index.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2007,2012 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_QUICKSORT_INDEX_H -#define INCLUDED_QUICKSORT_INDEX_H - -#include <vector> - -namespace gr { - namespace trellis { - - template <class T> - void SWAP(T &a, T &b); - - template <class T> - void quicksort_index(std::vector<T> &p, std::vector<int> &index, - int left, int right); - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_QUICKSORT_INDEX_H */ diff --git a/gr-trellis/include/trellis/sccc_decoder_X.h.t b/gr-trellis/include/trellis/sccc_decoder_X.h.t deleted file mode 100644 index 1e19bbe950..0000000000 --- a/gr-trellis/include/trellis/sccc_decoder_X.h.t +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/interleaver.h> -#include <trellis/siso_type.h> -#include <gnuradio/block.h> -#include <vector> - -namespace gr { - namespace trellis { - - /*! - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(const fsm &FSMo, int STo0, int SToK, - const fsm &FSMi, int STi0, int STiK, - const interleaver &INTERLEAVER, - int blocklength, - int repetitions, - siso_type_t SISO_TYPE); - - virtual fsm FSMo() const = 0; - virtual fsm FSMi() const = 0; - virtual int STo0() const = 0; - virtual int SToK() const = 0; - virtual int STi0() const = 0; - virtual int STiK() const = 0; - virtual interleaver INTERLEAVER() const = 0; - virtual int blocklength() const = 0; - virtual int repetitions() const = 0; - virtual siso_type_t SISO_TYPE() const = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ diff --git a/gr-trellis/include/trellis/sccc_decoder_combined_XX.h.t b/gr-trellis/include/trellis/sccc_decoder_combined_XX.h.t deleted file mode 100644 index a7c7c4c723..0000000000 --- a/gr-trellis/include/trellis/sccc_decoder_combined_XX.h.t +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/interleaver.h> -#include <trellis/calc_metric.h> -#include <trellis/siso_type.h> -#include <gnuradio/block.h> -#include <vector> - -namespace gr { - namespace trellis { - - /*! - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(const fsm &FSMo, int STo0, int SToK, - const fsm &FSMi, int STi0, int STiK, - const interleaver &INTERLEAVER, - int blocklength, - int repetitions, - siso_type_t SISO_TYPE, - int D, - const std::vector<@I_TYPE@> &TABLE, - digital::trellis_metric_type_t METRIC_TYPE, - float scaling); - - virtual fsm FSMo() const = 0; - virtual fsm FSMi() const = 0; - virtual int STo0() const = 0; - virtual int SToK() const = 0; - virtual int STi0() const = 0; - virtual int STiK() const = 0; - virtual interleaver INTERLEAVER() const = 0; - virtual int blocklength() const = 0; - virtual int repetitions() const = 0; - virtual int D() const = 0; - virtual std::vector<@I_TYPE@> TABLE() const = 0; - virtual digital::trellis_metric_type_t METRIC_TYPE() const = 0; - virtual siso_type_t SISO_TYPE() const = 0; - virtual float scaling() const = 0; - virtual void set_scaling(float scaling) = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ diff --git a/gr-trellis/include/trellis/sccc_encoder_XX.h.t b/gr-trellis/include/trellis/sccc_encoder_XX.h.t deleted file mode 100644 index 3c1d334d08..0000000000 --- a/gr-trellis/include/trellis/sccc_encoder_XX.h.t +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/interleaver.h> -#include <gnuradio/sync_block.h> -#include <vector> - -namespace gr { - namespace trellis { - - /*! - * \brief SCCC encoder. - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public sync_block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(const fsm &FSMo, int STo, - const fsm &FSMi, int STi, - const interleaver &INTERLEAVER, - int blocklength); - - virtual fsm FSMo() const = 0; - virtual int STo() const = 0; - virtual fsm FSMi() const = 0; - virtual int STi() const = 0; - virtual interleaver INTERLEAVER() const = 0; - virtual int blocklength() const = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ diff --git a/gr-trellis/include/trellis/siso_combined_f.h b/gr-trellis/include/trellis/siso_combined_f.h deleted file mode 100644 index 0997b3fdfa..0000000000 --- a/gr-trellis/include/trellis/siso_combined_f.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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_TRELLIS_SISO_COMBINED_F_H -#define INCLUDED_TRELLIS_SISO_COMBINED_F_H - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/siso_type.h> -#include <trellis/calc_metric.h> -#include <trellis/core_algorithms.h> -#include <gnuradio/block.h> - -namespace gr { - namespace trellis { - - /*! - * \ingroup trellis_coding_blk - */ - class TRELLIS_API siso_combined_f : virtual public block - { - public: - // gr::trellis::siso_combined_f::sptr - typedef boost::shared_ptr<siso_combined_f> sptr; - - static sptr make(const fsm &FSM, int K, - int S0, int SK, - bool POSTI, bool POSTO, - siso_type_t d_SISO_TYPE, - int D, - const std::vector<float> &TABLE, - digital::trellis_metric_type_t TYPE); - - virtual fsm FSM() const = 0; - virtual int K() const = 0; - virtual int S0() const = 0; - virtual int SK() const = 0; - virtual bool POSTI() const = 0; - virtual bool POSTO() const = 0; - virtual siso_type_t SISO_TYPE() const = 0; - virtual int D() const = 0; - virtual std::vector<float> TABLE() const = 0; - virtual digital::trellis_metric_type_t TYPE() const = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_TRELLIS_SISO_COMBINED_F_H */ diff --git a/gr-trellis/include/trellis/siso_f.h b/gr-trellis/include/trellis/siso_f.h deleted file mode 100644 index 7b5351a838..0000000000 --- a/gr-trellis/include/trellis/siso_f.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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_TRELLIS_SISO_F_H -#define INCLUDED_TRELLIS_SISO_F_H - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/siso_type.h> -#include <trellis/core_algorithms.h> -#include <gnuradio/block.h> - -namespace gr { - namespace trellis { - - /*! - * \ingroup trellis_coding_blk - */ - class TRELLIS_API siso_f : virtual public block - { - public: - // gr::trellis::siso_f::sptr - typedef boost::shared_ptr<siso_f> sptr; - - static sptr make(const fsm &FSM, int K, - int S0, int SK, - bool POSTI, bool POSTO, - siso_type_t d_SISO_TYPE); - - virtual fsm FSM() const = 0; - virtual int K() const = 0; - virtual int S0() const = 0; - virtual int SK() const = 0; - virtual bool POSTI() const = 0; - virtual bool POSTO() const = 0; - virtual siso_type_t SISO_TYPE() const = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_TRELLIS_SISO_F_H */ diff --git a/gr-trellis/include/trellis/siso_type.h b/gr-trellis/include/trellis/siso_type.h deleted file mode 100644 index 9167381164..0000000000 --- a/gr-trellis/include/trellis/siso_type.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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_TRELLIS_SISO_TYPE_H -#define INCLUDED_TRELLIS_SISO_TYPE_H - -namespace gr { - namespace trellis { - - typedef enum { - TRELLIS_MIN_SUM = 200, - TRELLIS_SUM_PRODUCT - } siso_type_t; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* INCLUDED_TRELLIS_SISO_TYPE_H */ diff --git a/gr-trellis/include/trellis/viterbi_X.h.t b/gr-trellis/include/trellis/viterbi_X.h.t deleted file mode 100644 index 574888ec12..0000000000 --- a/gr-trellis/include/trellis/viterbi_X.h.t +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/core_algorithms.h> -#include <gnuradio/block.h> - -namespace gr { - namespace trellis { - - /*! - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(const fsm &FSM, int K, - int S0, int SK); - - virtual fsm FSM() const = 0; - virtual int K() const = 0; - virtual int S0() const = 0; - virtual int SK() const = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ diff --git a/gr-trellis/include/trellis/viterbi_combined_XX.h.t b/gr-trellis/include/trellis/viterbi_combined_XX.h.t deleted file mode 100644 index 465b5f518f..0000000000 --- a/gr-trellis/include/trellis/viterbi_combined_XX.h.t +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 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. - */ - -// @WARNING@ - -#ifndef @GUARD_NAME@ -#define @GUARD_NAME@ - -#include <trellis/api.h> -#include <trellis/fsm.h> -#include <trellis/calc_metric.h> -#include <trellis/core_algorithms.h> -#include <gnuradio/block.h> - -namespace gr { - namespace trellis { - - /*! - * \ingroup trellis_coding_blk - */ - class TRELLIS_API @NAME@ : virtual public block - { - public: - // gr::trellis::@BASE_NAME@::sptr - typedef boost::shared_ptr<@BASE_NAME@> sptr; - - static sptr make(const fsm &FSM, int K, - int S0, int SK, int D, - const std::vector<@I_TYPE@> &TABLE, - digital::trellis_metric_type_t TYPE); - - virtual fsm FSM() const = 0; - virtual int K() const = 0; - virtual int S0() const = 0; - virtual int SK() const = 0; - virtual int D() const = 0; - virtual std::vector<@I_TYPE@> TABLE() const = 0; - virtual digital::trellis_metric_type_t TYPE() const = 0; - virtual void set_TABLE (const std::vector<@I_TYPE@> &table) = 0; - }; - - } /* namespace trellis */ -} /* namespace gr */ - -#endif /* @GUARD_NAME@ */ |