Utilizzare le funzioni whiten, gaussn e onefn per simulare rispettivamente i rumori bianco, gaussiano e 1/f.
Rumore bianco
La funzione whiten simula il rumore prodotto da N sorgenti indipendenti, ognuna delle quali ha un output casuale che segue una distribuzione uniforme compresa tra -0.5 e 0.5.
1. Utilizzare la whiten funzione per valutare la funzione di rumore bianco per sei sorgenti di rumore indipendenti.
La valutazione ripetuta della funzione whiten produce un insieme diverso di elementi dei vettori.
2. Considerare un vettore di output più grande.
3. Tracciare il grafico della funzione relativa al rumore bianco.
4. Utilizzare le funzioni mean e stdev per calcolare la media e la deviazione standard del vettore di rumore bianco.
5. Mostrare il valore teorico della media, quindi utilizzare la funzione var per calcolare la deviazione standard.
Il grafico mostra che il segnale wn ha una media teorica pari a 0.
La deviazione standard è la radice quadrata della varianza.
6. Confrontare i valori della deviazione media e di quella standard calcolati con i relativi valori teorici e verificare che non vi sia una deviazione significativa tra di essi.
Rumore gaussiano
La funzione gaussn simula un numero x di sorgenti di rumore indipendenti, ognuna delle quali segue una distribuzione di probabilità gaussiana con deviazione media 0 e deviazione standard 1.
1. Valutare la funzione gaussian relativa al rumore per sei sorgenti di rumore indipendenti.
Gli elementi del vettore possono essere costituiti teoricamente da qualsiasi valore reale, ma sono in genere compresi tra -3 e +3. È possibile verificare quanto sopra premendo F5 per ricalcolare la funzione.
2. Tracciare il grafico di una sequenza campione gaussiana.
3. Preparare i dati gaussiani per un istogramma a campana raggruppando i valori in 20 barre larghe 0.05.
4. Definire il vettore che contiene i bordi delle barre e impostare il limite destro.
5. Utilizzare la funzione hist per creare l'istogramma, quindi tracciarne il grafico come grafico a barre.
6. Confrontare la deviazione media e quella standard del campione con i valori previsti di 0 e 1.
Rumore 1/f
La funzione onefn calcola un'approssimazione del rumore 1/f utilizzando una routine basata su un algoritmo sviluppato da Richard Voss (vedere l'articolo di Martin Gardner in Scientific American di aprile 1978).
1. Utilizzare la funzione onefn per generare un vettore 1/f di 1000 punti.
2. Regolare a una media 0.
3. Tracciare il grafico dei dati del vettore.
Il rumore 1/f è tipico di numerosi fenomeni naturali e di provenienza umana, ad esempio musica, segnali cerebrali, fenomeni atmosferici, movimenti del mercato azionario e altri sistemi gerarchici che prevedono un'interazione. Se ad esempio si dovessero digitalizzare campioni di musica di stili diversi (rock, jazz, classica), si noterebbe che i relativi spettri di potenza hanno una distribuzione molto vicina al rumore 1/f.
4. Utilizzare la funzione lcorr per confrontare la struttura statistica di questo rumore con il rumore bianco generato in precedenza calcolandone le autocorrelazioni.
A differenza del rumore bianco, il rumore generato da onefn è correlato e la correlazione decade man mano che aumenta il lag.
Confronto di segnali di rumore tramite spettri di potenza
Un altro metodo per analizzare le differenze tra il rumore bianco e il rumore 1/f consiste nel confrontare i relativi spettri di potenza.
1. Si presuppongano 50 barre di gruppi di frequenza di 20.
2. Utilizzare le funzioni mag e dft per calcolare la grandezza al quadrato degli spettri di frequenza per ogni segnale.
3. Eseguire lo smoothing del risultato calcolando la media dei gruppi di frequenza.
4. Tracciare il grafico dello spettro del rumore bianco.
Come previsto, lo spettro del rumore bianco è essenzialmente piatto. Lo spettro di grandezza dell'approssimazione 1/f diminuisce rapidamente con l'aumentare della frequenza.
5. Utilizzare la funzione log per calcolare il log più informativo della grandezza.
Esperimento
Come esperimento, provare a costruire uno spettro di potenza 1/f con fasi causali e utilizzare la trasformata inversa per ottenere il vettore di rumore.
1. Definire la larghezza dello spettro.
2. Utilizzare la funzione exp per costruire la prima metà della trasformata. Uno spettro di potenza 1/f corrisponde a uno spettro di grandezza 1/sqrt(f).
3. Calcolare la seconda metà della trasformata. Per un segnale reale, la seconda metà è simmetrica coniugata intorno al punto medio.
4. Impostare la media del rumore su zero.
5. Utilizzare la funzione idft per ottenere la trasformata inversa di Fourier (trasformata nel dominio del tempo).
6. Tracciare il grafico dei valori reali della trasformata inversa.
7. Utilizzare la funzione lcorr per calcolare la curva di autocorrelazione.
Il comportamento dell'autocorrelazione è simile per l'output generato da onefn, con una correlazione di 1.0 a 0 e gradi di correlazione variabili in altri punti.