EMLAB Modeling of Digital Communication Systems using Simulink Chap2. Sinusoidal Simulink Model Chap3. Digital Communications BER Performance in AWGN (BPSK and QPSK)
EMLAB 목차 1 Chap2. Sinusoidal Simulink Model 2.1 A First Simulink Model 2.2 Simulink Model of Sine Wave 2.3 Spectrum of a Sine Wave Chap3. Digital Communications BER Performance in AWGN (BPSK and QPSK) 3.1 BPSK and QPSK Error Rate Performance in AWGN 3.2 Construction of a Simulink Model in Simple Steps 3.3 Comparison of Simulated and Theoretical BER 3.4 Alternate Simulink Model for BPSK 3.5 Frame-Based Simulink Model 3.6 QPSK Symbol Error Rate Performance 3.7 BPSK Fixed Point Performance
EMLAB 2 1 장에서 다룬 사인파를 기본으로 하여 간단한 시뮬링크 모델 구현. Sine wave block 의 설정에 따라 아래의 세 형태로 표현됨. 2.1 A First Simulink Model Sine type : time-based Sine type : Sample-based
EMLAB 3 Sine-type 이 time based 인 경우 연속 신호 및 이산 신호로 구분됨. (Sample time = 0 : continuous signal) (Sample time > 0 : discrete signal) 2.1 A First Simulink Model (cont’d) Sine type : time based
EMLAB A First Simulink Model (cont’d) Sine type : Sample-based
EMLAB Simulink Model of Sine Wave
EMLAB Simulink Model of Sine Wave (cont’d) Save format 을 timeseries 로 하면 시간정보와 함께 데이터가 저장되며 matlab command window 에서 마우스 오른쪽 > plot 메뉴가 생성됨. Save format option: structure with time, structure, array, time series
EMLAB Simulink Model of Sine Wave (cont’d) Command 창에서 To workspace 블록 출력 (timeseries 선택 시 )
EMLAB Simulink Model of Sine Wave (cont’d) Sample time 을 0.05 → 0.01 로 변경 Phase shift 0 → π/2 로 변경
EMLAB Spectrum of Sine Wave
EMLAB Spectrum of Sine Wave ① ②
EMLAB 11 Variance : 입력에 대한 분산 계산 Running Variance 박스에 체크하면 시뮬레이션 시간동안의 입력에 대한 분산을 구함. 2.3 Spectrum of Sine Wave
EMLAB Spectrum of Sine Wave (cont’d) ① 전력 스펙트럼 [dBW]
EMLAB 13 ② 스펙트럼 [dB] 2.3 Spectrum of Sine Wave (cont’d)
EMLAB 14 스펙트럼 관찰 Sine wave – Buffer – FFT – Abs – Product – Vector scope 2.3 Spectrum of Sine Wave (cont’d)
EMLAB 15 Buffer 스칼라 샘플을 프레임 단위 샘플로 바꿈. 입력에 따라 샘플 시간이 줄어들기도, 늘어나기도 함. 2.3 Spectrum of Sine Wave (cont’d)
EMLAB 16 Buffer Overlap: 입력을 프레임 단위 데이터로 바꿀 때 - 0 보다 큰 수가 p 가 입력되면 : overlap; 연속되는 프레임에서 각 프레임의 마지막 샘플 p 개를 다음 프레임의 앞에 반복. - 0 보다 작은 수 n 이 입력되면 : underlap; 연속되는 프레임 사이 n 개의 샘플을 버리고 그 후의 샘플이 다음 프레임에 저장됨. Overlap example
EMLAB 17 buffer overlap factor -500 buffer overlap factor 500 buffer overlap factor 0
EMLAB 18 Variance 입력 데이터의 분산을 계산. 2.3 Spectrum of Sine Wave (cont’d)
EMLAB 19 Variance Example 2.3 Spectrum of Sine Wave (cont’d)
EMLAB 20 Variance 입력 데이터의 분산을 계산. 연속적으로 입력되는 데이터의 분산을 누적으로 계산함. 2.3 Spectrum of Sine Wave (cont’d)
EMLAB 21 Running Variance Example 2.3 Spectrum of Sine Wave (cont’d)
EMLAB 22 시뮬링크에서 BPSK 및 QPSK 블록을 이용하는 방법을 소개. BER 계산을 위한 BPSK 시뮬레이션 구성 - BPSK 변, 복조기를 바로 연결해보고, AWGN 블록을 추가해보고, E b /N 0 에 따른 에러를 관찰함. 에러율 계산 블록 및 디스플레이 블록 추가. 3.1 BPSK and QPSK Error Rate Performance in AWGN 3.2 Construction of a Simulink Model in Simple Steps
EMLAB 23 Step Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 24 Random Integer Generator Initial seed 는 임의의 소수로 선택, 이 블록의 출력은 1 초에 하나씩 생성되는 0 혹은 1 의 값을 갖는 샘플. BPSK Modulator Baseband 3.2 Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 25 BPSK Constellation (phase offset [rad] : 0, pi/60, pi/5 ( 시계방향 ))
EMLAB 26 BPSK Demodulator Baseband Output 3.2 Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 27 Step 1 출력 : 입력 데이터와 출력 데이터가 동일함. 3.2 Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 28 Step 2 – AWGN 블록 추가 signal routing 블록 (Goto 및 From) 을 통해 변조 전의 파형을 스코프로 관찰. 아래와 같은 모드 선택 가능. 예제에서는 symbol period 과 sample time 이 동일하므로 E b /N 0 = E s /N Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 29 E b /N 0 = 100dB E b /N 0 = -10dB 3.2 Construction of a Simulink Model in Simple Steps (cont’d) Output of BPSK Demodulator E b /N 0 = 100dB Input to BPSK Modulator Output of BPSK Demodulator E b /N 0 = -10dB Input to BPSK Modulator
EMLAB 30 Step 3 – AWGN 블록 통과 전 후의 BPSK 신호 관찰. ( 실수 / 허수부 ) 3.2 Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 31 BPSK 변조된 파형 + AWGN (E b /N 0 = 4dB) BPSK 복조된 파형 Output of BPSK Demodulator E b /N 0 = 4dB Input to BPSK Modulator Re(Output of BPSK Modulator) Im(Output of BPSK Modulator)
EMLAB 32 Step 4 – 에러율 계산 블록 추가 3.2 Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 33 Error Rate Calculation 두 가지 형태로 출력할 수 있음 : 매트랩 커맨드 창에서 불러올 수 있는 변수 및 시뮬링크 창에서 디스플레이 블록을 통해 숫자로 확인 가능. 출력 데이터는 에러율 및 에러의 개수와 전체 심볼의 개수. 계산 모드는 아래와 같은 옵션이 있어 전체 혹은 구간을 선택하여 계산할 수 있음. 3.2 Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 34 시뮬레이션 시간 : 100,000 초. 초당 심볼 수 1 개. Display: BER = , 에러 개수 = 1270, 전체 심볼 수 = 100,000 개. 3.2 Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 35 Step 5 – 신호와 포트의 데이터 타입 디스플레이 및 정보 블록 추가. 시뮬링크 창의 Display>Signals&Ports>Port Data Types 선택. 3.2 Construction of a Simulink Model in Simple Steps (cont’d)
EMLAB 36 BPSK 의 이론적인 BER 계산식은 우측 그래프는 위 식을 matlab 에 입력하여 계산 후 plot 하고 시뮬링크에서의 계산값은 일일이 Eb/N0 값을 바꾸어 시뮬레이션 후 행렬에 저장 하여 그림. 3.3 Comparison of Simulated and Theoretical BER
EMLAB 37 Matlab bertool 사용법 Matlab command 창에 bertool 입력 3.3 Comparison of Simulated and Theoretical BER
EMLAB 38 이론적 계산값에 대한 BER 그래프는 Theoretical 탭에서 바로 계산 가능. Ex.) BPSK 의 Eb/N0 를 0 ~ 10 dB 까지 계산한다면 아래와 같이 설정 후 Plot 클릭. 3.3 Comparison of Simulated and Theoretical BER ✔
EMLAB 및 33 페이지의 BPSK 모델에서 BER 그래프를 얻기 위해서는 시뮬레이션 시간을 inf 로 지정하고 저장 후에 아래 번호에 해당하는 부분을 변경. 3.3 Comparison of Simulated and Theoretical BER ① ② ③
EMLAB 40 ① 에서 Eb/No 란을 EbNo 라는 변수로 지정하고, ③ 에 To workspace 블록 추가. 3.3 Comparison of Simulated and Theoretical BER ✔ 임의의 변수명을 넣으면 안됨. 변수명 임의로 설정 가능. ✔ 1 인 경우 정해진 시뮬레이션 시간이나 시뮬레이션 하고자 하는 비트 수 혹은 정해진 누적 에러 개수를 만족하고 최종 계산 된 값만 남김. 1 초과의 수로 하는 경우 그 개수만큼 저장되며, 첫번째 행에 저장된 값이 BER 그래프에 그려짐. ⓐ
EMLAB 41 ② 의 속성 창에서 Target number of errors 와 Maximum number of symbols 를 각각 maxNumErrs 및 maxNumBits 라는 변수로 저장. 3.3 Comparison of Simulated and Theoretical BER ✔ 임의의 변수명을 넣으면 안됨. ⓑ ⓒ
EMLAB 42 Monte Carlo 탭에서 E b /N 0 범위를 정해주고 ( 아래 그림에서는 0 ~ 10 dB 까지 0.5 간격으로 계산함.) 3.3 Comparison of Simulated and Theoretical BER ✔ 앞에서 추가한 To Workspace 의 변수명 원하는 수로 임의 설정 가능. ⓐ ⓑ ⓒ
EMLAB Comparison of Simulated and Theoretical BER