MATLAB Examples

ATSC Digital Television

This model shows the vestigial sideband modulation with 8 discrete amplitude levels (8-VSB) transmission subsystem of the Advanced Television Systems Committee (ATSC) digital television standard [ 1 ]. The standard describes the characteristics of the U.S. advanced television system that is designed to transmit high-quality video, audio, and ancillary data within a single 6 MHz terrestrial television broadcast channel.

The purpose of this example is to:

  • Model the primary portions of a Main Service 8-VSB transmitter with MPEG-2 Transport Packet data as inputs
  • Model the primary portions of a possible Main Service 8-VSB receiver design
  • Generate error statistics including number of corrected bytes, number of defective packets and byte error rate


Structure of the Example

The model consists of MPEG-2 Transport Packet generation, transmitter baseband processing, AWGN Channel, receiver baseband processing, and error rate calculation. The following sections describe each subcomponent in detail.

MATLAB® Workspace Variable Definitions

When the model is first loaded, it creates a MATLAB workspace variable prmATSC. This structure variable contains fields that specify the block parameters in the model. This variable is cleared when the model is closed.

prmATSC = 

  struct with fields:

          MPEG2PacketLen: 188
           RSCodewordLen: 207
             BitsPerByte: 8
           BitsPerNibble: 2
          NibblesPerByte: 4
         NibblesPerGroup: 48
       NibblesPerSegment: 828
        SegmentsPerField: 313
         RSPrimitivePoly: [1 0 0 0 1 1 1 0 1]
         RSGeneratorPoly: [1x21 double]
      IntlvrNumShiftRegs: 52
      IntlvrShiftRegStep: 4
      DeintlvrAlignDelay: 156
        DeintlvrPktDelay: 52
        NumTrellisCoders: 12
          TraceBackDepth: 8
    TrellisDecAlignDelay: 159
      TrellisDecPktDelay: 2
              SymbolRate: 1.0762e+07
                MPEG2BPS: 1.9393e+07
            MPEG2PktRate: 1.2894e+04
       ChannelSampleTime: 9.3666e-08
             PAMSigPower: 4.5826
                    EsNo: 10

MPEG-2 Data Source

The MPEG-2 Transport Packet is a randomly generated 188-byte vector with the first byte replaced by the sync byte 0x47 (Hexadecimal).

Transmitter Baseband Processing

  • Randomizer

This subsystem corresponds to Section in [ 1 ]. The MPEG-2 sync byte should not be randomized and encoded, and hence is thrown away before the XOR operation. The pseudo random byte sequence that scrambles input data bytes is re-initialized at the beginning of each Data Field. In this model, each Data Field consists of 312 Data Segments because the Data Field Sync segment is not modeled.

  • Reed-Solomon Encoder

This subsystem corresponds to Section in [ 1 ]. The (207, 187) Reed-Solomon Encoder block adds 20 parity bytes to the input packet and produces an output of 207 bytes per frame. This allows up to 10 erroneous bytes per transport packet to be corrected by the corresponding Reed-Solomon Decoder block at the receiver.

  • Convolutional Interleaver

This subsystem corresponds to Section in [ 1 ]. The Convolutional Interleaver block interleaves the bytes from 52 Data Segments (intersegment), which is one-sixth (1/6) of a Data Field. The transmitter synchronizes the interleaver to the first data byte of each Data Field.

  • Trellis Interleaver

This subsystem, together with the subsequent 8-PAM Modulator block, corresponds to Section in [ 1 ]. It creates serial 3-bit outputs from parallel bytes by feeding every two bits of each data byte through one of 12 two-thirds (2/3) rate Convolutional Encoder blocks. Each byte produces four 3-bit outputs and the implementation processes every 12 bytes as a group. A block controls which Convolutional Encoder processes which two bits in a group. A complete conversion of parallel bytes to serial bits needs four Data Segments, i.e., 828 data bytes, to produce 3312 3-bit outputs from the 12 encoders, and each encoder processes 69 data bytes. Each Data Field needs 312/4 = 78 conversion operations.

  • 8-PAM Constellation Mapping

