KHỐI PHẦN MỀM THỰC THI MÃ HÓA REED – SOLOMON VÀ CHƯƠNG TRÌNH MÔ PHỎNG

35 923 12
KHỐI PHẦN MỀM THỰC THI MÃ HÓA REED – SOLOMON VÀ CHƯƠNG TRÌNH MÔ PHỎNG

Đ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

LỜI NÓI ĐẦU Hàng năm quan tâm ban giám hiệu, sinh viên trường Đại học Giao thông vận tải có điều kiện thực nghiên cứu khoa học Năm học 2011-2012 ngoại lệ, nhờ sinh viên khóa 49 chúng em có hội tham gia sân chơi bổ ích Được giúp đỡ thầy cô khoa Điện – Điện tử môn Kỹ thuật viễn thông, nhóm chúng em đăng kí tham gia với mục tiêu học hỏi thêm kiến thức mà chúng em khó có hội tiếp cận giảng đường Những chúng em thu hoạt động nghiên cứu lần góp phần không nhỏ vào hành trang chúng em bước vào thực tế công việc sau tốt nghiệp Vì vậy, chúng em xin dành trang đầu báo cáo để gửi lời cảm ơn chân thành tới ban giám hiệu Trường đại học giao thông vận tải, thầy cô Khoa Điện – Điện tử nói chung thầy cô môn Kỹ thuật viễn thông nói riêng mở sân chơi hỗ trợ chúng em kiến thức, kỹ kinh nghiệm hoạt động nghiên cứu khoa học Đặc biệt, chúng em xin chân thành cảm ơn thầy Lê Minh Tuấn người trực tiếp hướng dẫn chúng em thực đề tài Vì thời gian điều kiện có hạn nên đề tài chúng em không khỏi thiếu sót Vì kính mong quý thầy cô, ban giám khảo toàn thể bạn tham gia góp ý cho chúng em để nghiên cứu hoàn hảo Về phần mình, chúng em nỗ lực để hoàn thiện đề tài MỤC LỤC PHẦN - TỔNG QUAN VỀ MÃ HÓA 1.1 Mã hóa – biện pháp chống nhiễu truyền dẫn số 1.2 Các loại mã 2.1 Trường 2.1.1 Sơ lược trường 2.1.2 Trị riêng trường 2.1.3 Chu kỳ phần tử .7 2.2 Trường GF(2) GF(2m) .8 2.2.1 Trường GF(2) đa thức trường GF(2) 2.2.2 Xây dựng trường GF(2m) từ GF(2) .9 PHẦN - TỔNG QUAN VỀ MÃ KHỐI TUYẾN TÍNH .11 3.1 Mã khối tuyến tính 11 3.1.1 Ma trận sinh cách mã hóa .11 3.1.2 Khả phát sửa sai 12 3.1.3 Cách phát sai mã khối tuyến tính 13 3.1.4 Cách sửa sai thuật toán giải mã .14 3.2 Mã vòng 16 3.2.1 Định nghĩa tính chất mã vòng .16 3.2.2 Cách mã hóa mã vòng 17 3.2.3 Mã BCH nhị phân 17 3.2.4 Mã BCH không nhị phân .18 PHẦN - MÃ REED – SOLOMON .19 4.1 Đa thức sinh cách mã hóa 19 4.2 Mã Reed – Solomon hiệu lỗi chùm 21 4.3 Giải mã mã Reed – Solomon .21 4.3.1.Tính Syndrome 21 4.3.2 Đa thức định vị lỗi σ(X) 22 4.3.3 Xác định giá trị lỗi 26 4.3.4 Ví dụ 26 PHẦN – KHỐI PHẦN MỀM THỰC THI MÃ HÓA REED – SOLOMON VÀ CHƯƠNG TRÌNH MÔ PHỎNG .28 5.1 Khối phần mềm thực thi mã hóa Reed – Solomon 28 5.2 Chương trình mô mã hóa Reed – Solomon 28 5.2.2 Sơ đồ khối mô tả hoạt động phần mềm 33 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI .34 PHẦN - TỔNG QUAN VỀ MÃ HÓA 1.1 Mã hóa – biện pháp chống nhiễu truyền dẫn số Vài thập kỉ gần đây, nhu cầu hệ thống truyền dẫn số với độ tin cậy hiệu cao tăng mạnh đòi hỏi mạng số liệu có quy mô lớn, tốc độ cao cho trao đổi, xử lý lưu trữ thông tin số phục vụ cho quân sự, trị, kinh tế - tài nhu cầu trao đổi thông tin khác người Vì kết hợp truyền thông công nghệ thông tin bắt buộc để tạo nên hệ thống mà mục tiêu kiểm soát lỗi trình truyền dẫn, giúp cho phía thu nhận xác thông tin mà phía phát phát Năm 1948, Claude Elwood Shannon chứng minh cần mã hóa thông tin theo cách thích hợp khả xảy lỗi nhiễu tác động lên kênh truyền giảm tới mức mong muốn mà đánh đổi tốc độ truyền dẫn hay không gian lưu trữ Đây tiền đề cho nhiều nỗ lực sau nhằm tìm kiếm phương thức mã hóa giải mã hiệu để kiểm soát lỗi xảy truyền dẫn môi trường nhiễu cao Và ngày nay, việc sử dụng mã hóa kiểm soát lỗi trở thành phần tất yếu hệ thống truyền thông máy tính số Hình 1.1 thể sơ đồ khối khái quát hệ thống truyền dẫn: Hình 1.1 Sơ đồ khối khái quát hệ thống truyền dẫn Ý tưởng việc mã hóa khái quát lại sau: Giả sử có nguồn phát nguồn nhị phân đối xứng phát tín hiệu Ở đầu nhận ta quy ước chế giải mã nhận tín hiệu đoán bên phát phát tín hiệu 0, nhận tín hiệu đoán bên phát phát tín hiệu Với chế giải mã này, xác suất xảy lỗi cao Có hướng để làm giảm xác xuất giải mã lỗi: để gửi tín hiệu thay gửi một, gửi chuỗi tín hiệu tương tự với tín hiệu Ở đầu nhận, ta quy ước chế giải mã chuỗi nhận có nhiều tín hiệu giải mã thành tín hiệu Ví dụ chuỗi nhận 010 giải mã thành 0, nhận 110 giải mã thành Cơ chế hiển nhiên làm giảm xác suất giải mã lỗi lại nảy sinh vấn đề khác làm giảm hiệu suất truyền thông tin lần Nếu mã hóa tín hiệu thành chuỗi 2n + tín hiệu 2n + tín hiệu mã hóa cho tín hiệu xác suất giải mã sai tiến tới n tiến tới ∞ Đổi lại, hiệu suất truyền thông tin giảm 2n + lần Chúng ta giảm xác suất giải mã xuống gần không giảm hiệu suất truyền thông tin xuống gần mà nhỏ ngưỡng chấp nhận Ý tưởng phương án khai thác ý tưởng phương án phía chỗ: thay gửi – khác biệt bit mã hóa chúng thành 000 111 – khác biệt bit làm giảm xác suất giải mã lỗi 1.2 Các loại mã Ngày nay, có loại mã sử dụng rộng rãi mã khối mã chập Đối với mã khối, mã hóa chia nhỏ chuỗi thông tin thành tin có độ dài k bit thêm vào n – k bit dư để tạo thành từ mã có độ dài n bit n – k bit dư có nhờ đưa k bit thông tin qua thuật toán đặc biệt, giúp cho mã có khả phát sửa lỗi Vì đầu vào có k bit tin nên tương ứng có 2k từ mã độ dài n bit đầu mã hóa, tập hợp 2k từ mã tạo thành mã khối (n, k) Hiển nhiên số lượng bit dư lớn khả phát sửa lỗi mã lớn hiệu suất truyền tin mã nhỏ Để tăng khả phát sửa lỗi mà không làm giảm hiệu suất truyền tin mã, tăng lượng bit dư đồng thời tăng độ dài từ mã Bộ mã hóa mã chập tạo từ mã độ dài n với k bit tin n – k bit dư Tuy nhiên từ mã mã chập không phụ thuộc vào k bit tin mà phụ thuộc vào m tin trước nhờ nhớ bậc m Trong khuôn khổ đề tài nghiên cứu khoa học này, nhóm chúng em xin không đề cập tới mã chập PHẦN - CƠ SỞ TOÁN HỌC CỦA MÃ 2.1 Trường 2.1.1 Sơ lược trường Nhìn chung trường tập hợp phần tử mà tập hợp cộng, trừ nhân chia mà kết nằm tập hợp Phép cộng nhân phải có tính giao hoán, kết hợp phân phối Gọi F tập hợp mà tồn phép toán nhị phân cộng nhân Tập F phép toán cộng nhân trường thỏa mãn điều kiện: - F nhóm giao hoán với phép cộng, phần tử đơn vị phép cộng gọi phần tử không kí hiệu Tập hợp phần tử khác F nhóm giao hoán với phép nhân Phần tử đơn vị phép nhân gọi đơn vị đơn vị nhân F kí hiệu Phép nhân có tính chất phân phối với phép cộng, với phần tử a,b,c ∈ F: a.(b + c) = a.b + a.c Phép trừ a cho b trường phép cộng a với –b Nếu b ≠ 0, phép chia a cho b phép nhân a với b-1 Một số tính chất trường: - Với phần tử a trường: a.0 = 0.a =0 Với phần tử a, b ≠ trường: a.b ≠ a.b = a ≠  b = Với a, b thuộc trường: -(a.b) = (-a).b = a.(-b) Với a ≠ 0, a.b = a.c => b = c Tập hợp {0,1} với phép cộng phép nhân modul cho bảng 2.1 bảng 2.2 tạo thành trường có phần tử, thường gọi trường nhị phân Một trường có số phần tử xác định gọi trường hữu hạn trường Galois Do đó, trường nhị phân kí hiệu GF(2) Trường nhị phân GF(2) có vai trò quan trọng lý thuyết mã hóa mà sử dụng rộng rãi máy tính số truyền dẫn số (hoặc lưu trữ) Bảng 2.1 Phép cộng modul Bảng 2.2 Phép nhân modul 2.1.2 Trị riêng trường Xét trường GF(q) Xét dãy tổng phần tử đơn vị Vì trường đóng với phép cộng nên kết tổng phần tử trường Vì k nhận vô hạn giá trị mà trường có q phần tử nên tồn hai giá trị k1 k2 khác (giả sử k1 > k2 ) cho: Từ suy ra: Đến dẫn khái niệm trị riêng trường Trị riêng trường số nguyên dương nhỏ λ cho 2.1.3 Chu kỳ phần tử Xét phần tử a khác trường GF(q) Xét luỹ thừa ak a với k = 1, 2, 3, … Vì trường đóng với phép nhân nên ak phần tử trường Vì k nhận vô hạn giá trị mà trường có q phần tử nên tồn hai giá trị k1 k2 khác (giả sử k1 > k2 ) cho: Từ suy ra: =1 Đến dẫn khái niệm chu kỳ phần tử trường Chu kỳ phần tử a trường GF(q) số nguyên dương nhỏ n cho an = 2.2 Trường GF(2) GF(2m) 2.2.1 Trường GF(2) đa thức trường GF(2) Nhìn chung, xây dựng mã với kí tự từ trường GF(q) nào, q số nguyên tố lũy thừa số nguyên tố Tuy nhiên, mã với kí tự từ trường nhị phân GF(2) hay trường mở rộng GF(2m) sử dụng rộng rãi truyền dẫn số hệ thống lưu trữ thông tin hệ thống số thường mã hóa dạng nhị phân Trong số học nhị phân, ta dùng phép cộng modul phép nhân modul Hầu hết giống toán học thông thường trừ việc ta coi = + = Chú ý + = => = -1 Một đa thức trường GF(2), chẳng hạn kí hiệu f(X), đa thức có dạng f(X) = a0 + a1X + a2X2 + … + anXn hệ số ∈ GF(2) GF(2) có phần tử Đa thức GF(2) cộng, trừ, nhân, chia theo cách thông thường Phép cộng nhân hệ số phép cộng nhân modul Các đa thức GF(2) thỏa mãn tính chất giao hoán, kết hợp phân phối Một đa thức bậc m GF(2) gọi tối giản phân tích thành tích đa thức có bậc nhỏ m lớn Ví dụ: X2 + X đa thức tối giản X2 + X + đa thức tối giản Ngoài ra, đa thức trường GF(2) có tính chất đáng ý Gọi f(X) đa thức GF(2), ta có: f2(X) = (f0 + f1 X + … + fn Xn)2 = [f0 + (f1X + f2X2 + … + fnXn)]2 = + f0(f1X + f2X2 + … + fnXn) + f0(f1X + f2X2 + … + fnXn) + (f1X + f2X2 + … + fnXn)2 = + (f1X + f2X2 + … + fnXn)2 Tiếp tục khai triển phương trình ta có: f2(X) = + (f1X)2 + (f2X2)2 + … + (fnXn)2 Do hệ số đa thức nên = fi Vì vậy: f2(X) = f0 + f1X2 + f2(X2)2 + … + fn(X2)n = f(X2) Từ phương trình trên, với l ≥ 0: = 2.2.2 Xây dựng trường GF(2m) từ GF(2)  Đa thức nguyên thủy Cho p(X) đa thức tối giản bậc m GF(2) số nguyên dương n Nếu n số nguyên dương nhỏ đồng thời thỏa mãn điều kiện sau: n = 2m + Xn + chia hết cho p(X) 10 p(X) gọi đa thức nguyên thủy Ví dụ: p(X) = X3 + X + Ta thấy với n = 1, 2, , Xn +1 không chia hết cho p(X) với n = 23 – = thì: X7 + = (X3 + X + 1) (X4 + X2 + X + 1) nên p(X) = X3 + X + đa thức nguyên thủy  Xây dựng trường GF(2m) từ đa thức nguyên thủy Việc xây dựng trường GF(2m) từ đa thức nguyên thủy bậc m đơn giản Chúng em xin đưa ví dụ minh họa, việc chứng minh phương pháp thầy cô bạn xem tài liệu tham khảo Giả sử ta cần xây dựng trường GF(23) từ đa thức p(X) = X3 + X + Cho p(α) = α3 + α + = suy ra: α3 = α + α4 = α3.α = (α +1)α = α2 + α α5 = α.α4 = α3 + α2 = α2 + α + α6 = α.α5 = α3 + α2 + α = α + + α2 + α = α2 + α7 = α.α6 = α3 + α = α + + α = = α0 Vậy phần tử trường GF(23) {0, α0, α1, α2, α3, α4, α5, α6} 21 4.2 Mã Reed – Solomon hiệu lỗi chùm Khi từ mã truyền kênh truyền qua vùng chịu ảnh hưởng nhiễu, bị nhiễu làm thay đổi cách ngẫu nhiên Sự thay đổi gây nên loại lỗi khác lỗi ngẫu nhiên lỗi chùm Lỗi ngẫu nhiên hiểu bit lỗi nằm rải rác từ mã lỗi chùm bit lỗi nằm liên tiếp Vậy mã Reed – Solomon lại hiệu lỗi chùm? Xét mã RS(255, 247) với kí tự mã biểu diễn bit Vì n – k = nên mã sửa tối đa t = = lỗi từ mã 255 kí tự Giả sử nhiễu tác động lên kênh truyền gây lỗi chùm 25 bit liên tiếp từ mã hình 4.1 đây: 25 bit lỗi chùm Kí tự Kí tự Kí tự Kí tự Kí tự Kí tự Hình 4.1 Minh họa lỗi chùm Với 25 bit lỗi trên, có tất kí tự mã bị lỗi Mã RS(255, 247) có khả sửa lỗi loại lỗi lỗi ngẫu hiên hay lỗi chùm Bây giả sử 25 bit lỗi nằm rải rác 25 kí tự mã, tức có 25 kí tự lỗi, vượt khả sửa lỗi mã Đó nguyên nhân mã Reed – Solomon hiệu lỗi chùm 4.3 Giải mã mã Reed – Solomon 4.3.1.Tính Syndrome Syndrome kết việc kiểm tra thực r để xác định xem r có phần tử hợp lệ tập hợp từ mã hay không (r đa thức nhận phía thu) Nếu r từ mã, syndrome S có giá trị ngược lại, S ≠ cho thấy có lỗi xảy Syndrome S mảng n – k phần tử, kí hiệu {S i} (i = 1, , n – k), giá trị tính đa thức r(X) nhận phía thu Có thể thấy đa thức mã hợp lệ v(X) bội số đa thức sinh g(X) Vì vậy, nghiệm g(X) phải nghiệm v(X) Vì r(X) = v(X) + e(X) 22 nên để r(X) từ mã phải bội g(X) Ta tính syndrome theo biểu thức sau nhận lỗi dẫn việc syndrome có giá trị khác 0: 4.3.2 Đa thức định vị lỗi σ(X) Giả sử có ν lỗi từ mã vị trí X j1, Xj2, , Xjv Các đa thức lỗi e(X) viết sau: e(X) = ej1 Xj1 + ej2 Xj2 +…+ ejv Xjv Chỉ số 1, 2, v xem lỗi đầu tiên, thứ hai, ,thứ v số j xem vị trí lỗi Để sửa từ mã bị hỏng, giá trị lỗi ejl vị trí lỗi Xjl, với l = 1, 2, , ν phải xác định Ta định nghĩa số vị trí lỗi βl = αj1 Chúng ta có n – k = 2t kí tự syndrome cách thay αi vào đa thức nhận r(X) với i = 1, 2, 2t: Có 2t ẩn (t giá trị lỗi t vị trí 2t phương trình Tuy nhiên, 2t phương trình giải theo cách thông thường Một đa thức định vị lỗi σ(X) định nghĩa sau: σ(X) = (1 + β1 X) (1 + β2 X) (1 + βv X) = + σ X + σ X2 + … + σ v X v Hệ số σ(X) số vị trí lỗi có quan hệ với theo hệ phương trình sau: 23 Từ hai hệ phương trình (4.1) (4.2) ta thấy hệ số đa thức định vị lỗi σ(X) có quan hệ với phần tử syndrome Lưu ý hệ số σ(X) chưa biết cần xác định chúng Năm 1967, Elwyn Ralph Berlekamp đưa thuật toán lặp giúp xác định hệ số σ(X) sau: • Bước xác định đa thức σ(1)(X) có bậc nhỏ mà hệ số thỏa mãn phương trình hệ (4.3) • Tiếp theo kiểm tra hệ số σ(1)(X) có thỏa mãn phương trình thứ hệ (4.3) hay không ° Nếu thỏa mãn, ta đặt σ(2)(X) = σ(1)(X) ° Nếu không thỏa mãn, ta cộng thêm số hạng vào σ(1)(X) để tạo thành σ(2)(X) cho σ(2)(X) thỏa mãn phương trình đầu hệ (4.3) • Lặp lại bước trên, ta kiểm tra hệ số σ(2)(X) có thỏa mãn phương trình thứ hệ (4.3) hay không ° Nếu thỏa mãn, ta đặt σ(3)(X) = σ(2)(X) ° Nếu không thỏa mãn, ta cộng thêm số hạng vào σ(2)(X) để tạo thành σ(3)(X) cho σ(3)(X) thỏa mãn phương trình đầu hệ (4.3) Cứ làm ta thu đa thức σ(2t)(X) σ(2t)(X) đa thức định vị lỗi Sơ đồ khối thuật toán mô tả hình 4.2, đó: n k biến lặp L bậc đa thức σ(X) bước xét 24 D(z) đa thức định vị lỗi d biến kiểm tra điều kiện hệ số σ(X) bước có thỏa mãn phương trình hệ (4.3) hay không 25 Hình 4.2 Sơ đồ khối thuật toán Berlekamp 26 4.3.3 Xác định giá trị lỗi Khi có đa thức định vị lỗi σ(X), ta xác định giá trị lỗi Gọi Z(X) = + (S1 + σ1)X + (S2 + σ1 S1 + σ2)X2 +…+ (Sv + σ1 Sv – + σ2 Sv – +…+ σv)Xv Khi đó, giá trị lỗi vị trí βl = αji tính theo công thức: 4.3.4 Ví dụ Xét mã RS sửa lỗi với kí tự trường GF(24) Đa thức sinh mã là: g(X) = (X + α) (X + α2) (X + α3) (X + α4) (X + α5) (X + α6) = α6 + α9X + α6X2 + α4X3 + α14X4 + α10X5 + X6 Gọi vec-tơ véc-tơ mã truyền r = (0 0 α7 0 α3 0 0 α4 0) véc-tơ nhận Vậy, r(X) = α7X3 + α3X6+ α4X12  Bước 1: Tính syndrome S1 = r(α) = α10 + α9 + α = α12 S2 = r(α2) = α13 + + α13 = S3 = r(α3) = α + α7 + α10 = α14 S4 = r(α4) = α4 + α12 + α7 = α10 S5 = r(α5) = α7 + α3 + α4 = S6 = r(α6) = α10 + α9 + α = α12  Bước 2: Tìm đa thức định vị lỗi theo thuật toán Berlekamp trình bày trên, bảng 4.1 27 Bảng 4.1 Kết thực thuật toán Berlekamp Như vậy, σ(X) = + α7X + α4X2 + α6X3  Bước 3: Thay 1, α, α2, …, α14 vào σ(X), ta thấy α3, α9 α12 nghiệm σ(X), nghịch đảo chúng α12, α6 α3 số vị trí lỗi e(X) Như vậy, lỗi phát vị trí X3, X6 X12  Bước 4: Ta có: Z(X) = + α2X + X2 + α6X3 Suy giá trị lỗi vị trí X3, X6 X12 là: = = = = = = Vậy: = = e(X) = α7X3 + α3X6 + α4X12 = 28 Ta thấy r(X) e(X) giống nên v(X) = r(X) + e(X) = 0, nói cách khác, từ mã phát r = (0 0 0 0 0 0 0 0) PHẦN – KHỐI PHẦN MỀM THỰC THI MÃ HÓA REED – SOLOMON VÀ CHƯƠNG TRÌNH MÔ PHỎNG 5.1 Khối phần mềm thực thi mã hóa Reed – Solomon Dựa vào kết hoạt động nghiên cứu trình bày trên, nhóm chúng em hướng dẫn thầy Lê Minh Tuấn xây dựng thành công khối phần mềm thực thi mã hóa Reed – Solomon Khối phần mềm bao gồm hàm chức sau:     Hàm sinh trường GF(2m) Hàm sinh đa thức g(X) từ đa thức nguyên thủy Hàm mã hóa Hàm giải mã Ngôn ngữ lập trình để xây dựng khối phần mềm Visual Basic.NET 5.2 Chương trình mô mã hóa Reed – Solomon Chương trình có tính sau: • Cho phép người sử dụng lựa chọn đặc tính mã RS thông qua tham số độ dài từ mã, số lỗi sửa, kích thước kí tự mã tính theo bit • Cho phép người sử dụng nhập vào tin dạng văn phía phát gửi tới phía thu thông qua kênh truyền • Trên kênh truyền cho phép người sử dụng nhập lỗi tác động lên từ mã truyền tự sinh lỗi ngẫu nhiên • Phần mềm có giao diện đơn giản hiển thị trực quan giúp người sử dụng dễ dàng nắm bắt bước để mã hóa giải mã mã RS 29 5.2.1 Giao diện phần mềm mô 30 31 32 5.2.2 Sơ đồ khối mô tả hoạt động phần mềm 33 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Sau thời gian nghiên cứu dẫn thầy Lê Minh Tuấn, nhóm chúng em hiểu tầm quan trọng việc mã hóa truyền dẫn có kiến thức định mã khối tuyến tính, đặc biệt mã Reed – Solomon, loại mã có khả sửa lỗi mạnh Nhìn chung mã Reed – Solomon thường kí hiệu RS(n, k) với kí tự m bit, n số kí tự từ mã k số kí tự liệu Bộ mã hoá lấy k kí tự liệu (mỗi kí tự có kích thước m bit) thêm vào n – k kí tự kiểm tra để tạo thành từ mã n kí tự Số lỗi tối đa từ mã mà mã RS(n, k) đảm bảo sửa t = , thông thường n = 2m – Nếu n nhỏ số mã gọi mã rút gọn Một mã Reed – Solomon đặc trưng hai đa thức: đa thức nguyên thủy xác định trường Galois mà kí tự mã lấy từ trường đa thức sinh định nghĩa kí tự kiểm tra sinh Mã Reed – Solomon đặc biệt hiệu để đối phó lại tượng lỗi chùm (các bit lỗi liên tiếp từ mã) Với khối phần mềm thực thi mã hóa xây dựng được, chúng em dễ dàng chuyển đổi qua tảng khác nhúng vào vi điều khiển thiết bị modem xDSL, điện thoại di động hay thiết bị lưu trữ xây dựng chương trình tiện ích mã hóa thông tin hệ điều hành Windows, Linux… 34 TÀI LIỆU THAM KHẢO Tiếng Việt Hồ Văn Quân, Bài giảng lý thuyết thông tin, Khoa CNTT Đại học Bách khoa Tp.HCM Tiếng Anh Peter Sweeney (2002), Error Control Coding: From theory to practice, John Wiley & Sons, Inc., Shu Lin & Daniel J Costello, Jr (1983), Error Control Coding: Fundamentals And Applications, PRENTICE-HALL, INC [...]... vị trí X3, X6 và X12 là: = = = = = = Vậy: = = e(X) = α7X3 + α3X6 + α4X12 = 28 Ta thấy r(X) và e(X) giống nhau nên v(X) = r(X) + e(X) = 0, nói cách khác, từ mã được phát đi là r = (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) PHẦN 5 – KHỐI PHẦN MỀM THỰC THI MÃ HÓA REED – SOLOMON VÀ CHƯƠNG TRÌNH MÔ PHỎNG 5.1 Khối phần mềm thực thi mã hóa Reed – Solomon Dựa vào những kết quả của hoạt động nghiên cứu đã trình bày ở trên,... công khối phần mềm thực thi mã hóa Reed – Solomon Khối phần mềm này bao gồm 4 hàm chức năng sau:     Hàm sinh trường GF(2m) Hàm sinh đa thức g(X) từ đa thức nguyên thủy Hàm mã hóa Hàm giải mã Ngôn ngữ lập trình để xây dựng khối phần mềm trên là Visual Basic.NET 5.2 Chương trình mô phỏng mã hóa Reed – Solomon Chương trình có các tính năng như sau: • Cho phép người sử dụng lựa chọn đặc tính của mã. .. bản để mã hóa và giải mã mã RS 29 5.2.1 Giao diện phần mềm mô phỏng 30 31 32 5.2.2 Sơ đồ khối mô tả hoạt động của phần mềm 33 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Sau một thời gian nghiên cứu dưới sự chỉ dẫn của thầy Lê Minh Tuấn, nhóm chúng em đã hiểu được tầm quan trọng của việc mã hóa trong truyền dẫn cũng như có những kiến thức nhất định về mã khối tuyến tính, đặc biệt là về mã Reed – Solomon, ... – 1 Nếu n nhỏ hơn số này thì mã được gọi là mã rút gọn Một mã Reed – Solomon được đặc trưng bởi hai đa thức: đa thức nguyên thủy xác định trường Galois mà các kí tự mã được lấy từ trường đó và đa thức sinh định nghĩa các kí tự kiểm tra được sinh ra như thế nào Mã Reed – Solomon đặc biệt hiệu quả để đối phó lại hiện tượng lỗi chùm (các bit lỗi liên tiếp nhau trong một từ mã) Với khối phần mềm thực thi. .. với tên thuật toán Berlakamp – Massey 4.1 Đa thức sinh và cách mã hóa Một mã Reed Solomon (RS) có khả năng sửa t lỗi và có các kí tự mã được lấy từ trường GF(q) có các đặc tính sau: Độ dài từ mã: n=q–1 Số lượng các bit kiểm tra (parity): n – k ≤ 2t Khoảng cách tối thi u: dmin ≥ 2t + 1 Đa thức sinh của mã RS(n, k) có bậc n – k = 2t tức là bằng với số kí tự parity trong từ mã Vì đa thức sinh g(X) có bậc... sau: 1 Nhân u(X) với Xn – k 2 Chia u(X) Xn – k cho đa thức sinh g(X), lấy phần dư b(X) 3 v(X) = b(X) + u(X)Xn – k Xét ví dụ sau để thấy rõ hơn: Xây dựng mã RS(7, 3) có khả năng sửa 2 lỗi và mã hóa bản tin u= (α1, α3, α5) Trước hết ta nhận thấy mã RS(7, 3) có từ mã có các tính chất sau: - Độ dài từ mã là Số kí tự parity là : n = 7 = 23 – 1 : n – k = 2t = 4 Do đó, các kí tự mã là phần tử của trường GF(2... cả 4 kí tự mã bị lỗi Mã RS(255, 247) có khả năng sửa 4 lỗi bất kể loại lỗi đó là lỗi ngẫu hiên hay lỗi chùm Bây giờ giả sử 25 bit lỗi này nằm rải rác trên 25 kí tự mã, tức là chúng ta có 25 kí tự lỗi, vượt quá khả năng sửa lỗi của mã Đó là nguyên nhân tại sao mã Reed – Solomon hiệu quả đối với lỗi chùm 4.3 Giải mã mã Reed – Solomon 4.3.1.Tính Syndrome Syndrome là kết quả của việc kiểm tra thực hiện... của mã BCH q-phân sửa chữa t lỗi là đa thức có bậc thấp nhất với hệ số từ GF(q) mà α, α2, , α2t là nghiệm Gọi Φi(X) là đa thức tối giản của αi: S g(X) = LCM{Φ1(X), Φ2(X), …, Φ2t(X)} Bậc của mỗi đa thức tối giản nhỏ hơn s g(X) có bậc lớn nhất là 2st, do đó số kí tự kiểm tra của mã tạo ra bởi g(X) không quá 2st 19 PHẦN 4 - MÃ REED – SOLOMON Mã Reed – Solomon được tìm ra bởi Irving S Reed và Gustave Solomon, ... Năm 1960, Irving S Reed và Gustave Solomon xuất bản một bài báo trong nhật báo Society for Industrial and Applied Mathematics Bài viết này nói về một họ mã sửa lỗi mới mà sau này được gọi là mã Reed – Solomon (RS) Khi bài báo được viết, một thuật toán giải mã hiệu quả vẫn chưa được tìm ra Mãi đến năm 1969, Elwyn Berlekamp và James Massey đã giới thi u một thuật toán lặp để giải mã mã RS mà sau này được... lớp con quan trọng của mã khối tuyến tính Việc mã hóa và tính syndrome cho mã vòng có thể được thực hiện dễ dàng với các thanh ghi dịch có hồi tiếp Hơn nữa, do mã vòng kế thừa các nghiên cứu từ đại số tuyến tính nên có thể tìm nhiều phương pháp giải mã 3.2.1 Định nghĩa và các tính chất cơ bản của mã vòng Một mã tuyến tính C(n, k) được gọi là mã vòng nếu v = v0v1…vn-2vn-1 là một từ mã thì v = vn-2v0v1…vn-2 ... thập kỉ gần đây, nhu cầu hệ thống truyền dẫn số với độ tin cậy hiệu cao tăng mạnh đòi hỏi mạng số liệu có quy mô lớn, tốc độ cao cho trao đổi, xử lý lưu trữ thông tin số phục vụ cho quân sự, trị,... nhằm tìm kiếm phương thức mã hóa giải mã hiệu để kiểm soát lỗi xảy truyền dẫn môi trường nhiễu cao Và ngày nay, việc sử dụng mã hóa kiểm soát lỗi trở thành phần tất yếu hệ thống truyền thông... phát tín hiệu 0, nhận tín hiệu đoán bên phát phát tín hiệu Với chế giải mã này, xác suất xảy lỗi cao Có hướng để làm giảm xác xuất giải mã lỗi: để gửi tín hiệu thay gửi một, gửi chuỗi tín hiệu

Ngày đăng: 14/01/2016, 18:11

Từ khóa liên quan

Mục lục

  • PHẦN 1 - TỔNG QUAN VỀ MÃ HÓA

    • 1.1. Mã hóa – một biện pháp chống nhiễu trong truyền dẫn số

    • 1.2. Các loại mã

    • 2.1. Trường

      • 2.1.1. Sơ lược về trường

      • 2.1.2. Trị riêng của một trường

      • 2.1.3. Chu kỳ của một phần tử

      • 2.2. Trường GF(2) và GF(2m)

        • 2.2.1. Trường GF(2) và đa thức trên trường GF(2)

        • 2.2.2. Xây dựng trường GF(2m) từ GF(2)

        • PHẦN 3 - TỔNG QUAN VỀ MÃ KHỐI TUYẾN TÍNH

          • 3.1. Mã khối tuyến tính

            • 3.1.1. Ma trận sinh và cách mã hóa

            • 3.1.2. Khả năng phát hiện và sửa sai

            • 3.1.3. Cách phát hiện sai của mã khối tuyến tính

            • 3.1.4. Cách sửa sai và thuật toán giải mã

            • 3.2. Mã vòng

              • 3.2.1. Định nghĩa và các tính chất cơ bản của mã vòng

              • 3.2.2. Cách mã hóa của mã vòng

              • 3.2.3 Mã BCH nhị phân

              • 3.2.4 Mã BCH không nhị phân

              • PHẦN 4 - MÃ REED – SOLOMON

                • 4.1. Đa thức sinh và cách mã hóa

                • 4.2. Mã Reed – Solomon hiệu quả đối với lỗi chùm

                • 4.3. Giải mã mã Reed – Solomon

                  • 4.3.1.Tính Syndrome

                  • 4.3.2. Đa thức định vị lỗi σ(X)

Tài liệu cùng người dùng

Tài liệu liên quan