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

ĐIỆN tử VIỄN THÔNG 2 error correction code khotailieu

39 103 2

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 1,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các đa thức sinh chuẩn... Parity Check Equations Rearrange parity check equations:  All codewords must satisfy these... Minimum distance of Hamming Code Previous slide shows that u

Trang 1

Điều khiển lỗi

 Các ứng dụng dữ liệu yêu cầu truyền không lỗi

 Các ứng dụng Voice & video có thể chấp nhận một số lỗi

không đáp ứng được yêu cầu của ứng dụng

truyền với một mức chính xác nhất định ngay cả khi có lỗi

 Hai giải pháp cơ bản:

Phát hiện lỗi và truyền lại (ARQ)

Sửa lỗi tiến (FEC )

Trang 2

Kiểm tra Chẵn/Lẻ đơn bit

Bổ sung thêm parity check chung vào k bit thông tin

Info Bits: b1, b2, b3, …, bk

Check Bit: bk+1= b1+ b2+ b3+ …+ bk modulo 2 Codeword: (b1, b2, b3, …, bk,, bk+1)

 Tất cả các từ mã có số bit 1 chẵn

 Máy thu kiểm tra xem số bit 1 có chẵn không

 Tất cả các mẫu lỗi chuyển số bit 1 thành lẻ không phát hiện được

 Tất cả các mẫu chẵn không phát hiện được

 Parity bit sử dụng ở mã ASCII

Trang 3

 Lỗi phát hiện được

 Nếu lỗi ở bit 3 và 5: (0, 1, 1 , 1, 0 , 0, 0, 1 )

 Số bit 1 =4, CHẴN

 Lỗi không phát hiện được

Trang 4

Bít kiểm tra & Phát hiện lỗi

Tính toán bit

Thông tin chấp nhận được nếu các bit kiểm tra phù hợp

Bit kiểm tra thu được

k bits

n – k bits

Trang 5

Mã kiểm tra chẵn/lẻ nào tốt?

sung 1 bit dư thừa vào k bit thông tin: overhead = 1/(k + 1)

có thể phát hiện được

 Liệu có thể phát hiện được nhiều lỗi hơn nếu chúng ta bổ sung thêm nhiều bit kiểm tra?

 Trả lời: Có, với các mã phù hợp

Trang 6

Kiểm tra chẵn/lẻ 2 chiều

Last column consists

of check bits for each row

 Cải tiến khả năng phát hiện lỗi so với parity 1 bit

 Sử dụng nhiều bit chẵn lẻ hơn  cải thiện vùng phủ

 Sắp xếp thông tin theo cột

 Bổ sung bit chẵn lẻ đơn cho mỗi cột

 Bổ sung một cột “parity” cuối cùng

 Sử dụng ở các hệ thống điều khiển lỗi thời kỳ đầu

Trang 7

 Không phải phát tất cả các mẫu có số lỗi > 4 đều có thể phát hiện được

 Số bit kiểm tra nhiều, không

hiệu quả

Trang 8

Các mã phát hiện lỗi khác

 Nhiều ứng dụng yêu cầu tỉ lệ lỗi bit thấp

 VD: các bộ codec yêu cầu BER <= 10-3 để giải mã

 Cần các mã có thể phát hiện được nhiều mẫu lỗi hơn

 Các mã kiểm tra parity đơn không phát hiện đủ các lỗi

 Mã kiểm tra sử dụng 2-D parity yêu cầu quá nhiều bít kiểm tra

 Thực tế các mã phát hiện lỗi sau đây được sử dụng:

 Hamming

 Internet Check Sums

Trang 9

Mã đa thức (CRC)

hiện và sửa lỗi

từ mã

sửa lỗi tính năng cao

Trang 11

Chia đa thức nhị phân

Thương số

Sô dư

Số bị chia

1222 = 34 x 35 + 32 dividend = quotient x divisor +remainder

x3

