Entropy Entropy Channel Capacity Information Source Channel coding

  • Slides: 57
Download presentation

정보이론 • 정보량과 Entropy • Entropy 계산의 예 • Channel Capacity 잡음 Information Source

정보이론 • 정보량과 Entropy • Entropy 계산의 예 • Channel Capacity 잡음 Information Source 정보량 Channel coding 송신 전력 Communication Channel Detection 채널 용량 오류 확률 4

Channel Capacity(채널 용량) • Shannon-Hartley Capacity Theorem C : Channel Capacity S : Average

Channel Capacity(채널 용량) • Shannon-Hartley Capacity Theorem C : Channel Capacity S : Average Signal Power N : Average Noise Power W : Bandwidth In AWGN channel C/W(bits/sec/Hz) 32 16 8 4 2 1 -10 10 20 30 40 SNR(d. B) 1/2 Ex) Telephone line : 3000 Hz, SNR=30 d. B=1000 C=3000 log 2(1+1000) =3000 x 9. 967 = 29. 9 Kbps 30 Kbps 1/4 1/8 9

Shannon Limit 10

Shannon Limit 10

채널 부호화의 종류 • Waveform Coding 심볼 파형을 서로 구별하기 용이하도록 변형 – 직교

채널 부호화의 종류 • Waveform Coding 심볼 파형을 서로 구별하기 용이하도록 변형 – 직교 부호(Orthogonal Code) – 쌍직교 부호(Bi-orthogonal Code) – Transorthogonal Code • Structured Sequence – – – 오류 비트를 검출하고 정정할 수 있도록 Cyclic Code 블록 부호화(Block Coding) Reed-Solomon Code 길쌈 부호화(Convolutional Coding) 터보 부호화(Turbo Coding) 12

Orthogonal Signaling Information k bit Orthogonal Waveform coding 2 k symbol MFSK Modulation Waveform

Orthogonal Signaling Information k bit Orthogonal Waveform coding 2 k symbol MFSK Modulation Waveform MPSK • Orthogonal : MFSK • Non-Orthogonal : MPSK • Orthogonal Waveform Code : – Ex) Hadamard code • Biorthogonal code • Transorthogonal code = simplex code – Delete 1 st digit of Orthogonal code 14

직교 부호 (Hadamard code) In general, 18

직교 부호 (Hadamard code) In general, 18

Biorthogonal code In general, 20

Biorthogonal code In general, 20

오류제어와 채널 부호화 • 오류 제어방식 – 무시, 루프 비교, 재전송, 오류 수정 •

오류제어와 채널 부호화 • 오류 제어방식 – 무시, 루프 비교, 재전송, 오류 수정 • 오류 검출 부호 – Parity Check, CRC, FCS • 오류 정정 부호 – linear block code, Hamming code, extended Golay code, BCH code, Reed. Solomon code – Convolutional code, turbo code 22

ARQ 시스템 Stop & Wait 정지대기 Goback-N N-후진 Selective repeat 선별 반복 23

ARQ 시스템 Stop & Wait 정지대기 Goback-N N-후진 Selective repeat 선별 반복 23

오류 검출부호 • Single Parity Check Code – Even parity, Odd Parity, no parity

오류 검출부호 • Single Parity Check Code – Even parity, Odd Parity, no parity – Data : 4~8, Stop : 1/1. 5/2, 속도: 110 ~ 11520 • Block Sum Check 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 24

CRC Generation 26

CRC Generation 26

CRC 발생회로 Switch 1 G(x) … … 1) 2) 3) 4) 5) register 초기화

CRC 발생회로 Switch 1 G(x) … … 1) 2) 3) 4) 5) register 초기화 SW 1 close, SW 2 down Information k bit shift out and back SW 1 open , SW 2 up Parity p bit shift out M(x) R(x) T(x) Switch 2 27

Standard CRC 28

Standard CRC 28

Linear Block Code k bits data n-k parity symbol (n, k) code n bits

Linear Block Code k bits data n-k parity symbol (n, k) code n bits channel symbol • k : data block size (bits) • n : channel symbol size (bits) • k/n : code rate – Ex) parity code : k/k+1 – Product code : k/n = MN/(M+1)(N+1) • Linearity – Include all zero vector “ 0000” – Closed in modulo-2 addition 29

Extended Golay code • • (23, 12) : Golay Code (24, 12) : Golay

Extended Golay code • • (23, 12) : Golay Code (24, 12) : Golay Code + parity bit Minimum distance 8 오류 정정 : all triple error, some four-error(19%) 33

