summaryrefslogtreecommitdiff
path: root/gr-analog/include/analog
diff options
context:
space:
mode:
Diffstat (limited to 'gr-analog/include/analog')
-rw-r--r--gr-analog/include/analog/CMakeLists.txt112
-rw-r--r--gr-analog/include/analog/agc.h136
-rw-r--r--gr-analog/include/analog/agc2.h160
-rw-r--r--gr-analog/include/analog/agc2_cc.h65
-rw-r--r--gr-analog/include/analog/agc2_ff.h65
-rw-r--r--gr-analog/include/analog/agc_cc.h62
-rw-r--r--gr-analog/include/analog/agc_ff.h62
-rw-r--r--gr-analog/include/analog/api.h33
-rw-r--r--gr-analog/include/analog/cpfsk_bc.h59
-rw-r--r--gr-analog/include/analog/cpm.h86
-rw-r--r--gr-analog/include/analog/ctcss_squelch_ff.h69
-rw-r--r--gr-analog/include/analog/dpll_bb.h59
-rw-r--r--gr-analog/include/analog/feedforward_agc_cc.h48
-rw-r--r--gr-analog/include/analog/fmdet_cf.h70
-rw-r--r--gr-analog/include/analog/frequency_modulator_fc.h53
-rw-r--r--gr-analog/include/analog/lfsr.h162
-rw-r--r--gr-analog/include/analog/noise_source_X.h.t68
-rw-r--r--gr-analog/include/analog/noise_type.h36
-rw-r--r--gr-analog/include/analog/phase_modulator_fc.h63
-rw-r--r--gr-analog/include/analog/pll_carriertracking_cc.h88
-rw-r--r--gr-analog/include/analog/pll_freqdet_cf.h83
-rw-r--r--gr-analog/include/analog/pll_refout_cc.h66
-rw-r--r--gr-analog/include/analog/probe_avg_mag_sqrd_c.h67
-rw-r--r--gr-analog/include/analog/probe_avg_mag_sqrd_cf.h69
-rw-r--r--gr-analog/include/analog/probe_avg_mag_sqrd_f.h69
-rw-r--r--gr-analog/include/analog/pwr_squelch_cc.h75
-rw-r--r--gr-analog/include/analog/pwr_squelch_ff.h75
-rw-r--r--gr-analog/include/analog/quadrature_demod_cf.h54
-rw-r--r--gr-analog/include/analog/rail_ff.h54
-rw-r--r--gr-analog/include/analog/rotator.h63
-rw-r--r--gr-analog/include/analog/sig_source_X.h.t75
-rw-r--r--gr-analog/include/analog/sig_source_waveform.h41
-rw-r--r--gr-analog/include/analog/simple_squelch_cc.h62
-rw-r--r--gr-analog/include/analog/sincos.h38
-rw-r--r--gr-analog/include/analog/squelch_base_cc.h56
-rw-r--r--gr-analog/include/analog/squelch_base_ff.h56
36 files changed, 0 insertions, 2559 deletions
diff --git a/gr-analog/include/analog/CMakeLists.txt b/gr-analog/include/analog/CMakeLists.txt
deleted file mode 100644
index b113dacc4..000000000
--- a/gr-analog/include/analog/CMakeLists.txt
+++ /dev/null
@@ -1,112 +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_CORE_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, 'analog')
- 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(noise_source_X s i f c)
-expand_h(sig_source_X s i f c)
-
-add_custom_target(analog_generated_includes DEPENDS
- ${generated_includes}
-)
-
-########################################################################
-# Install header files
-########################################################################
-install(FILES
- ${generated_includes}
- api.h
- cpm.h
- agc.h
- agc2.h
- noise_type.h
- squelch_base_ff.h
- agc_cc.h
- agc_ff.h
- agc2_cc.h
- agc2_ff.h
- cpfsk_bc.h
- ctcss_squelch_ff.h
- dpll_bb.h
- feedforward_agc_cc.h
- fmdet_cf.h
- frequency_modulator_fc.h
- phase_modulator_fc.h
- pll_carriertracking_cc.h
- pll_freqdet_cf.h
- pll_refout_cc.h
- probe_avg_mag_sqrd_c.h
- probe_avg_mag_sqrd_cf.h
- probe_avg_mag_sqrd_f.h
- pwr_squelch_cc.h
- pwr_squelch_ff.h
- quadrature_demod_cf.h
- rail_ff.h
- rotator.h
- sig_source_waveform.h
- simple_squelch_cc.h
- DESTINATION ${GR_INCLUDE_DIR}/gnuradio/analog
- COMPONENT "analog_devel"
-)
-
diff --git a/gr-analog/include/analog/agc.h b/gr-analog/include/analog/agc.h
deleted file mode 100644
index 92d777fa1..000000000
--- a/gr-analog/include/analog/agc.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_AGC_H
-#define INCLUDED_ANALOG_AGC_H
-
-#include <analog/api.h>
-#include <gr_complex.h>
-#include <math.h>
-
-namespace gr {
- namespace analog {
- namespace kernel {
-
- /*!
- * \brief high performance Automatic Gain Control class for complex signals.
- *
- * For Power the absolute value of the complex number is used.
- */
- class ANALOG_API agc_cc
- {
- public:
- agc_cc(float rate = 1e-4, float reference = 1.0,
- float gain = 1.0, float max_gain = 0.0)
- : _rate(rate), _reference(reference),
- _gain(gain), _max_gain(max_gain) {};
-
- virtual ~agc_cc() {};
-
- float rate() const { return _rate; }
- float reference() const { return _reference; }
- float gain() const { return _gain; }
- float max_gain() const { return _max_gain; }
-
- void set_rate(float rate) { _rate = rate; }
- void set_reference(float reference) { _reference = reference; }
- void set_gain(float gain) { _gain = gain; }
- void set_max_gain(float max_gain) { _max_gain = max_gain; }
-
- gr_complex scale(gr_complex input)
- {
- gr_complex output = input * _gain;
-
- _gain += _rate * (_reference - sqrt(output.real()*output.real() +
- output.imag()*output.imag()));
- if(_max_gain > 0.0 && _gain > _max_gain) {
- _gain = _max_gain;
- }
- return output;
- }
-
- void scaleN(gr_complex output[], const gr_complex input[], unsigned n)
- {
- for(unsigned i = 0; i < n; i++) {
- output[i] = scale (input[i]);
- }
- }
-
- protected:
- float _rate; // adjustment rate
- float _reference; // reference value
- float _gain; // current gain
- float _max_gain; // max allowable gain
- };
-
- /*!
- * \brief high performance Automatic Gain Control class for float signals.
- *
- * Power is approximated by absolute value
- */
- class ANALOG_API agc_ff
- {
- public:
- agc_ff(float rate = 1e-4, float reference = 1.0,
- float gain = 1.0, float max_gain = 0.0)
- : _rate(rate), _reference(reference), _gain(gain),
- _max_gain(max_gain) {};
-
- ~agc_ff() {};
-
- float rate () const { return _rate; }
- float reference () const { return _reference; }
- float gain () const { return _gain; }
- float max_gain () const { return _max_gain; }
-
- void set_rate (float rate) { _rate = rate; }
- void set_reference (float reference) { _reference = reference; }
- void set_gain (float gain) { _gain = gain; }
- void set_max_gain (float max_gain) { _max_gain = max_gain; }
-
- float scale (float input)
- {
- float output = input * _gain;
- _gain += (_reference - fabsf (output)) * _rate;
- if(_max_gain > 0.0 && _gain > _max_gain)
- _gain = _max_gain;
- return output;
- }
-
- void scaleN(float output[], const float input[], unsigned n)
- {
- for(unsigned i = 0; i < n; i++)
- output[i] = scale (input[i]);
- }
-
- protected:
- float _rate; // adjustment rate
- float _reference; // reference value
- float _gain; // current gain
- float _max_gain; // maximum gain
- };
-
- } /* namespace kernel */
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_AGC_H */
diff --git a/gr-analog/include/analog/agc2.h b/gr-analog/include/analog/agc2.h
deleted file mode 100644
index 75a203e9f..000000000
--- a/gr-analog/include/analog/agc2.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_AGC2_H
-#define INCLUDED_ANALOG_AGC2_H
-
-#include <analog/api.h>
-#include <gr_complex.h>
-#include <math.h>
-
-namespace gr {
- namespace analog {
- namespace kernel {
-
- /*!
- * \brief high performance Automatic Gain Control class
- *
- * For Power the absolute value of the complex number is used.
- */
- class ANALOG_API agc2_cc
- {
- public:
- agc2_cc(float attack_rate = 1e-1, float decay_rate = 1e-2,
- float reference = 1.0,
- float gain = 1.0, float max_gain = 0.0)
- : _attack_rate(attack_rate), _decay_rate(decay_rate),
- _reference(reference),
- _gain(gain), _max_gain(max_gain) {};
-
- float decay_rate() const { return _decay_rate; }
- float attack_rate() const { return _attack_rate; }
- float reference() const { return _reference; }
- float gain() const { return _gain; }
- float max_gain() const { return _max_gain; }
-
- void set_decay_rate(float rate) { _decay_rate = rate; }
- void set_attack_rate(float rate) { _attack_rate = rate; }
- void set_reference(float reference) { _reference = reference; }
- void set_gain(float gain) { _gain = gain; }
- void set_max_gain(float max_gain) { _max_gain = max_gain; }
-
- gr_complex scale(gr_complex input)
- {
- gr_complex output = input * _gain;
-
- float tmp = -_reference + sqrt(output.real()*output.real() +
- output.imag()*output.imag());
- float rate = _decay_rate;
- if((tmp) > _gain) {
- rate = _attack_rate;
- }
- _gain -= tmp*rate;
-
- // Not sure about this; will blow up if _gain < 0 (happens
- // when rates are too high), but is this the solution?
- if(_gain < 0.0)
- _gain = 10e-5;
-
- if(_max_gain > 0.0 && _gain > _max_gain) {
- _gain = _max_gain;
- }
- return output;
- }
-
- void scaleN(gr_complex output[], const gr_complex input[], unsigned n)
- {
- for(unsigned i = 0; i < n; i++)
- output[i] = scale (input[i]);
- }
-
- protected:
- float _attack_rate; // attack rate for fast changing signals
- float _decay_rate; // decay rate for slow changing signals
- float _reference; // reference value
- float _gain; // current gain
- float _max_gain; // max allowable gain
- };
-
-
- class ANALOG_API agc2_ff
- {
- public:
- agc2_ff(float attack_rate = 1e-1, float decay_rate = 1e-2,
- float reference = 1.0,
- float gain = 1.0, float max_gain = 0.0)
- : _attack_rate(attack_rate), _decay_rate(decay_rate),
- _reference(reference),
- _gain(gain), _max_gain(max_gain) {};
-
- float attack_rate() const { return _attack_rate; }
- float decay_rate() const { return _decay_rate; }
- float reference() const { return _reference; }
- float gain() const { return _gain; }
- float max_gain() const { return _max_gain; }
-
- void set_attack_rate(float rate) { _attack_rate = rate; }
- void set_decay_rate(float rate) { _decay_rate = rate; }
- void set_reference(float reference) { _reference = reference; }
- void set_gain(float gain) { _gain = gain; }
- void set_max_gain(float max_gain) { _max_gain = max_gain; }
-
- float scale(float input)
- {
- float output = input * _gain;
-
- float tmp = (fabsf(output)) - _reference;
- float rate = _decay_rate;
- if(fabsf(tmp) > _gain) {
- rate = _attack_rate;
- }
- _gain -= tmp*rate;
-
- // Not sure about this
- if(_gain < 0.0)
- _gain = 10e-5;
-
- if(_max_gain > 0.0 && _gain > _max_gain) {
- _gain = _max_gain;
- }
- return output;
- }
-
- void scaleN(float output[], const float input[], unsigned n)
- {
- for(unsigned i = 0; i < n; i++)
- output[i] = scale (input[i]);
- }
-
- protected:
- float _attack_rate; // attack_rate for fast changing signals
- float _decay_rate; // decay rate for slow changing signals
- float _reference; // reference value
- float _gain; // current gain
- float _max_gain; // maximum gain
- };
-
- } /* namespace kernel */
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_AGC2_H */
diff --git a/gr-analog/include/analog/agc2_cc.h b/gr-analog/include/analog/agc2_cc.h
deleted file mode 100644
index c922ccd4d..000000000
--- a/gr-analog/include/analog/agc2_cc.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_AGC2_CC_H
-#define INCLUDED_ANALOG_AGC2_CC_H
-
-#include <analog/api.h>
-#include <analog/agc2.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief high performance Automatic Gain Control class
- * \ingroup level_blk
- *
- * For Power the absolute value of the complex number is used.
- */
- class ANALOG_API agc2_cc : virtual public gr_sync_block
- {
- public:
- // gr::analog::agc2_cc::sptr
- typedef boost::shared_ptr<agc2_cc> sptr;
-
- static sptr make(float attack_rate = 1e-1, float decay_rate = 1e-2,
- float reference = 1.0,
- float gain = 1.0, float max_gain = 0.0);
-
- virtual float attack_rate() const = 0;
- virtual float decay_rate() const = 0;
- virtual float reference() const = 0;
- virtual float gain() const = 0;
- virtual float max_gain() const = 0;
-
- virtual void set_attack_rate(float rate) = 0;
- virtual void set_decay_rate(float rate) = 0;
- virtual void set_reference(float reference) = 0;
- virtual void set_gain(float gain) = 0;
- virtual void set_max_gain(float max_gain) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_AGC2_CC_H */
diff --git a/gr-analog/include/analog/agc2_ff.h b/gr-analog/include/analog/agc2_ff.h
deleted file mode 100644
index 27dd6d92e..000000000
--- a/gr-analog/include/analog/agc2_ff.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005,2006,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_ANALOG_AGC2_FF_H
-#define INCLUDED_ANALOG_AGC2_FF_H
-
-#include <analog/api.h>
-#include <analog/agc2.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief high performance Automatic Gain Control class
- *
- * \ingroup level_blk
- * Power is approximated by absolute value
- */
- class ANALOG_API agc2_ff : virtual public gr_sync_block
- {
- public:
- // gr::analog::agc2_ff::sptr
- typedef boost::shared_ptr<agc2_ff> sptr;
-
- static sptr make(float attack_rate = 1e-1, float decay_rate = 1e-2,
- float reference = 1.0,
- float gain = 1.0, float max_gain = 0.0);
-
- virtual float attack_rate() const = 0;
- virtual float decay_rate() const = 0;
- virtual float reference() const = 0;
- virtual float gain() const = 0;
- virtual float max_gain() const = 0;
-
- virtual void set_attack_rate(float rate) = 0;
- virtual void set_decay_rate(float rate) = 0;
- virtual void set_reference(float reference) = 0;
- virtual void set_gain(float gain) = 0;
- virtual void set_max_gain(float max_gain) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_AGC2_FF_H */
diff --git a/gr-analog/include/analog/agc_cc.h b/gr-analog/include/analog/agc_cc.h
deleted file mode 100644
index b2b1a9b43..000000000
--- a/gr-analog/include/analog/agc_cc.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_AGC_CC_H
-#define INCLUDED_ANALOG_AGC_CC_H
-
-#include <analog/api.h>
-#include <analog/agc.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief high performance Automatic Gain Control class
- * \ingroup level_blk
- *
- * For Power the absolute value of the complex number is used.
- */
- class ANALOG_API agc_cc : virtual public gr_sync_block
- {
- public:
- // gr::analog::agc_cc::sptr
- typedef boost::shared_ptr<agc_cc> sptr;
-
- static sptr make(float rate = 1e-4, float reference = 1.0,
- float gain = 1.0, float max_gain = 0.0);
-
- virtual float rate() const = 0;
- virtual float reference() const = 0;
- virtual float gain() const = 0;
- virtual float max_gain() const = 0;
-
- virtual void set_rate(float rate) = 0;
- virtual void set_reference(float reference) = 0;
- virtual void set_gain(float gain) = 0;
- virtual void set_max_gain(float max_gain) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_AGC_CC_H */
diff --git a/gr-analog/include/analog/agc_ff.h b/gr-analog/include/analog/agc_ff.h
deleted file mode 100644
index 30d1ae1fd..000000000
--- a/gr-analog/include/analog/agc_ff.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005,2006,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_ANALOG_AGC_FF_H
-#define INCLUDED_ANALOG_AGC_FF_H
-
-#include <analog/api.h>
-#include <analog/agc.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief high performance Automatic Gain Control class
- * \ingroup level_blk
- *
- * Power is approximated by absolute value
- */
- class ANALOG_API agc_ff : virtual public gr_sync_block
- {
- public:
- // gr::analog::agc_ff::sptr
- typedef boost::shared_ptr<agc_ff> sptr;
-
- static sptr make(float rate = 1e-4, float reference = 1.0,
- float gain = 1.0, float max_gain = 0.0);
-
- virtual float rate() const = 0;
- virtual float reference() const = 0;
- virtual float gain() const = 0;
- virtual float max_gain() const = 0;
-
- virtual void set_rate(float rate) = 0;
- virtual void set_reference(float reference) = 0;
- virtual void set_gain(float gain) = 0;
- virtual void set_max_gain(float max_gain) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_AGC_FF_H */
diff --git a/gr-analog/include/analog/api.h b/gr-analog/include/analog/api.h
deleted file mode 100644
index b7dee4693..000000000
--- a/gr-analog/include/analog/api.h
+++ /dev/null
@@ -1,33 +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.
- */
-
-#ifndef INCLUDED_ANALOG_API_H
-#define INCLUDED_ANALOG_API_H
-
-#include <gruel/attributes.h>
-
-#ifdef gnuradio_analog_EXPORTS
-# define ANALOG_API __GR_ATTR_EXPORT
-#else
-# define ANALOG_API __GR_ATTR_IMPORT
-#endif
-
-#endif /* INCLUDED_ANALOG_API_H */
diff --git a/gr-analog/include/analog/cpfsk_bc.h b/gr-analog/include/analog/cpfsk_bc.h
deleted file mode 100644
index 904730e2b..000000000
--- a/gr-analog/include/analog/cpfsk_bc.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008,2012 Free Software Foundation, Inc.
- *
- * 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_ANALOG_CPFSK_BC_H
-#define INCLUDED_ANALOG_CPFSK_BC_H
-
-#include <analog/api.h>
-#include <gr_sync_interpolator.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Perform continuous phase 2-level frequency shift keying modulation
- * on an input stream of unpacked bits.
- * \ingroup modulation_blk
- */
- class ANALOG_API cpfsk_bc : virtual public gr_sync_interpolator
- {
- public:
- // gr::analog::cpfsk_bc::sptr
- typedef boost::shared_ptr<cpfsk_bc> sptr;
-
- /*!
- * \brief Make a CPFSK block.
- *
- * \param k modulation index
- * \param ampl output amplitude
- * \param samples_per_sym number of output samples per input bit
- */
- static sptr make(float k, float ampl, int samples_per_sym);
-
- virtual void set_amplitude(float amplitude) = 0;
- virtual float amplitude() = 0;
- virtual float freq() = 0;
- virtual float phase() = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_CPFSK_BC_H */
diff --git a/gr-analog/include/analog/cpm.h b/gr-analog/include/analog/cpm.h
deleted file mode 100644
index d22e02321..000000000
--- a/gr-analog/include/analog/cpm.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2010,2012 Free Software Foundation, Inc.
- *
- * 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_ANALOG_CPM_H
-#define INCLUDED_ANALOG_CPM_H
-
-#include <analog/api.h>
-#include <vector>
-
-namespace gr {
- namespace analog {
-
- class ANALOG_API cpm
- {
- public:
- enum cpm_type {
- LRC,
- LSRC,
- LREC,
- TFM,
- GAUSSIAN,
- GENERIC = 999
- };
-
- /*! \brief Return the taps for an interpolating FIR filter (gr_interp_fir_filter_fff).
- *
- * These taps represent the phase response \f$g(k)\f$ for use in a CPM modulator,
- * see also gr_cpmmod_bc.
- *
- * \param type The CPM type (Rectangular, Raised Cosine, Spectral Raised Cosine,
- * Tamed FM or Gaussian).
- * \param samples_per_sym Samples per symbol.
- * \param L The length of the phase response in symbols.
- * \param beta For Spectral Raised Cosine, this is the rolloff factor. For Gaussian
- * phase responses, this the 3dB-time-bandwidth product. For all other
- * cases, it is ignored.
- *
- * Output: returns a vector of length \a K = \p samples_per_sym x \p L.
- * This can be used directly in an interpolating FIR filter such as
- * gr_interp_fir_filter_fff with interpolation factor \p samples_per_sym.
- *
- * All phase responses are normalised s.t. \f$ \sum_{k=0}^{K-1} g(k) = 1\f$; this will cause
- * a maximum phase change of \f$ h \cdot \pi\f$ between two symbols, where \a h is the
- * modulation index.
- *
- * The following phase responses can be generated:
- * - LREC: Rectangular phase response.
- * - LRC: Raised cosine phase response, looks like 1 - cos(x).
- * - LSRC: Spectral raised cosine. This requires a rolloff factor beta.
- * The phase response is the Fourier transform of raised cosine
- * function.
- * - TFM: Tamed frequency modulation. This scheme minimizes phase change for
- * rapidly varying input symbols.
- * - GAUSSIAN: A Gaussian phase response. For a modulation index h = 1/2, this
- * results in GMSK.
- *
- * A short description of all these phase responses can be found in [1].
- *
- * [1]: Anderson, Aulin and Sundberg; Digital Phase Modulation
- */
- static std::vector<float>
- phase_response(cpm_type type, unsigned samples_per_sym, unsigned L, double beta=0.3);
- };
- } // namespace analog
-} // namespace gr
-
-#endif /* INCLUDED_ANALOG_CPM_H */
-
diff --git a/gr-analog/include/analog/ctcss_squelch_ff.h b/gr-analog/include/analog/ctcss_squelch_ff.h
deleted file mode 100644
index f88029917..000000000
--- a/gr-analog/include/analog/ctcss_squelch_ff.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_CTCSS_SQUELCH_FF_H
-#define INCLUDED_ANALOG_CTCSS_SQUELCH_FF_H
-
-#include <analog/api.h>
-#include <analog/squelch_base_ff.h>
-#include <gr_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief gate or zero output if ctcss tone not present
- * \ingroup level_blk
- */
- class ANALOG_API ctcss_squelch_ff :
- public squelch_base_ff, virtual public gr_block
- {
- protected:
- virtual void update_state(const float &in) = 0;
- virtual bool mute() const = 0;
-
- public:
- // gr::analog::ctcss_squelch_ff::sptr
- typedef boost::shared_ptr<ctcss_squelch_ff> sptr;
-
- /*!
- * \brief Make CTCSS tone squelch block.
- */
- static sptr make(int rate, float freq, float level,
- int len, int ramp, bool gate);
-
- virtual std::vector<float> squelch_range() const = 0;
- virtual float level() const = 0;
- virtual void set_level(float level) = 0;
- virtual int len() const = 0;
-
- virtual int ramp() const = 0;
- virtual void set_ramp(int ramp) = 0;
- virtual bool gate() const = 0;
- virtual void set_gate(bool gate) = 0;
- virtual bool unmuted() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_CTCSS_SQUELCH_FF_H */
diff --git a/gr-analog/include/analog/dpll_bb.h b/gr-analog/include/analog/dpll_bb.h
deleted file mode 100644
index 78efb8fde..000000000
--- a/gr-analog/include/analog/dpll_bb.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 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_ANALOG_DPLL_BB_H
-#define INCLUDED_ANALOG_DPLL_BB_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Detect the peak of a signal
- * \ingroup level_blk
- *
- * If a peak is detected, this block outputs a 1,
- * or it outputs 0's.
- */
- class ANALOG_API dpll_bb : virtual public gr_sync_block
- {
- public:
- // gr::analog::dpll_bb::sptr
- typedef boost::shared_ptr<dpll_bb> sptr;
-
- static sptr make(float period, float gain);
-
- virtual void set_gain(float gain) = 0;
- virtual void set_decision_threshold(float thresh) = 0;
-
- virtual float gain() const = 0;
- virtual float freq() const = 0;
- virtual float phase() const = 0;
- virtual float decision_threshold() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_DPLL_BB_H */
diff --git a/gr-analog/include/analog/feedforward_agc_cc.h b/gr-analog/include/analog/feedforward_agc_cc.h
deleted file mode 100644
index 9e259a4eb..000000000
--- a/gr-analog/include/analog/feedforward_agc_cc.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_FEEDFORWARD_AGC_CC_H
-#define INCLUDED_ANALOG_FEEDFORWARD_AGC_CC_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Non-causal AGC which computes required gain based on max absolute value over nsamples
- * \ingroup level_blk
- */
- class ANALOG_API feedforward_agc_cc : virtual public gr_sync_block
- {
- public:
- // gr::analog::feedforward_agc_cc::sptr
- typedef boost::shared_ptr<feedforward_agc_cc> sptr;
-
- static sptr make(int nsamples, float reference);
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_GR_FEEDFORWARD_AGC_CC_H */
diff --git a/gr-analog/include/analog/fmdet_cf.h b/gr-analog/include/analog/fmdet_cf.h
deleted file mode 100644
index 6878775e6..000000000
--- a/gr-analog/include/analog/fmdet_cf.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008,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_ANALOG_FMDET_CF_H
-#define INCLUDED_ANALOG_FMDET_CF_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Implements an IQ slope detector
- *
- * input: stream of complex; output: stream of floats
- *
- * This implements a limiting slope detector. The limiter is in
- * the normalization by the magnitude of the sample
- */
- class ANALOG_API fmdet_cf : virtual public gr_sync_block
- {
- public:
- // gr::analog::fmdet_cf::sptr
- typedef boost::shared_ptr<fmdet_cf> sptr;
-
- /*!
- * \brief Make FM detector block.
- *
- * \param samplerate sample rate of signal (is not used; to be removed)
- * \param freq_low lowest frequency of signal (Hz)
- * \param freq_high highest frequency of signal (Hz)
- * \param scl scale factor
- */
- static sptr make(float samplerate, float freq_low,
- float freq_high, float scl);
-
- virtual void set_scale(float scl) = 0;
- virtual void set_freq_range(float freq_low, float freq_high) = 0;
-
- virtual float freq() const = 0;
- virtual float freq_high() const = 0;
- virtual float freq_low() const = 0;
- virtual float scale() const = 0;
- virtual float bias() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_FMDET_CF_H */
diff --git a/gr-analog/include/analog/frequency_modulator_fc.h b/gr-analog/include/analog/frequency_modulator_fc.h
deleted file mode 100644
index 8706d513a..000000000
--- a/gr-analog/include/analog/frequency_modulator_fc.h
+++ /dev/null
@@ -1,53 +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_ANALOG_FREQUENCY_MODULATOR_FC_H
-#define INCLUDED_ANALOG_FREQUENCY_MODULATOR_FC_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Frequency modulator block
- * \ingroup modulation_blk
- *
- * float input; complex baseband output
- */
- class ANALOG_API frequency_modulator_fc : virtual public gr_sync_block
- {
- public:
- // gr::analog::frequency_modulator_fc::sptr
- typedef boost::shared_ptr<frequency_modulator_fc> sptr;
-
- static sptr make(double sensitivity);
-
- virtual void set_sensitivity(float sens) = 0;
- virtual float sensitivity() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_FREQUENCY_MODULATOR_FC_H */
diff --git a/gr-analog/include/analog/lfsr.h b/gr-analog/include/analog/lfsr.h
deleted file mode 100644
index 5cf2ec70d..000000000
--- a/gr-analog/include/analog/lfsr.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008,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_ANALOG_LFSR_H
-#define INCLUDED_ANALOG_LFSR_H
-
-#include <analog/api.h>
-#include <stdexcept>
-#include <stdint.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Fibonacci Linear Feedback Shift Register using specified
- * polynomial mask
- * \ingroup misc
- *
- * Generates a maximal length pseudo-random sequence of length
- * 2^degree-1
- *
- * Constructor: analog::lfsr(int mask, int seed, int reg_len);
- *
- * \param mask - polynomial coefficients representing the
- * locations of feedback taps from a shift register
- * which are xor'ed together to form the new high
- * order bit.
- *
- * Some common masks might be:
- * x^4 + x^3 + x^0 = 0x19
- * x^5 + x^3 + x^0 = 0x29
- * x^6 + x^5 + x^0 = 0x61
- *
- * \param seed - the initialization vector placed into the
- * register durring initialization. Low order bit
- * corresponds to x^0 coefficient -- the first to be
- * shifted as output.
- *
- * \param reg_len - specifies the length of the feedback shift
- * register to be used. Durring each iteration, the
- * register is rightshifted one and the new bit is
- * placed in bit reg_len. reg_len should generally be
- * at least order(mask) + 1
- *
- *
- * see http://en.wikipedia.org/wiki/Linear_feedback_shift_register
- * for more explanation.
- *
- * next_bit() - Standard LFSR operation
- *
- * Perform one cycle of the LFSR. The output bit is taken from
- * the shift register LSB. The shift register MSB is assigned from
- * the modulo 2 sum of the masked shift register.
- *
- * next_bit_scramble(unsigned char input) - Scramble an input stream
- *
- * Perform one cycle of the LFSR. The output bit is taken from
- * the shift register LSB. The shift register MSB is assigned from
- * the modulo 2 sum of the masked shift register and the input LSB.
- *
- * next_bit_descramble(unsigned char input) - Descramble an input stream
- *
- * Perform one cycle of the LFSR. The output bit is taken from
- * the modulo 2 sum of the masked shift register and the input LSB.
- * The shift register MSB is assigned from the LSB of the input.
- *
- * See http://en.wikipedia.org/wiki/Scrambler for operation of these
- * last two functions (see multiplicative scrambler.)
- */
- class lfsr
- {
- private:
- uint32_t d_shift_register;
- uint32_t d_mask;
- uint32_t d_seed;
- uint32_t d_shift_register_length; // less than 32
-
- static uint32_t
- popCount(uint32_t x)
- {
- uint32_t r = x - ((x >> 1) & 033333333333)
- - ((x >> 2) & 011111111111);
- return ((r + (r >> 3)) & 030707070707) % 63;
- }
-
- public:
- lfsr(uint32_t mask, uint32_t seed, uint32_t reg_len)
- : d_shift_register(seed),
- d_mask(mask),
- d_seed(seed),
- d_shift_register_length(reg_len)
- {
- if(reg_len > 31)
- throw std::invalid_argument("reg_len must be <= 31");
- }
-
- unsigned char next_bit()
- {
- unsigned char output = d_shift_register & 1;
- unsigned char newbit = popCount( d_shift_register & d_mask )%2;
- d_shift_register = ((d_shift_register>>1) | (newbit<<d_shift_register_length));
- return output;
- }
-
- unsigned char next_bit_scramble(unsigned char input)
- {
- unsigned char output = d_shift_register & 1;
- unsigned char newbit = (popCount( d_shift_register & d_mask )%2)^(input & 1);
- d_shift_register = ((d_shift_register>>1) | (newbit<<d_shift_register_length));
- return output;
- }
-
- unsigned char next_bit_descramble(unsigned char input)
- {
- unsigned char output = (popCount( d_shift_register & d_mask )%2)^(input & 1);
- unsigned char newbit = input & 1;
- d_shift_register = ((d_shift_register>>1) | (newbit<<d_shift_register_length));
- return output;
- }
-
- /*!
- * Reset shift register to initial seed value
- */
- void reset() { d_shift_register = d_seed; }
-
- /*!
- * Rotate the register through x number of bits
- * where we are just throwing away the results to get queued up correctly
- */
- void pre_shift(int num)
- {
- for(int i=0; i<num; i++) {
- next_bit();
- }
- }
-
- int mask() const { return d_mask; }
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_LFSR_H */
diff --git a/gr-analog/include/analog/noise_source_X.h.t b/gr-analog/include/analog/noise_source_X.h.t
deleted file mode 100644
index 9d1be6fed..000000000
--- a/gr-analog/include/analog/noise_source_X.h.t
+++ /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.
- */
-
-// @WARNING@
-
-#ifndef @GUARD_NAME@
-#define @GUARD_NAME@
-
-#include <analog/api.h>
-#include <analog/noise_type.h>
-#include <gr_sync_block.h>
-#include <gr_random.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Random number source
- * \ingroup source_blk
- *
- * \details
- * Generate random values from different distributions.
- * Currently, only Gaussian and uniform are enabled.
- */
- class ANALOG_API @BASE_NAME@ : virtual public gr_sync_block
- {
- public:
- // gr::analog::@BASE_NAME@::sptr
- typedef boost::shared_ptr<@BASE_NAME@> sptr;
-
- /*! \brief Make a noise source
- * \param type the random distribution to use (see analog/noise_type.h)
- * \param ampl a scaling factor for the output
- * \param seed seed for random generators. Note that for uniform and
- * Gaussian distributions, this should be a negative number.
- */
- static sptr make(noise_type_t type, float ampl, long seed);
-
- virtual void set_type(noise_type_t type) = 0;
- virtual void set_amplitude(float ampl) = 0;
-
- virtual noise_type_t type() const = 0;
- virtual float amplitude() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* @GUARD_NAME@ */
diff --git a/gr-analog/include/analog/noise_type.h b/gr-analog/include/analog/noise_type.h
deleted file mode 100644
index c3a2146b7..000000000
--- a/gr-analog/include/analog/noise_type.h
+++ /dev/null
@@ -1,36 +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_ANALOG_NOISE_TYPE_H
-#define INCLUDED_ANALOG_NOISE_TYPE_H
-
-namespace gr {
- namespace analog {
-
- typedef enum {
- GR_UNIFORM = 200, GR_GAUSSIAN, GR_LAPLACIAN, GR_IMPULSE
- } noise_type_t;
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_NOISE_TYPE_H */
diff --git a/gr-analog/include/analog/phase_modulator_fc.h b/gr-analog/include/analog/phase_modulator_fc.h
deleted file mode 100644
index 409de7804..000000000
--- a/gr-analog/include/analog/phase_modulator_fc.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005,2006,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_ANALOG_PHASE_MODULATOR_FC_H
-#define INCLUDED_ANALOG_PHASE_MODULATOR_FC_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Phase modulator block
- * \ingroup modulation_blk
- *
- * output = complex(cos(in*sensitivity), sin(in*sensitivity))
- *
- * Input stream 0: floats
- * Ouput stream 0: complex
- */
- class ANALOG_API phase_modulator_fc : virtual public gr_sync_block
- {
- public:
- // gr::analog::phase_modulator_fc::sptr
- typedef boost::shared_ptr<phase_modulator_fc> sptr;
-
- /* \brief Make a phase modulator block.
- *
- * \param sensitivity Phase change sensitivity of input amplitude.
- */
- static sptr make(double sensitivity);
-
- virtual double sensitivity() const = 0;
- virtual double phase() const = 0;
-
- virtual void set_sensitivity(double s) = 0;
- virtual void set_phase(double p) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_PHASE_MODULATOR_FC_H */
diff --git a/gr-analog/include/analog/pll_carriertracking_cc.h b/gr-analog/include/analog/pll_carriertracking_cc.h
deleted file mode 100644
index 3596429d4..000000000
--- a/gr-analog/include/analog/pll_carriertracking_cc.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2006,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_ANALOG_PLL_CARRIERTRACKING_CC_H
-#define INCLUDED_ANALOG_PLL_CARRIERTRACKING_CC_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Implements a PLL which locks to the input frequency and outputs the
- * input signal mixed with that carrier.
- * \ingroup sync_blk
- *
- * Input stream 0: complex
- * Output stream 0: complex
- *
- * This PLL locks onto a [possibly noisy] reference carrier on the
- * input and outputs that signal, downconverted to DC
- *
- * All settings max_freq and min_freq are in terms of radians per
- * sample, NOT HERTZ. The loop bandwidth determins the lock range
- * and should be set around pi/200 -- 2pi/100. \sa
- * pll_freqdet_cf, pll_carriertracking_cc
- */
- class ANALOG_API pll_carriertracking_cc : virtual public gr_sync_block
- {
- public:
- // gr::analog::pll_carriertracking_cc::sptr
- typedef boost::shared_ptr<pll_carriertracking_cc> sptr;
-
- /* \brief Make a carrier tracking PLL block.
- *
- * \param loop_bw: control loop's bandwidth parameter.
- * \param max_freq: maximum (normalized) frequency PLL will lock to.
- * \param min_freq: minimum (normalized) frequency PLL will lock to.
- */
- static sptr make(float loop_bw, float max_freq, float min_freq);
-
- virtual bool lock_detector(void) = 0;
- virtual bool squelch_enable(bool) = 0;
- virtual float set_lock_threshold(float) = 0;
-
- virtual void set_loop_bandwidth(float bw) = 0;
- virtual void set_damping_factor(float df) = 0;
- virtual void set_alpha(float alpha) = 0;
- virtual void set_beta(float beta) = 0;
- virtual void set_frequency(float freq) = 0;
- virtual void set_phase(float phase) = 0;
- virtual void set_min_freq(float freq) = 0;
- virtual void set_max_freq(float freq) = 0;
-
- virtual float get_loop_bandwidth() const = 0;
- virtual float get_damping_factor() const = 0;
- virtual float get_alpha() const = 0;
- virtual float get_beta() const = 0;
- virtual float get_frequency() const = 0;
- virtual float get_phase() const = 0;
- virtual float get_min_freq() const = 0;
- virtual float get_max_freq() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_PLL_CARRIERTRACKING_CC_H */
diff --git a/gr-analog/include/analog/pll_freqdet_cf.h b/gr-analog/include/analog/pll_freqdet_cf.h
deleted file mode 100644
index 613e85263..000000000
--- a/gr-analog/include/analog/pll_freqdet_cf.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,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_ANALOG_PLL_FREQDET_CF_H
-#define INCLUDED_ANALOG_PLL_FREQDET_CF_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Implements a PLL which locks to the input frequency and outputs
- * an estimate of that frequency. Useful for FM Demod.
- * \ingroup sync_blk
- *
- * Input stream 0: complex
- * Output stream 0: float
- *
- * This PLL locks onto a [possibly noisy] reference carrier on
- * the input and outputs an estimate of that frequency in radians per sample.
- * All settings max_freq and min_freq are in terms of radians per sample,
- * NOT HERTZ. The loop bandwidth determins the lock range and should be set
- * around pi/200 -- 2pi/100.
- * \sa pll_refout_cc, pll_carriertracking_cc
- */
- class ANALOG_API pll_freqdet_cf : virtual public gr_sync_block
- {
- public:
- // gr::analog::pll_freqdet_cf::sptr
- typedef boost::shared_ptr<pll_freqdet_cf> sptr;
-
- /* \brief Make PLL block that outputs the tracked signal's frequency.
- *
- * \param loop_bw: control loop's bandwidth parameter.
- * \param max_freq: maximum (normalized) frequency PLL will lock to.
- * \param min_freq: minimum (normalized) frequency PLL will lock to.
- */
- static sptr make(float loop_bw, float max_freq, float min_freq);
-
- virtual void set_loop_bandwidth(float bw) = 0;
- virtual void set_damping_factor(float df) = 0;
- virtual void set_alpha(float alpha) = 0;
- virtual void set_beta(float beta) = 0;
- virtual void set_frequency(float freq) = 0;
- virtual void set_phase(float phase) = 0;
- virtual void set_min_freq(float freq) = 0;
- virtual void set_max_freq(float freq) = 0;
-
- virtual float get_loop_bandwidth() const = 0;
- virtual float get_damping_factor() const = 0;
- virtual float get_alpha() const = 0;
- virtual float get_beta() const = 0;
- virtual float get_frequency() const = 0;
- virtual float get_phase() const = 0;
- virtual float get_min_freq() const = 0;
- virtual float get_max_freq() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_PLL_FREQDET_CF_H */
diff --git a/gr-analog/include/analog/pll_refout_cc.h b/gr-analog/include/analog/pll_refout_cc.h
deleted file mode 100644
index a18d177e6..000000000
--- a/gr-analog/include/analog/pll_refout_cc.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,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_ANALOG_PLL_REFOUT_CC_H
-#define INCLUDED_ANALOG_PLL_REFOUT_CC_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief Implements a PLL which locks to the input frequency and outputs a carrier
- * \ingroup sync_blk
- *
- * Input stream 0: complex
- * Output stream 0: complex
- *
- * This PLL locks onto a [possibly noisy] reference carrier on the
- * input and outputs a clean version which is phase and frequency
- * aligned to it.
- *
- * All settings max_freq and min_freq are in terms of radians per
- * sample, NOT HERTZ. The loop bandwidth determins the lock range
- * and should be set around pi/200 -- 2pi/100. \sa
- * pll_freqdet_cf, pll_carriertracking_cc
- */
- class ANALOG_API pll_refout_cc : virtual public gr_sync_block
- {
- public:
- // gr::analog::pll_refout_cc::sptr
- typedef boost::shared_ptr<pll_refout_cc> sptr;
-
- /* \brief Make PLL block that outputs the tracked carrier signal.
- *
- * \param loop_bw: control loop's bandwidth parameter.
- * \param max_freq: maximum (normalized) frequency PLL will lock to.
- * \param min_freq: minimum (normalized) frequency PLL will lock to.
- */
- static sptr make(float loop_bw, float max_freq, float min_freq);
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_PLL_REFOUT_CC_H */
diff --git a/gr-analog/include/analog/probe_avg_mag_sqrd_c.h b/gr-analog/include/analog/probe_avg_mag_sqrd_c.h
deleted file mode 100644
index 9e62732a3..000000000
--- a/gr-analog/include/analog/probe_avg_mag_sqrd_c.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005,2006,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_ANALOG_PROBE_AVG_MAG_SQRD_C_H
-#define INCLUDED_ANALOG_PROBE_AVG_MAG_SQRD_C_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief compute avg magnitude squared.
- * \ingroup sink_blk
- *
- * Input stream 0: complex
- *
- * Compute a running average of the magnitude squared of the the
- * input. The level and indication as to whether the level exceeds
- * threshold can be retrieved with the level and unmuted
- * accessors.
- */
- class ANALOG_API probe_avg_mag_sqrd_c : virtual public gr_sync_block
- {
- public:
- // gr::analog::probe_avg_mag_sqrd_c::sptr
- typedef boost::shared_ptr<probe_avg_mag_sqrd_c> sptr;
-
- /*!
- * \brief Make a complex sink that computes avg magnitude squared.
- *
- * \param threshold_db Threshold for muting.
- * \param alpha Gain parameter for the running average filter.
- */
- static sptr make(double threshold_db, double alpha = 0.0001);
-
- virtual bool unmuted() const = 0;
- virtual double level() const = 0;
- virtual double threshold() const = 0;
-
- virtual void set_alpha(double alpha) = 0;
- virtual void set_threshold(double decibels) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_PROBE_AVG_MAG_SQRD_C_H */
diff --git a/gr-analog/include/analog/probe_avg_mag_sqrd_cf.h b/gr-analog/include/analog/probe_avg_mag_sqrd_cf.h
deleted file mode 100644
index b18916ae9..000000000
--- a/gr-analog/include/analog/probe_avg_mag_sqrd_cf.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005,2006,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_ANALOG_PROBE_AVG_MAG_SQRD_CF_H
-#define INCLUDED_ANALOG_PROBE_AVG_MAG_SQRD_CF_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief compute avg magnitude squared.
- * \ingroup sink_blk
- *
- * Input stream 0: complex
- * Output stream 0: float
- *
- * Compute a running average of the magnitude squared of the the
- * input. The level and indication as to whether the level exceeds
- * threshold can be retrieved with the level and unmuted
- * accessors.
- */
- class ANALOG_API probe_avg_mag_sqrd_cf : virtual public gr_sync_block
- {
- public:
- // gr::analog::probe_avg_mag_sqrd_cf::sptr
- typedef boost::shared_ptr<probe_avg_mag_sqrd_cf> sptr;
-
- /*!
- * \brief Make a block that computes avg magnitude squared.
- *
- * \param threshold_db Threshold for muting.
- * \param alpha Gain parameter for the running average filter.
- */
- static sptr make(double threshold_db, double alpha = 0.0001);
-
- virtual bool unmuted() const = 0;
- virtual double level() const = 0;
- virtual double threshold() const = 0;
-
- virtual void set_alpha(double alpha) = 0;
- virtual void set_threshold(double decibels) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_PROBE_AVG_MAG_SQRD_CF_H */
diff --git a/gr-analog/include/analog/probe_avg_mag_sqrd_f.h b/gr-analog/include/analog/probe_avg_mag_sqrd_f.h
deleted file mode 100644
index fe9d27793..000000000
--- a/gr-analog/include/analog/probe_avg_mag_sqrd_f.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005,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_ANALOG_PROBE_AVG_MAG_SQRD_F_H
-#define INCLUDED_ANALOG_PROBE_AVG_MAG_SQRD_F_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief compute avg magnitude squared.
- * \ingroup sink_blk
- *
- * input stream 0: float
- *
- * Compute a running average of the magnitude squared of the the
- * input. The level and indication as to whether the level exceeds
- * threshold can be retrieved with the level and unmuted
- * accessors.
- */
- class ANALOG_API probe_avg_mag_sqrd_f : virtual public gr_sync_block
- {
- public:
- // gr::analog::probe_avg_mag_sqrd_f::sptr
- typedef boost::shared_ptr<probe_avg_mag_sqrd_f> sptr;
-
- /*!
- * \brief Make a float sink that computes avg magnitude squared.
- *
- * \param threshold_db Threshold for muting.
- * \param alpha Gain parameter for the running average filter.
- */
- static sptr make(double threshold_db, double alpha = 0.0001);
-
- virtual bool unmuted() const = 0;
- virtual double level() const = 0;
-
- virtual double threshold() const = 0;
-
- virtual void set_alpha (double alpha) = 0;
- virtual void set_threshold (double decibels) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_PROBE_AVG_MAG_SQRD_F_H */
diff --git a/gr-analog/include/analog/pwr_squelch_cc.h b/gr-analog/include/analog/pwr_squelch_cc.h
deleted file mode 100644
index 79364a86b..000000000
--- a/gr-analog/include/analog/pwr_squelch_cc.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_PWR_SQUELCH_CC_H
-#define INCLUDED_ANALOG_PWR_SQUELCH_CC_H
-
-#include <analog/api.h>
-#include <analog/squelch_base_cc.h>
-#include <cmath>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief gate or zero output when input power below threshold
- * \ingroup level_blk
- */
- class ANALOG_API pwr_squelch_cc :
- public squelch_base_cc, virtual public gr_block
- {
- protected:
- virtual void update_state(const gr_complex &in) = 0;
- virtual bool mute() const = 0;
-
- public:
- // gr::analog::pwr_squelch_cc::sptr
- typedef boost::shared_ptr<pwr_squelch_cc> sptr;
-
- /*!
- * \brief Make power-based squelch block.
- *
- * \param db threshold (in dB) for power squelch
- * \param alpha Gain of averaging filter
- * \param ramp
- * \param gate
- */
- static sptr make(double db, double alpha=0.0001,
- int ramp=0, bool gate=false);
-
- virtual std::vector<float> squelch_range() const = 0;
-
- virtual double threshold() const = 0;
- virtual void set_threshold(double db) = 0;
- virtual void set_alpha(double alpha) = 0;
-
- virtual int ramp() const = 0;
- virtual void set_ramp(int ramp) = 0;
- virtual bool gate() const = 0;
- virtual void set_gate(bool gate) = 0;
- virtual bool unmuted() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_PWR_SQUELCH_CC_H */
diff --git a/gr-analog/include/analog/pwr_squelch_ff.h b/gr-analog/include/analog/pwr_squelch_ff.h
deleted file mode 100644
index 6fdebec74..000000000
--- a/gr-analog/include/analog/pwr_squelch_ff.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_PWR_SQUELCH_FF_H
-#define INCLUDED_ANALOG_PWR_SQUELCH_FF_H
-
-#include <analog/api.h>
-#include <analog/squelch_base_ff.h>
-#include <cmath>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief gate or zero output when input power below threshold
- * \ingroup level_blk
- */
- class ANALOG_API pwr_squelch_ff :
- public squelch_base_ff, virtual public gr_block
- {
- protected:
- virtual void update_state(const float &in) = 0;
- virtual bool mute() const = 0;
-
- public:
- // gr::analog::pwr_squelch_ff::sptr
- typedef boost::shared_ptr<pwr_squelch_ff> sptr;
-
- /*!
- * \brief Make power-based squelch block.
- *
- * \param db threshold (in dB) for power squelch
- * \param alpha Gain of averaging filter
- * \param ramp
- * \param gate
- */
- static sptr make(double db, double alpha=0.0001,
- int ramp=0, bool gate=false);
-
- virtual std::vector<float> squelch_range() const = 0;
-
- virtual double threshold() const = 0;
- virtual void set_threshold(double db) = 0;
- virtual void set_alpha(double alpha) = 0;
-
- virtual int ramp() const = 0;
- virtual void set_ramp(int ramp) = 0;
- virtual bool gate() const = 0;
- virtual void set_gate(bool gate) = 0;
- virtual bool unmuted() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_PWR_SQUELCH_FF_H */
diff --git a/gr-analog/include/analog/quadrature_demod_cf.h b/gr-analog/include/analog/quadrature_demod_cf.h
deleted file mode 100644
index 916d8b2ec..000000000
--- a/gr-analog/include/analog/quadrature_demod_cf.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_ANALOG_QUADRATURE_DEMOD_CF_H
-#define INCLUDED_ANALOG_QUADRATURE_DEMOD_CF_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief quadrature demodulator: complex in, float out
- * \ingroup demodulation_blk
- *
- * This can be used to demod FM, FSK, GMSK, etc.
- * The input is complex baseband.
- */
- class ANALOG_API quadrature_demod_cf : virtual public gr_sync_block
- {
- public:
- // gr::analog::quadrature_demod_cf::sptr
- typedef boost::shared_ptr<quadrature_demod_cf> sptr;
-
- static sptr make(float gain);
-
- virtual void set_gain(float gain) = 0;
- virtual float gain() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_QUADRATURE_DEMOD_CF_H */
diff --git a/gr-analog/include/analog/rail_ff.h b/gr-analog/include/analog/rail_ff.h
deleted file mode 100644
index e51b2fc93..000000000
--- a/gr-analog/include/analog/rail_ff.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_ANALOG_RAIL_FF_H
-#define INCLUDED_ANALOG_RAIL_FF_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief clips input values to min, max
- * \ingroup misc
- */
- class ANALOG_API rail_ff : virtual public gr_sync_block
- {
- public:
- // gr::analog::rail_ff::sptr
- typedef boost::shared_ptr<rail_ff> sptr;
-
- static sptr make(float lo, float hi);
-
- virtual float lo() const = 0;
- virtual float hi() const = 0;
-
- virtual void set_lo(float lo) = 0;
- virtual void set_hi(float hi) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_RAIL_FF_H */
diff --git a/gr-analog/include/analog/rotator.h b/gr-analog/include/analog/rotator.h
deleted file mode 100644
index ee3849eae..000000000
--- a/gr-analog/include/analog/rotator.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2003,2008,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 _ANALOG_ROTATOR_H_
-#define _ANALOG_ROTATOR_H_
-
-#include <analog/api.h>
-#include <gr_complex.h>
-
-namespace gr {
- namespace analog {
-
- class rotator
- {
- private:
- gr_complex d_phase;
- gr_complex d_phase_incr;
- unsigned int d_counter;
-
- public:
- rotator() : d_phase (1), d_phase_incr (1), d_counter(0)
- { }
-
- void set_phase(gr_complex phase) { d_phase = phase / abs(phase); }
- void set_phase_incr(gr_complex incr) { d_phase_incr = incr / abs(incr); }
-
- gr_complex rotate (gr_complex in)
- {
- d_counter++;
-
- gr_complex z = in * d_phase; // rotate in by phase
- d_phase *= d_phase_incr; // incr our phase (complex mult == add phases)
-
- if((d_counter % 512) == 0)
- d_phase /= abs(d_phase); // Normalize to ensure multiplication is rotation
-
- return z;
- }
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* _ANALOG_ROTATOR_H_ */
diff --git a/gr-analog/include/analog/sig_source_X.h.t b/gr-analog/include/analog/sig_source_X.h.t
deleted file mode 100644
index 2915c2abe..000000000
--- a/gr-analog/include/analog/sig_source_X.h.t
+++ /dev/null
@@ -1,75 +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 <analog/api.h>
-#include <analog/sig_source_waveform.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief signal generator with @TYPE@ output.
- * \ingroup source_blk
- */
- class ANALOG_API @BASE_NAME@ : virtual public gr_sync_block
- {
- public:
- // gr::analog::@BASE_NAME@::sptr
- typedef boost::shared_ptr<@BASE_NAME@> sptr;
-
- /*!
- * \brief Make a signal source block.
- *
- * \param sampling_freq Sampling rate of signal.
- * \param waveform wavetform type.
- * \param wave_freq Frequency of waveform (relative to sampling_freq).
- * \param ampl Signal amplitude.
- * \param offset offset of signal.
- */
- static sptr make(double sampling_freq,
- gr::analog::gr_waveform_t waveform,
- double wave_freq,
- double ampl, @TYPE@ offset = 0);
-
- virtual double sampling_freq() const = 0;
- virtual gr::analog::gr_waveform_t waveform() const = 0;
- virtual double frequency() const = 0;
- virtual double amplitude() const = 0;
- virtual @TYPE@ offset() const = 0;
-
- virtual void set_sampling_freq(double sampling_freq) = 0;
- virtual void set_waveform(gr::analog::gr_waveform_t waveform) = 0;
- virtual void set_frequency(double frequency) = 0;
- virtual void set_amplitude(double ampl) = 0;
- virtual void set_offset(@TYPE@ offset) = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* @GUARD_NAME@ */
diff --git a/gr-analog/include/analog/sig_source_waveform.h b/gr-analog/include/analog/sig_source_waveform.h
deleted file mode 100644
index 3a9edb8f3..000000000
--- a/gr-analog/include/analog/sig_source_waveform.h
+++ /dev/null
@@ -1,41 +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_ANALOG_SIG_SOURCE_WAVEFORM_H
-#define INCLUDED_ANALOG_SIG_SOURCE_WAVEFORM_H
-
-namespace gr {
- namespace analog {
-
- typedef enum {
- GR_CONST_WAVE = 100,
- GR_SIN_WAVE,
- GR_COS_WAVE,
- GR_SQR_WAVE,
- GR_TRI_WAVE,
- GR_SAW_WAVE
- } gr_waveform_t;
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_SIG_SOURCE_WAVEFORM_H */
diff --git a/gr-analog/include/analog/simple_squelch_cc.h b/gr-analog/include/analog/simple_squelch_cc.h
deleted file mode 100644
index 1e12646e4..000000000
--- a/gr-analog/include/analog/simple_squelch_cc.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005,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_ANALOG_SIMPLE_SQUELCH_CC_H
-#define INCLUDED_ANALOG_SIMPLE_SQUELCH_CC_H
-
-#include <analog/api.h>
-#include <gr_sync_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief simple squelch block based on average signal power and threshold in dB.
- * \ingroup level_blk
- */
- class ANALOG_API simple_squelch_cc : virtual public gr_sync_block
- {
- public:
- // gr::analog::simple_squelch_cc::sptr
- typedef boost::shared_ptr<simple_squelch_cc> sptr;
-
- /*!
- * \brief Make a simple squelch block.
- *
- * \param threshold_db Threshold for muting.
- * \param alpha Gain parameter for the running average filter.
- */
- static sptr make(double threshold_db, double alpha);
-
- virtual bool unmuted() const = 0;
-
- virtual void set_alpha(double alpha) = 0;
- virtual void set_threshold(double decibels) = 0;
-
- virtual double threshold() const = 0;
- virtual std::vector<float> squelch_range() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_SIMPLE_SQUELCH_CC_H */
diff --git a/gr-analog/include/analog/sincos.h b/gr-analog/include/analog/sincos.h
deleted file mode 100644
index 38b9d96da..000000000
--- a/gr-analog/include/analog/sincos.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002,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_ANALOG_SINCOS_H
-#define INCLUDED_ANALOG_SINCOS_H
-
-#include <analog/api.h>
-
-namespace gr {
- namespace analog {
-
- // compute sine and cosine at the same time
- ANALOG_API void sincos(double x, double *sin, double *cos);
- ANALOG_API void sincosf(float x, float *sin, float *cos);
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_SINCOS_H */
diff --git a/gr-analog/include/analog/squelch_base_cc.h b/gr-analog/include/analog/squelch_base_cc.h
deleted file mode 100644
index 11476e7e8..000000000
--- a/gr-analog/include/analog/squelch_base_cc.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_SQUELCH_BASE_CC_H
-#define INCLUDED_ANALOG_SQUELCH_BASE_CC_H
-
-#include <analog/api.h>
-#include <gr_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief basic squelch block; to be subclassed for other squelches.
- * \ingroup level_blk
- */
- class ANALOG_API squelch_base_cc : virtual public gr_block
- {
- protected:
- virtual void update_state(const gr_complex &sample) = 0;
- virtual bool mute() const = 0;
-
- public:
- squelch_base_cc() {};
- virtual int ramp() const = 0;
- virtual void set_ramp(int ramp) = 0;
- virtual bool gate() const = 0;
- virtual void set_gate(bool gate) = 0;
- virtual bool unmuted() const = 0;
-
- virtual std::vector<float> squelch_range() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_SQUELCH_BASE_CC_H */
diff --git a/gr-analog/include/analog/squelch_base_ff.h b/gr-analog/include/analog/squelch_base_ff.h
deleted file mode 100644
index 2ce1f1a65..000000000
--- a/gr-analog/include/analog/squelch_base_ff.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_ANALOG_SQUELCH_BASE_FF_H
-#define INCLUDED_ANALOG_SQUELCH_BASE_FF_H
-
-#include <analog/api.h>
-#include <gr_block.h>
-
-namespace gr {
- namespace analog {
-
- /*!
- * \brief basic squelch block; to be subclassed for other squelches.
- * \ingroup level_blk
- */
- class ANALOG_API squelch_base_ff : virtual public gr_block
- {
- protected:
- virtual void update_state(const float &sample) = 0;
- virtual bool mute() const = 0;
-
- public:
- squelch_base_ff() {};
- virtual int ramp() const = 0;
- virtual void set_ramp(int ramp) = 0;
- virtual bool gate() const = 0;
- virtual void set_gate(bool gate) = 0;
- virtual bool unmuted() const = 0;
-
- virtual std::vector<float> squelch_range() const = 0;
- };
-
- } /* namespace analog */
-} /* namespace gr */
-
-#endif /* INCLUDED_ANALOG_SQUELCH_BASE_FF_H */