summaryrefslogtreecommitdiff
path: root/gr-filter/include/filter
diff options
context:
space:
mode:
authorTom Rondeau2012-06-17 21:49:35 -0400
committerTom Rondeau2012-06-17 21:49:35 -0400
commitf049a184c38a9344efea24ec813a13499237e23b (patch)
treeee7bab3bc66c715aafb84b05db78bef7dc36e81b /gr-filter/include/filter
parent6b2dbab570adceb3a7fa29f298da24a5e53cbf64 (diff)
downloadgnuradio-f049a184c38a9344efea24ec813a13499237e23b.tar.gz
gnuradio-f049a184c38a9344efea24ec813a13499237e23b.tar.bz2
gnuradio-f049a184c38a9344efea24ec813a13499237e23b.zip
filter: adding fractional_interpolator_{cc,ff} with QA and GRC.
Diffstat (limited to 'gr-filter/include/filter')
-rw-r--r--gr-filter/include/filter/CMakeLists.txt2
-rw-r--r--gr-filter/include/filter/fractional_interpolator_cc.h54
-rw-r--r--gr-filter/include/filter/fractional_interpolator_ff.h54
3 files changed, 110 insertions, 0 deletions
diff --git a/gr-filter/include/filter/CMakeLists.txt b/gr-filter/include/filter/CMakeLists.txt
index 3a1b5f150..267b8b66b 100644
--- a/gr-filter/include/filter/CMakeLists.txt
+++ b/gr-filter/include/filter/CMakeLists.txt
@@ -95,6 +95,8 @@ install(FILES
filter_delay_fc.h
fft_filter_ccc.h
fft_filter_fff.h
+ fractional_interpolator_cc.h
+ fractional_interpolator_ff.h
hilbert_fc.h
iir_filter_ffd.h
pfb_channelizer_ccf.h
diff --git a/gr-filter/include/filter/fractional_interpolator_cc.h b/gr-filter/include/filter/fractional_interpolator_cc.h
new file mode 100644
index 000000000..e5d066bbc
--- /dev/null
+++ b/gr-filter/include/filter/fractional_interpolator_cc.h
@@ -0,0 +1,54 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004,2007,2012 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FRACTIONAL_INTERPOLATOR_CC_H
+#define INCLUDED_FRACTIONAL_INTERPOLATOR_CC_H
+
+#include <filter/api.h>
+#include <gr_block.h>
+
+namespace gr {
+ namespace filter {
+
+ /*!
+ * \brief Interpolating MMSE filter with complex input, complex output
+ * \ingroup filter_blk
+ */
+ class FILTER_API fractional_interpolator_cc : virtual public gr_block
+ {
+ public:
+ // gr::filter::fractional_interpolator_cc::sptr
+ typedef boost::shared_ptr<fractional_interpolator_cc> sptr;
+
+ static FILTER_API sptr make(float phase_shift,
+ float interp_ratio);
+
+ virtual float mu() const = 0;
+ virtual float interp_ratio() const = 0;
+ virtual void set_mu (float mu) = 0;
+ virtual void set_interp_ratio(float interp_ratio) = 0;
+ };
+
+ } /* namespace filter */
+} /* namespace gr */
+
+#endif /* INCLUDED_FRACTIONAL_INTERPOLATOR_FF_H */
diff --git a/gr-filter/include/filter/fractional_interpolator_ff.h b/gr-filter/include/filter/fractional_interpolator_ff.h
new file mode 100644
index 000000000..8280baee3
--- /dev/null
+++ b/gr-filter/include/filter/fractional_interpolator_ff.h
@@ -0,0 +1,54 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004,2007,2012 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_FRACTIONAL_INTERPOLATOR_FF_H
+#define INCLUDED_FRACTIONAL_INTERPOLATOR_FF_H
+
+#include <filter/api.h>
+#include <gr_block.h>
+
+namespace gr {
+ namespace filter {
+
+ /*!
+ * \brief Interpolating MMSE filter with float input, float output
+ * \ingroup filter_blk
+ */
+ class FILTER_API fractional_interpolator_ff : virtual public gr_block
+ {
+ public:
+ // gr::filter::fractional_interpolator_ff::sptr
+ typedef boost::shared_ptr<fractional_interpolator_ff> sptr;
+
+ static FILTER_API sptr make(float phase_shift,
+ float interp_ratio);
+
+ virtual float mu() const = 0;
+ virtual float interp_ratio() const = 0;
+ virtual void set_mu (float mu) = 0;
+ virtual void set_interp_ratio(float interp_ratio) = 0;
+ };
+
+ } /* namespace filter */
+} /* namespace gr */
+
+#endif /* INCLUDED_FRACTIONAL_INTERPOLATOR_FF_H */