GNU Radio Manual and C++ API Reference  3.7.4.1
The Free & Open Software Radio Ecosystem
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
freq_xlating_fir_filter_scf.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2002,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 /*
24  * WARNING: This file is automatically generated by cmake.
25  * Any changes made to this file will be overwritten.
26  */
27 
28 #ifndef INCLUDED_FILTER_FREQ_XLATING_FIR_FILTER_SCF_H
29 #define INCLUDED_FILTER_FREQ_XLATING_FIR_FILTER_SCF_H
30 
31 #include <gnuradio/filter/api.h>
33 
34 namespace gr {
35  namespace filter {
36 
37 
38  /*!
39  * \brief FIR filter combined with frequency translation with
40  * short input, gr_complex output and float taps
41  *
42  * \ingroup channelizers_blk
43  *
44  * This class efficiently combines a frequency translation
45  * (typically "down conversion") with a FIR filter (typically
46  * low-pass) and decimation. It is ideally suited for a "channel
47  * selection filter" and can be efficiently used to select and
48  * decimate a narrow band signal out of wide bandwidth input.
49  *
50  * Uses a single input array to produce a single output array.
51  * Additional inputs and/or outputs are ignored.
52  *
53  * - freq (input):
54  * Receives a PMT pair: (intern("freq"), double(frequency).
55  * The block then sets its frequency translation value to
56  * the new frequency provided by the message. A tag is then
57  * produced when the new frequency is applied to let
58  * downstream blocks know when this has taken affect.
59  * Use the filter's group delay to determine when the
60  * transients after the change have settled down.
61  */
63  {
64  public:
65  // gr::filter::freq_xlating_fir_filter_scf::sptr
67 
68  /*!
69  * \brief FIR filter with short input, gr_complex output, and
70  * float taps that also frequency translates a signal from
71  * \p center_freq.
72  *
73  * Construct a FIR filter with the given taps and a composite
74  * frequency translation that shifts center_freq down to zero
75  * Hz. The frequency translation logically comes before the
76  * filtering operation.
77  *
78  * \param decimation set the integer decimation rate
79  * \param taps a vector/list of taps of type float
80  * \param center_freq Center frequency of signal to down convert from (Hz)
81  * \param sampling_freq Sampling rate of signal (in Hz)
82  */
83  static sptr make(int decimation,
84  const std::vector<float> &taps,
85  double center_freq,
86  double sampling_freq);
87 
88  virtual void set_center_freq(double center_freq) = 0;
89  virtual double center_freq() const = 0;
90 
91  virtual void set_taps(const std::vector<float> &taps) = 0;
92  virtual std::vector<float> taps() const = 0;
93  };
94 
95  } /* namespace filter */
96 } /* namespace gr */
97 
98 #endif /* INCLUDED_FILTER_FREQ_XLATING_FIR_FILTER_SCF_H */
boost::shared_ptr< freq_xlating_fir_filter_scf > sptr
Definition: freq_xlating_fir_filter_scf.h:66
shared_ptr documentation stub
Definition: shared_ptr_docstub.h:15
FIR filter combined with frequency translation with short input, gr_complex output and float taps...
Definition: freq_xlating_fir_filter_scf.h:62
synchronous N:1 input to output with historyOverride work to provide the signal processing implementa...
Definition: sync_decimator.h:37
static const float taps[NSTEPS+1][NTAPS]
Definition: interpolator_taps.h:9
#define FILTER_API
Definition: gr-filter/include/gnuradio/filter/api.h:30