Loading...
Searching...
No Matches
gr::digital Namespace Reference

## Classes

class | adaptive_algorithm
class | adaptive_algorithm_cma
class | adaptive_algorithm_lms
class | adaptive_algorithm_nlms
class | additive_scrambler
| 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 additive_scrambler< gr_complex > | additive_scrambler_cc
typedef additive_scrambler< float > | additive_scrambler_ff
typedef additive_scrambler< int32_t > | additive_scrambler_ii
typedef additive_scrambler< int16_t > | additive_scrambler_ss
typedef additive_scrambler< uint8_t > | additive_scrambler_bb
typedef burst_shaper< float > | burst_shaper_ff
typedef burst_shaper< gr_complex > | burst_shaper_cc
typedef chunks_to_symbols< std::uint8_t, float > | chunks_to_symbols_bf
typedef chunks_to_symbols< std::uint8_t, gr_complex > | chunks_to_symbols_bc
typedef chunks_to_symbols< std::int16_t, float > | chunks_to_symbols_sf
typedef chunks_to_symbols< std::int16_t, gr_complex > | chunks_to_symbols_sc
typedef chunks_to_symbols< std::int32_t, float > | chunks_to_symbols_if
typedef chunks_to_symbols< std::int32_t, gr_complex > | chunks_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_complex > | 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.

## Typedef Documentation

## additive_scrambler_bb

typedef additive_scrambler<uint8_t> gr::digital::additive_scrambler_bb

## additive_scrambler_cc

typedef additive_scrambler<gr_complex> gr::digital::additive_scrambler_cc

## additive_scrambler_ff

typedef additive_scrambler<float> gr::digital::additive_scrambler_ff

## additive_scrambler_ii

typedef additive_scrambler<int32_t> gr::digital::additive_scrambler_ii

## additive_scrambler_ss

typedef additive_scrambler<int16_t> gr::digital::additive_scrambler_ss

## burst_shaper_cc

typedef burst_shaper<gr_complex> gr::digital::burst_shaper_cc

## burst_shaper_ff

typedef burst_shaper<float> gr::digital::burst_shaper_ff

## chunks_to_symbols_bc

typedef chunks_to_symbols<std::uint8_t, gr_complex> gr::digital::chunks_to_symbols_bc

## chunks_to_symbols_bf

typedef chunks_to_symbols<std::uint8_t, float> gr::digital::chunks_to_symbols_bf

## chunks_to_symbols_ic

typedef chunks_to_symbols<std::int32_t, gr_complex> gr::digital::chunks_to_symbols_ic

## chunks_to_symbols_if

typedef chunks_to_symbols<std::int32_t, float> gr::digital::chunks_to_symbols_if

## chunks_to_symbols_sc

typedef chunks_to_symbols<std::int16_t, gr_complex> gr::digital::chunks_to_symbols_sc

## chunks_to_symbols_sf

typedef chunks_to_symbols<std::int16_t, float> gr::digital::chunks_to_symbols_sf

## Enumeration Type Documentation

## adaptive_algorithm_t

enum class gr::digital::adaptive_algorithm_t

strong

Enumerator
LMS |
NLMS |
CMA |

## diff_coding_type

enum gr::digital::diff_coding_type

Enumerator
DIFF_DIFFERENTIAL |
DIFF_NRZI |

## evm_measurement_t

enum class gr::digital::evm_measurement_t

strong

Measures EVM of incoming symbols relative to a constellation object.

Enumerator
EVM_PERCENT |
EVM_DB |

## ir_type

enum gr::digital::ir_type

Enumerator
IR_NONE |
IR_MMSE_8TAP |
IR_PFB_NO_MF |
IR_PFB_MF |

## ted_type

enum gr::digital::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

enum gr::digital::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.

References DIGITAL_API, and taps.