GNU Radio's SATELLITES Package
convolutional_encoder.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2021 Daniel Estevez <daniel@destevez.net>
4 *
5 * This file is part of gr-satellites
6 *
7 * SPDX-License-Identifier: GPL-3.0-or-later
8 *
9 */
10
11#ifndef INCLUDED_SATELLITES_CONVOLUTIONAL_ENCODER_H
12#define INCLUDED_SATELLITES_CONVOLUTIONAL_ENCODER_H
13
14#include <gnuradio/block.h>
15#include <satellites/api.h>
16
17namespace gr {
18namespace satellites {
19
20/*!
21 * \brief Convolutional encoder
22 * \ingroup satellites
23 *
24 */
25class SATELLITES_API convolutional_encoder : virtual public gr::block
26{
27public:
28 typedef std::shared_ptr<convolutional_encoder> sptr;
29
30 /*!
31 * \brief Return a shared_ptr to a new instance of satellites::convolutional_encoder.
32 *
33 * To avoid accidental use of raw pointers, satellites::convolutional_encoder's
34 * constructor is in a private implementation
35 * class. satellites::convolutional_encoder::make is the public interface for
36 * creating new instances.
37 */
38 static sptr make(int constraint, const std::vector<int>& polynomials);
39};
40
41} // namespace satellites
42} // namespace gr
43
44#endif /* INCLUDED_SATELLITES_CONVOLUTIONAL_ENCODER_H */
#define SATELLITES_API
Definition api.h:31
Convolutional encoder.
Definition convolutional_encoder.h:26
static sptr make(int constraint, const std::vector< int > &polynomials)
Return a shared_ptr to a new instance of satellites::convolutional_encoder.
std::shared_ptr< convolutional_encoder > sptr
Definition convolutional_encoder.h:28
Definition ax100_decode.h:17