sorry for my bad English.
I corrected the algorithm. The phase measurement 45 MHz and 3 MHz at a distance of 30 meters 1 step 20mm 1500 points. 3 MHz for calculating the multiplier i.ph_long = ph45Mhz+360*i The source code below how to do this correctly?
if ((phase3Mhz_deg > 33000) || (phase3Mhz_deg < 300)) {
coefmux = 1;
} else if ((phase3Mhz_deg >= 300) && (phase3Mhz_deg < 1100)) {
if (phase45Mhz_deg > 18000) {
coefmux = 1;
} else {
coefmux = 2;
}
} else if ((phase3Mhz_deg >= 1100) && (phase3Mhz_deg < 3100)) {
coefmux = 2;
} else if ((phase3Mhz_deg >= 3100) && (phase3Mhz_deg < 4100)) {
if (phase45Mhz_deg > 18000) {
coefmux = 2;
} else {
coefmux = 3;
}
} else if ((phase3Mhz_deg >= 4100) && (phase3Mhz_deg < 5100)) {
coefmux = 3;
} else if ((phase3Mhz_deg >= 5100) && (phase3Mhz_deg < 6400)) {
if (phase45Mhz_deg > 18000) {
coefmux = 3;
} else {
coefmux = 4;
}
} else if ((phase3Mhz_deg >= 6400) && (phase3Mhz_deg < 8300)) {
coefmux = 4;
} else if ((phase3Mhz_deg >= 8300) && (phase3Mhz_deg < 8900)) {
if (phase45Mhz_deg > 18000) {
coefmux = 4;
} else {
coefmux = 5;
}
} else if ((phase3Mhz_deg >= 8900) && (phase3Mhz_deg < 10700)) {
coefmux = 5;
} else if ((phase3Mhz_deg >= 10700) && (phase3Mhz_deg < 11500)) {
if (phase45Mhz_deg > 18000) {
coefmux = 5;
} else {
coefmux = 6;
}
} else if ((phase3Mhz_deg >= 11500) && (phase3Mhz_deg < 13000)) {
coefmux = 6;
} else if ((phase3Mhz_deg >= 13000) && (phase3Mhz_deg < 14000)) {
if (phase45Mhz_deg > 18000) {
coefmux = 6;
} else {
coefmux = 7;
}
} else if ((phase3Mhz_deg >= 14000) && (phase3Mhz_deg < 15500)) {
coefmux = 7;
} else if ((phase3Mhz_deg >= 15500) && (phase3Mhz_deg < 16500)) {
if (phase45Mhz_deg > 18000) {
coefmux = 7;
} else {
coefmux = 8;
}
} else if ((phase3Mhz_deg >= 16500) && (phase3Mhz_deg < 18000)) {
coefmux = 8;
} else if ((phase3Mhz_deg >= 18000) && (phase3Mhz_deg < 19300)) {
if (phase45Mhz_deg > 18000) {
coefmux = 8;
} else {
coefmux = 9;
}
} else if ((phase3Mhz_deg >= 19300) && (phase3Mhz_deg < 20400)) {
coefmux = 9;
} else if ((phase3Mhz_deg >= 20400) && (phase3Mhz_deg < 21700)) {
if (phase45Mhz_deg > 18000) {
coefmux = 9;
} else {
coefmux = 10;
}
} else if ((phase3Mhz_deg >= 21700) && (phase3Mhz_deg < 23000)) {
coefmux = 10;
} else if ((phase3Mhz_deg >= 23000) && (phase3Mhz_deg < 24500)) {
if (phase45Mhz_deg > 18000) {
coefmux = 10;
} else {
coefmux = 11;
}
} else if ((phase3Mhz_deg >= 24500) && (phase3Mhz_deg < 26500)) {
coefmux = 11;
} else {
coefmux = 0;
}
tempdouble = 36000.0 * (coefmux - 1.0) + phase45Mhz_deg;
ph_long = floor(tempdouble);
File with the measurement results.
https://drive.google.com/file/d/0b3blsgr5w0ttwm1meni4ehctnku/view?usp=sharing