GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
unpack_byte_4bit_samples.h
Go to the documentation of this file.
1 /*!
2  * \file unpack_byte_4bit_samples.h
3  *
4  * \brief Unpacks byte samples to 4 bits samples.
5  * Packing Order
6  * Packing order in Nibble I0 I1 I2 I3 I0 I1 I2 I3
7  * \author Javier Arribas jarribas (at) cttc.es
8  *
9  * -----------------------------------------------------------------------------
10  *
11  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
12  * This file is part of GNSS-SDR.
13  *
14  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
15  * SPDX-License-Identifier: GPL-3.0-or-later
16  *
17  * -----------------------------------------------------------------------------
18  */
19 
20 #ifndef GNSS_SDR_UNPACK_BYTE_4BIT_SAMPLES_H
21 #define GNSS_SDR_UNPACK_BYTE_4BIT_SAMPLES_H
22 
23 #include "gnss_block_interface.h"
24 #include <gnuradio/sync_interpolator.h>
25 
26 /** \addtogroup Signal_Source
27  * \{ */
28 /** \addtogroup Signal_Source_gnuradio_blocks
29  * \{ */
30 
31 
33 
34 using unpack_byte_4bit_samples_sptr = gnss_shared_ptr<unpack_byte_4bit_samples>;
35 
36 unpack_byte_4bit_samples_sptr make_unpack_byte_4bit_samples();
37 
38 /*!
39  * \brief This class implements conversion between byte packet samples to 4bit_cpx samples
40  * 1 byte = 1 x complex 4bit I, + 4bit Q samples
41  */
42 class unpack_byte_4bit_samples : public gr::sync_interpolator
43 {
44 public:
46  ~unpack_byte_4bit_samples() = default;
47  int work(int noutput_items,
48  gr_vector_const_void_star &input_items,
49  gr_vector_void_star &output_items);
50 
51 private:
52  friend unpack_byte_4bit_samples_sptr make_unpack_byte_4bit_samples_sptr();
53 };
54 
55 
56 /** \} */
57 /** \} */
58 #endif // GNSS_SDR_UNPACK_BYTE_4BIT_SAMPLES_H
This interface represents a GNSS block.
This class implements conversion between byte packet samples to 4bit_cpx samples 1 byte = 1 x complex...