SDRAngel
4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
|
#include <dvbs2.h>
Classes | |
struct | sampler_state |
struct | sync |
Public Types | |
enum | { COARSE_FREQ, FRAME_SEARCH, FRAME_LOCKED } |
Public Member Functions | |
s2_frame_receiver (scheduler *sch, sampler_interface< T > *_sampler, pipebuf< complex< T >> &_in, pipebuf< plslot< SOFTSYMB >> &_out, pipebuf< float > *_freq_out=NULL, pipebuf< float > *_ss_out=NULL, pipebuf< float > *_mer_out=NULL, pipebuf< complex< float >> *_cstln_out=NULL, pipebuf< complex< float >> *_cstln_pls_out=NULL, pipebuf< complex< float >> *_symbols_out=NULL, pipebuf< int > *_state_out=NULL) | |
void | run () |
void | init_coarse_freq () |
void | enter_coarse_freq () |
void | run_frame_coarse () |
void | enter_frame_search () |
void | run_frame_search () |
void | enter_frame_locked () |
void | run_frame_locked () |
void | shutdown () |
void | init_agc (const complex< T > *buf, int n) |
void | track_agc (const complex< float > &p) |
void | update_agc () |
complex< float > | descramble (sampler_state *ss, const complex< float > &p) |
complex< float > | interp_next (sampler_state *ss) |
void | align_phase (sampler_state *ss, const complex< float > &c) |
uint8_t | track_symbol (sampler_state *ss, const complex< float > &p, cstln_lut< SOFTSYMB, 256 > *c, int mode) |
void | add_syncs (cstln_lut< SOFTSYMB, 256 > *c) |
Public Member Functions inherited from leansdr::runnable | |
runnable (scheduler *_sch, const char *name) | |
Public Member Functions inherited from leansdr::runnable_common | |
runnable_common (const char *_name) | |
virtual | ~runnable_common () |
Static Public Attributes | |
static const int | MAX_SYMBOLS_PER_FRAME |
static const int | MAXSYNCS = 8 |
static const int | MAX_SLOTS = 240 |
static const int | MAX_SYMBOLS |
Additional Inherited Members | |
Protected Attributes inherited from leansdr::runnable | |
scheduler * | sch |
anonymous enum |
|
inline |
Definition at line 446 of file dvbs2.h.
References leansdr::cstln_base::QPSK.
|
inline |
Definition at line 1155 of file dvbs2.h.
References leansdr::fail(), leansdr::s2_frame_receiver< T, SOFTSYMB >::sync::hist, i, leansdr::complex< T >::im, M_PI, leansdr::cstln_base::nrotations, leansdr::cstln_base::nsymbols, leansdr::s2_frame_receiver< T, SOFTSYMB >::sync::offset16, leansdr::complex< T >::re, leansdr::cstln_base::symbols, and leansdr::s2_frame_receiver< T, SOFTSYMB >::sync::tobpsk.
|
inline |
Definition at line 1073 of file dvbs2.h.
References leansdr::complex< T >::im, M_PI, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::ph16, and leansdr::complex< T >::re.
|
inline |
Definition at line 1018 of file dvbs2.h.
References leansdr::complex< T >::im, leansdr::complex< T >::re, and leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::scr.
|
inline |
Definition at line 556 of file dvbs2.h.
References leansdr::opt_write().
|
inline |
Definition at line 673 of file dvbs2.h.
References leansdr::opt_write().
|
inline |
Definition at line 595 of file dvbs2.h.
References leansdr::opt_write().
|
inline |
Definition at line 988 of file dvbs2.h.
References leansdr::cnorm2(), and i.
|
inline |
|
inline |
Definition at line 1044 of file dvbs2.h.
References leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::fw16, leansdr::sampler_interface< T >::interp(), leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::mu, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::p, and leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::ph16.
|
inlinevirtual |
Reimplemented from leansdr::runnable_common.
Definition at line 510 of file dvbs2.h.
References leansdr::modcod_info::MAX_SLOTS_PER_FRAME, leansdr::opt_writable(), leansdr::opt_write(), and leansdr::sampler_interface< T >::readahead().
|
inline |
Definition at line 562 of file dvbs2.h.
References leansdr::complex< T >::im, M_PI, and leansdr::complex< T >::re.
|
inline |
Definition at line 707 of file dvbs2.h.
References leansdr::modcod_info::c, leansdr::conjprod(), leansdr::cstln_amp, leansdr::modcod_info::esn0_nf, leansdr::FEC910, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::fw16, leansdr::modcod_info::g1, leansdr::modcod_info::g2, leansdr::modcod_info::g3, leansdr::hamming_weight(), i, leansdr::complex< T >::im, leansdr::plslot< SOFTSYMB >::is_pls, leansdr::plslot< SOFTSYMB >::LENGTH, leansdr::cstln_lut< SOFTSYMB, R >::m_rateCode, leansdr::s2_pls::modcod, leansdr::modcod_infos, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::mu, leansdr::cstln_base::names, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::normalize(), leansdr::modcod_info::nslots_nf, leansdr::modcod_info::nsymbols, leansdr::opt_write(), leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::p, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::ph16, leansdr::s2_pls::pilots, leansdr::plslot< SOFTSYMB >::pls, leansdr::modcod_info::rate, leansdr::complex< T >::re, leansdr::s2_pls::sf, leansdr::plslot< SOFTSYMB >::symbols, leansdr::sampler_interface< T >::update_freq(), and xfprintf.
|
inline |
Definition at line 605 of file dvbs2.h.
References floor(), leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::fw16, leansdr::hamming_weight(), leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::mu, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::normalize(), leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::p, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::ph16, and leansdr::sampler_interface< T >::update_freq().
|
inlinevirtual |
Reimplemented from leansdr::runnable_common.
|
inline |
Definition at line 995 of file dvbs2.h.
References leansdr::complex< T >::im, and leansdr::complex< T >::re.
|
inline |
Definition at line 1087 of file dvbs2.h.
References leansdr::cstln_amp, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::fw16, leansdr::complex< T >::im, leansdr::cstln_lut< SOFTSYMB, R >::lookup(), leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::mu, leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler_state::ph16, leansdr::complex< T >::re, and leansdr::cstln_base::symbols.
|
inline |
Definition at line 1001 of file dvbs2.h.
References leansdr::cstln_amp, and leansdr::gen_sqrt().
float leansdr::s2_frame_receiver< T, SOFTSYMB >::agc_bw |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::agc_gain |
complex<float> leansdr::s2_frame_receiver< T, SOFTSYMB >::c |
int leansdr::s2_frame_receiver< T, SOFTSYMB >::coarse_count |
cstln_lut<SOFTSYMB, 256>* leansdr::s2_frame_receiver< T, SOFTSYMB >::cstln |
Definition at line 1153 of file dvbs2.h.
Referenced by DATVDemod::feed(), and DATVDemod::InitDATVS2Framework().
pipewriter<complex<float> >* leansdr::s2_frame_receiver< T, SOFTSYMB >::cstln_out |
pipewriter<complex<float> >* leansdr::s2_frame_receiver< T, SOFTSYMB >::cstln_pls_out |
struct leansdr::s2_frame_receiver::sync * leansdr::s2_frame_receiver< T, SOFTSYMB >::current_sync[MAXSYNCS] |
complex<float> leansdr::s2_frame_receiver< T, SOFTSYMB >::diffcorr |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::ev_power |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::Fm |
Definition at line 441 of file dvbs2.h.
Referenced by DATVDemod::InitDATVS2Framework().
pipewriter<float>* leansdr::s2_frame_receiver< T, SOFTSYMB >::freq_out |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::freqw16 |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::Ftune |
Definition at line 440 of file dvbs2.h.
Referenced by DATVDemod::InitDATVS2Framework().
struct { ... } leansdr::s2_frame_receiver< T, SOFTSYMB >::hist[3] |
pipereader<complex<T> > leansdr::s2_frame_receiver< T, SOFTSYMB >::in |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::in_power |
int leansdr::s2_frame_receiver< T, SOFTSYMB >::m_modcodRate |
Definition at line 1209 of file dvbs2.h.
Referenced by DATVDemod::feed().
int leansdr::s2_frame_receiver< T, SOFTSYMB >::m_modcodType |
Definition at line 1208 of file dvbs2.h.
Referenced by DATVDemod::feed().
float leansdr::s2_frame_receiver< T, SOFTSYMB >::max_freqw16 |
|
static |
|
static |
|
static |
|
static |
modcod_info* leansdr::s2_frame_receiver< T, SOFTSYMB >::mcinfo |
int leansdr::s2_frame_receiver< T, SOFTSYMB >::meas_count |
int leansdr::s2_frame_receiver< T, SOFTSYMB >::meas_decimation |
Definition at line 439 of file dvbs2.h.
Referenced by DATVDemod::InitDATVS2Framework().
pipewriter<float> * leansdr::s2_frame_receiver< T, SOFTSYMB >::mer_out |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::min_freqw16 |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::mu |
int leansdr::s2_frame_receiver< T, SOFTSYMB >::nsyncs |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::omega |
Definition at line 508 of file dvbs2.h.
Referenced by DATVDemod::InitDATVS2Framework().
pipewriter<plslot<SOFTSYMB> > leansdr::s2_frame_receiver< T, SOFTSYMB >::out |
complex<float> leansdr::s2_frame_receiver< T, SOFTSYMB >::p |
float leansdr::s2_frame_receiver< T, SOFTSYMB >::phase16 |
s2_plscodes<T> leansdr::s2_frame_receiver< T, SOFTSYMB >::plscodes |
cstln_lut<SOFTSYMB, 256>* leansdr::s2_frame_receiver< T, SOFTSYMB >::qpsk |
bool leansdr::s2_frame_receiver< T, SOFTSYMB >::report_state |
sampler_interface<T>* leansdr::s2_frame_receiver< T, SOFTSYMB >::sampler |
s2_scrambling leansdr::s2_frame_receiver< T, SOFTSYMB >::scrambling |
s2_sof<T> leansdr::s2_frame_receiver< T, SOFTSYMB >::sof |
pipewriter<float> * leansdr::s2_frame_receiver< T, SOFTSYMB >::ss_out |
enum { ... } leansdr::s2_frame_receiver< T, SOFTSYMB >::state |
pipewriter<int>* leansdr::s2_frame_receiver< T, SOFTSYMB >::state_out |
bool leansdr::s2_frame_receiver< T, SOFTSYMB >::strongpls |
Definition at line 442 of file dvbs2.h.
Referenced by DATVDemod::InitDATVS2Framework().
pipewriter<complex<float> >* leansdr::s2_frame_receiver< T, SOFTSYMB >::symbols_out |
struct leansdr::s2_frame_receiver::sync leansdr::s2_frame_receiver< T, SOFTSYMB >::syncs[MAXSYNCS] |
trig16 leansdr::s2_frame_receiver< T, SOFTSYMB >::trig |