GNU Radio Manual and C++ API Reference 3.10.5.1
The Free & Open Software Radio Ecosystem
filterbank_vcvcf.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2009,2010,2012,2014 Free Software Foundation, Inc.
4 *
5 * This file is part of GNU Radio
6 *
7 * SPDX-License-Identifier: GPL-3.0-or-later
8 *
9 */
10
11
12#ifndef INCLUDED_FILTER_FILTERBANK_CHANNELIZER_VCVCF_H
13#define INCLUDED_FILTER_FILTERBANK_CHANNELIZER_VCVCF_H
14
15#include <gnuradio/block.h>
16#include <gnuradio/filter/api.h>
17
18namespace gr {
19namespace filter {
20
21/*!
22 * \brief Filterbank with vector of gr_complex input,
23 * vector of gr_complex output and float taps
24 * \ingroup filter_blk
25 *
26 * \details
27 * This block takes in complex vectors and outputs complex vectors of the same
28 * size. Vectors of length N, rather than N normal streams are used to reduce
29 * overhead.
30 */
31class FILTER_API filterbank_vcvcf : virtual public block
32{
33public:
34 typedef std::shared_ptr<filterbank_vcvcf> sptr;
35
36 /*!
37 * Build the filterbank.
38 * \param taps (vector of vector of floats/list of list of floats)
39 * Used to populate the filters.
40 */
41 static sptr make(const std::vector<std::vector<float>>& taps);
42
43 /*!
44 * Resets the filterbank's filter taps with the new prototype filter
45 * \param taps (vector/list of floats) The prototype filter to populate the
46 * filterbank.
47 */
48 virtual void set_taps(const std::vector<std::vector<float>>& taps) = 0;
49
50 /*!
51 * Print all of the filterbank taps to screen.
52 */
53 virtual void print_taps() = 0;
54
55 /*!
56 * Return a vector<vector<>> of the filterbank taps
57 */
58 virtual std::vector<std::vector<float>> taps() const = 0;
59};
60
61} /* namespace filter */
62} /* namespace gr */
63
64#endif /* INCLUDED_FILTER_PFB_CHANNELIZER_VCVCF_H */
The abstract base class for all 'terminal' processing blocks.
Definition: gnuradio-runtime/include/gnuradio/block.h:63
Filterbank with vector of gr_complex input, vector of gr_complex output and float taps.
Definition: filterbank_vcvcf.h:32
static sptr make(const std::vector< std::vector< float > > &taps)
virtual void print_taps()=0
virtual std::vector< std::vector< float > > taps() const =0
std::shared_ptr< filterbank_vcvcf > sptr
Definition: filterbank_vcvcf.h:34
virtual void set_taps(const std::vector< std::vector< float > > &taps)=0
#define FILTER_API
Definition: gr-filter/include/gnuradio/filter/api.h:18
static constexpr float taps[NSTEPS+1][NTAPS]
Definition: interpolator_taps.h:9
GNU Radio logging wrapper.
Definition: basic_block.h:29