Trường Đại học Khoa Học Tự Nhiên Khoa Điện tử viễn thông Bài 7 MÃ HÓA KÊNH Nội dung 1 Giới thiệu 2 Các giải pháp kiểm soát lỗi 3 Mã lặp 4 Mã kiểm tra chẵn lẻ 5 Mã khối 6 Mã chập 1 Nội dung Tài nguyên[.]
Trang 1Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Trang 2Tài nguyên thông tin:
Công suất, tốc độ & băng thông
2
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Định lý dung lượng kênh (Shannon-Hartley):
2
-> tồn tại phương pháp mã hóa kiểm soát lỗi
Các phương pháp mã hóa kiểm soát lỗi:
-ARQ (Automatic Repeat Request): phát hiện lỗi và tự động yêu cầu truyền lại
-FECC (Forward Error Correction Coding): phát hiện lỗi và sửa lỗi
GiỚI THIỆU
Giới thiệu
Trang 3Types of Error Control
Các loại kết nối đầu cuối
Faculty of Electronics & Telecommunications HCMUS [3]
Trang 4Automatic repeat request (ARQ)
Faculty of Electronics & Telecommunications HCMUS [4]
Trang 5Một số loại mã hóa sửa sai
Trang 6MÃ LẶP
Faculty of Electronics & Telecommunications HCMUS [6]
Trang 7Mã lặp
Trong trường hợp truyền bit “0” và bit “1”, ta có thể thực hiệnnhư sau:
Việc khôi phục dữ liệu dự vào số bit nào nhận được nhiều hơn
Faculty of Electronics & Telecommunications HCMUS [7]
Trang 8MÃ KIỂM TRA CHẴN LẺ
(PARITY CHECK)
Faculty of Electronics & Telecommunications HCMUS [8]
Trang 9Kiểm tra chẵn lẻ (Parity Check)
Thêm 1 bit, sau cho tổng số bit “1” là một số chẵn (parity chẵn,kết quả xor bằng 0), hoặc lẻ (parity lẻ)
– Kiểm tra dữ liệu truyền, không thể sửa lỗi
9
Gửi kèm dữ liệu và một bit parity để báo hiệu tổng số bit ‘1’
trong từ mã là một số chẵn hay là số lẻ
- Phương pháp parity chẵn: tổng số bit 1 là một số chẵn
- Phương pháp parity lẻ: tổng số bit 1 là một số lẻ
Ví dụ: Một từ mã có 8 bit dữ liệu và 1 bit parity
+ Parity chẵn: P = 0
+ Parity lẻ: P =1
Trang 10Kiểm tra chẵn lẻ (Parity Check)
Thêm 1 bit, sau cho tổng số bit “1” là một số chẵn (parity chẵn,kết quả xor bằng 0), hoặc lẻ (parity lẻ)
– Kiểm tra dữ liệu truyền, không thể sửa lỗi
10
Trang 11MÃ KHỐI TUYẾN TÍNH
(LINEAR BLOCK CODES)
Faculty of Electronics & Telecommunications HCMUS [11]
Trang 12MÃ KHỐI TUYẾN TÍNH
Định nghĩa:
12
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Mã khối tuyến tính – Định nghĩa
Bộ mã hóa khối
n bits
k bits tin
Trang 13MÃ KHỐI TUYẾN TÍNH
Phương pháp mã hóa:
13
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Gọi vectơ m chứa k bits thông tin cần mã hóa: m = [m0, m1,….mk-1 ]
và vectơ c chứa m = n – k bits kiểm tra: c = [c0, c1,….cm-1 ]
-> Vectơ từ mã của mã khối tuyến tính (n,k):
1 [ ]
1 0 0 0 1 0
Trang 14MÃ KHỐI TUYẾN TÍNH
Xác định các bits kiểm tra:
14
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
00 01 0, 1
10 11 1, 1 [1 ] [1, ] [ , ] 0 1 1
Trang 15MÃ KHỐI TUYẾN TÍNH
Xác định từ mã :
15
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Trang 16MÃ KHỐI TUYẾN TÍNH
16
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Trang 17MÃ KHỐI TUYẾN TÍNH
Xác định ma trận
kiểm tra H :
17
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Trang 18MÃ KHỐI TUYẾN TÍNH
Phương pháp giải mã:
18
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Gọi từ mã phát đi: u = [c0 , c1,….cm-1 / m0 , m1,….mk-1 ]
Gọi từ mã thu được: r = [r0 r1,….rn-1 ]
Vectơ sai: e = [e0 e1,….en-1 ]
trong đó: ei =1 nếu ti ≠ ri và ei =0 nếu ti = ri
Thuật toán giải mã Syndrome (đặc trưng):
Trang 19MÃ KHỐI TUYẾN TÍNH
Thuật toán giải mã Syndrome:
19
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Bước 1: Tính Syndrome s = rH T
Bước 2: Tìm e i = rH T -> Vectơ sai gây bởi kênh truyền
Bước 3: Giải mã tín hiệu thứ r -> u = r +e
Giải mã Syndrome
Trang 20MÃ KHỐI TUYẾN TÍNH
Tính vectơ Syndrome :
20
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Giải mã theo thuật toán Syndrome có ma trận H đã cho với
vectơ mã thu được :
Trang 21MÃ KHỐI TUYẾN TÍNH
Tính vectơ Syndrome :
21
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Giải mã theo thuật toán Syndrome có ma trận H đã cho với
vectơ mã thu được :
r = [r0 r1 r2 r3 r4 r5 r6] = [1 0 0 1 0 0 1]
Ví dụ: Cho từ mã u = [ c 0 , c 1 , c 2 , m0, m1 , m2 , m3] = [1 0 0 1 0 1 1 ]
Trang 22MÃ HAMMING
Các thông số:
22
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Chiều dài từ mã: n = 2 m - 1
Chiều dài phần thông tin: k = 2 m - m - 1
Chiều dài phần kiểm tra: m = n - k
Khả năng sửa sai: t = 1 (d min =3)
Mã Hamming
– 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 m ≥ 2
Trang 23MÃ HAMMING
Ma trận kiểm tra H:
23
Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Dưới dạng cấu trúc hệ thống: H m,n = [I m,m / Q m,k ]
Ma trận Q gồm k = 2 m –m – 1 cột, mỗi cột là vectơ m
chiều có trọng số ≥ 2
Để việc tạo và giải mã thuận tiện, ta thay đổi vị trí các cột
trong ma trận H, khi đó các bit kiểm tra xen kẽ với các bit thông
tin ở các vị trí thứ nhất, thứ hai, thứ tư ….(2i), i = 0, 1, 2,
Trang 24Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Trang 25Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Trang 26Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Phương pháp giải mã theo thuật toán Syndrome:
Trang 27Trường Đại học Khoa Học Tự Nhiên
Khoa Điện tử - viễn thông
Ví dụ: Tín hiệu thu được r = [r0 r1 r2 r3 r4 r5 r6 ] = [0 1 1 0 0 0 1]
Trang 28Nguyên lý mã hoá
Faculty of Electronics & Telecommunications HCMUS [28]
- 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 parity:
Vị trí: 1, 2, 4, 8, 16… (20, 21, 22, 23, 24 …)
- Tất cả các vị trí bit khác được dùng cho dữ liệu sẽ được mãhóa
Vị trí: 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17 )
- Mỗi bit parity dùng để tính parity chẵn cho một số bit trong
từ mã Vị trí của bit parity quyết định các bit mà nó luân phiênkiểm tra và bỏ qua
- Ví dụ Mã hoá Hamming (7,4)
P1 P2 D1 P3 D2 D3 D4
Trang 29Phương pháp tính Parity
Faculty of Electronics & Telecommunications HCMUS [29]
-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ị 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ị 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ị 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), …
Bit chẵn lẻ tại vị trí 2k kiểm các bit ở các vị trí bit k có giá trị
bằng 1(2). Ví dụ bit thứ 13 = 1101(2), được kiểm bởi các bit
1000(2) = 8(10), 0100(2)=4(10) và 0001(2) = 1(10)
Đây cũng là nguyên lý giải mã
Trang 30Độ lợi mã hóa (Coding Gain)
Tốc độ mã R=k/n, k: số symbol dữ liệu, n tổng symbol
SNR của từ mã và SNR của bit
– Eblà năng lượng bit và Es là năng lượng ký hiệu nhận
Với một sơ đồ mã hóa, độ lợi mã hóa tại một sác xuất lỗi bitđược định nghĩa là sự khác biệt giữa năng lượng cần thiết cho 1
bit thông tin đã mã hóa so với không mã hóa để đạt được sác
xuất lỗi cho trước
Trang 31Ví dụ độ lợi mã hóa
31
Trang 32Example of the block codes
Trang 33CYCLIC CODE
Faculty of Electronics & Telecommunications HCMUS [33]
Trang 34Cyclic block codes
Một mã tuyến tính (n,k) được gọi là Cyclic code nếu khi dịchvòng 1codeword thì đó cũng là codeword
Trang 35Cyclic block codes
Thuật toán mã hóa Cyclic code (n,k):
Trang 36Ví dụ
Cho mã hóa vòng (7,4), với đa thức sinh là:
Tìm từ mã cho chuỗi bit truyền theo thứ tự là
g
36
Trang 37Kiểm tra lỗi ở đầu thu
Giải mã Cyclic code:
– Từ mã ở bộ thu được cho bởi
– Đặc trưng là phần dư có được bằng cách chia chuỗi nhận cho đa thức
Error pattern