GNU Radio Manual and C++ API Reference 3.7.14.0
The Free & Open Software Radio Ecosystem
interp_fir_filter_fcc.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2004,2012 Free Software Foundation, Inc.
4 *
5 * This file is part of GNU Radio
6 *
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
10 * any later version.
11 *
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Radio; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street,
20 * Boston, MA 02110-1301, USA.
21 */
22
23/* WARNING: this file is machine generated. Edits will be overwritten */
24
25#ifndef INCLUDED_FILTER_INTERP_FIR_FILTER_FCC_H
26#define INCLUDED_FILTER_INTERP_FIR_FILTER_FCC_H
27
28#include <gnuradio/filter/api.h>
30
31namespace gr {
32 namespace filter {
33
34 /*!
35 * \brief Interpolating FIR filter with float input, gr_complex output and gr_complex taps
36 * \ingroup filter_blk
37 *
38 * \details
39 * The fir_filter_XXX blocks create finite impulse response
40 * (FIR) filters that perform the convolution in the time
41 * domain:
42 *
43 * \code
44 * out = 0
45 * for i in ntaps:
46 * out += input[n-i] * taps[i]
47 * \endcode
48 *
49 * The taps are a C++ vector (or Python list) of values of the
50 * type specified by the third letter in the block's suffix. For
51 * this block, the value is of type gr_complex. Taps can be
52 * created using the firdes or optfir tools.
53 *
54 * These versions of the filter can also act as up-samplers
55 * (or interpolators) by specifying an integer value for \p
56 * interpolation.
57 *
58 */
60 {
61 public:
62 // gr::filter::interp_fir_filter_fcc::sptr
63 typedef boost::shared_ptr<interp_fir_filter_fcc> sptr;
64
65 /*!
66 * \brief Interpolating FIR filter with float input, gr_complex output, and gr_complex taps
67 *
68 * \param interpolation set the integer interpolation rate
69 * \param taps a vector/list of taps of type gr_complex
70 */
71 static sptr make(unsigned interpolation,
72 const std::vector<gr_complex> &taps);
73
74 virtual void set_taps(const std::vector<gr_complex> &taps) = 0;
75 virtual std::vector<gr_complex> taps() const = 0;
76 };
77
78 } /* namespace filter */
79} /* namespace gr */
80
81#endif /* INCLUDED_FILTER_INTERP_FIR_FILTER_FCC_H */
Interpolating FIR filter with float input, gr_complex output and gr_complex taps.
Definition: interp_fir_filter_fcc.h:60
virtual std::vector< gr_complex > taps() const =0
static sptr make(unsigned interpolation, const std::vector< gr_complex > &taps)
Interpolating FIR filter with float input, gr_complex output, and gr_complex taps.
boost::shared_ptr< interp_fir_filter_fcc > sptr
Definition: interp_fir_filter_fcc.h:63
virtual void set_taps(const std::vector< gr_complex > &taps)=0
synchronous 1:N input to output with history
Definition: sync_interpolator.h:38
#define FILTER_API
Definition: gr-filter/include/gnuradio/filter/api.h:30
static const float taps[NSTEPS+1][NTAPS]
Definition: interpolator_taps.h:9
Include this header to use the message passing features.
Definition: basic_block.h:45