cpfskdem

Continuous-Phase Frequency-Shift Keying Demodulator

Public Functions

cpfskdem cpfskdem_create(unsigned int _bps, float _h, unsigned int _k, unsigned int _m, float _beta, int _type)
cpfskdem cpfskdem_create_msk(unsigned int _k)
cpfskdem cpfskdem_create_gmsk(unsigned int _k, unsigned int _m, float _BT)
cpfskdem cpfskdem_copy(cpfskdem _q)
int cpfskdem_destroy(cpfskdem _q)
int cpfskdem_print(cpfskdem _q)
int cpfskdem_reset(cpfskdem _q)
unsigned int cpfskdem_get_bits_per_symbol(cpfskdem _q)
float cpfskdem_get_modulation_index(cpfskdem _q)
unsigned int cpfskdem_get_samples_per_symbol(cpfskdem _q)
unsigned int cpfskdem_get_delay(cpfskdem _q)
float cpfskdem_get_beta(cpfskdem _q)
int cpfskdem_get_type(cpfskdem _q)
unsigned int cpfskdem_demodulate(cpfskdem _q, float complex * _y)

Interfaces

cpfskdem cpfskdem_create(unsigned int _bps, float _h, unsigned int _k, unsigned int _m, float _beta, int _type)

create demodulator object

  • _bps : bits per symbol, 0 < _bps
  • _h : modulation index, 0 < _h
  • _k : samples/symbol
  • _m : filter delay (symbols), 0 < _m
  • _beta : filter bandwidth parameter, 0 < _beta
  • _type : filter type (e.g. LIQUID_CPFSK_SQUARE)

cpfskdem cpfskdem_create_msk(unsigned int _k)

create demodulator object for minimum-shift keying

  • _k : samples/symbol

cpfskdem cpfskdem_create_gmsk(unsigned int _k, unsigned int _m, float _BT)

create demodulator object for Gauss minimum-shift keying

  • _k : samples/symbol
  • _m : filter delay (symbols), 0 < _m
  • _BT : bandwidth-time factor, 0 < _BT < 1

cpfskdem cpfskdem_copy(cpfskdem _q)

Copy object including all internal objects and state

int cpfskdem_destroy(cpfskdem _q)

Destroy demodulator object, freeing all internal memory

int cpfskdem_print(cpfskdem _q)

Print demodulator object internals

int cpfskdem_reset(cpfskdem _q)

Reset state

unsigned int cpfskdem_get_bits_per_symbol(cpfskdem _q)

Get demodulator's number of bits per symbol

float cpfskdem_get_modulation_index(cpfskdem _q)

Get demodulator's modulation index

unsigned int cpfskdem_get_samples_per_symbol(cpfskdem _q)

Get demodulator's number of samples per symbol

unsigned int cpfskdem_get_delay(cpfskdem _q)

Get demodulator's transmit delay [symbols]

float cpfskdem_get_beta(cpfskdem _q)

Get demodulator's bandwidth parameter

int cpfskdem_get_type(cpfskdem _q)

Get demodulator's filter type

unsigned int cpfskdem_demodulate(cpfskdem _q, float complex * _y)

demodulate array of samples, assuming perfect timing

  • _q : continuous-phase frequency demodulator object
  • _y : input sample array, shape: (_k, 1)