summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2013-03-06 15:02:53 -0500
committerTom Rondeau <trondeau@vt.edu>2013-03-06 15:02:53 -0500
commit2fb54bc604578db99ee788799a7723ed5eddb65a (patch)
tree0e1aa737f3a060d4552a01b157accdec4d1c6632
parent4865f080c419349274d945e046b2e46920edc682 (diff)
core: removing single_pole_irr header from core that is no longer used.
-rw-r--r--gnuradio-core/src/lib/filter/gr_single_pole_iir.h191
-rw-r--r--gr-blocks/lib/rms_ff_impl.h1
2 files changed, 0 insertions, 192 deletions
diff --git a/gnuradio-core/src/lib/filter/gr_single_pole_iir.h b/gnuradio-core/src/lib/filter/gr_single_pole_iir.h
deleted file mode 100644
index d73ee857da..0000000000
--- a/gnuradio-core/src/lib/filter/gr_single_pole_iir.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002,2006 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-#ifndef _GR_SINGLE_POLE_IIR_H_
-#define _GR_SINGLE_POLE_IIR_H_
-
-#include <gr_core_api.h>
-#include <stdexcept>
-#include <gr_complex.h>
-/*!
- * \brief class template for single pole IIR filter
- */
-template<class o_type, class i_type, class tap_type>
-class gr_single_pole_iir {
-public:
- /*!
- * \brief construct new single pole IIR with given alpha
- *
- * computes y(i) = (1-alpha) * y(i-1) + alpha * x(i)
- */
- gr_single_pole_iir (tap_type alpha = 1.0)
- {
- d_prev_output = 0;
- set_taps (alpha);
- }
-
- /*!
- * \brief compute a single output value.
- * \returns the filtered input value.
- */
- o_type filter (const i_type input);
-
- /*!
- * \brief compute an array of N output values.
- * \p input must have n valid entries.
- */
- void filterN (o_type output[], const i_type input[], unsigned long n);
-
- /*!
- * \brief install \p alpha as the current taps.
- */
- void set_taps (tap_type alpha)
- {
- if (alpha < 0 || alpha > 1)
- throw std::out_of_range ("Alpha must be in [0, 1]\n");
-
- d_alpha = alpha;
- d_one_minus_alpha = 1.0 - alpha;
- }
-
- //! reset state to zero
- void reset ()
- {
- d_prev_output = 0;
- }
-
- o_type prev_output () const { return d_prev_output; }
-
-protected:
- tap_type d_alpha;
- tap_type d_one_minus_alpha;
- o_type d_prev_output;
-};
-
-
-//
-// general case. We may want to specialize this
-//
-template<class o_type, class i_type, class tap_type>
-o_type
-gr_single_pole_iir<o_type, i_type, tap_type>::filter (const i_type input)
-{
- o_type output;
-
- output = d_alpha * input + d_one_minus_alpha * d_prev_output;
- d_prev_output = output;
-
- return (o_type) output;
-}
-
-
-template<class o_type, class i_type, class tap_type>
-void
-gr_single_pole_iir<o_type, i_type, tap_type>::filterN (o_type output[],
- const i_type input[],
- unsigned long n)
-{
- for (unsigned i = 0; i < n; i++)
- output[i] = filter (input[i]);
-}
-
-
-//
-// Specialized case for gr_complex output and double taps
-// We need to have a gr_complexd type for the calculations and prev_output variable (in stead of double)
-
-template<class i_type>
-class gr_single_pole_iir<gr_complex, i_type, double> {
-public:
- /*!
- * \brief construct new single pole IIR with given alpha
- *
- * computes y(i) = (1-alpha) * y(i-1) + alpha * x(i)
- */
- gr_single_pole_iir (double alpha = 1.0)
- {
- d_prev_output = 0;
- set_taps (alpha);
- }
-
- /*!
- * \brief compute a single output value.
- * \returns the filtered input value.
- */
- gr_complex filter (const i_type input);
-
- /*!
- * \brief compute an array of N output values.
- * \p input must have n valid entries.
- */
- void filterN (gr_complex output[], const i_type input[], unsigned long n);
-
- /*!
- * \brief install \p alpha as the current taps.
- */
- void set_taps (double alpha)
- {
- if (alpha < 0 || alpha > 1)
- throw std::out_of_range ("Alpha must be in [0, 1]\n");
-
- d_alpha = alpha;
- d_one_minus_alpha = 1.0 - alpha;
- }
-
- //! reset state to zero
- void reset ()
- {
- d_prev_output = 0;
- }
-
- gr_complexd prev_output () const { return d_prev_output; }
-
-protected:
- double d_alpha;
- double d_one_minus_alpha;
- gr_complexd d_prev_output;
-};
-
-template< class i_type>
-gr_complex
-gr_single_pole_iir<gr_complex, i_type, double>::filter (const i_type input)
-{
- gr_complexd output;
-
- output = d_alpha * (gr_complexd)input + d_one_minus_alpha * d_prev_output;
- d_prev_output = output;
-
- return (gr_complex) output;
-}
-
-//Do we need to specialize this, although it is the same as the general case?
-
-template<class i_type>
-void
-gr_single_pole_iir<gr_complex, i_type, double>::filterN (gr_complex output[],
- const i_type input[],
- unsigned long n)
-{
- for (unsigned i = 0; i < n; i++)
- output[i] = filter (input[i]);
-}
-
-#endif /* _GR_SINGLE_POLE_IIR_H_ */
diff --git a/gr-blocks/lib/rms_ff_impl.h b/gr-blocks/lib/rms_ff_impl.h
index e0ea868c3b..34d7d986c0 100644
--- a/gr-blocks/lib/rms_ff_impl.h
+++ b/gr-blocks/lib/rms_ff_impl.h
@@ -24,7 +24,6 @@
#define INCLUDED_BLOCKS_RMS_FF_IMPL_H
#include <blocks/rms_ff.h>
-#include <gr_single_pole_iir.h>
namespace gr {
namespace blocks {