Note: Bậc của r(x) nhỏ hơn bậc

của đa thức chia

Trang 12

Nguyên lý mã đa thức

Biểu diễn bằng đa thức: các dấu thông tin, codeword,

error vector với các hệ số nhị phân

K bit thông tin được biểu diễn bởi đa thức bậc k-1

Mã hóa: sử dụng i(x) để tạo ra từ mã b(x) có chứa các

bit thông tin và các bit kiểm tra theo một qui luật nhất

định

Mã đa thức được xác định bởi đa thức sinh g(x) có dạng

với gk là các số nhị phận, (n-k) là số bít kiểm tra

Kiểm tra: dựa trên từ mã thu được, kiểm tra lại qui luật

xem có thỏa mãn không  phát hiện lỗi

(ik-1 , ik-2 ,…, i2 , i1 , i0) i(x)= ik-1xk-1 + ik-2xk-2 + … + i2x2 + i1x + i0

g(x) = xn-k + gn-k-1xn-k-1 + … + g2x2 + g1x + 1

Trang 13

Nguyên lý mã đa thức

Sequence) sao cho frame gởi đi (k+n bit) chia hết cho 1 số xác định trước

  

phần dư bằng 0 thì có khả năng không có lỗi

Trang 14

Các đa thức sinh chuẩn

Trang 15

Số chia P (G(x))

 Dài hơn 1 bit so với FCS mong muốn

 Được chọn tùy thuộc vào loại lỗi mong muốn phát hiện

 Yêu cầu tối thiểu: msb và lsb phải là 1

Trang 16

Xác định FCS

 M(x): message dữ liệu cần truyền k bit

G(x): Đa thức sinh bậc n {có (n+1 ) bit}

T(x): frame được truyền (n+k) bit (gồm k bit thông tin và n bit FCS)

 Xác định FCS:

Nhân M(x) với 2n (Dữ liệu dịch trái n bit) ta được M’(x)

Chia M’(x) cho đa thức sinh ta được số dư là FCS

Ví dụ 1

 Dữ liệu cần truyền: 1001001 (k = 7 bits) → đa thức biễu diễn:M(x) = X6 + X3 + 1

 Cho số chia 1001: đa thức sinh P(x) =X3 + 1 (n = 3 bits)

 Dữ liệu dịch trái n bits:

2n M(x) = X9 + X6 + X3

Dữ liệu được truyền: 1001001001

Trang 17

1110101110101011010

Trang 18

Khả năng phát hiện lỗi

 Tr = T + E

 T: frame được truyền

 Tr: frame nhận được

 E: error pattern

 Error không bị phát hiện nếu và chỉ nếu Tr chia hết cho P (i.e iff E chia hết cho P)

 Các lỗi được phát hiện

 Tất cả các lỗi bit đơn

 Tất cả các lỗi kép nếu P có ít nhất 3 toán hạng

 Một số lẻ lỗi bất kỳ nếu P chứa 1 thừa số (X+1)

 Bất kỳ lỗi chùm nào mà chiều dài của chùm nhỏ

hơn chiều dài FCS

 Hầu hết các lỗi chùm lớn hơn

Trang 19

  Xác suất lỗi cao, truyền lại nhiều

  Thời gian trễ truyền lớn hơn nhiều thời gian truyền dữ liệu

  Khối dữ liệu được truyền lại bị lỗi và nhiều khối dữ liệu khác tiếp theo

  Cần thiết sửa lỗi dựa vào các dữ liệu nhận

Trang 20

 Phát hiện các lỗi có số lỗi lẻ

tất cả các lỗi có số lỗi lẻ đều phát hiện được

số bit 1 chẵn

thủy

Trang 21

21

Trang 22

Mã Hamming

