J'ai un signal que j'échantillonne à 500 kHz. J'essaie de détecter une hausse, une chute et le pic des données entrantes. La base du pic pourrait être de 250 usec ou 2,5 ms, l'amplitude pourrait être de 6 dB ou 15 dB au-dessus du plancher de bruit. Je n'ai malheureusement pas de bons snr. Le niveau continu du signal n'est pas constant mais se déplace beaucoup plus lentement que la composante alternative.
Au point de décision, j'ai besoin de connaître la pente de la montée et de la chute. C'est un système difficile en temps réel et j'ai vraiment besoin de prendre une décision dans le 100usec après que la pente descendante atteigne le niveau DC.
Je recherche des suggestions sur la façon de mettre en œuvre efficacement un algorithme décent.
Actuellement, je fais une moyenne mobile (les 25 derniers points de données ajoutés ensemble) et j'essaie de détecter la tendance. Une fois que je détecte la tendance à la hausse, je commence à rechercher une tendance à la baisse et une fois que je le fais, je recueille peut-être 50 autres échantillons et commence à calculer.
Le bruit visse désormais facilement cet algorithme, d'où la question.
Mise à jour
Pour le bien des autres, j'ai fini par implémenter une moyenne mobile suivie d'un intégrateur. La moyenne mobile des 64 dernières données s'est suffisamment lissée mais a perdu une hausse d'un degré, en intégrant les 8 dernières valeurs, j'ai récupéré la hausse et je recherche simplement la montée et la chute, puis j'ai fait une régression linéaire pour la pente. Fonctionne bien, pas génial mais ok.