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

Classes

class  adaptive_algorithm
 
class  adaptive_algorithm_cma
 
class  adaptive_algorithm_lms
 
class  adaptive_algorithm_nlms
 
class  additive_scrambler_bb
 Scramble an input stream using an LFSR. More...
 
class  binary_slicer_fb
 Slice float binary symbol producing 1 bit output. More...
 
class  burst_shaper
 Burst shaper block for applying burst padding and ramping. More...
 
class  chunks_to_symbols
 Map a stream of unpacked symbol indexes to stream of float or complex constellation points in D dimensions (D = 1 by default) More...
 
class  clock_recovery_mm_cc
 Mueller and Müller (M&M) based clock recovery block with complex input, complex output. More...
 
class  clock_recovery_mm_ff
 Mueller and Müller (M&M) based clock recovery block with float input, float output. More...
 
class  constellation
 An abstracted constellation object. More...
 
class  constellation_calcdist
 Calculate Euclidean distance for any constellation. More...
 
class  constellation_sector
 Sectorized digital constellation. More...
 
class  constellation_rect
 Rectangular digital constellation. More...
 
class  constellation_expl_rect
 Rectangular digital constellation. More...
 
class  constellation_psk
 constellation_psk More...
 
class  constellation_bpsk
 Digital constellation for BPSK . More...
 
class  constellation_qpsk
 Digital constellation for QPSK. More...
 
class  constellation_dqpsk
 Digital constellation for DQPSK. More...
 
class  constellation_8psk
 Digital constellation for 8PSK. More...
 
class  constellation_8psk_natural
 Digital constellation for natually mapped 8PSK. More...
 
class  constellation_16qam
 Digital constellation for 16qam. More...
 
class  constellation_decoder_cb
 Constellation Decoder. More...
 
class  constellation_encoder_bc
 Constellation Encoder. More...
 
class  constellation_receiver_cb
 This block makes hard decisions about the received symbols (using a constellation object) and also fine tunes phase synchronization. More...
 
class  constellation_soft_decoder_cf
 Constellation Decoder. More...
 
class  corr_est_cc
 
class  correlate_access_code_bb
 Examine input for specified access code, one bit at a time. More...
 
class  correlate_access_code_bb_ts
 Examine input for specified access code, one bit at a time. More...
 
class  correlate_access_code_ff_ts
 Examine input for specified access code, one bit at a time. More...
 
class  correlate_access_code_tag_bb
 Examine input for specified access code, one bit at a time. More...
 
class  correlate_access_code_tag_ff
 Examine input for specified access code, one bit at a time. More...
 
class  costas_loop_cc
 A Costas loop carrier recovery module. More...
 
class  cpmmod_bc
 Generic CPM modulator. More...
 
class  crc
 Calculates a CRC. More...
 
class  crc16_async_bb
 Byte-stream CRC block for async messages. More...
 
class  crc32_async_bb
 Byte-stream CRC block for async messages. More...
 
class  crc32_bb
 Byte-stream CRC block. More...
 
class  crc_append
 Calculates and appends a CRC to a PDU. More...
 
class  crc_check
 Check the CRC at the end of a PDU. More...
 
class  decision_feedback_equalizer
 Decision Feedback Equalizer. More...
 
class  descrambler_bb
 Descramber an input stream using an LFSR. More...
 
class  diff_decoder_bb
 Differential encoder: y[0] = (x[0] - x[-1]) % M. More...
 
class  diff_encoder_bb
 Differential decoder: y[0] = (x[0] + y[-1]) % M. More...
 
class  diff_phasor_cc
 Differential decoding based on phase change. More...
 
class  fll_band_edge_cc
 Frequency Lock Loop using band-edge filters. More...
 
class  framer_sink_1
 Given a stream of bits and access_code flags, assemble packets. More...
 
class  glfsr
 Galois Linear Feedback Shift Register using specified polynomial mask. More...
 
class  glfsr_source_b
 Galois LFSR pseudo-random source. More...
 
class  glfsr_source_f
 Galois LFSR pseudo-random source generating float outputs -1.0 - 1.0. More...
 
class  hdlc_deframer_bp
 HDLC deframer which takes in unpacked bits, and outputs PDU binary blobs. Frames which do not pass CRC are rejected. More...
 
class  hdlc_framer_pb
 HDLC framer which takes in PMT binary blobs and outputs HDLC frames as unpacked bits, with CRC and bit stuffing added. The first sample of the frame is tagged with the tag frame_tag_name and includes a length field for tagged_stream use. More...
 
class  header_buffer
 Helper class for handling payload headers. More...
 
class  header_format_base
 Base header formatter class. More...
 
class  header_format_counter
 Header formatter that adds the payload bits/symbol format and a packet number counter. More...
 
class  header_format_crc
 Header formatter that includes the payload length, packet number, and a CRC check on the header. More...
 
class  header_format_default
 Default header formatter for PDU formatting. More...
 
class  header_format_ofdm
 Header formatter that includes the payload length, packet number, and a CRC check on the header. More...
 
class  header_payload_demux
 Header/Payload demuxer (HPD). More...
 
class  lfsr
 Fibonacci Linear Feedback Shift Register using specified polynomial mask. More...
 
class  linear_equalizer
 Linear Equalizer block provides linear equalization using a specified adaptive algorithm. More...
 
class  map_bb
 output[i] = map[input[i]] More...
 
class  meas_evm_cc
 
class  mpsk_snr_est
 A parent class for SNR estimators, specifically for M-PSK signals in AWGN channels. More...
 
class  mpsk_snr_est_simple
 SNR Estimator using simple mean/variance estimates. More...
 
class  mpsk_snr_est_skew
 SNR Estimator using skewness correction. More...
 
class  mpsk_snr_est_m2m4
 SNR Estimator using 2nd and 4th-order moments. More...
 
class  snr_est_m2m4
 SNR Estimator using 2nd and 4th-order moments. More...
 
class  mpsk_snr_est_svr
 Signal-to-Variation Ratio SNR Estimator. More...
 
class  mpsk_snr_est_cc
 A block for computing SNR of a signal. More...
 
class  msk_timing_recovery_cc
 MSK/GMSK timing recovery. More...
 
class  ofdm_carrier_allocator_cvc
 Create frequency domain OFDM symbols from complex values, add pilots. More...
 
class  ofdm_chanest_vcvc
 
class  ofdm_cyclic_prefixer
 Adds a cyclic prefix and performs optional pulse shaping on OFDM symbols. More...
 
class  ofdm_equalizer_base
 Base class for implementation details of frequency-domain OFDM equalizers. More...
 
class  ofdm_equalizer_1d_pilots
 
class  ofdm_equalizer_simpledfe
 Simple decision feedback equalizer for OFDM. More...
 
class  ofdm_equalizer_static
 Very simple static equalizer for OFDM. More...
 
class  ofdm_frame_equalizer_vcvc
 OFDM frame equalizer. More...
 
class  ofdm_serializer_vcc
 Serializes complex modulations symbols from OFDM sub-carriers. More...
 
class  ofdm_sync_sc_cfb
 Schmidl & Cox synchronisation for OFDM. More...
 
class  packet_header_default
 Default header formatter for digital packet transmission. More...
 
class  packet_header_ofdm
 Header utility for OFDM signals. More...
 
class  packet_headergenerator_bb
 Generates a header for a tagged, streamed packet. More...
 
class  packet_headerparser_b
 Post header metadata as a PMT. More...
 
class  packet_sink
 process received bits looking for packet sync, header, and process bits into packet More...
 
class  pfb_clock_sync_ccf
 Timing synchronizer using polyphase filterbanks. More...
 
class  pfb_clock_sync_fff
 Timing synchronizer using polyphase filterbanks. More...
 
class  pn_correlator_cc
 PN code sequential search correlator. More...
 
class  probe_density_b
 
class  probe_mpsk_snr_est_c
 A probe for computing SNR of a PSK signal. More...
 
class  protocol_formatter_async
 Uses a header format object to append a header onto a PDU. More...
 
class  protocol_formatter_bb
 Uses a header format object to create a header from a tagged stream packet. More...
 
class  protocol_parser_b
 Block that synchronizes to a header based on a header format object class. Designed to accept hard bits and produce PDUs with packed bytes (pmt::u8vector). More...
 
class  scrambler_bb
 Scramble an input stream using an LFSR. More...
 
class  symbol_sync_cc
 Symbol Synchronizer block with complex input, complex output. More...
 
class  symbol_sync_ff
 Symbol Synchronizer block with float input, float output. More...
 

Typedefs

typedef burst_shaper< float > burst_shaper_ff
 
typedef burst_shaper< gr_complexburst_shaper_cc
 
typedef chunks_to_symbols< std::uint8_t, float > chunks_to_symbols_bf
 
typedef chunks_to_symbols< std::uint8_t, gr_complexchunks_to_symbols_bc
 
typedef chunks_to_symbols< std::int16_t, float > chunks_to_symbols_sf
 
typedef chunks_to_symbols< std::int16_t, gr_complexchunks_to_symbols_sc
 
typedef chunks_to_symbols< std::int32_t, float > chunks_to_symbols_if
 
typedef chunks_to_symbols< std::int32_t, gr_complexchunks_to_symbols_ic
 

Enumerations