Reed-Solomon Code • • One Special subclass of BCH code largest possible code minimum

Reed-Solomon Code • • One Special subclass of BCH code largest possible code minimum distance n = 2 m-1 k = n – 2 t dmin = n-k+1 = 2 t+1 t=(dmin -1)/2 = (n-k)/2 useful for burst-error correction 35

Bit Error Probability PE PB 10 -2 10 -3 Hamming(31, 26), t=1 Hamming(15, 11),

Bit Error Probability PE PB 10 -2 10 -3 Hamming(31, 26), t=1 Hamming(15, 11), t=1 Hamming(7, 4), t=1 10 -4 10 -5 Extended Golay(24, 12), t=3 BCH(127, 64), t=10 -5 BCH(127, 36), t=15 10 10 -6 p 10 -7 10 -1 10 -2 10 -3 10 -4 10 -7 Uncoded Eb/N 0 4 5 6 7 8 9 10 36 11

Convolutional Code Data Sequence 1 2 k Linear Sequential Circuit: Memory M 1 2

Convolutional Code Data Sequence 1 2 k Linear Sequential Circuit: Memory M 1 2 n Code Sequence (n, k, M) 길쌈부호 k = 입력 열, n = 출력 열 M = 메모리 크기 K=M+1 : 구속장 길이(constraint length) R=k/n : 부호율 (일반적으로: K=7, 9; R=1/2, 1/3 ; M=6, 8 인 부 호 사용) 37

길쌈부호의 예 • (2, 1, 2) : g 1=101, g 2 = 111, m

길쌈부호의 예 • (2, 1, 2) : g 1=101, g 2 = 111, m = 101 + Input Data m 1 0 0 0 r 2 0 1 0 0 0 r 1 0 0 r 0 0 1 0 u 1 0 0 0 1 0 r 2 u 2 0 1 1 0 r 1 r 0 u 1 Output Code word u 2 + 38

길쌈부호의 예 • (2, 1, 2) : g 1=101, g 2 = 111 ,

길쌈부호의 예 • (2, 1, 2) : g 1=101, g 2 = 111 , m = 101 m(X) = 1 + X 2 g 1(X) = 1 + X 2 g 2(X) = 1 + X 2 m(X) g 1(X)=1 + X 4 m(X) g 2(X)=1 + X 3 + X 4 m(X) g 1(X)=1 + X 4 3 + X 4 m(X) g (X)=1 + X 2 + 11 01 00 01 11 39

상태표 Time ti+1 Input m r 1 r 0 u 1 u 2 -

상태표 Time ti+1 Input m r 1 r 0 u 1 u 2 - 0 0 - - 0 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 1 1 Output 40

상태 천이도 입력/출력 0/11 01 0/00 00 입력 출력 1 0 1/11 0/01 10

상태 천이도 입력/출력 0/11 01 0/00 00 입력 출력 1 0 1/11 0/01 10 1/00 0/10 11 1/01 1/10 레지스터 상태 11 01 00 01 11 00 00 41

Trellis Diagram 출력 u 1 u 2 상태 t 1 a=00 t 2 00

Trellis Diagram 출력 u 1 u 2 상태 t 1 a=00 t 2 00 11 t 3 00 11 01 10 00 t 6 00 11 11 11 00 00 00 01 10 0 10 1 10 d=11 t 5 11 11 b=10 c=01 t 4 01 10 01 01 입력 42

자유 거리(dfree) 상태 t 1 t 2 t 3 0 a=00 2 t 4

자유 거리(dfree) 상태 t 1 t 2 t 3 0 a=00 2 t 4 0 0 2 2 1 1 1 d=11 0 2 1 1 t 6 0 2 b=10 c=01 t 5 dfree=5 2 2 2 0 0 0 1 1 1 1 1 43

Viterbi Decoding(1) U = 00 Z = 00 t 1 a=00 0 00 2

Viterbi Decoding(1) U = 00 Z = 00 t 1 a=00 0 00 2 11 00 01 t 2 1 00 1 11 00 10 t 3 b=10 c=01 d=11 0 01 2 10 00 00 t 4 00 00 t 5 1 00 2 1 3 11 0 00 2 2 11 5 1 11 2 13 00 2 01 0 3 10 4 0 10 2 1 01 6 2 11 0 00 1 01 1 10 1 01 0 00 t 6 2 11 0 00 1 01 1 10 1 01 44

Viterbi Decoding(2) U = 00 Z = 00 t 1 a=00 00 01 t

