GNU Radio's DAB Package
select_vectors_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2004 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 #ifndef INCLUDED_DAB_SELECT_VECTORS_IMPL_H
23 #define INCLUDED_DAB_SELECT_VECTORS_IMPL_H
24 
25 #include <grdab/select_vectors.h>
26 
27 namespace gr {
28  namespace dab {
29 
30 /*! \brief select a row of vectors
31  *
32  * input1: vector of size length*itemsize
33  * input2: char stream with triggers for start of transmission frame
34  *
35  * output1: vector of size length*itemsize
36  * output2: same as input2
37  *
38  * selects a row of vectors of the transmission frame; start of a transmission frame is triggerd by input2
39  *
40  * @param itemsize sizeof input and outputstream of port 0
41  * @param length vector length
42  * @param num_select number of vectors to select
43  * @param num_skip number of vectors to skip before selection of num_select vectors
44  *
45  */
47  private:
48  size_t d_itemsize;
49  unsigned int d_length;
50  unsigned int d_num_select;
51  unsigned int d_num_skip;
52  unsigned int d_index;
53 
54  public:
55  select_vectors_impl(size_t itemsize, unsigned int length, unsigned int num_select, unsigned int num_skip);
56 
57  void forecast(int noutput_items, gr_vector_int &ninput_items_required);
58 
59  int general_work(int noutput_items,
60  gr_vector_int &ninput_items,
61  gr_vector_const_void_star &input_items,
62  gr_vector_void_star &output_items);
63  };
64 
65  }
66 }
67 
68 #endif /* INCLUDED_DAB_SELECT_VECTORS_H */
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
<+description of block+>
Definition: select_vectors.h:36
select a row of vectors
Definition: select_vectors_impl.h:46
Definition: complex_to_interleaved_float_vcf.h:28
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
select_vectors_impl(size_t itemsize, unsigned int length, unsigned int num_select, unsigned int num_skip)