supponiamo di acquisire due segnali tramite un ADC. Li filtriamo con un
filtro mediano e vogliamo la loro derivata. Ovvero, dati:
a_n -> campione corrente segnale A
a_p -> campione precedente segnale A
b_n -> campione corrente segnale B
b_p -> campione precedente segnale B
voglio ottenere:
d = (a_n - a_p) / (b_n - b_p)
di questo segnale mi interessa il *segno*.
Il problema ᅵ che le letture dell'ADC hanno sempre un minimo di rumore,
per cui ho i miei valori a e b che saltano attorno al valore medio. Di
poche unitᅵ certo, ma sufficienti a farmi cambiare segno alla derivata.
A parte utilizzare la forza bruta ( = soglie e isteresi) c'ᅵ qualche
modo piᅵ furbo per migliorare l'immunitᅵ al rumore in una situazione
come questa?
Marco
> A parte utilizzare la forza bruta ( = soglie e isteresi) c'è qualche
> modo più furbo per migliorare l'immunità al rumore in una situazione
> come questa?
Una media di piu' letture rallenta troppo? (eventualmente anche una
media mobile)
Claudio_F
> Una media di piu' letture rallenta troppo? (eventualmente anche una
> media mobile)
Il segnale ᅵ lentamente variabile.
Acquisisco a 50 Hz e ho un filtro mediano a 11 campioni.
I filtri riducono l'ampiezza del rumore ma i saltellamenti attorno alla
"media" per quanto innocui per la lettura in sᅵ mi fanno cambiare il
segno della derivata!
Per questo stavo pensando a un barbatrucco che mi permettesse di
calcolare una derivata anche approssimativa, ma con la certezza del segno.
L'unico modo che ho trovato ᅵ appunto l'utilizzo di finestre a isteresi:
fin tanto che il segnale non supera una certa soglia lo considero
costante (delta = 0).
Marco
La derivata di una funzione � "rumorosa" per definizione, visto che ne
evidenzia tutte le variazioni.
Se poi la funzione non � "monotona" (sempre crescente o decrescente) il
cambio di segno � inevitabile.
Hai valutato la possibilit� di calcolare prima l'integrale del segnale da
misurare e poi derivare due volte?
Occorre trovare il periodo di integrazione adatto per non perdere troppe
informazioni sul segnale, ma potrebbe essere una strada da verificare.
Non sto assolutamente facendo del sarcasmo ma un consulto da un prof di
analisi matematica (uno dello scientifico dovrebbe bastare) potrebbe fornire
qualche spunto interessante!
Claudio
> La derivata di una funzione ᅵ "rumorosa" per definizione, visto che ne
> evidenzia tutte le variazioni.
Chiaro, ma qui il problema ᅵ che mi evidenzia le variazioni dovute al
rumore.
> Se poi la funzione non ᅵ "monotona" (sempre crescente o decrescente) il
> cambio di segno ᅵ inevitabile.
E infatti a me serve proprio sapere il segno!
> Hai valutato la possibilitᅵ di calcolare prima l'integrale del segnale da
> misurare e poi derivare due volte?
ehm... no. Non mi sarebbe mai venuto in mente.
> Occorre trovare il periodo di integrazione adatto per non perdere troppe
> informazioni sul segnale, ma potrebbe essere una strada da verificare.
> Non sto assolutamente facendo del sarcasmo ma un consulto da un prof di
> analisi matematica (uno dello scientifico dovrebbe bastare) potrebbe fornire
> qualche spunto interessante!
Ho un'amica ingegnere matematico (ah no, modellista come si
definiscono). Proverᅵ a chiedere!
Marco
il circuito di acquisizione lo hai fatto tu o devi lavorare su dati
che ti vengono presentati? nel primo caso ce lo fai vedere
(alimentazioni ecc.?). Di che natura e' il segnale?