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