Mam sygnał, że próbuję z częstotliwością 500 kHz. Próbuję wykryć wzrost, spadek i szczyt w przychodzących danych. Podstawa piku może wynosić 250 usec lub 2,5 ms, amplituda może wynosić 6 dB lub 15 dB powyżej poziomu szumu. Niestety nie mam dobrego snr. Poziom prądu stałego sygnału nie jest stały, ale porusza się znacznie wolniej niż składnik AC.
W punkcie decyzyjnym muszę znać nachylenie wzlotu i upadku. Jest to trudny system czasu rzeczywistego i naprawdę muszę podjąć decyzję w 100usec po tym, jak zbocze opadnie do poziomu DC.
Szukam sugestii, jak mogę skutecznie wdrożyć przyzwoity algorytm.
Obecnie robię średnią bieżącą (suma ostatnich 25 punktów danych) i próbuję wykryć trend. Po wykryciu trendu zaczynam szukać trendu w dół, a kiedy to robię, zbieram może kolejne 50 próbek i zaczynam obliczać.
Hałas teraz łatwo psuje ten algorytm, stąd pytanie.
Aktualizacja
Z korzyścią dla innych, ostatecznie wprowadziłem Moving Average, a następnie integratora. Średnia ruchoma z ostatnich 64 danych wystarczająco wygładzona, ale do pewnego stopnia straciła wzrost, integrując ostatnie 8 wartości odzyskało wzrost i po prostu szukam wzrostu i spadku, później zrobiłem regresję liniową dla nachylenia. Działa dobrze, nie świetnie, ale dobrze.