|
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>
|
Binary-Input AWGN — fused NRZMapper + AWGN block. More...
#include <blocks.hpp>

Public Member Functions | |
| BI_AWGN (double EbN0dB, double a=0.0, double b=2.0) | |
| Construct with SNR and constellation parameters. | |
| std::complex< double > | operator() (const Fp< 2 > &in) |
| Map a bit and add noise. | |
| const NRZMapper & | get_encoder () const noexcept |
| Internal NRZ mapper (for constructing matching demappers/LLR calculators). | |
| const AWGN & | get_transmission () const noexcept |
| Internal AWGN block (for noise statistics). | |
| double | get_capacity () const noexcept |
| Shannon capacity in bits per symbol. | |
| constexpr double | get_pe () const noexcept |
| Theoretical hard-decision bit error probability for this constellation/SNR. | |
| double | get_sigma () const noexcept |
| Noise standard deviation σ. | |
| long double | get_Bhattacharyya_param () const noexcept |
| Bhattacharyya parameter γ = exp(−b²/(8σ²)). | |
| Public Member Functions inherited from CECCO::details::BlockProcessor< BI_AWGN, Fp< 2 >, std::complex< double > > | |
| Vector< std::complex< double > > | operator() (const Vector< Fp< 2 > > &in) |
| Apply the block element-wise to each vector entry. | |
Additional Inherited Members | |
| Protected Member Functions inherited from CECCO::details::BlockProcessor< BI_AWGN, Fp< 2 >, std::complex< double > > | |
| const BI_AWGN & | derived () const noexcept |
Binary-Input AWGN — fused NRZMapper + AWGN block.
Maps binary inputs through an internal NRZMapper and then through AWGN, yielding noisy complex symbols ready for hard decision (NRZDemapper) or soft decision (LLRCalculator). Default parameters give BPSK (a = 0, b = 2).
Definition at line 634 of file blocks.hpp.
|
inline |
Construct with SNR and constellation parameters.
| EbN0dB | SNR Eb/N₀ in dB |
| a | NRZ DC offset (default 0 for BPSK) |
| b | NRZ constellation distance (default 2 for BPSK) |
Definition at line 644 of file blocks.hpp.

|
inlinenoexcept |
Bhattacharyya parameter γ = exp(−b²/(8σ²)).
Definition at line 676 of file blocks.hpp.

|
noexcept |
Shannon capacity in bits per symbol.
Returns 0 if the constellation distance is 0 and 1 if the noise vanishes.
Definition at line 687 of file blocks.hpp.

|
inlinenoexcept |
Internal NRZ mapper (for constructing matching demappers/LLR calculators).
Definition at line 654 of file blocks.hpp.

|
inlineconstexprnoexcept |
Theoretical hard-decision bit error probability for this constellation/SNR.
Definition at line 668 of file blocks.hpp.
|
inlinenoexcept |
Noise standard deviation σ.
Definition at line 671 of file blocks.hpp.
|
inlinenoexcept |
Internal AWGN block (for noise statistics).
Definition at line 657 of file blocks.hpp.

|
inline |
Map a bit and add noise.
| in | Input bit |
Definition at line 651 of file blocks.hpp.