Skip to main content
. 2022 May 3;22(9):3475. doi: 10.3390/s22093475
Algorithm 1 Changing uniform satellite for HDOP improvement (nu = 5)
1: void function changing uniform satellite(azimuth_satellites, elevation_satellites)
2:  nu = 5;
3:  sat_me = find satellite of minimum elevation(elevation_satellites);
4:  vec_s = generate vector of satellites(azimuth_satellites, elevation_satellites);
5:  vec_rp = generate vector of regular polygon(nu, sat_me);
6:  sat_selec = select satellite of nearest regular polygon vector(vec_s, vec_rp);
7:  case_selec = check case of selected satellite(sat_selec);
8:  if case_selec == 3
9:   sat_case2 = change satellite from case 3 to case 2;
10:   [case_selec, sat_selec] = compare case(case_selec, sat_selec, sat_case2);
11:  end
12:  if case_selec == 2
13:   sat_case1 = change satellite from case 2 to case 1;
14:   sat_case4 = change satellite from case 2 to case 4;
15:   [case_selec, sat_selec] = compare case(case_selec, sat_selec, sat_case1, sat_case4);
16:  end
17:  if case_selec == 4
18:   sat_case1 = change satellite from case 4 to case 1;
19:   [case_selec, sat_selec] = compare case(case_selec, sat_selec, sat_case1);
20:  end
21:  return sat_selec, case_selec
22: end function changing uniform satellite
23:
24: void function compare case(case_selec, sat_selec, sat_caseA, sat_caseB, …)
25:  flag_case = compare minimum HDOP(sat_selec, sat_caseA, sat_caseB, …);
26:  switch flag_case
27:   case case_selec
28:    return sat_selec, case_selec
29:   case A
30:    sat_selec = sat_caseA;
31:    case_selec = A;
32:    return sat_selec, case_selec
33:   case B
34:    …
35:  end
36: end function case selection