JS8Call-Improved master
Loading...
Searching...
No Matches
js8::WhiteningProcessor< NROWS, ND, N > Class Template Reference

Compute per-tone/symbol noise medians and whiten LLRs for a JS8 frame. More...

#include <whitening_processor.h>

Classes

struct  Result
 Result of a whitening/LRR normalization pass. More...

Static Public Member Functions

static Result process (std::array< std::array< float, ND >, NROWS > const &s1, std::array< int, ND > const &symbolWinners, float erasureThreshold, bool debug)
 Compute normalized LLR arrays for a single candidate frame.

Detailed Description

template<int NROWS, int ND, int N>
class js8::WhiteningProcessor< NROWS, ND, N >

Compute per-tone/symbol noise medians and whiten LLRs for a JS8 frame.

Given symbol magnitudes (sans Costas) and winners, produces normalized LLR0/LLR1, optionally applying noise-based whitening and erasure. Fully templated on matrix dimensions, so it stays header-only; used inside the JS8 decoder per candidate.

Member Function Documentation

◆ process()

template<int NROWS, int ND, int N>
Result js8::WhiteningProcessor< NROWS, ND, N >::process ( std::array< std::array< float, ND >, NROWS > const & s1,
std::array< int, ND > const & symbolWinners,
float erasureThreshold,
bool debug )
inlinestatic

Compute normalized LLR arrays for a single candidate frame.

The template parameters describe the matrix dimensions used by the decoder: NROWS is the number of tones (rows), ND is the number of symbols (columns) and N is a helper parameter used by the decoder (kept for API parity). The input s1 is an array of NROWS rows, each containing ND magnitudes (per-symbol). For each symbol column the routine computes three LLR entries (placed into contiguous slots of llr0/llr1) and optionally applies noise whitening and erasure.

Parameters
s1Per-tone arrays of symbol magnitudes; index as s1[row][col].
symbolWinnersFor each symbol column, the index [0..NROWS-1] identifying the winning tone.
erasureThresholdWhen > 0.0, magnitudes below this threshold (after whitening) are erased (set to zero).
debugWhen true, emits extra debug logging about noise metrics.
Returns
A Result containing llr0, llr1 and processing statistics.

The documentation for this class was generated from the following file: