Trên kênh xoá nhị phân (BEC) một bit được truyền thì hoặc là nhận đúng hoặc hoàn toàn bị xóa với một xác suất ε. Vì các bit nhận được luôn luôn đúng hoàn toàn, nhiệm vụ của các bộ giải mã là để xác định giá trị của các bit không rõ. Nếu có một phương trình kiểm tra bao gồm chỉ có một bit bị xóa , giá trị chính xác cho các bit bị xóa có thể được xác định bằng cách chọn giá trị thỏa mãn chẵn.
Ví dụ 2.1.
Mã trong ví dụ 1.3 bao gồm các phương trình kiểm tra 𝑐1⊕𝑐2⊕ 𝑐4
Nếu giá trị của bit 𝑐1 được biết đến là '0 ' và giá trị của bit 𝑐2 được biết đến là '1' , thì giá trị của bit 𝑐4 phải được '1 ' nếu 𝑐1, 𝑐2và 𝑐4là một phần của từ mã hợp lệ cho các mã này .
Trong các bộ giải mã gói tin, mỗi nút kiểm tra xác định giá trị của một bit bị xóa, nếu nó chỉ là bit bị xóa trong phương trình tương đương kiểm tra của nó.
Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 23 Các tín hiệu truyền qua theo các cạnh đồ thị Tanner rất đơn giản: một node bit gửi đi cùng một tin thông báo M cho mỗi node kiểm tra kết nối của nó . Tín hiệu này, đặt tên 𝑀𝑖 cho nút bit thứ 𝑖, đọc giá trị của các bit ′1 ′ , ′0′ nếu nó đã biết hoặc ′𝑥′ nếu nó bị xóa. Nếu một node kiểm tra chỉ nhận được một tín hiệu ′𝑥′ , nó có thể tính toán giá trị của bit chưa biết bằng cách lựa chọn các giá trị thỏa mãn tính chẵn lẻ. Các nút kiểm tra gửi lại các tín hiệu khác nhau cho từng bit của các node kết nối của nó . Tín hiệu này, đặt tên là 𝐸𝑗,cho các tín hiệu từ nút kiểm tra thứ 𝑗 đến nút bit thứ 𝑖 , đọc giá trị của bit 𝑖 là ′1 ′ ,′0 ′ Hoặc ′ 𝑥 ′ được xác định bởi các nút kiểm tra thứ 𝑗. Nếu node bit của một bit bị xóa nhận được một tín hiệu tới là ′1 ′ hoặc ′0′ thì node bit thay đổi giá trị của nó thành giá trị của tín hiệu đến. Quá trình này được lặp lại cho đến khi tất cả các giá trị bit được biết, hoặc cho đến khi số lần truyền qua bộ cảm biến đạt mức tối đa và bộ Detector từ bỏ. Ta dùng các ký hiệu 𝐵𝑗 để thay cho tập hợp các bit trong phương trình kiểm tra tính chẵn lẽ thứ j của các mã. Vì vậy, đối với mã trong Ví dụ 1.12 ta có
𝐵1 = {1,2,4}, 𝐵2 = {2,3,5}, 𝐵3 = {1,5,6}, 𝐵4 = {3,4,6}.
Tương tự như vậy , ta dùng các ký hiệu 𝐴𝑖 để thay cho các phương trình kiểm tra tính chẵn lẻ, để kiểm tra trên các bit thứ 𝑖 của mã. Vì vậy, với mã trong Ví dụ
𝐴1 = {1,3} , 𝐴2 = {1,2}, 𝐴3 = {2,4}, 𝐴4 = {1,4}, 𝐴5 = {2,3}, 𝐴6 = {3,4}. Thuật toán 2 phác thảo giải mã gói tin trên BEC. Đầu vào là giá trị nhận được từ bộ
Detector, 𝑦 = [𝑦1… 𝑦𝑛] có thể là ′1 ′ , ′0′ hoặc ′𝑥′ , và đầu ra là M = [𝑀1, … , 𝑀𝑛] cũng có thể nhận các giá trị ′1 ′ , ′0′ hoặc ′𝑥′ .
Ví dụ 2.2.
Mã LDPC từ Ví dụ 1.12 được sử dụng để mã hóa các từ mã c = [0 0 1 0 1 1]
c được gửi mặc dù một kênh xoá và vector
y = [0 0 1 𝑥 𝑥 𝑥]
được nhận . Giải mã gói tin được sử dụng để khôi phục lại các bit bị xóa. Khởi tạo là 𝑀𝑖= 𝑅𝑖 để
M = [0 0 1 𝑥 𝑥 𝑥]
Bước 1 Các node tín hiệu kiểm tra được tính toán. Node kiểm tra 1 nhập vào các node bit thứ 1 , 2 và thứ 4 , do đó có đến tín hiệu đến là ′1 ′ ,′0 ′ Và ′ 𝑥 . Vì node kiểm tra có một
Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 24 tín hiệu ′𝑥′ đến từ node bit thứ 4, tin thông báo của nó trên cạnh này , 𝐸1 , 4, sẽ là giá trị của bit từ mã thứ 4 : 𝐸1,4 = 𝑀1⊕ 𝑀2 = 0 ⊕ 0 = 0kiểm tra lần 2 bao gồm node bit thứ 2,3 và 5, và do đó có tín hiệu đến là ′0 ′, ′1′ và ′𝑥. Vì node kiểm tra có một tín hiệu đến,từ Thuật toán 2 giải mã Erasure
1 procedure DECODE(y) 2 3 I = 0 Initialization 4 for i = 1 : n do 5 𝑀𝑖 = 𝑦𝑖 6 End for 7 Repeat 8
9 For j = 1:m do Step 1: Check
messages 10 For all I ∈ 𝐵𝑗 do
11 if all messages into check 𝑗 other than 𝑀𝑖 are known then 12 𝐸𝑗,𝑖 = ⅀𝑖′∈𝐵𝑗,𝑖′≠𝑖(𝑀𝑖′𝑚𝑜𝑑 2) 13 Else 14 𝐸𝑖,𝑗= ‘ 𝑥 ‘ 15 End if 16 End for 17 End for 18
19 For 𝑖 = 1: 𝑛 do Step 2: Bit
messages 20 If 𝑀𝑖= ‘unknown’ then
21 If there exists a j ∈ 𝐴𝑖s.t. 𝐸𝑗,𝑖 ≠ ’𝑥’ then 22 𝑀𝑖= 𝐸𝑗,𝑖
23 End if
24 End if
25 End for
26
27 If all 𝑀𝑖 known or 𝐼 = 𝐼𝑚𝑎𝑥 then Test 28 Finished 29 Else 30 𝐼 = 𝐼 + 1 31 End if 32 Until finished 33 End procedure
Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 25 Node bit thứ 5, tin thông báo của nó trên cạnh này, E2, 5, sẽ là giá trị của bit từ mã thứ 5:
𝐸2,5 = 𝑀2⊕ 𝑀3 = 0 ⊕ 1 = 1
Kiểm tra lần 3 bao gồm bit thứ 1, 5 và 6, và do đó có tín hiệu đến là ′0 ′,′ 𝑥 ′ và ′ 𝑥 ′. Vì node kiểm tra này nhận được hai tín hiệu ′𝑥′ nên nó không thể dùng để xác định giá trị của bất kỳ bit nào nữa. Trong trường hợp này tin thông báo node kiểm tra là tất cả ′𝑥′. Tương tự như vậy, kiểm tra thứ lần 4 bao gồm bit thứ 3,4 và 6 và do đó nhận được hai tín hiệu ′𝑥′ và vậy nên cũng không thể dùng để xác định giá trị của bất kỳ bit nào.
Trong Bước 2 mỗi node bit có giá trị chưa biết sử dụng tín hiệu vào để cập nhật giá trị của nó khi có thể. Bit thứ 4 chưa biết và có tín hiều vào bằng ′0 ′ ( 𝐸1,4) và ′ 𝑥 ′ (𝐸4,4) và do đó, nó thay đổi giá trị của nó thành ′0′ . Bit 5 cũng chưa biết và có thông tin tới bằng ′1 ′ (𝐸2,5) và ′ 𝑥 ′ (𝐸3,5) và do đó, nó thay đổi giá trị của nó thành ′1′ . Bit 6 cũng chưa biết nhưng nó có thông tin tới là ′𝑥′ (𝐸3,6) và ′𝑥′ (𝐸4,6) vì vậy nó không thể thay đổi giá trị của nó . Ở cuối Bước 2 ta có
M = [0 0 1 0 1 𝑥 ]
Để kiểm tra, sẽ có một bit vẫn chưa biết (bit 6) và như vậy các thuật toán tiếp tục . Lặp Bước 1 nút kiểm tra 3 được nhập node bit 1,5 và 6, và do đó node kiểm tra này có một thông tin tới 'x', M6 . Tin thông báo từ việc kiểm tra node bit 6 , 𝐸3,6, là giá trị của từ mã bit 6.
𝐸3,6 = 𝑀1⊕ 𝑀5 = 1 ⊕ 0 = 1
Nút kiểm tra thứ 4 được nhập vào bit node 3,4 và 6 , và vì vậy nút kiểm tra này có một tín hiệu vào ′𝑥′, 𝑀6. Tin thông báo từ việc kiểm tra bit nút 6, 𝐸4,6, là giá trị của từ mã bit 6
𝐸3,6 = 𝑀3⊕ 𝑀4 = 0 ⊕ 1 = 1
Trong Bước 2 bit 6 chưa biết và bản tin đến, 𝐸3,4 và 𝐸4,6 với giá trị ′1 ′ và do đó, nó thay đổi giá trị của nó tới ′1′ . Vì các bit nhận được từ kênh luôn luôn đúng, các thông tin từ các nút kiểm tra sẽ luôn luôn đồng ý. ( Trong các thuật toán bit-flipping, ta sẽ có cách khác khi không phải là trường hợp này )Lúc kiểm tra này, không có bit từ mã chưa biết và do đó, các thuật toán tạm dừng và trở về
Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 26 Khi từ mã được giải mã . Chuỗi nhận được do đó đã được xác định một cách chính xác mặc dù một nửa của các bit từ mã có bị xóa. Hình 2.1 cho thấy đồ thị các thông tin qua bộ giải mã thông tin
Bởi các bit nhận được trong một kênh xóa được hoặc là đúng hoặc không biết ( không có lỗi nào được các kênh giới thiệu ) các thông tin qua lại giữa các nút luôn là giá trị bit đúng hay ′𝑥′ . Khi kênh giới thiệu lỗi vào từ tiếp nhận , vì trong đối xứng nhị phân hoặc các kênh AWGN , các thông tin trong giải mã thông điệp là thay cho những dự đoán tốt nhất các giá trị từ mã bit dựa trên các thông tin hiện có sẵn cho mỗi nút .
Hình 2. 1: Giải mã gói tin chuỗiy nhận được = [0 0 1 xxx].
Mỗi hình nhỏ cho thấy tại mỗi bước của thuật toán giải mã dựa trên các thông tin từ các bước trước. Đối với các thông tin, một mũi tên đứt tương ứng với thông điệp "bit = 0", trong khi một mũi tên liền tương ứng với "bit = 1", và mũi tên đứt mờ tương ứng với "bit x".
Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 27