Nội dung bài báo trình bày phương pháp giải mã mềm sử dụng thuật toán BPA-EH cải tiến cho mã kiểm tra chẵn lẻ mật độ thấp (LDPC - Low Density Parity Check) dựa trên các ma trận kiểm tra tương đương nhằm khắc phục vấn ñề vòng kín ngắn trong mã LDPC mã LDPC.
Trang 1Nghiên cứu kỹ thuật giải mã mềm với thuật toán BPA-EH cải tiến cho mã LDPC
Nguyễn Anh Tuấn
Trường ðại học Công nghệ thông tin & Truyền thông
ðại học Thái Nguyên Thái Nguyên, Việt Nam Email: natuan@ictu.edu.vn
Phạm Xuân Nghĩa
Học viện Kỹ thuật Quân sự
Hà Nội, Việt Nam Email: nghiapx@mta.edu.vn
Tóm tắt - Nội dung bài báo trình bày phương pháp giải
mã mềm sử dụng thuật toán BPA-EH cải tiến cho mã kiểm
tra chẵn lẻ mật ñộ thấp (LDPC - Low Density Parity
Check) dựa trên các ma trận kiểm tra tương ñương nhằm
khắc phục vấn ñề vòng kín ngắn trong mã LDPC Phương
pháp này không những cho phép giảm ñáng kể thời gian
giải mã so với thuật toán BPA-EH (Belief Propagation
Algorithm based on Equivalent Parity Check Matrix H),
mà còn mang lại ñộ lợi mã hóa cao hơn so với phương
pháp giải mã BPA truyền thống khoảng 0,75 dB trên kênh
Gauss và 1,2 dB trên kênh pha-ñinh
Từ khóa— Mã LDPC, ma trận kiểm tra tương ñương,
giải mã BPA, kênh Gauss, kênh pha-ñinh
I GIỚITHIỆU
Mã kiểm tra chẵn lẻ mật ñộ thấp (LDPC-Low
Density Parity Check) ñược biết ñến cùng với các thuật
toán giải mã: BPA, SPA, MPA [2] Các thuật toán này
cho chất lượng giải mã khá tốt, tuy nhiên trong các hệ
thống thông tin hiện ñại việc tiết kiệm công suất phát
mà vẫn ñảm bảo ñược chất lượng thông tin của hệ thống
là vấn ñề thực sự có ý nghĩa Vì thế, ñã có rất nhiều
công trình nghiên cứu nhằm cải thiện hiệu quả giải mã
cho mã LDPC, trong ñó cải tiến nâng cao chất lượng
giải mã vẫn là nội dung ñang tiếp tục ñược nghiên cứu
Với tính chất của một mã khối tuyến tính, cơ chế
phát hiện và sửa sai của mã LDPC dựa vào ña thức kiểm
tra H Mặt khác, với ñặc ñiểm riêng của mình, mã
LDPC lại cho phép áp dụng kỹ thuật giải mã lặp Từ hai
yếu tố trên ñây gợi cho ta hướng nghiên cứu sử dụng kỹ
thuật giải mã mềm cho mã LDPC
II CÁCTHUẬTTOÁNGIẢIMÃBPA,BPA-EH
VÀÝTƯỞNGNGHIÊNCỨU
A Thuật toán giải mã BPA
Xét mã LDPC ( , )n k với tỷ lệ mã R = k/n (m = n -k
là số lượng các bit kiểm tra) Các bit tin u =u u1, , 2 u k
ñược mã hóa thành từ mã y=y y1, , 2 y n sau ñó ñược ñiều chế và truyền trên kênh ðầu vào bộ giải mã BPA
là tỷ lệ ước lượng theo hàm log (Log Likelihood Ratio – LLR) [2,3]:
ˆ Pr( 0 | ) ˆ
( ) log
ˆ Pr( 1 | )
i i
i
L y
=
=
= (1)
Ở ñây r là tập các symbol nhận từ kênh và xác suất
ñiều kiện Pr(yˆi =0 | )r Thuật toán BPA [2,3] là thuật toán giải mã lặp có hai công ñoạn chính:
1 Cập nhật bản tin cho tất cả các nút kiểm tra và gửi bản tin r b từ nút kiểm tra tới các nút bít nối với nó ji( )
2 Cập nhật bản tin cho tất cả các nút bít và gửi bản tin q b từ các nút bit tới các nút kiểm tra nối với nó ji( ) ðầu ra của bộ giải mã là giá trị LLR của các bít mã ñược sử dụng ñể quyết ñịnh thành từ mã thăm dò
1 2
ˆ=y yˆ ˆ, , ,yˆn
y Khi hội chứng s thỏa mãn ñiều kiện:
s = y.Hˆ T =[0, 0, , 0] (2) Thì dừng lặp ñưa ra từ mã hợp lệ yˆ Nếu ñiều kiện (2) 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 γ maxvà ñưa ra từ mã
B Thuật toán giải mã BPA-EH
Như ta ñã biết thuật toán BPA-EH là thuật toán sử dụng các ma trận kiểm tra tương ñương [1] Từ lý thuyết
của mã tuyến tính, ta thấy một từ mã dùng ñúng y bao
giờ cũng phải thỏa mãn ñiều kiện (2) ðây là một hệ phương trình tuyến tính nên việc thay thế một hàng bằng việc cộng các hàng bất kỳ với nhau ñể ñược ma trận kiểm tra tương ñương
e
H thì ma trận này vẫn thỏa mãn (2) Ở ñây mới chỉ chỉ xét trường hợp thành lập H e
Trang 2bằng việc thay thế hàng h a của ma trận ( ) H bằng cách
cộng modulo-2 hàng h b và ( ) h c Việc lựa chọn các ( )
hàng h a , ( ) h b , ( ) h c ñược trình bày cụ thể trong [1] ( )
C ðặt vấn ñề nghiên cứu
Trong cách giải quyết vấn ñề của [1] vẫn còn các hạn
chế Thứ nhất, kết quả ñánh giá chưa ñược thực hiện với
kênh pha-ñinh, loại kênh có chất lượng tồi hơn kênh tạp
âm Gao-xơ trắng cộng tính AWGN (Addative White
Gaussan Noise) rất nhiều, nhưng lại thường gặp hơn
trong các hệ thống truyền tin vô tuyến Thứ hai, việc sử
dụng các ma trận kiểm tra tương ñương ñể giải mã làm
cho khối lượng tính toán tăng lên rất nhiều (ít nhất là
bằng số ma trận H tương ñương) Các nhược ñiểm này
ñược giải quyết, khắc phục nhờ các nghiên cứu ñược ñề
xuất trong bài báo này
III CÁCðỀXUẤTMỚIðỐIVỚIPHƯƠNG
PHÁPGIẢIMÃBPA-EH
A ðề xuất ứng dụng phương pháp giải mã BPA-EH
cho kênh pha-ñinh ña ñường
Trong các hệ thống thông tin vô tuyến, ñể tạo ra tính
ñộc lập thống kê giữa các tia sóng, ở phía thu người ta
ñặt các máy thu RAKE, khi ñó tín hiệu trên các tia nhận
ñược là ñộc lập và có thể ñược xử lý song song Lợi
dụng tính chất này, bài báo ñề xuất ý tưởng sử dụng
thuật toán giải mã BPA-EH cho kênh pha-ñinh ña ñường
theo phương án sau: Thực hiện giải mã ñộc lập trên mỗi
tia, tại ñó sử dụng tất cả các ma trận H tương ñương,
và kết quả là trên mỗi tia nhận ñược một từ mã
1 2
ˆi =y yˆ ˆ, , ,yˆn
y
, các từ mã này ñược ñưa vào bộ quyết ñịnh cứng ñể tìm ra từ mã chính xác nhất Với ý tưởng
này ñã kết hợp ñược tính phân tập trong không gian khi
truyền sóng ña ñường với tính phân tập theo thời gian
khi sử dụng mã một cách tối ña
B ðề xuất phương pháp xây dựng ma trận kiểm tra
tương ñương rút ngắn thời gian giải mã
Như ñã trình bày trên ñây, trong [1] thực hiện thuật
toán BPA-EH bằng việc sử dụng các ma trận kiểm tra
tương ñương
e
H , các ma trận này ñược tạo ra bằng
việc thay thế hàng (tương ứng với nút kiểm tra kém tin
cậy) ðiều này dẫn ñến khối lượng tính toán khi thực
hiện giải mã lớn Ở ñây bài báo ñề xuất phương án xây
dựng các ma trận kiểm tra mới như sau: Ngoài việc thay
thế hàng có ñộ tin cậy kém của ma trận H gốc, bên
cạnh ñó ta thực hiện thay một số hàng còn lại bằng hàng
toàn “0” ñiều này sẽ làm giảm khối lượng tính toán và
do ñó dẫn ñến giảm thời gian giải mã ñáng kể Cơ sở lý
luận của ý tưởng này ñược giải thích như sau: Với mã
LDPC, một nút bit ñược nối tới nhiều nút kiểm tra, nên
khi ta bỏ bớt một số nút kiểm tra vẫn ñảm bảo là nút bit
tin cậy dựa vào các bản tin từ nút kiểm tra khác Mặt
khác, ñiều quan trọng hơn là khi thực hiện thay các
hàng của H bằng các hàng toàn “0” ta ñã loại bỏ ñược các vòng kín ngắn trong H , các vòng kín này là nguyên nhân dẫn ñến giảm chất lượng mã LDPC Ý tưởng trên ñây về mặt ñịnh tính sẽ thực sự có ý nghĩa ñối với các mã LDPC ñặc biệt là các mã có ma trận H kích thước lớn, tuy nhiên việc xác ñịnh số lượng cũng như vị trí hàng bị thay thế tối ưu ñối với các mã này sẽ cực kỳ phức tạp vì ta không thể xác ñịnh cụ thể vị trí các vòng kín ngắn trong các ma trận này Do vậy giải pháp ñề xuất trong bài báo ñược trình bày như sau: Khi xây dựng ma trận tương ñương
e
H ta thực hiện thay thế các hàng của ma trận H gốc với số lượng ≤1/3 tổng số
hàng của ma trận này bằng các hàng toàn “0”, việc thay thế sẽ thực hiện luân phiên với mỗi
e
H tương ứng ở mỗi vòng lặp Với việc thực hiện như trên ta ñã trả lại những thông tin về các bit tin bị mất ở vòng lặp trước
và giảm lượng thông tin mất mát với mỗi bít tin Kết quả mô phỏng ñược trình bày dưới ñây sẽ cho ta những ñánh giá ñịnh lượng những khằng ñịnh trên
IV KẾTQUẢMÔPHỎNG,ðÁNHGIÁ
A Sơ ñồ mô phỏng hệ thống
Hình 1 Sơ ñồ mô phỏng hệ thống Trong sơ ñồ này, mã LDPC ñược sử dụng là mã bất quy tắc [4] Thuật toán giải mã dựa trên thuật toán BPA-EH cải tiến Theo lý thuyết mã tuyến tính, thì từ
ma trận H gốc có thể tạo ra các ma trận H e bằng việc
thay thế 1 hàng h a bằng tổng modulo-2 hàng ( ) h b và ( ) ( )
h c :
ow( ) ow( ) ow( ),
|r a=r b⊕r c a b c≠ ≠
e
H = H
(3) Việc lựa chọn các hàng h a( ), h b( ), h c( ) ñược chọn trên việc xét giá trị syndrome mềm [1]:
i
∈
∈
(4)
) (5)
Trang 3Ở ñây sminlà nút có giá trị tuyệt ñối của syndrome
nhỏ nhất trong lần giải mã ñầu tiên Như ta ñã biết nút
kiểm tra có syndrome nhỏ nhất sẽ kết nối với nút tin có
ñộ tin cậy thấp nhất, nên ta chọn a là hàng ứng với
min
L s có giá trị nhỏ nhất mang dấu dương (việc lựa
chọn dấu dương ñảm bảo chắc chắn syndrome này bị
lỗi), hàng b ứng với L s(max) có giá trị lớn nhất mang
dấu âm, còn hàng c ứng với L s( )i có giá trị tăng dần
với a≠b≠c
Ngoài việc thay thế hàng như ở trên, ta còn thực
hiện xóa bỏ (thay thế bằng hàng có tất cả các phần tử
ñều là “0”) ngẫu nhiên một số hàng trừ những hàng có
ñộ tin cậy kém ñã thay và hàng có ñộ tin cậy lớn nhất
B Kết quả mô phỏng
+ Kết quả mô phỏng ñánh giá chất lượng của thuật
toán giải mã BPA-EH cải tiến cho kênh AWGN:
Hình 2 và Hình 3 trình bày kết quả ñánh giá chất
lượng mã BPA-EH cải tiến trên kênh AWGN với các
ma trận H60 120× và H120 240×
Hình 2 So sánh chất lượng giải mã LDPC bằng thuật
toán BPA, BPA-EH, BPA-EH cải tiến với ma trận
60 120 ×
H trên kênh AWGN
Từ Hình 2 cho thấy, ñối với bộ mã C1sử dụng ma
trận H60 120× , khi thực hiện thuật toán giải mã BPA-EH
cải tiến (BPA-EH-erase 6 rows - xóa 6 hàng từ ma trận
e
H của BPA-EH) và BPA-EH thì chất lượng giải mã
tương ñương nhau việc này mang lại ñộ lợi mã hóa
khoảng 0,75 dB ở tỷ lệ lỗi bít P e =10−4 so với BPA
truyền thống, nhưng nếu tăng số hàng bị xóa lên 7 và 12
thì chất lượng giải mã của BPA-EH cải tiến sẽ xấu ñi so
với BPA-EH
Hình 3 So sánh chất lượng giải mã LDPC bằng thuật toán BPA, BPA-EH, BPA-EH cải tiến với ma trận
120 240 ×
H trên kênh AWGN
Trên Hình 3 ta thấy, khi xóa một số hàng của
e H
ñồng nghĩa với việc ta phá vỡ 1 hoặc một số vòng kín ngắn trong nó nhưng khi số hàng bị xóa quá lớn sẽ làm giảm khả năng kiểm tra với một số bít tin Vì vậy, việc
sử dụng ma trận H tương ñương kết hợp xóa một số hàng không những làm giảm sự phức tạp trong quá trình tính toán cỡ (10%) ñối với bộ mã có ma trận kiểm tra
60 120 ×
H và 20 % ñối với bộ mã ma trận kiểm tra
120 240 ×
H , mà còn có khả năng tăng chất lượng giải mã
so với thuật toán BPA-EH trình bày trong [1], thời gian
và chất lượng giải mã sẽ ñược cải thiện hơn ñối với các
mã dài Tuy nhiên ñể ñảm bảo chất lượng giải mã thì phải tìm ñược số hàng bị xóa phù hợp với từng mã, ñặc biệt hơn là tìm ñược các hàng xóa phù hợp
+ Kết quả mô phỏng ñánh giá chất lượng của thuật
toán giải mã BPA-EH cải tiến cho kênh pha-ñinh:
Trên cơ sở kết quả mô phỏng trên kênh AWGN, ta tiến hành thực hiện thuật toán BPA-EH cải tiến trên kênh pha-ñinh với bộ mã C1 ñã xóa 3 hàng và bộ mã 2
C ñã xóa 20 hàng, các kết quả mô phỏng ñược trình bày trên Hình 4 và Hình 5
Kết quả trên Hình 4 và Hình 5 cho thấy, ñối với kênh pha-ñinh ña ñường, nếu dùng phương pháp giải
mã BPA-EH và BPA-EH cải tiến cho tín hiệu ñầu vào là tín hiệu tổng hợp của các tia thì chất lượng của 2 thuật toán này tương ñương nhau và tốt hơn so với chất lượng của thuật toán BPA truyền thống khoảng 1,2 dB Bên cạnh ñó kết quả Hình 4 cũng cho thấy, chất lượng của thuật toán giải mã BPA – EH cải tiến với việc ứng dụng ñề xuất giải mã trên kênh pha-ñinh ñã trình bày ở Mục III.A (trên Hình 4 và Hình 5 ñược chú thích
Trang 4là BPA-EH cải tiến 1) tốt hơn ñáng kể so với thuật toán
BPA ban ñầu cỡ 13 dB và cỡ 9 dB so với thuật toán
BPA – EH ở tỷ lệ lỗi 10-4
Hình 4 So sánh chất lượng giải mã LDPC bằng
thuật toán BPA, BPA-EH, BPA-EH cải tiến với ma trận
60 120 ×
H trên kênh pha-ñinh
Cũng tương tự, từ kết quả Hình 5 cho thấy, chất
lượng của thuật toán giải mã BPA – EH cải tiến 1 tốt
hơn ñáng kể so với thuật toán BPA ban ñầu cỡ 9 dB và
cỡ 6 dB so với thuật toán BPA – EH ở tỷ lệ lỗi 10-4
Sở dĩ có ñược kết quả trên, là do trong quá trình giải
mã ñã thực hiện kết hợp ñược tính phân tập trong không
gian trong truyền sóng ña ñường với tính phân tập theo
thời gian khi sử dụng mã một cách tối ña làm cải thiện ñáng kể chất lượng giải mã LDPC, ñiều này mở ra một hướng nghiên cứu mới trong việc ứng dụng mã kênh cho các hệ thống truyền tin bị ảnh hưởng bởi pha-ñinh
ña ñường
V KẾTLUẬN
Từ kết quả mô phỏng trình bày trong bài báo, có thể khẳng ñịnh rằng: Các thuật toán giải mã BPA-EH và BPA-EH cải tiến cho chất lượng mã LDPC ñược cải thiện cả trên kênh AWGN và trên kênh pha-ñinh ðộ lợi trên kênh AWGN khoảng 0,75dB, trên kênh pha-ñinh khoảng 1 dB (ở P e 10−4
= ) Khi chất lượng kênh tốt lên, thì sử dụng thuật toán BPA-EH cải tiến cho chất lượng tốt hơn so với thuật toán BPA-EH, nó cho ñộ lợi
mã hóa ≥ 6 dB so với thuật toán BPA thuần túy
Thuật toán BPA-EH cải tiến cho ñộ lợi về thời gian
mã hóa từ 10%-20% so với thuật toán BPA-EH ðộ lợi này tăng lên cùng với kích thước ma trận kiểm tra H
TÀILIỆUTHAMKHẢO [1] Nguyen Tung Hung, “A new decoding algorithm based on equivalent parity check matrix for LDPC codes,” REV Journall on Electronics and Communications, Vol.3, No 1-2, Jannuary – June, 2013 [2] R,Gallager, “Low-density parity-check codes,” IRE Trans, Information Theory, pp 21-28 January
1962
[3] William E Ryan, “An introduction to LDPC codes,” Department of Electrical and Computer Engineering, the University of Arizona, August 19,2003
[4] Thomas J Richardson, M Amin Shokrollahi, Member, IEEE, and Rudiger L.Urbanker “Design of capacity-Approaching irregular low-density parity-check codes,”IEEE Transactions on Information Theory, Vol 47, No 2, February 2001
Hình 5 So sánh chất lượng giải mã LDPC bằng
thuật toán BPA, BPA-EH, BPA-EH cải tiến với
ma trận H120 240× trên kênh pha-ñinh