1. Trang chủ
  2. » Luận Văn - Báo Cáo

MÃ KIỂM TRA CHẴN lẻ LDPC

67 2,3K 15

Đ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

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 1,41 MB

Nội dung

Trong các hệ thống truyền tin số ngày nay, để chống nhiễu trên kênh truyền, nâng cao chất lượng thông tin đều phải sử dụng mã kênh. Năm 1962, một họ mã kênh mới đã được Gallager giới thiệu trong luận án tiến sĩ của ông có chất lượng tiệm cận giới hạn Shannon trên kênh tạp âm trắng Gauss cộng cỡ vài phần trăm dB, đó là mã kiểm tra chẵn lẻ mật độ thấp LDPC. Mã LDPC là một lớp của mã khối tuyến tính có khả năng đạt chất lượng gần tới giới hạn dung lượng kênh. Các ứng dụng của mã LDPC đã và đang được thực hiện trong các hệ thống truyền dẫn số với tốc độ truyền dẫn cao, độ chính xác lớn. Tuy nhiên, so với các bộ mã khác thì thuật toán giải mã lặp LDPC khá phức tạp, số lượng vòng lặp nhiều yêu cầu số lượng tính toán quá lớn, làm cho tốc độ giải mã chậm gây độ trễ truyền tin cao. Vì thế, sau gần 35 năm ra đời, loại mã này đã không phát huy được khả năng của nó. Ngày nay, với sự phát triển vượt bậc của công nghệ tính toán, xử lý và lưu trữ dữ liệu cùng với các thuật toán mới được nghiên cứu, ứng dụng cho nên những vấn đề khó khăn về mã LDPC đã lần lượt được giải quyết. Hiện nay, trên thế giới đã và đang có nhiều nghiên cứu quá trình giải mã nhằm cải tiến, giảm số lượng tính toán để nâng cao tính khả thi của bộ mã này.

Trang 1

MỤC LỤC

MỤC LỤC I DANH MỤC HÌNH VẼ III THUẬT NGỮ VIẾT TĂT IV

LỜI NÓI ĐẦU 1

TOPIC I: Mã kiểm tra chẵn lẻ mật độ thấp 2

1.1 Giới thiệu 2

1.2 Sử dụng kiểm tra chẵn lẻ để sửa lỗi 3

1.2.1 Mã hóa 4

1.2.2 Phát hiện và sửa lỗi 7

1.3 Mã kiểm tra chẵn lẻ mật độ thấp ( LPCP) 9

1.3.1 Xây dựng LDPC 10

1.3.2 Mã hóa 15

1.3.3 Mã hóa tuyến tính thời gian cho mã LDPC 17

1.4 ghi chú phụ lục 21

Topic II: Giải mã gói tin 22

2.1 Truyền tin trên kênh nhị phân có xoá 22

2.2 Giải mã bit-flipping 27

2.3 Giải mã tổng hợp kết quả 32

2.4 Lưu ý 45

Topic III: Phát triển Mật độ 46

3.1 Phát triển mật độ trên BEC 46

3.1.1 Mã LDPC đều 46

3.1.2 Mã LDPC không đều 50

3.1.3 Ngưỡng 52

3.1.4 Độ ổn định 56

Trang 2

3.2 Sự phát triển mật độ trên các kênh chung không nhớ 57

3.3 Lựa chọn mức độ phân bổ 63

3.4 Ghi chú 63

Trang 3

DANH MỤC HÌNH VẼ

Hình 1 1 Đồ thì tanner biểu diễn ma trận kiểm tra chẵn lẻ trong (1.16), 13

Hình 1 2 Đồ thị Tanner biểu diễn ma trận kiểm tra chẵn lẻ trong ví dụ 1.16 13

Hình 2 1: Giải mã gói tin chuỗi y nhận được = [0 0 1 xxx] .26

Hình 2 2: Giải mã Bit-flipping của chuỗi vào y = [1 0 1 0 1 1] .30

Hình 2 3: Giải mã Bit-flipping của y = [1 0 1 0 0 1] .31

Hình 3 1: Xác suất tẩy xóa trong ví dụ 3.2 48

Hình 3 2: Xác suất tẩy xoá tính trong ví dụ 3.2 50

Hình 3 3: Xác suất xoá tính trong ví dụ 3.3 .53

Hình 3 4: Xác suất xoá tính trong ví dụ 3.3 54

Hình 3 5: Xác suất xoá tính trong ví dụ 3.3 .56

Hình 3 6: Hàm mật độ xác suất với nhiễu Gaussian trắng .59

Hình 3 7: Sự gia tăng của hàm bậc xác suất với số lần lặp trong quá .60

Hình 3 8: Tính toán ngưỡng một tổ hợp có hệ thống (3,6) trên một 62

Trang 4

THUẬT NGỮ VIẾT TĂT

LDPC Low-density parity-check Kiểm tra chắn lẻ mật độ thấp

IEEE Institute of Electrical and Electronics

Engineers

Học viện kỹ nghệ điện và điện tử

MAP maximum a posteriori

probability

xác suất hậu nghiệm lớn nhất

pdf probability density function hàm mật độ xác suất

FFTs Fast Fourier Transform Phép biến đổi nhanh Fourier

Trang 5

LỜI NÓI ĐẦU

Trong các hệ thống truyền tin số ngày nay, để chống nhiễu trên kênh truyền, nâng cao chất lượng thông tin đều phải sử dụng mã kênh Năm 1962, một họ mã kênh mới đã được Gallager giới thiệu trong luận án tiến sĩ của ông có chất lượng tiệm cận giới hạn Shannon trên kênh tạp âm trắng Gauss cộng cỡ vài phần trăm dB, đó là mã kiểm tra chẵn

lẻ mật độ thấp LDPC Mã LDPC là một lớp của mã khối tuyến tính có khả năng đạt chất lượng gần tới giới hạn dung lượng kênh Các ứng dụng của mã LDPC đã và đang được thực hiện trong các hệ thống truyền dẫn số với tốc độ truyền dẫn cao, độ chính xác lớn Tuy nhiên, so với các bộ mã khác thì thuật toán giải mã lặp LDPC khá phức tạp, số lượng vòng lặp nhiều yêu cầu số lượng tính toán quá lớn, làm cho tốc độ giải mã chậm gây độ trễ truyền tin cao Vì thế, sau gần 35 năm ra đời, loại mã này đã không phát huy được khả năng của nó

Ngày nay, với sự phát triển vượt bậc của công nghệ tính toán, xử lý và lưu trữ dữ liệu cùng với các thuật toán mới được nghiên cứu, ứng dụng cho nên những vấn đề khó khăn

