FFT 기반 노이즈 필터링 모델과 ML 기반 노이즈 필터링 모델의 효율 비교 (2)
(1)을 먼저 보고 이 글을 보는 것을 추천한다.
https://mharry345.tistory.com/8
FFT 기반 노이즈 필터링 모델과 ML 기반 노이즈 필터링 모델의 효율 비교 (1)
우리가 통신을 하다 보면 주변 잡음이 함께 전달되고 더러운 신호를 받는다.이러한 잡음은 가우시안 분포(Gaussian Distribution)을 따르는 노이즈이며, 가우시안 분포는 흔히 말하는 정규분포 (Normal D
mharry345.tistory.com
통신을 할 때에는 BPSK, QPSK, QAM 등 다양한 데이터 변조 방법을 사용한다.
결국 컴퓨터에게 0 또는 1의 신호를 Sequence로 주면 전체 데이터를 표현할 수 있다.
무선통신을 할 때 0 또는 1을 주는 방법 중 나는 가장 간단한 방법인 이진 위상 편이 변조 방식 BPSK를 예로 들었다.
BPSK, 정말 간단하다.
캐리어 파 Carrier wave에서 하나의 주기마다 위상이 그대로이면 1 반대라면 0 을 의미한다.
그림으로 보면 바로 이해가 될 것이다.
위 그림처럼 기본 파동 carrier wave의 주기마다 위상 변화를 줘서 1 또는 0을 의미하도록 하였다.
아무런 의미가 없던 파동에 생기를 부여했다..!
자 이제 실제로 bit로 표현된 데이터를 가지고 modulated signal을 만들어보자.
하지만 마찬가지로 modulated signal을 송신자가 송신한다고 하더라도
저번 포스트에서 본 것처럼 외부 노이즈가 추가될 것이다.
이 모든 과정을 그림으로 표현하면 다음과 같다. (민트색 신호가 최종 수신자가 받는 신호)
이전 포스트 (1) 처럼 "전체 신호에 대해 푸리에변환 을 한 뒤에 역푸리에변환"을 하면
우리가 원하는 대로 노이즈가 사라지고 데이터가 잘 보존될까? 생각해 보자.
1) 푸리에변환의 원리를 잘 생각해보면, 위상이 엎치락뒤치락하는 파동의 경우 서로 상쇄가 되어 제대로 그 진동수가 찾아지지 않는다는 것을 알 수 있다.
2) 또한 역푸리에 변환을 하게 되면 원래 존재했던 data 정보 (100bit의 정보)가 완전히 사라질 것이라고 예측할 수 있다.
내가 예상한 대로 아무런 의미가 없는 주황색 파동이 결과로 나온다는 것을 확인할 수 있다.
따라서 나는 "전체 파동에 대한 푸리에변환"이 아니라, "한 주기마다의 푸리에변환"을
다시 말해 "한 비트 마다의 푸리에변환"을 통해 노이즈를 제거하는 방법을 선택해야 한다고 판단했다.
위의 아이디어로 노이즈를 제거할 수 있는 "푸리에변환 기반 노이즈 필터링 모델"을 만들 수 있었다.
다음 포스트에서는 기계학습 기반 노이즈 필터링 모델을 소개하고
지금까지 소개한 두 모델의 효율 및 오차를 비교해 보겠다.
반론이나 질문은 환영입니다.
그리고 특히 이번 주제의 글은 파이썬 소스코드를 제공합니다.