GNU Radio Radar Toolbox
signal_generator_sync_pulse_c.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2014 Communications Engineering Lab, 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 
22 #ifndef INCLUDED_RADAR_SIGNAL_GENERATOR_SYNC_PULSE_C_H
23 #define INCLUDED_RADAR_SIGNAL_GENERATOR_SYNC_PULSE_C_H
24 
25 #include <radar/api.h>
26 #include <gnuradio/sync_block.h>
27 
28 namespace gr {
29  namespace radar {
30 
31  /*!
32  * \brief This block generates a signal for the synchronization of the USRP Echotimer in baseband. The signal is pulsed with a constant amplitude with various pulse length and wait samples in between.
33  * It is structured by alternating wait parts and burst parts and starting with the first wait part. The pulses are full real signals.
34  *
35  * \param packet_len The packet length has to be longer or equal than the sum of pulse_len and pulse_pause.
36  * \param pulse_len The length of the pulses are defined in a vector and given in number of samples. The pulses are generated alternating with the wait samples defined in pulse_pause.
37  * \param pulse_pause The wait samples between pulses are defined in a vector. The first segment of the whole signal is the first element in the pulse_pause vector. This element can be zero.
38  * \param pulse_amplitude Pulse amplitude of real signal
39  * \param len_key Packet length key for tagged stream
40  *
41  * \ingroup radar
42  *
43  */
44  class RADAR_API signal_generator_sync_pulse_c : virtual public gr::sync_block
45  {
46  public:
47  typedef boost::shared_ptr<signal_generator_sync_pulse_c> sptr;
48 
49  /*!
50  * \brief Return a shared_ptr to a new instance of radar::signal_generator_sync_pulse_c.
51  *
52  * To avoid accidental use of raw pointers, radar::signal_generator_sync_pulse_c's
53  * constructor is in a private implementation
54  * class. radar::signal_generator_sync_pulse_c::make is the public interface for
55  * creating new instances.
56  */
57  static sptr make(int packet_len, std::vector<int> pulse_len, std::vector<int> pulse_pause, float pulse_amplitude, const std::string len_key="packet_len");
58  };
59 
60  } // namespace radar
61 } // namespace gr
62 
63 #endif /* INCLUDED_RADAR_SIGNAL_GENERATOR_SYNC_PULSE_C_H */
64 
This block generates a signal for the synchronization of the USRP Echotimer in baseband. The signal is pulsed with a constant amplitude with various pulse length and wait samples in between. It is structured by alternating wait parts and burst parts and starting with the first wait part. The pulses are full real signals.
Definition: signal_generator_sync_pulse_c.h:44
Definition: crop_matrix_vcvc.h:28
boost::shared_ptr< signal_generator_sync_pulse_c > sptr
Definition: signal_generator_sync_pulse_c.h:47
#define RADAR_API
Definition: api.h:30