qdetector_cccf
Frame detector and synchronizer; uses a novel correlation method to detect a synchronization pattern, estimate carrier frequency and phase offsets as well as timing phase, then correct for these impairments in a simple interface suitable for custom frame recovery.
Public Functions
qdetector_cccf | qdetector_cccf_create( |
qdetector_cccf | qdetector_cccf_create_linear( |
qdetector_cccf | qdetector_cccf_create_gmsk( |
qdetector_cccf | qdetector_cccf_create_cpfsk( |
qdetector_cccf | qdetector_cccf_copy( |
int | qdetector_cccf_destroy( |
int | qdetector_cccf_reset( |
int | qdetector_cccf_print( |
void * | qdetector_cccf_execute( |
float | qdetector_cccf_get_threshold( |
int | qdetector_cccf_set_threshold( |
float | qdetector_cccf_get_range( |
int | qdetector_cccf_set_range( |
unsigned int | qdetector_cccf_get_seq_len( |
const void * | qdetector_cccf_get_sequence( |
unsigned int | qdetector_cccf_get_buf_len( |
float | qdetector_cccf_get_rxy( |
float | qdetector_cccf_get_tau( |
float | qdetector_cccf_get_gamma( |
float | qdetector_cccf_get_dphi( |
float | qdetector_cccf_get_phi( |
Interfaces
qdetector_cccf qdetector_cccf_create(
Create detector with generic sequence
- _s : sample sequence
- _s_len : length of sample sequence
qdetector_cccf qdetector_cccf_create_linear(
Create detector from sequence of symbols using internal linear interpolator
- _sequence : symbol sequence
- _sequence_len : length of symbol sequence
- _ftype : filter prototype (e.g. LIQUID_FIRFILT_RRC)
- _k : samples/symbol
- _m : filter delay
- _beta : excess bandwidth factor
qdetector_cccf qdetector_cccf_create_gmsk(
create detector from sequence of GMSK symbols
- _sequence : bit sequence
- _sequence_len : length of bit sequence
- _k : samples/symbol
- _m : filter delay
- _beta : excess bandwidth factor
qdetector_cccf qdetector_cccf_create_cpfsk(
create detector from sequence of CP-FSK symbols (assuming one bit/symbol)
- _sequence : bit sequence
- _sequence_len : length of bit sequence
- _bps : bits per symbol, 0 < _bps <= 8
- _h : modulation index, 0 < _h
- _k : samples/symbol
- _m : filter delay
- _beta : filter bandwidth parameter, 0 < _beta
- _type : filter type (e.g. LIQUID_CPFSK_SQUARE)
qdetector_cccf qdetector_cccf_copy(
Copy object including all internal objects and state
int qdetector_cccf_destroy(
Destroy synchronizer object and free all internal memory
int qdetector_cccf_reset(
Reset synchronizer object's internal buffer
int qdetector_cccf_print(
Print synchronizer object information to stdout
void * qdetector_cccf_execute(
run detector, looking for sequence; return pointer to aligned, buffered samples
- _q :
- _x :
float qdetector_cccf_get_threshold(
get detection threshold
int qdetector_cccf_set_threshold(
Set detection threshold (should be between 0 and 1, good starting point is 0.5)
- _q :
- _threshold :
float qdetector_cccf_get_range(
Get carrier offset search range
int qdetector_cccf_set_range(
Set carrier offset search range
- _q :
- _dphi_max :
unsigned int qdetector_cccf_get_seq_len(
Get sequence length
const void * qdetector_cccf_get_sequence(
Get pointer to original sequence
unsigned int qdetector_cccf_get_buf_len(
Get buffer length
float qdetector_cccf_get_rxy(
Get correlator output of detected frame
float qdetector_cccf_get_tau(
Get fractional timing offset estimate of detected frame
float qdetector_cccf_get_gamma(
Get channel gain of detected frame
float qdetector_cccf_get_dphi(
Get carrier frequency offset estimateof detected frame
float qdetector_cccf_get_phi(
Get carrier phase offset estimate of detected frame