GNU Radio C++ API
gr_encode_ccsds_27_bb.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2008 Free Software Foundation, Inc.
4
*
5
* GNU Radio 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
* GNU Radio 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 GNU Radio; 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
#ifndef INCLUDED_GR_ENCODE_CCSDS_27_BB_H
21
#define INCLUDED_GR_ENCODE_CCSDS_27_BB_H
22
23
#include <
gr_core_api.h
>
24
#include <
gr_sync_interpolator.h
>
25
26
class
gr_encode_ccsds_27_bb
;
27
28
typedef
boost::shared_ptr<gr_encode_ccsds_27_bb>
gr_encode_ccsds_27_bb_sptr
;
29
30
GR_CORE_API
gr_encode_ccsds_27_bb_sptr
gr_make_encode_ccsds_27_bb
();
31
32
/*! \brief A rate 1/2, k=7 convolutional encoder for the CCSDS standard
33
* \ingroup ecc
34
*
35
* This block performs convolutional encoding using the CCSDS standard
36
* polynomial ("Voyager").
37
*
38
* The input is an MSB first packed stream of bits.
39
*
40
* The output is a stream of symbols 0 or 1 representing the encoded data.
41
*
42
* As a rate 1/2 code, there will be 16 output symbols for every input byte.
43
*
44
* This block is designed for continuous data streaming, not packetized data.
45
* There is no provision to "flush" the encoder.
46
*/
47
48
class
GR_CORE_API
gr_encode_ccsds_27_bb
:
public
gr_sync_interpolator
49
{
50
private
:
51
friend
GR_CORE_API
gr_encode_ccsds_27_bb_sptr
gr_make_encode_ccsds_27_bb
();
52
53
gr_encode_ccsds_27_bb
();
54
unsigned
char
d_encstate;
55
56
public
:
57
~
gr_encode_ccsds_27_bb
();
58
59
int
work
(
int
noutput_items,
60
gr_vector_const_void_star
&input_items,
61
gr_vector_void_star
&output_items);
62
};
63
64
#endif
/* INCLUDED_GR_ENCODE_CCSDS_27_BB_H */
gnuradio-core
src
lib
general
gr_encode_ccsds_27_bb.h
Generated on Thu Jul 12 2012 00:06:23 for GNU Radio C++ API by
1.8.1.1