Professional Documents
Culture Documents
Gii Ma MM Ma Hamming Da Tren Cac Ma D PDF
Gii Ma MM Ma Hamming Da Tren Cac Ma D PDF
1. ĐẶT VẤN ĐỀ
Mã hóa kênh đóng vai trò vô cùng quan trọng trong kỹ thuật truyền dẫn thông
tin số, trong đó, mã khối là loại mã có khả năng sửa và phát hiện lỗi khá tốt đảm
bảo độ chính xác cho hệ thống truyền tin. Tuy nhiên, phần lớn các họ mã khối
trước đây còn tồn tại những mặt hạn chế đáng kể như đánh đổi chất lượng giải mã
để giảm lượng tính toán và tăng tỷ lệ mã hóa hoặc để đạt chất lượng mong muốn
lại phải tăng độ phức tạp tính toán cũng như giảm tỷ lệ mã hóa.
Mã Hamming do Richard Hamming lần đầu tiên giới thiệu tại [1] là một loại mã
thuộc họ mã khối có thể sửa được 1 lỗi đơn hoặc phát hiện được các lỗi kép (bội
2). Với tính chất đơn giản của thuật toán mã hóa và giải mã, mã Hamming đã được
ứng dụng khá rộng rãi trong các hệ thống truyền tin số với vai trò là mã phát hiện
lỗi. Với mục đích sử dụng mã Hamming vừa có khả năng sửa lỗi, vừa có khả năng
phát hiện lỗi, trong bài báo đề xuất thuật toán giải mã mềm cải tiến ứng dụng cho
loại mã này.
Từ việc nghiên cứu thuật toán giải mã BPA [4] và tính chất đối ngẫu của mã sửa
sai [2], [3], chúng tôi đưa ra ý tưởng xây dựng thuật toán giải mã mới cho mã khối
tuyến tính trong đó có mã Hamming. Phần còn lại của bài báo được trình bày như
sau: Mục 2 trình bày các cơ sở lý luận để xây dựng thuật toán giải mã mới, mục 3
của bài báo trình bày các bước của việc xây dựng thuật toán giải mã mới, mục 4 thực
hiện khảo sát đánh giá chất lượng của thuật toán giải mã mới thông qua các kết quả
mô phỏng trên kênh AWGN với các mã Hamming, cuối cùng là phần kết luận.
2. CƠ SỞ LÝ LUẬN XÂY DỰNG THUẬT TOÁN GIẢI MÃ MỀM
CẢI TIẾN CHO CÁC MÃ HAMMING
2.1. Phương pháp giải mã khối dựa trên các mã đối ngẫu
Như ta đã biết, tính chất của ma trận kiểm tra G và ma trận sinh H của mã
khối tuyến tính thể hiện như sau:
G.HT 0. (1)
Bên cạnh đó, tính chất đối ngẫu của mã khối tuyến tính được hiểu như sau: ma
trận kiểm tra của mã gốc đóng vai trò là ma trận sinh của mã khối tuyến tính khác.
Từ các tính chất nêu trên cho thấy có thể xây dựng các ma trận kiểm tra của một
mã khối tuyến tính dựa trên các từ mã trong bộ mã đối ngẫu. Trên cơ sở này hình
thành nên phương pháp giải mã khối sử dụng mã đối ngẫu trình bày trong [2] và
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 27
Kỹ thuật điều khiển & Điện tử
[3]. Phương pháp giải mã này được mô tả như sau: khi truyền từ mã bất kỳ
c (c1, c2 ,...., cn ) của mã tuyến tính C(n, k ) qua kênh, dưới tác động của nhiễu và
tạp âm ta nhận được từ mã ˆc' (cˆ '1, cˆ '2 ,...., cˆ 'n ) , quá trình giải mã ở phía thu với
từ mã đầu vào mềm ĉ' , sử dụng các từ mã đối ngẫu của mã đối ngẫu C '(n, r ) ta
tính ra các bit nhận c ( 1 n ) với xác suất cao nhất (trong đó, n là chiều dài
từ mã, k là chiều dài từ tin, r n k 2r 1 k là số lượng các bít kiểm tra).
Ký hiệu exp[2 / p ] là biểu diễn phức của nghiệm nguyên thủy p ; i 1
nếu i và i 0 với các trường hợp khác; là đơn vị ảo; Pr(x ) là xác suất
của x và Pr(x | y ) là xác suất có điều kiện của x cho bởi y; c 't '' i là bít thứ i của
từ mã thứ t '' trong mã đối ngẫu; t, t ' là số phần tử trong trường GF (p) và có giá
trị là các số nguyên 0,1,..., p 1. Nếu s thuộc trường GF (p) ta có c s khi
A (s ) đạt cực đại với:
r
p 1 p
n p 1
A ( s ) st t '( c 't '' i t i ) Pr(cˆ 'i | t ') . (2)
t 0 t ''1 i 1 t ' 0
Kết quả chứng minh trong [2] khẳng định đối với mã nhị phân ( p 2 ), điều
kiện quyết định cứng (ở lần lặp cuối cùng), bít c 0 khi:
c 't '' i i
2r n
1 i
t ''1 i 1 1 i
0 (3)
Ta có ma trận kiểm tra H của mã Hamming (7, 4) cũng là ma trận sinh của mã
đối ngẫu:
1 1 1 0 1 0 0 (a )
H = 0 1 1 1 0 1 0 (b) .
0 0 1 1 1 0 1 (c)
Như vậy, các từ mã của bộ mã đối ngẫu C ' (ở đây ký hiệu a, b, c là các từ mã
đối ngẫu) là:
28 N. T. H. Nhung, P. X. Nghĩa, …, “Giải mã mềm mã Hamming dựa trên các mã đối ngẫu.”
Nghiên cứu khoa học công nghệ
c1 c 2 c3 c 4 c5 c 6 c 7
0 0 0 0 0 0 0
1 1 1 0 1 0 0 (a)
0 1 1 1 0 1 0 (b)
C' : 1 0 0 1 1 1 0 (a b) . (5)
0 0 1 1 1 0 1 (c)
1 1 0 1 0 0 1 (a c)
0 1 0 0 1 1 1 (b c)
1 0 1 0 0 1 1 (a b c)
Đặt i (1 i ) / (1 i ) điều kiện quyết định đối với bít c1 là:
c1 0 khi 1 2 3 5 1 2 3 4 6 4 5 6 13 4 5 7
(6)
2 4 7 1 2 5 6 7 3 6 7 0;
c1 1 khi (6) xảy ra theo chiều ngược lại.
Như vậy, đến đây ta có thể nhận xét rằng: Đối với mã khối tuyến tính, mỗi bít
mã trong các từ mã đối ngẫu đều chứa các thông tin về các bít mã trong các từ mã
gốc [2]. Bên cạnh đó, từ các từ mã đối ngẫu ta có thể thành lập các ma trận kiểm
tra khác nhau. Những nhận định trên đây là cơ sở để xây dựng thuật toán giải mã
mới được trình bày ở nội dung tiếp theo của bài báo.
2.2. Thuật toán giải mã BPA
2.2.1. Quan hệ giữa ma trận kiểm tra và đồ hình Tanner
0 0 0 1 1 1 1
H = 0 1 1 0 0 1 1
1 0 1 0 1 0 1
c1 c2 c3 c4 c5 C c6 c7
1
(n =7)
f1 f2 f3 (r =3)
Hình 1. Ma trận kiểm tra H và đồ thị Tanner tương ứng
của mã Hamming (7, 4).
Mã khối tuyến tính nói chung, mã Hamming nói riêng được giải mã nhờ việc sử
dụng ma trận kiểm tra H có kích thước r n . Hiện nay, một trong những cách
được coi là hiệu quả nhất biểu diễn mã khối chính là thông qua đồ hình song biên
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 29
Kỹ thuật điều khiển & Điện tử
Tanner [5], đồ hình này có quan hệ chặt chẽ với ma trận kiểm tra của bộ mã, điều
này được minh chứng qua ví dụ thể hiện trên hình 1.
Trên đồ hình này có hai hàng nút gồm các nút mã c c1 , c2 ,... cn và các nút kiểm
tra f f1 , f 2 ,... f r . Nút kiểm tra f j nối với nút ci khi và chỉ khi H ( j , i ) 1
( H ( j , i ) là phần tử ở vị trí hàng j , cột i của ma trận kiểm tra H ). Bộ giải mã sử
dụng thuật toán giải mã lặp như thuật toán lan truyền niềm tin BPA. Khi đó, thông
tin sẽ được truyền qua lại giữa các nút bít và các nút kiểm tra khi có kết nối trên đồ
thị Tanner. Nội dung tiếp theo của bài báo đi sâu phân tích bản chất của thuật toán
giải mã này.
2.2.2. Thuật toán giải mã BPA cho mã Hamming
Xét mã Hamming ( n, k ) , đầu vào bộ giải mã BPA là tỷ lệ ước lượng theo hàm
log (Log Likelihood Ratio – LLR):
ˆ)
Pr(cˆ 'i 0|c'
L ( qij ) L (cˆ 'i ) log . (7)
ˆ)
Pr(cˆ 'i 1|c'
Ở đây, ĉ' là tập các symbol nhận từ kênh. Pr(cˆ 'i b | c' ˆ ) là xác suất điều kiện
với b 0,1; Trước khi đi sâu vào phân tích các thuật toán chúng ta cùng định nghĩa
một số ký hiệu:
ci : bit thứ i của từ mã n bit.
R j : tập hợp các cột ở đó H (i, j ) 1 với j là thứ tự hàng.
Ci : tập hợp các hàng ở đó H ( j , i ) 1 với i là thứ tự cột.
R j ~ i : tập R j trừ cột thứ i .
Ci ~ j : tập Ci trừ hàng thứ j .
p ji b : Pr [nút kiểm tra f j thỏa mãn | cˆ 'i b & qij (b) R j ~ i ].
Đầu ra của bộ giải mã là giá trị LLR của các bit mã được sử dụng để quyết định
thành từ mã thăm dò c c1 , c2 ,..., cn . Nếu syndrome s thỏa mãn điều kiện:
T
s c.H [0, 0, ..., 0] (8)
thì dừng lặp và đưa ra từ mã hợp lệ c . Nếu điều kiện (8) không thỏa mãn thì quá
trình được thực hiện lại cho đến khi đạt số lần lặp cực đại max thì dừng và đưa ra
từ mã tại lần lặp cuối.
30 N. T. H. Nhung, P. X. Nghĩa, …, “Giải mã mềm mã Hamming dựa trên các mã đối ngẫu.”
Nghiên cứu khoa học công nghệ
Thuật toán BPA và các phiên bản cải tiến của thuật toán này được ứng dụng cho
mã mật độ kiểm tra thấp LDPC (là mã khối tuyến tính có ma trận H là một ma trận
thưa với số lượng các phần tử "1" trên mỗi hàng và mỗi cột rất ít) mang lại chất
lượng giải mã rất tốt. Với mục đích ứng dụng thuật toán giải mã BPA cho các mã
khối tuyến tính khác, trong đó có mã Hamming với ma trận kiểm tra H không đảm
bảo tính thưa, khi đó tồn tại nhiều chu kỳ ngắn trong nó, điều này làm ảnh hưởng
lớn tới chất lượng giải mã (các chu kỳ ngắn tạo ra những tập bẫy (trapping sets) là
nguyên nhân chính dẫn đến hiệu ứng sàn “error floor”), vì vậy, để ứng dụng thuật
toán BPA cho mã Hamming đòi hỏi phải có những cải tiến nhất định mới đạt được
mục đích đặt ra. Đây cũng là nội dung sẽ được trình bày trong nội dung tiếp theo
của bài báo.
3. ĐỀ XUẤT THUẬT TOÁN GIẢI MÃ BPA CẢI TIẾN
DỰA TRÊN MÃ ĐỐI NGẪU
Ở mục này trình bày thuật toán BPA cải tiến bằng việc sử dụng các ma trận
kiểm tra tương đương, các ma trận này được xây dựng trên cơ sở sử dụng các từ
mã đối ngẫu BPA – DCS (Belief Propagation Algorithm base on dual codes). Ở
đây, thay vì sử dụng một ma trận kiểm tra với số lần lặp tối đa max sau đó mới sử
dụng ma trận kiểm tra tương đương mới [6], thuật toán cải tiến sẽ sử dụng tại mỗi
vòng lặp một ma trận kiểm tra tương đương khác nhau để giải mã, bằng cách thực
hiện như trên sẽ làm cho thông tin ngoại lai ở vòng lặp trước đưa tới vòng lặp sau
trong quá trình giải mã luôn được cải thiện, điều này đã khắc phục được vấn đề
“vòng kín ngắn” đã nêu ở trên.
3.1. Xây dựng các ma trận kiểm tra tương đương
Một cách tổng quát, với mã (n, k ) sẽ tồn tại 2r từ mã đối ngẫu, tương ứng C 2rr
ma trận kiểm tra tương đương H e để sử dụng cho quá trình giải mã. Các ma trận
kiểm tra tương đương H e được xây dựng dựa trên các từ mã đối ngẫu. Ví dụ với
mã Hamming (7,4), các ma trận kiểm tra tương đương sẽ được xây dựng như sau:
a ab
H = b → H e = b c .
c a b c
Với cách thực hiện như trên, ma trận kiểm tra tương đương He được hình thành
từ các từ mã đối ngẫu khác so với ma trận H, bằng cách đó ta có thể xây dựng số
lượng ma trận kiểm tra tương đương khá lớn (phụ thuộc vào số từ mã đối ngẫu 2r )
phục vụ cho mỗi vòng giải mã lặp.
3.2. Xây dựng thuật toán giải mã mềm dựa trên các ma trận kiểm tra tương
đương
Khởi tạo: Tính LLR L(ci ) cho tất cả các nút bit i 1,2 ,...,n và đặt:
ˆ)
Pr(cˆ 'i 0|c'
L ( qij ) L(cˆ 'i ) log
(1)
(9)
ˆ)
Pr(cˆ 'i 1|c'
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 31
Kỹ thuật điều khiển & Điện tử
( )
0, sign(Li (γ ) ) 1
ci 1,2,...,n
(γ ) (13)
1, sign(Li ) 1
và kiểm tra điều kiện:
c .H T [0, 0,..., 0], (14)
nếu thỏa mãn thì đưa ra từ mã c , nếu không thỏa mãn (14) thì chuyển sang giai
đoạn 2.
Giai đoạn 2: Ở giai đoạn 1, nếu (14) không thỏa mãn, thực hiện thay thế các
hàng của ma trận kiểm tra bằng cách lấy hàng đó cộng với hàng tiếp theo ta nhận
được ma trận kiểm tra tương đương H e và thực hiện lại giai đoạn 1 với lần lặp
2 sử dụng ma trận kiểm tra tương đương H e . Nếu thấy (14) thỏa mãn thì dừng
và đưa ra từ mã. Nếu không, thực hiện lại giai đoạn 2, xây dựng ma trận kiểm tra
tương đương mới và tiếp tục giải mã ứng với H e mới đó, … Tại mỗi lần lặp luôn
kiểm tra điều kiện (14), nếu thỏa mãn thì đưa ra từ mã, nếu không tiếp tục thực
hiện giải mã đến khi tìm được từ mã hợp lệ hoặc hết max lần lặp.
32 N. T. H. Nhung, P. X. Nghĩa, …, “Giải mã mềm mã Hamming dựa trên các mã đối ngẫu.”
Nghiên cứu khoa học công nghệ
cˆ ' c
u Mã hóa
Điều chế
Kênh Giải điều Giải mã
Hamming
truyền chế Hamming
u (1, 2...k ) c(1,2,...n ) cˆ '(1,2...n )
Hình 2. Mô hình hệ thống sử dụng mã Hamming.
4.2. Kết quả mô phỏng
Xét các mã Hamming (7, 4), (15, 11), (31, 26), (63, 57) giả thiết điều chế BPSK
lý tưởng và kênh truyền AWGN. Thực hiện mô phỏng đánh giá chất lượng giải mã
của thuật toán giải mã mới BPA – DCS với các thuật toán giải mã cứng, thuật toán
BPA, cho kết quả trên hình 3, hình 4, hình 5 và hình 6.
0
BER Hamming (7,4) tren kenh Gauss BER Hamming (15,11) tren kenh Gauss
0
10 10
giai ma cung giai ma cung
BPA BPA
-1
-1 BPA-DCS 10 BPA-DCS
10
-2
10
-2
10
BER
BER
-3
10
-3
10
-4
10
-4
10 -5
10
-5 -6
10 10
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
EbN0[dB] EbN0[dB]
Hình 3. So sánh chất lượng của mã Hình 4. So sánh chất lượng của mã
Hamming (7, 4) giữa các thuật toán. Hamming (15, 11) giữa các thuật toán.
Từ kết quả mô phỏng ta thấy thuật toán giải mã Hamming dựa vào các ma trận
kiểm tra tương đương mới ứng dụng cho các mã Hamming có độ dài từ mã n 7,
tại tỷ lệ lỗi bít BER 105 cho phép nâng cao chất lượng khoảng 0.9 dB đến 1.05
dB so với thuật toán giải mã cứng, 0.45 dB đến 0.5 dB so với thuật toán BPA khi
thực hiện cùng số vòng lặp. Độ phức tạp thuật toán tăng không đáng kể so với
thuật toán BPA. Để đạt được kết quả này, dù cải tiến rồi nhưng thuật toán BPA-
DCS vẫn phải trả giá về mặt thời gian. Tuy nhiên, khi chiều dài từ mã tăng, thời
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 33
Kỹ thuật điều khiển & Điện tử
gian giải mã của thuật toán BPA – DCS rút ngắn khoảng cách so với thuật toán
BPA. Điều này có thể giải thích như sau:
BER Hamming (31,26) tren kenh Gauss BER Hamming (63, 57) tren kenh Gauss
0 0
10 10
giai ma cung giai ma cung
-1 BPA -1 BPA
10 10
BPA-DCS BPA-DCS
-2 -2
10 10
-3 -3
10 10
BER
BER
-4 -4
10 10
-5 -5
10 10
-6 -6
10 10
-7 -7
10 10
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
EbN0[dB] EbN0[dB]
Hình 5. So sánh chất lượng của mã Hình 6. So sánh chất lượng của mã
Hamming (31, 26) giữa các thuật toán. Hamming (63, 57) giữa các thuật toán.
Bảng 1. So sánh thời gian trung bình xử lý một từ mã giữa hai thuật toán giải mã
BPA và BPA - DCS với các bộ mã Hamming (7, 4), (15, 11), (31, 26), (63, 57).
34 N. T. H. Nhung, P. X. Nghĩa, …, “Giải mã mềm mã Hamming dựa trên các mã đối ngẫu.”
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 35