GNU Radio Manual and C++ API Reference  3.7.13.4
The Free & Open Software Radio Ecosystem
gr::dtv Namespace Reference

Classes

class  atsc_deinterleaver
 ATSC 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. More...
 
class  atsc_depad
 ATSC depad mpeg ts packets from 256 byte atsc_mpeg_packet to 188 byte charinput: atsc_mpeg_packet; output: unsigned char. More...
 
class  atsc_derandomizer
 ATSC "dewhiten" incoming mpeg transport stream packetsinput: atsc_mpeg_packet_no_sync; output: atsc_mpeg_packet;. More...
 
class  atsc_equalizer
 ATSC Receiver Equalizer. More...
 
class  atsc_field_sync_mux
 <+description of block+> More...
 
class  atsc_fpll
 ATSC Receiver FPLL. More...
 
class  atsc_fs_checker
 ATSC Receiver FS_CHECKER. More...
 
class  atsc_interleaver
 <+description of block+> More...
 
class  atsc_pad
 <+description of block+> More...
 
class  atsc_randomizer
 <+description of block+> More...
 
class  atsc_rs_decoder
 ATSC Receiver Reed-Solomon Decoder. More...
 
class  atsc_rs_encoder
 <+description of block+> More...
 
class  atsc_sync
 ATSC Receiver SYNC. More...
 
class  atsc_trellis_encoder
 <+description of block+> More...
 
class  atsc_viterbi_decoder
 ATSC Viterbi Decoder. More...
 
class  catv_frame_sync_enc_bb
 Frame Sync Encoder. Adds a 42-bit (64QAM) or 40-bit (256QAM) frame sync pattern with control word.Input: Scrambled FEC Frame packets of 60 * 128 (64QAM) or 88 * 128 (256QAM) 7-bit symbols.
Output: Scrambled FEC Frame packets of 60 * 128 (64QAM) or 88 * 128 (256QAM) 7-bit symbols with 42-bit (64QAM) or 40-bit (256QAM) FSYNC word. More...
 
class  catv_randomizer_bb
 Randomizer, x^3 + x + alpha^3, 7-bit symbols.Input: Interleaved MPEG-2 + RS parity bitstream packets of 128 7-bit symbols.
Output: Scrambled FEC Frame packets of 60 * 128 (64QAM) or 88 * 128 (256QAM) 7-bit symbols. More...
 
class  catv_reed_solomon_enc_bb
 Reed Solomon Encoder, t=3, (128,122), 7-bit symbols.Input: MPEG-2 bitstream packets of 122 7-bit symbols.
Output: MPEG-2 + RS parity bitstream packets of 128 7-bit symbols. More...
 
class  catv_transport_framing_enc_bb
 Transport Framing Encoder. Adds a parity checksum to MPEG-2 packets.Input: MPEG-2 Transport Stream.
Output: MPEG-2 Transport Stream with parity checksum byte. More...
 
class  catv_trellis_enc_bb
 Trellis Encoder. 14/15 (64QAM) or 19/20 (256QAM) code rate.Input: Scrambled FEC Frame packets of 60 * 128 (64QAM) or 88 * 128 (256QAM) 7-bit symbols with 42-bit (64QAM) or 40-bit (256QAM) FSYNC word.
Output: Four 7-bit symbols (28 bits) Trellis encoded to 30 bits (64QAM, 14/15 code rate) or 38 data bits Trellis encoded to 40 bits (256QAM, 19/20 code rate). More...
 
class  dvb_bbheader_bb
 Formats MPEG-2 Transport Stream packets into FEC baseband frames and adds a 10-byte header. More...
 
class  dvb_bbscrambler_bb
 Scrambles FEC baseband frames with a PRBS encoder. More...
 
