| 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 |