1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Chương 5 mã hóa kênh

7 843 10

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 326,97 KB

Nội dung

CH ƯƠ NG 5: MÃ HÓA KÊNHðặng Lê Khoa Email: dlkhoa@fetel.hcmuns.edu.vn Facuty of Electronics & Telecommunications, HCMUS 1 N ộ i dung trình bày: Mã hóa kênh Channel coding Mã hóa khối

Trang 1

CH ƯƠ NG 5: MÃ HÓA KÊNH

ðặng Lê Khoa Email: dlkhoa@fetel.hcmuns.edu.vn

Facuty of Electronics & Telecommunications, HCMUS

1

N ộ i dung trình bày:

 Mã hóa kênh ( Channel coding )

 Mã hóa khối (Block codes) + Mã lập (Repetition Code) + Hamming codes

+ Cyclic codes

* Reed-Solomon codes

 Mã hóa chập (Convolutional codes) + Encode

+ Decode

 ðiều chế mã lưới (Trellis Coded Modulation)

2

S ơ ñồ kh ố i DCS

Format

Source

encode

Format

Source

decode

Channel encode

Pulse modulate

Bandpass modulate

Channel decode

Demod.

Sample Detect

Digital modulation

Digital demodulation

3

Channel coding là gì?

• Tín hi ệ u truy ề n qua kênh truy ề n s ẽ b ị ả nh h ưở ng b ở i nhi ễ u, can nhi ễ u, fading… là tín hi ệ u ñầ u thu b ị sai.

• Mã hóa kênh: dùng ñể b ả o v ệ d ữ ệ u không b ị sai

b ng cách thêm vào các bit d ư th ừ a (redundancy)

• Ý t ưở ng mã hóa kênh là g ở i m ộ t chu ỗ i bit có kh ả

n ng s ử a l ỗ i

• Mã hóa kênh không làm gi ả m l ỗ i bit truy ề n mà ch ỉ làm

gi ả m l ỗ i bit d ữ ệ u (b ả ng tin)

• Có hai lo ạ i mã hóa kênh c ơ b ả n là: Block codes và Convolutional codes

4

Các lo ạ i mã hóa s ử a sai

 Mã lập (Repetition Code)

 Mã khối tuyến tính (Linear Block Code), e.g

Hamming

 Mã vòng (Cyclic Code), e.g CRC

 Mã chập (Convolutional Code)

 Truy ề n th ố ng, gi ả i mã Viterbi

 Mã Turbo

 TCM

Mã l ậ p

Recovered state

Trang 2

Ki ể m tra ch ẵ n l ẻ (Parity Check)

 Thêm 1 bit ñể xor các bit có kết quả là 0

 D ữ ệ u truy ề n, s ử a l ỗ i, không th ể s ử a l ỗ i

 Ki ể m tra hàng và c ộ t

 Ứng dụng: ASCII, truyền dữ liệu qua cổng nối

tiế

7

Mã kh ố i tuy ế n tính (Linear block codes)

 Chuỗi bit thông tin ñược chia thành từng khối k bit

 Mỗi khối ñược encode thành từng khối lớn hơn có

n bit

 Các bit ñược mã hóa và gửi trên kênh truyền

 Quá trình giải mã ñược thực hiện ở phía thu

encoder Codeword

rate Code

bits Redundant

n

k R n-k

c=

8

Linear block codes – cont’d

 Khoảng cách Hamming giữa hai vector U và V, là

số các phần tử khác nhau

 Khoảng các tối thiểu của mã hóa khối là

 Ví dụ: Tính khoảng cách Hamming của C1: 101101

và C2:001100

 => Ta có thể giải mã ñể sửa sai bằng cách chọn

codewords có dmin

) ( ) (U, V =wUV

d

) ( min ) , ( min

i j i

100001 001100

101101 ⊕ =

9

Linear block codes – cont’d

 Khả năng phát hiện lỗi ñược cho bởi:

 Khả năng sửa lỗi t của mã hóa ñược ñịnh nghĩa là số lỗi tối ña có thể sửa ñược trên 1 từ

mã (codeword)





=

2

1

min

d t

1

min −

e

10

Linear block codes – cont’d

 Encoding trong bộ mã hóa khối (n,k)

 Các hàng c ủ a G thì ñộ c l ậ p tuy ế n tính.

mG

k n

k

k n

m m

m u u

u

m m m u u

u

V V

V

V V V

⋅ + +

⋅ +

=

=

2 2 2 1 1 2

1

2 1

2 1 2

1

) ,

