|
GNU Radio 3.7.2.1 C++ API
|
Finite State Machine Specification class. More...
#include <fsm.h>
Public Member Functions | |
| fsm () | |
| Constructor to create an uninitialized FSMS. More... | |
| fsm (const fsm &FSM) | |
| Constructor to copy an FSMS. More... | |
| fsm (int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS) | |
| Constructor to to create an FSMS. More... | |
| fsm (const char *name) | |
| Constructor to create an FSMS from file contents. More... | |
| fsm (int k, int n, const std::vector< int > &G) | |
| Creates an FSMS from the generator matrix of a (n, k) binary convolutional code. More... | |
| fsm (int mod_size, int ch_length) | |
| Creates an FSMS describing ISI. More... | |
| fsm (int P, int M, int L) | |
| Creates an FSMS describing the trellis for a CPM. More... | |
| fsm (const fsm &FSM1, const fsm &FSM2) | |
| Creates an FSMS describing the joint trellis of two FSMs. More... | |
| fsm (const fsm &FSM, int n) | |
| Creates an FSMS representing n stages through the originial FSM (AKA radix-n FSM). More... | |
| int | I () const |
| int | S () const |
| int | O () const |
| const std::vector< int > & | NS () const |
| const std::vector< int > & | OS () const |
| const std::vector< std::vector < int > > & | PS () const |
| const std::vector< std::vector < int > > & | PI () const |
| const std::vector< int > & | TMi () const |
| const std::vector< int > & | TMl () const |
| void | write_trellis_svg (std::string filename, int number_stages) |
| Creates an svg image of the trellis representation. More... | |
| void | write_fsm_txt (std::string filename) |
| Write the FSMS to a file. More... | |
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::fsm | ( | ) |
Constructor to create an uninitialized FSMS.
| gr::trellis::fsm::fsm | ( | const fsm & | FSM | ) |
Constructor to copy an FSMS.
| 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] |
| 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 | ||
| ) |
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 | ||
| ) |
Creates an FSMS describing ISI.
| mod_size | modulation size |
| ch_length | channel length |
| 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
Creates an FSMS describing the joint trellis of two FSMs.
| FSM1 | first FSMS |
| FSM2 | second FSMS |
| gr::trellis::fsm::fsm | ( | const fsm & | FSM, |
| int | n | ||
| ) |
Creates an FSMS representing n stages through the originial FSM (AKA radix-n FSM).
| FSM | Original FSMs |
| n | Number of stages. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void gr::trellis::fsm::write_fsm_txt | ( | std::string | filename | ) |
Write the FSMS to a file.
| filename | filename |
| void gr::trellis::fsm::write_trellis_svg | ( | std::string | filename, |
| int | number_stages | ||
| ) |
Creates an svg image of the trellis representation.
| filename | filename |
| number_stages | ???? |