Communications System Toolbox

주요 특징

  • 소스 코딩, 채널 코딩, 인터리빙, 변조, 채널 모델, MIMO, 등화기, 동기화 등을 비롯하여 통신 시스템의 물리 계층을 설계하기 위한 알고리즘
  • Turbo, LDPC 및 비터비 디코더와 같은 연산 집약적 알고리즘을 위한 GPU 지원 시스템 객체
  • 성상도와 채널 산란을 위한 아이 다이어그램 스코프 응용 프로그램과 시각화 함수
  • 분석 결과를 시뮬레이션된 시스템의 BER(비트 오류율)과 비교하기 위한 Bit Error Rate 응용 프로그램
  • AWGN, 다중경로 레일리 페이딩, 라이시안 페이딩, MIMO 다중경로 페이딩 및 LTE MIMO 다중경로 페이딩을 포함한 채널 모델
  • 비선형, 위상 잡음, 열잡음, 위상 및 주파수 오프셋을 포함한 기본적인 RF 손상
  • 알고리즘이 MATLAB 함수, MATLAB System Object, Simulink 블록 형태로 제공됨
  • 고정 소수점 모델링과 C 및 HDL 코드 생성 지원

시스템 설계, 특성화 및 시각화

통신 시스템을 설계하고 시뮬레이션할 때는 실제 환경에 내재하는 잡음 및 간섭에 대한 시스템의 반응을 분석해야 하므로, 그래픽 및 정량적인 수단을 사용하여 시스템의 동작을 연구하고 성능 결과가 허용 기준에 부합하는지 여부를 결정합니다.

Communications System Toolbox는 통신 시스템 설계 및 시뮬레이션을 위한 다양한 작업을 구현합니다. 이 시스템 툴박스에 포함된 다수의 함수, 응용 프로그램, System Object 및 블록은 통신 시스템 내의 복조기 또는 등화기 와 같은 특정 구성요소와 관련된 계산을 수행합니다.

시스템 특성화

이 시스템 툴박스는 시스템 성능을 정량적으로 특성화하기 위해 다음과 같은 표준 메소드를 제공합니다.

  • BER(비트 오류율) 계산
  • ACPR(인접 채널 전력비) 측정
  • EVM(오류 벡터 크기) 측정
  • MER(변조 오류율) 측정

BER 계산은 모든 통신 시스템의 특성화에 기본이 되기 때문에, 이 시스템 툴박스는 BER 테스트 시나리오 구성 및 BER 시뮬레이션 가속화를 위해 다음과 같은 툴과 기능을 제공합니다.

Bit Error Rate Analysis 응용 프로그램 — 통신 시스템의 BER 성능을 분석할 수 있는 응용 프로그램입니다. 사용자는 실제 시뮬레이션 기반방법, 반분석적(semianalytic) 방법 또는 이론적 접근방법을 통해 성능을 분석할 수 있습니다.

오류율 테스트 콘솔 — 오류율 성능을 측정하기 위해 통신 시스템에 대한 시뮬레이션을 실행하는 MATLAB 객체 사용자 지정 테스트 포인트와 매개변수 성능 플롯 및 3차원 플롯 생성을 지원합니다. 멀티코어 컴퓨팅 플랫폼에서 실행할 때 더 빠른 성능이 실현될 수 있습니다.

멀티코어 및 GPU 가속Parallel Computing Toolbox에서 제공되는 기능으로, 컴퓨터 내에서 멀티코어 및 GPU 하드웨어를 사용하여 시뮬레이션 성능을 가속화할 수 있습니다.

분산 컴퓨팅 및 클라우드 컴퓨팅 지원 — Parallel Computing Toolbox 및 MATLAB Distributed Computing Server에서 제공되는 기능으로, 서버 팜(server farms) 및 Amazon EC2 웹 서비스의 컴퓨팅 파워를 활용할 수 있습니다.

성능 시각화

시스템 툴박스는 시스템 성능 시각화를 위해 다음 기능을 제공합니다.

채널 시각화 툴 — 페이딩 채널의 특성 시각화

아이 다이어그램 및 신호 성상도 플롯 — 초기 설계 결정을 내릴 수 있도록 시스템 동작에 대한 정성적, 시각적 이해

신호 궤적도 플롯 — 결정 지점 사이에 신호의 궤도를 보여주는 연속된 그림

