Имеется stm32f405, который 5000 раз в секунду получает из внешнего мира 2 штуки unsigned short, это значения на первом и втором канале соответственно, отражающие аналоговый сигнал. Наверное, самая близкая аналогия может быть такая - во внешнем физическом мире рядом с датчиками пролетает предмет, наличие которого и фиксируется этими самыми датчиками + АЦП. Предмет может "пролететь" ближе или дальше, то есть одинаковость сигналов обоих каналов не гарантируется, хотя длительность импульсов будет зависеть только от скорости, так что в первом приближении может быть признана более-менее одинаковой (ну, то есть в два раза, например, она отличаться уже не может, а в 1.5 - может). Сигнал зашумлен, но полезный сигнал - выше шума. Значение покоя не гарантировано и медленно дрейфует (как минимум на пару порядков медленнее, чем сам сигнал).
На осциллографе это выглядит как "горб" на осциллограмме, ширина которого может быть от 10мс до 1 секунды, время "разницы" между горбами двух каналов - от 2мс.
Если посмотреть на оба сигнала - видим более-менее похожие, но сдвинутые относительно друг друга "горбы" (на самом деле впадины, но, думаю, это некритично).
Собственно, нужно как-то обработать эти сигналы, вытащить оттуда позицию "горбов", сопоставить их центры и понять, в какую сторону с какой скоростью "пролетел предмет".
Сделать "по-тупому", то есть вычислить уровень покоя скользящим средним и смотреть отклонение, сравнивая его с каким-то значением threshold я не могу, потому что один "горб" может быть меньше другого, например, или немного несимметричным, а у меня разница между каналами может быть 10 отсчетов и легко спутать направление. То есть надо как-то по другому находить центр горба, а не просто разница между переходами через границу делить на два. Ну, и шумы там могут быть, которые обеспечат мне пару десятков переходов туда-сюда при том, что медиана функции идет в одну сторону.
Ткните носом, плиз, с чего начать, какие алгоритмы поискать, ну и вообще, буду благодарен любым советам.
p.s. "Предметов" может быть много, например, 5 штук в секунду, и 100 всего, то есть одновременно в буфере может присутствовать много "горбов", и при этом там может и не быть начального горба, то есть корреляция вроде бы не подходит.
p.p.s. Датчики, АЦП и архитектура системы дана свыше, и меняться не может

Спасибо заранее!