Проверял все работает отлично, задержки не влияют, схема сделана так что все задержки друг друга компенсируют. И даже температура на схему измерения мало влияет 20-40гр. температура влияет на скорость распространения волн через атмосферу, но это на небольшом расстоянии мало повлияет на измерение. Если потребуется можно сделать корректировку в stm32f407 есть термосопротивление, конечно встроенное термосопротивление измеряет температуру кристалла, попробовать можно, потом... Проблем с схемами измерителями нет, немножко что то понимаю

Результаты измерений неплохие, зависимость от расстояния почти линейная, при этом нет фильтрации сигнала как поступил в функцию так и ушел в пк. Основная задача сейчас сделать расчет расстояния в микроконтроллере stm32f407 на си. В нем по таймеру 10 раз в секунду выполняется функция в аргументах которой f1 f2 f3 в которых разница фаз , нужно рассчитать Y мм. Точки с шагом 100мм снятые экспериментально первая точка 500мм дальше 600мм 700мм... poi_f1_ poi_f2_ poi_f3_...
Код
uint32_t poi_f1_0deg[] = {6044,8287,10407,12369,15222,17353,19678,21529,23426,25241,27077,28810,31252,338
28,36392,38931,40906,42706,44302,46121,49712,51453,53525,55919,58317,60404,62388
,
64106,17576,2160,3856,5911,8024};
uint32_t poi_f1_45deg[]={21147,22974,25000,26779,28845,30870,33224,35423,37496,39647,41668,43455,45
763,48321,50319,52822,55240,57070,58671,60329,64223,12666,2209,5553,7530,9252,11
5
89,13653,15131,16773,18766,20900,23018};
uint32_t poi_f2_0deg[]={4690,6428,8024,9290,10704,11728,12948,14317,15784,16993,18491,19417,20858,
22331,24095,25768,27515,28386,29403,30672,34042,35199,36077,37031,38774,40257,42
0
84,43506,44638,45837,47074,49039,50345};
uint32_t poi_f2_45deg[]={18801,19787,20892,22206,23884,25155,26715,27582,28452,29748,31293,32728,34
426,35532,36787,38428,40459,42353,43553,44331,46903,48571,50461,51594,52506,5348
8
,54941,56702,58335,59625,60399,61340,62830
};
uint32_t poi_f3[]={4896,5454,5830,6089,6379,6635,6942,7228,7336,7481,7691,7904,7758,7577,7247
,7081,6903,6896,7164,6603,7303,7482,7757,8157,8479,8678,8998,9344,9626,9912,1016
2
,10623,11090
};
uint32_t ClculateDistance(uint32_t F45Mhz_ph0deg,uint32_t F45Mhz_ph45deg,uint32_t F30Mhz_ph0deg,uint32_t F30Mhz_ph45deg, F3Mhz)
{
uint32_t Y_mm = 0;
send_pc_excel(F45Mhz_ph0deg,F45Mhz_ph45deg, F30Mhz_ph0deg, F30Mhz_ph45deg, F3Mhz);// передача на компьютер для построения графика
return Y_mm;
}
Помогите сделать функцию которая будет рассчитывать расстояние, проверю результат напишу? Спасибо.