|
|
|
|
Strumenti |
22-06-2017, 16:02 | #1 |
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Elaborazione dati Matlab
Salve a tutti,
passo direttamente a esporre il problema perché temo sarà lungo e difficile rispondere. Ho dei dati sperimentali acquisiti tramite Labview, li ho importati su Matlab tramite un apposito file .m che mi hanno passato. Ho così una 90ina di array rappresentati varie grandezze misurati in 6 ore di misurazione (il time step credo sia ogni secondo, onestamente non mi è stato spiegato nulla quindi non saprei). Mi è stato richiesto, per solamente 10 di queste grandezze, di determinare per quale intervalli di tempo siano tutte contemporaneamente stabili e per questi intervalli calcolare il valore medio di ciascuna grandezza. Tutto questo devo farlo in modo automatico, ossia con un algoritmo. Ora... il mio problema è innanzitutto l'approccio: trattantosi di grandezze sperimentali con un elevato rumore di fondo avere un approccio tramite calcolo delle derivate locali mi pare assurdo. Devo precedentemente filtrare i segnali? Usare un filtro IFR? E successivamente tramite le derivate impostare una variazione temporale massima? Devo determinare grandezze come lo scarto quadratico o la varianza o funzioni statistiche e poi lavorare su quelle? Spero nella buonanima di qualcuno che mi indichi anche solo dove cercare soluzioni, premetto che ho già visionato documentazione e Webinar Matlab senza trovare soluzione. |
23-06-2017, 08:50 | #2 |
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Innanzitutto grazie per la risposta, non ci speravo.
Parlando con un dottorando che lavora su Matlab lui mi ha consigliato prima uno smoothing del segnale tramite filtro (non lo so usare ma ci posso arrivare) e poi ti stabilire in quale zone si ha un andamento costante tramite, non so, lo scarto quadratico medio? Per "costante" non so precisamente cosa intendere... Ma ho immaginato che graficamente si debba avere una variazione inferiore al 5/10%. Per individuare cosa "tagliare" posso plottare e calcolare a spanne la frequenza del rumore, è corretto? |
23-06-2017, 10:27 | #3 |
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Su tuo consiglio ho realizzato un filtro moving average medianto su 10 secondi e pare che lavori abbastanza bene. Il mio referente però mi ha detto che non devo "tagliare troppo", ossia il segnale non deve diventare completamente smooth ma deve mantenere un po' l'oscillazione tipica del dato sperimentale. Immagino che il comando che mi hai postato serva per impostare una variazione percentuale che è appunto quello he pensavo di fare. Mi resta da capire come comparare quei punti (quindi quegli intervalli di tempo) in cui tale grandezza è "costante" con gli intervalli di tempo in cui le altre variabili (una decina) sono "costanti".
|
23-06-2017, 12:46 | #4 |
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Ok, credo di aver capito come fare!
Spero di riuscire, per ora grazie davvero. |
23-06-2017, 13:04 | #5 |
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Ok, credo di aver capito come fare!
Spero di riuscire, per ora grazie davvero. |
24-06-2017, 16:36 | #6 | |
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Quote:
Esistono alcuni manuali di riferimento per la progettazione dei filtri o gestione dei segnali più in generale? Me ne puoi suggerire qualcuno? Perché online ho trovato molto sul "come si fa" ma poco sul perché. Ho solo qualche rudimento universitario di dinamica e controllo (non è neanche il medesimo argomento, peraltro). Devo ricorrere allo studio completo della teoria dei segnali per capirci qualcosa in più? |
|
26-06-2017, 10:53 | #7 | |
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Quote:
|
|
30-06-2017, 10:55 | #8 |
Junior Member
Iscritto dal: Nov 2011
Messaggi: 13
|
Riprendo dopo qualche giorno la discussione perché nonostante abbia lavorato parecchio sui filtri non sono riuscita ad arrivare alla soluzione. I filtri lavorano bene in alcune zone ma male in zone in cui il segnale ha un andamento " a gradino smussato", interpolare lì diventa impossibile. Quindi vorrei tentare un altro approccio, "differenziale". Vorrei valutare la media attorno ad un valore (ad esempio con una finestra di 5 punti) e ripetere lo stesso a distanza di 20 punti. A tal punto calcolo il coeff angolare della retta che unisce i due punti mediati e ripeto per valori mediati distanti ancora 20 punti. Se il coeff è uguale o circa uguale (10%) il segnale è stabile, altrimenti no. è una cosa sensata? come si può implementare?
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:47.