BER 플롯 — SNR 및 고정 소수점 단어 크기와 같은 메트릭에 의해 매개변수화하여 설계 후보의 정량적 BER 성능 시각화

모델의 어느 위치 또는 단계에서든지 신호를 시각화하고 분석하기 위한 통신 전용 디스플레이.

모델의 어느 위치 또는 단계에서든지 신호를 시각화하고 분석하기 위한 통신 전용 디스플레이. 디스플레이에(왼쪽 위에서 시계 방향으로) 채널 임펄스 응답 기록, I/Q 신호 아이 다이어그램, 이론적 결과와 시뮬레이션 결과에 대한 BER 성능 플롯, 수신 신호의 성상도 플롯 등이 포함됩니다.

아날로그 및 디지탈 변조

아날로그 및 디지탈 변조 기술은 정보 스트림을 전송에 적합한 신호로 인코딩합니다. Communications System Toolbox는 다양한 변조 기능과 이에 상응하는 복조 기능을 제공합니다. 이러한 기능은 MATLAB 함수와 객체, MATLAB System Object, Simulink 블록 형태로 제공됩니다.

툴박스에서 제공되는 변조 유형에는 다음과 같은 기능들이 포함됩니다.

아날로그: AM, FM, PM, SSB, DSBSC

디지털: FSK, PSK, BPSK, DPSK, OQPSK, MSK, PAM, QAM, TCM

16 QAM 시뮬레이션을 위한 성상도가 포함된 MATLAB 함수 및 Simulink 모델

16 QAM 시뮬레이션을 위한 성상도가 포함된 MATLAB 함수(왼쪽) 및 Simulink 모델(오른쪽)

소스 및 채널 코딩

Communications System Toolbox는 통신 아키텍처를 신속하게 개발하고 평가할 수 있는 소스 및 채널 코딩 기능을 제공하므로, 사용자는 What-if 시나리오를 탐구할 수 있으며 코딩 기능을 처음부터 만들지 않아도 됩니다.

소스 코딩

양자화 또는 신호 포맷팅(formatting)이라고도 하는 소스 코딩은 리던던시(redundancy)를 줄이거나 이후 처리를 위해 데이터를 준비하기 위해 데이터를 처리하는 방법입니다. 이 시스템 툴박스에는 소스 코딩 및 디코딩을 구현하기 위한 다음과 같은 다양한 유형의 알고리즘이 포함되어 있습니다.

  • 양자화
  • 압신(companding)(µ 법칙 및 A 법칙)
  • 차등 펄스 코드 변조(DPCM)
  • Huffman 코딩
  • 산술 코딩

채널 코딩

이 시스템 툴박스는 잡음 및 채널 손상을 해결하기 위해 오류 검출 및 수정을 구현하기 위한 블록 및 컨볼루션 코딩/디코딩 기술을 제공합니다. 수정은 할 수 없고 단순 오류 검출로서는 CRC기능을 사용할 수 있습니다.. 시스템 툴박스에서 제공되는 채널 코딩 기능은 다음을 포함합니다.

  • BCH 인코더 및 디코더
  • Reed-Solomon 인코더 및 디코더
  • LDPC 인코더 및 디코더
  • 컨볼루션 인코더 및 비터비 디코더
  • OSTBC(직교 시공간 블록 코드)(MIMO 채널용 인코더 및 디코더)
  • 터보 인코더 및 디코더 데모

시스템 툴박스는 사용자 고유의 채널 코딩을 생성하기 위한 유틸리티 기능을 제공합니다. 곱셉 패리티 체크 및 생성기 행렬뿐만 아니라 생성 다항식/계수 및 신드롬(syndrome) 디코딩 표를 만들 수 있습니다.

시스템 툴박스는 또한 통신 시스템의 군집오류에 의해 야기된 데이터 오류를 줄이기 위해 다음과 같은 블록 및 컨볼루션 인터리빙/디인터리빙 기능을 제공합니다.

블록: 일반 블록 인터리버, 대수 인터리버, 나선형 스캔 인터리버, 행렬 인터리버 및 랜덤 인터리버

컨볼루션: 일반 멀티플렉스 인터리버, 컨볼루션 인터리버 및 나선형 인터리버

채널 모델링 및 RF 손상

채널 모델링

