Tải bản đầy đủ (.pdf) (67 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.41 MB, 67 trang )

Ts. Lê Nhật Thăng Mục lục

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page I

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


Ts. Lê Nhật Thăng Mục lục

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page II

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



Ts. Lê Nhật Thăng Danh mục hình vẽ

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page III

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
Ts. Lê Nhật Thăng Thuật ngữ viết tắt

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page IV

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ử
SPC
single parity check

Kiểm tra chắn lẻ duy nhất
ML
maximum likelihood

Tương thích cực đại

BEC
binary erasure channel

Kênh nhị phân có xóa
MAP
maximum a posteriori
probability
xác suất hậu nghiệm lớn nhất
LLR
log-likelihood ratio

Tỷ lệ log-likelihood
pdf
probability density function

hàm mật độ xác suất
FFTs
Fast Fourier Transform

Phép biến đổi nhanh Fourier
Ts. Lê Nhật Thăng Lời nói đầu

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 1

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.
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 2

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
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 3

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
số 1 trong mỗi mã.

Ví dụ 1.1
Chuỗi ASCII 7-bit S là 1010011 và một bit chẵn lẻ được thêm vào là bit thứ tám.
Chuỗi S đã cho có số chẵn các số 1 (cụ thể là bốn) và do đó, giá trị của bit chẵn lẻ là 0, và
từ mã cho S là 10100110.
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=[ c
1
c

2
c
3
c
4
c
5
c
6
c
7
c
8
]

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

c
1


c
2


c
3



c
4


c
5


c
6


c
7


c
8
= 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).

y

1
y
2
y
3
y
4
y
5
y
6
y
7
y
8
= 10010010=1

Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 4

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.

Ví dụ 1.3
Cho 1 mã C như sau:
C=[ c
1
c
2
c
3
c
4
c
5
c
6
],

Đáp ứng tất cả ba hàm kiểm tra chẵn lẻ:
c
1


c
2


c
4
= 0
c
2



c
3


c
5
= 0 (1.2) (1.2)
c
1


c
2


c
3
 c
6
= 0

Hàm của từ mã thường được viết dưới dạng ma trận và do đó hàm (1.2) thành



     
     
     





















=