,

,

(

) , , , ( ) ,

,

,

(

Linear block codes – cont’d

 Example: Block code (6,3)

=

=

1 0 0

0 1 0

0 0 1

1 1 0

0 1 1

1 0 1

3 2 1

V V V G

1

1 1

1 1

0 0

0 0

1 0

1 1

1 1

1 1 0

1 1 0

0 0 1

1 0 1

1 1 1

1 0 0

0 1

1 1 1 0

0 0 1

1 0 1

0 0 0

1 0 0

0 1 0

1 0 0

1 1 0

0 1

0 0 0 0

1 0 0

0 1 0

Message vector Codeword

Trang 3

Linear block codes – cont’d

 Mã hóa khối (n,k)

 k ph ầ n t ử ñầ u tiên (ho ặ c cu ố i cùng) trong t ừ mã là các

bit thông tin.

matrix ) (

matrix identity

] [

k n k

k k

k

k

k

×

=

×

=

=

P

I

I P G

) , , , , , , , ( ) , ,

,

(

bits message 2 1 bits parity 2 1 2

1 u u n p p  pn k mm m k

=

U

13

Linear block codes – cont’d

 ðối với bất kỳ mã hóa khối tuyến tính, chúng

ta có một ma trận Các hàng của

ma trận này trực giao với ma trận :

 H ñược gọi là ma trận kiểm tra parity và các hàng của chúng ñộc lập tuyến tính

 ðối với mã hóa khối truyến tính:

n k

n− ) ×

(

H

G 0

]

k

I

14

Linear block codes – cont’d

 Kiểm tra ñặc trưng:

S là ñặ c tr ư ng c ủa r, tư ng ứ ng v ới error pattern e.

Format Channel

encoding Modulation

Channel decoding Format Demodulation

Detection Data source

Data sink

U

r m

mˆ

channel

or vector pattern error

)

, ,

,

(

or vector codeword received

)

, ,

,

(

2

1

2

1

n

n

e

e

e

r

r

r

=

=

e

r

e U

T T

eH rH

15

Linear block codes – cont’d

 Mảng tiêu chuẩ

 Hàng ñượ c t ạ o thành b ằ ng cách c ộ ng U

v ớ i pattern

k k k

k

k k

2 2 2

2 2

2 2 2

2 2

2 2

1

U e U

e e

U e U

e e

U U

U

⋯ zero

codeword

coset

coset leaders

k n

i= 2 , 3 , , 2−

i

e

16

Linear block codes – cont’d

 Mảng tiêu chuẩn và ñặc trưng bảng giải mã

2 Tìm coset chính , t ư ng ứ ng v ớ i .

3 Tính và t ư ng ứ ng v ớ i

 Chú ý:

• N ế u , error ñượ c s ử a.

• N ế u , b ộ gi ả i mã không th ể phát hi ệ n l ỗ i.

T

rH

i

e

e r

) ˆ

