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>
|
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) |
|
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.
◆ sptr
◆ 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
-
preamble | the bytes that consist the preamble of the frame |
sync_word | the byte synchronization word |
append_crc | if 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. |
whitening | true if the transmitted data have been processed by the whitening algorithm of the CC1120 chip. False otherwise. |
manchester | true if the transmitted data have been processed by the Manchester algorithm of the CC1120 chip. False otherwise. |
msb_first | if 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_format | if set to true the frame payload will be encoded using AX.25 encapsulation. |
settling_samples | the 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_addr | the destination AX.25 address |
ax25_dest_ssid | the destination AX.25 SSID |
ax25_src_addr | the source AX.25 address |
ax25_src_ssid | the source AX.25 SSID |
The documentation for this class was generated from the following file: