목차
- 개요
- 신경망 학습 원리
- 기존 복원 방식 vs CNN 방식
- 실험 데이터 구성
- CNN 모델 구성 (1D Conv 기반)
- 실험 결과
- 고찰
- 참고 자료 및 코드 링크
1. 개요
통신 채널은 항상 잡음에 노출되어 있다. 이에 따라 수신 신호가 잡음을 포함할 경우 단순한 복원으로는 한계가 있다. 이에 따라 딥러닝을 활용하여 잡음 섞인 신호를 얼마나 더 정확하게 복원할 수 있는지 실험을 통해 확인해보았다. 비교적 간단한 디지털 변조 방식인 BPSK를 통해 실험을 진행하였다. BPSK 신호에 잡음을 섞은 뒤, CNN을 활용해 이를 얼마나 정확하게 복원할 수 있는지 확인하였다. 또한 기존의 복원 방식과 복원 정확도를 비교해보았다.
2. 신경망 학습 원리

- 입력
- AWGN 잡음이 추가된 BPSK 신호 (예: [-0.8, +0.9, -1.2, +0.5, ...])
- 즉, AWGN 환경에서 왜곡된 신호
- 출력
- 원래 비트 값에 해당하는 값 (예: [-1, +1, -1, +1, ...])
- 또는 원래 비트 자체 ([1, 0, 1, 0, ...])
- 학습 과정
- CNN 신경망은 입력과 출력의 쌍을 통해 패턴을 학습한다.
- 노이즈가 낀 신호를 통해 기존의 신호를 추론한다.
3. 기존 복원 방식 vs CNN 방식
| 기존 방식 | 수신 신호 > 0 보다 크면 1, 0보다 작으면 -1 | 빠르고 단순하나 비교적 낮은 정확도 |
| CNN 방식 | 학습된 패턴 기반 예측 | 복원 정확도의 향상 |
CNN 방식은
“이전에 이런 패턴이 나오면 보통 이건 +1이었다”
와 같이 경험과 맥락을 기억하는 방식
CNN이란?
CNN (Convolutional Neural Netowrk)에 대한 이
📌 CNN이란? CNN은 위 그림과 같이 여러 계층을 포괄한 신경망이다. 크게 Feature Learning과 Classification의 두 부분으로 구성되어 있다. 입력 데이터는 이렇게 복잡한 계층을 통과하며 CNN이 패턴을 학
chateun.tistory.com
4. 실험 데이터 구성

bits = np.random.randint(0, 2, 2000) # 0과 1로 구성된 랜덤 시퀀스
bpsk = 2 * bits - 1 # BPSK: 0 → -1, 1 → +1
rx = add_awgn_noise(bpsk, snr_db=0) # 생성된 bpsk 신호에 잡음 섞기
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) #test 20%, 80% train
- SNR 0dB 환경에서 실험
- 80% 학습용 / 20% 테스트용 분할
5. CNN 모델 구성 (1D Conv 기반)
class CNN1D(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv1d(1, 16, kernel_size=3, padding=1)
self.relu = nn.ReLU()
self.fc1 = nn.Linear(16, 1)
def forward(self, x):
x = x.unsqueeze(1) # [B, 1, L] ← 채널 차원 추가 (CNN 입력 형식)
x = self.conv1(x) # 합성곱 수행 → [B, 16, L]
x = self.relu(x) # 활성화 함수 통과
x = x.mean(dim=2) # Global Average Pooling → [B, 16]
return self.fc1(x) # 출력층 → [B, 1]
- MSELoss 사용, Adam optimizer (lr=0.001)
- 학습 epoch: 500 (overfit되지 않는 선에서 증가시켜 선정)
6. 실험 결과

위 그림과 같이 -1, 1의 기존 신호와 근접한 소수점의 숫자로 CNN 모델이 예측하는 것을 확인할 수 있다.

Test Accuracy: 93.00% (SNR 0dB)
7. 마무리
기존의 복원 방식과는 다른 패턴 인식 복원 방식에 대해 학습해볼 수 있었다. 이러한 간단한 복원 방식을 토대로 더욱 복잡한 복원 방식에 대한 이해를 갖는 기반이 될 수 있을 것이다. 다양한 통신 환경, 신경망의 상황에 따른 적합도에 대한 연구가 진행된다면 더욱 높은 정확도를 얻게 될 수 있을 것으로 생각된다. 또한 기존의 방식과의 비교를 추가 실험으로 생각해볼 수 있다. CNN이외의 다른 복원방식 또한 생각해볼 수 있다. CNN에 대한 추가 학습 이후 이미지에 적합한 이것이 BPSK복원에 적합한 것인가 하는 의문이 든다.
8. 참고 자료 및 코드 링크
- 전체 실습 Colab 링크: https://colab.research.google.com/drive/1YtHFCgfvKsfhAABfm6TbbWavDqcYHM0U?usp=sharing
BPSK
BPSK Binary Phase Shift Keying 2진 PSK, 이진 위상천이변조(2022-07-17) 1. BPSK (Binary Phase Shift Keying) ㅇ 디지털 신호(0,1)에 따라, 위상이 180˚(0,π) 다른, 두 정현파로, 위상편이변조하는 방식 - 정보 신호에
www.ktword.co.kr
CNN (Convolutional Neural Netowrk)에 대한 이
📌 CNN이란? CNN은 위 그림과 같이 여러 계층을 포괄한 신경망이다. 크게 Feature Learning과 Classification의 두 부분으로 구성되어 있다. 입력 데이터는 이렇게 복잡한 계층을 통과하며 CNN이 패턴을 학
chateun.tistory.com
'Wireless Communications' 카테고리의 다른 글
| 통신 채널 추정 방식 - MMSE (0) | 2025.04.28 |
|---|---|
| 통신 채널 추정 방식 - LS (0) | 2025.04.25 |
| Auto Encoder 성능평가 실습 (0) | 2025.04.24 |
| Auto Encoder로 통신 시스템 설계하기 (0) | 2025.04.23 |
| Rayleigh Fading 알아보기 (0) | 2025.04.23 |