GNU Radio C++ API Reference g90d26cb
The Free & Open Software Radio Ecosystem
 
Loading...
Searching...
No Matches
mmse_resampler.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2004,2007,2012-2013 Free Software Foundation, Inc.
4 * Copyright 2025 Marcus Müller
5 *
6 * This file is part of GNU Radio
7 *
8 * SPDX-License-Identifier: GPL-3.0-or-later
9 *
10 */
11
12#ifndef INCLUDED_MMSE_RESAMPLER_H
13#define INCLUDED_MMSE_RESAMPLER_H
14
15#include <gnuradio/block.h>
16#include <gnuradio/filter/api.h>
17
18namespace gr {
19namespace filter {
20
21/*!
22 * \brief resampling MMSE filter with complex input, complex output
23 * \ingroup resamplers_blk
24 *
25 * \details
26 * The resampling ratio and mu parameters can be set with a pmt dict
27 * message. Keys are pmt symbols with the strings "resamp_ratio" and "mu"
28 * and values are pmt floats.
29 */
30template <typename sample_t>
31class FILTER_API mmse_resampler : virtual public block
32{
33public:
34 typedef std::shared_ptr<mmse_resampler<sample_t>> sptr;
35
36 /*!
37 * \brief Build the resampling MMSE filter (complex input, complex output)
38 *
39 * \param phase_shift The phase shift of the output signal to the input
40 * \param resamp_ratio The resampling ratio = input_rate / output_rate.
41 */
42 static sptr make(float phase_shift, float resamp_ratio);
43
44 virtual float mu() const = 0;
45 virtual float resamp_ratio() const = 0;
46 virtual void set_mu(float mu) = 0;
47 virtual void set_resamp_ratio(float resamp_ratio) = 0;
48};
49
52} /* namespace filter */
53} /* namespace gr */
54
55#endif /* INCLUDED_MMSE_RESAMPLER_H */
The abstract base class for all 'terminal' processing blocks.
Definition gnuradio-runtime/include/gnuradio/block.h:65
resampling MMSE filter with complex input, complex output
Definition mmse_resampler.h:32
std::shared_ptr< mmse_resampler< sample_t > > sptr
Definition mmse_resampler.h:34
virtual float mu() const =0
static sptr make(float phase_shift, float resamp_ratio)
Build the resampling MMSE filter (complex input, complex output)
virtual void set_mu(float mu)=0
virtual void set_resamp_ratio(float resamp_ratio)=0
virtual float resamp_ratio() const =0
#define FILTER_API
Definition gr-filter/include/gnuradio/filter/api.h:18
GNU Radio logging wrapper.
Definition basic_block.h:29