filtro rumore colorato

Da una serie temporale dovrei togliere la componente di rumore "colorato". Come posso procedere? Il rumore è un tipico rumore rosso (con esponente -2) e si estende in banda da 0.001 Hz a 0.4 Hz circa. Il problema è che sovrapposto in banda c'è anche parte del segnale. Esiste qualche filtro "intelligente" che riesca a ricavare il modello del rumore e filtrarlo? Che altro posso fare? Grazie per qualunque suggerimento

Reply to
Jack
Loading thread data ...

banda

anche

Sì e no, dipende anche da come è fatto il segnale utile (o da come ti aspetti che sia fatto). Specifica un po' meglio il contesto.

Massimo

-------------------------------- Inviato via

formatting link

Reply to
Massimo Ortolano

"Massimo Ortolano" ha scritto nel messaggio news: snipped-for-privacy@usenet.libero.it...

I problema è proprio quello, io ho solo il segnale rumoroso e so che è costituito (in prima approssimazione) dalla somma del segnale utile e di un rumore colorato (di cui so le caratteristiche spettrali). Che altre informazioni dovrei avere per approcciare un buon filtraggio? Grazie

Reply to
Jack

Come dovrebbe essere fatto il segnale utile? P.es, è un segnale periodico? E' una costante?

I rumori con spettro del tipo f^a (dove, in genere, a0) Z(t) = X(t)-2*X(t-p)+X(t-2*p) (la differenza seconda di X(t) con ritardo p>0)