( ˆ

ˆ r e U e) e U (e e

e

e=

ˆ

e

e

ˆ

Linear block codes – cont’d

 Ví dụ: Mảng chuẩn cho mã (6,3)

010110 100101

010001 010100 100000 100100 010000 111100 001000

000110 110111 011010 101101 101010 011100 110011 000100

000101 110001 011111 101011 101100 011000 110111 000010

000110 110010 011100 101000 101111 011011 110101 000001

000111 110011 011101 101001 101110 011010 110100 000000

Coset leaders

coset

codewords

Trang 4

Linear block codes – cont’d

111

010001

100

100000

010

010000

001

001000

110

000100

011

000010

101

000001

000

000000

(101110) (100000)

(001110) ˆ

ˆ

estimated is vector corrected The (100000) ˆ

is syndrome this to ing correspond pattern Error

(100) (001110)

: computed is of syndrome The

received.

is (001110)

ted.

transmit (101110)

= +

= +

=

=

=

=

=

=

=

e r U e

H rH

S

r r

U

T T

Error pattern Syndrome

19

 Là tr ườ ng h ợ p riêng c ủ a linear block codes

 Di ễ n t ả theo hàm c ủ a m ộ t s ố nguyên

Hamming codes

2

m

t m n-k m k

n

m m

1 : capability correction Error

: bits parity of Number

1 2 : bits

n informatio of Number

1 2 : length Code

=

=

=

=

20

Hamming codes

] [

1 0 1 1 1

0

0

1 1 0 1 0

1

0

1 1 1 0 0

0

1

3

T

P I

=

] [

1 0 0 0

1

1

1

0 1 0 0

0

1

1

0 0 1 0

1

0

1

0 0 0 1

1

1

0

4

4 ×

=

G

21

Mã hóa Hamming

 Mã hóa: H(7,4) Nhiều phép kiểm tra tổng Message=[a b c d]

r= (a+b+d) mod 2 s= (a+b+c) mod 2 t= (b+c+d) mod 2

Code=[r s a t b c d]

 Tốc ñộ mã: 4/7

 Càng nh ỏ , nhi ề u redundance bit, ñượ c b ả o v ệ t ố t h ơ n.

 Khác bi ệ t gi ữ a phát hi ệ n và s ử a l ỗ i

Message=[1 0 1 0]

r=(1+0+0) mod 2 =1 s=(1+0+1) mod 2 =0 t=(0+1+0) mod 2 =1

Code=[ 1 0 1 1 0 1 0 ]

22

Hamming codes

] [

1 0 1 1 1

0

0

1 1 0 1 0

1

0

1 1 1 0 0

0

1

3

T

P I

=

] [

1 0 0 0

1

1

1

0 1 0 0

0

1

1

0 0 1 0

1

0

1

0 0 0 1

1

1

0

4

4 ×

=

G

H(7,4)

 Ma trận sinh G: ñầu tiên là ma trận ñơn vị 4x4

 Dữ ệu truyền là vector p

 Vector truyền x (G=[I/P])

 Vector nhận r và vector lỗi e

Trang 5

S ử a l ỗ i

 Nếu không có lỗi, vector ñặc trưng (syndrome) z=zeros

 Nếu có 1 lỗi ở vị trí thứ 2

 Vector ñặc trưng z là

tương với cột thứ 2 của H Vậy, lỗi ñuợc phát hiện ở vị trí

thứ 2 và có thể sửa lại cho ñúng

25

ðộ l ợ i mã hóa (Coding Gain)

 Tốc ñộ mã R=k/n, k: số symbol dữ liệu, n tổng symbol

 SNR từ và SNR của bit

 V i một sơñồ mã hóa, ñộ lợi mã hóa tại mộ

sắc xuất lỗi bit ñược ñịnh nghĩa là sự khác biệ

giữa năng lượng cần thiết cho 1 bit thông tin ñã

mã hóa ñểñạt ñược sắc xuất lỗi cho trước và truyền dẫn không mã hóa

26

Ví d ụ ñộ l ợ i mã hóa

27

Example of the block codes

8PSK

QPSK

[dB]

/N0

E b

B P

28

Cyclic code

 Cyclic codesñược quan tâm và quan trọng vì

 D ự a trên c ấ u trúc ñạ i s ố và có th ể ứ ng d ụ ng r ộ ng

rãi.

 D ễ dàng th ự c hi ệ n b ằ ng thanh ghi d ịch (shift register)

 ðượ c ứ ng d ụ ng r ộ ng rãi trong th ự c nghi ệ m

 Trong thực nghiệm, cyclic codes ñược sử dụng

ñể phát hiện lỗi (Cyclic redundancy check, CRC)

 ðượ c s ử d ụ ng trong m ạ ng chuy ể n m ạ ch gói

 Khi có 1 l ỗ i ñượ c phát hi ệ n ở b ộ nh ậ n, chúng s ẽ

ñượ c yêu c ầ u truy ề n l ạ i

 ARQ (Automatic Repeat-reQuest)

Cyclic block codes

 Một mã tuyến tính (n,k) ñược gọi là Cyclic code nếu khi dịch vòng 1codeword thì ñó cũng

là codeword

 Ví d ụ :

) , , , , , , , ,

(

) , , , , (

1 2

1 0 1 1 )

1 2 1 0

− +

=

=

i n n

i n i n i

n

u u u u u u

u

u u u u

U

U “i” cyclic shifts of U

U U

U U

U

U

=

=

=

=

=

=

) 1101 ( ) 1011 ( ) 0111 ( ) 1110 ( ) 1101 (

) 4 ( )

3 ( )

2 ( )

1 (

Trang 6

Cyclic block codes

 Cấu trúc ñại số của Cyclic codes, suy ra

codewords ñược sinh ra từ

 Mối quan hệ giữa codeword và thanh ghi

dịch:

 V ậ y:

) 1 ( degree

)

1 2

2 1

n-u

n

− + + + +

=

U

) 1 ( ) (

, )

