comparison libgsmhr1/rxfe.h @ 579:1dc5d9320e96

libgsmhr1: implement RxFE block
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 13 Feb 2025 09:10:12 +0000
parents
children e2d5cad04cbf
comparison
equal deleted inserted replaced
578:7756b23b78cd 579:1dc5d9320e96
1 /*
2 * This library-internal header file provides definition for
3 * struct gsmhr_rxfe_state, the state structure for our Rx front end
4 * that can function either as part of the full endpoint decoder
5 * or standalone as a TFO transform. The internal interface function
6 * to the RxFE block as a whole (to be called from the full decoder
7 * or from the TFO wrapper) is also declared here.
8 */
9
10 #ifndef rxfe_h
11 #define rxfe_h
12
13 #include <stdint.h>
14 #include "tw_gsmhr.h"
15 #include "typedefs.h"
16
17 #define GS_HISTORY_SIZE 28
18
19 struct gsmhr_rxfe_state {
20 Shortword saved_frame[GSMHR_NUM_PARAMS];
21 Longword gs_history[GS_HISTORY_SIZE];
22 Longword cn_prng;
23 Shortword gs_cn_out;
24 uint8_t in_dtx;
25 uint8_t ecu_state;
26 uint8_t dtx_bfi_count;
27 uint8_t dtx_muting;
28 uint8_t gs_history_ptr;
29 };
30
31 void rxfe_main(struct gsmhr_rxfe_state *st, const Shortword *prm_in,
32 Shortword *prm_out, int fast_cn_muting,
33 Shortword *deco_mode_out, Shortword *mute_permit,
34 Shortword *dtxd_sp);
35
36 #endif /* include guard */