về mã LDPC đã lần lượt được giải quyết Hiện nay, trên thế giới đã và đang có nhiều nghiên cứu quá trình giải mã nhằm cải tiến, giảm số lượng tính toán để nâng cao tính khả thi của bộ mã này

Bài báo cáo này có 3 chủ đề chính:

Chủ đề 1: Mã kiểm tra chẵn lẻ mật độ thấp

Chủ đề 2: Giải mã gói tin

Chủ đề 3: Phát triển mật độ

Để hoàn thành bài báo cáo này, nhóm chúng em xin được gửi lời cảm ơn chân thành tới

thầy TS Lê Nhật Thăng, người đã hướng dẫn, chỉ bảo, định hướng và giúp đỡ tận tình

nhóm chúng em trong suốt thời gian qua

Do còn nhiều hạn chế về kiến thức nên bài báo cáo không tránh khỏi những thiếu sót Nhóm chúng em rất mong được sự góp ý của thầy và các ban để kiến thức về mã LDPC của nhóm chúng em có thể phong phú hơn

Trang 6

TOPIC I: Mã kiểm tra chẵn lẻ mật độ thấp 1.1 Giới thiệu

Mã LDPC (Low-density parity-check ) là mã sửa lỗi chuyển tiếp, lần đầu tiên được

đề xuất trong luận án tiến sĩ năm 1962 của Gallager tại MIT Vào thời điểm đó, tiềm năng đáng kinh ngạc của bộ mã hóa vẫn chưa được khám phá do nhu cầu tính toán mô phỏng trong một thời kỳ đó khi mà ống vacumm đã được thay thế bằng các bóng bán dẫn lần đầu tiên Chúng hầu như bị lãng quên trong hơn 35 năm Trong khi đó lĩnh vực sửa lỗi chuyển tiếp đã giúp khối đại số có được cấu trúc cao và mã xoắn Mặc dù sự thành công thực tế của các mã số rất lớn, nhưng hiệu suất của chúng giảm về các giới hạn lý thuyết

có thể đạt được yêu cầu đặt ra bởi Shannon Vào cuối những năm 1980, dù phải trải qua những nỗ lực, phần lớn các nhà nghiên cứu đã không thể vượt qua khoảng cách lý thuyết thực hành

Các tĩnh lặng tương đối của các lĩnh vực mã hóa đã hoàn toàn biến đổi bởi ra đời của “mã turbo”, được đề xuất bởi Berrou, Glavieux và Thitimajshima vào năm 1993, trong đó tất

cả các thành phần quan trọng của mã sửa lỗi đã được thay thế: mã turbo liên quan đến rất

ít đại số, sử dụng lặp đi lặp lại, phân phối các thuật toán, tập trung vào trung bình (thay vì trường hợp xấu nhất) để thực hiện và dựa vào thông tin mềm (hay xác suất) trích từ kênh

Do đó, giới hạn khoảng cách của Shanon đã được loại bỏ tất cả, nhưng sử dụng bộ giải

mã phức tạp trong quản lý

Như các nhà nghiên cứu đấu tranh thông qua những năm 1990 để hiểu lý do tại sao chỉ mã Turbo làm việc tốt như kết quả của họ, hai nhà nghiên cứu, McKay và Neal đã giới thiệu một lớp mới của mã khối được thiết kế để sở hữu nhiều tính năng của mã turbo mới

Tổng quát mới của mã LDPC của Gallager của một số các nhà nghiên cứu bao gồm Luby, Mitzenmacher, Shokrollahi, Spielman, Richardson và Urbanke, nghiên cứu mã LDPC không đều mới tốt hơn mã turbo tốt nhất, cũng như cung cấp một số lợi thế thực hành và cho là thiết lập bộ lọc cho kết quả lý thuyết Kỹ thuật ngày nay, thiết kế để các

mã LDPC tồn tại cho phép xây dựng các mã tiếp cận Shannon công suất trong phần trăm của một dB

Vì vậy, lĩnh vực lý thuyết mã hóa bằng nhiều cách đã có sự tiến bộ nhanh chóng so với chính chúng ở thập kỷ trước Ngoài sự quan tâm mạnh mẽ trong lý thuyết mã LDPC,thì LDPC đã được áp dụng trong phát thanh-truyền hình số vệ tinh và các tiêu chuẩn truyền thông quang đường dài, thì rất có khả năng sẽ được thông qua trong các tiêu

Trang 7

chuẩn mạng nội bộ không dây IEEE, và đang được xem xét cho sự phát triển lâu dài của điện thoại di động thế hệ thứ ba

1.2 Sử dụng kiểm tra chẵn lẻ để sửa lỗi

Ở đây chúng ta sẽ chỉ xem xét bản tin nhị phân và do đó các bản tin truyền bao gồm các chuỗi 0 và 1 Ý tưởng cơ bản của mã hóa kiểm soát lỗi chuyển tiếp là tăng thêm các bit kiểm tra để tạo ra một từ mã cho bản tin Các bit kiểm tra được thêm sao cho từ mã là

đủ khác biệt với nhau, bản tin truyền có thể được suy ra một cách chính xác tại nơi nhận, ngay cả khi một số bit trong từ mã bị hỏng trong quá trình truyền trên kênh

Chương trình mã hóa đơn giản nhất là mã kiểm tra chẵn lẻ đơn (SPC) SPC liên quan đến việc bổ sung thêm bit đơn cho bản tin nhị phân, giá trị của nó phụ thuộc vào các bit trong bản tin Trong mã chẵn, bit bổ sung thêm cho mỗi bản tin đảm bảo một số chẵn các

Chính thức hơn, cho ASCII 7-bit cộng với mã chẵn lẻ chúng ta định nghĩa một từ mã

c để có cơ cấu như sau:

C=[ c1c2c3c4c5c6c7c8] Trong đó mỗi ci là 0 hoặc 1, và mỗi từ mã đáp ứng các ràng buộc

c1 ⊕ c2 ⊕ c3 ⊕ c4 ⊕ c5 ⊕ c6 ⊕ c7 ⊕ c8 = 0 (1.1)

Phương trình (1.1) được gọi là phương trình cân bằng kiểm tra, trong đó ⊕ biểu tượng tượng trưng cho modulo-2 bổ sung

Ví dụ 1.2

Một chuỗi ASCII 7-bit được mã hóa kiểm tra chẵn lẻ đơn giản từ ví dụ 1.1 Kết quả từ