enum class  adaptive_algorithm_t { LMS , NLMS , CMA }
 
enum  tm_type { THRESHOLD_DYNAMIC , THRESHOLD_ABSOLUTE }
 Correlate stream with a pre-defined sequence and estimate peak. More...
 
enum  diff_coding_type { DIFF_DIFFERENTIAL = 0 , DIFF_NRZI = 1 }
 
enum  ir_type { IR_NONE = -1 , IR_MMSE_8TAP = 0 , IR_PFB_NO_MF = 1 , IR_PFB_MF = 2 }
 
enum class  evm_measurement_t { EVM_PERCENT = 0 , EVM_DB = 1 }
 Measures EVM of incoming symbols relative to a constellation object. More...
 
enum  trellis_metric_type_t { TRELLIS_EUCLIDEAN = 200 , TRELLIS_HARD_SYMBOL , TRELLIS_HARD_BIT }
 
enum  snr_est_type_t { SNR_EST_SIMPLE = 0 , SNR_EST_SKEW , SNR_EST_M2M4 , SNR_EST_SVR }
 A block for computing SNR of a signal. More...
 
enum  ted_type {
  TED_NONE = -1 , TED_MUELLER_AND_MULLER = 0 , TED_MOD_MUELLER_AND_MULLER = 1 , TED_ZERO_CROSSING = 2 ,
  TED_GARDNER = 4 , TED_EARLY_LATE = 5 , TED_DANDREA_AND_MENGALI_GEN_MSK = 6 , TED_SIGNAL_TIMES_SLOPE_ML = 7 ,
  TED_SIGNUM_TIMES_SLOPE_ML = 8 , TED_MENGALI_AND_DANDREA_GMSK = 9
}
 

Functions

DIGITAL_API std::vector< gr_complexmodulate_vector_bc (basic_block_sptr modulator, std::vector< uint8_t > data, std::vector< float > taps)
 Modulate a vector of data and apply a shaping filter. More...
 

Typedef Documentation

◆ burst_shaper_cc

◆ burst_shaper_ff

◆ chunks_to_symbols_bc

◆ chunks_to_symbols_bf

◆ chunks_to_symbols_ic

◆ chunks_to_symbols_if

◆ chunks_to_symbols_sc

◆ chunks_to_symbols_sf

Enumeration Type Documentation

◆ adaptive_algorithm_t

Enumerator
LMS 
NLMS 
CMA 

◆ diff_coding_type

Enumerator
DIFF_DIFFERENTIAL 
DIFF_NRZI 

◆ evm_measurement_t

Measures EVM of incoming symbols relative to a constellation object.

Enumerator
EVM_PERCENT 
EVM_DB 

◆ ir_type

Enumerator
IR_NONE 
IR_MMSE_8TAP 
IR_PFB_NO_MF 
IR_PFB_MF 

◆ ted_type

Enumerator
TED_NONE 
TED_MUELLER_AND_MULLER 
TED_MOD_MUELLER_AND_MULLER 
TED_ZERO_CROSSING 
TED_GARDNER 
TED_EARLY_LATE 
TED_DANDREA_AND_MENGALI_GEN_MSK 
TED_SIGNAL_TIMES_SLOPE_ML 
TED_SIGNUM_TIMES_SLOPE_ML 
TED_MENGALI_AND_DANDREA_GMSK 

◆ trellis_metric_type_t

Enumerator
TRELLIS_EUCLIDEAN 
TRELLIS_HARD_SYMBOL 
TRELLIS_HARD_BIT 

Function Documentation

◆ modulate_vector_bc()

DIGITAL_API std::vector<gr_complex> gr::digital::modulate_vector_bc ( basic_block_sptr  modulator,
std::vector< uint8_t >  data,
std::vector< float >  taps 
)

Modulate a vector of data and apply a shaping filter.

modulator: Pointer to a byte-to-complex modulator block. data: Vector of bytes to modulate into symbols. taps: Post-modulation symbol shaping filter taps.

This function modulates the input vector and applies a symbol shaping filter. It is intended for use with the corr_est_cc block as the symbol stream to correlate against.

Any differential encoding or other data coding must be performed on the input vector before this modulation operation.

Be aware that the format of the incoming data must match the format the modulator block is expecting. GNURadio modulator blocks are inconsistent in their data type expectations. For instance, cpmmod_bc expects unpacked, signed bytes in (-1, 1), while gmsk_mod expects packed, unsigned bytes in (0, 1). In other words, the output of gmsk_mod given the input vector [0xaa, 0x00] is equivalent to the output of cpmmod_bc given the input vector [1,255,1,255,1,255,1,255,255,255,255,255,255,255,255,255]

Please check the documentation or source of the modulator before using this function.