0% found this document useful (0 votes)
10 views

W14L1-Coding_Part2(디지털통신)(1)

Uploaded by

rlatmdgus0920
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

W14L1-Coding_Part2(디지털통신)(1)

Uploaded by

rlatmdgus0920
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

디지털통신시스템(W14L1)

Coding - Part 2
오류 정정…

전북대학교 전자공학부 송상섭


Error Correcting Codes란?
--- 오류 정정 부호란? ---

 채널은 불완전하다…틀리고…오류가 발생하고…

 건축가  지진에 견디는 건물을 설계…


 ECC 전문가  mathematical insurance against an imperfect digital
world..

 잡음 : lightning, human error, equipment malfunction, voltage surge,…

 Murphy’s Law
“If anything can go wrong, it will go!”

2
Redundancy를 이용

CODNG THEORY IS AN INTRSTNG SUBJCT


 CODING THEORY IS AN INTERISTING SUBJECT

전지공학과  전기공학과, 전자공학과

3
Good ECC(채널 코드)라면…
 오류를 정정할 수 있어야 하고,
 Encoding/ decoding을 고속/ 고효율로 할 수 있고,
 Redundancy를 최소로 사용한다.

Information Channel Modulator


source encoder

C
H
A
N Noise
N
E
L

Use of Channel Demodulator


Information decoder

4
Error Correction Codes

Linear Block Code

Cyclic Code
<Meggitt> Convolutional
Code
BCH Code
Turbo code

CDMA
RS
CD-ROM
Code
QR-code

5
Repetition Code
송신측 수신측 majority vote

m  c0c1c2 r0r1r2  m r0r1r2  m 1 bit error can be


0  000 000  0 110  1 corrected
1  111 001  0 101  1
010  0 011  1
100  0 111  1

6
3 Cards
#1 #2 #4

1357 2367 4567

421
0 000
1 001 2
2 010 3 6
3 011 7
4 100 1 5 4
5 101
6 110
7 111

7
Encoder b1 b 2 b 3 b 4 b 5 b 6 b7 Bit position
1 0 1 1 4-bit message
b1 : 1 3 5 7 Even parity checks
(7, 4) b2 : 2 3 6 7
b4 : 4 5 6 7
Hamming
0 1 1 0 0 1 1 Tx codeword
Code
X Channel error
0 1 0 0 0 1 1 Received word

Decoder b1 b3 b5 b7 = 0001 fail  1


Syndrome = 011=3
b2 b3 b6 b7 = 1011 fail  1
 b3 is in error
b4 b5 b6 b7 = 0011 pass  0
1 Channel error
0 1 1 0 0 1 1 Recovered word
1 0 1 1 Original message

(7, 4) Hamming code를 사용하면, 7비트 중 1비트의 오류는 정정 가능하다.


8
(7, 4) Hamming Code의 성능
Uncoded message bits (channel) Coded bits

BER(coded) before correction


pc  0.001
Message block 오율
7
7
p M     pcj (1  pc ) 7  j
j
j2  

 1  (1  pc ) 7  7 pc (1  pc ) 6
 1  (0.999) 7  7  0.001(0.999) 6
 1  0.993  0.00696
 4  10 5

BER(coded) after correction


pb  p M / 4  10 5
9
(15, 11) Hamming Code 8421
0 0000

#1 1, 3, 5, 7, 9, 11, 13, 15 1 0001


2 0010
3 0011
#2 2, 3, 6, 7, 10, 11, 14, 15
4 0100
5 0101
#4 4, 5, 6, 7, 12, 13, 14, 15
6 0110
7 0111
#8 8, 9, 10, 11, 12, 13, 14, 15
8 1000
9 1001

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
10 1010
11 1011
p1 p2 1 p4 0 1 1 p8 0 0 1 0 1 0 1
12 1100
13 1101
질문 1. Determine parity checks p1, p2, p3, p4.
14 1110
2. Decode r = 1011 0100 1001 0010 15 1111

Hamming code는 DDR4/DDR5 RAM 등에도 사용된다.