mã đã được gửi qua một kênh nhiễu và đã nhận được chuỗi y = [1 0 0 1 0 0 1 0] Để kiểm tra xem y là một từ mã hợp lệ chúng ta kiểm tra y với (1.1)

y1⊕y2⊕y3⊕y4⊕y5⊕y6⊕y7⊕y8 = 1⊕0⊕0⊕1⊕0⊕0⊕1⊕0=1

Trang 8

Kết quả bằng 1, nên chuỗi y nhận được không phải là 1 từ mã hợp lệ Chúng ta đã phát hiện ra rằng ít nhất một lỗi xảy ra trong quá trình truyền

Trong khi một bit bị nghịch đảo do nhiễu kênh có thể dễ dàng được phát hiện với mã kiểm tra chẵn lẻ đơn, nhưng mã này là không thể chỉ ra bit đã bị nghịch đảo Hơn nữa, vì bất kỳ số chẵn bít nghịch đảo phải tạo ra một chuỗi thỏa mãn ràng buộc (1.1), nên các bít nghịch đảo này không bị phát hiện bởi mã kiểm tra chẵn lẻ đơn Việc phát hiện nhiều hơn các lỗi bit đơn sẽ làm tăng tính dự phòng trong các bit chẵn lẻ và nhiều các mã phức tạp hơn chứa đựng hàm kiểm tra chẵn lẻ và mỗi từ mã phải thỏa mãn các điều này

c1 c2c3 c4 c5c6 ]

= [

000] (1.3)

Ma trận H được gọi là ma trận kiểm tra chẵn lẻ Mỗi hàng của H tương ứng với một hàm kiểm tra chẵn lẻ và mỗi cột của H tương ứng với một bit trong từ mã Do đó cho một

mã nhị phân với m hàm kiểm tra chẵn lẻ và chiều dài n từ mã ma trận kiểm tra chẵn lẻ là một ma trận nhị phân m × n Trong ma trận tạo thành một chuỗi y = [c] là một từ mã hợp

lệ cho các mã với ma trận kiểm tra chẵn lẻ H khi và chỉ khi nó thỏa mãn phương trình ma trận

HyT = 0 (1.4)

1.2.1 Mã hóa

Để phân biệt giữa các bit tín hiệu và bit chẵn lẻ trong từ mã trong ví dụ 1.3 chúng ta lại viết mã phương trình kiểm tra chẵn lẻ để mỗi một giải quyết cho bit từ mã khác nhau Những hạn chế mã từ ví dụ 1.3 có thể được viết lại thành :

Trang 9

Ma trận G được gọi là ma trận sinh của mã Các bit bản tin thông thường được dán

nhãn bởi u = [ u1,u2, ,uk], vecto u chứa k bit bản tin Do đó, từ mã c tương ứng với bản tin nhị phân u = [ u1,u2,u3] có thể được tìm thấy phương trình ma trận :

Trang 10

Từ 1.7 ta có : (1.8)

[ 0 0 0 0 0 0 ] [ 0 0 1 0 1 1 ] [ 0 1 0 1 1 1 ] [ 0 1 1 1 0 0 ] [ 1 0 0 1 0 1 ] [ 1 0 1 1 1 0 ] [ 1 1 0 0 1 0 ] [ 1 1 1 0 0 1 ]

Mã này được gọi là có tính hệ thông bởi vì k bit từ mã đầu tiên chứa các bit bản tin Các mã tính hệ thống này chứa các ma trận sinh nhận dạng k × k Ma trận Ik chứa k cột đầu tiên Ma trận đơn vị Ik kích thước k × k là ma trận nhị phân vuông ( với các bit 1 nằm trên đường chéo từ góc trên bên trái xuống góc dưới bên phải và các bít 0 thì ở những phần còn lại trong ma trận )

Với ma trận sinh của 1 mã, có thể tính được ma trận kiểm tra chẵn lẻ H băng cách thực hiện phép khử Gauss-Jordan :

Trang 11

trong số đó sẽ là tuyến tính độc lập, với k là số bit trong mỗi bản tin từ mã Trong ma trận

ký hiệu n - k là hạng của H :

n – k = rank2 (H) (1.12)

Rank2 (H) là số hàng trong H mà là phụ thuộc tuyến tính hơn GF (2)

1.2.2 Phát hiện và sửa lỗi

Giả sử một từ mã được gửi xuống một kênh đối xứng nhị phân và một hoặc nhiều hơn của các bit từ mã có thể đã bị lộn Nhiệm vụ của phần này là phát hiện các bít bị lộn nếu

có thể và sửa chúng

Trước hết, chúng ta biết rằng mỗi từ mã trong mã phải thỏa mãn (1.4), và do đó các lỗi

có thể được phát hiện trong bất kỳ từ mã nào nhận được không đáp ứng phương trình này

Kết quả là khác không và vì vậy chuỗi y nhận được không phải là mã đúng Do đó chúng ta kết luận rằng lỗi bit lộn xảy ra trong quá trình truyền

Cho vector

S = HyT

Được gọi là syndrome của y Nó chỉ ra các hàm kiểm tra chẵn lẻ mà y không thỏa mãn

Ví dụ 1.9

Kết quả của công thức 1.13, trong ví dụ 1.8 chỉ ra hàm kiểm tra chẵn lẻ đầu tiên của H

mà y không thỏa mãn Từ hàm kiểm tra chẵn lẻ này liên quan đến bit từ mã thứ 1, 2 và 4 chúng ta có thể kết luận rằng ít nhất một trong ba bit đã được đảo ngược bởi kênh

Trang 12

Ví dụ 1.8 minh họa việc sử dụng một mã khối để phát hiện lỗi truyền dẫn, nhưng giả

sử rằng các kênh bị nhiễu và ba bit được đảo ngược để tạo chuỗi y = [ 0 0 1 0 1 1 ] Thay vào (1.4) cho thấy y là một từ mã hợp lệ và do đó chúng ta không thể phát hiện các lỗi truyền đã xảy ra Nói chung, một mã khối chỉ có thể phát hiện một tập hợp các lỗi bit nếu các lỗi không thay đổi các từ mã khác

Khoảng cách Hamming giữa hai từ mã được định nghĩa là số lượng các vị trí bit trong

đó chúng khác nhau Cho ví dụ từ mã [ 1 0 1 0 0 1 1 0 ] và [ 1 0 0 0 0 1 1 1 ] khác nhau ở

