GNU Radio Manual and C++ API Reference 3.8.5.0
The Free & Open Software Radio Ecosystem
 
Loading...
Searching...
No Matches
pccc_decoder_combined_blk.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2004,2018 Free Software Foundation, Inc.
4 *
5 * This file is part of GNU Radio
6 *
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
10 * any later version.
11 *
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Radio; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street,
20 * Boston, MA 02110-1301, USA.
21 */
22
23#ifndef PCCC_DECODER_COMBINED_BLK_H
24#define PCCC_DECODER_COMBINED_BLK_H
25
26#include <gnuradio/block.h>
32#include <cstdint>
33#include <vector>
34
35namespace gr {
36namespace trellis {
37
38/*!
39 * \ingroup trellis_coding_blk
40 */
41template <class IN_T, class OUT_T>
43{
44public:
45 typedef boost::shared_ptr<pccc_decoder_combined_blk<IN_T, OUT_T>> sptr;
46
47 static sptr make(const fsm& FSMo,
48 int STo0,
49 int SToK,
50 const fsm& FSMi,
51 int STi0,
52 int STiK,
53 const interleaver& INTERLEAVER,
54 int blocklength,
55 int repetitions,
56 siso_type_t SISO_TYPE,
57 int D,
58 const std::vector<IN_T>& TABLE,
60 float scaling);
61
62 virtual fsm FSM1() const = 0;
63 virtual fsm FSM2() const = 0;
64 virtual int ST10() const = 0;
65 virtual int ST1K() const = 0;
66 virtual int ST20() const = 0;
67 virtual int ST2K() const = 0;
68 virtual interleaver INTERLEAVER() const = 0;
69 virtual int blocklength() const = 0;
70 virtual int repetitions() const = 0;
71 virtual int D() const = 0;
72 virtual std::vector<IN_T> TABLE() const = 0;
74 virtual siso_type_t SISO_TYPE() const = 0;
75 virtual float scaling() const = 0;
76 virtual void set_scaling(float scaling) = 0;
77};
78
85
86} /* namespace trellis */
87} /* namespace gr */
88
89#endif /* PCCC_DECODER_COMBINED_BLK_H */
The abstract base class for all 'terminal' processing blocks.
Definition block.h:72
Finite State Machine Specification class.
Definition fsm.h:45
INTERLEAVER class.
Definition interleaver.h:38
Definition pccc_decoder_combined_blk.h:43
virtual std::vector< IN_T > TABLE() const =0
virtual int repetitions() const =0
virtual digital::trellis_metric_type_t METRIC_TYPE() const =0
static sptr make(const fsm &FSMo, int STo0, int SToK, const fsm &FSMi, int STi0, int STiK, const interleaver &INTERLEAVER, int blocklength, int repetitions, siso_type_t SISO_TYPE, int D, const std::vector< IN_T > &TABLE, digital::trellis_metric_type_t METRIC_TYPE, float scaling)
boost::shared_ptr< pccc_decoder_combined_blk< IN_T, OUT_T > > sptr
Definition pccc_decoder_combined_blk.h:45
virtual float scaling() const =0
virtual interleaver INTERLEAVER() const =0
virtual siso_type_t SISO_TYPE() const =0
virtual void set_scaling(float scaling)=0
virtual int blocklength() const =0
#define TRELLIS_API
Definition gr-trellis/include/gnuradio/trellis/api.h:30
trellis_metric_type_t
Definition metric_type.h:29
pccc_decoder_combined_blk< float, std::uint8_t > pccc_decoder_combined_fb
Definition pccc_decoder_combined_blk.h:79
pccc_decoder_combined_blk< float, std::int32_t > pccc_decoder_combined_fi
Definition pccc_decoder_combined_blk.h:81
pccc_decoder_combined_blk< gr_complex, std::int32_t > pccc_decoder_combined_ci
Definition pccc_decoder_combined_blk.h:84
siso_type_t
Definition siso_type.h:29
pccc_decoder_combined_blk< float, std::int16_t > pccc_decoder_combined_fs
Definition pccc_decoder_combined_blk.h:80
pccc_decoder_combined_blk< gr_complex, std::uint8_t > pccc_decoder_combined_cb
Definition pccc_decoder_combined_blk.h:82
pccc_decoder_combined_blk< gr_complex, std::int16_t > pccc_decoder_combined_cs
Definition pccc_decoder_combined_blk.h:83
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition basic_block.h:46