FreeCalypso > hg > vband-misc
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/efr-sid/Unit-test-desc Mon Aug 12 03:39:42 2024 +0000 @@ -0,0 +1,41 @@ +Unit test for EFR SID detector: test data +========================================= + +The test sequence generated here consists of 175 frames in total: + +1 perfect (error-free) SID frame: should classify as SID=2 +95 frames with 1 bit in the SID field cleared: should classify as SID=2 +48 frames with 2 bits in the SID field cleared: should classify as SID=1 +11 frames with 15 bits in the SID field cleared: should classify as SID=1 +20 frames with 16 bits in the SID field cleared: should classify as SID=0 + +(The error-free SID frame used as the starting point is frame #71 from + dtx01.cod in the official test sequence set from ETSI.) + +The goal is to ensure perfect agreement among the following parties: + +* The program used to generate these test frames; +* EFR_sid_classify() function in Themyscira libgsmefr; +* osmo_efr_sid_classify() function in libosmocodec (part of libosmocore); +* SID classification performed by TI Calypso DSP; +* SID classification performed by Nokia InSite BTS (E1 Abis output). + +The official reference (source of truth) is GSM 06.62 spec for the definition +of SID field bits and GSM 06.81 spec for SID classification thresholds; all +implementations listed above are supposed to follow these spec definitions. +However, any time a human developer has to read a spec and write code based on +that spec, errors can occur at any step in that process; a cross-check between +our implementation and those made by others before us will provide an important +assurance of correctness. + +The test frames generated here have been chosen with the goal of maximizing +the chance of catching errors in these two areas: + +* Wrong bits being set by tools aiming to generate or corrupt the SID field, + or wrong bits being checked by the SID detector; +* Wrong thresholds being applied for SID classification. + +The generator program in this directory and Themyscira libgsmefr are already +in agreement; once we test on TI Calypso DSP and on Nokia InSite, we will have +full confidence in the correctness of our implementation. The same test data +will then be added to libosmocore as a regression test.