코스 개요
본 과정의 성과
본 과정을 완료한 후, 학생들은 통신 공학 분야에서 현재 연구 중인 수많은 미해결 문제를 다룰 수 있어야 하며, 최소한 다음과 같은 기술들을 습득해야 합니다:
- 통신 공학 문헌에서 빈번하게 등장하는 복잡한 수식 표현을 매핑하고 조작하는 기술
- MATLAB의 프로그래밍 기능을 활용하여 다른 논문들의 시뮬레이션 결과를 재현하거나 적어도 해당 결과에 근접할 수 있는 능력
- 자체적으로 제안한 아이디어에 대한 시뮬레이션 모델 생성
- 획득한 시뮬레이션 기술을 MATLAB의 강력한 기능과 결합하여, 코드 실행 시간을 최적화하고 메모리 공간을 절약하면서 최적화된 MATLAB 코드를 설계하는 능력
- 주어진 통신 시스템의 주요 시뮬레이션 파라미터를 식별하고, 시스템 모델에서 이를 추출한 후, 해당 파라미터가 시스템 성능에 미치는 영향을 연구하는 기술
과정 구성
본 과정에 제공되는 자료는 상호 긴밀한 관련성을 지닙니다. 습득한 지식의 연속성을 보장하기 위해, 특정 레벨에 참여하기 전에 이전 레벨을 수강하고 깊이 이해하는 것이 권장됩니다. 본 과정은 MATLAB 프로그래밍 입문부터 완전한 시스템 시뮬레이션 수준에 이르기까지 세 가지 레벨로 구성되어 있습니다.
MATLAB을 활용한 통신 수학
세션 01-06
이 부분을 완료한 후, 학생들은 복잡한 수식 표현을 평가하고, 시간 및 주파수 영역 플롯, BER 플롯, 안테나 방사 패턴 등 다양한 데이터 표현을 위한 적절한 그래프를 쉽게 구성할 수 있게 됩니다.
기본 개념
- 시뮬레이션의 개념
- 통신 공학에서 시뮬레이션의 중요성
- 시뮬레이션 환경으로서의 MATLAB
- 통신 수학에서 스칼라 신호의 행렬과 벡터 표현에 대하여
- MATLAB에서의 복소 베이스밴드 신호의 행렬 및 벡터 표현
MATLAB 데스크톱
- 도구 모음(Tool bar)
- 명령 창(Command window)
- 작업 공간(Work space)
- 명령어 히스토리(Command history)
변수, 벡터 및 행렬 선언
- MATLAB의 미리 정의된 상수
- 사용자 정의 변수
- 배열, 벡터 및 행렬
- 수동 행렬 입력
- 구간 정의
- 선형 공간(Linear space)
- 대수 공간(Logarithmic space)
- 변수 명명 규칙
특수 행렬
- 일(1) 행렬(The ones matrix)
- 영(0) 행렬(The zeros matrix)
- 단일 행렬(The identity matrix)
요소별 및 행렬별 조작
- 특정 요소 접근
- 요소 수정
- 선택적 요소 제거(행렬 절단)
- 요소, 벡터 또는 행렬 추가(행렬 연결)
- 벡터 또는 행렬 내 요소의 인덱스 찾기
- 행렬 재구성(Reshaping)
- 행렬 절단(Truncation)
- 행렬 연결(Concatenation)
- 좌측-우측 및 우측-좌측 플리핑(Flipping)
단항 행렬 연산자
- 합(Sum) 연산자
- 기대값(Expectation) 연산자
- 최소값(Min) 연산자
- 최대값(Max) 연산자
- トレ이스(Trace) 연산자
- 행렬 행렬식 |.|
- 행렬 역행렬(Inverse)
- 행렬 전치(Transpose)
- 행렬 허미티안(Hermitian)
이항 행렬 연산
- 산술 연산
- 관계 연산
- 논리 연산
MATLAB에서의 복소수
- 패스밴드 신호의 복소 베이스밴드 표현 및 RF 업컨버전: 수학적 복습
- 복소 변수, 벡터 및 행렬 형성
- 복소 지수(Complex exponentials)
- 실수부 연산자
- 허수부 연산자
- 켤레 연산자 (Conjugate operator) (.)*
- 절댓값 연산자 |.|
- 인수 또는 위상 연산자(Argument or phase operator)
MATLAB 내장 함수
- 벡터의 벡터 및 행렬의 행렬
- 제곱근 함수
- 부호(Sign) 함수
- 정수 반올림(Round to integer) 함수
- 아래 정수 근사(Nearest lower integer) 함수
- 위 정수 근사(Nearest upper integer) 함수
- 팩토리얼 함수
- 로그 함수 (exp, ln, log10, log2)
- 삼각 함수
- 쌍곡선 함수
- Q(.) 함수
- erfc(.) 함수
- 베셀 함수 Jo (.)
- 감마(Gamma) 함수
- Diff, mod 명령어
MATLAB에서의 다항식
- MATLAB에서의 다항식
- 유리 함수(Rational functions)
- 다항식 미분
- 다항식 적분
- 다항식 곱셈
선형 스케일 플롯
- 연속 시간-연속 진폭 신호의 시각적 표현
- 계단 함수로 근사된 신호의 시각적 표현
- 이산 시간 – 이산 진폭 신호의 시각적 표현
대수 스케일 플롯
- dB-데케이드 플롯 (BER)
- 데케이드-dB 플롯 (보드 플롯, 주파수 응답, 신호 스펙트럼)
- 데케이드-데케이드 플롯
- dB-선형 플롯
2차원 극좌표 플롯
- (평면 안테나 방사 패턴)
3차원 플롯
- 3차원 방사 패턴
- 직교 좌표 매개변수 플롯
선택 섹션 (학습자의 요구에 따라 제공)
- MATLAB에서의 심볼릭 미분 및 수치 미분
- MATLAB에서의 심볼릭 및 수치 적분
- MATLAB 도움말 및 문서
MATLAB 파일
- MATLAB 스크립트 파일
- MATLAB 함수 파일
- MATLAB 데이터 파일
- 로컬 및 전역 변수
MATLAB에서의 루프, 조건 흐름 제어 및 의사 결정
- for-end 루프
- while-end 루프
- if-end 조건문
- if-else-end 조건문
- switch-case-end 문장
- 반복, 수렴 오차, 다차원 합 연산자
입력 및 출력 디스플레이 명령어
- input(' ') 명령어
- disp 명령어
- fprintf 명령어
- 메시지 박스 msgbox
신호 및 시스템 연산
세션 07-14
이 부분의 주요 목표는 다음과 같습니다
- 다양한 통신 시스템의 성능을 테스트하는 데 필요한 랜덤 테스트 신호 생성
- 인코더, 랜덤라이저, 인터리버, 스프레딩 코드 생성기 등 수신 단말에서 그 대응 장치까지 단일 통신 처리 기능(예: 발신기에서)을 구현하기 위해 여러 원소 신호 연산을 통합
- 통신 기능을 달성하기 위해 이러한 블록들을 적절히 상호 연결
- 결정론적, 통계적 및 반 랜덤 인도어/아웃도어 협대역 채널 모델의 시뮬레이션
통신 테스트 신호 생성
- 랜덤 이진 시퀀스 생성
- 랜덤 정수 시퀀스 생성
- 텍스트 파일 가져오기 및 읽기
- 오디오 파일 읽기 및 재생
- 이미지 가져오기 및 내보내기
- 3차원 행렬로서의 이미지
- RGB에서 회색 계조로 변환
- 2차원 회색 계조 이미지의 직렬 비트 스트림
- 이미지 신호의 서브 프레임링 및 재구성
신호 조종 및 조작
- 진폭 스케일링 (이득, 감쇠, 진폭 정규화 등)
- DC 레벨 시프트
- 시간 스케일링 (시간 압축, 이완)
- 시간 시프트 (시간 지연, 시간 앞당김, 좌/우 순환 시간 시프트)
- 신호 에너지 측정
- 에너지 및 전력 정규화
- 에너지 및 전력 스케일링
- 직렬-병렬 및 병렬-직렬 변환
- 다중화 및 역다중화
아날로그 신호의 디지타이징
- MATLAB에서 연속 시간 베이스밴드 신호의 시간 영역 샘플링
- 아날로그 신호의 진폭 양자화
- 양자화된 아날로그 신호의 PCM 부호화
- 10진수-2진수 및 2진수-10진수 변환
- 펄스 성형(Pulse shaping)
- 적절한 펄스 폭 계산
- 펄스당 샘플 수 선택
- conv 및 filter 명령어를 이용한 컨벌루션(연산)
- 시간 제한 신호의 자기상관 및 교차상관
- 고속 푸리에 변환(FFT) 및 역FFT(IFFT) 연산
- 베이스밴드 신호 스펙트럼 확인
- 샘플링 레이트의 효과 및 적절한 주파수 윈도우
- 컨벌루션, 상관관계 및 FFT 연산 간의 관계
- 주파수 영역 필터링, 저역통과 필터링만 포함
보조 통신 함수
- 랜덤라이저 및 역랜덤라이저
- 펑크레이저(Puncturers) 및 역펑크레이저(De-puncturers)
- 인코더 및 디코더
- 인터리버 및 역인터리버
모듈레이터 및 디모듈레이터
- MATLAB에서의 디지털 베이스밴드 변조 방식
- 디지털 변조 신호의 시각적 표현
채널 모델링 및 시뮬레이션
- 송신 신호에 대한 채널 효과의 수학적 모델링
- 加法 - additive white Gaussian noise (AWGN) 채널
- 시간 영역 곱셈 - slow fading channels, vehicular channels에서의 도플러 시프트
- 주파수 영역 곱셈 - frequency selective fading channels
- 시간 영역 컨벌루션 - 채널 임펄스 응답
결정론적 채널 모델 예시
- 자유 공간 경로 손실 및 환경 의존 경로 손실
- 주기적 차단 채널(Periodic Blockage Channels)
공통 정적 및 준정적 멀티패스 페이딩 채널의 통계적 특성화
- 균등 분포 난수(RV) 생성
- 실수값 가우시안 분포 난수(RV) 생성
- 복소 가우시안 분포 난수(RV) 생성
- 레일리 분포 난수(RV) 생성
- 라이스 분포 난수(RV) 생성
- 로그 정규 분포 난수(RV) 생성
- 임의 분포 난수(RV) 생성
- 히스토그램을 이용한 RV의 미지 확률 밀도 함수(PDF) 근사
- RV의 누적 분포 함수(CDF) 수치 계산
- 실수 및 복소 가우시안 백색 잡음(AWGN) 채널
전력 지연 프로파일(PDP)을 통한 채널 특성화
- 전력 지연 프로파일을 통한 채널 특성화
- PDP의 전력 정규화
- PDP로부터 채널 임펄스 응답 추출
- 임의 샘플링 레이트, 불일치 샘플링 및 지연을 통한 채널 임펄스 응답 샘플링
- 양자화
- 협대역 채널의 채널 임펄스 응답 불일치 샘플링 문제
- 임의 샘플링 레이트 및 분수 지연 보상을 통한 PDP 샘플링
- 여러 IEEE 표준화된 인도어 및 아웃도어 채널 모델 구현
- (COST – SUI - 초광대역 채널 모델 등)
실제 통신 시스템의 링크 레벨 시뮬레이션
세션 15-24
본 과정의 이 부분은 연구 학생들에게 가장 중요한 이슈, 즉 시뮬레이션을 통해 다른 출판 논문의 시뮬레이션 결과를 어떻게 재현하는지에 대해 다룹니다.
베이스밴드 디지털 변조 방식의 비트 오류율(BER) 성능
- AWGN 채널에서 다양한 베이스밴드 디지털 변조 방식의 성능 비교 (이론적 식을 검증하기 위한 시뮬레이션을 통한 종합 비교 연구); 산란 플롯, 비트 오류율
- 다양한 정적 및 준정적 페이딩 채널에서 다양한 베이스밴드 디지털 변조 방식의 성능 비교; 산란 플롯, 비트 오류율 (이론적 식을 검증하기 위한 시뮬레이션을 통한 종합 비교 연구)
- 도플러 시프트 채널이 베이스밴드 디지털 변조 방식의 성능에 미치는 영향; 산란 플롯, 비트 오류율
- 헬리콥터-위성 통신
- 논문 (1): 항공 이동 위성 서비스(AMSS)를 위한 저비용 실시간 음성 및 데이터 시스템 – 문제 제기 및 분석
- 논문 (2): 헬리콥터 위성 통신을 위한 정확한 AFC를 통한 사전 검측 시간 다중화 결합 – 최초 제안된 솔루션
- 논문 (3): 헬리콥터-위성 통신을 위한 적응형 변조 방식 – 성능 개선 접근법
확산 주파수(Spread Spectrum) 시스템 시뮬레이션
- 확산 주파수 기반 시스템의 전형적인 아키텍처
- 직렬 확산(Sequence) 확산 주파수 기반 시스템
- 준난수 이진 시퀀스(PBRS) 생성기
- 최대 길이 시퀀스 생성
- 골드 코드(Gold codes) 생성
- 월시 코드(Walsh codes) 생성
- 시간 호핑 확산 주파수 기반 시스템
- AWGN 채널에서 확산 주파수 기반 시스템의 비트 오류율 성능
- 코딩 레이트 r이 BER 성능에 미치는 영향
- 코드 길이가 BER 성능에 미치는 영향
- 제로 도플러 시프트를 가진 멀티패스 슬로 레일리 페이딩 채널에서 확산 주파수 기반 시스템의 비트 오류율 성능
- 고이동 페이딩 환경에서 확산 주파수 기반 시스템의 비트 오류율 성능 분석
- 멀티유저 간섭이 존재하는 환경에서 확산 주파수 기반 시스템의 비트 오류율 성능 분석
- 확산 주파수 시스템을 통한 RGB 이미지 전송
- 광 CDMA(OCDMA) 시스템
- 광 직교 코드(OOC)
- OCDMA 시스템의 성능 한계; 동기식 및 비동기식 OCDMA 시스템의 비트 오류율 성능
초광대역(UWB) SS 시스템
OFDM 기반 시스템
- 고속 푸리에 변환(FFT)을 이용한 OFDM 시스템 구현
- OFDM 기반 시스템의 전형적인 아키텍처
- AWGN 채널에서 OFDM 시스템의 비트 오류율 성능
- 코딩 레이트 r이 BER 성능에 미치는 영향
- 사이클릭 프리픽스가 BER 성능에 미치는 영향
- FFT 크기 및 서브캐리어 간격이 BER 성능에 미치는 영향
- 제로 도플러 시프트를 가진 멀티패스 슬로 레일리 페이딩 채널에서 OFDM 시스템의 비트 오류율 성능
- CFO(캐리어 주파수 오프셋)가 있는 멀티패스 슬로 레일리 페이딩 채널에서 OFDM 시스템의 비트 오류율 성능
- OFDM 시스템의 채널 추정
- OFDM 시스템의 주파수 영역 동등화(Equalization)
- 제로 포싱 이퀼라이저(Zero Forcing Equalizer)
- MMSE 이퀼라이저
- OFDM 기반 시스템의 기타 일반적인 성능 지표 (크레스트 팩터, 캐리어 대 간섭비 등)
- 고이동 페이딩 환경에서 OFDM 기반 시스템의 성능 분석 (세 편의 논리로 구성된 시뮬레이션 프로젝트)
- 논문 (1): 캐리어 간 간섭(Icc) 완화
- 논문 (2): MIMO-OFDM 시스템
MATLAB 시뮬레이션 프로젝트 최적화
이 부분의 목적은 전체 시뮬레이션 프로세스를 단순화하고 조직화하기 위해 MATLAB 시뮬레이션 프로젝트를 구축하고 최적화하는 방법을 배우는 것입니다. 또한 제한된 저장 시스템에서 발생하는 메모리 오버플로우 문제나 느린 처리로 인한 긴 실행 시간을 피하기 위해 메모리 공간과 처리 속도도 고려합니다.
- 소규모 시뮬레이션 프로젝트의 전형적인 구조
- 시뮬레이션 파라미터 추출 및 이론에서 시뮬레이션으로의 매핑
- 시뮬레이션 프로젝트 구축
- 몬테카를로 시뮬레이션 기법
- 시뮬레이션 프로젝트 테스트의 전형적인 절차
- 메모리 공간 관리 및 시뮬레이션 시간 단축 기법
- 베이스밴드 대 패스밴드 시뮬레이션
- 절단된 임의 펄스 성형에 대한 적절한 펄스 폭 계산
- 심볼당 적절한 샘플 수 계산
- 시스템 테스트에 필요한 최소 및 충분한 비트 수 계산
GUI 프로그래밍
디버그가 없고 정확한 결과를 산출하기 위해 제대로 작동하는 MATLAB 코드를 갖는 것은 큰 성취입니다. 그러나, 시뮬레이션 프로젝트에서 핵심 파라미터 세트가 ...를 제어합니다. 이러한 이유와 기타 이유로, 명령어로 가득한 긴 소스 코드를 파고들기보다 시뮬레이션 프로젝트의 다양한 부분에 대한 제어를 손쉽게 다룰 수 있도록 "그래픽 사용자 인터페이스(GUI) 프로그래밍"에 대한 추가 강의가 제공됩니다. 또한, MATLAB 코드를 GUI로 감싸면 다중 결과를 하나의 마스터 윈도우에서 조합하여 제시하는 것을 용이하게 하고 데이터를 비교하기 쉽게 만들어 줍니다.
- MATLAB GUI란 무엇인가
- MATLAB GUI 함수 파일의 구조
- 주요 GUI 구성 요소 (중요 속성 및 값)
- 로컬 및 전역 변수
참고: 이 과정의 각 레벨에서 다루는 주제는 각 레벨에 명시된 것으로 한정되지 않으며, 학습자의 필요 및 연구 관심사에 따라 각 특정 강의의 항목은 변경될 수 있습니다.
요건
본 과정에 내재된 방대한 지식을 습득하려면, 수강생은 공통 프로그래밍 언어와 기법에 대한 일반적인 배경 지식을 갖추어야 합니다. 통신 공학 관련 학부 수준 심화 과정의 깊은 이해가 강력히 권장됩니다.
회원 평가 (2)
처음부터 끝까지 다양한 예제와 코드 작성 과정입니다.
Toon - Draka Comteq Fibre B.V.
코스 - Introduction to Image Processing using Matlab
기계 번역됨
유용한 연습문제들이 잘 설명되어 있습니다
Helene Meadows - European Investment Bank
코스 - MATLAB Programming
기계 번역됨