GNU Radio's LTE Package
descrambler_vfvf_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2013 Communications Engineering Lab (CEL) / Karlsruhe Institute of Technology (KIT)
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_LTE_DESCRAMBLER_VFVF_IMPL_H
22#define INCLUDED_LTE_DESCRAMBLER_VFVF_IMPL_H
23
25
26namespace gr {
27 namespace lte {
28
30 {
31 private:
32 pmt::pmt_t d_tag_key;
33 pmt::pmt_t d_msg_buf;
34 int d_len;
35
36 std::vector<float*> d_scr_seq_vec;
37 int d_scr_seq_len;
38 int d_num_seqs;
39 int d_seq_index;
40 int d_part;
41
42 inline void handle_msg(pmt::pmt_t msg);
43 float* get_aligned_sequence(std::vector<float> seq);
44 int get_seq_num(int idx);
45
46 public:
47 descrambler_vfvf_impl(std::string& name, std::string tag_key, std::string msg_buf_name, int len);
49
50 // Where all the action really happens
51 int work(int noutput_items,
52 gr_vector_const_void_star &input_items,
53 gr_vector_void_star &output_items);
54
55 void set_descr_seqs(std::vector<std::vector<float> > seqs);
56 };
57
58 } // namespace lte
59} // namespace gr
60
61#endif /* INCLUDED_LTE_DESCRAMBLER_VFVF_IMPL_H */
62
Definition: descrambler_vfvf_impl.h:30
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
void set_descr_seqs(std::vector< std::vector< float > > seqs)
descrambler_vfvf_impl(std::string &name, std::string tag_key, std::string msg_buf_name, int len)
LTE DescramblerScrambling sequences are setable on runtime and chosen upon tag reception.
Definition: descrambler_vfvf.h:39
Definition: bch_crc_check_ant_chooser_bb.h:28