23 #ifndef _GRATSCSYMBOLMAPPER_H_
24 #define _GRATSCSYMBOLMAPPER_H_
27 #include <VrInterpolatingSigProcNoWork.h>
29 #include <gnuradio/blocks/nco.h>
42 :
public VrInterpolatingSigProcNoWork<atsc_data_segment, oType> {
50 const char *
name () {
return "GrAtscSymbolMapper"; }
52 int work (VrSampleRange output,
void *ao[],
53 VrSampleRange inputs[],
void *ai[]);
63 VrSampleRange inputs[],
void *ai[])
66 oType *out = ((oType **) ao)[0];
68 assert ((output.size % INTERP_FACTOR) == 0);
70 static const float pilot_add = 1.25;
71 static const float map[8] = {
83 unsigned int nsegs = output.size / INTERP_FACTOR;
85 for (
unsigned int n = 0; n < nsegs; n++){
86 unsigned char *symbol = in[n].
data;
89 out[oo++] = (oType) map[symbol[i] & 0x7];
93 assert (oo == output.size);