Là loại mã sửa sai

 Có thể sửa tất cả các mẫu lỗi đơn

 Gọi m là số bít của chuỗi dữ liệu và n là số bít của mã Hamming, tổng số bít phát đi là m+n

 Với n = 1 ta xác định được 1 trong 2 kết quả : chuỗi dữ liệu sai hoặc đúng nhưng không biết vị trí lỗi.

 Với n = 2, 1 trong 4 trường hợp xảy ra: 2 phép kiểm tra đều cho kết quả đúng, 2 phép kiểm tra đều cho kết quả sai, phép kiểm tra thứ nhất sai, phép kiểm tra thứ hai đúng và ngược lại 4 trường hợp này cho phép kết luận được 1 bít sai ở 1 trong 3 vị trí.

Redundancy

Trang 23

 Các bít của mã Hamming chèn vào vị trí 2n

và dùng cho kiểm tra chẵn lẻ Các bít khác là bít thông tin (dữ liệu).

Trang 24

Nguyên tắc lập mã Hamming

Thuật toán cho việc sử dụng bit chẵn lẻ trong 'mã

Hamming' thông thường cũng tương đối đơn giản:

Tất cả các bit ở vị trí là các số mũ của 2 (powers of two)

được dùng làm bit chẵn lẻ (các vị trí như 1, 2, 4, 8, 16, 32,

64 v.v hay nói cách khác 20, 21, 22, 23, 24, 25, 26 v.v.)

Tất cả các vị trí bit khác được dùng cho dữ liệu sẽ được mã hóa (các vị trí 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.)

Mỗi bit chẵn lẻ tính giá trị chẵn lẻ cho một số bit trong từ

mã (code word) Vị trí của bit chẵn lẻ quyết định chuỗi các bit mà nó luân phiên kiểm tra và bỏ qua (skips):

Bỏ qua (n-1) bit, kiểm tra n bit, bỏ qua n bit, kiểm tra n bit.v.v…

Trang 25

Nguyên tắc lập mã Hamming

 Vị trí 1 (n=1): bỏ qua 0 bit(n-1), kiểm 1 bit(n), bỏ qua 1 bit(n), kiểm 1 bit(n), bỏ qua 1 bit(n), v.v

 Vị trí 2(n=2): bỏ qua 1 bit(n-1), kiểm 2 bit(n), bỏ qua 2 bit(n), kiểm 2 bit(n), bỏ qua 2 bit(n), v.v

 Vị trí 4(n=4): bỏ qua 3 bit(n-1), kiểm 4 bit(n), bỏ qua 4 bit(n), kiểm 4 bit(n), bỏ qua 4 bit(n), v.v

 Vị trí 8(n=8): bỏ qua 7 bit(n-1), kiểm 8 bit(n), bỏ qua 8 bit(n), kiểm 8 bit(n), bỏ qua 8 bit(n), v.v

 Vị trí 16(n=16): bỏ qua 15 bit(n-1), kiểm 16 bit(n), bỏ qua 16 bit(n),

kiểm 16 bit(n), bỏ qua 16 bit(n), v.v

 Vị trí 32(n=32): bỏ qua 31 bit(n-1), kiểm 32 bit(n), bỏ qua 32 bit(n),

kiểm 32 bit(n), bỏ qua 32 bit(n), v.v

 và tiếp tục như trên

 Nói cách khác, bit chẵn lẻ tại vị trí 2k kiểm các bit ở các bit ở vị trí t có giá trị logic của phép toán AND giữa k và t là khác 0

Trang 26

Mã Hamming

Ví dụ:

Giả sử chuỗi dữ liệu cần truyền gồm 4 bít như sau :

1 0 1 0 Với m = 4 , ta chọn n = 3, bất đẳng thức trên được thỏa mãn Gọi các bít của mã Hamming là H1 H2 và H4 (1, 2, 4 là các vị trí mà ta sẽ đặt 3 bít của mã Hamming vào dòng dữ liệu) Gọi các bít dòng dữ liệu là X 3 , X 5 , X 6 , X 7

Tổ hợp các bít dữ liệu và bít mã, ta đươc  

