symsync_crcf
Variants: symsync_crcf, symsync_rrrf
Multi-rate symbol synchronizer for symbol timing recovery.
Public Functions
symsync_crcf | symsync_crcf_create( |
symsync_crcf | symsync_crcf_create_rnyquist( |
symsync_crcf | symsync_crcf_create_kaiser( |
symsync_crcf | symsync_crcf_copy( |
int | symsync_crcf_destroy( |
int | symsync_crcf_print( |
int | symsync_crcf_reset( |
int | symsync_crcf_lock( |
int | symsync_crcf_unlock( |
int | symsync_crcf_is_locked( |
int | symsync_crcf_set_output_rate( |
int | symsync_crcf_set_lf_bw( |
float | symsync_crcf_get_tau( |
int | symsync_crcf_execute( |
Interfaces
symsync_crcf symsync_crcf_create(
Create synchronizer object from external coefficients
- _k : samples per symbol, 2 <= _k
- _M : number of filters in the bank, 0 < _M
- _h : matched filter coefficients, shape: (_h_len, 1)
- _h_len : length of matched filter; \( h_{len} = 2 k m + 1 \)
symsync_crcf symsync_crcf_create_rnyquist(
Create square-root Nyquist symbol synchronizer from prototype
- _type : filter type (e.g. LIQUID_FIRFILT_RRC)
- _k : samples/symbol, 2 <= _k
- _m : symbol delay, 0 < _m
- _beta : rolloff factor, 0 <= _beta <= 1
- _M : number of filters in the bank, 0 < _M
symsync_crcf symsync_crcf_create_kaiser(
Create symsync using Kaiser filter interpolator. This is useful when the input signal has its matched filter applied already.
- _k : input samples/symbol, 2 <= _k
- _m : symbol delay, 0 < _m
- _beta : rolloff factor, 0 <= _beta <= 1
- _M : number of filters in the bank, 0 < _M
symsync_crcf symsync_crcf_copy(
Copy object including all internal objects and state
int symsync_crcf_destroy(
Destroy symsync object, freeing all internal memory
int symsync_crcf_print(
Print symsync object's parameters to stdout
int symsync_crcf_reset(
Reset symsync internal state
int symsync_crcf_lock(
Lock the symbol synchronizer's loop control
int symsync_crcf_unlock(
Unlock the symbol synchronizer's loop control
int symsync_crcf_is_locked(
Check the lock state of the symbol synchronizer's loop control, returning 1 if the object is locked, 0 if unlocked.
int symsync_crcf_set_output_rate(
Set synchronizer output rate (samples/symbol)
- _q : synchronizer object
- _k_out : output samples/symbol, 0 < _k_out
int symsync_crcf_set_lf_bw(
Set loop-filter bandwidth
- _q : synchronizer object
- _bt : loop bandwidth, 0 <= _bt <= 1
float symsync_crcf_get_tau(
Return instantaneous fractional timing offset estimate
int symsync_crcf_execute(
Execute synchronizer on input data array
- _q : synchronizer object
- _x : input data array, shape: (_nx, 1)
- _nx : number of input samples
- _y : output data array
- _ny : number of samples written to output buffer