Loading...
Searching...
No Matches
sccc_decoder_blk.h
Go to the documentation of this file.
/* -*- c++ -*- */
/*
* Copyright 2004,2012,2018 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
*/
#ifndef SCCC_DECODER_BLK_H
#define SCCC_DECODER_BLK_H
#include <gnuradio/block.h>
#include <gnuradio/trellis/api.h>
#include <gnuradio/trellis/fsm.h>
#include <gnuradio/trellis/interleaver.h>
#include <gnuradio/trellis/siso_type.h>
#include <cstdint>
#include <vector>
namespace gr {
namespace trellis {
/*!
* \ingroup trellis_coding_blk
*/
template <class T>
class TRELLIS_API sccc_decoder_blk : virtual public block
{
public:
// gr::trellis::sccc_decoder_blk::sptr
typedef std::shared_ptr<sccc_decoder_blk<T>> sptr;
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);
virtual fsm FSMo() const = 0;
virtual fsm FSMi() const = 0;
virtual int STo0() const = 0;
virtual int SToK() const = 0;
virtual int STi0() const = 0;
virtual int STiK() const = 0;
virtual interleaver INTERLEAVER() const = 0;
virtual int blocklength() const = 0;
virtual int repetitions() const = 0;
virtual siso_type_t SISO_TYPE() const = 0;
};
typedef sccc_decoder_blk<std::uint8_t> sccc_decoder_b;
typedef sccc_decoder_blk<std::int16_t> sccc_decoder_s;
typedef sccc_decoder_blk<std::int32_t> sccc_decoder_i;
} /* namespace trellis */
} /* namespace gr */
#endif /* SCCC_DECODER_BLK_H */
gr::block::block
block(void)
Definition gnuradio-runtime/include/gnuradio/block.h:806
gr::trellis::fsm
Finite State Machine Specification class.
Definition fsm.h:33
gr::trellis::interleaver
INTERLEAVER class.
Definition interleaver.h:27
gr::trellis::sccc_decoder_blk
Definition sccc_decoder_blk.h:31
gr::trellis::sccc_decoder_blk< std::uint8_t >::STi0
virtual int STi0() const=0
gr::trellis::sccc_decoder_blk< std::uint8_t >::STo0
virtual int STo0() const=0
gr::trellis::sccc_decoder_blk< std::uint8_t >::blocklength
virtual int blocklength() const=0
gr::trellis::sccc_decoder_blk< std::uint8_t >::FSMo
virtual fsm FSMo() const=0
gr::trellis::sccc_decoder_blk::sptr
std::shared_ptr< sccc_decoder_blk< T > > sptr
Definition sccc_decoder_blk.h:34
gr::trellis::sccc_decoder_blk< std::uint8_t >::INTERLEAVER
virtual interleaver INTERLEAVER() const=0
gr::trellis::sccc_decoder_blk< std::uint8_t >::repetitions
virtual int repetitions() const=0
gr::trellis::sccc_decoder_blk::make
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)
gr::trellis::sccc_decoder_blk< std::uint8_t >::STiK
virtual int STiK() const=0
gr::trellis::sccc_decoder_blk< std::uint8_t >::SToK
virtual int SToK() const=0
gr::trellis::sccc_decoder_blk< std::uint8_t >::SISO_TYPE
virtual siso_type_t SISO_TYPE() const=0
gr::trellis::sccc_decoder_blk< std::uint8_t >::FSMi
virtual fsm FSMi() const=0
fsm.h
block.h
api.h
TRELLIS_API
#define TRELLIS_API
Definition gr-trellis/include/gnuradio/trellis/api.h:18
interleaver.h
gr::trellis
Definition base.h:17
gr::trellis::sccc_decoder_b
sccc_decoder_blk< std::uint8_t > sccc_decoder_b
Definition sccc_decoder_blk.h:59
gr::trellis::sccc_decoder_s
sccc_decoder_blk< std::int16_t > sccc_decoder_s
Definition sccc_decoder_blk.h:60
gr::trellis::siso_type_t
siso_type_t
Definition siso_type.h:17
gr::trellis::sccc_decoder_i
sccc_decoder_blk< std::int32_t > sccc_decoder_i
Definition sccc_decoder_blk.h:61
gr
GNU Radio logging wrapper.
Definition basic_block.h:29
siso_type.h