Pagina 1 di 3

Simulare un segnale immerso nel rumore

MessaggioInviato: 20 lug 2012, 9:29
da zerog89
Salve a tutti!
Sto scrivendo una tesi sulla tecnica della demodulazione sincrona applicata ad osservazioni differenziali cosmologiche da terra. In poche parole si parla del Lock-In. Ho bisogno di inserire delle immagini che raffigurino, in ordine:
1-Un semplice segnale sinusoidale;
2-Un segnale fluttuante (il rumore) di ampiezza paragonabile a quella del segnale;
3-Il segnale sinusoidale sovrapposto al rumore.
Inoltre, mi piacerebbe riuscire ad inserire anche altre immagini nelle quali siano rappresentati gli stessi segnali di cui sopra...ma nel dominio delle frequenze. Ho già visto immagini del genere su un libro (Meade, Lock-in amplifiers: principles and applications) del 1983 (vedere immagine allegata).
Non so se esista da qualche parte un software in grado di fare ciò. Io ho provato con GnuPlot: il segnale sinusoidale viene bene...il problema è il rumore, senza una sua espressione analitica non vado molto lontano con questo sistema.
Qualche idea?
...il software P-Spice ha una funzionalità del genere per caso? Se si, potrei imparare ad usarlo...con molta pazienza :-)

immagine.png
Meade, Lock in amplifiers: principles and applications (1983)
immagine.png (70.8 KiB) Osservato 5878 volte

Re: Simulare un segnale immerso nel rumore

MessaggioInviato: 20 lug 2012, 9:34
da IsidoroKZ
Direi che Matlab e le sue varianti free (scilab) lo facciano senza problemi.

Extrema ratio, puoi anche usare Excel e la funzione random, ma potrebbe servire un piccolo filtraggio sul rumore nonche' un cambiamento della statistica dell'ampiezza.

Re: Simulare un segnale immerso nel rumore

MessaggioInviato: 20 lug 2012, 9:41
da zerog89
Non avevo mai sentito parlare di scilab, ho fatto una ricerca veloce e credo che possa fare al caso mio. E' anche comodo perché ho Ubuntu come sistema operativo. Vediamo cosa riesco a tirarci fuori! grazie mille :-) Vi faccio sapere appena ottengo qualche risultato...

Re: Simulare un segnale immerso nel rumore

MessaggioInviato: 20 lug 2012, 9:45
da DirtyDeeds
Con Scilab puoi usare la funzione grand per generare un rumore bianco con la distribuzione di probabilità che più ti piace.

Re: Simulare un segnale immerso nel rumore

MessaggioInviato: 20 lug 2012, 9:55
da zerog89
Grazie, mi appunto questa funzione. Mi sa che ci metterò un po' a capire bene come utilizzarlo. Fortuna che in rete ci sono decine di manuali e tutorial anche in italiano.

Re: Simulare un segnale immerso nel rumore

MessaggioInviato: 20 lug 2012, 10:05
da zerog89
In particolare, c'è questo tutorial che fa al caso mio (credo). Posto il link nel caso in cui ci fosse qualcun altro interessato http://www.ceremade.dauphine.fr/~peyre/ ... se_models/

Re: Simulare un segnale immerso nel rumore

MessaggioInviato: 20 lug 2012, 17:42
da IsidoroKZ
Questo e` quello che ho ottenuto in un momento libero usando excel (o open office)
Noise.png
Noise.png (58.54 KiB) Osservato 5846 volte


Ho sommato 8 colonne di numeri casuali in modo da sfruttare il teorema centrale del limite e avere una distribuzuione che assomigliasse un po' alla gaussiana, e poi ho usato un filtro a media mobile su 5 campioni. Ciascun periodo della sinuoiude e` lungo 500 campioni.

Re: Simulare un segnale immerso nel rumore

MessaggioInviato: 23 lug 2012, 20:16
da zerog89
Questa tecnica mi facilita considerevolmente la vita :D grazie! Sinceramente non ho molto tempo questo periodo per approfondire Scilab. Una domanda: il filtro a media mobile è servito a "smussare" le fluttuazioni, che altrimenti sarebbero state troppo spigolose? ?%

Re: Simulare un segnale immerso nel rumore

MessaggioInviato: 23 lug 2012, 20:33
da DirtyDeeds
zerog89 ha scritto:Sinceramente non ho molto tempo questo periodo per approfondire Scilab.


A me questa pigrizia mentale da parte di studenti lascia sempre un po' perplesso :?

Codice: Seleziona tutto
N = 1024; // Numero di campioni
A = 2; // Ampiezza della sinusoide
f = 2/N; // Frequenza della sinusoide tra 0 e 0.5;
m = 0; // Valor medio del rumore bianco gausssiano
s = 0.1; // Deviazione del rumore bianco gaussiano

t = 0:N-1; // Genera il vettore dei tempi
x = grand(1,N,'nor',m,s); // Genera il rumore
y = A*sin(2*%pi*f*t)+x; // Segnale + rumore
plot(t,y);


Quanto ci ho messo a scriverlo? Meno di 5 min.

Re: Simulare un segnale immerso nel rumore

MessaggioInviato: 23 lug 2012, 20:42
da guzz
per te che sai come si fa ci vogliono 5 minuti.

per altri che hanno poco tempo per imparare (ho detto tempo, non voglia), magari digiuni di matlab, ci vuole qualche oretta, che appunto non hanno per poco tempo.



scusate ma quando si spara a zero sugli studenti mi girano...