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 }