Hồ Văn KhươngGiải ma LT codeQuá trình giải mã LT decoding process c ng sử dụng toán tử XOR để khôi phục các gói được mã hóa theo thủ tục như sau: H HNếu gói hiện tại không “sạch”, tức là
Trang 1TRUONG DAI HOC BACH KHOA
DO LE NAM
CHUYEN NGHANH: KY THUAT DIEN TU’
MA SO: 605027
LUAN VAN THAC SI
TP HO CHI MINH, tháng 8 năm 2014
Trang 2Công trình được hoàn thành tại: Trường Dai Học Bách Khoa - ĐHỌCG —- HCM
Cán bộ hướng dẫn khoa học: TS Hồ Văn Khương
Cán bộ chấm nhận xét 1: PGS TS Lê Tiến ThườngCán bộ chấm nhận xét 2: TS Vũ Phan Tú
Luận văn thạc sĩ được bảo vệ tại Trường Dai Học Bách Khoa, DHQG Tp HCM ngày15 tháng 7 năm 2014
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:1 Chủ tịch hội đồng: PGS TS Đặng Thành Tín2 Thư ký hội đồng: TS Hà Hoàng Kha
3 Ủy viên phản biện 1: PGS TS Lê Tiến Thường4 Ủy viên phản biện 2: TS Vũ Phan Tú
5 Ủy viên: TS Võ Trung DũngXác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngànhsau khi luận văn đã được sửa chữa (nếu có)
CHỦ TỊCH HỘI ĐÔNG TRUONG KHOA
Trang 3===== o00 - Oe-®
NHIEM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Đỗ Lê Nam MSHV: 12140033Ngày, tháng, năm sinh: 31/07/1986 Nơisinh: Đà NẵngChuyên ngành: Kỹ Thuật Điện Tử Mã số: 60.52.70
I TÊN ĐÈ TÀI: Thiết kế và đánh giá hiệu quả mã RaptorNHIỆM VỤ VÀ NỘI DUNG:
- Tim hiểu về hoạt động của mã Raptor R10 và mã LPDC staircase trên kênh truyền BEC.- Mô phỏng quá trình mã hóa và giải mã của mã Raptor R10 và mã LDPC staircase bằng
Tp HCM, ngày tháng năm 2014CÁN BỘ HƯỚNG DÂN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký) (Họ tên và chữ ký)
TRUONG KHOA
(Họ tên và chữ ký)
Trang 4Lời cam đoan
Tôi cam đoan răng, ngoại trừ các kêt quả tham khảo từ các công trình khác như đã ghiro trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiệnvà chưa có phan nội dung nào của luận văn này được nộp dé lây một băng cap củatrường này hoặc trường khác.
Ngày 20 Tháng 06 Năm 2014
Đỗ Lê Nam
Trang 5Mục lụcLOT CAM O11 =.-.- ajẦRÁ 5 3
TOM tat 7 4
Danh sách hình vVẼ - 3000000010110 0000 nh 6
Danh sách bảng biỀU - - C56 S223 3921212152121 1 11211111 111111 1111111111111 1101011111111 7Đặt VAN đỀ - - tt 1111211 10101011010 1101010110 00101011110 1H11 TT TH gi 8Đối tượng và phạm vi nghiên CUU oe ceecccccessssesessssesesscsesssscsesscsssesscsesesecsesesscscsesesscssseeeeseeeees 9
Phương pháp nghiÊn CỨU - - << 1900109 0.00 gà 10
Chương 1 Tổng quan về fountain €Od€s ¿+ 52 622952 SE2E+EEE‡E2EEE£EEEEErkerererreee II1.1 Kênh truyền nhị phân có tính xóa (BIEC)) - - G0 vn ư 11
1.2 Mã Luby Transform (LT COC€) .- << < << + S99 99999055010 re 121.2.1 Giới thiệu mã LT code - - G5 6E + 5 1619101011 99930 11 ng ven 12
1.2.2 Hàm phân bố bậc Ideal Soliton - ¿5-5 2 5+2 £+E+E££E£EvE£ErEerererrrreei 161.2.3 Ham phân bố bậc Robust Soliton c.c.ccccccsesscsessesesessesssessesssessessseeseseseeseseeen 17
1.3 Raptor COC€S LG nọ nọ 20Chương 2 Mã ]ÑapTOT c0 999000 nọ 232.1 Giới thiệu Raptor Codes - 0 nọ 23
2.2 Lý thuyết phương pháp tạo mã RlŨ - + ¿+ + 2+2 +E+E£E+ESEE£E£E£EeErErkrererree 232.3 Cơ sở lý thuyết của mã RÑapfOF + 625222232392 E21 1212111212112 cxee 242A Mã hệ thống RaptOF- S221 3 1915 121211151111 11 1111511111111 111111 xe 26
2.5 Giải mã ÏnaCfIVAfIOI G G G9 272.6 Phuong pháp tạo mã R10 theo RFC5053 - HH ng, 32
2.6.1 Tạo các gói nguồn (Source DaCK€f) - +55 + S+ SE £EEeEEErkerkrrrrrrerree 32
2.6.2 Tao mã trung gian (pre — COdITIB) - << 1n ng và 352.6.3 Mã hóa LÏỬ - - S0 gà 382.64 Giải mã Inactivation Decoding Gauss Elimination -«««-<s<<<<<s 392.6.5 _ Thuật toán Incremental Gaussian Elimination [15] - - - < <<+ 41
2.7 Mã LDPC dùng dé so sánh -¿ :- - + SE SE E2 E1 121115111111 11 111113151 E xe 46
Trang 6Mục lục GVHD: TS Hồ Văn KhươngChương 3 Phương pháp mô phỏng và kết quả ¿+ 2-5-5 252 522E+E+£££2£E+EzEzEzzzree: 49
3.1 Phương pháp mô phỏng - - << 111100001019 9.00 vn 493.1.1 Xây dựng ma trận mã Oa << 1 999000 0 ngờ 49
3.1.2 Phân tích quá trình giải mã R10 với thông điệp nguồn văn bản 50
3.1.3 Phan tích mã hóa và giải mã R1O với tập tin hình anh «- 533.2 Mã hóa R1O với K = 1000, 2000, 4000 HH ng re 553.3 5o sánh mã RIO với mã LDPC staircase - - - - ( G << S30 nh 34 58
Chương 4 Kết luận va hướng phát trién - ¿2+ 252292 £E+E+E£E£E+EEErErkerererrees 624.1 IKẾt luận SG c1 1 1S 910191911 5111111111 11101111 1111111 Tung ng: 624.2 Hướng phát triỀn .- ¿5£ SE S393 EEE1121211111 2111111111111 1.111 63
Tai 1iGU tham Khao 20.0 eee 64
Trang 7Cam ơn ba me đã luôn động viên con trong suôt thời gian hoc Sau Dai Học cũngnhư qua trình chuán bị bao vệ luận van.
Ngoài ra, tôi chân thành cam ơn Ths Mai Văn Trung, trợ giang chương trình dao
tạo liên kết OISP, đã doc bản thảo của phần trình bày luận văn và nêu ra những điểmcần bồ sung và chỉnh sua dé cầu trúc và nội dung của luận văn được hoàn chỉnh Cảm ơncác đồng nghiệp trong công ty Aricent đã bỏ nhiêu thời gian dé thực hiện việc chạy
chương trình trên máy tính của họ.
TP.HCM, ngày 15 tháng 06 năm 2014
Đỗ Lê Nam
Trang 8Tóm tắt GVHD: TS Ho Van Khương
Tóm tatLuận văn trình bay về kênh truyền nhị phân có tính xóa (Binary Erasure Channel) với tucách là kênh truyền đặc trưng trong các ứng dụng broadcast hay multicast mà ở đó cácloại fountain codes tỏ ra thích hợp trong việc dam bao kha năng phục hồi dữ liệu sốc VỚItỷ lệ overhead thấp Dé có thé chung minh diéu này, luận van thực hiện việc khảo sát vềmặt lý thuyết các đặc trưng cơ bản và dung lượng của kênh truyền BEC mà trên đó loạimã fountain được sử dụng dé truyền dữ liệu Sau đó, cơ sở lý thuyết về hàm phân bồ bậc,phương thức mã hóa và giải mã của mã LT, ma Raptor, trong đó mã R10, đói tượng
nghiên cứu chính của luận văn được tìm hiệu chi tiệt.
Luận văn đã mô phỏng việc truyền dữ liệu văn bản, hình ảnh với kích thước gói nguồnK = 1000,2000 và 4000 của mã R10 trên kênh truyền BEC với xác suất xóa từ 0.1đến 0.8 Kết quả cho thay mã R10 đều có khả năng phục hồi lại dé liệu ban đầu với lượngoverhead rất thấp, ở khoảng 0.2% Thêm vào đó luận văn còn so sánh về thông số BER
của mã R10 với mã LDPC staircase trong trường hợp K = 1000 và 2000 trên kênh BEC,
kết quả cho thay cả thông số BER lẫn thông số về số lượng gói nhận cần thiết để phục hồilại dữ liệu sốc của R10 đều vượt trội so với mã LDPC staircase
Trang 9AbstractThe thesis introduces the Binary Erasure Channel (BEC) as the one which is typical inbroadcast or multicast applications in which fountain codes were proved to ensure therecovery capability of the original data with low overhead In order to prove this, thethesis has investigated the characteristics and channel capacity of the BEC over which thefountain codes are utilized Then, the theory of soliton distribution, encoding anddecoding algorithms of LT codes, Raptor codes with a focus on R10 code were detailed.The thesis has simulated the transmission of text and image data with the number ofsource packets, K = 1000,2000 and 4000 of RIO code over BEC with erasureprobabilities varied from 0.1 to 0.8 The results showed that R10 code was be able torecover the original data with low overhead, at about 0.2% In addition, the thesis alsocompared the R10 code and LDPC staircase code in terms of BER in cases K = 1000and 2000 over BEC The simulated results proved that RIO outperformed LDPCstaircase code in the number of received packets which were used to successfully recoverthe transferred data.
Trang 10Danh sách hình vẽ GVHD: TS Ho Van Khương
Danh sach hinh vé
Hình 1.1 : Kênh truyền BEC với xác suất Xóa P@ w.cccccccscscssssessssessssssessesesessssesessessseesesee IIHình 1.2 : Ham phan bố bậc Ideal Soliton với K = 10, 50, 100 [7] - 17Hình 1.3 : Phân b6 Robust Soliton Distribution với K = 100 và các thông số điều khiến &vac, cho phân bố xung quanh bậc 1 tốt hơn Ideal Soliton - ¿5-2552 5s+s+ss>s2 18Hình 1.4: Histogram sỐ lượng gói thực sự cần phát K’ để cho thể phục hồi được một
thông điệp có K = 10,000 gói (a) c= 0.01,6 = 0.5; (b) C= 0.03,8 = 0.5;(c)c=ORS ae 0 A ee 19
Hình 1.5 : Một graph mô tả việc tao ma Rapter, trong đó có K = 16 gói nguồn từ đó tạora N = K’ i00 0 77 21Hình 1.6 : So sánh giữa mã LT và ma LT yếu (weaked LT) khi bậc trung bình của các góiphát giảm xuống còn 8 với tong số gói phát là K = 10, 000 và K = 8000 cho lần lượt
hai mã [| ] - - - << + 11333311 1111311111155 111155 xe xxe Error! Bookmark not defined.Hình 2.1 : Giá trị của 1 —x— e— 1+gØ'x— y1 — x66536 theo y với e=0.038 25Hình 2.2 : Giá tri của 1 — x — @ — 1 4 EO X LG L0 HS ke 26Hình 2.3 : Ví dụ về việc xây dựng một mã Raptor hệ thống ¬ esseeeeecccceeeeeaaaaaaasseceeceeeeeaas 27Hình 2.4 : Đồ thị mã hóa 56-5 ct tệ tt h1 ri 30
Hình 2.5 : Dạng trung gian của ma trận gØ1ải MA - (<< S19 1 ke 3lHình 2.6 : Ma trận giải mã thụ động 1n ng 11111 kg 32
Hình 2.7 : Cấu trúc của ma tran A c- < + 1xx 51119198 3 5111915111 5 115111 511111 xe rei 38
Hình 2.8 : Ma trận con của A trong giai đoạn 1 << c S9 vn 42
Hình 2.9 : Ma trận kiểm tra của mã LDPC staircase với K = 10, Code rate = 0.5 48
Hình 3.1 : Ma trận mã hóa R10 khi K = 10 - - << S211 1111111311111 15555 49
Hình 3.2 : Tập tin hình ảnh được truyền bang R10 với Pe = 0.3 54
Hình 3.3 : Code Rate của mã R10 khi K = 1OÓO QQ QQ QQHHH vờ 55Hình 3.4 : Code Rate của mã R10 khi K = 2000 QQ Q SH vờ 56Hình 3.5 : Code Rate của mã R10 khi K = 4000 QQ Q SH vờ 56
Hình 3.6 : Số lượng gói overhead của mã R10 với K = 1000, 2000, 4000 57Hình 3.7 : Số lượng gói nhận cần thiết dé giải mã thành công của mã R10 và LDPCstaircase trên kênh truyền BEC, K = 1000 ¿- ¿225252292 SE£E+EEE£ESEEErEererererreee 60Hình 3.8 : Số lượng gói nhận cần thiết dé giải mã thành công của mã R10 và LDPCstaircase trên kênh truyền BEC, K = 2000 -¿- ¿225252292 SE£E+E£E£ESEEEEErrkrerrrrees 61
Trang 11Danh sách bang biéuBảng 2-1 : Phân bố bậc ngẫu nhiên của một gói c.eececsessssesesssseseesesessesssesscsesesseseseeneses 35
Bang 3-1 : Một số gói trung gian trong mã hóa R10, K = 455, Pe = 0.7 52
Bang 3-2 : Mot SỐ gói nhận được tại bộ thu trong mã hóa R10, K = 455, Pe = 0.7 53
Bang 3-3 : Code rate của mã hóa R10 trên kênh truyền nhị phân có tính xóa 55
Bang 3-4 : Overhead của mã hóa R10 trên kênh truyén nhị phân có tính xóa 57
Bang 3-5 : So sánh tỉ lệ BER của mã R10 và LDPC staircase trên kênh truyền BEC K =¡0000 58
Bảng 3-6 : So sánh số lượng gói nhận để giải mã thành công giữa mã R10 và LDPCStaircase khi K =IÖO - TT nọ 59Bảng 3-7 : So sánh tỉ lệ BER của mã R10 và LDPC staircase trên kênh truyền BEC K =“00 00 60
Bảng 3-8 : So sánh số lượng gói nhận để giải mã thành công giữa mã R10 và LDPCStaircase Khi K =2000 1 60
Trang 12Mo dau GVHD: TS Ho Van Khuong
Dat van đê
Truyén thông k' Ithuật số đã trở thành một phan khong thé thiéu cua cudc sống hiện đại.Nội dung số gắn liền với các hoạt động lướt web, g i điện thoại, xem truyền hình haynghe nhạc Hon thé, cùng với sự bùng nỗ về tốc độ truyền dữ liệu e ng như số lượngngười sử dụng, Internet đã tạo điều kiện cho nội dung số ngày càng tiện dụng cho ngườidùng Việc trao đối thông tin nhanh va dễ dang là nền tảng cơ bản cho việc phát triển củakhoah c và kinh tế trong thời đại thông tin Sự thành công ruc r_ cua các dịch vụ chia sẽdữ liệu như iTunes của Apple hay YouTube của Google đều bắt nguồn tự việc kết hopgiữa các nội dung số và Internet [1] Việc trao đối thông tin trên Internet thường có sựtham gia của nhiều đối tượng trên các kênh truyền có thể bị mất dữ liệu (lossy channel)do các giải thuật định tuyến chưa thực sự tối ưu Đề có thể truyền dữ liệu trên các kênhtruyền kiểu này mà vẫn đảm bảo độ tin cậy, người ta thường sử dụng phương thức truyềnthông hai chiều (two — way communication) Trong đó tại đầu phát, thông tin được mãhóa và gửi đi qua kênh truyền Tại đầu thu, quá trình giải mã được thực hiện Nếu quá
trình giải mã thành công, bộ phát sẽ gửi thông tin xác nhận việc nay (acknowledge).
Ngược lại, bộ thu sẽ yêu câu bộ phát gửi lại thông tin không giải mã được Quá trình phátmột gói dữ liệu nào đó có thé phải thực hiện nhiều lần trong tình huống mang có nhiễulớn hoặc yêu cau phát lại được diễn ra nhiều lần do mat gói trên kênh truyền Nguyên lýtruyền thông này được áp dụng trong giao thức TCP/IP dùng cho các ứng dụng đòi hỏi độtin cậy cao như truyền văn bản, email Quá trình này thực sự không phù hợp với các ứng
dung multicast, broadcast hay với các ứng dung streaming [2].
Nhăm loại bỏ quá trình phát lại nhiều lần cùng một gói hay mat gói, một nguyên lýtruyền thông mới được g i là fountain codes được giới thiệu Với phương thức truyềnthông mới này, thông điệp (message) cần truyền sẽ được phân chia thành nhiều gói nhỏ
(source packet) và được mã hóa thành các gói mới (encoded packet) Các gói sau khi
được mã hóa này được gửi lên kênh truyền có thé mat gói (BEC) Tai dau thu, các góiđược nhận theo một thứ tự bất kì cho đến khi bộ thu nhận đủ số gói cần thiết để có thể
Trang 13tiền hành giải mã nhăm khôi phục lại thông điệp ban dau Trong tình huống một số gói bimat, bộ thu sẽ tiếp tục chờ cho đến khi nhận đủ số gói cần thiết để có thể tiễn hành giảimã Số lượng gói nhận thêm này nhỏ hơn nhiều so với tình huỗng phải yêu cầu truyền lạinhư các giao thức truyền thông dựa trên TCP, đặc biệt trong tình huống số lượng gói phảitruyền lớn [3] Thêm vào đó, trong ngữ cảnh truyền multicast hay broadcast, các giaothức TCP còn phải thực hiện các giải thuật quản lý luéng (flow control) với từng đốitượng nhận dữ liệu, việc nay làm tăng độ phức tap cho thiết kế của bộ phát, nhất là trongtình huống kênh truyền bị quá tải Nếu kênh truyền sử dụng fountain codes, thì không cansử dụng giải thuật quản lý luồng vì các bộ thu chi chờ nhận đủ số lượng gói can thiết làcó thể khởi động giải thuật giải mã Đề làm rõ các đặc tính nỗi trội của fountain codes,luận văn này sẽ bắt đầu băng việc trình bày về kênh truyền nhị phân có tính xóa (BEC),nguyên lý và cách thức xây dựng về lý thuyết của mã Luby Transform (LT code) (đượcxem là lớp mã hiện thực dau tiên trong h_ các fountian codes) và mã Raptor Chi tiết về
k thuật của mã R10 và các giải thuật mã hóa và giải mã liên quan là nội dung được trình
bay của chương 2 Việc kiểm tra các đặc tinh và ưu điểm của mã RIO trên kênh truyềnBEC so với mã LDPC là nội dung của chương 3 Chương cuối cùng của luận văn nàydành cho phần kết luận, đánh giá tổng kết các kết quả thu được trong chương trước đóc ng như hướng mở rộng và phát triển khả di của dé tài
Đối tượng và phạm vi nghiên cứu* Kênh truyền BEC
# Mã Raptor R10* Ma LDPC staircase
* Phan mềm Matlab va Visual Studio 2012* Đánh giá mã Raptor R10 theo BER, code rate, số lượng overhead
* So sánh hiệu năng giữa mã Raptor và ma LDPC staircase trên cùng một kênhtruyện
Trang 14Mo dau GVHD: TS Ho Van KhuongPhương pháp nghiên cứu
+ Thu thập các tài liệu, bài báo, luận văn ki¡thuật liên quan đến mã Raptor R10 và
ma LDPC staircase+ Xây dựng giải thuật mã hóa và giải mã cho ma Raptor RIO và ma LDPC staircase
trên kênh truyền BEC
* Phan tích, mô phỏng và so sánh hoạt động cua mã Raptor RI0 và ma LDPC trên
kênh truyền BEC.# Nhận xét kết qua va đưa ra kiến nghị dé cải thiện chất lượng của mã R10 (tăng tốc
độ giải mã, giảm số lượng gói overhead, giảm độ phức tap của việc mã hóa và giải
mã )
Trang 15Chương 1 Tổng quan về fountain codes1.1 Kênh truyền nhị phân có tính xóa (BEC)Kênh truyền nhị phân có tính xóa (binary erasure channel) là kênh truyền thông dụngđược sử dụng trong lý thuyết mã hóa và thông tin Trong kênh truyền này, bộ phát sẽtruyền các bit nhị phân | hay 0 còn bộ thu sẽ nhận được bit đã phát hoặc nhận được thôngtin là bit này đã bị xóa Kênh truyền BEC được giới thiệu vào năm 1954 bởi Peter Elias ởđại h c MIT [4] Kênh truyền tổng quát của BEC được g i là packet erasure channel vớiđơn vị thông tin được tính là gói thay vì bit có các đặc tính lý thuyết tương tự BEC làkênh truyền được sử dụng phan mô phỏng ở chương 3 của luận văn này.
Dung lượng kênh truyền BEC với xác suất xóa p,Một kênh truyền BEC luôn được định nghĩa với một xác suất xóa Pe (erasureprobability) Gia sử X là một biến ngẫu nhiên được phát với alphabet {0,1} với xác suấtphát 0 và 1 lần lượt là p và q tương ứng G i Y là biến nhận được thi alphabet của biếnnày là {0,1, e}, trong đó e là gói xóa (erasure symbol) Kênh truyền này được đặc tả bởicác hàm xác suất có điều kiện (conditional probability) như trong giản đồ trong Hình 1.1
Trang 16C1 Tông quan về fountain codes GVHD: TS Hồ Văn KhươngNgoài cách mô tả bằng một kênh truyền BEC băng giản đồ như Hình 1.1, ta còn thể đặctrưng kênh truyền này bằng các phương trình xác suất có điều kiện như bên dưới [5].
PrŒ = 0|# = 0) = p(1— pe)Pr(Y = e|X = 0) =p.p,
Pr(Y = 1|X = 0) = 0
Pr(Y = 0|X = 1) = 0 Ct)
Pr(Y = e|X = 1) =q.p,Pr(Y = 1|X = 1) =q.(1—pe)Luong thong tin
I(X|Y) = H(X) + H(Y) — H(X,Y)= —p X log, p — q X08; q — De X Ì08; De — P X De X (1.2)log2(p X De) — q X De X log2(q X De)
hằng số thì theo lý thuyết Entropy trong [5], thì H(X) đạt giá trị lớn nhất khi p = q = -.
Với giá trị này thi H(X) = 1, dẫn đến I(X|Y) = (1 — p,), chính là dung lượng của kênhtruyền xóa (BEC) có xác suất xóa là De-
1.2 Ma Luby Transform (LT code)1.2.1 Giới thiệu ma LT code
Mã Luby Transform (LT code) được phát minh bởi Michael Luby vào năm 1998 và được
công bố vào năm 2002, được xem là loại mã hiện thực (practical code) đầu tiên thuộc h
Trang 17các fountain codes [3] C ng giống như các loại fountain codes khác, mã LT được xâydựng trên cơ sở các bipartite graph để làm tăng tốc độ giải mã Đặc trưng cơ bản tạo nên
sự đơn giản của mã LT trong h_ fountain codes, là việc sử dụng toán tử XOR trong cathuật toán mã hóa và giải mã.
Mã hóa LT code
Quá trình mã hóa (encoding process) khởi động băng việc chia thông điệp chưa được mahóa (uncoded message) thành k gói có kích thước bằng nhau Các gói mã hóa (codedpacket) được tạo ra với sự trợ giúp từ một bộ tạo số giả ngẫu nhiên (pseurandom number
generator).
1 Bậc đ, 1 < d <n, của gói tiếp theo được ch n lựa một cách ngẫu nhiên
=1 Có chính xác đ gói từ các gói thông tin chưa mã hóa được ch_n lựa ngẫu nhiên
El G i M; là gói thứ i của thông điệp cần phát đi thì thành phan dữ liệu của gói mãhóa kế tiếp được tính bởi công thức
El Cuối cùng, gói này được bảo vệ bởi một loại mã sửa lỗi nào đó (error correctingcode), chang hạn như mã CRC trước khi được phát di
-] Quá trình mã hóa được lặp lại cho đến khi bộ thu có thể phục hồi được thông điệpphát ban đầu thành công
Trang 18C1 Tông quan về fountain codes GVHD: TS Hồ Văn KhươngGiải ma LT code
Quá trình giải mã LT (decoding process) c ng sử dụng toán tử XOR để khôi phục các gói
được mã hóa theo thủ tục như sau:
H
HNếu gói hiện tại không “sạch”, tức là bộ thu không đảm bảo nhận đúng tín hiệu đã
phát, hoặc gói này đã được nhận trước đó, thì gói sẽ bi loại bỏ (discarded).
Nếu bậc đ của gói “sạch” hiện tai lớn hơn 1, nó sẽ được xử lý dựa trên tất cả các
gói đã được giải mã hoàn toàn (fully decoded packet) trong vùng nhớ lưu trữ dữ
liệu (message queuing area) và được lưu vào vùng đệm (buffer) nếu bậc của nó
vẫn còn lớn hơn 1 sau khi đã qua xử lý ở vùng nhớ lưu trữ dữ liệu.Khi gói “sạch” mới nhận được có bậc là 1 hoặc sau khi đã qua xử lý ở bước trước
đó bậc của gói giảm xuống bang | thì gói đó được lưu vào vùng nhớ lưu trữ dữliệu (message queuing area) để rồi được xử lý với các gói có bậc lớn hon 1 đang
lưu trong vùng buffer Khi một gói nào đó có bậc đ > 1 mà trong quá trình mã
hóa có bao gồm gói M,, được XOR với gói đã giải mã hoàn toàn M bên phía bộthu, thì bậc của gói dang được giải mã sẽ giảm di | và các chỉ số d; sẽ được điềuchỉnh để phản ánh quá trình này
Khi tat cả n gói đã được chứa trong vùng message queuing area thì bộ thu sẽ pháttín hiệu cho bộ phát về việc thông điệp đã được giải mã thành công
Quá trình giải mã nay đảm bảo thành công bởi A @ A = 0, với bat kì chuỗi bit A Nhưvậy sau đ — 1 lần xử lý cho một gói có bậc d thì ta có thé giải mã được gói đó theo công
thức
(M,, @ M,,@ : D Miz) @® (Mi, @® Mi, OD Mi,_, O Mi, OD Mig) (1.6)
Do M,,,, ® M;,, = 0, nên phương trình (1.6) cho phép giải mã được gói Mj,Khả năng giải mã thành công của mã LT phụ thuộc chủ yêu vào cơ chê sinh ra bậc d của
một gói tiếp theo như thế nào Trong khi đó, việc ch n các gói thông tin tham gia vào
Trang 19việc tạo thành một gói mã hóa nào đó, đơn thuần chỉ là việc tạo ra một hàm ngẫu nhiêncó phân bố đều (normally distribution) trong khoảng từ [1, n] Các ham sinh bậc d trong
mã hóa LT được g ila ham Soliton.
Trước khi đi vào chi tiết các tính toán của các hàm phân bồ bậc trong dùng trong mã hóa
LT Ta xét bài toán đơn giản như sau: giả sử chúng ta ném bóng vào K giỏ, trong đó K là
một con số lớn chang han nhu 1000 hay 10000.[1 Tính xác suất dé một giỏ nào đó trong K giỏ không có quả bóng nào được ném
vào khi ta đã ném bóng N Ian.1 Tìm giá trị nhỏ nhất của N dé sau N lần ném bóng thì xác suất có ít nhất một qua
bóng trong K giỏ là 1 — 5, với ổ là một con số nhỏ tùy ý.Xác suất mà một giỏ nào đó trong K giỏ không nhận được bóng trong một lần ném
` 1 ^ z k SA T2 VÀ z - A ^ Z
la (1 — =), Nhu vay, xác suat ma một giỏ nào đó trong K giỏ không nhận được bóng sau
N lần ném được cho bởi công thức (1.7)
(1-2) ~e# (1
Do đó, khi N = K, tức là số lần ném bóng bằng với số giỏ chứa bóng thì xác suất mà một
giỏ nào đó trong K giỏ này không có bóng nào là e1.
Tổng quát với N lần ném, kỳ v ng của số giỏ không có quả bóng nào được bởi công thức
Trang 20C1 Tông quan về fountain codes GVHD: TS Hồ Văn Khương
Vậy để cho việc giải mã thành công điều kiện cần là số lượng gói phát phải thỏa mãn bấtphương trình (1.9) Van dé đặt ra ở đây là việc thiết kế hàm phân bố như thé nao dé thỏamãn bất phương trình (1.9) Hai hàm phân bố bậc được giới thiệu trong [3], nhằm phụcvụ cho giải thuật Belief Propagation Trong đó tại mỗi bước lặp, đòi hỏi ít nhất phải cómột gói thu chỉ liên quan đến 1 gói phát, nói cách khác gói thu này băng một gói phát nàođó Giải thuật sẽ dừng khi không có gói thu nào có bậc 1 hoặc tất cả các ký hiệu phát đã
được giải mã hoàn toàn.
1.2.2 Hàm phân bố bậc Ideal SolitonHàm phân bố bậc (Ideal Soliton Distribution) được giới thiệu trong [3] Trong tình huốnglý tưởng, ta mong muốn trong mỗi lần xử lý thì luôn có một gói thu có bậc 1 Sau khi gói
này được xử lý với các gói khác thì bậc trung bình của toàn bộ các gói thu được giảm di 1
và lại làm xuất hiện một gói khác có bậc là 1 dé giải thuật giải mã có thé tiếp tục cho đếnkhi các gói được giải mã hoàn toàn Đề thực hiện được điều này, hàm phân bố bậc cóhàm phân phối được trình bày trong phương trình (1.10)
10(1) = K
(1.10)
p(d) = ,d=2,3,4, K1
d(d — 1)
Trong đó, xác suất để 1 gói phát bằng gói thu là = , rất nhỏ khi K rất lớn, thực tế K được
ch n sẽ rất lớn, 1000, 10.000 gói Ngoài ra, đ chính là số gói phát liên kết với gói thutrong 1 lần tạo gói phát bat kì Bậc kì v ng của hàm phân bố này cho bởi (1.11)
K K» ề =) tw Ink (1.11)d(d—-1) Zud-1 ” |d=2 d=2
Ham phan bố bậc Ideal Soliton Distribution mặc dù đơn giản nhưng trong thực tế lại gặp
phải nhiêu van đê, chăng han có thê trong một lân lặp nào đó của quá trình giải ma,
Trang 21không có bat kì một gói thu nào có bậc là 1 hoặc có một vài gói phát không có liên kếtnào với các gói thu Hai nguyên nhân này có thể làm cho quá trình giải mã bị thất bại vàcần thêm các gói từ bộ phát để hoàn thành việc giải mã [6].
Ideal Soliton: k = 10 Ideal Soliton: k = 50 Ideal Soliton: k = 100
Hình 1.2 : Ham phan bố bậc Ideal Soliton với K = 10, 50, 100 [7]Trong Hình 1.2, có thé dé dàng nhận ra xác suất phát gói có bậc 1 giảm nhiều khi giá triK tăng lên, đặc biệt với tình huống K lên tới vài ngàn thì số lượng các gói có bậc 1 càngít và có thể làm cho quá trình giải mã bị thất bại Để tránh điều này, hai thông số c và ổđược thêm vào dé điều chỉnh số lượng gói có bậc | và cả những gói có bậc K, gói liên kếtvới tat cả các gói nguồn Hàm phân bố bậc Ideal Solition sau khi điều chỉnh được g i làhàm phân bố bậc Robust Soliton
1.2.3 Ham phân bố bac Robust SolitonHàm phan bố bậc Robust Soliton được thiết kế dé đảm bảo rang ky v ng của số các góicó bậc 1 luôn được cho bởi công thức (1.12) bang cách thay đổi hai thông số c và ổ
s=exIn(S) xvR (1.12)
Giá trị của ổ được tính dựa vào xác suất mà bộ giải mã không thé giải mã thành công khiđã nhận được K’ gói Tham số c là một hăng số có bậc 1 Mặc dù có nhiễu thuật toán tốiưu khác nhau để lựa ch n hai tham số này tuy nhiên trong thực tế thì hai tham số có théthay đổi tùy ý và việc ch n được giá trị tốt thường có được từ quá trình mô phỏng Bước
Trang 22C1 Tông quan về fountain codesGVHD: TS Ho Van Khươngtiếp theo trong việc xây dựng ham phân bố Robust Soliton là xây dựng ham dương như
Trong đó Z = Đa p(d) + t(d), được lấy trên tat cả các giá trị khả dĩ của d
ọ Robust Soliton: k = 100, 6 = 0.100, c = 0.100 0 Robust Soliton: k = 100, 6 = 0.100, c = 0.200 Robust Soliton: k = 100, ổ = 0.100, c = 0.300
0.35Ƒ0.300.25F0.20 E0.15F0.10Ƒ0.050.00 1
0.00 !
0
0.4Ƒ03ƑF01+
00 Jus
L20
L L L L L L L
40 60 S0 100 0 20 40 60 80 100
Hình 1.3 : Phân bố Robust Soliton Distribution với K = 100 va các thông số điều khiến &
và c, cho phân bố xung quanh bậc 1 tốt hơn Ideal Soliton.Ta có thé dé dàng nhận ra rang hàm phân bố bậc Robust Soliton cho phân bố các gói phátcó bậc d = 1 lớn hơn, đồng thời khi giá trị của tham số c càng nhỏ thì sự xuất hiện của
các gói phat có liên kêt với nhiều gói nguồn tăng lên đáng kê.
Trong [3], số gói phát cần thiết K’ để có thé phục hồi được một tập tin hay một thông
điệp có K gói được cho bởi công thức (1.15) [3].
Trang 23kK’ =k +2xIn(2) xs (1.15)Trong thực tế, lượng overhead trong mã LT codes khi phát một thông điệp hay một tậptin có K = 10,000 gói được điều chỉnh sao cho lượng overhead chỉ là 5%
Mã LT có độ phức tạp trong quá trình mã hóa và giải mã là O(K x In(K)) , trong đó K làsố gói phát khi truyền một thông điệp hay một tập tin Điều này là do bậc trung bìnhtrong phân bố của hàm Soliton là In(K) Dé có thé cải thiện tốc độ giải mã, người ta thựchiện việc ghép ma LT với một mã khác dé đạt được tốc độ xử lý có độ phức tạp tuyếntính Đây chính là cách mà các mã cải tiến sau này của LT codes là Raptor Codes sử
Hinh 1.4: Histogram sỐ lượng gói thực sự cần phát K’ để cho thể phục hồi được một
thông điệp có K = 10,000 gói (a) c= 0.01,6=0.5;(b)c=0.03,6=0.5:(c)c=
Trang 24C1 Tông quan về fountain codes GVHD: TS Hồ Văn Khương1.3 Raptor Codes
Raptor Codes là lớp fountain codes dau tiên có thời gian mã hóa và giải mã tuyến tính.Mã này được phát minh vào năm 2000 bởi Amin Shokrollahi và được công bố lần đầutiên vào năm 2004 VỀ mặt lý thuyết và thực tiễn, Raptor Codes thực sự là một cải tiễnquan tr ng của mã LT C ng giống các loại fountain codes khác, thì xác suất mà mộtthông điệp nao đó được chia làm K gói có thé được phục hồi khi số gói nhận được nhiềuhơn K một chút tiến gần đến 1 Trong phiên bản cải tiễn mới nhất của mã này, có tên làRaptorQ, thì xác suất giải mã không thành công một thông điệp khi đã nhận được K góiphát chỉ ở mức thấp hơn 1% và xác suất giải mã thất bại khi đã nhận được K + 2 góithậm chí còn nhỏ hơn một phan triệu, trong đó một gói có thể chỉ là một byte hay thậm
chí hàng ngàn byte [8].
RaptorCodes sử dụng một mã LT có bậc trung bình là 3, với bậc trung bình thấp như thếbộ giải mã có thể hoạt động như thể sẽ không bao giờ bị dừng lại vì không có một góinao đó có bậc là 1 sau một bước lặp tồn tại để có thé tiếp tục lần lặp thứ hai Tuy nhiêntrong quá trình giải mã này, một số các gói nguồn có thé vẫn chưa được phục hồi(recovered), ti lệ chưa được phục hồi được cho bởi công thức (1.16)
~ƒ=e (1.16)
Trong đó, d là bậc trung bình của mã LT được ch n Khi d =3 thì f = 5% Thém vaođó, khi K là một số lớn thì quy luật số lớn cho đảm bảo rằng số lượng các gói không đượcphục hồi trong bat kì lần phát nào c ng rất gần với giá trị ƒ Dé tận dụng điều này, [8] sẽtạo ra mã trung gian (pre — code) băng cách mã hóa một tập tin hay thông điệp có K gói
thành một tập tin hay thông điệp có K= T7 băng một loại mã có khả năng phục hồi lại
các gói nguôn còn thiếu trong tình huống tỉ lệ xóa đúng bang ƒ.Sau khi được tập tin hay thông điệp ban đầu đã được pre — coded, chúng sẽ được phát đi
sau khi được mã hóa lần nữa băng một mã LT Khi sô tập tin nhận được chỉ vừa nhiêu
Trang 25hơn K thì ta có thể phục hỗi (1 —f ) x K gói phat đã duoc pre — code Con số này c ng
xâp xi K, các gói con lại sẽ được phục hôi băng loại mã đã được dùng đê pre — code.
Hình 1.6 : So sánh giữa mã LT và mã LT yếu (weaked LT) khi bậc trung bình của các gói
phat giảm xuông còn 8 với tông sô gói phát là K = 10,000 va K = 8000 cho lần lượt
Trang 26C1 Tông quan về fountain codes GVHD: TS Hồ Văn KhươngMã dùng trong pre — code, đôi khi được g i là outer code có thé là mã LDPC hay là việcghép nối của nhiều tầng mã khác nhau Ví dụ, trong mã Raptor được chuẩn hóa bởi 3GPPthì outer code là sự ghép nối (concatenation) giữa nhị phân Gray với mã LDPC Một khanăng ghép nối khác là mã Hamming và LDPC.
Đường đậm trong Error! Reference source not found là mã LT có bậc trung bình được
iảm xuống mức 8 thì khi phát K = 8000 gói thì số gói cần thiết để phục hồi lại tập tinhay thông điệp ban đầu là khoảng 9250 Trong khi đó, để phục hồi lại tập tin ban đầu khidùng mã LT thông thường với K = 10,000 gói phát thì số gói cần nhận ở mứckhoảng 11,000 Khi bậc của mã LT được làm giảm xuống 3 như trong mã Raptorthì consố các gói chưa được phục hồi chi ở mức 5% Trong [9], tác giả sử dụng mã irregularLDPC làm pre — code dé khôi phục các gói còn chưa được phục hồi sau quá trình giải mã
LT.
Dac tính mã hóa va giải mã tuyến tính là một ưu thế vượt trội của mã Raptor so với mãLT thông thường vì thế rất nhiều các nghiên cứu trong môi trường h c thuật lẫn côngnghiệp được thực hiện để cải tiễn mã này trong đó có mã R10 và mã RaptorQ Chi tiết vềcác loại mã này được trình bày trong chương tiếp 2 với phần mô tả và khảo sát các đặctính của mã RIO sẽ được trình bày một cách chi tiết trong chương 3
Trang 27Chuong 2 Ma Raptor2.1 Gidi thiệu Raptor Codes
Chương trước đã trình bay sơ lược về cách thức tao mã Raptor c ng như ưu thé về tốc độgiải mã và mã hóa của chúng so với các loại mã LT Ưu thế này của mã Raptor, giúp chochúng được sử dụng rộng rãi trong rất nhiều chuẩn truyền thông gần đây Trongh mãRaptor thì hai mã pho biến nhất hiện nay là mã R10 và RaptorQ Với mã R10 được thiếtkế cho dai các ứng dụng có yêu cau trung bình như các ứng dụng phát di động broadcastmà tốc độ mã hóa và giải mã cần phải nhanh, đường đặc tính overhead — failure vừa phải
và chỉ hé trợ các gói thông điệp có kích thước trung bình Trong khi đó, mã RaptorQ
được thiết kế với yêu cầu cao hơn về tốc độ mã hóa và giải mã cộng thêm đường đặc tínhoverhead — failure cực nhỏ để có thé hỗ trợ các ứng dụng streaming có kích thước gói dữliệu thông tin lớn [1] Do các hạn chế về mặt tài nguyên tính toán nên trong luận văn này
chỉ hiện thực, mô phỏng và đánh giá việc mã hóa và giải mã Raptor 10 hay còn được g 1
với tên ngắn hơn là R10 với số gói phát ở mức K lên đến 4,000 Vì mã R10 được thiết kếdé có thé làm việc với các thông điệp hay tập tin nguồn lên đến 8,192 gói Với việc môphỏng ở mức K = 4,000 thì mã R10 và mã RaptorQ có hiệu suất như nhau
2.2 Lý thuyết phương pháp tạo mã R10
Mã R10 được tạo ra bởi hai giai đoạn mã hóa là pre — coding va LT coding Giai đoạn pre
— coding được thực hiện bởi hai tầng tạo ma, tầng thứ nhất dùng một loại mã LDPC đểtạo ra các gói phát trung gian dư (intermediate redundant packet) từ các gói nguồn thôngđiệp ban đầu (source packet) Mã LDPC này có bậc cô định là 3, tức là cứ một gói phátđược sinh ra bởi 3 gói nguồn thông điệp ban đầu Đa số các gói dư trung gian dư nàyđược tạo ra ở tầng pre — coding thứ nhất Tầng tạo mã pre — coding thứ hai dùng một loạimã HDPC, là một loại mã Gray dé tạo ra thêm một số các gói phát dư bố sung dùng trong
quá trình giải mã Giai đoạn hai trong quá trình mã hóa R10 là việc tạo các gói phát từ
các gói trung gian ở giai đoạn trước băng một loại ma LT có bậc trung bình cố định Quá
Trang 28C2 Mã Raptor GVHD: TS Ho Van Khươnggiải mã trước bang giải thuật Belief Propagation hay các phương pháp cải tién khác dékhôi phục đa số các gói nguôn trong thông điệp hay tập tin Các gói chưa được khôi phục
từ việc giải mã LT sẽ được khôi phục bởi mã đã dùng trong giai đoạn pre — coding [10].
2.3 Cơ sở lý thuyết của mã RaptorViệc xây dựng mã Raptor được mô tả và phân tích trong [1] có các tính chất sau: Với bấtkỳ hằng số £ > 0 nào, ta có thể xây dựng một mã Raptor sao cho với một khối dữ liệunguồn gồm có k gói thông tin thì số lượng phép tính cần thiết dé tạo ra một gói phát làO(log(1/e)) Số lượng phép tính can thiết để giải mã một gói thu là Ø(klog(1/£)) vàvới số lượng gói truyền thêm là * K xác suất giải mã thất bại là 1/K° với c > 1 là một
hăng sô độc lập với e.
Tại sao việc sử dụng một mã để mã hóa trước các gói thông tin là một chién thuật đúngdan? Ưu điểm trực tiếp của việc mã hóa trước các gói thông tin là lượng thông tin giữacác gói trung gian cho phép phục hồi toàn bộ các gói trung gian sử dụng bộ giải mã C (Clà mã pre - coding trước khi mã hóa LT) nếu phần lớn các gói trung gian đã được phuchồi Giả sử C có thể phục hồi ổ các gói trung gian bị xóa thì bộ giải mã LT chỉ cần phụchồi (1 — ổ) các gói trung gian từ các gói nhận được Từ tính chất của mã LT, chúng ta cóthé ngầm hiểu là bậc trung bình sử dụng bởi mã LT có thé là O(log(1/6))
Thiết kế tiệm cận của mã Raptor sử dụng cây phân tích (analysis tree) trong [11], hay cong ila tiến hóa mật độ Giả sử rang mã Raptor được thiết kế sao cho việc giải mã với sốlượng gói nhận được là K + € * K có xác suất thành công cao Việc phân tích quá trìnhgiải mã LT trong trường hợp này cho thấy số lượng gói trung gian kỳ v ng là có kết nối
với các gói mã hóa có bậc | rút g n là 1—x— e~+#)9) nếu x là số lượng gói trung
gian đã được phục hồi Thêm vào do, phân tích trong [1] e ng cho thấy nếu xạ là nghiệm
nhỏ nhất của phương trình 1 — x — e~0+£)9 () trong khoảng [0,1) thì số lượng các gói
trung gian chưa được phục hồi sau khi quá trình giải mã LT kết thúc là 1 — xạ Theo đó,phân bố bậc O được thiết kế sao cho
Trang 29sup{xe[0,1)|1 — x — e7 F492) > 0} (2.1)
dat giá trị lớn nhất Từ đó, Shokrollahi trong [8], xây dựng mã Raptor với bậc trung bìnhcủa các gói mã hóa O(log(1/e)), độ phức tap của việc giải mã là O(K X log(1/£)) vaxác suất giải mã thất bại là đa thức nghịch đảo theo k với số lượng ký tự truyền thêm
Hình 2.1 : Giá tri của 1 — x — e7~Gt8)'W _ y theo y với e=0.038
Với x € [0,1 — 5] được rút ra dé đảm bảo rang quá trình giải mã sẽ tiếp tục với xác suấtcao cho đến khi tat cả ngoại trừ một phan ổ các gói trung gian được phục hồi Ta g ¡,y làmột tham số thiết kế, nếu y cảng lớn thì xác suất bộ giải mã LT phục hồi được tất cảngoại trừ một phan 6 các gói trung gian cảng cao Mặt khác, giá trị y càng lớn thì giá trịlớn nhất đạt được của ổ càng nhỏ Điều nảy có thể thấy qua ví dụ bên dưới
Trang 30C2 Mã Raptor GVHD: TS Ho Van Khương
O(+) = 0.007969 + 0.49357xˆ + 0.1662x3 + 0.072646x4
+ 0.082558x° + 0.056058x8 + 0.037229x? (2.3)+ 0.05559x?? + 0.025023x® + 0.003135x°
các gói nhận được chứa phân lớn các gói mã hóa.
Chính vì thế, một cách tiếp cận khác trong việc thiết kế mã hệ thống Raptor đã được đưara trong [8|] tưởng chính của phương pháp này như sau: Giả sử chúng ta muốn xâydựng một mã hệ thông Raptor S$ để mã hóa một nguồn dữ liệu gồm K gói thôngtin (x1, ,X, ) Từ đó tạo thành các gói mã hóa (V¡, ,Wy,Yy+1,Wy+a,- ) trong
Trang 31đó (Vay oe) Vie) = (X¡, ,x„) Chúng ta sử dụng một mã Raptor R không có tính hệ thôngtheo một cách đặc biệt Giả sử từ một nguồn dữ liệu gồm k gói thông tin (Z¡, ,Zy) R cóthé tạo ra các ký tự mã hóa (w¡, Wo, ) Đồng thời, R có tính chất là K gói mã hóa đầutiên (w,W›, , w„) có thé sử dụng dé phục hồi lại các gói thông tin Việc mã hóa S được
tiên hành như sau sử dụng bộ mã hóa và giải mã R:
* Gan (W¡, ,Wy) = (Xị, ,Xy)
* Sử dụng bộ giải mã của R dé giải mã giá trị của các gói thông tin (Z¡, , Z„) từ các
gói mã hóa (Wy, , We)
* Sử dụng bộ mã hóa của R để tạo ra w„,; từ nguồn dữ liệu (Z4, ,Z) va gan
Ve+i = W„.¡ đề tạo ra các gói mã hóa Vy„¡
Z2 = 89+21+24+ 25 + 2% + 28
Z7 = 8 +23 + 24+ 2%Yi = Z2+24+zz2+27U2 = 22723+ 2%U3 = %z3+25+ 22
Hình 2.3 : Ví dụ về việc xây dựng một mã Raptor hệ thống
2.5 Giai mã Inactivation
Trang 32C2 Mã Raptor GVHD: TS Ho Van KhươngNhư đã trình bay ở trên, việc giải mã bang phương pháp belief-propagation (BP) yêu caumột lượng lớn các gói truyền thêm dé việc giải mã có thể thành công với một xác suất đủlớn Đề tránh tình trạng này, một thuật toán giải mã khác đã được tạo ra trong [12] với têng ila giải mã thụ động (inactivation decoding) Bộ giải mã này kết hợp tính tối ưu của
phương pháp khử Gaussian và tính hiệu quả của thuật toán giải mã BP.
Cách tốt nhất dé mô tả thuật toán giải mã thu động là sử dụng các ký hiệu ma trận: g i
các ký tự thu được và các ký tự ràng buộc là ky tee hang (row symbols) và các ky tự trung
gian vốn là sự kết hợp của các ký tự thông tin và các ký tự ràng buộc là &ý te cội (columnsymbols) Từ đồ thị giải mã của mã Raptor, có thé thu được một ma trận như sau: hang
của ma trận tương ứng với các ky te hàng và cột của ma trận tương ứng với Ay te cột, VỊtri (i, 7) của ma trận sẽ có giá tri là 1 khi và chỉ khi ký tw cột j tham gia vào việc tao ra kytu hàng t hoặc sẽ co gia tri là 0 trong các trường hợp khác Quá trình giải mã tương ứng
với việc giải một hệ phương trình tuyến tính với mục tiêu là tìm ra các ky tu cot từ các kýtự hàng khi mà s6 lượng ký tu hàng ít nhất là băng số lượng ký tw cột
Tại thời điểm bat đầu quá trình giải mã, tất cả các ký cội đều hoạt động (active) và cácký tự hàng chưa được ghép cặp Tại mỗi bước của quá trình giải mã BP, bậc của mỗi kýtu hàng chưa được ghép cặp chính là số lượng ky tw cột hoạt động mà nó phụ thuộc, vìthé tại thời điểm bắt đầu bậc của mỗi ký tu hàng chính là giá trị được tính toán từ phân bốbậc Thuật toán BP được sử dụng để tìm một ky tu hàng chưa được ghép cặp có bậc là 1và tại thời điểm này nó sẽ được ghép cặp với 1 ky fe cội mà nó phụ thuộc Sau đó, giá tri
của ky tu hàng đã được ghép cặp sẽ được trừ ra khỏi gia tri của các ky te hàng khác mac ng phụ thuộc vào ky tv cot đã được ghép cặp và vì vậy xóa bỏ sự phụ thuộc của các ky
tự hàng này vào ký tự cột đã được ghép cặp đồng thời giảm bậc của chúng đi 1.Quá trình nay sé được tiếp diễn cho đến khi tat cả các ký tw cột hoạt động được ghép caphoặc cho đến khi nào không có ký tu hàng bậc 1 nào chưa được ghép cặp Trong trường
hợp thứ hai, khi không có ký tw hàng chưa được ghép cặp nào có bậc là 1 nhưng vẫn cócác ky tu cột hoạt động chưa được ghép cap với ký tue hang nao, thuật toán giải mã BP
Trang 33thông thường sé bi k t va quá trình giải mã thất bại mặc dù về mặt toán h c chúng ta cóthể giải mã tất cả các ký tự thông tin Thay vào đó, thuật toán giải mã thụ động sẽ tiếp tụcquá trình giải mã như sau: nếu tất cả các &ý tu hang chưa được ghép cặp đều có bậc là 0thì về mặt toán h c chúng ta không thé giải mã các ký tự thông tin còn lại và quá trìnhgiai mã thất bại; nếu tồn tại ít nhất một ky tu hàng có bậc là 2 thì một trong hai ky / cột
hoạt động ma ky tu hàng này phụ thuộc vào sẽ được xem như là thụ động (inactive), vanhư vậy bậc của ky tu hang chưa được ghép cặp sẽ giảm từ 2 thành | va quá trình giải ma
BP có thể tiếp tục để ghép cặp những ky tw hàng hoạt động còn lại với các ky cột hoạtđộng như mô ta ở trên C ng có những trường hop chúng ta phải xem nhiều hơn một kýtu cột là thụ động vi giá trị bậc nhỏ nhất của một ky ti hang có thé lớn hơn 2 mặc dùtrường hợp này hiểm khi xảy ra với một mã Raptor được thiết kế tốt Quá trình giải mãBP kết thúc thành công nếu tat cả các ký tu cột đều được ghép cặp với các ký tu hàng bởi
quá trình này.
Không giống như quá trình giải mã BP thông thường, giá trị cudi cùng của các ký fir cộikhông nhất thiết phải là giá trị của các &ý te hang mà nó được ghép cặp, vì giá trị của cácký tự hàng có thé phụ thuộc vào giá các ký tw cột đã được xem là thụ động nhưng chúngta vẫn có thé xem các ký tw hàng không phụ thuộc vào bất cứ ký tw cột hoạt động naokhác ngoại trừ Ay’ fv cột mà nó được ghép cặp Vì thế, các ký tr hang được ghép cặp cóthể sử dụng có thể sử dụng để xóa bỏ sự phụ thuộc vào các ky tv cét hoạt động của cácký tự hàng chưa được ghép cặp: với mỗi ký te hàng chưa được ghép cặp, giá trị của nóthay đôi theo giá trị của các ký tu hàng được ghép với các ký tw cột hoạt động mà nó phụ
thuộc vào.Lúc này các ky tu hàng chưa được ghép cặp chỉ phụ thuộc vào các ky tu cội thụ động va
điều này cho chúng ta một hệ phương trình tuyến tính có thể sử dụng để tìm ra giá trị củacác ky tw cột thụ động bằng phương pháp khử Gaussian Nếu hệ phương trình tuyến tínhnày không thé giải được thì về mặt toán h c chúng ta không thé tìm ra được giá tri củacác ký tw cội thụ động va quá trình giải mã thất bại
Trang 34C2 Mã Raptor GVHD: TS Ho Van KhươngCuối cùng, gia tri của các ky / cội hoạt động có thể được phục hồi bang cach su dungquá trình giải ma BP một lần nữa dựa trên giá trị của các Ay tu hàng được ghép cặp va giátrị của các Ay / cội thụ động Quá trình nay đảm bảo việc phục hồi của tất cả các ký tecột hoạt động nếu quá trình giải mã BP va quá trình khử Gaussian trước đó thành công.Ví dụ sau đây sẽ cho chúng ta một cái nhìn rõ rang hơn vé quá trình giải mã thụ độngbăng cách xem xét bộ giải mã cho đồ thị mã hóa dưới đây.
) 9
Đồ thị mã hóa trên tương ứng với việc giải hệ phương trình tuyến tính dưới đây
0 0 1 0 0 1 O77*%10 PY1 1 1 1 0 1 = «=Off*2 320 0 1 0 1 0 1||^: 331 0 1 1 1 1 1||*z|=|22 (2.4)1 0 1 1 1 0 Off*s Vs
0 1 0 1 0 1 =14/%e 360 0 1 0 0 0 011221 L7;Sau khi thực hiện quá trình giải mã thụ động chúng ta sẽ thu được hệ phương trình sau:
1 0 0 0 0 0 02+ [¥7)
010 0 0 0 0|l*Zs| lấn0 0 10 0 1 0||Z:| 193
0 0 0 1 0 1 1||⁄z|=lô (2.5)0 0 0 0 1 0 14%) lộ
0 0 0 0 0 1 1||Z;| 1%,