sono rumori bianchi. Se il tuo segnale ha un periodo p noto (possibilmente un multiplo intero dell'intervallo di campionamento) puoi sfruttare le relazioni precedenti per trasformare il rumore che hai in bianco. Così facendo, tra l'altro, elimini anche eventuali derive deterministiche.

Insomma, questa è una possibilità, ma ce ne sono altre. Dove possibile, si cerca proprio di impostare l'esperimento in modo da trovarsi in questa situazione: è, di fatto, quel che si fa facendo uso degli amplificatori lock-in.

Massimo

-------------------------------- Inviato via

formatting link

Reply to
Massimo Ortolano

"Massimo Ortolano" ha scritto nel messaggio news: snipped-for-privacy@usenet.libero.it...

Il segnale dovrebbe essere una sovrapposizione di periodicità a basse freq, dei trend e dei gradini non periodici.

Cioè dovrò prendere come Y o Z e filtrare il rumore bianco per avere il mio segnale?

Grazie ancora

Reply to
Jack

Jack ha scritto:

se il tuo segnale ha un ampiezza maggiore dello spettro di freq. del rumore, con un analisi spettrale dovresti riuscire a discriminare il tuo segnale.ovvero se le componenti singole del rumore sono + piccole ,in ampiezza, del tuo segnale ,con un analisi di Fourier dovresti estrarre il segnale utile. emi

Reply to
emilio

Il 26 Ago 2008, 16:04, "Jack" ha scritto:

freq,

Ecco, e di tutto questo, che parametri devi stimare?

mio

Ti faccio un esempio semplice: supponi che X(t) possa essere modellato da un trend lineare (a+b*t) a cui è sovrapposto un rumore non stazionario e(t) (flicker, passeggiata casuale ecc.):

X(t) = a+b*t+e(t)

Se prendi le differenze prime con ritardo 1, hai

Y(t) = X(t)-X(t-1) = b+e(t)-e(t-1)

A questo punto, se e(t)-e(t-1) è un rumore bianco a media nulla puoi usare la media campionaria degli Y(t) per stimare il parametro 'b' del tuo modello. Inoltre, puoi stimare la varianza di 'b' a partire dalla varianza campionaria. Se e(t)-e(t-1) è un rumore bianco questi stimatori hanno un comportamento "buono".

E se avessi voluto stimare anche il parametro 'a'? In questo caso, non puoi farlo perché 'a' non è sotto controllo statistico: cioè potresti pensare di ottenere 'a' prendendo la media campionaria degli X(t) ma non potresti stimarne la varianza perché, in presenza di rumori non stazionari, la varianza campionaria non è uno stimatore corretto della varianza del processo.

E se e(t)-e(t-1) non fosse ancora stazionario (per esempio perché sei partito da un processo f^-4)? Puoi prendere le differenze seconde, ma a quel punto non puoi stimare più né 'a' né 'b'. Cioè quel particolare tipo di segnale non sarebbe stimabile in presenza di quel particolare tipo di rumore. Insomma, devi veramente vedere caso per caso!

Comunque, in generale, non sono problemi facili e per approfondirli ti posso consigliare tre libri:

Percival D B e Walden A T - Spectral analysis for physical applications, Cambridge University Press Percival D B e Walden A T - Wavelet methods for time series analysis, Cambridge University Press Beran J - Statistics for long memory processes, Chapman and Hall Massimo

-------------------------------- Inviato via

formatting link

Reply to
Massimo Ortolano

"Massimo Ortolano" ha scritto nel messaggio news: snipped-for-privacy@usenet.libero.it...

In realtà non ho un modello del segnale per cui nessun parametro, mi servirebbe il segnale (che tra l'altro è sicuramente non stazionario).

ma media(Y(t)...Y(t+N)) = (X(t+N)-X(t)) / (N+1) se ho capito bene, in tal caso non mi pare una stima "robusta" di b dato che dipende da soli 2 valori di X quindi nel caso in cui e(t) abbia valori dello stesso ordine di grandezza di b il risultato dipende molto dalla finestra temporale che si prende. (Ok è quasi mezzanotte, se sto sparando cavolate ti prego di perdonarmi).

[CUT]>

Grazie della bibliografia. Proverò a comprarne inizialmente uno, quale dei 3 mi suggerisci? Ancora grazie.

Reply to
Jack

Qui c'è un errore metodologico: in senso generale non puoi "conoscere" un segnale, se non parti da un modello. Per cui che tu voglia o no, il modello te lo devi costruire. Potresti procedere in due modi, ma tutti e due richiedono di essere affinati piano piano, non esiste il metodo magico che funziona sempre e subito, e soprattutto devi avere ben chiaro per quale motivo misuri il segnale.

1) Modello "matematico": a partire dalla serie temporale e dal suo spettro, in base a quello che vedi, ti costruisci un modello matematico del tuo segnale (p.es. un modello armonico con aggiunta di deriva polinomiale) . Se scegli lo stimatore spettrale sbagliato, però, lo spettro stimato può avere errori sistematici elevati (decine di dB). Per cui devi procedere per tentativi ed errori: parti da una prima stima e poi cambi lo stimatore in base a quello che vedi. Per migliorare la stima, puoi anche cercare di "sbiancare" il rumore con un filtro, come nell'esempio che ti ho fatto. 2) Modello "fisico": fai un modello del tuo segnale sulla base della fisica del sistema che lo ha originato. Poi, usi questo modello per cercare una strategia che ti permetta di avere la stima migliore.
2

di

Ti perdono, ma hai detto una cavolata :-) Se {X(t)} ha lunghezza N, la successione {Y(t)} così costruita ha lunghezza N-1:

Y(1) = X(2)-X(1) Y(2)= X(3)-X(2) ... Y(N-1)=X(N)-X(N-1)

Però, come ti ho detto, questo è veramente un esempio molto semplice: in alcuni casi si può essere costretti a utilizzare filtri con un numero maggiore di coefficienti, e allora si perdono un numero maggiore di dati.

3

Inizia a prenderli in una biblioteca, perché trattano apetti diversi del problema e potrebbero servirti tutti e tre: i primi due possono servirti per fare un'analisi spettrale corretta e per costruire il modello. Il terzo può servirti nella fase finale per conoscere l'incertezza dei parametri del tuo modello. Nel secondo, ci sono diversi paragrafi dedicati ai rumori non stazionari.