1 2 3 4 5 6 7

H1 H2 X3 H4 X5 X6 X7Giả sử ta chọn Parity chẵn, các bít mã sẽ được xác định như sau:

H1 X3  X5  X7 = 0

H1 =X3  X5  X7 =1  ( 0  0 ) = 1  0 = 1 Tương tự:

H 2 = X 3  X 6  X 7 = 1  ( 1  0 ) = 1  1 = 0

H4 = X5  X6  X7 =0  ( 1  0 ) = 0  1 Bản tin bao gồm bít mã trở thành: 1 0 1 1 0 1 0

Trang 27

Nguyên tắc tạo mã Hamming

Ở máy thu để kiểm tra người ta thực hiện các phép toán:

C1 = H1 X3  X5  X7

C2 = H2 X3  X6  X7

C4 = H4 X5  X6  X7 Nếu C1=C2=C4=0, không có lỗi xảy ra

Nếu C1 = 1, C2 = C4 = 0, một trong các bít 1, 3, 5, 7 bị lỗi Nhưng C2 = C4 = 0 có nghĩa là các bít 2, 3, 6, 7 và 4,

5, 6, 7 đã đúng Vậy bít sai phải là bít 1

Lý luận tương tự ta có các trường hợp khác Thí dụ nếu C1= C2 = C4 = 1 thì bít lỗi là bít 7

Trang 28

Nếu tổ hợp này bằng 0 chứng tỏ bản tin nhận đúng Mã Hamming có thể được phát triển để dò ra hai bít

sai và sửa được một bit lỗi

Trang 29

Ví dụ: 15 bit data, 5 bit parity

Bit position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Bất kỳ một bit nào đều có một vùng phủ parity duy nhất

 VD: chỉ mình bit 12 (d8) được phủ bởi p3 và p4  mã Hamming có thể sửa bất kỳ lỗi đơn nào (SEC code)

Trang 30

Ví dụ: mã Hamming (7,4)

Data word (with parity): 1 0 0 0 1 1 0 0 1 0 1

Calculation of Hamming code parity bits

Ví dụ cho từ: 0110101

Trang 31

Nguyên tắc sửa sai

Giả thiết bít cuối cùng bị thu lỗi: 10001100101 10001100100

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Parity check Parity bit Received data word: 1 0 0 0 1 1 0 0 1 0 0

Checking of parity bits (switched bit highlighted)

Parity mới 1011=11 cần sửa bit thứ 11 = Đảo dấu

Trang 32

m = 3 Hamming Code

Information bits are b1, b2, b3, b4

Phương trình kiểm tra cho parity b5, b6, b7

b5 = b1 + b3 + b4

b6 = b1 + b2 + b4

b7 = + b2 + b3 + b4

Trang 34

Parity Check Equations

 Rearrange parity check equations:

 All codewords must satisfy these

Trang 35

0010000

s = H e = = 10

1

Single error detected

0100100

s = H e = = + =01

1

Double error detected

100

1 0 1 1 1 0 0

1 1 0 1 0 1 0

0 1 1 1 0 0 1

1110000

101

Error Detection with Hamming Code

Trang 36

Minimum distance of Hamming Code

 Previous slide shows that undetectable error pattern must have 3 or more bits

 At least 3 bits must be changed to convert one codeword into another codeword

b1 o o b2

oo

Trang 37

General Hamming Codes

through the check matrix H:

of H

code with g(x) of degree m that is equivalent

to a Hamming code and corrects all single

errors

Trang 38

Error-correction using Hamming Codes

s = HR = H (b + e) = Hb + He = He

codeword

Hamming decoder assumes a single error has occurred

 Each single-bit error pattern has a unique syndrome

 The receiver matches the syndrome to a single-bit error

Trang 39

Performance of Hamming

Error-Correcting Code

and with probability p

Ngày đăng: 12/11/2019, 13:22

TỪ KHÓA LIÊN QUAN

w