Viterbi Decoding(2) U = 00 Z = 00 t 1 a=00 00 01 t 2 1 00 1 11 00 10 t 3 00 00 t 4 1 00 2 1 3 00 00 t 5 0 00 2 2 5 b=10 2 3 4 0 3 c=01 2 01 0 3 10 4 1 01 1 3 10 2 1 10 1 3 01 2 d=11 1 6 2 0 00 t 6 5 2 11 0 00 1 01 1 2 1 10 1 01 45

Viterbi Decoding(3) U = 00 Z = 00 t 1 a=00 00 01 t

Viterbi Decoding(3) U = 00 Z = 00 t 1 a=00 00 01 t 2 1 00 1 11 00 10 t 3 00 00 t 4 1 00 2 1 00 00 t 5 0 00 2 5 0 10 1 10 d=11 0 00 2 2 5 2 11 4 0 2 00 b=10 c=01 t 6 1 6 3 2 1 3 01 2 1 10 1 4 3 0 00 2 2 5 2 4 11 0 3 00 1 01 1 3 4 46

Viterbi Decoding(4) U = 00 Z = 00 t 1 a=00 00 01 t

Viterbi Decoding(4) U = 00 Z = 00 t 1 a=00 00 01 t 2 1 00 1 11 00 10 t 3 00 00 t 4 1 00 2 1 00 00 t 5 0 00 2 5 0 10 1 10 d=11 0 00 2 2 5 4 0 2 00 b=10 c=01 t 6 1 6 3 2 1 3 01 2 1 10 1 4 3 t 7 0 00 2 2 5 2 4 11 0 3 00 1 01 1 3 4 47

Viterbi 복호 연습 Z = 10 t 1 a=00 00 t 2 00 11

Viterbi 복호 연습 Z = 10 t 1 a=00 00 t 2 00 11 00 t 3 00 11 01 10 00 11 00 t 5 00 11 t 6 00 11 11 t 7 00 11 11 11 00 00 01 10 10 10 10 d=11 10 t 4 11 b=10 c=01 10 01 01 01 48

Viterbi 복호 연습 Z = 10 t 1 a=00 00 t 2 00(1) 00

Viterbi 복호 연습 Z = 10 t 1 a=00 00 t 2 00(1) 00 10 t 3 00(0) 10 t 4 00(0) 1 00 t 5 00(1) t 6 00(1) t 7 00(0) 4 11(1) 11(2) 3 11(2) b=10 01(1) c=01 11(1) 11(2) 10(1) 00(0) 00(1) 00(0) 01(1) 01(2) 01(1) 10(1) d=11 11(1) 2 01(1) 10(0) 01(2) 10(1) 01(1) 49

길쌈부호의 응용예 구속장 (K) 생성다항식 dfree 수정가능 코딩이 비트수(t) 득(d. B) 사용 분야 5

길쌈부호의 응용예 구속장 (K) 생성다항식 dfree 수정가능 코딩이 비트수(t) 득(d. B) 사용 분야 5 23=10011 35=11101 7 3 4. 3 GSM 6 65=110101 57=101111 8 3 4. 6 IS-54 미국이동통신 7 133=1011011 171=1111001 10 4 5. 2 위성통신 9 753=111101011 561=101110001 12 5 7. 8 IS-95 CDMA Forward 채널 9 557=101101111 663=110110011 711=111001001 18 8 IS-95 CDMA Reverse 채널 51

인터리빙(Interleaving) 53

인터리빙(Interleaving) 53

Turbo Code • RSC-인터리빙-RSC의 이중 구조의 encoding 방식을 적용 • 복조시 반복 알고리즘을 사용

Turbo Code • RSC-인터리빙-RSC의 이중 구조의 encoding 방식을 적용 • 복조시 반복 알고리즘을 사용 RSC: Recursive Systematic Convolutional Code 54

RSC (Recursive Systematic Convolutional Code ) uk dk 출력 uv 상태 a=00 00 11

RSC (Recursive Systematic Convolutional Code ) uk dk 출력 uv 상태 a=00 00 11 + ak ak-1 11 ak-2 b=10 + vk c=01 0 1 입력 d=11 00 10 01 01 10 55

Turbo Encode uk dk + ak ak-2 + Interleaver + ak-1 ak-2 vk +

Turbo Encode uk dk + ak ak-2 + Interleaver + ak-1 ak-2 vk + 56

Turbo Decoder zk Decoder DEC 1 xk y 1 k Interleaving Decoder DEC 1

Turbo Decoder zk Decoder DEC 1 xk y 1 k Interleaving Decoder DEC 1 y 2 k Deinterleaving 0 yk Bit slice 0 dk 57