GNU Radio ATSC HDTV receiver implementation

This directory contains the code that receives (and transmits) HDTV
programs in the ATSC modulation.

The ATSC modulation scheme has a whole pile of levels of transforms.
We have both transmit and receive modules for each level, for testing.

TRANSMIT SIDE				RECEIVE SIDE

MPEG data stream			MPEG data stream
	v					^
  randomizer				randomizer
	v					^
  reed_solomon				reed_solomon
	v					^
  atsc_data_interleaver			atsc_data_interleaver
	v					^
  trellis_encoder			atsc_viterbi
	v
   ????????


You would think that you could hook up a transmit module to a
receive module and get back the same output as the original input,
but it turns out it isn't true, since the encoders and decoders have
internal state.  So what you get is some transformation of the input,
usually delayed by some number of whole MPEG transport stream blocks.
This makes QA particularly challenging.


The structure of the code in this directory is verbose in the extreme.
For a single tranformation "foo" (e.g. "randomizer"):

    foo.h, foo.cc		-- implements the transformation on C++ data
    qa_foo.h, qa_foo.cc		-- tests the transformation
    GrAtscFoo.h, GrAtscFoo.cc	-- Interfaces the xmit side to GNU Radio
    GrAtscDefoo.h, .cc		-- Interfaces the receive side to GNU Radio

For more complex transformations there are even more files, e.g.
reed-solomon gets its own directory, the data_interleaver has a fifo
sub-piece, and the Viterbi decoder/muxer has its own one-stream Viterbi
decoder (atsc_one_viterbi).  Each of these has its own QA files, etc.
