MATLAB 백색 잡음

Ammar Ali 2023년1월30일
  1. MATLAB에서wgn()함수를 사용하여 백색 잡음 생성
  2. MATLAB에서awgn()함수를 사용하여 백색 잡음 생성
MATLAB 백색 잡음

이 튜토리얼에서는 MATLAB에서awgn()wgn()함수를 사용하여 백색 잡음을 생성하는 방법에 대해 설명합니다.

MATLAB에서wgn()함수를 사용하여 백색 잡음 생성

신호에 백색 잡음을 추가하려면 전압 단위로 백색 가우스 잡음 샘플을 생성하는wgn()함수를 사용할 수 있습니다. 이 함수의 첫 번째와 두 번째 인수는 백색 잡음의 mxn 행렬이고 세 번째 인수는 잡음의 전력이고 세 번째 인수는 옴 단위의 부하 임피던스입니다. 예를 들어 부하 전력이 -20dbW 인 백색 가우스 잡음의 101x1 행렬을 생성하여 사인파에 추가해 보겠습니다. 아래 코드를 참조하십시오.

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

출력:

MATLAB에서 wgn 함수를 사용한 백색 잡음

위 코드에서 우리는 백색 잡음을 생성하여 사인파에 추가했으며 그 결과는 위 그림과 같습니다. 백색 잡음 샘플의 수는 잡음이 추가 된 신호의 샘플 수와 같아야합니다. 그렇지 않으면 오류가 발생합니다. dbW의 전력을 변경하여 노이즈의 강도를 변경할 수 있습니다. wgn()함수에 대한 자세한 내용은이 링크를 확인하십시오.

MATLAB에서awgn()함수를 사용하여 백색 잡음 생성

신호에 백색 잡음을 추가하려면 입력 신호에 백색 가우스 잡음을 추가하는awgn()함수를 사용할 수 있습니다. 이 함수의 첫 번째 인수는 입력 신호이고 두 번째 인수는 신호 대 잡음비이며 세 번째 인수는 입력 신호 전력입니다. 예를 들어, 신호 대 잡음비가 2이고 신호 전력이 -2dbW 인 백색 잡음을 사인파에 추가해 보겠습니다. 아래 코드를 참조하십시오.

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

출력:

MATLAB에서 awgn 함수를 사용한 백색 잡음

위의 코드에서 사인파에 백색 잡음을 추가했고 그 결과는 위 그림과 같습니다. dbW의 전력과 신호 대 잡음비를 변경하여 잡음의 강도를 변경할 수 있습니다. awgn()함수에 대한 자세한 내용은이 링크를 확인하십시오.

작가: 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