(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.
H
y
T
= 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 :
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 5


c
4 =
c
1


c
2

c
5 =
c
2



c
3
c
6 =
c
1


c
2


c
3
(1.5)

Ba từ mã c
1
,

c
2
,

c
3
chứa 3 bít bản tin c
1

,

c
2
,

c
3
, còn 3 từ mã c
4,
c
5
, c
6
chứa 3 bit kiểm tra
chẵn lẻ. Viết các hàm từ mã theo cách này sẽ thấy được việc mã hóa bản tin như thế nào.

Ví dụ 1.5
Từ (1.5) bản tin 110 tạo các bit kiểm tra chẵn lẻ :

c
4 =
1

 1 = 0
c
5 =
1

 0 = 1

c
6 =
1

 1



0 = 0

Và ta được từ mã bản tin c = [ 110010]

Một lần nữa hàm có thể được viết dưới dạng ma trận như sau:

[ c
1
c
2
c
3
c
4
c
5
c
6
c
7
c
8

] = [ c
1
c
2
c
3
] = 

     
     
     

(1.6)
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 = [ u
1
,u
2
, ,u
k
], 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 = [ u
1
,u
2
,u
3
] có thể được tìm thấy phương trình ma trận :
c= uG (1.7)
Cho 1 mã nhị phân với k bit bản tin và độ dài n từ mã được ma trận sinh nhị phân G

với kích thước k × n. Tỷ lệ k\n được gọi là tỷ lệ của mã.
Một mã với k bit bản tin gồm có 2
k
từ mã. Các từ mã là một tập hợp con của tổng 2
n

vectơ nhị phân độ dài n.
Ví dụ 1.6
Với 3 bít bản tin, có thể tạo 2
3
= 8 các bản tin riêng biệt c
1
c
2
c
3
= 000,001, , 111.

Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 6

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 I
k
chứa k cột
đầu tiên. Ma trận đơn vị I
k
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 :
H = [A, I
n-k
] (1.9)
Với A là ma trận chẵn lẻ với kích thước ( n – k ) × k và I
n-k
là ma trận đơn vị theo thứ tự
n – k. Ma trận sinh :
G = [ I
k
, A
T
] (1.10)
Ma trận sinh G trực giao với ma trận kiểm tra chẵn lẻ H. Do đó, ta có công thức :
GH
T
= 0
Trước khi kết thúc phần này chúng ta lưu ý rằng một mã khối có thể được mô tả bởi
nhiều hơn một tập các hàm kiểm tra chẵn lẻ. Một tập các hàm có hiệu lực trong một mã

được cung cấp rằng công thức (1.4) giữ cho tất cả các từ mã trong mã. Đối với mật độ
thấp mã kiểm tra chẵn lẻ lựa chọn ma trận kiểm tra chẵn lẻ đặc biệt quan trọng.
Vi dụ 1.7
Mã C trong ví dụ 1.3 cũng có thể được mô tả bằng bốn phương trình kiểm tra chẵn lẻ:
c
1


c
2


c
4
= 0
c
2


c
3


c
5
= 0
c
1



c
2


c
3
 c
6
= 0 (1.11)
c
3
 c
4
 c
6
= 0

Phương trình thêm trong ví dụ 1.7 là sự kết hợp tuyến tính của phương trình kiểm tra
chẵn lẻ thứ nhất và thứ 3 và phương trình mới phụ thuộc tuyến tính với 2 phương trình 1
và 3. Nói chung, một mã có thể có nhiều phương trình kiểm tra chẵn lẻ nhưng chỉ có n - k
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 7

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 = rank
2
(H) (1.12)


Rank
2
(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.

Ví dụ 1.8
Cho từ mã c = [ 1 0 1 1 1 0 ] từ ví dụ 1.3 được gửi qua một kênh đối xứng nhị phân và
nhận được chuỗi y = [ 1 0 1 0 1 0 ]. Thay vào phương trình (1.4) ta được :

Hy
T
=

     
     
     





















=





. (1.13)
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 = Hy
T

Đượ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.
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 8

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ã, d
min
, đượ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ó d
min
= 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
d
min
, có thể phát hiện t lỗi khi
t < d
min
(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
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 9

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 d
min
, 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 ≤ [ (d
min
– 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 d
min
)
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ã.

Bên cạnh những yêu cầu độ thưa của H, một mã LDPC không khác bất kỳ mã khối
khác. Mã khối hiện tại thể được sử dụng thành công với các thuật toán giải mã LDPC lặp
đi lặp lại nếu chúng có thể được biểu diễn bằng một ma trận kiểm tra chẵn lẻ độ thưa.
Tuy nhiên, việc tìm kiếm một ma trận kiểm tra chẵn lẻ độ thưa cho một mã hiện thời là
không thực tế. Thay vì mã LDPC được thiết kế bằng cách xây dựng một ma trận kiểm tra
chẵn lẻ độ thưa đầu tiên và sau đó xác định một ma trận sinh các mã sau đó.
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.

Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 10

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, w
r
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 w
c
= 2 w
r
= 3 và rank
2
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ã.
Ví dụ 1.13

Cho ma trận kiểm tra chẵn lẻ trong công thức 1.3 là không đều với độ phân phối
V
1
= ½, v

2
= 1/3, v
3
=1/6 , h
3
= 2/3, h
4
= 1/3


     
     
     
     

(1.16)
Một mã LDPC chính quy sẽ có,
m × w
r
= n × w
c
(1.17)
Trong ma trận chẵn lẻ kiểm tra của nó. Tương tự như vậy, đối với một mã không đều :
m



  = n




 

(1.18)
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 w
c
với M/w hàng trong mỗi tập. Tập đầu tiên của hàng chứa những w
r
liên tiếp đặt từ
trái qua phải của cột. ( cho i ≤ M/w
c
, 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
w
c
.
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 11

Ví dụ 1.14
Ma trận kiểm tra chẵn lẻ Gallager đều có độ dài 12 (3,4) là











           
           
           
           
           
           
           
           
           










Xây dựng thông thường cho các mã LDPC là một phương pháp MacKay và Neal đề
xuất. Trong phương pháp này cột của H được thêm vào một cột tại một thời điểm từ trái

sang phải. Trọng số của mỗi cột được lựa chọn để có được sự phân bố mức độ bit chính
xác và vị trí của các đầu vào khác không trong mỗi cột được chọn ngẫu nhiên từ những
hàng mà chưa đầy đủ. Nếu tại bất kỳ điểm có hàng với nhiều vị trí bỏ trống sau đó có
những cột còn lại được thêm vào, sự phân bố mức độ hàng cho H sẽ không được chính
xác. Quy trình có thể được bắt đầu lại hoặc quay trở lại theo dõi bởi một vài cột, cho đến
khi độ chính xác hàng thu được.
Ví dụ 1.151
Ma trận kiểm tra chẵn lẻ MacKay Neal chính quy có độ dài 12 (3,4) là
H =









           
           
           
           
           
           
           
           
           











Khi thêm cột thứ 11, hiện in đậm từ các hàng chưa điền 2, 4, 5, 6, 9 mà hàng 2,4,6 đã
được chọn.
Một loại mã LDPC gọi là mã lặp lại-tích lũy có cột 2 trọng số a step pattern cho các
cột m cuối H. Cấu trúc này làm cho các mã lặp lại-tích lũy có hệ thống và cho phép
chúng được mã hóa dễ dàng.
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 12

Ví dụ 1.6
Mã lặp lại tích lũy có độ dài 12 và tỷ lệ ¼
H =









           
           

           
           
           
           
           
           
           










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ư c
4
= c
1
, bit thứ 2 c
5
= c
4
 c
1
, và tiếp theo c
6

= c
5
 c
2
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ẻ.
Ví dụ 1.17
Đồ 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.
Các đồ thị Tanner đôi khi được vẽ theo chiều dọc bên trái các nút bit và bên phải các
nút kiểm tra, các nút bit được gọi là nút trái hoặc các nút biến và các nút kiểm tra là các
nút phải hoặc nút ràng buộc. Cho một mã có hệ thống các nút bit bản tin có thể được
phân biệt với các nút bit chẵn lẻ bằng cách đặt chúng trên mặt riêng biệt của đồ thị.


Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 13

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)
Các nút bit
Hình 1. 2 Đồ thị Tanner biểu diễn ma trận kiểm tra chẵn lẻ trong ví dụ 1.16
Ví dụ 1.18
Đồ thị Tanner của ma trận kiểm tra chẵn lẻ của ví dụ 1.16 được biểu diễn ở hình 1.2.
Các nút bít bản tin được biểu diên trên đỉnh của đồ thị, các bít chẵn lẻ được đặt tại phía
dưới đồ thị.
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.
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 14

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
3: a = [];
4: for i = 1 : max(v) do
5: for j = 1 : v

i
× n do
6: a = [a, i]
7: end for
8: end for
9: ß = []
10: for i = 1 : max(h) do
11: for j = 1 : h
i
× m do
12: ß = [ß, i]
13: end for
14: end for
15:
16: for i = 1 : n do % xây dựng
17: c = random subset of ß, of size a
i
18: for j = 1 : a
i
do
H(c
j
, i) = 1
20: end for
21: a = a - c
22: end for
23:
24: repeat

25: for i = 1 : n - 1 do % loại bỏ chu kỳ 4

26: for j = i + 1 : n do
27: if |H(:, i) ∩ H(:, j)| > 1 then
28: permute the entries in the j-th
29: end if
30: end for
31: end for
32: until cycles removed
33: end procedure

Loại bỏ chu kỳ -4 không có tác động làm ảnh hưởng đến mức độ phân phối các hàng.
Đối với mã dài H sẽ rất thưa và vì vậy chu kỳ-4 rất phổ biến và hiệu quả trên độ hàng sẽ
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 15

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 , I
n – k
]
Khi A là một ma trận nhị phân ( n – k ) × k và I
n – k
là cỡ ma trận đồng nhất n – k. Ma
trận sinh :
G = [ I
k ,
A
T
]
Ở đây chúng ta sẽ đi vào quá trình này chi tiết hơn bằng cách sử dụng một ví dụ.
Ví dụ 1.21
Chúng ta muốn mã hóa độ dài mã 10 và tỷ lệ ½ LDCP







         
         
         
         
         







Đầ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ó:
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 16



=





         
         

         
         
         






Tiếp theo ma trận chẵn lẻ kiểm tra được đưa vào hình thức giảm hàng-bậc (tức là để
bất kỳ cột có chứa một hàng đầu có số không ở khắp mọi nơi khác). Cột thứ 1 là đã chính
xác và các mục trong cột thứ 2 trên đường chéo được lấy ra bằng cách thay thế dòng thứ
1với modulo-2 Tổng số các hàng thứ 1- hàng thứ 2. Tương tự như vậy các mục trong cột
thứ 3 trên đường chéo được loại bỏ bằng cách thay thế dòng thứ 2 với modulo-2 tổng của
hàng thứ 2 và hàng thứ 3. Để xóa cột thứ 4 hàng thứ 1 được thay thế với modulo-2 . Tổng
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ó:


=





         
         

         
         
         






Cuối cùng, sử dụng hoán vị cột chúng ta đặt các ma trận kiểm tra chẵn lẻ tiêu chuẩn
vào mẫu (trong đó các cột m cuối cùng của 

là những cột m của mà 

có chứa ) :


=





         
         
         
         
         







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
Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 17



=






         
         
         
         
         






với các tính chất tương tự như H nhưng mà chia sẻ cùng một thứ tự từ mã bit như 

.
Cuối cùng, máy phát G cho mã với tính kiểm tra chẵn lẻ ma trận Hstd và 

được cho bởi
G =





         
         
         
         
         








Tất cả các quá trình này có thể được thực hiện ẩn và chỉ ma trận G và 

cung cấp cho
các bộ mã hóa và giải mã tương ứng. Tuy nhiên, nhược điểm của phương pháp này là,
không giống như H, ma trận G rất có thể sẽ không được rời rạc và do đó, các ma trận
nhân

tại bộ mã hóa sẽ có độ phức tạp theo thứ tự của các hoạt động 

. 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 :


=


  
  


Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 18

ở đâ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
t
H
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 =




có cùng độ dài là 10, tỷ lệ 1/2 mã LDPC,
từ ví dụ 1.21:
H =





         
         
         
         
         







Thay vì dạng ma trận bậc thang rút gọn, ta đưa H về dạng tam giác trên bằng cách hoán
đổi cột và dòng. Đối với trường hợp này, hoán đổi hàng 2 và hàng 3 , cột 6 và cột 10. Ta
có:


=






         
         
         
         
         







Một khi đã ở dạng tam giác trên, phép khử Gauss-Jordann được áp dụng để loại bỏ E,
tương đương nhân 

với









,

Cho:


=









. 

=

  








Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 19


Trong đó:


= 

. A + C



= 

. B + D
Ví dụ 1.23
Tiếp tục ví dụ 1.22, ta có


=

  
  
  













=





    
    
    
    
    






Cho


=





         

         
         
         
         






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 = [ 



…

] thành 3 phần
c=[c,



, trong đó u=[






] là k bit tin, p1=[





] giữ các bit
chẵn lẻ g đầu tiên và p2=[





] 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

+ T

= 0
(1.19)





u + 



+ 0

= 0
(1.20)

Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 20

Khi E đã được xóa/loại bỏ, các bit chẵn lẻ 

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ẻ ở 

. Nếu 

có thể nghịch đảo, 

có thể thấy từ
(1.20)




= 





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(

 , được giữ ở mức thấp.
Một khi biết được 

, 

có thể tìm ra nhờ (1.19):



= 


( + 

),
(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, 

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 = [ 





như c=[u,

, 

]
trong đó p1 = [

, 

] và p2 = [

, 


, 

]. 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:


= 





u =

 
 

    
    

















=

 


Như T là tam giác trên các bit trong 

sau đó có thể được tính bằng cách sử dụng trở lại
thay thế.



= 







= 1  1  1  1 = 1



= 








= 0  1  1 =0



= 








= 1  0  1  0 = 0
Và từ mã là 




Ts. Lê Nhật Thăng Topic I: Mã kiểm tra chẵn lẻ mật độ thấp

Nhóm: Vũ Văn Nam, Trương Văn Mạnh, Lê Trí Hiếu, Nguyễn Hoàng Long Page 21


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].












Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×