Hình 1.5 Sơ đồ khối của hệ thống thu phát trong GSM hình từ [12] 1.5 Cấu trúc của luận án Phần lí thuyết của luận án chương 2 và chương 3 trình bày cơ sở toán học của các giải thuật giả
Trang 1LỜI CẢM ƠN
Trước hết, tôi xin bày tỏ lời cảm ơn chân thành đến TS Lê Tiến Thường và PGS TS Nguyễn Hữu Phương, những người đã tận tình hướng dẫn tôi hoàn thành luận án này
Tôi cũng xin cảm ơn tập thể các Thầy Cô giáo trường Đại học Bách khoa Thành phố Hồ Chí Minh đã hết lòng giảng dạy để trang bị cho tôi các kiến thức chuyên ngành một cách đầy đủ qua chương trình Cao học tại đây
Cuối cùng, tôi xin cảm ơn gia đình và bạn bè, những người đã luôn luôn động viên và giúp đỡ tôi trong suốt thời gian qua
Tp Hồ Chí Minh, 13/05/2003
Nguyễn Chí Kiên
Trang 2Tóm tắt
Mã kiểm tra chẵn lẻ mật độ thấp (mã LDPC) đã được Gallager đề xuất từ đầu những năm 60 Tuy nhiên, mãi đến gần đây, người ta mới khám phá ra khả năng kiểm soát lỗi rất cao của chúng Mã LDPC có thể được sử dụng trong nhiều ứng dụng thực tế như thông tin vô tuyến và lưu trữ dữ liệu
Trong luận án này, ở phần lí thuyết, chúng tôi trình bày các khái niệm của mã LDPC Tiếp đó là cơ sở lí thuyết của các thuật toán giải mã lặp cho mã LDPC, bao gồm giải thuật truyền thông báo và giải thuật tổng – tích Dựa trên các cơ sở lí thuyết này, hai giải thuật giải mã lặp cho mã LDPC sẽ được xây dựng, một giải thuật sử dụng hiệu likelihood và một dựa trên tỉ lệ likelihood Ngoài ra, một số phương pháp tạo mã LDPC cũng được mô tả Các phương pháp này có thể được chia ra thành nhóm các phương pháp ngẫu nhiên và nhóm các phương pháp giải tích Trong nhóm các phương pháp ngẫu nhiên, chúng tôi trình bày cấu trúc ban đầu của Gallager và các cấu trúc của Mackay Hai phương pháp giải tích là các phương pháp dựa trên hình học hữu hạn và thiết kế tổ hợp Chúng tôi cũng trình bày một khảo sát ngắn về các mã LDPC bất quy tắc
Ở phần mô phỏng, chúng tôi thực hiện mô phỏng hệ thống thông tin vô tuyến sử dụng mã LDPC trên Matlab và DSP Mục tiêu của phần mô phỏng Matlab là tạo một mã LDPC có độ dài khối nhỏ và khảo sát khả năng kiểm soát lỗi của mã này trên các kênh truyền AWGN và pha-đing Rayleigh Kết quả mô phỏng cho thấy mã LDPC được tạo có đặc tính kiểm soát lỗi tốt trong vùng khảo sát Phần mô phỏng DSP thực hiện giải thuật giải mã lặp cho mã LDPC trên vi mạch DSP56303 của Motorola Các chương trình kiểm chứng bằng Matlab cho thấy giải thuật giải mã thực hiện trên DSP cho kết quả chính xác
Trang 3Abstract
Low Density Parity Check codes (LDPC codes) were devised by Gallager in the early 60’s However, their high performance has just been discovered recently Two potential applications of LDPC codes are mobile communications and data storage
In the theoretical part of this thesis, firstly, we present the concepts of LDPC codes After that, we introduce the mathematical bases of the iterative decoding algorithms for LDPC codes, which include the belief propagation algorithm and the sum-product algorithm Two decoding algorithms for LDPC codes will be derived, one based on likelihood difference and the other based on likelihood ratio We also describe some construction methods for LDPC codes These methods can be divided into two groups: random methods and analytical methods In the group of random methods, we introduce Gallager’s prescription and Mackay’s constructions Two analytical methods presented are the codes based on finite geometries and the codes based on combinatorial designs A brief survey of irregular LDPC codes is also given
In the simulation part, we use Matlab and DSP to model a communication system that employs an LDPC code The objective of the simulation in Matlab is to create
an LDPC code with short block length and examine its performance over AWGN and Rayleigh fading channels The results show that this LDPC code has good performance in the examined Eb/N0 range We also implement the decoding algorithm based on likelihood difference on Motorola’s DSP56303 chip The results of DSP program have been verified using Matlab
Trang 4MỤC LỤC
1 GIỚI THIỆU 11
1.1 MÃ HOÁ KÊNH 11
1.2 MÃ TURBO 13
1.3 MÃ LDPC 14
1.4 MÃ HOÁ VÀ ĐIỀU CHẾ TRONG GSM 15
1.4.1 Chuyển đổi tương tự – số, phân đoạn và mã hoá tiếng 17
1.4.2 Mã hoá kênh 17
1.4.3 Ghép xen 18
1.4.4 Mật mã hoá 19
1.4.5 Tạo dạng burst 19
1.4.6 Điều chế 19
1.5 CẤU TRÚC CỦA LUẬN ÁN 20
2 CÁC GIẢI THUẬT GIẢI MÃ LẶP CHO MÃ LDPC 22
2.1 NHẮC LẠI MỘT SỐ KHÁI NIỆM VÀ ĐỊNH LÍ VỀ XÁC SUẤT 22
2.1.1 Xác suất tiên nghiệm 22
2.1.2 Xác suất hậu nghiệm 22
2.1.3 Phân phối hiệp xác suất 23
2.1.4 Xác suất biên: 23
2.1.5 Định lí Bayes: 23
2.1.6 Độc lập và độc lập có điều kiện: 24
2.2 MẠNG BELIEF 24
2.2.1 Giới thiệu 24
2.2.2 Ngữ nghĩa của mạng belief 27
2.2.3 Suy diễn trong mạng belief 30
2.2.4 Giải thuật truyền belief 31
Trang 52.3 ĐỒ THỊ THỪA SỐ VÀ GIẢI THUẬT TỔNG-TÍCH 41
2.3.1 Đồ thị thừa số 42
2.3.2 Đồ thị thừa số của mã LDPC 43
2.3.3 Giải thuật tổng tích 46
2.3.4 Giải thuật tổng tích cho mã LDPC 48
2.4 GIẢI THUẬT GIẢI MÃ CHO MÃ LDPC 52
2.4.1 Giải thuật giải mã lặp dựa trên hiệu likelihood 53
2.4.2 Giải thuật giải mã lặp dựa trên tỉ lệ likelihood 58
3 CÁC CẤU TRÚC CỦA MÃ LDPC 61
3.1 CẤU TRÚC CỦA GALLAGER 63
3.2 MÃ LDPC BẤT QUY TẮC 65
3.3 CẤU TRÚC CỦA MACKAY 67
3.4 MÃ LDPC CÓ QUI TẮC DỰA TRÊN HÌNH HỌC HỮU HẠN 69
3.4.1 Mã LDPC dựa trên hình học Ơ-clit 70
3.4.2 Mã LDPC dựa trên hình học xạ ảnh 72
3.5 MÃ LDPC TỪ CÁC THIẾT KẾ TỔ HỢP 73
3.5.1 Mã LDPC từ các thiết kế tổ hợp 74
3.5.2 Khoảng cách tối thiểu của mã LDPC từ STS và KTS: 78
4 CHƯƠNG TRÌNH MÔ PHỎNG VÀ KẾT QUẢ 80
4.1 TẠO MA TRẬN KIỂM TRA CHẴN LẺ H VÀ MA TRẬN SINH G 81
4.2 KẾT QUẢ MÔ PHỎNG MATLAB CHO KÊNH AWGN VÀ KÊNH PHA-ĐING RAYLEIGH 86
4.2.1 Kênh AWGN 86
4.2.2 Kênh phading Rayleigh 87
4.2.3 Chương trình mô phỏng Matlab 89
4.3 MÔ PHỎNG TRÊN DSP 95
4.3.1 DSP 56300 95
4.3.2 Bảng mạch DSP56303EVM 98
4.3.3 Thực hiện mô phỏng trên DSP 101
Trang 65 KẾT LUẬN 110
6 TÀI LIỆU THAM KHẢO 112
Trang 7HÌNH VẼ
HÌNH 1.1SƠ ĐỒ KHỐI CỦA MỘT BỘ MÃ HOÁ TURBO 13
HÌNH 1.2MÃ HOÁ KÊNH TRONG GSM 18
HÌNH 1.3GHÉP XEN TRONG GSM(HÌNH TỪ [12]) 18
HÌNH 1.4CẤU TRÚC BURST CỦA GSM(HÌNH TỪ [12]) 19
HÌNH 1.5SƠ ĐỒ KHỐI CỦA HỆ THỐNG THU PHÁT TRONG GSM(HÌNH TỪ [12]) 20
HÌNH 2.1SƠ ĐỒ BIỂU DIỄN MỐI QUAN HỆ GIỮA TỪ MÃ PHÍA PHÁT, TỪ MÃ PHÍA THU VÀ SYNDROME 25
HÌNH 2.2MỘT VÍ DỤ VỀ MẠNG BELIEF 27
HÌNH 2.3CÁC TRƯỜNG HỢP TRONG ĐÓ MỘT ĐƯỜNG DẪN TỪ X SANG Y BỊ CHẶN, CHO TRƯỚC TẬP DẤU HIỆU E 29
HÌNH 2.4BỐN KIỂU SUY DIỄN TRONG MẠNG BELIEF.E: BIẾN DẤU HIỆU,Q: BIẾN TRUY VẤN 31
HÌNH 2.5ĐỒ THỊ CỦA MỘT CÂY PHỨC.X LÀ BIẾN TRUY VẤN.E+ VÀ E- LÀ XÁC NHẬN KIỂU NHÂN QUẢ VÀ XÁC NHẬN KIỂU BẰNG CHỨNG CỦA X.MẠNG ĐƯỢC CHIA THÀNH HAI PHẦN RIÊNG BIỆT DỰA TRÊN CÁC NÚT CHA VÀ CÁC NÚT CON CỦA X.32 HÌNH 2.6(A)TÍNH μI(X I) VÀ (B)λI(X I) 34
HÌNH 2.7(A)TRUYỀN THÔNG BÁO TỪ DƯỚI LÊN;(B)TRUYỀN THÔNG BÁO TỪ TRÊN XUỐNG 36
HÌNH 2.8MẠNG BELIEF CỦA MÃ LDPC 37
HÌNH 2.9ĐỒ THỊ TANNER CỦA MÃ KHỐI TUYẾN TÍNH TRONG PHƯƠNG TRÌNH (2.19) 41 HÌNH 2.10ĐỒ THỊ THỪA SỐ CỦA TÍCH CHO TRONG PHƯƠNG TRÌNH (2.21) 43
HÌNH 2.11ĐỒ THỊ THỪA SỐ CỦA MÃ KHỐI TUYẾN TÍNH CHO BỞI MA TRẬN KIỂM TRA CHẴN LẺ CỦA PHƯƠNG TRÌNH (2.22) 44
HÌNH 2.12ĐỒ THỊ THỪA SỐ CỦA HIỆP XÁC SUẤT HẬU NGHIỆM CỦA MÃ KHỐI TUYẾN TÍNH CÓ MA TRẬN KIỂM TRA CHẴN LẺ Ở PHƯƠNG TRÌNH (2.22) 46
HÌNH 2.13(A)CÂY BIỂU DIỄN VẾ PHẢI CỦA PHƯƠNG TRÌNH (2.25).(B)ĐỒ THỊ THỪA SỐ DƯỚI DẠNG CÂY CỦA PHƯƠNG TRÌNH (2.21) VỚI X3LÀ GỐC 47
Trang 8HÌNH 2.14ĐỒ THỊ THỪA SỐ CỦA HIỆP XÁC SUẤT HẬU NGHIỆM CỦA MÃ CHO BỞI MA
TRẬN KIỂM TRA CHẴN LẺ TRONG PHƯƠNG TRÌNH (2.22) 49
HÌNH 2.15ĐỒ THỊ THỪA SỐ CỦA MÃ HAMMING CHO BỞI MA TRẬN KIỂM TRA CHẴN LẺ TRONG PHƯƠNG TRÌNH (2.40) 52
HÌNH 2.16(A)TÍNH TOÁN BẢN TIN TỪ MỘT CHECK SYMBOL ĐẾN MỘT NOISE SYMBOL (B)TÍNH TOÁN BẢN TIN TỪ MỘT NOISE SYMBOL ĐẾN MỘT CHECK SYMBOL 54
HÌNH 3.1MA TRẬN INCIDENCE CỦA MỘT THIẾT KẾ TỔ HỢP (9,12,4,3,1) 75
HÌNH 3.2MỘT MÃ DỰA TRÊN STS(V) SẼ CÓ KHOẢNG CÁCH TỐI THIỂU LỚN HƠN 3 78
HÌNH 4.1MA TRẬN CON THỨ NHẤT 81
HÌNH 4.2 MA TRẬN H TẠO RA BAN ĐẦU 82
HÌNH 4.3(A)DẠNG BẬC THANG THEO HÀNG (B)DẠNG BẬC THANG THEO HÀNG RÚT GỌN 83
HÌNH 4.4.GIẢI THUẬT TẠO H VÀ G. RK: HẠNG CỦA MA TRẬN H 84
HÌNH 4.5MA TRẬN K=[IN - KPT] 85
HÌNH 4.6MA TRẬN KIỂM TRA CHẴN LẺ (H) 85
HÌNH 4.7MA TRẬN SINH (G) 86
HÌNH 4.8.SƠ ĐỒ KHỐI HỆ THỐNG THÔNG TIN SỬ DỤNG MÃ LDPC MÔ PHỎNG BẰNG MATLAB 92
HÌNH 4.9FLOWCHART CỦA CHƯƠNG TRÌNH MATLAB MÔ PHỎNG HỆ THỐNG THÔNG TIN VÔ TUYẾN SỬ DỤNG MÃ LDPC 94
HÌNH 4.10KẾT QUẢ MÔ PHỎNG TRÊN KÊNH AGWN VÀ PHA-ĐING RAYLEIGH 95
HÌNH 4.11SƠ ĐỒ KHỐI CỦA CHIP DSP56303(SƠ ĐỒ TỪ [23]) 96
HÌNH 4.12BIỂU DIỄN CÁC GIÁ TRỊ FRACTIONAL BẰNG PHƯƠNG PHÁP DẤU CHẤM CỐ ĐỊNH 98
HÌNH 4.13SƠ ĐỒ CÁC KHỐI CHỨC NĂNG CỦA BẢNG MẠCH DSP56303EVM(SƠ ĐỒ TỪ [24]) 99
HÌNH 4.14GIAO DIỆN CỦA CHƯƠNG TRÌNH EVM563XX 100
HÌNH 4.15QUÁ TRÌNH MÔ PHỎNG TRÊN DSP VÀ KIỂM CHỨNG BẰNG CHƯƠNG TRÌNH
Trang 9HÌNH 4.16MA TRẬN KIỂM TRA CHẴN LẺ ĐƯỢC SỬ DỤNG TRONG MÔ PHỎNG DSP 105
HÌNH 4.17FLOWCHART CỦA CHƯƠNG TRÌNH GIẢI MÃ LDPC TRÊN DSP 107
Trang 10BẢNG BIỂU
BẢNG 4.1GIẢI THÍCH CÁC BIẾN TRONG CHƯƠNG TRÌNH MÔ PHỎNG MATLAB 91
BẢNG 4.2KẾT QUẢ MÔ PHỎNG MATLAB TRÊN KÊNH AGWN 94
BẢNG 4.3KẾT QUẢ MÔ PHỎNG MATLAB TRÊN KÊNH PHADING RAYLEIGH 94
BẢNG 4.4BIỂU DIỄN CÁC GIÁ TRỊ FRACTIONAL BẰNG CÁC TỪ 24 BIT TRONG DSP56300 98
BẢNG 4.5KẾT QUẢ MÔ PHỎNG DSP TRÊN KÊNH AWGN, KIỂM CHỨNG BẰNG CHƯƠNG TRÌNH MATLAB 109
BẢNG 4.6KẾT QUẢ MÔ PHỎNG DSP TRÊN KÊNH PHADING RAYLEIGH,, KIỂM CHỨNG BẰNG CHƯƠNG TRÌNH MATLAB 109
Trang 111 GIỚI THIỆU
1.1 Mã hoá kênh
Trong lĩnh vực lí thuyết thông tin, định lí mã hoá kênh của Shannon (Shannon’s channel coding theorem) được coi là đã mở đường cho sự phát triển của các mã kiểm soát lỗi (error control code) hay mã kênh truyền (channel code) Theo định lí này, chúng ta có thể truyền số liệu với bất cứ tốc độ bit rb nào nhỏ hơn dung lượng kênh truyền C với một xác suất lỗi Pe nhỏ tuỳ ý, trong đó C được cho bởi công thức Shannon-Hartley:
(b/s) 1
Ở đây, B là băng tần của kênh truyền tính bằng Hz và S/N là tỉ số tín hiệu trên tạp âm (SNR) Đối với thông tin số, SNR liên hệ với tỉ số năng lượng bit trên mật độ phổ công suất một phía của tạp âm Eb/N0 như sau:
0
E B
r BN
E r N
=
0 max 2
1
2 maxη
=
N
Trang 12Phương trình (1.4) được gọi là giới hạn Shannon Đây chính là giá trị Eb/N0 cần thiết để truyền số liệu với một tốc độ gần với dung lượng kênh truyền Giới hạn này cũng thường được sử dụng để đánh giá một sơ đồ mã hoá- điều chế
Một hệ quả quan trọng của lí thuyết mã hoá kênh là, công suất tạp âm chỉ giới hạn tốc độ số liệu chứ không giới hạn xác suất lỗi Chừng nào tốc độ số liệu vẫn thấp hơn dung lượng kênh truyền, chúng ta có thể duy trì một xác suất lỗi nhỏ tuỳ ý với một sơ đồ mã hoá kênh truyền phù hợp Đây chính là động lực thúc đẩy sự phát triển của các mã kênh truyền trong nửa thế kỉ qua Gần đây, các mã Turbo và mã LDPC đã được đánh giá là có thể tiệm cận giới hạn của Shannon
Theo Haykin [1], các mã khối tuyến tính (linear block codes) và mã tích chập (convolutional codes) truyền thống có nhược điểm là để tiếp cận giới hạn lí thuyết của dung lượng kênh truyền Shannon, chúng ta phải tăng độ dài từ mã (đối với mã khối tuyến tính) hoặc độ dài định hạn – constraint length (đối với mã tích chập) Nếu sử dụng giải mã likelihood cực đại, độ phức tạp tính toán sẽ tăng theo hàm mũ cho đến khi bộ giải mã không thể thực hiện được trên thực tế
Một hướng nhằm khắc phục vấn đề trên là thiết kế các mã có độ dài khối tương đương lớn mà quá trình giải mã có thể phân tích thành nhiều bước nhỏ Mã Turbo và mã LDPC là hai mã chống lỗi rất hiệu quả sử dụng phương pháp này Theo Lo [2], hai loại mã kênh truyền này có hai đặc điểm chung:
Sử dụng giải thuật giải mã lặp cận tối ưu (sub-optimal) có hiệu suất sửa lỗi cao
Cả hai loại mã này đều có tính ngẫu nhiên và nhờ đó khả năng kiểm soát lỗi cũng được cải thiện Đối với mã Turbo, bộ ghép xen hoán vị một cách ngẫu nhiên các bit thông tin đầu vào và tạo ra một tăng ích gọi là tăng ích thực hiện (performance gain) của bộ ghép xen Mã LDPC cũng được xây dựng trên cơ sở các ma trận thưa ngẫu nhiên
Trang 131.2 Mã Turbo
Thành phần cơ bản của một bộ mã hoá của mã Turbo là hai bộ mã hoá hệ thống kết nối với nhau bằng một bộ ghép xen như minh hoạ trên sơ đồ khối trong hình 1.1
Bộ ghép xen sẽ hoán vị thứ tự một chuỗi kí tự từ một bảng kí tự cho trước theo một qui tắc xác định Có nhiều kiểu ghép xen, ví dụ ghép xen tuần hoàn hoặc ghép xen giả ngẫu nhiên Mã Turbo sử dụng bộ ghép xen giả ngẫu nhiên với đầu vào là các bit hệ thống Theo Haykin [1], lí do của việc sử dụng bộ ghép xen trong mã Turbo là:
Nhằm liên kết các lỗi dễ xảy ra trong một nửa của mã Turbo với các lỗi
ít xảy ra trong nửa kia Đây là nguyên nhân chính làm cho mã Turbo có đặc tính tốt hơn các mã truyền thống
Nhằm khắc phục hiện tượng giải mã lệch (mismatched decoding), một vấn đề nảy sinh khi đặc tính thống kê của kênh truyền không xác định hoặc xác định thiếu chính xác
Bộ mã hoá 1 Bộ ghép xen Bộ mã hoá 2
Các bit
thông tin
Các bit hệ thống Các bit kiểm tra chẵn lẻ z1 Các bit kiểm tra chẵn lẻ z2
Đầura
Hình 1.1 Sơ đồ khối của một bộ mã hoá Turbo Thông thường, tuy không bắt buộc, hai bộ mã hoá 1 và 2 sử dụng chung một mã Các mã được khuyến nghị sử dụng cho mã Turbo là các mã tích chập hệ thống đệ qui (recursive systematic convolutional – RSC) có độ dài định hạn nhỏ Các mã tích chập này được tạo tính đệ qui (bằng cách đưa một hoặc nhiều đầu ra của thanh ghi dịch trở lại đầu vào) nhằm làm cho trạng thái bên trong của thanh ghi dịch phụ thuộc vào các đầu ra trong quá khứ Điều này sẽ ảnh hưởng đến trạng thái các
Trang 14mẫu lỗi vì một lỗi đơn trong các bit hệ thống sẽ tạo ra một số vô hạn các lỗi chẵn lẻ Kết quả là chỉ tiêu chất lượng chung của quá trình mã hoá sẽ được cải thiện
1.3 Mã LDPC
Mã LDPC, hay còn gọi là mã Gallager, được đề xuất bởi Gallager vào năm 1962 Về cơ bản đây là một loại mã khối tuyến tính Điểm đặc biệt của các mã LDPC là các ma trận kiểm tra chẵn lẻ là các ma trận thưa, tức là có hầu hết các phần tử là
0, chỉ một số ít là 1 Theo định nghĩa của Gallager, ma trận kiểm tra chẵn lẻ của mã LDPC còn có đặc điểm là mỗi một hàng chứa đúng i phần tử 1 và mỗi một cột chứa đúng j phần tử 1 [3] Tuy nhiên, tại thời điểm ra đời của mã LDPC, năng lực tính toán còn khá hạn chế nên các kết quả mô phỏng không phản ảnh được khả năng kiểm soát lỗi cao của mã này Cho đến tận gần đây, khả năng của mã LDPC mới được chứng minh và Mackay và Neal là hai người được coi là đã phát minh ra mã LDPC một lần nữa nhờ sử dụng giải thuật giải mã dựa trên giải thuật tổng-tích (sum-product algorithm)
Từ định nghĩa ban đầu của Gallager, Luby cùng các tác giả khác đã đánh dấu một bước tiến quan trọng của mã LDPC trong việc đưa ra khái niệm mã LDPC bất qui tắc [4] Đặc điểm của các mã này là trọng lượng hàng cũng như trọng lượng cột không đồng nhất Các kết quả mô phỏng cho thấy các mã LDPC bất qui tắc được xây dựng phù hợp có đặc tính tốt hơn các mã có qui tắc
Tiếp theo đó, Davey và Mackay khảo sát các mã bất qui tắc trên GF(q) với q>2 (GF: Galois Field – Trường Galois) Theo các tác giả này, khả năng kiểm soát lỗi của loại mã trên GF(q) được cải thiện đáng kể so với các mã trên GF(2) [5]
Việc biểu diễn mã LDPC bằng đồ hình (graph) đóng vai trò quan trọng trong việc xây dựng các giải thuật giải mã Tanner được coi là người đề xuất các mã dựa trên đồ hình [6] Nhiều nhà nghiên cứu khác đã phát triển các đồ hình Tanner và các đồ hình thừa số (factor graph) chính là một dạng tổng quát của đồ hình Tanner Đối với quá trình giải mã cho mã LDPC, các giải thuật giải mã xác xuất lặp thường được sử dụng McEliece cùng các tác giả khác đã chứng minh rằng các giải
Trang 15gọi là giải thuật truyền thông báo (message passing algorithm), một giải thuật khá phổ biến trong ngành trí tuệ nhân tạo [7] Kschischang cùng các tác giả khác đã tổng quát hoá giải thuật truyền thông báo để xây dựng giải thuật tổng-tích [8] Đây là một giải thuật có thể được áp dụng trong rất nhiều ngành khoa học kĩ thuật như trí tuệ nhân tạo, xử lí tín hiệu và thông tin số
Cấu trúc các mã LDPC cũng là một đề tài nghiên cứu của nhiều nhà lí thuyết thông tin Các phương pháp được sử dụng có thể là các phương pháp giải tích hoặc ngẫu nhiên Cấu trúc đầu tiên của mã LDPC được đề xuất bởi Gallager sử dụng phương pháp hoán vị ngẫu nhiên cột ma trận [3] Với mục đích giảm số lượng các vòng kín ngắn (short cycle) trong đồ hình Tanner của mã LDPC, Mackay đã đưa ra một số cấu trúc ngẫu nhiên khác, với các ma trận kiểm tra chẵn lẻ có số bit 1 chồng nhau giữa hai cột bất kì không quá 1 [9] Trong khi đó, các phương pháp tạo mã giải tích chủ yếu dựa trên hình học hữu hạn (finite geometries) và thiết kế tổ hợp (combinatorial design) Kou cùng các tác giả khác đã đề xuất bốn lớp mã LDPC dựa trên hình học Ơ-clit (Euclidean geometry) và hình học xạ ảnh (projective geometry) [10] Một đặc điểm đáng chú ý của các mã này là chúng có thể được đưa về dạng mã vòng (cyclic) hoặc gần-vòng (quasi-cyclic), vì vậy có thể được mã hoá sử dụng thanh ghi dịch Các mã LDPC dựa trên thiết kế tổ hợp được xây dựng từ các hệ Steiner và hệ Kirkman, là một trường hợp đặc biệt của hệ Steiner Mackay và Davey đã khảo sát các mã từ hệ Steiner cho các ứng dụng độ dài khối thấp và tỉ lệ mã cao Các mã này không có các vòng kín độ dài 4, tuy nhiên đặc tính khoảng cách Hamming tối thiểu của chúng khá kém Hiện nay, các mã xây dựng trên các hệ ba Kirkman (Kirkman triple system) đang được nghiên cứu tại đại học New Castle (Úc) [11] Hai nhà khoa học này đã chứng minh được đặc tính girth tốt của các mã này và đặc tính khoảng cách Hamming tối thiểu cũng tốt hơn các mã từ hệ ba Steiner (Steiner triple system)
1.4 Mã hoá và điều chế trong GSM
Từ khi ra đời vào những năm 80 đến nay, các hệ thống thông tin di động đã phát triển qua ba thế hệ Các hệ thống di động thế hệ thứ nhất (1G) là các hệ thống
Trang 16tương tự, chuyển mạch kênh, có dung lượng thấp, có vùng phủ sóng nhỏ và chỉ cung cấp dịch vụ thoại cơ bản Các hệ thống thế hệ thứ hai (2G), hiện nay đang được sử dụng phổ biến trên toàn cầu, là các hệ thống số có vùng phủ và chuyển vùng đa quốc gia và có thể hỗ trợ các ứng dụng số liệu tốc độ thấp Hiện nay các hệ thống thông tin di động thế hệ thứ ba (3G) đang được nghiên cứu và phát triển Hai yêu cầu chính đối với các hệ thống vô tuyến di động thế hệ thứ ba (3G) là hỗ trợ các dịch vụ số liệu tốc độ cao và hiệu suất phổ cao Đặc điểm chính của các hệ thống 3G, hay IMT 2000 (International Mobile Telecommunications 2000), là:
Phủ sóng và chuyển vùng trên phạm vi toàn cầu
Bảo đảm một chất lượng dịch vụ (Quality of Service - QoS) cho thoại tương đương với các mạng thoại cố định
Phát triển theo giai đoạn, giai đoạn đầu tiên hỗ trợ tốc độ bit đến 2 Mbps
Hỗ trợ truyền số liệu theo cả hai phương thức chuyển mạch gói và chuyển mạch kênh
Cung cấp các dịch vụ multi-media có tốc độ cao như âm thanh, hình ảnh chất lượng cao và dữ liệu máy tính
Tuy nhiên, các hệ thống 3G sẽ không chỉ dựa trên một tiêu chuẩn giao diện vô tuyến duy nhất mà được phát triển từ các hệ thống 2G hiện nay Quá trình chuẩn hoá đang được tiến hành riêng rẽ ở Mĩ, Nhật và châu Âu Ở Mĩ, các hệ thống 3G đang được chuẩn hoá là EDGE và cdma2000, ở Nhật, đó là WCDMA và châu Âu là UMTS
Một trong những thành phần quan trọng của một hệ thống vô tuyến là mã hoá kênh (channel coding) và điều chế (modulation) Hiện nay, hệ thống GSM sử dụng kết hợp mã khối và mã tích chập trong mã hoá kênh và sử dụng phương pháp điều chế GMSK (Gaussian Minimum Shift Keying) Vấn đề luôn được quan tâm đối với các hệ thống di động là giảm thiểu tỉ lệ lỗi bit (BER) với một tỉ lệ tín hiệu trên tạp âm (SNR) cho trước Phần sau đây mô tả tóm tắt quá trình xử lí tín hiệu, mã hoá
Trang 17được tìm thấy trong các tài liệu tham khảo [12] và [13] cũng như trong nhiều tài liệu khác
1.4.1 Chuyển đổi tương tự – số, phân đoạn và mã hoá tiếng
Ban đầu, tiếng nói được lấy mẫu ở tần số 8 kHz và mã hoá với 13 bit cho một mẫu Tiếng nói của người xuất phát từ thanh quản Khi âm thanh (tone) phát ra, các cơ quan như miệng, lưỡi và răng đóng vai trò như một “bộ lọc” làm thay đổi đặc tính của âm ban đầu Mục tiêu của mã hoá tiếng trong GSM là, thay vì gửi toàn bộ tiếng nói được mã hoá, chỉ gửi thông tin về âm ban đầu và thông tin về
“bộ lọc” của người nói
Thông thường các thông số của “bộ lọc” thay đổi rất ít trong khoảng thời gian 20
ms Vì vậy, trong GSM, mỗi khối tiếng nói dài 20 ms sẽ được mã hoá thành một khối 260 bit Tốc độ bit vì vậy sẽ là 260 bit/20×10-3 s = 13 kb/s
1.4.2 Mã hoá kênh
Mỗi khối 260 bit sau mã hoá tiếng sẽ được đưa vào mã hoá kênh để tạo thành 456 bit mã 260 bit đầu vào được chia thành 3 nhóm theo tầm quan trọng tương đối của chúng:
Nhóm 1: 50 bit rất quan trọng
Nhóm 2: 132 bit quan trọng
Nhóm 3: 78 bit ít quan trọng
Như có thể thấy trên hình 1.2, nhóm 50 bit đầu tiên sẽ được đưa vào một bộ mã hoá khối (block coder) Bộ mã hoá khối sẽ cộng thêm vào 3 bit chẵn lẻ nhằm phát hiện lỗi trong bản tin thu Sau đó, 53 bit từ nhóm đầu tiên, 132 bit từ nhóm thứ hai và 4 bit đuôi (tail bit) (tổng cộng là 189 bit) sẽ được đưa vào một bộ mã hoá tích chập (convolutional coder) 1:2 , cho ra 378 bit Các bit thêm vào bởi bộ mã hoá tích chập sẽ cho phép sửa lỗi bit 78 bit trong nhóm 3 sẽ được đưa thẳng đến đầu
ra
Trang 18Mã hoá tích chập 1:2
Mã hoá khối 53 bit
50 bit rất quan trọng
132 bit quan trọng
378 bit
78 bit ít quan trọng
Hình 1.2 Mã hoá kênh trong GSM
1.4.3 Ghép xen
Để giảm tỉ lệ lỗi bit cho mỗi đoạn 20 ms thoại, GSM sử dụng kĩ thuật ghép xen (interleaving) Có hai cấp ghép xen Trong cấp thứ nhất, mỗi nhóm 456 bit được ghép xen thành 8 khối, mỗi khối có 57 bit
Hình 1.3 Ghép xen trong GSM (hình từ [12]) Trong cấp ghép xen thứ hai, thay vì gửi hai khối 57 bit của cùng một đoạn 20 ms trên cùng một burst, người ta ghép xen hai khối 57 bit của hai đoạn 20 ms kế tiếp
Trang 191.4.4 Mật mã hoá
Để bảo mật, các khối 456 bit được mật mã hoá bằng giải thuật A5 Số bit đầu ra không thay đổi
1.4.5 Tạo dạng burst
Mỗi một burst gồm 2 khối 57 bit sẽ được bổ sung thêm 26 bit của chuỗi training, 2 bit cờ (flag) và 6 bit đuôi Tổng số bit trong mỗi burst vì thế trở thành 57×2+26+2+6=148 bit
Hình 1.4 Cấu trúc burst của GSM (hình từ [12])
1.4.6 Điều chế
Kĩ thuật điều chế được sử dụng trong GSM là GMSK (Gaussian Minimum Shift Keying) Về cơ bản đây là một lược đồ điều tần nhị phân có pha liên tục, trong đó tín hiệu baseband đầu vào đã được lọc tạo dạng phổ bằng một bộ lọc có đáp ứng xung là hàm Gausse
Hình 1.5 trình bày sơ đồ khối của hệ thống thu phát trong GSM
Trang 20Hình 1.5 Sơ đồ khối của hệ thống thu phát trong GSM (hình từ [12])
1.5 Cấu trúc của luận án
Phần lí thuyết của luận án (chương 2 và chương 3) trình bày cơ sở toán học của các giải thuật giải mã lặp được sử dụng cho mã LDPC và một số phương pháp tạo mã LDPC Chương 4 của luận án mô tả phương pháp mô phỏng, các chương trình và kết quả mô phỏng mã LDPC trong hệ thống thông tin vô tuyến Các mô phỏng được thực hiện trên Matlab và DSP
Chương 2 trình bày cơ sở lí thuyết của các giải thuật giải mã xác suất lặp Phần 2.1 trình bày một số khái niệm và định lí cơ bản của xác suất được sử dụng trong chương này Phần 2.2 mô tả mạng belief và quá trình suy diễn trong mạng belief Giải thuật truyền belief sau đó sẽ được áp dụng để xây dựng giải thuật giải mã lặp cho mã LDPC Phần 2.3 giới thiệu giải thuật tổng-tích, được coi là phiên bản tổng quát của giải thuật truyền belief Ở cuối chương này, chúng tôi trình bày hai giải
Trang 21thuật tổng-tích Một phương pháp giải mã sử dụng hiệu likelihood, phương pháp kia sử dụng tỉ số likelihood
Một số phương pháp tạo mã được trình bày trong chương 3 của luận án Các phương pháp này có thể được phân chia một cách tương đối thành nhóm các phương pháp ngẫu nhiên và nhóm các phương pháp giải tích Một phương pháp ngẫu nhiên khá đơn giản để tạo các mã LDPC có qui tắc được đề xuất bởi Gallager là phương pháp hoán vị cột Chương này cũng mô tả sơ lược cấu trúc của mã LDPC bất quy tắc trong phần 3.2 Mackay đã đưa ra nhiều cấu trúc xây dựng mã LDPC, một số cấu trúc sẽ được trình bày trong phần 3.3 Các phương pháp giải tích được giới thiệu bao gồm phương pháp sử dụng hình học hữu hạn và phương pháp sử dụng các thiết kế tổ hợp
Phần cuối của luận án trình bày phương pháp mô phỏng, các chương trình và kết quả mô phỏng Mục tiêu của phần mô phỏng là:
Tạo mã LDPC
Kiểm tra khả năng kiểm soát lỗi của mã LDPC này trong hệ thống thông tin vô tuyến
Thực hiện giải mã lặp LDPC trong thực tế bằng DSP
Các chương trình mô phỏng được viết bằng script file của Matlab và assembly cho DSP (DSP56303 của Motorola)
Trang 222 CÁC GIẢI THUẬT GIẢI MÃ LẶP CHO MÃ LDPC
2.1 Nhắc lại một số khái niệm và định lí về xác suất
Dưới đây, chúng tôi điểm qua một số khái niệm và định lí về xác suất sẽ được sử dụng trong chương này
2.1.1 Xác suất tiên nghiệm
Xác suất tiên nghiệm (a priori probability), hay xác suất không điều kiện, để mệnh đề A đúng, được kí hiệu là P(A) Lấy ví dụ, kí hiệu Có Trộm là sự kiện có trộm đột nhập vào nhà bạn, khi đó:
P(Có Trộm)=0.1 có nghĩa là, khi không có bất cứ thông tin nào khác, sẽ có khả năng 10% trộm đột nhập vào nhà bạn
Mệnh đề trong dấu ngoặc cũng có thể bao gồm cả đẳng thức, khi đó ta sẽ có các biến ngẫu nhiên Lấy ví dụ, khi ta gieo một con xúc xắc, kí hiệu biến ngẫu nhiên
X là giá trị số gieo được, ta có:
P(X=1)= P(X=2) =P(X=3) =P(X=4) =P(X=5) =P(X=6)=1/6
Các giá trị có thể có của biến ngẫu nhiên X được gọi là miền xác định (domain) của X Trong ví dụ trên đây, miền xác định của X là {1, 2, 3, 4, 5, 6} Một mệnh đề cũng có thể được coi là một biến ngẫu nhiên với miền xác định là {Đúng, Sai} Nếu ta viết xác suất để X nhận các giá trị trong miền xác định dưới dạng:
P(X)= {1/6, 1/6, 1/6, 1/6, 1/6, 1/6},
ta sẽ được phân phối xác suất của biến ngẫu nhiên X
2.1.2 Xác suất hậu nghiệm
Một khi chúng ta đã có một dấu hiệu (thông tin) nào đó liên quan đến biến ngẫu nhiên X thì xác suất tiên nghiệm không còn được sử dụng nữa Thay vào đó, ta sẽ sử dụng xác suất có điều kiện (conditional probability), hay còn gọi là xác suất
Trang 23hậu nghiệm (a posteriori probability – APP), kí hiệu là P(A|B) Đây là xác suất của sự kiện A với tất cả các thông tin mà chúng ta đã biết là B
Xác suất có điều kiện có thể được tính từ xác suất không điều kiện:
)(
),()(
B P
B A P B A
trong đó P(A, B) là xác suất để hai sự kiện A, B xảy ra đồng thời
Phương trình trên cũng có thể được viết lại thành:
)()(),(A B P A B P B
Đây được gọi là qui tắc nhân (product rule) Qui tắc nhân có thể được mở rộng cho
n biến ngẫu nhiên:
)()(
),,(
),,(
),,
(X1 X n P X1 X2 X n P X2 X3 X n P X n 1 X n P X n
2.1.3 Phân phối hiệp xác suất
Xác suất để n biến ngẫu nhiên X1, X2, …, Xn lần lượt nhận các giá trị x1, x2,…, xnđược gọi là hiệp xác suất:
P(X1=x1, X2=x2, …., Xn=xn) Phân phối hiệp xác suất P(X1, X2, …., Xn) xác định hiệp xác suất của tất cả các tổ hợp giá trị có thể có của X1, X2, …, Xn
2.1.4 Xác suất biên:
Xác suất biên P(Xi=xi) của một phân phối hiệp xác suất P(X1, X2, …., Xn) được định nghĩa như sau:
P(Xi=xi) = ∑j=1 n, j≠i P(X1=x1, X2=x2, … Xi=xi, , Xn=xn)
2.1.5 Định lí Bayes:
Sử dụng quy tắc nhân, ta có thể chứng minh được định lí Bayes:
)(
)()()(
X P
Y P Y X P X Y
Tổng quát hơn, với một dấu hiệu cho trước E (còn gọi là dấu hiệu nền), ta có
)(
)(),(),(
E X P
E Y P E Y X P E X Y
Trang 242.1.6 Độc lập và độc lập có điều kiện:
Hai biến ngẫu nhiên X và Y được gọi là độc lập nếu: p(X)=p(X | Y) Khi đó, từ qui tắc nhân, ta có: P(X, Y)=p(X)p(Y)
Nếu hai biến ngẫu nhiên X, Y chỉ độc lập khi cho trước Z, X và Y được gọi là độc lập với điều kiện Z: p(X | Z)=p(X | Y, Z)
2.2 Mạng belief
Ở phần này, trong mục 2.2.1 và 2.2.2, chúng tôi mô tả mạng belief và cách sử dụng mạng belief để biểu diễn các phân bố hiệp xác suất và sự độc lập có điều kiện của các biến ngẫu nhiên Các mục 2.2.3 và 2.2.4 mô tả cơ chế suy diễn và quá trình truyền belief trong mạng belief Cuối cùng, một giải thuật giải mã lặp cho mã LDPC sẽ được xây dựng dựa trên giải thuật truyền belief Cơ sở của phần này là các tài liệu tham khảo [2, 7, 14, 15, 16, 17]
100110
010011
Từ vector thông tin ban đầu u=(u1, … , uk), từ mã v=(v1, … , vn) sẽ được tạo ra theo công thức v=u.G, trong đó G là ma trận sinh Ở đây, C là không gian không (null space) của H, tức là v.HT=0, trong đó HT là ma trận chuyển vị của H Kí hiệu hi là hàng thứ i của ma trận H, ta có:
J1,2, ,i
0
i h
với hi là vector hàng: hi=(hi,1, … , hi,n) Phương trình (2.2) có thể được viết lại thành:
Trang 250.1
Trang 26một khái niệm rất phổ biến trong ngành trí tuệ nhân tạo Theo Russell và Norvig [16], mạng belief là một cấu trúc dữ liệu mô tả quan hệ giữa các biến ngẫu nhiên và xác định phân bố hiệp xác suất của chúng Đây là một đồ hình mạng với những đặc điểm sau:
- Mỗi một nút mạng biểu diễn một biến ngẫu nhiên
- Một mũi tên từ nút X đến nút Y biểu diễn tác động trực tiếp từ X lên Y Khi đó, X được gọi là nút cha của Y
- Tại mỗi nút mạng có một bảng xác suất có điều kiện (conditional probability table – CPT) xác định ảnh hưởng của các nút cha lên nút mạng đang xét
- Sơ đồ mạng là sơ đồ có hướng và không có các vòng kín (directed, acyclic graph – DAG)
Một ví dụ về mạngï belief thường cho trong nhiều tài liệu về trí tuệ nhân tạo là ví dụ về hệ thống chuông báo trộm Giả sử nhà bạn có một chiếc chuông báo trộm hoạt động tương đối đáng tin cậy, tuy nhiên nó cũng báo động giả khi có động đất nhẹ Hai người hàng xóm ở kề hai bên là Hùng và Lan hứa sẽ gọi điện thoại cho bạn ở nơi làm việc nếu nghe tiếng chuông báo động Hùng luôn luôn gọi điện khi có báo động, tuy nhiên thỉnh thoảng anh lại nhầm tiếng chuông điện thoại là tiếng chuông báo động Ngược lại, Lan thì thường mở nhạc rất lớn nên đôi khi không nghe thấy tiếng chuông báo động Sơ đồ mạng belief của ví dụ này được trình bày trong hình 2.2
Trang 27Có trộm Động đất
Báo động
P(T) 001
P(D) 002
.90
T F
.70 01
Hình 2.2 Một ví dụ về mạng belief Bảng xác suất có điều kiện tại mỗi nút mạng mô tả ảnh hưởng của các nút cha lên nó Ở đây các biến đều là nhị phân nên chỉ có thể nhận giá trị T (True – Đúng) hoặc F (False – Sai) Các bảng chỉ cho các xác suất P(X=True) vì xác suất P(X=False) có thể được tính theo công thức 1-P(X=True) Dựa trên mô hình này, xác suất của sự kiện có trộm có thể được tính khi biết Hùng gọi hay Lan gọi
Người ta đã nhận thấy có thể dùng mạng belief để biểu diễn quan hệ giữa các bit trong từ mã ban đầu, từ mã bị tạp âm và syndrome của một mã LDPC Từ đó, bằng cách áp dụng các công thức truyền belief của mạng belief, ta có thể xây dựng giải thuật giải mã lặp dựa trên xác suất cho mã LDPC
2.2.2 Ngữ nghĩa của mạng belief
Phần này trình bày cách biểu diễn các phân bố hiệp xác suất và sự độc lập có điều kiện của các biến ngẫu nhiên trong mạng belief
Phân bố hiệp xác suất trong mạng belief
Mạng belief có thể được sử dụng để biểu diễn các phân bố hiệp xác suất Trong ví dụ trên, chúng ta có thể tính toán xác suất để động đất xảy ra, không có trộm, có chuông báo động và chỉ Hùng gọi điện báo
Trang 28Phương trình (2.4) có thể được viết lại thành:
)
)()()(
)()(H B P L B P B T D P T P D
n n
X x
X
P
1 1
Mặt khác, áp dụng qui tắc nhân, hiệp xác suất cũng có thể được viết dưới dạng:
),,P(x
)()(),,(
),,(
), ,
(
n
1 i
1 1 i
1 1 2 1
2 1 1
1 1
x P x x P x x
x P x x
x P x x
P
i
n n n
n n
K
KK
),,(X i X i 1 X1 P X i Parents X i
với điều kiện các nút cha của Xi cũng thuộc tập các nút {Xi-1, …, X1} Điều kiện này có thể được thoả mãn bằng cách đánh số các biến ngẫu nhiên theo thứ tự phú hợp với cấu hình mạng
Như vậy mạng belief có thể biểu diễn quan hệ giữa các biến ngẫu nhiên một cách chính xác chỉ với điều kiện là: Cho trước giá trị các nút cha của một biến ngẫu nhiên bất kì, biến ngẫu nhiên này sẽ độc lập có điều kiện với tất các các nút tổ tiên của nó Vì vậy, khi xây dựng một mạng belief, với một nút mạng Xi, chỉ những nút trong tập {Xi-1, …, X1} có ảnh hưởng trực tiếp đến Xi mới được xem là các nút cha của Xi Trong ví dụ về chiếc chuông báo động trên đây, ta có thể thấy rằng sự kiện Có Trộm hay sự kiện Động Đất đều có ảnh hưởng đến sự kiện Hùng
Trang 29Gọi, tuy nhiên đây là ảnh hưởng không trực tiếp mà thông qua sự kiện Chuông Báo Động Vì vậy, ta có thể viết:
P(Hùng Gọi | Lan Gọi, Báo Động, Động Đất, Trộm)=P(Hùng Gọi | Báo Động)
Quan hệ độc lập có điều kiện của các biến ngẫu nhiên trong mạng belief
Trong phần trên, chúng ta đã khảo sát sự độc lập của một nút mạng với các nút tổ tiên của nó, cho trước các nút cha Để xây dựng các giải thuật suy diễn (inference algorithm), thông thường chúng ta còn cần phải khảo sát các quan hệ độc lập có điều kiện tổng quát hơn, chẳng hạn, sự độc lập của một tập các nút mạng X với một tập các nút mạng Y, cho trước tập các dấu hiệu (Evidence) E Để biểu diễn quan hệ này, Russel và Norvig [16] đã đưa ra khái niệm”phân tách theo hướng” (direction-dependent separation) gọi tắt là “phân tách d” (d-separation) Tập nút mạng E được gọi là phân tách d hai tập nút mạng X và Y nếu, cho trước E, tất cả các đường dẫn vô hướng từ một nút thuộc X đến một nút thuộc Y đều bị chặn Một đường dẫn được gọi là bị chặn cho trước tập E, nếu tồn tại một nút Z thoả mãn một trong hai điều kiện:
- Z là một nút mạng kiểu “đối đầu” (head-to-head) và Z cũng như các con cháu của Z đều không thuộc tập E (Trường hợp 3 trong hình 2.3)
- Z không phải là một nút mạng kiểu đối đầu và Z là một phần tử của tập E (Trường hợp 1 và 2 trong hình 2.3)
Hình 2.3 Các trường hợp trong đó một đường dẫn từ X sang Y bị chặn, cho trước
tập dấu hiệu E
Trang 302.2.3 Suy diễn trong mạng belief
Sử dụng mạng belief, chúng ta có thể tính toán phân phối xác suất có điều kiện (xác suất hậu nghiệm) của một tập các biến truy vấn (query variable), cho trước giá trị chính xác của một số biến dấu hiệu (evidence variable) Nghĩa là, chúng ta phải tính P(Q=q | E=e), trong đó Q và E lần lượt là tập các biến truy vấn và tập các biến dấu hiệu Trong ví dụ về chiếc chuông báo động, sự kiện Có Trộm là một biến truy vấn và Hùng Gọi và Lan Gọi có thể đóng vai trò như các biến dấu hiệu Dựa trên quan hệ giữa Q và E, người ta phân ra bốn kiểu suy diễn:
- Suy diễn chẩn đoán (diagnostic inference): Đây là suy diễn đi từ kết quả đến nguyên nhân Lấy ví dụ, giả sử Hùng gọi điện thì xác suất có trộm là bao nhiêu?
- Suy diễn nhân quả (causal inference): Suy diễn đi từ nguyên nhân đến kết quả
Ví dụ, giả sử có trộm thì xác suất Lan gọi là bao nhiêu?
- Suy diễn liên nhân quả (intercausal inference): Suy diễn giữa các nguyên nhân có một kết quả chung Lấy ví dụ, cả sự kiện Có Trộm và sự kiện Động Đất đều dẫn đến Báo Động Hai sự kiện Có Trộm và Động Đất là độc lập, tuy nhiên cho trước là có Báo Động thì xác suất Có Trộm sẽ giảm đi nếu ta biết rằng đã có Động Đất xảy ra
- Suy diễn hỗn hợp (mixed inference): Hỗn hợp của nhiều loại suy diễn ở trên
Ví dụ, để tính toán xác suất có Báo Động biết rằng không có Động Đất và Hùng có gọi điện, chúng ta sẽ cần đến cả suy diễn chẩn đoán và suy diễn nhân quả
Các kiểu suy diễn trên được minh hoạ trong hình 2.4
Trang 31Hình 2.4 Bốn kiểu suy diễn trong mạng belief E: biến dấu hiệu, Q: biến truy vấn
2.2.4 Giải thuật truyền belief
Phần này mô tả giải thuật truyền belief Pearl Giải thuật này được lấy tên theo tác giả Judea Pearl của cuốn sách “Probabilistic reasoning in intelligent systems: Networks of Plausible Inference” [14] Giải thuật Pearl có thể được sử dụng để tính các xác suất có điều kiện của một tập các biến, cho trước giá trị của các biến dấu hiệu Trên một đồ thị có hướng, không có vòng kín (DAG) G, giải thuật truyền belief Pearl là một giải thuật truyền thông báo phân tán trong đó các đỉnh của G trao đổi thông tin về xác suất của chúng Mỗi một nút mạng chỉ có thể nói chuyện được với các nút cha và nút con của nó
Khái niệm căn bản trong mạng belief chính là Belief Belief(xi) được định nghĩa là xác suất có điều kiện, hay xác suất hậu nghiệm, để một biến Xi nhận giá trị xi, cho trước dấu hiệu e
)()
Mỗi nút mạng nhận các thông báo từ các nút cha và nút con của nó, sử dụng các thông báo này để cập nhật belief của bản thân, sau đó gửi các thông báo mới cho các nút cha và nút con
Để mô tả quá trình truyền thông báo, người ta đưa ra khái niệm cây (tree) và cây phức (polytree) Cây là một đồ thị vô hướng trong đó giữa hai nút mạng bất kì chỉ có một đường dẫn duy nhất Một cây sẽ được gọi là cây phức nếu mỗi nút mạng có thể có nhiều nút cha (Cây phức còn được gọi là mạng kết nối đơn – singly
Trang 32connected network) Một ví dụ về cây phức được cho trong hình 2.5 Ở đây, X là biến truy vấn và E là tập các biến dấu hiệu (X không thuộc E) Giả sử ta phải tính P(X|E) Kí hiệu U = U1, …, Up là tập các nút cha và Y = Y1, …, Yc là tập các nút con của X Với mỗi nút mạng trong hai tập này, ta tách nút đang xét và tất cả các nút cha ông cũng như con cháu của nó (chỉ trừ X) ra khỏi phần còn lại bằng một khung vuông có đường bao đứt nét Do đây là mạng kết nối đơn, các khung vuông này không chồng lấn lên nhau và chỉ có một đường dẫn duy nhất (đi qua X) nối giữa hai khung vuông bất kì Cũng có thể nhận thấy rằng, trong một cây phức, một nút mạng Xi sẽ chia toàn bộ đồ thị ra thành hai cây phức riêng rẽ Một cây phức chứa tất cả các nút mạng có thể liên lạc qua các nút cha của Xi (không đi qua bản thân
Xi), cây phức kia chứa các nút nối với các nút con của Xi Vì thế, tập dấu hiệu cho trước có thể được viết lại thành E= E i+UE i−, trong đó +
Trang 33p(x i e)= p(x i e i+,e i−)
)(),(),(
1
i i i i i i
x p x e e p e e p
− +
− +
1
− +
=
i
i e e p k
Vì thế ta có thể viết:
p(x i e)∝ p(e i− x i)p(x i,e i+)
)(
)()()(
i i
i i i i i
x
x x e
x p
ρ
μλ
∝
∝
(2.8) trong đó ∝ biểu thị “tỉ lệ với”, λi(x i)= p(e i− x i) và μi(x i)= p(x i,e i+)
Sử dụng kí hiệu U = U1 … Up cho các nút cha và Y = Y1 … Yc cho các nút con của
X, ta có::
+ =
i p
E là dấu hiệu từ các nút cha Uj của Xi
− =
c i
E là dấu hiệu từ các nút con Yj của Xi Sau đây ta tính toán các thừa số μi(xi), λi(xi) và belief p(xi|e) trong (2.8)
Tính μ i (x i ):
),()
p( , , ) (Công thức xác suất biên tính trên tất cả các nút cha)
),(),(x e u p e u
u
i i
+ +
∑
Do U1, U2, …, Up bị phân tách d bởi Xi (Trường hợp 3 trong hình 2.3), các biến này đều độc lập có điều kiện, cho trước Xi, vì vậy ta có:
),(
,,,,)
,(
p
1 j
1
1
j x u
p x u x
u i
u e p
u e u
e p u e p
i
i p i
+
=
+ +
Trang 34i i i
i
1
)()
,()
trong đó u x(u j) p(e u x,u j)
i i
+
=
μ được gọi là bản tin μ đưa thông tin từ các nút cha Uj
(với giá trị uj) xuống nút Xi (Xem hình 2.6a)
Tính λ i (x i ):
),
,(
)()(
1 y i y
i i i
i
x e e
p
x e p x
c i i
Tương tự, do các nút Yj bị phân tách d (Trường hợp 2 trong hình 2.3), vì thế:
)(
)
j i i
i i
Xi
(b)
Hình 2.6 (a) Tính μi(xi) và (b) λi(xi) Từ các phương trình của μi(xi) and λi(xi) trong (2.9) và (2.10), Bel(xi)=p(xi|e) trong (2.8) có thể được tính toán như sau:
i i x
x
x Bel
i i
i
1 c
1 j
Trang 35Bản tin gửi từ nút Xi đến một nút con Yj sẽ được tính từ các bản tin μ từ các nút cha của Xi và các bản tin λ từ các nút con của Xi (trừ bản tin từ chính nút con Yj)
Uj
k y x
y
j i j
,(
p x i e x i Uk j e i y k
≠
− +
= (Tách riêng các thông báo từ các nút cha của Xi và
các thông báo từ các nút con của Xi)
),
(),
(
j k y i
x i x e i k p x e i k e
≠
− là dấu hiệu nền)
j k y i
e p
i k
i i
k y
x p
k i k
)()
j k y i
x i
k i i
i y i
j k
e p
k i k
≠
− +
≠
− +
∝
=
=
j k
i y x
i
j k
i y i
x
j k
i y i
i x i
y
x e p e
x p
x e p x e p
x e p x p x e p x
k i i
k i i
k i i
j i
)(
)(
)(
),(
)(
)()()(μ
∏
≠
∝
j k
i x y i i i
i k j
Truyền thông báo từ dưới lên:
Trang 36Một thông báo được gửi từ một nút Yj đến một trong các nút cha Xi có thể được tính theo các bản tin từ tất cả các nút con của Yj và từ tất cả các nút cha, trừ Xi
Uk i x y y
y j e j e k j e
)(
j
−
=λ
j k j
x
i y x j
e p
} { ,
),
,(
U U
x
k y x j i
k
k y x j
e p
j k i
k k j
j k j
k j
i k k j
j k
e p
(độc lập có điều kiện) U
k y x j y
j
i k k
j k j
e p
j k j
j
k y x k
j y
j
e p
} {
),()()
(
j k j
i
k y x k j y
j j i
x
} {
)()
()
(
Trang 37- μi(xi) được tính theo phương trình (2.9) sau khi Xi đã nhận được tất cả các bản tin μ từ tất cả các nút cha (Xem hình 2.6a)
- λi(xi) được tính theo phương trình (2.10) sau khi Xi đã nhận được các bản tin
λ từ tất cả các nút con (Xem hình 2.6b)
- Xi tính toán và gửi đi các bản tin y (x i)
j i
μ cho các nút con Yj (phương trình (2.12), hình 2.7b)
- Xi tính toán và gửi đi các bản tin u (u j)
j
λ đến các nút cha Uj (phương trình (2.13), hình 2.7a)
- Belief của Xi có thể được tính theo phương trình (2.11)
2.2.5 Áp dụng giải thuật truyền belief cho mã LDPC
Như đã nói đến trong phần 2.2.1, mạng belief của một mã LDPC có thể được minh hoạ như trong hình 2.8
Trên hình 2.8, x=(x1, x2, …, xn) là tín hiệu điều chế BPSK của từ mã v=(v1, v2, …,
vn) Tín hiệu BPSK thu là r=(r1, r2, … , rn) và s=(s1, s2, …, sJ) là syndrome, trong đó J≥n-k, n là độ dài từ mã và k là độ dài của từ thông tin
Trang 38Kí hiệu N(sj) là tập các nút cha của sj, M(xi) là tập các nút syndrome nối tới xi, giải thuật giải mã lặp cho mã LDPC có thể được xây dựng như sau:
Khởi tạo:
Theo phương trình (2.8), xác suất có điều kiện của xi được cho bởi:
)()()(x i k i x i i x i
trong đó k là một hằng số
Tính λi(x i) Các bản tin λ từ các nút con của xi được sử dụng để tính λi(x i) Trên hình 2.8, ta có thể thấy rằng các nút con của xi bao gồm các bit mã bị nhiễu ri và các nút syndrome thuộc M(xi) Do đó, áp dụng phương trình (2.10), ta được:
)()()
(
) (
i i x
M s
i j i
1)( i =
i x
μKhi đó Bel(xi) trong phương trình (2.14) có thể được rút gọn thành:
)()(x i k p r i x i
Cập nhật lần đầu tiên:
Bản tin từ x i đến s j :
Bản tin từ xi đến sj có thể được tính theo phương trình (2.12):
)()()
()(
\ (
i x r s
x M s
i x s i
i i s
i j
i k
i k j
Trang 39Trong lần cập nhật đầu tiên, xi chưa nhận được bản tin nào từ các nút syndrome, vì thế:
1)(
\ (
s x M s
i x
λDấu hiệu từ các bit mã thu ri:
)()
Bản tin từ s j đến x i :
Theo phương trình (2.13), bản tin λ từ sj đến xi được cho bởi:
j k j
i
k s x k
j s
j j i
()
()
1(
)( i = s x i =− − s x i =
x
i i
δλĐể chuẩn hoá, cho s x (x i =−1)+ s x(x i =1)=1
x
k
j x s p
} {
)(
có thể được bỏ qua sau khi chuẩn hoá Đồng thời, khi khởi tạo, ta có:
)()
Trang 40i j k
j k j
k i
x s N x
k k k
k
x s N x
k s x k
s x i
x s
x r p x
r p
x x
x
\ ) (
\ ) (
)1(
)1(
)1()
1(
)
δλ
(2.18)
Cập nhật trong vòng lặp:
Trong mỗi vòng lặp, các bản tin được gửi từ mỗi nút xi đến tất cả các nút syndrome thuộc M(xi) và từ mỗi nút sj đến tất cả các nút xi thuộc N(sj)
Gửi bản tin từ x i đến s j :
s x M s
i x s i
i i
s
\ (
)()
()
s x M s
i x
\ (
)(
λ là tích của các bản tin từ tất cả các
nút syndrome thuộc M(xi) chỉ trừ bản tin từ sj
Gửi bản tin từ s j đến x i :
Phương trình (2.18) có thể được viết thành
j k j
k i
x s N x
k s x k
s x i
x
\ (
)1()
1(
)
δλtrong đó β là hằng số chuẩn hoá
Quyết định cuối cùng:
Ở bước này, giá trị của xi được “quyết định cứng” (hard decision) dựa trên xác suất hậu nghiệm của nó:
)()()()(x i k i x i i x i k i x i
()
(
i k
i
x M s
i x s i