FreeCalypso > hg > freecalypso-reveng
comparison miscprog/osmo2psi.c @ 222:63c5bb42eca5
osmo2psi test program written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 23 Nov 2017 22:24:18 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
221:9f2e0c34fe33 | 222:63c5bb42eca5 |
---|---|
1 /* | |
2 * This test program seeks to help figure out the mapping between OsmocomBB's | |
3 * AFC_SLOPE constant and the Psi constants used by TI's AFC implementation, | |
4 * as our fc-rfcal-vcxo tool would compute them from CMU200 measurements. | |
5 */ | |
6 | |
7 #include <math.h> | |
8 #include <stdio.h> | |
9 #include <stdlib.h> | |
10 | |
11 main(argc, argv) | |
12 char **argv; | |
13 { | |
14 int afc_slope; | |
15 float lin_a; | |
16 float Psi_sta, Psi_st; | |
17 | |
18 if (argc != 2) { | |
19 fprintf(stderr, "usage: %s osmo-afc-slope\n", argv[0]); | |
20 exit(1); | |
21 } | |
22 afc_slope = atoi(argv[1]); | |
23 lin_a = (float)afc_slope / 32768.0f * 898.0f; | |
24 | |
25 /* Psi computations */ | |
26 Psi_sta = 2.0f * (float)M_PI * lin_a / 270833.0f; | |
27 Psi_st = Psi_sta * 0.8f; | |
28 | |
29 printf("Psi_sta_inv = %u\n", (unsigned)(1.0f / Psi_sta)); | |
30 printf("Psi_st = %u\n", (unsigned)(Psi_st * 65536.0f)); | |
31 printf("Psi_st_32 = %u\n", (unsigned)(Psi_st * 65536.0f * 65536.0f)); | |
32 printf("Psi_st_inv = %u\n", (unsigned)(1.0f / Psi_st)); | |
33 exit(0); | |
34 } |