C(++)ECCO
C++ Error Control COding: a header-only library for ECC simulations and experiments, modeling complete coding systems across arbitrary finite fields and complex inter-field relationships - Christian Senger <senger@inue.uni-stuttgart.de>
Loading...
Searching...
No Matches
trellises.hpp File Reference

Trellis representation for code decoding. More...

#include <variant>
#include "fields.hpp"
#include "vectors.hpp"
Include dependency graph for trellises.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CECCO::details::Vertex< T >
 Vertex in one trellis layer. More...
struct  CECCO::details::Edge< T >
 Edge between two adjacent trellis layers. More...
struct  CECCO::Trellis< T >
 Trellis with field-labelled edges between consecutive layers. More...
struct  CECCO::Trellis< T >::Viterbi_Workspace< cost_t >
 Workspace for Viterbi decoding on this trellis. More...
struct  CECCO::Trellis< T >::BCJR_Workspace
 Workspace for binary BCJR forward-backward decoding. More...

Namespaces

namespace  CECCO
 Provides a framework for error correcting codes.
namespace  CECCO::details
 Contains implementation details not to be exposed to the user. Functions and classes here may change without notice.

Functions

template<FieldType T>
std::ostream & CECCO::operator<< (std::ostream &os, const Trellis< T > &Tr)

Detailed Description

Trellis representation for code decoding.

Author
Christian Senger senge.nosp@m.r@in.nosp@m.ue.un.nosp@m.i-st.nosp@m.uttga.nosp@m.rt.d.nosp@m.e
Version
2.1.2
Date
2026

Licensed for noncommercial use only, including academic teaching, research, and personal non-profit purposes. Commercial use is prohibited without a separate commercial license. See the LICENSE file in the repository root for full terms and how to request a commercial license.

Description

Trellis storage and workspaces used by Viterbi and BCJR decoding. A trellis stores vertices in layers and edges between adjacent layers. Edge labels are field elements. The class also provides trellis products, segment merging, text output, and TikZ export for finite fields.

Definition in file trellises.hpp.