MATLAB rumore bianco

Ammar Ali 4 luglio 2021
  1. Genera il rumore bianco usando la funzione wgn() in MATLAB
  2. Genera il rumore bianco usando la funzione awgn() in MATLAB
MATLAB rumore bianco

Questo tutorial discuterà come generare il rumore bianco usando le funzioni awgn() e wgn() in MATLAB.

Genera il rumore bianco usando la funzione wgn() in MATLAB

Se vuoi aggiungere rumore bianco al tuo segnale, puoi usare la funzione wgn(), che genera i campioni di rumore gaussiano bianco in volt. Il primo e il secondo argomento di questa funzione sono la matrice m per n del rumore bianco e il terzo argomento è la potenza del rumore e il terzo argomento è l’impedenza del carico in ohm e così via. Ad esempio, generiamo una matrice 101 per 1 di rumore gaussiano bianco con una potenza di carico di -20 dbW e aggiungiamola a un’onda sinusoidale. Vedi il codice qui sotto.

t = 1:0.01:2;
x = sin(2*pi*t);
figure
plot(t,x)
w_noise = wgn(1,101,-20);
hold on
plot(t,(x+w_noise))
legend('Sine Wave','Sine Wave with Noise')

Produzione:

Rumore bianco utilizzando la funzione wgn in matlab

Nel codice sopra, abbiamo generato rumore bianco e l’abbiamo aggiunto a un’onda sinusoidale, e il risultato è mostrato nella figura sopra. Si noti che il numero di campioni di rumore bianco dovrebbe essere uguale al numero di campioni del segnale in cui viene aggiunto il rumore; altrimenti, ci sarà un errore. È possibile modificare l’intensità del rumore modificando la potenza in dbW. Controlla questo link per maggiori dettagli sulla funzione wgn().

Genera il rumore bianco usando la funzione awgn() in MATLAB

Se vuoi aggiungere rumore bianco al tuo segnale, puoi usare la funzione awgn(), che aggiunge il rumore gaussiano bianco al segnale in ingresso. Il primo argomento di questa funzione è il segnale di ingresso, il secondo argomento è il rapporto segnale/rumore e il terzo argomento è la potenza del segnale di ingresso e così via. Ad esempio, aggiungiamo rumore bianco con rapporto segnale/rumore di 2 e potenza del segnale di -2 dbW a un’onda sinusoidale. Vedi il codice qui sotto.

t = 1:0.01:2;
x = sin(2*pi*t);
figure
plot(t,x)
w_noise = awgn(x,2,-20);
hold on
plot(t,(x+w_noise))
legend('Sine Wave','Sine Wave with Noise')

Produzione:

Rumore bianco Utilizzo della funzione awgn in matlab

Nel codice sopra, abbiamo aggiunto il rumore bianco a un’onda sinusoidale e il risultato è mostrato nella figura sopra. È possibile modificare l’intensità del rumore modificando la potenza in dbW e il rapporto segnale/rumore. Controlla questo link per maggiori dettagli sulla funzione awgn().

Autore: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook