Ho un segnale che campiono a 500 khz. Sto cercando di rilevare un aumento, una caduta e il picco nei dati in arrivo. La base del picco potrebbe essere per 250 usec o 2,5msec, l'ampiezza potrebbe essere 6db o 15db sopra il rumore di fondo. Purtroppo non ho una buona snr. Il livello CC del segnale non è costante ma si sposta molto più lentamente del componente CA.
Al momento della decisione, devo conoscere la pendenza dell'ascesa e della caduta. Questo è un sistema in tempo reale difficile e ho davvero bisogno di prendere una decisione in 100usec dopo che la pendenza verso il basso raggiunge il livello CC.
Sto cercando suggerimenti su come posso implementare in modo efficiente un algoritmo decente.
Attualmente faccio una media corrente (oltre 25 punti dati sommati insieme) e provo a rilevare la tendenza. Una volta rilevato il trend in alto, inizio a cercare il trend in basso e, una volta fatto, raccolgo forse altri 50 campioni e inizio a calcolare.
Il rumore ora avvita facilmente questo algoritmo, da qui la domanda.
Aggiornare
A beneficio di altri, ho finito per implementare una media mobile seguita da un integratore. La media mobile dei 64 dati passati ha smussato abbastanza ma ha perso un certo grado, integrando gli ultimi 8 valori ha ottenuto il rialzo e cerco semplicemente l'aumento e la caduta, in seguito ho fatto una regressione lineare per la pendenza. Funziona bene, non eccezionale ma va bene.