gr::trellis::fsm
gnuradio/trellis/fsm.h
int int gr::trellis::fsm::d_I d_I gr::trellis::fsm::d_I
int int gr::trellis::fsm::d_S d_S gr::trellis::fsm::d_S
int int gr::trellis::fsm::d_O d_O gr::trellis::fsm::d_O
std::vector< int > std::vector<int> gr::trellis::fsm::d_NS d_NS gr::trellis::fsm::d_NS
std::vector< int > std::vector<int> gr::trellis::fsm::d_OS d_OS gr::trellis::fsm::d_OS
std::vector< std::vector< int > > std::vector<std::vector<int> > gr::trellis::fsm::d_PS d_PS gr::trellis::fsm::d_PS
std::vector< std::vector< int > > std::vector<std::vector<int> > gr::trellis::fsm::d_PI d_PI gr::trellis::fsm::d_PI
std::vector< int > std::vector<int> gr::trellis::fsm::d_TMl d_TMl gr::trellis::fsm::d_TMl
std::vector< int > std::vector<int> gr::trellis::fsm::d_TMi d_TMi gr::trellis::fsm::d_TMi
void void gr::trellis::fsm::generate_PS_PI () generate_PS_PI gr::trellis::fsm::generate_PS_PI
void void gr::trellis::fsm::generate_TM () generate_TM gr::trellis::fsm::generate_TM
bool bool gr::trellis::fsm::find_es (int es) find_es gr::trellis::fsm::find_es int es
gr::trellis::fsm::fsm
()
fsm
gr::trellis::fsm::fsm

Constructor to create an uninitialized FSMS.

fsm
fsm
fsm
fsm
gr::trellis::fsm::fsm
(const fsm &FSM)
fsm
gr::trellis::fsm::fsm
const fsm & FSM

Constructor to copy an FSMS.

fsm
gr::trellis::fsm::fsm
(int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS)
fsm
gr::trellis::fsm::fsm
int I
int S
int O
const std::vector< int > & NS
const std::vector< int > & OS

Constructor to to create an FSMS.

I

The number of possible input symbols.

S

The number of possible FSM states.

O

The number of possible output symbols.

NS

A mapping from (current state, input symbol) to next state. next_state = NS[current_state * I + input_symbol]

OS

A mapping from (current state, input symbol) to output symbol. output_symbol = OS[current_state * I + input_symbol]

I
NS
O
OS
S
gr::trellis::fsm::fsm
(const char *name)
fsm
gr::trellis::fsm::fsm
const char * name

Constructor to create an FSMS from file contents.

name

filename

gr::trellis::fsm::fsm
(int k, int n, const std::vector< int > &G)
fsm
gr::trellis::fsm::fsm
int k
int n
const std::vector< int > & G

Creates an FSMS from the generator matrix of a (n, k) binary convolutional code.

k

???

n

???

G

???

gr::trellis::fsm::fsm
(int mod_size, int ch_length)
fsm
gr::trellis::fsm::fsm
int mod_size
int ch_length

Creates an FSMS describing ISI.

mod_size

modulation size

ch_length

channel length

gr::trellis::fsm::fsm
(int P, int M, int L)
fsm
gr::trellis::fsm::fsm
int P
int M
int L

Creates an FSMS describing the trellis for a CPM.

P

???? h=K/P (relatively prime)

M

alphabet size

L

pulse duration

This FSM is based on the paper by B. Rimoldi "A decomposition approach to CPM", IEEE Trans. Info Theory, March 1988 See also my own notes at http://www.eecs.umich.edu/~anastas/docs/cpm.pdf
gr::trellis::fsm::fsm
(const fsm &FSM1, const fsm &FSM2)
fsm
gr::trellis::fsm::fsm
const fsm & FSM1
const fsm & FSM2

Creates an FSMS describing the joint trellis of two FSMs.

FSM1

first FSMS

FSM2

second FSMS

fsm
gr::trellis::fsm::fsm
(const fsm &FSMo, const fsm &FSMi, bool serial)
fsm
gr::trellis::fsm::fsm
const fsm & FSMo
const fsm & FSMi
bool serial

Creates an FSMS describing the trellis of two serially concatenated FSMs.

FSMo

outer FSMS

FSMi

inner FSMS

serial

set it to true to distinguish from the previous constructor

fsm
gr::trellis::fsm::fsm
(const fsm &FSM, int n)
fsm
gr::trellis::fsm::fsm
const fsm & FSM
int n

Creates an FSMS representing n stages through the original FSM (AKA radix-n FSM).

FSM

Original FSMs

n

Number of stages.

fsm
int int gr::trellis::fsm::I () const I gr::trellis::fsm::I fsm
int int gr::trellis::fsm::S () const S gr::trellis::fsm::S fsm
int int gr::trellis::fsm::O () const O gr::trellis::fsm::O fsm
const std::vector< int > & const std::vector< int > & gr::trellis::fsm::NS () const NS gr::trellis::fsm::NS fsm
const std::vector< int > & const std::vector< int > & gr::trellis::fsm::OS () const OS gr::trellis::fsm::OS fsm
const std::vector< std::vector< int > > & const std::vector< std::vector< int > > & gr::trellis::fsm::PS () const PS gr::trellis::fsm::PS
const std::vector< std::vector< int > > & const std::vector< std::vector< int > > & gr::trellis::fsm::PI () const PI gr::trellis::fsm::PI
const std::vector< int > & const std::vector< int > & gr::trellis::fsm::TMi () const TMi gr::trellis::fsm::TMi
const std::vector< int > & const std::vector< int > & gr::trellis::fsm::TMl () const TMl gr::trellis::fsm::TMl
void void gr::trellis::fsm::write_trellis_svg (std::string filename, int number_stages) write_trellis_svg gr::trellis::fsm::write_trellis_svg std::string filename int number_stages

Creates an svg image of the trellis representation.

filename

filename

number_stages

????

void void gr::trellis::fsm::write_fsm_txt (std::string filename) write_fsm_txt gr::trellis::fsm::write_fsm_txt std::string filename

Write the FSMS to a file.

filename

filename

Finite State Machine Specification class.

An instance of this class represents a finite state machine specification (FSMS) rather than the FSM itself. It particular the state of the FSM is not stored within an instance of this class.

- gr::trellis::fsm
  d_I
- gr::trellis::fsm
  d_NS
- gr::trellis::fsm
  d_O
- gr::trellis::fsm
  d_OS
- gr::trellis::fsm
  d_PI
- gr::trellis::fsm
  d_PS
- gr::trellis::fsm
  d_S
- gr::trellis::fsm
  d_TMi
- gr::trellis::fsm
  d_TMl
- gr::trellis::fsm
  find_es
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  fsm
- gr::trellis::fsm
  generate_PS_PI
- gr::trellis::fsm
  generate_TM
- gr::trellis::fsm
  I
- gr::trellis::fsm
  NS
- gr::trellis::fsm
  O
- gr::trellis::fsm
  OS
- gr::trellis::fsm
  PI
- gr::trellis::fsm
  PS
- gr::trellis::fsm
  S
- gr::trellis::fsm
  TMi
- gr::trellis::fsm
  TMl
- gr::trellis::fsm
  write_fsm_txt
- gr::trellis::fsm
  write_trellis_svg