tests: Update bursts_test to accommodate BER calculations.
This commit is contained in:
parent
6fceaca584
commit
cf18dcd5fd
|
@ -1,4 +1,5 @@
|
|||
/* (C) 2013 by Andreas Eversberg <jolly@eversberg.eu>
|
||||
* (C) 2015 by Alexander Chemeris <Alexander.Chemeris@fairwaves.co>
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
|
@ -63,6 +64,7 @@ static void test_xcch(uint8_t *l2)
|
|||
uint8_t result[23];
|
||||
ubit_t bursts_u[116 * 4];
|
||||
sbit_t bursts_s[116 * 4];
|
||||
int n_errors, n_bits_total;
|
||||
|
||||
printd("Encoding: %s\n", osmo_hexdump(l2, 23));
|
||||
|
||||
|
@ -102,9 +104,13 @@ static void test_xcch(uint8_t *l2)
|
|||
memset(bursts_s + 116, 0, 30);
|
||||
|
||||
/* decode */
|
||||
xcch_decode(result, bursts_s);
|
||||
xcch_decode(result, bursts_s, &n_errors, &n_bits_total);
|
||||
|
||||
ASSERT_TRUE(n_bits_total == 456);
|
||||
|
||||
printd("Decoded: %s\n", osmo_hexdump(result, 23));
|
||||
printf("xcch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n",
|
||||
n_errors, n_bits_total, (float)n_errors/n_bits_total);
|
||||
|
||||
ASSERT_TRUE(!memcmp(l2, result, 23));
|
||||
|
||||
|
@ -180,6 +186,7 @@ static void test_fr(uint8_t *speech, int len)
|
|||
uint8_t result[33];
|
||||
ubit_t bursts_u[116 * 8];
|
||||
sbit_t bursts_s[116 * 8];
|
||||
int n_errors, n_bits_total;
|
||||
int rc;
|
||||
|
||||
memset(bursts_u, 0x23, sizeof(bursts_u));
|
||||
|
@ -242,12 +249,17 @@ static void test_fr(uint8_t *speech, int len)
|
|||
(uint8_t)bursts_s[57 + 812], (uint8_t)bursts_s[58 + 812]);
|
||||
printd("%s\n", osmo_hexdump((uint8_t *)bursts_s + 59 + 812, 57));
|
||||
|
||||
/* destroy */
|
||||
memset(bursts_s + 6, 0, 20);
|
||||
|
||||
/* decode */
|
||||
rc = tch_fr_decode(result, bursts_s, 1, len == 31);
|
||||
rc = tch_fr_decode(result, bursts_s, 1, len == 31, &n_errors, &n_bits_total);
|
||||
|
||||
ASSERT_TRUE(rc == len);
|
||||
|
||||
printd("Decoded: %s\n", osmo_hexdump(result, len));
|
||||
printf("tch_fr_decode: n_errors=%d n_bits_total=%d ber=%.2f\n",
|
||||
n_errors, n_bits_total, (float)n_errors/n_bits_total);
|
||||
|
||||
ASSERT_TRUE(!memcmp(speech, result, len));
|
||||
|
||||
|
@ -259,6 +271,7 @@ static void test_hr(uint8_t *speech, int len)
|
|||
uint8_t result[23];
|
||||
ubit_t bursts_u[116 * 6];
|
||||
sbit_t bursts_s[116 * 6];
|
||||
int n_errors, n_bits_total;
|
||||
int rc;
|
||||
|
||||
memset(bursts_u, 0x23, sizeof(bursts_u));
|
||||
|
@ -309,12 +322,17 @@ static void test_hr(uint8_t *speech, int len)
|
|||
(uint8_t)bursts_s[57 + 580], (uint8_t)bursts_s[58 + 580]);
|
||||
printd("%s\n", osmo_hexdump((uint8_t *)bursts_s + 59 + 580, 57));
|
||||
|
||||
/* destroy */
|
||||
memset(bursts_s + 6, 0, 20);
|
||||
|
||||
/* decode */
|
||||
rc = tch_hr_decode(result, bursts_s, 0);
|
||||
rc = tch_hr_decode(result, bursts_s, 0, &n_errors, &n_bits_total);
|
||||
|
||||
ASSERT_TRUE(rc == len);
|
||||
|
||||
printd("Decoded: %s\n", osmo_hexdump(result, len));
|
||||
printf("tch_hr_decode: n_errors=%d n_bits_total=%d ber=%.2f\n",
|
||||
n_errors, n_bits_total, (float)n_errors/n_bits_total);
|
||||
|
||||
ASSERT_TRUE(!memcmp(speech, result, len));
|
||||
|
||||
|
@ -326,6 +344,7 @@ static void test_pdtch(uint8_t *l2, int len)
|
|||
uint8_t result[len];
|
||||
ubit_t bursts_u[116 * 4];
|
||||
sbit_t bursts_s[116 * 4];
|
||||
int n_errors, n_bits_total;
|
||||
int rc;
|
||||
|
||||
/* zero the not coded tail bits */
|
||||
|
@ -375,11 +394,13 @@ static void test_pdtch(uint8_t *l2, int len)
|
|||
printd("%s\n", osmo_hexdump((uint8_t *)bursts_s + 59 + 348, 57));
|
||||
|
||||
/* decode */
|
||||
rc = pdtch_decode(result, bursts_s, NULL);
|
||||
rc = pdtch_decode(result, bursts_s, NULL, &n_errors, &n_bits_total);
|
||||
|
||||
ASSERT_TRUE(rc == len);
|
||||
|
||||
printd("Decoded: %s\n", osmo_hexdump(result, len));
|
||||
printf("pdtch_decode: n_errors=%d n_bits_total=%d ber=%.2f\n",
|
||||
n_errors, n_bits_total, (float)n_errors/n_bits_total);
|
||||
|
||||
ASSERT_TRUE(!memcmp(l2, result, len));
|
||||
|
||||
|
|
|
@ -1 +1,21 @@
|
|||
xcch_decode: n_errors=60 n_bits_total=456 ber=0.13
|
||||
xcch_decode: n_errors=60 n_bits_total=456 ber=0.13
|
||||
xcch_decode: n_errors=60 n_bits_total=456 ber=0.13
|
||||
tch_fr_decode: n_errors=8 n_bits_total=378 ber=0.02
|
||||
tch_fr_decode: n_errors=8 n_bits_total=378 ber=0.02
|
||||
tch_fr_decode: n_errors=10 n_bits_total=456 ber=0.02
|
||||
tch_fr_decode: n_errors=10 n_bits_total=456 ber=0.02
|
||||
tch_fr_decode: n_errors=10 n_bits_total=456 ber=0.02
|
||||
tch_hr_decode: n_errors=11 n_bits_total=211 ber=0.05
|
||||
tch_hr_decode: n_errors=10 n_bits_total=456 ber=0.02
|
||||
tch_hr_decode: n_errors=10 n_bits_total=456 ber=0.02
|
||||
tch_hr_decode: n_errors=10 n_bits_total=456 ber=0.02
|
||||
pdtch_decode: n_errors=0 n_bits_total=456 ber=0.00
|
||||
pdtch_decode: n_errors=132 n_bits_total=588 ber=0.22
|
||||
pdtch_decode: n_errors=220 n_bits_total=676 ber=0.33
|
||||
pdtch_decode: n_errors=0 n_bits_total=444 ber=0.00
|
||||
pdtch_decode: n_errors=0 n_bits_total=456 ber=0.00
|
||||
pdtch_decode: n_errors=132 n_bits_total=588 ber=0.22
|
||||
pdtch_decode: n_errors=220 n_bits_total=676 ber=0.33
|
||||
pdtch_decode: n_errors=0 n_bits_total=444 ber=0.00
|
||||
Success
|
||||
|
|
Loading…
Reference in New Issue