annotate libgsmefr/e_homing.h @ 604:54f0f1b74c25

libgsmhr1 TFO: require BFI=0 and SID=0 for homing In order for a received frame to be recognized as DHF, we need not only the correct bit pattern, but also BFI=0 and SID=0. The BFI=0 requirement should be obvious, while the SID=0 requirement is needed only for HR codec. With FR and EFR, SID classification comes from the payload bits and no separate check is needed - but in HR we get an out-of-band SID ternary flag. When SID=1, no payload bits are used at all; when SID=2, we use only the first 33 bits of the payload. Therefore, it is proper to conditionalize DHF acceptance on SID=0. We already implemented this logic in the just finished full decoder; now bring TFO code into agreement.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 04 Dec 2025 19:40:35 +0000
parents 035424a6ca83
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /**************************************************************************
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 *
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * File Name: e_homing.h
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 *
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * Purpose: Contains the prototypes for all the functions of
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 * encoder homing.
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 *
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 **************************************************************************/
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #define EHF_MASK 0x0008 /* Encoder Homing Frame pattern */
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 /* Function Prototypes */
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
112
035424a6ca83 libgsmefr: encoder main function put together
Mychaela Falconia <falcon@freecalypso.org>
parents: 52
diff changeset
14 Word16 encoder_homing_frame_test (const Word16 input_frame[]);
39
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
52
988fd7ff514f libgsmefr: add state pointers to ETSI function prototypes
Mychaela Falconia <falcon@freecalypso.org>
parents: 39
diff changeset
16 void encoder_reset (struct EFR_encoder_state *st);