summaryrefslogtreecommitdiff
path: root/gr-atsc/README.signal_flow
blob: 879cb2c425d41dbdafdf24468fa743ca84076353 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
This describes the signal flow through the gnuradio-0.9 ATSC Transmitter
and Receiver programs.

ATSC Transmitter
================

module                  input                         output                       notes
--------------------    ----------------              -------------------          --------
VrFileSource            "MPEG transport stream"       atsc_mpeg_packet
GrAtscRandomizer        atsc_mpeg_packet              atsc_mpeg_packet_no_sync     whiten data with LFSR
GrAtscRSEncoder         atsc_mpeg_packet_no_sync      atsc_mpeg_packet_rs_encoded  Reed-Soloman encoder
GrAtscInterleaver       atsc_mpeg_packet_rs_encoded   atsc_mpeg_packet_rs_encoded  convolutional interleaver
GrAtscTrellisEncoder    atsc_mpeg_packet_rs_encoded   atsc_data_segment            trellis encoder
GrAtscFieldSyncMux      atsc_data_segment             atsc_data_segment            add in field syncs
GrAtscSymbolMapper      atsc_data_segment             float                        map [0,7] to +/- {1,3,5,7} and add pilot    
GrWeaverModHead         float                         float,float                  front half of Weaver VSB modulator
GrFIRfilterFFF (2x)     float                         float                        low pass root raised cosine (matched filter)
GrWeaverModTail         float,float                   short                        back half of Weaver VSB modulator
VrFileSink              short                         "16-bit passband data"


ATSC Receiver
=============

module                    input                        output                       notes         
--------------------      ----------------             -------------------          -------
VrFileSource              "16-bit passband data"       short
GrConvertSF               short                        float                        convert short to float
GrFIRfilterFFF            float                        float                        band pass root raised cosine centered at IF freq (matched filter)
GrAtscFPLL                float                        float                        carrier tracking freq and phase lock loop with down converting mixer
GrFIRfilterFFF            float                        float                        low pass to kill unwanted mixer image
GrRemoveDcFFF             float                        float                        remove DC offset prior to symbol timing module
GrAtscBitTimingLoop3      float                        float,syminfo                track symbol & segment timing and do fractional interpolation
GrAtscFieldSyncChecker    float,syminfo                float,syminfo                look for field sync patterns
GrAtscEqualizer           float,syminfo                float,syminfo                LMS equalizer
GrAtscFieldSyncDemux      float,syminfo                atsc_soft_data_segment       remove field syncs and pack into data segments
GrAtscViterbiDecoder      atsc_soft_data_segment       atsc_mpeg_packet_rs_encoded  Viterbi decoder (12 seg delay)
GrAtscDeinterleaver       atsc_mpeg_packet_rs_encoded  atsc_mpeg_packet_rs_encoded  convolutional de-interleaver (52 seg delay)
GrAtscRSDecoder           atsc_mpeg_packet_rs_encoded  atsc_mpeg_packet_no_sync     Reed-Solomon decoder
GrAtscDerandomizer        atsc_mpeg_packet_no_sync     atsc_mpeg_packet             de-whiten with LFSR
VrFileSink                atsc_mpeg_packet             "MPEG transport stream"