vị trí, bit từ mã thứ 3 và thứ 8, vây khoảng cách Hamming giữa 2 từ mã là 2 Một cách để phát hiện lỗi là khoảng cách Hamming tối thiểu hoặc chỉ ra khoảng cách tối thiểu của mã Khoảng cách tối thiểu của một mã, dmin, được định nghĩa là khoảng cách Hamming nhỏ nhất giữa bất kỳ cặp từ mã trong các mã Cho mã từ ví dụ 1.3 ta có dmin = 3, vậy 3 hoặc nhiều bit bị lỗi trong từ mã có thể dẫn đến từ mã hợp lệ Một mã có khoảng cách tối thiểu

dmin, có thể phát hiện t lỗi khi

t < dmin (1.14)

Đi xa hơn nữa và yêu cầu sửa bit lỗi bị đảo ngược, các bộ giải mã xác nhận các từ mã

có khả năng được gửi nhiều nhất Dựa trên chuỗi nhị phân y đã biết, bộ giải mã tốt nhất

sẽ chọn từ mã gần nhất trong khoảng cách Hamming y Khi có nhiều hơn một từ mã ở khoảng cách tối thiểu từ y các bộ giải mã sẽ ngẫu nhiên chọn một trong số chúng Bộ giải

mã này được gọi là bộ giải mã khả năng tối đa (ML) vì nó sẽ luôn luôn chọn từ mã mà có thể đã tạo ra từ y

Ví dụ 1.10

Trong ví dụ 1.8 chúng ta phát hiện ra rằng chuỗi nhận y = [ 1 0 1 0 1 0 ] không phải là một từ mã của mã trong ví dụ 1.3 Bằng cách so sánh y với mỗi từ mã trong mã này, bộ giải mã ML sẽ chọn c = [ 1 0 1 1 1 0 ] vì nó có khoảng cách hamming là 1 với y

Khoảng cách tối thiểu của mã trong ví dụ 1.8 là3, do đó, một bit đơn đảo ngược luôn luôn hiệu quả trong một chuỗi y gần hơn với các từ mã được gửi hơn bất kỳ từ mã khác

và do đó luôn luôn có thể được sửa chữa bởi các bộ giải mã ML Tuy nhiên, nếu hai bit đảo ngược trong y có thể có một từ mã khác nhau mà gần với y hơn một trong đó đã được gửi, trong trường hợp các bộ giải mã sẽ chọn một từ mã không chính xác

Ví dụ 1.11

Từ mã c = [ 1 0 1 1 1 0 ] trong ví dụ 1.3 được truyền thông qua một kênh trong đó đưa ra hai bit đảo ngược tạo chuỗi y = [ 0 0 1 0 1 0 ] Bằng cách so sánh y với nhau của các từ mã trong mã này (1.8) bộ giải mã ML sẽ chọn c = [ 0 0 1 0 1 1 ] có khoảng cách

Trang 13

hamming tối thiểu với y Trong trường hợp này các bộ giải mã ML đã thực sự được thêm lỗi chứ không phải là sửa chữa chúng

Nói chung, đối với một mã với khoảng cách tối thiểu dmin, e bit đảo ngược luôn luôn

có thể được sửa chữa bằng cách chọn từ mã gần nhất bất cứ khi nào:

e ≤ [ (dmin – 1 )/2 ] (1.15)

Tỷ lệ mã càng nhỏ thì tập con của 2 vec tơ từ mã nhị phân càng nhỏ và khoảng cách tối thiểu càng dễ đạt đươc 1 mã có độ dài n Tầm quan trọng của khoảng cách tối thiểu trong việc xác định hiệu suất của nó được phản ánh trong các mô tả của mã khối bởi ba thông

số ( n k dmin )

Sửa lỗi bằng cách trực tiếp so sánh chuỗi nhận để biết mỗi từ mã khác trong các mã,

và lựa chọn gần nhất, được gọi là giải mã tối đa khả năng bởi vì nó được đảm bảo để trả lại từ mã có khả năng nhất Tuy nhiên, khả thi chỉ khi k nhỏ Các mã với hàng ngàn bit bản tin trong một từ mã nó làm cho quá trình tính toán tốn kém so sánh trực tiếp các chuỗi nhận được với mỗi một trong 2 từ mã trong mã Nhiều giải pháp khéo léo đã được

đề xuất để thực hiện nhiệm vụ này ít phức tạp hơn, bo gồm việc lựa chọn mã số đại số và khai thác cấu trúc của chúng để tăng tốc độ giải mã hoặc, như đối với mã LDPC, các phương pháp giải mã này không phải là ML nhưng có thể thực hiện rất tốt để sự phức tạp giảm đi nhiều

1.3 Mã kiểm tra chẵn lẻ mật độ thấp ( LPCP)

Như tên gọi của chúng, mã LDPC là mã khối với ma trận kiểm tra chẵn lẻ có chứa chỉ một số rất nhỏ các đầu vào khác 0 Độ thưa của H đảm bảo độ phức tạp giải mã và khoảng cách tối thiểu của mã tăng tuyến tính theo độ dài mã

Sự khác biệt lớn nhất giữa mã LDPC và mã khối cổ điển là cách chúng được giải mã

Mã khối cổ điển thường được giải mã với ML như thoán giải mã và vì thế thường ngắn

và thiết kế đại số làm cho công việc này ít phức tạp Tuy nhiên mã LDPC được giải mã lặp sử dụng một biểu diễn đồ họa của ma trận kiểm tra chẵn lẻ của mình và do đó được thiết kế với các tính chất của H là trọng tâm

Trang 14

Một mã LDPC ma trận kiểm tra chẵn lẻ được gọi là (w c w r) chinh quy nếu mỗi bit mã

được chứa trong một số c cố định của kiểm tra chẵn lẻ và mỗi phương trình kiểm tra chẵn

chứa một số cố định, wr của bit mã

Ví dụ 1.12

Một ma trận kiểm tra chẵn lẻ đều cho mã trong ví dụ 1.3 với wc = 2 wr = 3 và rank2 H =

3, mà thỏa mãn ( 1.4 )

Đối với một ma trận chẵn lẻ kiểm tra không đều chúng ta chỉ định các phần cột của trọng

số i bởi v và các phần hàng của trọng số i bởi h v và h được gọi là phân bố mức độ mã

1.3.1 Xây dựng LDPC

Việc xây dựng các mã nhị phân LDPC liên quan đến giao một số lượng nhỏ các giá trị trong ma trận tất cả phân tử bằng 0 là 1 để các hàng và cột có sự phân bố mức độ yêu cầu

