GNU Radio's GFDM Package
transmitter_cc_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2018 Johannes Demel.
4 *
5 * This is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3, or (at your option)
8 * any later version.
9 *
10 * This software is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this software; see the file COPYING. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street,
18 * Boston, MA 02110-1301, USA.
19 */
20
21#ifndef INCLUDED_GFDM_TRANSMITTER_CC_IMPL_H
22#define INCLUDED_GFDM_TRANSMITTER_CC_IMPL_H
23
24#include <gfdm/transmitter_cc.h>
26
27namespace gr {
28 namespace gfdm {
29
31 {
32 private:
34 std::string d_length_tag_key_str;
35 pmt::pmt_t d_length_tag_key;
36
37 public:
38 transmitter_cc_impl(int timeslots, int subcarriers, int active_subcarriers,
39 int cp_len, int cs_len, int ramp_len,
40 std::vector<int> subcarrier_map, bool per_timeslot, int overlap,
41 std::vector<gr_complex> frequency_taps,
42 std::vector<gr_complex> window_taps,
43 std::vector<gr_complex> preamble,
44 const std::string &tsb_tag_key="");
46
47 // Where all the action really happens
48 void forecast (int noutput_items, gr_vector_int &ninput_items_required);
51
52 int general_work(int noutput_items,
53 gr_vector_int &ninput_items,
54 gr_vector_const_void_star &input_items,
55 gr_vector_void_star &output_items);
56 };
57
58 } // namespace gfdm
59} // namespace gr
60
61#endif /* INCLUDED_GFDM_TRANSMITTER_CC_IMPL_H */
62
Definition: transmitter_cc_impl.h:31
transmitter_cc_impl(int timeslots, int subcarriers, int active_subcarriers, int cp_len, int cs_len, int ramp_len, std::vector< int > subcarrier_map, bool per_timeslot, int overlap, std::vector< gr_complex > frequency_taps, std::vector< gr_complex > window_taps, std::vector< gr_complex > preamble, const std::string &tsb_tag_key="")
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
int fixed_rate_ninput_to_noutput(int ninput)
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
int fixed_rate_noutput_to_ninput(int noutput)
<+description of block+>
Definition: transmitter_cc.h:37
boost::shared_ptr< transmitter_kernel > sptr
Definition: transmitter_kernel.h:42
Definition: add_cyclic_prefix_cc.h:30