The 8-PAM Modulator block corresponds to the symbol mapper portion of the Figure 6.8 in [ 1 ]. It maps 3-bit integer inputs to symbols on an 8-level one-dimensional real constellation with values [-7 -5 -3 -1 1 3 5 7].

AWGN Channel

The AWGN Channel block uses the Signal to noise ratio (Es/No) mode. Signal power and symbol period have been calculated and stored in the workspace variable prmATSC. The Es/No value is set to 10 dB, which produces a byte error rate of approximately 0.0039.

Receiver Baseband Processing

  • 8-PAM Demodulator

The 8-PAM Demodulator block converts the received baseband 8-PAM constellation symbols to 3-bit integer outputs. The block has the same constellation settings as the upstream 8-PAM Modulator block.

  • Trellis Deinterleaver

This subsystem converts serial 3-bit inputs to parallel bytes by feeding each input through one of 12 two-thirds (2/3) rate Viterbi Decoder blocks. Then, the subsystem concatenates the decoded bits into bytes. The deinterleaver processes every 48 inputs corresponding to 12 bytes as a group, and introduces one group (48 inputs) of delay before performing Viterbi decoding. The same control block as in the Trellis Interleaver subsystem is used to select which Viterbi Decoder block processes which input in a group. Note that the Trellis Interleaver and Trellis Deinterleaver subsystems together introduce 207 + 48 = 255 bytes of delay into the system (from Buffer blocks). So, the Trellis Deinterleaver subsystem output is delayed by 159 bytes for frame alignment, and the first two frames received by the downstream subsystem should be ignored. To notify the subsequent subsystem of this frame delay, the Trellis Deinterleaver subsystem creates a frame valid flag and passes it downstream.

  • Convolutional Deinterleaver

The Convolutional Deinterleaver block corresponds to the Convolutional Interleaver block at the transmitter and both blocks have the same configuration. Note that the Convolutional Interleaver and Convolutional Deinterleaver blocks together introduce 10608 bytes of delay into the system. As a result, the subsystem delays Convolutional Deinterleaver block output by 156 bytes for packet alignment, and the first 52 packets received by the downstream subsystem should be ignored. To notify the subsequent subsystem of this packet delay, the Convolutional Deinterleaver subsystem creates a packet valid flag and passes it downstream.

  • Reed-Solomon Decoder

The Reed-Solomon Decoder block corresponds to the Reed-Solomon Encoder block at the transmitter and both blocks have the same configuration. The block has a second output port to indicate the number of bytes that have been corrected for the processed packet.

  • Derandomizer

This subsystem corresponds to the Randomizer subsystem at the transmitter. The block that generates the pseudo random byte sequence is the same as the block in the Randomizer subsystem. The MPEG-2 sync byte is inserted into each packet after the derandomization to form an MPEG-2 Transport Packet.

Results and Displays

The Error Rate Calculation block measures the system byte error rate by comparing the transmitted and decoded MPEG-2 Transport Packet data. Note that the system has 54 packets, i.e., 10152 bytes, of delay in total, which specifies the Receive delay parameter of the block.

To examine the performance of the system, use the included visualization blocks, as listed below:

  • MPEG-2 Bit Rate (Mbit/s) display
  • Receiver 8-PAM Constellation Diagram display
  • Receiver Spectrum display
  • Number of Corrected Bytes display
  • Number of Defective Packets display
  • System Byte Error Rate display

Further Exploration

Upon loading the model, you can set a different signal to noise ratio (SNR) by changing the EsNo field value of the prmATSC workspace variable and observe the system performance. The following components are not modeled in the system, but you can try to include them:

  • Data Segment and Data Field synchronization
  • Channel impairments such as multipath fading channels and frequency offsets
  • Receiver carrier recovery and equalization

Selected Bibliography

  1. Advanced Television Systems Committee, ATSC Digital Television Standard A/53, Part 2 - RF/Transmission System Characteristics, Washington, D.C., Jan. 3, 2007.