Các mã LDPC ban đầu được trình bày bởi Gallager là đều và xác định bởi một cấu trúc phân lớp trong H Các hàng của ma trận kiểm tra chẵn lẻ Gallagher được chia thành tập wc với M/w hàng trong mỗi tập Tập đầu tiên của hàng chứa những wr liên tiếp đặt từ trái qua phải của cột ( cho i ≤ M/wc, hàng thứ i không có 0 từ cột thứ (( i – 1 )K + 1 ) đến cột thứ i ) Mỗi tổ hợp khách là một hoán vị cột được chọn ngẫu nhiên của tập đầu tiên này Do đó mỗi cột của H có một '1' nhập một lần vào trong những tổ hợp wc

Trang 16

Cột đầu tiên của H tương ứng với 1 bit bản tin Bit chẵn lẻ đầu tiên ( cột thứ 4 của H )

có thể mã hóa như c4 = c1, bit thứ 2 c5 = c4 ⊕ c1, và tiếp theo c6 = c5 ⊕ c2 và vv Bằng cách này mỗi bit - chẵn lẻ có thể được tính tại một thời điểm chỉ sử dụng các bit bản tin

Từ khi mã LDPC thường được xây dựng giả ngẫu nhiên, chúng ta thường nói về tập ( hoặc quần thể ) của tất cả các mã có thể với tham số nhất định (ví dụ như một phân phối mức độ nhất định) hơn là về một sự lựa chọn cụ thể của ma trận kiểm tra chẵn lẻ với các thông số

Mã LDPC thường thể hiện ở dạng minh họa bằng một đồ thị Tanner Các đồ thị

Tanner bao gồm hai tập các đỉnh : n các đỉnh cho các bit từ mã ( gọi là nút bit ) và m các

đỉnh cho phương trình kiểm tra chẵn lẻ ( gọi là nút kiểm tra ) Một cạnh nối một nút bit với một nút kiểm tra nếu bit được tích hợp trong phương trình kiểm tra chẵn lẻ tương ứng

và vì vậy số cạnh của đồ thị Tanner bằng với số nút trong ma trận kiểm tra chẵn lẻ

Trang 17

Các nút kiểm tra

Các nút bit

Hình 1 1 Đồ thì tanner biểu diễn ma trận kiểm tra chẵn lẻ trong (1.16), chu kỳ 6 được in đậm

Các nút bit (các bit bản tin)

Một chu kỳ trong đồ thị Tanner là một chuỗi các đỉnh kết nối mà bắt đầu và kết thúc tại đỉnh cùng trong đồ thị và có chứa các đỉnh khác không quá một lần Chiều dài của một chu kỳ là số cạnh nó chứa và chu vi của một đồ thị là chu kỳ nhỏ nhất của nó

Ví dụ 1.19

Chu kỳ 6 được biểu diễn hình 1.1 Phương pháp xây dựng Mackay Neal cho mã LDPC có thể được điều chỉnh để tránh chu kỳ của độ dài 4, được gọi là chu kỳ 4, bằng cách kiểm tra mỗi cặp cột trong H để xem chúng có chồng chéo lên nhau ở hai nơi, sử

dụng phương pháp này được đưa ra trong thuật toán 1 Đầu vào là độ dài mã n, tỷ lệ r, và cột và hàng độ phân phối v và h Vector α là một vector có chiều dài n, trong đó có một mục i cho mỗi cột trong H trọng số i và vector β là một vector có chiều dài m, trong đó có

một mục i cho mỗi hàng trong H trọng số i

Trang 18

Thuật toán 1 mã LPCD Mackay Neal

1: procedure MN CONSTRUCTION(n,r,v,h) % yêu cầu chiều dài, tỷ lệ và độ phân phối

2: H = all zero n(1 - r) × n matrix % khởi tạo

Trang 19

không đáng kể Tuy nhiên, các mã ngắn chu kỳ 4 ma trận kiểm tra chẵn lẻ tự do có thể được xây dựng hiệu quả hơn nhiều bởi sử dụng phương pháp đại số, như chúng ta sẽ thấy sau này

Ngoài ra, phương pháp xây dựng Mackay Neal cho mã LDPC có thể được điều chỉnh

để tránh chu kỳ 4, mà không ảnh hưởng các mức độ phân phối hàng, bằng cách kiểm tra mỗi cột trước khi nó được thêm vào để xem nếu nó sẽ gây ra một chu kỳ với bất kỳ của các cột đã chọn và từ chối nó

Ví dụ 1.20

Nếu 1 mã tự do chu kỳ 4 đã được yêu cầu trong ví dụ 1.15 cột thứ tư sẽ được loại bỏ, và một cột mới được lựa chọn, vì nó gây ra một chu kỳ 4 với cột đầu tiên trong H

1.3.2 Mã hóa

Trước đây chúng ta lưu ý rằng một ma trận sinh cho một mã với ma trận kiểm tra chẵn

lẻ H có thể được tìm thấy bằng cách thực hiện Gauss-Jordan loại bỏ trên H :

H = [ A , In – k ] Khi A là một ma trận nhị phân ( n – k ) × k và In – k là cỡ ma trận đồng nhất n – k Ma trận sinh :

Đầu tiên, chúng tôi đặt H vào dạng hàng-bậc

Ma trận H được đưa vào biểu mẫu này bằng cách áp dụng các hoạt động hàng cơ bản trong GF (2), đó là, thay hai hàng hoặc thêm một hàng khác modul 2 Từ đại số tuyến tính chúng ta biết rằng bằng cách sử dụng các hoạt động hàng cơ bản, các sửa đổi ma trận kiểm tra chẵn lẻ sẽ có từ mã cùng thiết lập như ban đầu, (như hệ thống mới của phương trình tuyến tính sẽ có một giải pháp thiết lập không thay đổi )

Cột thứ nhất và thứ 2 của H đã có những phần tử trên đường chéo và các mục trong các cột bên dưới đường chéo được loại bỏ, thay thế bởi hàng thứ 4 với modulo-2 tổng của các hàng thứ 1 và 4 Cột thứ 3 của H không có 1 trên đường chéo nhưng điều này có thể thu được bằng cách thay đổi các hàng thứ 3 và thứ 5 Cuối cùng, thay thế hàng thứ 5 với modul hai khoản các hàng thứ 5 và thứ 4 cho 𝐻𝑟 ở dạng hàng-cấp có:

Trang 20