E non avere fretta: quando una decina d'anni fa mi sono trovato davanti a un problema simile, ci ho messo circa un anno a venirne a capo ;-)

-------------------------------- Inviato via

formatting link

Reply to
Massimo Ortolano

"Massimo Ortolano" ha scritto nel messaggio news: snipped-for-privacy@usenet.libero.it...

Ok, quindi mi tocca fare un modello. Un modello fisico è da scartare, si tratta di sistemi naturali di grandi dimensioni in cui è improponibile scrivere carta e penna le equazioni. Il problema che non riesco ad inquadrare è: io ho un segnale registrato in un periodo di tempo; so per certo che le caratteristiche del segnale cambieranno nel tempo, e non so come (arriverà un gradino, oppure cambierà la pendenza di una rampa, oppure inizierà ad oscillare con altre frequenze, etc. etc.). Costruendo un modello non presuppongo che io conosca tutto del segnale? anche il futuro? Invece conosco con "relativa esattezza" le caratteristiche del rumore: esponente in frequenza e banda. Ecco, devo ancora rifletterci su.

ma quindi la media degli {Y(t)} non è (X(N)-X(1))/(N-1) ?

Lo so, devo rimboccarmi le maniche e studiare molto. Chiedevo quì solo per non disperdermi in letture inutili, e cercare di circostanziare il problema magari ripercorrendo ciò che già qualcun'altro ha fatto :) Grazie dell'appoggio.

Reply to
Jack

snipped-for-privacy@usenet.libero.it...

).

" un

che

i

in

er=E0

nze,

l
a

per

ma

non so se ti pu=F2 servire ma qua

formatting link

12.pdf ci sono gli appunti del corso che ho seguito io, dopo una brevissima ricapitolazione sui processi aleatori da pag 10 in poi parla di tutte le cose relative alla caratterizzazione statistica dei segnali, magari ti pu=F2 interessare. Buona fortuna!
Reply to
mathereal

Il 27 Ago 2008, 14:47, "Jack" ha scritto:

un

che

frequenze,

Se ho ben capito, mi sembra che tu faccia questo ragionamento: io ho un segnale y(t) che è la somma di un segnale utile x(t) più un rumore e(t) (y(t) = x(t)+e(t)) e la domanda che poni è "posso isolare x(t), qualunque cosa sia?". Allora la risposta è: in generale, solo con una certa approssimazione, perché filtrando perdi anche delle caratteristiche del segnale utile. Nell'esempio che ti avevo fatto con la deriva lineare, ho filtrato la serie {X(t)} con un semplice filtro passa alto, per eliminare il rumore a bassa frequenza (quello prevalente nel tuo caso). Così facendo, però, ho eliminato anche la componente costante (continua!) rappresentata dal termine 'a', e la deriva lineare è diventata un termine costante (il filtro passa basso usato si è comporta da derivatore). Facendo poi la media aritmetica per ottenere 'b', ho applicato un filtro passa basso che ha filtrato il rumore bianco, riducendone la varianza.

Sì, ma la varianza attesa di quella media la calcoli a partire da tutta la successione {Y(t)}, con N-1 gradì di libertà e non solo con 2. Puoi vederlo geometricamente così: 'b' è il coefficiente angolare della deriva che avevo ipotizzato; per calcolare 'b' puoi pensare di tirare un segmento che unisca gli estremi della serie: questo segmento ha proprio pendenza (X(N)-X(1))/(N-1). E gli altri punti? vista così la cosa, sembrerebbero non servire a nulla. E invece no! Le differenze X(2)-X(1), X(3)-X(2) ecc. rappresentano le pendenze degli N-1 segmenti che uniscono tutti i punti. La variabilità, la fluttuazione, di queste pendenze (che a questo punto è un rumore bianco - ed è importante perché il rumore bianco è facile da trattare statisticamente) ti permette di stimare la variabilità (la varianza) attesa della pendenza media. E questo lo fai con, appunto, N-1 gradì di libertà.

-------------------------------- Inviato via

formatting link

Reply to
Massimo Ortolano

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.