ATSC BitTimingLoop3
This class accepts a single real input and produces two outputs, the raw symbol (float) and the tag (atsc_syminfo)
declare_sample_delay(atsc_bit_timing_loop_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_bit_timing_loop_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_bit_timing_loop_sptr self) -> pmt_vector_float
Deinterleave RS encoded ATSC data ( atsc_mpeg_packet_rs_encoded > atsc_mpeg_packet_rs_encoded)
input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_rs_encoded.
declare_sample_delay(atsc_deinterleaver_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_deinterleaver_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_deinterleaver_sptr self) -> pmt_vector_float
depad mpeg ts packets from 256 byte atsc_mpeg_packet to 188 byte char
input: atsc_mpeg_packet; output: unsigned char
declare_sample_delay(atsc_depad_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_depad_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_depad_sptr self) -> pmt_vector_float
“dewhiten” incoming mpeg transport stream packets
input: atsc_mpeg_packet_no_sync; output: atsc_mpeg_packet;
declare_sample_delay(atsc_derandomizer_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_derandomizer_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_derandomizer_sptr self) -> pmt_vector_float
Debug glue routine (atsc_data_segment > atsc_soft_data_segment)
input: atsc_data_segment; output: atsc_soft_data_segment.
declare_sample_delay(atsc_ds_to_softds_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_ds_to_softds_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_ds_to_softds_sptr self) -> pmt_vector_float
ATSC equalizer (float,syminfo > float,syminfo)
first inputs are data samples, second inputs are tags. first outputs are equalized data samples, second outputs are tags.
declare_sample_delay(atsc_equalizer_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_equalizer_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_equalizer_sptr self) -> pmt_vector_float
ATSC Field Sync Demux.
This class accepts 1 stream of floats (data), and 1 stream of tags (syminfo). * It outputs one stream of atsc_soft_data_segment packets
declare_sample_delay(atsc_field_sync_demux_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_field_sync_demux_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_field_sync_demux_sptr self) -> pmt_vector_float
Insert ATSC Field Syncs as required (atsc_data_segment > atsc_data_segment)
input: atsc_data_segment; output: atsc_data_segment.
declare_sample_delay(atsc_field_sync_mux_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_field_sync_mux_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_field_sync_mux_sptr self) -> pmt_vector_float
ATSC FPLL (2nd Version)
A/D > GrFIRfilterFFF -> GrAtscFPLL ->
We use GrFIRfilterFFF to bandpass filter the signal of interest.
This class accepts a single real input and produces a single real output
declare_sample_delay(atsc_fpll_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_fpll_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_fpll_sptr self) -> pmt_vector_float
ATSC field sync checker (float,syminfo > float,syminfo)
first output is delayed version of input. second output is set of tags, one-for-one with first output.
declare_sample_delay(atsc_fs_checker_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_fs_checker_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_fs_checker_sptr self) -> pmt_vector_float
Interleave RS encoded ATSC data ( atsc_mpeg_packet_rs_encoded > atsc_mpeg_packet_rs_encoded)*
input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_rs_encoded.
declare_sample_delay(atsc_interleaver_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_interleaver_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_interleaver_sptr self) -> pmt_vector_float
pad mpeg ts packets from 188 byte char to to 256 byte atsc_mpeg_packet
input: unsigned char; output: atsc_mpeg_packet
declare_sample_delay(atsc_pad_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_pad_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_pad_sptr self) -> pmt_vector_float
“Whiten” incoming mpeg transport stream packets
input: atsc_mpeg_packet; output: atsc_mpeg_packet_no_sync
declare_sample_delay(atsc_randomizer_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_randomizer_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_randomizer_sptr self) -> pmt_vector_float
Reed-Solomon decoder for ATSC
input: atsc_mpeg_packet_rs_encoded; output: atsc_mpeg_packet_no_sync.
declare_sample_delay(atsc_rs_decoder_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_rs_decoder_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_rs_decoder_sptr self) -> pmt_vector_float
Reed-Solomon encoder for ATSC
input: atsc_mpeg_packet_no_sync; output: atsc_mpeg_packet_rs_encoded.
declare_sample_delay(atsc_rs_encoder_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_rs_encoder_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_rs_encoder_sptr self) -> pmt_vector_float
ATSC 12-way interleaved trellis encoder (atsc_mpeg_packet_rs_encoded > atsc_data_segment)
input: atsc_mpeg_packet_rs_encoded; output: atsc_data_segment.
declare_sample_delay(atsc_trellis_encoder_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_trellis_encoder_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_trellis_encoder_sptr self) -> pmt_vector_float
ATSC 12-way interleaved viterbi decoder (atsc_soft_data_segment > atsc_mpeg_packet_rs_encoded)
input: atsc_soft_data_segment; output: atsc_mpeg_packet_rs_encoded.
declare_sample_delay(atsc_viterbi_decoder_sptr self, unsigned int delay)
pc_input_buffers_full_avg(atsc_viterbi_decoder_sptr self) -> pmt_vector_float
pc_output_buffers_full_avg(atsc_viterbi_decoder_sptr self) -> pmt_vector_float