Communications System Toolbox는 통신 채널에서 일반적으로 발생하는 잡음, 페이딩, 간섭 및 기타 왜곡을 모델링하기 위한 알고리즘과 툴을 제공합니다. 다음 유형의 채널을 지원합니다.

  • AWGN(가산성 백색 가우스 잡음)
  • MIMO(다중 입출력) 페이딩
  • SISO(단일 입출력), 레일리 및 라이시안 페이딩
  • 이원 대칭

MATLAB 채널 객체는 간결한 구성형 채널 모델을 구현하도록 지원하며, 사용자는 다음과 같은 매개변수를 지정할 수 있습니다.

  • 경로 지연
  • 평균 경로 이득
  • 최대 도플러 이동(Doppler shift)
  • 라이시안 페이딩 채널의 K-Factor
  • Doppler 스펙트럼 매개변수

MIMO 시스템에서 MATLAB MIMO 채널 객체는 이 매개변수를 확장하여 다음 항목도 포함합니다.

  • 송신 안테나 수(최대 8개)
  • 수신 안테나 수(최대 8개)
  • 송신 상관 행렬
  • 수신 상관 행렬
OSTBC(직교 시공간 블록 코드)가 포함된 적응 MIMO 시스템의 Simulink 모델

OSTBC(직교 시공간 블록 코드)가 포함된 적응 MIMO 시스템의 Simulink 모델

RF 손상

비이상적 RF 프런트 엔드(front end)의 효과를 모델링하기 위해 통신 시스템에 다음과 같은 손상을 도입하여 실제 효과를 바탕으로 성능을 분석하고 특성화할 수 있습니다.

  • 메모리가 없는 비선형
  • 위상 및 주파수 오프셋
  • 위상 잡음
  • 열잡음

SimRF를 사용하여 설계에 더 복잡한 RF 손상과 RF 회로 모델을 포함시킬 수 있습니다.

위상 오프셋 및 주파수 오프셋에 의해 손상된 이상적 16 QAM 성상도

위상 오프셋(가운데) 및 주파수 오프셋(오른쪽)에 의해 손상된 이상적 16 QAM 성상도(왼쪽)

등화기 및 동기화

Communications System Toolbox를 사용하면 등화기 및 동기화 기술을 탐색해볼 수 있습니다. 일반적으로 이러한 기술은 본질적으로 적응성 알고리즘이기 때문에 설계 및 특성화하기에 어렵습니다. 시스템 툴박스는 통신 시스템에 적합한 기술을 신속하게 선택할 수 있는 알고리즘과 툴을 제공합니다.

등화기

등화기에 대한 다양한 접근방법을 평가하기 위해 이 시스템 툴박스는 다음과 같은 적응 알고리즘을 제공합니다.

  • LMS
  • 정규화된 LMS
  • 가변 단계 LMS
  • Signed LMS
  • MLSE(비터비)
  • RLS
  • CMA

이러한 적응형 등화기는 비선형 DFE(Decision Feedback Equalizer) 구현 및 선형(기호 또는 FSE(Fractionally Spaced Equalizer)) 구현으로 제공됩니다.

이상적 신호 성상도 및 등화기 전후의 신호을 보여주는 QPSK 신호 성상도

이상적 신호 성상도 및 등화기 전후의 신호를 보여주는 QPSK 신호 성상도

동기화

이 시스템 툴박스는 캐리어 위상 동기화 및 타이밍 위상 동기화를 위한 알고리즘을 제공합니다.

타이밍 위상 동기화에 대해서는 다음 구현 방법을 제공하는 MATLAB Timing Phase Synchronizer 객체를 제공합니다.

  • Early-late Gate Timing 방법
  • Gardner의 방법
  • Fourth-order 비선형 방법
  • Mueller-Muller 방법
MSK 수신기에 대한 타이밍, 캐리어 주파수 및 캐리어 위상 복구의 Simulink 모델

MSK 수신기에 대한 타이밍, 캐리어 주파수 및 캐리어 위상 복구의 Simulink 모델

주파수 복구 이후 및 위상 복구 이후 수신한 신호 성상도

주파수 복구 이후(가운데) 및 위상 복구 이후(오른쪽) 수신한 신호 성상도(왼쪽)

MATLAB과 Simulink의 스트림 처리

