summaryrefslogtreecommitdiff
path: root/gr-filter/include
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2012-05-06 19:36:03 -0400
committerTom Rondeau <trondeau@vt.edu>2012-05-06 19:36:03 -0400
commitfc98a2a9775ab8e091413a195ce2584e5b76de99 (patch)
treeb1f69d092f83896d080de3ef9212283c69f2d06f /gr-filter/include
parentb3987add5662344ed88be910afdb55de1097ed15 (diff)
filter: added filter_delay_fc to gr-filter with QA and GRC files.
Diffstat (limited to 'gr-filter/include')
-rw-r--r--gr-filter/include/filter/CMakeLists.txt1
-rw-r--r--gr-filter/include/filter/filter_delay_fc.h65
2 files changed, 66 insertions, 0 deletions
diff --git a/gr-filter/include/filter/CMakeLists.txt b/gr-filter/include/filter/CMakeLists.txt
index 402dd599aa..75d44cb66f 100644
--- a/gr-filter/include/filter/CMakeLists.txt
+++ b/gr-filter/include/filter/CMakeLists.txt
@@ -82,6 +82,7 @@ install(FILES
${generated_includes}
dc_blocker_cc.h
dc_blocker_ff.h
+ filter_delay_fc.h
fft_filter_ccc.h
fft_filter_fff.h
hilbert_fc.h
diff --git a/gr-filter/include/filter/filter_delay_fc.h b/gr-filter/include/filter/filter_delay_fc.h
new file mode 100644
index 0000000000..b772fe7360
--- /dev/null
+++ b/gr-filter/include/filter/filter_delay_fc.h
@@ -0,0 +1,65 @@
+/* -*- 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_FILTER_FILTER_DELAY_FC_H
+#define INCLUDED_FILTER_FILTER_DELAY_FC_H
+
+#include <filter/api.h>
+#include <gr_sync_block.h>
+
+namespace gr {
+ namespace filter {
+
+ class FILTER_API filter_delay_fc : virtual public gr_sync_block
+ {
+ public:
+
+ // gr::foo::filter_delay_fc::sptr
+ typedef boost::shared_ptr<filter_delay_fc> sptr;
+
+ /*!
+ * \brief Filter-Delay Combination Block.
+ * \ingroup filter_blk
+ *
+ * The block takes one or two float stream and outputs a complex
+ * stream.
+ *
+ * If only one float stream is input, the real output is a
+ * delayed version of this input and the imaginary output is the
+ * filtered output.
+ *
+ * If two floats are connected to the input, then the real
+ * output is the delayed version of the first input, and the
+ * imaginary output is the filtered output.
+ *
+ * The delay in the real path accounts for the group delay
+ * introduced by the filter in the imaginary path. The filter
+ * taps needs to be calculated before initializing this block.
+ *
+ */
+ static FILTER_API sptr make(const std::vector<float> &taps);
+ };
+
+ } /* namespace filter */
+} /* namespace gr */
+
+#endif /* INCLUDED_FILTER_FILTER_DELAY_FC_H */