GNU Radio's AIS Package
gr::ais Namespace Reference

Classes

class  corr_est_cc
 Correlate stream with a pre-defined sequence and estimate peak. More...
 
class  corr_est_cc_impl
 
class  freqest
 <+description of block+> More...
 
class  freqest_impl
 
class  invert
 <+description of block+> More...
 
class  invert_impl
 
class  msk_timing_recovery_cc
 MSK/GMSK timing recovery. More...
 
class  msk_timing_recovery_cc_impl
 
class  pdu_to_nmea
 <+description of block+> More...
 
class  pdu_to_nmea_impl
 

Functions

AIS_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.
 

Function Documentation

◆ modulate_vector_bc()

AIS_API std::vector< gr_complex > gr::ais::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.