Ruido blanco de MATLAB

Ammar Ali 30 enero 2023
  1. Genere el ruido blanco usando la función wgn() en MATLAB
  2. Genere el ruido blanco usando la función awgn() en MATLAB
Ruido blanco de MATLAB

Este tutorial discutirá cómo generar el ruido blanco usando las funciones awgn() y wgn() en MATLAB.

Genere el ruido blanco usando la función wgn() en MATLAB

Si desea agregar ruido blanco a su señal, puede usar la función wgn(), que genera las muestras de ruido blanco gaussiano en voltios. El primer y segundo argumento de esta función es el array m-por-n de ruido blanco, y el tercer argumento es la potencia del ruido, y el tercer argumento es la impedancia de la carga en ohmios y así sucesivamente. Por ejemplo, generemos un array de 101 por 1 de ruido gaussiano blanco con una potencia de carga de -20 dbW y agreguemosla a una onda sinusoidal. Vea el código a continuación.

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')

Producción:

Ruido blanco usando la función wgn en matlab

En el código anterior, generamos ruido blanco y lo agregamos a una onda sinusoidal, y el resultado se muestra en la figura anterior. Tenga en cuenta que el número de muestras de ruido blanco debe ser igual al número de muestras de la señal en la que se agrega el ruido; de lo contrario, habrá un error. Puede cambiar la intensidad del ruido cambiando la potencia en dbW. Consulte este enlace para obtener más detalles sobre la función wgn().

Genere el ruido blanco usando la función awgn() en MATLAB

Si desea agregar ruido blanco a su señal, puede usar la función awgn(), que agrega el ruido blanco gaussiano a la señal de entrada. El primer argumento de esta función es la señal de entrada, el segundo argumento es la relación señal / ruido, y el tercer argumento es la potencia de la señal de entrada, y así sucesivamente. Por ejemplo, agreguemos ruido blanco con una relación señal / ruido de 2 y una potencia de señal de -2 dbW a una onda sinusoidal. Vea el código a continuación.

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')

Producción:

Ruido blanco usando la función awgn en matlab

En el código anterior, agregamos el ruido blanco a una onda sinusoidal, y el resultado se muestra en la figura anterior. Puede cambiar la intensidad del ruido cambiando la potencia en dbW y la relación señal / ruido. Consulte este enlace para obtener más detalles sobre la función awgn().

Autor: 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