FreeCalypso > hg > vband-misc
comparison efr-sid/Unit-test-desc @ 53:637ee027999b
efr-sid/Unit-test-desc: blurb written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 12 Aug 2024 03:39:42 +0000 |
parents | |
children | 0832b5ac62b2 |
comparison
equal
deleted
inserted
replaced
52:fd498c6898a8 | 53:637ee027999b |
---|---|
1 Unit test for EFR SID detector: test data | |
2 ========================================= | |
3 | |
4 The test sequence generated here consists of 175 frames in total: | |
5 | |
6 1 perfect (error-free) SID frame: should classify as SID=2 | |
7 95 frames with 1 bit in the SID field cleared: should classify as SID=2 | |
8 48 frames with 2 bits in the SID field cleared: should classify as SID=1 | |
9 11 frames with 15 bits in the SID field cleared: should classify as SID=1 | |
10 20 frames with 16 bits in the SID field cleared: should classify as SID=0 | |
11 | |
12 (The error-free SID frame used as the starting point is frame #71 from | |
13 dtx01.cod in the official test sequence set from ETSI.) | |
14 | |
15 The goal is to ensure perfect agreement among the following parties: | |
16 | |
17 * The program used to generate these test frames; | |
18 * EFR_sid_classify() function in Themyscira libgsmefr; | |
19 * osmo_efr_sid_classify() function in libosmocodec (part of libosmocore); | |
20 * SID classification performed by TI Calypso DSP; | |
21 * SID classification performed by Nokia InSite BTS (E1 Abis output). | |
22 | |
23 The official reference (source of truth) is GSM 06.62 spec for the definition | |
24 of SID field bits and GSM 06.81 spec for SID classification thresholds; all | |
25 implementations listed above are supposed to follow these spec definitions. | |
26 However, any time a human developer has to read a spec and write code based on | |
27 that spec, errors can occur at any step in that process; a cross-check between | |
28 our implementation and those made by others before us will provide an important | |
29 assurance of correctness. | |
30 | |
31 The test frames generated here have been chosen with the goal of maximizing | |
32 the chance of catching errors in these two areas: | |
33 | |
34 * Wrong bits being set by tools aiming to generate or corrupt the SID field, | |
35 or wrong bits being checked by the SID detector; | |
36 * Wrong thresholds being applied for SID classification. | |
37 | |
38 The generator program in this directory and Themyscira libgsmefr are already | |
39 in agreement; once we test on TI Calypso DSP and on Nokia InSite, we will have | |
40 full confidence in the correctness of our implementation. The same test data | |
41 will then be added to libosmocore as a regression test. |