GNU Radio's SATNOGS Package
gr::satnogs::upsat_fsk_frame_encoder Class Reference

This block implements a FSK frame encoder for the UPSAT satellite. It takes as input a message containing the PDU and performs the NRZ encoding. The resulting float samples can be passed from a FM modulation block and then to the SDR device. More...

#include <upsat_fsk_frame_encoder.h>

Inheritance diagram for gr::satnogs::upsat_fsk_frame_encoder:

Public Types

typedef boost::shared_ptr< upsat_fsk_frame_encodersptr
 

Static Public Member Functions

static sptr make (const std::vector< uint8_t > &preamble, const std::vector< uint8_t > &sync_word, bool append_crc, bool whitening, bool manchester, bool msb_first, bool ax25_format, const std::string &ax25_dest_addr, uint8_t ax25_dest_ssid, const std::string &ax25_src_addr, uint8_t ax25_src_ssid, size_t settling_samples)
 

Detailed Description

This block implements a FSK frame encoder for the UPSAT satellite. It takes as input a message containing the PDU and performs the NRZ encoding. The resulting float samples can be passed from a FM modulation block and then to the SDR device.

Member Typedef Documentation

◆ sptr

Member Function Documentation

◆ make()

static sptr gr::satnogs::upsat_fsk_frame_encoder::make ( const std::vector< uint8_t > &  preamble,
const std::vector< uint8_t > &  sync_word,
bool  append_crc,
bool  whitening,
bool  manchester,
bool  msb_first,
bool  ax25_format,
const std::string &  ax25_dest_addr,
uint8_t  ax25_dest_ssid,
const std::string &  ax25_src_addr,
uint8_t  ax25_src_ssid,
size_t  settling_samples 
)
static

Creates an FSK encoding block. Note that this block does NOT perform the frequency modulation. You can use the existing frequency modulation block shipped with the GNU Radio.

Parameters
preamblethe bytes that consist the preamble of the frame
sync_wordthe byte synchronization word
append_crcif set to true the encoder will append a two byte CRC field at the end of the frame. The CRC algorithm is compatible with the CC1120 chip.
whiteningtrue if the transmitted data have been processed by the whitening algorithm of the CC1120 chip. False otherwise.
manchestertrue if the transmitted data have been processed by the Manchester algorithm of the CC1120 chip. False otherwise.
msb_firstif set to true, the the treansmission starts from the MSB of each byte. In case the AX.25 encapuslation is selected, this parameter is NOT taken into consideration for the AX.25 part, as the AX.25 dictates that the LS bit should be sent first.
ax25_formatif set to true the frame payload will be encoded using AX.25 encapsulation.
settling_samplesthe number of zero samples that the encoder should append after the end of the FSK frame. This is especially important when an arbitrary in-out ratio resampler is used. The arbitrary in-out ratio of samples will cause the stream tags to be delivered at the sink block out-of-sync causing the frame transmission to terminate sooner.
ax25_dest_addrthe destination AX.25 address
ax25_dest_ssidthe destination AX.25 SSID
ax25_src_addrthe source AX.25 address
ax25_src_ssidthe source AX.25 SSID

The documentation for this class was generated from the following file: