Wireless Communications

딥러닝 기반 통신 채널 추정-1 (CNN)

은최 2025. 4. 30. 16:03

딥러닝 채널 추정이란?

 
지난 포스팅에선 전통적인 채널 추정 방식인 LS (Least Squares), MMSE (Minimum Mean Square Error)에 대해 정리해봤다. 이번 포스팅에선 이 둘에 이어 딥러닝으로 채널을 추정하는 방식을 정리해보려 한다.
 
딥러닝을 사용하여 채널의 복잡한 비선형성, 동적 환경에 대한 패턴을 파악할 수 있다. CNN은 지역적 패턴(신호의 공간적 특성)을 잡는데 강하기에 CNN 모델을 시뮬레이션용으로 선정한다. 
 
딥러닝 모델은 수신신호 \( \mathbf{y} \)를 입력으로 받는다. 수신 신호의 왜곡된 정보를 보고 "이렇게 왜곡됐으면 아마 채널은 이렇게 생겼겠네" 와 같이 채널을 예측한다.
 
$$
\hat{h} = f(y)
$$
 
수많은 데이터를 통해 다양한 채널과 노이즈 상황을 학습하면 딥러닝 모델은 수신신호 \( \mathbf{y} \)와 실제 채널 \( h \) 사이의 복잡한 관계를 학습하게 된다. 
 


 

Auto Encoder와 딥러닝 채널 추정의 차이?

 
딥러닝 채널 추정에 대한 이론 정리 중 Auto Encoder와 개념이 헷갈려 이에 대해 정리해보았다. 이 두 방식은 얼핏 비슷해 보이지만 최적화 하려는 그 대상이 다르다. 딥러닝 채널 추정은 채널의 복원도를, Auto Encoder는 통신 시스템 전체를 대상으로 한다. 
 
Auto Encoder에 대한 포스팅

 

[Auto Encoder로 통신 시스템 설계하기]

▶ 개요 Auto encoder는 입력 데이터를 압축하고 복원하는 데 주로 사용되는 딥러닝 구조이다. 이를 통신시스템 설계에 이용하면 여러 장점을 얻을 수 있다. 이번엔 Auto Encoder를 기반으로 통신 시스

chateun.tistory.com

 
 
 
딥러닝 기반 채널 추정

  • 실제 물리적 채널 (예: Rayleigh Fading, AWGN 등)이 정해져 있고 이는 바꿀 수 없다. 
  • 우리의 목표는 이 실제 채널 \( h \)를 관측된 신호 \( \mathbf{y} \)로부터 추정하는 것이다

 
송신기 → [물리 채널 \( h \)] → 수신기
 
수신기는 신호를 보고 \( h \)를 추정한다. 
 

Autoencoder 기반 통신 채널

  • 송신기(Encoder)와 수신기(Decoder)를 End-to-End로 공동 최적화한다.
  • 채널은 모델 안에 포함돼 있다. 
  • 즉, 통신 시스템 전체(인코딩 방법, 디코딩 방법)가 "주어진 채널 특성에 맞게" 최적화된다.

 
Encoder (Tx) → [모델링된 채널 h\mathbf{h}h] → Decoder (Rx)
전체를 학습한다. 
 
 
요약

  • 채널 추정은 주어진 채널을 읽어내고, AE기반 통신은 채널 특성을 통해 송수신 시스템 전체를 최적화 한다. 
  • 두 방식은 '문제를 푸는 대상'이 다르다. 
비교 항목 AI 채널 추정 Autoencoder 기반 통신
채널 조작 불가능 (주어진 환경) 가능 (시뮬레이션 채널 포함)
학습 목표 채널 상태 \( h \)복원 송신/수신 방법을 최적화
최적화 대상 채널 복원 정확도 통신 시스템 전체(인코딩, 디코딩)
입력/출력 수신 신호 추정 채널 값 원래 정보  복원 정보
 

1. 데이터셋 만들기

  • QPSK 심볼 생성
  • Rayleigh 채널 통과, 
  • AWGN 잡음 추가
  • 입력으로 수신신호 \( \mathbf{y} \),실제 채널  \( h \) 만들기

 

2. CNN 모델 만들고 학습하기

  • 수신 신호를 입력으로 하여 추정 채널 \( \hat{\mathbf{h}} \) 출력
  • \( \mathbf{y} \)로부터 \( h \)를 복원하는 AI 모델 학습
  • 예측된 \( \hat{\mathbf{h}} \)와 실제 \( h \)를 비교하며 Loss(MSE) 줄이기

$$
\mathcal{L} = \mathbb{E} \left[ \| \mathbf{h} - \hat{\mathbf{h}} \|^2 \right]
$$
 

3. 결과 시각화

  • 실제 채널 \( h \)  vs 추정 채널 \( \mathbf{y} \) 비교 플롯

 
학습을 진행했으나, Epoch에 따라 Loss가 감소하지 않아 학습이 잘 되지 않았다. 또한 시각화 결과, 예측 채널의 평균은 0 근처에 나타났으며 실제 채널의 상태를 잘 반영하지 못했다. 
 

 


 

마무리

 
이번 포스팅에선 CNN모델을 통한 채널 추정에 대해 배웠다. 그러나 시뮬레이션 결과 채널 추정이 올바르게 이루어지지 않았다. 다음 포스팅에선 시간 흐름 전체의 의존성(long-term dependency)을 반영하는 LSTM 모델을 사용하거나 다른 언어 Matlab을 통해 채널 추정을 기대하는 결과로 얻어보려 한다.