class  dvb_bch_bb
 Encodes a BCH ((Bose, Chaudhuri, Hocquenghem) FEC. More...
 
class  dvb_ldpc_bb
 Encodes a LDPC (Low-Density Parity-Check) FEC.Input: Variable length FEC baseband frames with appended BCH (BCHFEC).
Output: Normal, medium or short FEC baseband frames with appended LPDC (LDPCFEC). More...
 
class  dvbs2_interleaver_bb
 Bit interleaves DVB-S2 FEC baseband frames.Input: Normal or short FEC baseband frames with appended LPDC (LDPCFEC).
Output: Bit interleaved baseband frames. More...
 
class  dvbs2_modulator_bc
 Modulates DVB-S2 frames.Input: Bit interleaved baseband frames.
Output: QPSK, 8PSK, 16APSK or 32APSK modulated complex IQ values (XFECFRAME). More...
 
class  dvbs2_physical_cc
 Signals DVB-S2 physical layer frames.Input: QPSK, 8PSK, 16APSK or 32APSK modulated complex IQ values (XFECFRAME).
Output: DVB-S2 PLFRAME. More...
 
class  dvbt2_cellinterleaver_cc
 Cell and time interleaves QPSK/QAM modulated cells.Input: QPSK, 16QAM, 64QAM or 256QAM modulated cells.
Output: Cell and time interleaved QPSK, 16QAM, 64QAM or 256QAM modulated cells. More...
 
class  dvbt2_framemapper_cc
 Maps T2 frames.Input: Cell and time interleaved QPSK, 16QAM, 64QAM or 256QAM modulated cells.
Output: T2 frame. More...
 
class  dvbt2_freqinterleaver_cc
 Frequency interleaves a T2 frame.Input: T2 frame.
Output: Frequency interleaved T2 frame. More...
 
class  dvbt2_interleaver_bb
 Bit interleaves DVB-T2 FEC baseband frames.Input: Normal or short FEC baseband frames with appended LPDC (LDPCFEC).
Output: Bit interleaved (with column twist and bit to cell word de-multiplexed) cells. More...
 
class  dvbt2_miso_cc
 Splits the stream for MISO (Multiple Input Single Output).Input: Frequency interleaved T2 frame.
Output1: Frequency interleaved T2 frame (copy of input).
Output2: Frequency interleaved T2 frame with modified Alamouti processing. More...
 
class  dvbt2_modulator_bc
 Modulates DVB-T2 cells.Input: Bit interleaved (with column twist and bit to cell word de-multiplexing) cells.
Output: QPSK, 16QAM, 64QAM or 256QAM modulated complex IQ values (cells). More...
 
class  dvbt2_p1insertion_cc
 Inserts a P1 symbol.Input: OFDM T2 frame.
Output: OFDM T2 frame with P1 symbol. More...
 
class  dvbt2_paprtr_cc
 Peak to Average Power Ratio (PAPR) reduction.Input: A T2 frame of OFDM symbols.
Output: A T2 frame of PAPR reduced OFDM symbols. More...
 
class  dvbt2_pilotgenerator_cc
 Adds pilots to T2 frames.Input: Frequency interleaved T2 frame.
Output: T2 frame with pilots (in time domain). More...
 
class  dvbt_bit_inner_deinterleaver
 Bit Inner deinterleaver.ETSI EN 300 744 Clause 4.3.4.1
Data Input format:
000000B0B1 - QPSK.
0000B0B1B2B3 - 16QAM.
00B0B1B2B3B4B5 - 64QAM.
Data Output format:
000000X0X1 - QPSK.
0000X0X1X2X3 - 16QAM.
00X0X1X2X3X4X5 - 64QAM.
bit deinterleaver block size is 126. More...
 
class  dvbt_bit_inner_interleaver
 Bit Inner interleaver.ETSI EN 300 744 Clause 4.3.4.1
Data Input format:
000000X0X1 - QPSK.
0000X0X1X2X3 - 16QAM.
00X0X1X2X3X4X5 - 64QAM.
Data Output format:
000000B0B1 - QPSK.
0000B0B1B2B3 - 16QAM.
00B0B1B2B3B4B5 - 64QAM.
bit interleaver block size is 126. More...
 
class  dvbt_convolutional_deinterleaver
 Convolutional deinterleaver.ETSI EN 300 744 Clause 4.3.1
Forney (Ramsey type III) convolutional deinterleaver.
Data input: Stream of 1 byte elements.
Data output: Blocks of I bytes size. More...
 
class  dvbt_convolutional_interleaver
 Convolutional interleaver.ETSI EN 300 744 Clause 4.3.1
Forney (Ramsey type III) convolutional interleaver.
Input: Blocks of I bytes size.
Output: Stream of 1 byte elements. More...
 
class  dvbt_demap
 DVB-T demapper.ETSI EN 300 744 Clause 4.3.5.
Data input format:
complex(real(float), imag(float)).
Data output format:
000000Y0Y1 - QPSK.
0000Y0Y1Y2Y3 - 16QAM.
00Y0Y1Y2Y3Y4Y5 - 64QAM. More...
 
class  dvbt_demod_reference_signals
 Reference signals demodulator.ETSI EN 300 744 Clause 4.5
Data input format:
complex(real(float), imag(float)).
Data output format:
complex(real(float), imag(float)). More...
 
class  dvbt_energy_descramble
 Energy descrambleETSI EN 300 744 - Clause 4.3.1.
Input - Randomized MPEG-2 transport packets.
Output - MPEG-2 transport packets (including sync - 0x47).
We assume the first byte is a NSYNC.
First sync in a row of 8 packets is reversed - 0xB8.
Block size is 188 bytes. More...
 
class  dvbt_energy_dispersal
 Energy dispersal.ETSI EN 300 744 - Clause 4.3.1
Input - MPEG-2 transport packets (including sync - 0x47).
Output - Randomized MPEG-2 transport packets.
If first byte is not a SYNC then look for it.
First sync in a row of 8 packets is reversed - 0xB8.
Block size is 188 bytes. More...
 
class  dvbt_inner_coder
 Inner coder with Puncturing.ETSI EN 300 744 Clause 4.3.3
Mother convolutional code with rate 1/2.
k=1, n=2, K=6.
Generator polynomial G1=171(OCT), G2=133(OCT).
Punctured to obtain rates of 2/3, 3/4, 5/6, 7/8.
Data Input format: Packed bytes (each bit is data).
MSB - first, LSB last.
Data Output format:
000000X0X1 - QPSK.
0000X0X1X2X3 - 16QAM.
00X0X1X2X3X4X5 - 64QAM. More...
 
class  dvbt_map
 DVB-T mapper.ETSI EN 300 744 Clause 4.3.5.
Data input format:
000000Y0Y1 - QPSK.
0000Y0Y1Y2Y3 - 16QAM.
00Y0Y1Y2Y3Y4Y5 - 64QAM.
Data output format:
complex(real(float), imag(float)). More...
 
class  dvbt_ofdm_sym_acquisition
 OFDM symbol acquisition.Data input format:
complex(real(float), imag(float)).
Data output format:
complex(real(float), imag(float)). More...
 
class  dvbt_reed_solomon_dec
 Reed Solomon decoder.ETSI EN 300 744 Clause 4.3.2
RS(N=204,K=239,T=8). More...
 
class  dvbt_reed_solomon_enc
 Reed Solomon encoderETSI EN 300 744 Clause 4.3.2
RS(N=204,K=239,T=8). More...
 
class  dvbt_reference_signals
 Reference signals generator.ETSI EN 300 744 Clause 4.5
Data input format:
complex(real(float), imag(float)).
Data output format:
complex(real(float), imag(float)). More...
 
class  dvbt_symbol_inner_interleaver
 Symbol interleaver.ETSI EN 300 744 Clause 4.3.4.2
One block is 12 groups x 126 datawords = 1512 datawords. More...
 
class  dvbt_viterbi_decoder
 DVB-T Viterbi decoder.ETSI EN 300 744 Clause 4.3.3
Mother convolutional code with rate 1/2.
k=1, n=2, K=6.
Generator polynomial G1=171(OCT), G2=133(OCT).
Punctured to obtain rates of 2/3, 3/4, 5/6, 7/8.
Data Input format:
000000X0X1 - QPSK.
0000X0X1X2X3 - 16QAM.
00X0X1X2X3X4X5 - 64QAM.
Data Output format: Packed bytes (each bit is data).
MSB - first, LSB last. More...
 

Enumerations

enum  catv_constellation_t { CATV_MOD_64QAM = 0, CATV_MOD_256QAM }
 
enum  dvb_standard_t { STANDARD_DVBS2 = 0, STANDARD_DVBT2 }
 
enum  dvb_code_rate_t {
  C1_4 = 0, C1_3, C2_5, C1_2,
  C3_5, C2_3, C3_4, C4_5,
  C5_6, C7_8, C8_9, C9_10,
  C13_45, C9_20, C90_180, C96_180,
  C11_20, C100_180, C104_180, C26_45,
  C18_30, C28_45, C23_36, C116_180,
  C20_30, C124_180, C25_36, C128_180,
  C13_18, C132_180, C22_30, C135_180,
  C140_180, C7_9, C154_180, C11_45,
  C4_15, C14_45, C7_15, C8_15,
  C32_45, C2_9_VLSNR, C1_5_MEDIUM, C11_45_MEDIUM,
  C1_3_MEDIUM, C1_5_VLSNR_SF2, C11_45_VLSNR_SF2, C1_5_VLSNR,
  C4_15_VLSNR, C1_3_VLSNR, C_OTHER
}
 
enum  dvb_framesize_t { FECFRAME_SHORT = 0, FECFRAME_NORMAL, FECFRAME_MEDIUM }
 
enum  dvb_constellation_t {
  MOD_QPSK = 0, MOD_16QAM, MOD_64QAM, MOD_256QAM,
  MOD_8PSK, MOD_8APSK, MOD_16APSK, MOD_8_8APSK,
  MOD_32APSK, MOD_4_12_16APSK, MOD_4_8_4_16APSK, MOD_64APSK,
  MOD_8_16_20_20APSK, MOD_4_12_20_28APSK, MOD_128APSK, MOD_256APSK,
  MOD_BPSK, MOD_BPSK_SF2, MOD_8VSB, MOD_OTHER
}
 
enum  dvb_guardinterval_t {
  GI_1_32 = 0, GI_1_16, GI_1_8, GI_1_4,
  GI_1_128, GI_19_128, GI_19_256
}
 
enum  dvbs2_rolloff_factor_t {
  RO_0_35 = 0, RO_0_25, RO_0_20, RO_RESERVED,
  RO_0_15, RO_0_10, RO_0_05
}
 
enum  dvbs2_pilots_t { PILOTS_OFF = 0, PILOTS_ON }
 
enum  dvbs2_interpolation_t { INTERPOLATION_OFF = 0, INTERPOLATION_ON }
 
enum  dvbt2_rotation_t { ROTATION_OFF = 0, ROTATION_ON }
 
enum  dvbt2_streamtype_t { STREAMTYPE_TS = 0, STREAMTYPE_GS, STREAMTYPE_BOTH }
 
enum  dvbt2_inputmode_t { INPUTMODE_NORMAL = 0, INPUTMODE_HIEFF }
 
enum  dvbt2_extended_carrier_t { CARRIERS_NORMAL = 0, CARRIERS_EXTENDED }
 
enum  dvbt2_preamble_t {
  PREAMBLE_T2_SISO = 0, PREAMBLE_T2_MISO, PREAMBLE_NON_T2, PREAMBLE_T2_LITE_SISO,
  PREAMBLE_T2_LITE_MISO
}
 
enum  dvbt2_fftsize_t {
  FFTSIZE_2K = 0, FFTSIZE_8K, FFTSIZE_4K, FFTSIZE_1K,
  FFTSIZE_16K, FFTSIZE_32K, FFTSIZE_8K_T2GI, FFTSIZE_32K_T2GI,
  FFTSIZE_16K_T2GI = 11
}
 
enum  dvbt2_papr_t { PAPR_OFF = 0, PAPR_ACE, PAPR_TR, PAPR_BOTH }
 
enum  dvbt2_l1constellation_t { L1_MOD_BPSK = 0, L1_MOD_QPSK, L1_MOD_16QAM, L1_MOD_64QAM }
 
enum  dvbt2_pilotpattern_t {
  PILOT_PP1 = 0, PILOT_PP2, PILOT_PP3, PILOT_PP4,
  PILOT_PP5, PILOT_PP6, PILOT_PP7, PILOT_PP8
}
 
enum  dvbt2_version_t { VERSION_111 = 0, VERSION_121, VERSION_131 }
 
enum  dvbt2_reservedbiasbits_t { RESERVED_OFF = 0, RESERVED_ON }
 
enum  dvbt2_l1scrambled_t { L1_SCRAMBLED_OFF = 0, L1_SCRAMBLED_ON }
 
enum  dvbt2_misogroup_t { MISO_TX1 = 0, MISO_TX2 }
 
enum  dvbt2_showlevels_t { SHOWLEVELS_OFF = 0, SHOWLEVELS_ON }
 
enum  dvbt2_inband_t { INBAND_OFF = 0, INBAND_ON }
 
enum  dvbt2_equalization_t { EQUALIZATION_OFF = 0, EQUALIZATION_ON }
 
enum  dvbt2_bandwidth_t {
  BANDWIDTH_1_7_MHZ = 0, BANDWIDTH_5_0_MHZ, BANDWIDTH_6_0_MHZ, BANDWIDTH_7_0_MHZ,
  BANDWIDTH_8_0_MHZ, BANDWIDTH_10_0_MHZ
}
 
enum  dvbt_hierarchy_t { NH = 0, ALPHA1, ALPHA2, ALPHA4 }
 
enum  dvbt_transmission_mode_t { T2k = 0, T8k = 1 }
 

Variables

static const int ATSC_MPEG_DATA_LENGTH = 187
 
static const int ATSC_MPEG_PKT_LENGTH = 188
 
static const int ATSC_MPEG_RS_ENCODED_LENGTH = 207
 
static const int MPEG_SYNC_BYTE = 0x47
 
static const int MPEG_TRANSPORT_ERROR_BIT = 0x80
 
static const double ATSC_SYMBOL_RATE = 4.5e6/286*684
 
static const double ATSC_DATA_SEGMENT_RATE = ATSC_SYMBOL_RATE/832
 
static const int ATSC_DATA_SEGMENT_LENGTH = 832
 
static const int ATSC_DSEGS_PER_FIELD = 312
 

Enumeration Type Documentation

Enumerator
CATV_MOD_64QAM 
CATV_MOD_256QAM 
Enumerator
C1_4 
C1_3 
C2_5 
C1_2 
C3_5 
C2_3 
C3_4 
C4_5 
C5_6 
C7_8 
C8_9 
C9_10 
C13_45 
C9_20 
C90_180 
C96_180 
C11_20 
C100_180 
C104_180 
C26_45 
C18_30 
C28_45 
C23_36 
C116_180 
C20_30 
C124_180 
C25_36 
C128_180 
C13_18 
C132_180 
C22_30 
C135_180 
C140_180 
C7_9 
C154_180 
C11_45 
C4_15 
C14_45 
C7_15 
C8_15 
C32_45 
C2_9_VLSNR 
C1_5_MEDIUM 
C11_45_MEDIUM 
C1_3_MEDIUM 
C1_5_VLSNR_SF2 
C11_45_VLSNR_SF2 
C1_5_VLSNR 
C4_15_VLSNR 
C1_3_VLSNR 
C_OTHER 
Enumerator
MOD_QPSK 
MOD_16QAM 
MOD_64QAM 
MOD_256QAM 
MOD_8PSK 
MOD_8APSK 
MOD_16APSK 
MOD_8_8APSK 
MOD_32APSK 
MOD_4_12_16APSK 
MOD_4_8_4_16APSK 
MOD_64APSK 
MOD_8_16_20_20APSK 
MOD_4_12_20_28APSK 
MOD_128APSK 
MOD_256APSK 
MOD_BPSK 
MOD_BPSK_SF2 
MOD_8VSB 
MOD_OTHER 
Enumerator
FECFRAME_SHORT 
FECFRAME_NORMAL 
FECFRAME_MEDIUM 
Enumerator
GI_1_32 
GI_1_16 
GI_1_8 
GI_1_4 
GI_1_128 
GI_19_128 
GI_19_256 
Enumerator
STANDARD_DVBS2 
STANDARD_DVBT2 
Enumerator
INTERPOLATION_OFF 
INTERPOLATION_ON 
Enumerator
PILOTS_OFF 
PILOTS_ON 
Enumerator
RO_0_35 
RO_0_25 
RO_0_20 
RO_RESERVED 
RO_0_15 
RO_0_10 
RO_0_05 
Enumerator
BANDWIDTH_1_7_MHZ 
BANDWIDTH_5_0_MHZ 
BANDWIDTH_6_0_MHZ 
BANDWIDTH_7_0_MHZ 
BANDWIDTH_8_0_MHZ 
BANDWIDTH_10_0_MHZ 
Enumerator
EQUALIZATION_OFF 
EQUALIZATION_ON 
Enumerator
CARRIERS_NORMAL 
CARRIERS_EXTENDED 
Enumerator
FFTSIZE_2K 
FFTSIZE_8K 
FFTSIZE_4K 
FFTSIZE_1K 
FFTSIZE_16K 
FFTSIZE_32K 
FFTSIZE_8K_T2GI 
FFTSIZE_32K_T2GI 
FFTSIZE_16K_T2GI 
Enumerator
INBAND_OFF 
INBAND_ON 
Enumerator
INPUTMODE_NORMAL 
INPUTMODE_HIEFF 
Enumerator
L1_MOD_BPSK 
L1_MOD_QPSK 
L1_MOD_16QAM 
L1_MOD_64QAM 
Enumerator
L1_SCRAMBLED_OFF 
L1_SCRAMBLED_ON 
Enumerator
MISO_TX1 
MISO_TX2 
Enumerator
PAPR_OFF 
PAPR_ACE 
PAPR_TR 
PAPR_BOTH 
Enumerator
PILOT_PP1 
PILOT_PP2 
PILOT_PP3 
PILOT_PP4 
PILOT_PP5 
PILOT_PP6 
PILOT_PP7 
PILOT_PP8 
Enumerator
PREAMBLE_T2_SISO 
PREAMBLE_T2_MISO 
PREAMBLE_NON_T2 
PREAMBLE_T2_LITE_SISO 
PREAMBLE_T2_LITE_MISO 
Enumerator
RESERVED_OFF 
RESERVED_ON 
Enumerator
ROTATION_OFF 
ROTATION_ON 
Enumerator
SHOWLEVELS_OFF 
SHOWLEVELS_ON 
Enumerator
STREAMTYPE_TS 
STREAMTYPE_GS 
STREAMTYPE_BOTH 
Enumerator
VERSION_111 
VERSION_121 
VERSION_131 
Enumerator
NH 
ALPHA1 
ALPHA2 
ALPHA4 
Enumerator
T2k 
T8k 

Variable Documentation

const int gr::dtv::ATSC_DATA_SEGMENT_LENGTH = 832
static
const double gr::dtv::ATSC_DATA_SEGMENT_RATE = ATSC_SYMBOL_RATE/832
static
const int gr::dtv::ATSC_DSEGS_PER_FIELD = 312
static
const int gr::dtv::ATSC_MPEG_DATA_LENGTH = 187
static
const int gr::dtv::ATSC_MPEG_PKT_LENGTH = 188
static
const int gr::dtv::ATSC_MPEG_RS_ENCODED_LENGTH = 207
static
const double gr::dtv::ATSC_SYMBOL_RATE = 4.5e6/286*684
static
const int gr::dtv::MPEG_SYNC_BYTE = 0x47
static
const int gr::dtv::MPEG_TRANSPORT_ERROR_BIT = 0x80
static