10
에러 패턴과 채널 부호…
 에러 패턴
 산발적 에러 (random error) : 에러가 떨어져 있으면 채널 부호가
고칠 수 있으나…
 연속적 에러 (burst error) : 일단 에러가 몰려 있으면…

 채널 부호
 해밍 부호, RS 부호, 터보 부호, LDPC 부호, …
 Galois field, …

 Coded system의 성능은?

11
BPSK…
BPSK Eb BPSK BER
변조 N0 복조 PB  Q( 2 Eb / N 0 )

BER
PB  1.02  10 5 Coherent
BPSK

9.6 dB
12
sn=0.1 BER=0.762*10-23 sn=0.2 BER=0.287*10-6

sn=0.3 BER=0.434*10-3 sn=0.5 BER=0.0228

13
Coded BPSK…

BPSK Eb BPSK BER(uncoded)


변조 N0 복조 PB ,u  Q( 2 Eb / N 0 )

(n, k) BPSK BPSK t 개까지


부호화 변조 E c  k  Eb 복조 오류수정
 
N0  n  N0
BER(coded) before correction
p  Q( 2 Ec / N 0 )

BER(coded) after correction


1 n n j
PB ,c   j   p (1  p ) n  j
n j t 1  j 

14
1 p correct
PB,coded with (n, k, t) Code… p error

n
1
j 
n j
PB ,c 
n

j  t 1 

j
p (1  p ) n  j

1 n 2
When t=1, PB ,c  2  p (1  p ) n  2
n 2
 (n  1) p 2 (1  p ) n  2
 (n  1) p 2 , when p is small

B. Sklar, Digital communications: fundamentals and applications, 2nd ed., PH, 2001

15
BER(uncoded)
Coded BPSK… PB ,u  Q( 2 Eb / N 0 )  Q( 18.24 )
(n, k, t) = (15, 11, 1) 부호  1.02  10  5
Eb
 10 0.96  9.12(9.6 dB)
N0
E c  k  Eb Ec 11 Eb
    6.69(8.3 dB)
N0  n  N0 N 0 15 N 0
BER(coded) before correction
p  Q ( 2 Ec / N 0 )
p  Q( 13.38 )  1.36  10  4

PB ,c  ( n  1) p 2 BER(coded) after correction


when p is small PB ,c  (n  1) p 2
 14  (1.36  10  4 ) 2
 2.59  10  7

16
Matlab code
Eb_No = 10^-1:0.1:1000;
Ec_No = Eb_No*11/15; PB ,c  (n  1) p 2
ENR = 10*log10(Eb_No);
PBu = Q(sqrt(2*Eb_No));
semilogy(ENR,PBu,'k');
hold on;
p = Q(sqrt(2*Ec_No));
PBc = 14 * p^2;
semilogy(ENR,PBc,'r');
grid on;
axis([0,15,10^-9,1])
xlabel('Eb/No');
ylabel('Coded BPSK and uncoded BPSK');
% function Qfunct = Q(x)
% Qfunct = 0.5*erfc(x/sqrt(2));

17
Better Performance…

BER(uncoded)
PB ,u  1.02  10 5

BER(coded) after correction


PB ,c  2.59  10  7 9.6 dB

18
Coding Gain…
Or lower Eb/N0 for the
same performance !!

BER(uncoded)
PB ,u  1.02  10 5

BER(coded)
PB ,c  1.02  10 5 8.1 dB 9.6 dB
Coding gain of 1.5 dB
19
And More …
Decoded bit-error probability, pb

Hamming (7, 4) t = 1
Hamming (15, 11) t = 1
Hamming (31, 26) t = 1
Extended Golay (24, 12) t = 3
BCH (127, 36) t = 15
BCH (127, 64) t = 10

Uncoded

Greater CG
Eb/N0 dB

20
요약
 3 codings
 Source codes(압축) – mp3, jpeg, mpeg
 Secrecy codes(보안) – DES, AES, RSA
 Channel codes(보호) – block(Hamming, BCH, RS, LDPC),
convolutional, turbo, …

21
요약…

22

You might also like