(

1 ) 1 (

) 1 ( 1 1 )

1 2 2 1 0 1

1 1 2 2 1 0

1 )

+ +

=

+ + + + + +

=

+ +

+

=

+

n n

X u n n n X

n n n

n n n n

X u X

u X u X u X u X u u

X u X u X u X u

X

X

n n

U

U

U





























) 1 ( modulo ) ( ) (

i

X X

X

U

By extension

) 1 ( modulo ) ( ) (

) 1 ( = n+

X X X

X U U

31

Cyclic block codes

 Thuật toán mã hóa Cyclic code (n,k):

1 Nhân thông tin v ớ i chu ỗ i b ằ ng

2 Chia k ế t qu ả b ướ c 1 v ớ i ñ a th ứ c sinh

L y là ph ầ n d ư

3 Thêm vào ñể t o thành codeword

)

( X

)

( X

g

)

( X

p

)

( X

p X n k ( X)

m

)

( X

U

32

Cyclic block codes

 Example: For the systematic (7,4) Cyclic

code with generator polynomial

1 Find the codeword for the message

) 1

1

1

(

1 ) ( )

(

)

(

: polynomial codeword

the

Form

1 ) 1 ( 1

( : (

by ) (

Divide

) 1 ( ) ( )

(

1 ) ( )

1011

(

3

,

4

,

7

bits message

bits

parity

6 5 3 3

) remainder generator 3 quotient

3 2 6

5

3

6 5 3 3 2 3 3

3 2























 



 



=

+ + +

= +

=

+ + + + + +

=

+

+

+ +

= + +

=

=

+ +

=

=

=

=

=

U

m p

U

g m

m m

m

m

p g q

X X X X X

X

X

X X X X X X

X

X

X) X

X

X X X X X X X X

X

X

X X X k n

k

n

X (X) (X)

k

n

k

n

) 1011 (

=

m

3

1 ) (X = +X+X

g

33

Cyclic block codes

 Find the generator and parity check matrices, G and H,

respectively.

=

=

⋅ +

⋅ +

⋅ +

=

1 0 1 1 0 0 0

0 1 0 1 1 0 0

0 0 1 0 1 1 0

0 0 0 1 0 1 1

) 1101 ( ) , , , ( 1 0 1 1 )

G

Not in systematic form.

We do the following:

row(4) row(4) row(2) row(1)

row(3) row(3) row(1)

→ + +

→ +

=

1 0 0 0 1 0 1

0 1 0 0 1 1 1

0 0 1 0 1 1 0

0 0 0 1 0 1 1

G

=

1 1 1 0 1 0 0

0 1 1 1 0 1 0

1 1 0 1 0 0 1

H

4

×

T

P P

34

Cyclic block codes

 Giải mã Cyclic code:

 T ừ mã ở b ộ thu ñượ c cho b ở i

 ðặ c tr ư ng ở ph ầ n d ư có ñượ c b ằ ng cách chia chu ỗ i nh ậ n

cho ñ a th ứ c sinh:

 V i ñặ c tr ư ng và m ả ng tiêu chu ẩ n, l ỗ i s ẽ ñượ c ướ c

l ượ ng.

) ( ) ( ) (X UX e X

Received

codewor

d

Error pattern

) ( ) ( ) ( ) (X qX gX SX

Ví d ụ CRC

Trang 7

Checking for errors

37

 Một lỗi E(X) không thể phát hiện khi chúng chia

h t cho G(x) Ngược lại, thì có thể phát hiện lỗi

 Có khả năng mạnh mẽ trong phát hiện lỗi

38

BCH Code

 Có kh ả n ă ng s ử a ñượ c nhi ề u l ỗ i

 D ễ dàng th ự c hi ệ n mã hóa và gi ả i mã

 Các chuẩn trong công nghiệ

- (511, 493) mã hóa BCH trong ITU-T Chuẩn

H.261- một chuẩn mã hóa video ñược sử dụng

cho video conferencing và video phone

 (40, 32) mã hóa BCH trong ATM (Asynchronous

Transfer Mode)

39

BCH Performance

40

Reed-Solomon Codes

 Một trường hợp riêng của non-binary BCH

 ðược ứng dụng rộng rãi

 Storage devices (tape, CD, DVD…)

 Wireless or mobile communication

 Satellite communication

 Digital television/Digital Video Broadcast(DVB)

 High-speed modems (ADSL, xDSL…)

Ngày đăng: 06/12/2015, 21:35

TỪ KHÓA LIÊN QUAN

w