𝐻𝑟 = [

số các hàng thứ 1 và hàng thứ 4 Cuối cùng, để xóa các cột thứ 5 liên quan đến việc bổ sung thêm hàng 5 đến hàng thứ 1, thứ 2 và thứ 4 cho 𝐻𝑟𝑟 trong hình thức giảm hàng-bậc có:

𝐻𝑟𝑟 = [

Trong bước này hoán vị cột đã được sử dụng và do đó, từ mã của 𝐻𝑠𝑡𝑑 sẽ được hoán

vị các phiên bản của từ mã tương ứng với H Giải pháp là để theo dõi sự hoán vị cột được

sử dụng để tạo ra 𝐻𝑠𝑡𝑑, mà trong trường hợp này là:

𝛱 = [ 6 7 8 9 10 1 2 3 4 5 ]

và áp dụng các hoán vị nghịch với mỗi từ mã 𝐻𝑠𝑡𝑑 trước khi nó được truyền

Ngoài ra, nếu là kênh không nhớ và bậc của bit từ mã là không quan trọng, là một lựa chọn dễ dàng hơn là để áp dụng 𝛱 với H ban đầu để cung cấp cho một ma trận chẵn lẻ kiểm tra

Trang 21

𝐻′ = [

𝐶 = 𝑢𝐺 tại bộ mã hóa sẽ có độ phức tạp theo thứ tự của các hoạt động 𝑛2 Như n là lớn cho các

mã LDPC, từ hàng ngàn đến hàng trăm ngàn bit, mã hóa có thể trở thành phức tạp Sau

đó chúng ta sẽ thấy rằng cấu trúc ma trận chẵn lẻ kiểm tra có thể được sử dụng để làm giảm đáng kể việc thực hiện này phức tạp, tuy nhiên tùy ý cho các ma trận kiểm tra chẵn

lẻ một cách tiếp cận tốt là tránh xây dựng G ở tất cả và thay vào đó sử dụng để mã hóa trở lại thay thế bằng H như được thể hiện trong những điều sau đây

1.3.3 Mã hóa tuyến tính thời gian cho mã LDPC

Thay vì tìm kiếm một ma trận phát cho H, một mã LDPC có thể được mã hóa sử dụng ma trận chẵn lẻ kiểm tra trực tiếp bằng cách chuyển đổi nó thành tam giác trên và

sử dụng thay thế trở lại Ý tưởng là để làm càng nhiều các chuyển đổi như có thể sử dụng chỉ hàng và hoán vị cột để giữ càng nhiều H rời rạc càng tốt

Thứ nhất, sử dụng chỉ hàng và cột hoán vị, ma trận chẵn lẻ kiểm tra là đưa vào xấp

xỉ tam giác dưới :

𝐻𝑡 = [𝐴 𝐵 𝑇

𝐶 𝐷 𝐸]

Trang 22

ở đây ma trận T là một ma trận tam giác dưới (có nghĩa là T có duy nhất trên đường chéo

từ trái sang phải và tất cả các mục trên đường chéo bằng không) kích thước (𝑚 − 𝑔) ×(𝑚 − 𝑔) Nếu Ht là bậc đầy đủ ma trận B là kích cỡ m - g × g và Một là kích cỡ (𝑚 − 𝑔)

× k Các hàng g của H còn lại trong C, D, và E được gọi là khoảng cách của đại diện gần đúng và các g nhỏ dưới mã hóa phức tạp cho các mã LDPC

Ví dụ 1.22

Chúng tôi muốn mã hóa gói tin u = [1 1 0 0 1] có cùng độ dài là 10, tỷ lệ 1/2 mã LDPC,

từ ví dụ 1.21:

H = [

𝐻𝑡 = [

𝐻̃ =[ 𝐼𝑚−𝑔 0

−𝐸𝑇−1 𝐼𝑔] 𝐻𝑡 = [𝐴 𝐵 𝑇

𝐶̃ 𝐷̃ 0]

Trang 23

Khi áp dụng phép khử Gauss-Jordan để loại bỏ E, chỉ có 𝐶̃ và 𝐷̃ được thực hiện,

Cuối cùng để mã hóa, dùng từ mã 𝐻̃ chia c = [ 𝑐1𝑐2,…, 𝑐𝑛 ] thành 3 phần c=[c,𝑝1, 𝑝2 ] , trong đó u=[𝑢1, 𝑢2, … , 𝑢𝑘 ] là k bit tin, p1=[𝑝11, 𝑝12, … , 𝑝1𝑔] giữ các bit chẵn lẻ g đầu tiên và p2=[𝑝21, 𝑝22, … , 𝑝2𝑚−𝑔] giữ các bit chẵn lẻ còn lại

Từ mã c = [u , p1, p2 ] phải thỏa mãn phương trình cân bằng kiểm tra 𝑐𝐻̃𝑇=0 và

Au + B𝑝1 + T𝑝2 = 0 (1.19)

𝐶̃u + 𝐷̃𝑝1 + 0𝑝2 = 0 (1.20)

Trang 24

Khi E đã được xóa/loại bỏ, các bit chẵn lẻ 𝑝1 chỉ còn phụ thuộc vào thông tin bit Và như vậy có thể tự tính được bit chẵn lẻ ở 𝑝2 Nếu 𝐷̃ có thể nghịch đảo, 𝑝1 có thể thấy từ (1.20)

𝑝1 = 𝐷̃ −1 𝐶̃u (1.21)

Nếu 𝐷̃ không ngịch đảo được, các cột của 𝐻̃ có thể hoán vị cho tới khi 𝐷̃ nghịc đảo được, bằng cách giữ g càng nhỏ càng tốt điều phức tạp của nhân ma trận trong phương trình 1.21, đó là O(𝑔2) , được giữ ở mức thấp

Một khi biết được 𝑝1, 𝑝2 có thể tìm ra nhờ (1.19):

𝑝2 = −𝑇−1(𝐴𝑢 + 𝐵𝑝1), (1.22)

Khi rời rạc A, B và T có thể được sử dụng để giữ sự phức tạp của hoạt động này ở mức thấp và, Khi T là tam giác trên, 𝑝2 có thể được tìm thấy bằng cách sử dụng thay thế trở lại

Ví dụ 1.24

Tiếp tục ví dụ 1.23 , ta phân vùng đoạn từ mã dài 10 c = [ 𝑐1, 𝑐2, … , 𝑐10] như c=[u, 𝑝1, 𝑝2] trong đó p1 = [𝑐6, 𝑐7] và p2 = [𝑐8, 𝑐9, 𝑐10] Các bit chẵn lẻ trong p1 được tính toán từ các thông tin sử dụng phương trình 1.21:

Trang 25

Ngoài ra, hoán vị cột được dùng để tính 𝐻𝑡 từ H và tương tự với 𝐻𝑡, hay H đã áp dụng hoán vị cùng cột, sẽ được dùng tại bộ giải mã Chú ý rằng vì ma trận kiểm tra được dùng

để tính G Ví dụ 1.21 là một dạng hoán vị cột của 𝐻𝑡 Tập hợp các từ mã tạo ra bởi hai bộ

mã sẽ không giống nhau

1.4 ghi chú phụ lục

Mã LDPC được giới thiệu lần đầu tiên trong luận án của Gallager năm 1962 [1] Trong công trình của mình, Gallager sử dụng một phép biểu diễn đồ họa từ các bit và bộ kiểm tra tổ hợp mã LDPC đều để mô tả các ứng dụng giải mã lặp Tuy nhiên,.nghiên cứu

có hệ thống về mã số trên đồ thị phần lớn là do Tanner thực hiện- người mà năm 1981 đã chính thức sử dụng đồ thị hai phía để mô tả tập hợp các mã [2]

Mã LDPC không đều đầu tiên được đề xuất bởi một nhóm các nhà nghiên cứu vào cuối những năm 90 [3, 4] và đó là những mã có thể tạo ra nhiều hiệu suất chỉ trong một phần của 1 dB dung lượng [5] Các thuật toán mã hóa được trình bày ở đây là từ [6] và hai phép xây dựng giả ngẫu nhiên chúng tôi đã xem xét có thể được tìm thấy tại [1] và [7] để biết rõ hơn về mã khối cổ điển chúng tôi khuyến khích các văn bản sửa lỗi [8] và [9] hoặc, cho những người quan tâm đến nghiên cứu toán học, [10] và [11]

Trang 26

Topic II: Giải mã gói tin

Các loại thuật toán giải mã được sử dụng để giải mã mã LDPC được gọi chung là các thuật toán truyền tin bởi khi hoạt động của chúng có thể được giải thích bằng cách truyền tin dọc theo các cạnh của một đồ thị Tanner Mỗi nút đồ thị Tanner hoạt động độc lập , chỉ có quyền truy cập vào các thông tin trong các tin nhắn trên kết nối với nó Các thuật toán giải mã gói tin cũng được biết đến như là thuật toán giải mã lặp, các thông tin tới và

đi giữa các bit và kiểm tra các nút liên tục cho đến khi đạt được kết quả (hoặc quá trình tạm dừng) Các thuật toán truyền tin khác nhau được đặt tên theo các loại thông tin được truyền hoặc cho các loại hình hoạt động thực hiện tại các nút

Trong một số thuật toán , chẳng hạn như giải mã bit-flipping, các tin nhắn là nhị phân

và các dạng khác, chẳng hạn như giải mã truyền tin, các thông tin là xác suất đại diện cho một mức độ tin tưởng về giá trị của các bit từ mã Nó thường thuận tiện để đại diện cho các giá trị xác suất là tỷ lệ khả năng đăng nhập, và khi điều này được thực hiện giải mã truyền tin thường được gọi là giải mã tổng hợp sản phẩm vì tỷ lệ khả năng đăng nhập cho phép các tính toán ở các bit và kiểm tra các nút được tính toán sử dụng tổng hợp và điều khiển

2.1 Truyền tin trên kênh nhị phân có xoá

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⊕ 𝑐4Nế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ó

Trang 27

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 ′𝑥′

Trang 28

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

Trang 29

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ề

M = [0 0 1 0 1 1 ]

Trang 30

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"

Trang 31

2.2 Giải mã bit-flipping

Thuật toán bit-flipping là một thuật toán truyền tin cho mã LDPC Một quyết định nhị phân về mỗi bit nhận được tạo bởi bộ giải mã và đây là cách nó truyền qua bộ giải mã Đối với các thuật toán bit-flipping, các thông tin truyền dọc theo các cạnh đồ thị Tanner cũng là nhị phân : một node bit gửi một thông điệp khai báo rằng nó bằng 1 hay bằng 0 ,

và mỗi nút kiểm tra sẽ gửi một thông điệp tới mỗi nút bit kết nối , khai báo bit đó có giá trị là bao nhiêu dựa trên thông tin có sẵn tới node kiểm tra Node kiểm tra xác định phương trình kiểm tra tính chẵn lẻ của nó là thỏa mãn nếu tổng các giá trị bit của modulo -2 đến là 0 Nếu phần lớn các thông tin nhận được bởi một node bit khác với giá trị nhận được,node bit sẽ thay đổi ( flips ) giá trị hiện tại của nó Quá trình này được lặp đi lặp lại cho đến khi tất cả các phương trình kiểm tra tính chẵn lẽ được thỏa mãn, hoặc cho đến khi số lần truyền qua bộ cảm biến đạt mức tối đa

Các bộ giải mã bit-flipping có thể được chấm dứt ngay lập tức bất cứ khi nào một

từ mã hợp lệ được tìm thấy bằng cách kiểm tra tất cả các phương trình kiểm tra tính chẵn

lẽ đã thỏa mãn hay chưa Điều này đúng với tất cả giải mã gói tin của các mã LDPC và

có hai lợi ích quan trọng; đầu tiên,tránh lặp lại thêm lần nào một khi tìm thấy giải pháp và thứ hai, hội tụ từ mã thất bại sẽ luôn được phát hiện Các thuật toán bit-flpping dựa trên theo nguyên tắc là một bit từ mã cùng với một số lượng lớn các phương trình kiểm tra không chính xác có thể sẽ sai Các rời rạc của H giúp mở rộng các bit để kiểm tra, nhờ đó phương trình kiểm tra tính chẵn lẻ không có khả năng chứa một tập hợp các bit từ mã giống nhau Trong ví dụ 2.4, ta sẽ xem xét các ảnh hưởng bất lợi của phương trình kiểm tra chẵn lẻ chồng chéo Các thuật toán bit-flipping được trình bày trong thuật toán 3 Đầu vào quyết định hình thức vector đã cho y=[𝑦1, … , 𝑦𝑛] và đầu ra ISM=[𝑀1, … , 𝑀𝑛]

Trang 32

16 If the massages 𝐸𝑖,𝑗 disagree with 𝑦𝑖 then

17 𝑀𝑖 = (𝑟𝑖 + 1 𝑚𝑜𝑑 2)

18 End if

19 End for

20

22 𝐿𝑗 = ⅀𝑖, ∈𝐵𝑗, (𝑀𝑖, mod 2)  equations satisfied

𝐸2,2= 𝑀3 ⊕ 𝑀5 = 1 ⊕ 1 = 0

𝐸2,3= 𝑀2 ⊕ 𝑀5 = 0 ⊕ 1 = 1

𝐸2,5= 𝑀2 ⊕ 𝑀3 = 0 ⊕ 1 = 1

Trang 33

Lặp lại các nút kiểm tra còn lại Cho:

𝐸3,1=0; 𝐸3,5=0; 𝐸3,6=0

𝐸4,3=1; 𝐸4,4=0; 𝐸4,6=1 Trong Bước 2 bit 1 nhận thông tin từ node kiểm tra 1 và 3, 𝐴1= [1, 3 ] cả hai đều bằng không Do đó phần lớn các thông tin vào node bit 1 sẽ cho ra một giá trị khác với giá trị nhận được và do đó node bit 1 đảo giá trị của nó Bit 2 nhận thông tin node kiểm tra 1

và 2 , 𝐴2 = [1 , 2] , được 1 và đồng ý với giá trị nhận được Vì vậy, bit 2 không đảo giá trị của nó Tương tự như vậy , không nút bit còn lại nào có đủ node kiểm tra để phân biệt bit thông tin với giá trị nhận được và vì vậy nó/chúng cũng đều giữ nguyên giá trị hiện tại Bit mới để kiểm tra thông tin là như vậy,

M= [0 0 1 0 1 1]

Đối với các bài kiểm tra, qua trình kiểm tra tính chẵn lẻ được tính toán Đối với nút kiểm tra đầu tiên

𝐿1 = 𝑀1⊕ 𝑀2⊕ 𝑀4=0⊕ 0 ⊕ 0=0 Đối với nút kiểm tra thứ hai

𝐿2 = 𝑀2⊕ 𝑀3⊕ 𝑀5=0⊕ 1 ⊕ 1=0

và tương tự cho các nút kiểm tra thứ 3 và 4:

𝐿3 = 0

𝐿4 = 0 Như vậy,sẽ không có nút kiểm tra chưa thỏa mãn và do đó thuật toán tạm dừng và trở về

M= [0 0 1 0 1 1]

như từ mã được giải mã Chuỗi nhận được đó đã được giải mã một cách chính xác mà không yêu cầu một tìm kiếm tường minh hơn trên tất cả các từ mã có thể Các bước giải

mã được hiển thị đồ họa trong hình 2.2

Sự tồn tại của chu kỳ trong đồ thị Tanner của một mã giảm hiệu quả của quá trình giải

mã lặp đi lặp lại Để minh họa sự ảnh hưởng bất lợi của chu kỳ-4, chúng tôi sử dụng một

mã LDPC mới với Tanner đồ thị hình 2.3 Đối với đồ thị Tanner này có một chu kỳ 4 giữa hai nút bit đầu tiên và hai nút kiểm tra đầu tiên

Ngày đăng: 08/07/2014, 08:22

HÌNH ẢNH LIÊN QUAN

Đồ thị Tanner của ma trận kiểm tra chẵn lẻ ví dụ 1.12 ( hình 1.1.). Các đỉnh bit được biểu  diễn bởi các nút vòng và các đỉnh kiểm tra bởi các nút vuông - MÃ KIỂM TRA CHẴN lẻ LDPC
th ị Tanner của ma trận kiểm tra chẵn lẻ ví dụ 1.12 ( hình 1.1.). Các đỉnh bit được biểu diễn bởi các nút vòng và các đỉnh kiểm tra bởi các nút vuông (Trang 16)
Hình 1. 2 Đồ thị Tanner biểu diễn ma trận kiểm tra chẵn lẻ trong ví dụ 1.16 - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 1. 2 Đồ thị Tanner biểu diễn ma trận kiểm tra chẵn lẻ trong ví dụ 1.16 (Trang 17)
Hình 1. 1 Đồ thì tanner biểu diễn ma trận kiểm tra chẵn lẻ trong (1.16), chu kỳ 6 được in đậm - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 1. 1 Đồ thì tanner biểu diễn ma trận kiểm tra chẵn lẻ trong (1.16), chu kỳ 6 được in đậm (Trang 17)
Hình 2. 1 : Giải mã gói tin chuỗi y nhận được = [ 0 0 1  xxx ]. - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 2. 1 : Giải mã gói tin chuỗi y nhận được = [ 0 0 1 xxx ] (Trang 30)
Hình 2. 2: Giải mã Bit-flipping của chuỗi vào y = [1 0 1 0 1 1]. - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 2. 2: Giải mã Bit-flipping của chuỗi vào y = [1 0 1 0 1 1] (Trang 34)
Hình 2. 3: Giải mã Bit-flipping của y = [1 0 1 0 0 1]. - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 2. 3: Giải mã Bit-flipping của y = [1 0 1 0 0 1] (Trang 35)
Hình 3. 1: Xác suất tẩy xóa trong ví dụ 3.2 - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 3. 1: Xác suất tẩy xóa trong ví dụ 3.2 (Trang 52)
Hình 3. 2: Xác suất tẩy xoá tính trong ví dụ 3.2 - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 3. 2: Xác suất tẩy xoá tính trong ví dụ 3.2 (Trang 54)
Hình 3. 3: Xác suất xoá tính trong ví dụ 3.3. - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 3. 3: Xác suất xoá tính trong ví dụ 3.3 (Trang 57)
Hình 3. 4: Xác suất xoá tính trong ví dụ 3.3 - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 3. 4: Xác suất xoá tính trong ví dụ 3.3 (Trang 58)
Hình 3. 5: Xác suất xoá tính trong ví dụ 3.3. - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 3. 5: Xác suất xoá tính trong ví dụ 3.3 (Trang 60)
Hình 3. 6: Hàm mật độ xác suất với nhiễu Gaussian trắng. - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 3. 6: Hàm mật độ xác suất với nhiễu Gaussian trắng (Trang 63)
Hình 3. 7: Sự gia tăng của hàm bậc xác suất với số lần lặp trong quá trình gia tăng bậc - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 3. 7: Sự gia tăng của hàm bậc xác suất với số lần lặp trong quá trình gia tăng bậc (Trang 64)
Hình 3. 8: Tính toán ngưỡng một tổ hợp có hệ thống (3,6) trên một kênh AWGN. Ví dụ 3.6 - MÃ KIỂM TRA CHẴN lẻ LDPC
Hình 3. 8: Tính toán ngưỡng một tổ hợp có hệ thống (3,6) trên một kênh AWGN. Ví dụ 3.6 (Trang 66)

TỪ KHÓA LIÊN QUAN

w