// reset frame synchronizer object void gmskframesync_reset(gmskframesync _q) { // reset state and counters _q->state = STATE_DETECTFRAME; _q->preamble_counter = 0; _q->header_counter = 0; _q->payload_counter = 0; // clear pre-demod buffer windowcf_clear(_q->buffer); // reset internal objects detector_cccf_reset(_q->frame_detector); // reset carrier recovery objects nco_crcf_reset(_q->nco_coarse); // reset sample state _q->x_prime = 0.0f; _q->fi_hat = 0.0f; // reset symbol timing recovery state firpfb_rrrf_reset(_q->mf); firpfb_rrrf_reset(_q->dmf); _q->pfb_q = 0.0f; // filtered error signal }
// reset frame synchronizer object void flexframesync_reset(flexframesync _q) { // reset binary pre-demod synchronizer detector_cccf_reset(_q->frame_detector); // clear pre-demod buffer windowcf_clear(_q->buffer); // reset carrier recovery objects nco_crcf_reset(_q->nco_coarse); nco_crcf_reset(_q->nco_fine); // reset symbol timing recovery state firpfb_crcf_reset(_q->mf); firpfb_crcf_reset(_q->dmf); _q->pfb_q = 0.0f; // filtered error signal // reset state _q->state = STATE_DETECTFRAME; _q->pn_counter = 0; _q->header_counter = 0; _q->payload_counter = 0; // reset frame statistics _q->framestats.evm = 0.0f; }
// reset WLAN framing synchronizer object internal state void wlanframesync_reset(wlanframesync _q) { // clear buffer windowcf_clear(_q->input_buffer); // reset NCO object nco_crcf_reset(_q->nco_rx); // reset timers/state _q->state = WLANFRAMESYNC_STATE_SEEKPLCP; _q->timer = 0; _q->num_symbols = 0; // number of received OFDM data symbols _q->phi_prime = 0.0f; // reset phase offset estimate // reset pilot sequence generator wlan_lfsr_reset(_q->ms_pilot); }
void ofdmoqamframe64sync_reset(ofdmoqamframe64sync _q) { // reset pilot sequence generator msequence_reset(_q->ms_pilot); // reset auto-correlators autocorr_cccf_clear(_q->autocorr); _q->rxx_mag_max = 0.0f; // reset frequency offset estimation, correction _q->nu_hat = 0.0f; nco_crcf_reset(_q->nco_rx); nco_crcf_reset(_q->nco_pilot); pll_reset(_q->pll_pilot); // clear input buffer windowcf_clear(_q->input_buffer); // clear analysis filter bank objects firpfbch_clear(_q->ca0); firpfbch_clear(_q->ca1); // reset gain parameters _q->g = 1.0f; // coarse gain estimate unsigned int i; for (i=0; i<_q->num_subcarriers; i++) _q->G[i] = 1.0f; for (i=0; i<4; i++) _q->y_phase[i] = 0.0f; // reset state _q->state = OFDMOQAMFRAME64SYNC_STATE_PLCPSHORT; //_q->state = OFDMOQAMFRAME64SYNC_STATE_PLCPLONG0; _q->timer = 0; _q->num_symbols = 0; _q->num_data_symbols = 0; _q->num_samples = 0; _q->sample_phase = 0; }