23 #ifndef _GRATSCBITTIMINGLOOP2_H_
24 #define _GRATSCBITTIMINGLOOP2_H_
26 #include <gnuradio/blocks/nco.h>
27 #include <VrSigProc.h>
28 #include <VrHistoryProc.h>
29 #include <VrDecimatingSigProc.h>
31 #include <filtersingle_pole_iir.h>
32 #include <gnuradio/filter/mmse_fir_interpolator.h>
47 virtual const char *
name () {
return "GrAtscBitTimingLoop2"; }
49 virtual int forecast (VrSampleRange output,
50 VrSampleRange inputs[]);
52 virtual int work (VrSampleRange output,
void *o[],
53 VrSampleRange inputs[],
void *i[]);
57 assert (0 <= a_mu && a_mu <= 1.9);
59 mu = a_mu - floor (a_mu);
60 cerr <<
"BTL2: mu: " <<
mu <<
" use_right_p: " <<
use_right_p << endl;
72 gr_single_pole_iir<float,float,float>
dc;
73 gr_mmse_fir_interpolator
intr;
80 #endif // _GRATSCBITTIMINGLOOP2_H_
ATSC BitTimingLoop.
Definition: GrAtscBitTimingLoop2.h:40
virtual int forecast(VrSampleRange output, VrSampleRange inputs[])
virtual const char * name()
Definition: GrAtscBitTimingLoop2.h:47
iType last_right
Definition: GrAtscBitTimingLoop2.h:75
float iType
Definition: GrAtscBitTimingLoop2.h:65
void set_mu(float a_mu)
Definition: GrAtscBitTimingLoop2.h:56
float oType
Definition: GrAtscBitTimingLoop2.h:66
iType produce_sample(const iType *in, unsigned int &index)
gr_single_pole_iir< float, float, float > dc
Definition: GrAtscBitTimingLoop2.h:72
float mu
Definition: GrAtscBitTimingLoop2.h:74
virtual ~GrAtscBitTimingLoop2()
Definition: GrAtscBitTimingLoop2.h:45
VrSampleIndex next_input
Definition: GrAtscBitTimingLoop2.h:71
gr_mmse_fir_interpolator intr
Definition: GrAtscBitTimingLoop2.h:73
bool use_right_p
Definition: GrAtscBitTimingLoop2.h:77
virtual int work(VrSampleRange output, void *o[], VrSampleRange inputs[], void *i[])
float filter_error(float e)