Пожалуйста, прости меня, если это очень простой или глупый вопрос, но я был бы признателен за некоторую помощь.Я работаю над чужим кодом и наткнулся на несколько строк, которые были описаны как фильтр 2-го порядка.Я не совсем уверен, что такое фильтр 2-го порядка или что пытается сделать код.Мне интересно, может ли кто-нибудь помочь объяснить следующий алгоритм?
setpoint_error = temperature_setpoint * FILTER_TERM_A - high_resolution_temperature_setpoint;
filtered_setpoint_error = filtered_setpoint_error + (setpoint_error - filtered_setpoint_error) / FILTER_TERM_A;
high_resolution_temperature_setpoint = high_resolution_temperature_setpoint + filtered_setpoint_error / FILTER_TERM_B;
Обратите внимание, что этот код выполняется на микроконтроллере и вызывается каждые 100 мс.
Большое спасибо за вашу помощь.