Ruído Branco MATLAB

Ammar Ali 30 janeiro 2023
  1. Gere o ruído branco usando a função wgn() no MATLAB
  2. Gere o ruído branco usando a função awgn() no MATLAB
Ruído Branco MATLAB

Este tutorial irá discutir como gerar o ruído branco usando as funções awgn() e wgn() no MATLAB.

Gere o ruído branco usando a função wgn() no MATLAB

Se você quiser adicionar ruído branco ao seu sinal, pode usar a função wgn(), que gera as amostras de ruído gaussiano branco em volts. O primeiro e o segundo argumento desta função é a matriz m-por-n do ruído branco, e o terceiro argumento é a potência do ruído, e o terceiro argumento é a impedância da carga em ohms e assim por diante. Por exemplo, vamos gerar um array 101 por 1 de ruído gaussiano branco com uma potência de carga de -20 dbW e adicioná-la a uma onda senoidal. Veja o código abaixo.

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

Resultado:

White Noise usando a função wgn no matlab

No código acima, geramos ruído branco e o adicionamos a uma onda senoidal, e o resultado é mostrado na figura acima. Observe que o número de amostras de ruído branco deve ser igual ao número de amostras do sinal em que o ruído é adicionado; caso contrário, ocorrerá um erro. Você pode alterar a intensidade do ruído alterando a potência em dbW. Verifique este link para mais detalhes sobre a função wgn().

Gere o ruído branco usando a função awgn() no MATLAB

Se você quiser adicionar ruído branco ao seu sinal, pode usar a função awgn(), que adiciona o ruído gaussiano branco ao sinal de entrada. O primeiro argumento desta função é o sinal de entrada, o segundo argumento é a relação sinal-ruído e o terceiro argumento é a potência do sinal de entrada e assim por diante. Por exemplo, vamos adicionar ruído branco com relação sinal-ruído de 2 e potência do sinal de -2 dbW a uma onda senoidal. Veja o código abaixo.

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

Resultado:

Ruído branco usando a função awgn no matlab

No código acima, adicionamos o ruído branco a uma onda senoidal, e o resultado é mostrado na figura acima. Você pode alterar a intensidade do ruído alterando a potência em dbW e a relação sinal-ruído. Verifique este link para mais detalhes sobre a função 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