대부분의 통신 시스템은 일시적 처리와 다주파 및 다채널을 동시에 조합하여 처리하는 스트리밍 및 프레임 기반 데이터를 처리합니다. 이러한 유형의 스트리밍 다차원 처리는 OFDM 및 MIMO 같은 고급 통신 아키텍처에서 볼 수 있습니다. Communications System Toolbox를 사용하면 MATLABSimulink에서 스트림 처리 및 프레임 기반 시뮬레이션을 지원하여 고급 통신 시스템을 시뮬레이션할 수 있습니다.

MATLAB에서 스트림 처리는 MATLAB 객체를 사용하여 시간 기반 및 데이터 구동(driven) 알고리즘, 소스(source), 싱크(sink)를 표현하는 System Object를 이용함으로서 가능합니다. System Object는 암묵적으로 데이터 인덱싱, 버퍼링 및 알고리즘 상태 관리와 같은 스트림 처리의 여러 세부사항을 관리합니다. System Object를 표준 MATLAB 함수 및 연산자와 혼합해서 사용할 수 있습니다. 대부분의 System Object에는 동일한 기능을 가진 상응하는 Simulink 블록이 있습니다.

Simulink는 Simulink 모델을 구성하는 블록을 통해 데이터 흐름을 관리함으로써 암묵적으로 스트림 처리를 다룹니다. 동적 시스템의 모델링 및 시뮬레이션을 위한 대화형 그래픽 환경인 Simulink는 계층도를 사용하여 시스템 모델을 표현합니다. 여기에는 알고리즘, 소스, 싱크 및 시스템 계층 구조를 나타낼 수 있는 일반 용도의 미리 정의된 블록 라이브러리가 포함되어 있습니다.

통신 시스템 구현

고정 소수점 모델링

많은 통신 시스템들은 설계를 고정 소수점으로 표현해야 하는 하드웨어를 사용합니다. Communications System Toolbox는 고정 소수점 특성을 구성하는데 유용한 툴을 통해 모든 관련 블록 및 System Object의 고정 소수점 모델링을 지원합니다.

이 시스템 툴박스의 고정 소수점 지원은 다음을 포함합니다.

  • 1~128비트의 단어 크기(word size)
  • 임의 이진 소수점 위치
  • 오버플로우 처리 메소드(래핑 또는 포화)
  • 반올림 메소드: ceiling, convergent, floor, nearest, round, simplest, and zero

Fixed-Point Designer™의 Fixed-Point Tool은 부동 소수점 데이터 유형을 고정 소수점으로 쉽게 변환할 수 있게 해줍니다. 이 툴은 고정 소수점 속성 구성을 위해 오버플로우와 최대 및 최소를 추적합니다.

코드 생성

알고리즘 또는 통신 시스템을 개발하고 나면 검증, 빠른 프로토타이핑(rapid prototyping) 및 구현을 위해 C 코드를 자동으로 생성할 수 있습니다. Communications System Toolbox에 있는 대부분의 System Object, 함수, 블록은 MATLAB Coder, Simulink Coder 또는 Embedded Coder를 사용하여 ANSI/ISO C 코드를 생성할 수 있습니다. System Object 및 Simulink 블록 서브세트는 HDL 코드를 생성할 수 있습니다.

기존의 IP(intellectual property)를 활용하기 위해 특정 프로세서 아키텍처에 대한 최적화를 선택하고 기존 C 코드를 새로이 생성된 코드와 통합할 수 있습니다. 또한 부동 소수점과 고정 소수점 데이터 유형 모두에 대해 C 코드를 생성할 수 있습니다.

DSP 프로토타이핑

검증, 빠른 프로토타이핑 또는 최종 하드웨어 구현을 위해 DSP를 통신 시스템 구현에 사용합니다. Embedded Coder에 있는 PIL(Processor-in-the-Loop) 시뮬레이션 기능을 이용하면 타겟 프로세서에서 알고리즘 구현 코드를 실행하여 생성된 소스 코드와 컴파일된 코드를 검증할 수 있습니다.

FPGA 프로토타이핑

고속 신호 처리 알고리즘 구현을 위해 통신 시스템에서 FPGA가 사용됩니다. HDL Verifier에 있는 FIL(FPGA-in-the-loop) 기능을 사용하여 실제 하드웨어에서 기존 HDL 코드(수동으로 작성하거나 자동으로 생성되는 HDL 코드)에 대해 RTL 코드를 테스트할 수 있습니다.

Communications System Toolbox 평가판 사용

평가판 신청

Multirate Systems and Sample Rate Conversion with MATLAB

웨비나 보기