Phạm Xuân Nghĩa và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 116 (02): 67 - 71
67
ĐÁNH GIÁ HIỆU QUẢ SỬA LỖI CỦA MÃ XOẮN ĐỘT LỖ
Phạm Xuân Nghĩa*, Nguyễn Khánh Cƣờng
Học viện Kỹ thuật quân sự
TÓM TẮT
Nội dung bài báo này tập trung vào đánh giá chất lƣợng của mã xoắn khi sử dụng kỹ thuật đột lỗ
thông qua sự so sánh tỷ lệ lỗi bit giữa các tỷ lệ mã với cùng một mã gốc bằng việc sử dụng các
mẫu đột với các mô hình kênh truyền dẫn khác nhau. Kết quả so sánh cho thấy, với cùng một tỷ lệ
mã hóa
5 trang |
Chia sẻ: huongnhu95 | Lượt xem: 629 | Lượt tải: 0
Tóm tắt tài liệu Đánh giá hiệu quả sửa lỗi của mã xoắn đột lỗ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
và cùng một mã gốc, nhƣng với các mẫu đột khác nhau cho ta chất lƣợng giải mã khác
nhau, độ lợi mã hóa của các mẫu đột tốt lên tới 0,5 dB.
Từ khóa: Mã xoắn đột lỗ, mẫu đột lỗ, tỷ lệ mã
GIỚI THIỆU*
Ra đời từ những năm 50 (thế kỷ 20), nhƣng
thời kỳ đó mã xoắn không đƣợc ứng dụng
rộng rãi do các phƣơng pháp giải mã ban đầu
còn khá phức tạp và cho chất lƣợng giải mã
không cao. Năm 1967, thuật toán Viterbi
xuất hiện mang lại hiệu quả sửa lỗi tốt cho mã
xoắn và đơn giản trong quá trình thực hiện.
Ngày nay các mã xoắn đóng vai trò chủ đạo
trong các hệ thống thông tin hiện đại, nhƣ các
hệ thống thông tin di động tế bào mặt đất [1],
các hệ thống thông tin vệ tinh...Việc nghiên
cứu chất lƣợng sửa lỗi của mã xoắn ở các tỷ
lệ khác nhau nhƣng cùng xuất phát từ một bộ
mã gốc với các loại kênh truyền khác nhau sẽ
giúp cho việc ứng dụng mã xoắn trong các hệ
thống truyền tin hiệu quả hơn.
MÃ XOẮN VÀ CÁC KỸ THUẬT GIẢI MÃ
CƠ BẢN
Mã xoắn và các tham số đặc trưng
Đặc trƣng quan trọng của mã xoắn là một dấu
mã không những phụ thuộc vào dấu thông tin
ở thời điểm hiện tại mà còn phụ thuộc vào
một số dấu thông tin ở thời điểm trƣớc đó. Mã
xoắn tồn tại ở cả hai dạng nhị phân và phi nhị
phân, tuy nhiên trong thực tế các mã xoắn nhị
phân đƣợc ứng dụng rộng rãi hơn, nên trong
bài báo chọn đối tƣợng nghiên cứu là mã
xoắn nhị phân.
*
Tel: 0989 505717, Email: nghiapx@mta.edu.vn
Cấu trúc và tính chất của mã xoắn (n,k,m)
đƣợc quyết định bởi các đa thức sinh ( )ig D ,
các tham số đặc trƣng cho một mã xoắn bao
gồm: Tỷ lệ mã hóa
k
r
n
, trong đó k là số bít
(dấu) thông tin, n - các bit (dấu) mã ở mỗi
thời điểm; độ dài ràng buộc K = k.(m+1), đại
diện cho số các bit thông tin ở thời điểm trƣớc
ảnh hƣởng đến bit mã ở thời điểm hiện tại, ở
đây m là số thanh ghi dịch trong thiết bị mã
hóa; và khoảng cách Hamming tự do dfree-
tham số này thể hiện khả năng sửa lỗi của mã
xoắn [3].
Hình 1 minh họa một bộ mã hóa xoắn có
2
1( ) 1g D D D và
2
2( ) 1g D D với tỷ lệ mã hóa r = ½.
Hình 1. Bộ mã hóa xoắn với r = 1/2 và K = 3
Hoạt động của thiết bị mã hóa xoắn đƣợc thể
hiện thông qua các bit thông tin đầu vào (mi),
các trạng thái trong ở thời điểm bắt đầu
S0[i]S1[i] Sm[i], các trạng thái trong chuyển
đến S0[i+1]S1[i+1] Sm[i+1] và các bit mã
đầu ra x1[i] x2[i] xn[i] [1,3]. Để đơn giản
cho việc thực hiện mã hóa và giải mã ta sử
dụng sơ đồ lƣới, các tham số nêu trên đƣợc
thể hiện đầy đủ trên sơ đồ lƣới mã [2, 3, 4].
Phạm Xuân Nghĩa và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 116 (02): 67 - 71
68
Các thuật toán giải mã xoắn
Các thuật toán giải mã xoắn nổi tiếng bao
gồm [1]:
- Thuật toán giải mã theo ngƣỡng
- Thuật toán giải mã nối tiếp.
- Thuật toán giải mã theo phƣơng pháp hợp lẽ
cực đại (ML).
- Thuật toán giải mã Viterbi.
Trong khuôn khổ bài báo đi sâu trình bày
thuật toán giải mã Viterbi [3, 4]. Ở thuật toán
này sử dụng hai metric là metric nhánh (BM)
và metric tuyến (PM), trong kỹ thuật giải mã
quyết định cứng, ta nhận đƣợc chuỗi các bit
kiểm tra đã đƣợc lƣợng tử hóa. Metric nhánh
là khoảng cách Hamming giữa các bit kiểm
tra mong muốn (ghi trên lƣới) và các bit nhận
đƣợc. Một ví dụ đƣợc chỉ ra trong hình 2,
trong đó các bit nhận đƣợc là 00. Cho mỗi sự
chuyển đổi trạng thái, các số trên các nhánh
(của sơ đồ lƣới mã) thể hiện metric nhánh cho
sự chuyển đổi đó. Metric nhánh bằng 0 tƣơng
ứng với các trạng thái và sự chuyển đổi trạng
thái có khoảng cách Hamming bằng 0. Các
metric nhánh khác khác 0 tƣơng ứng với các
trƣờng hợp khi có các lỗi bit.
0/000
1/112
0/101
1/011
0/112
1/000
0/011
1/101
i i+1
S1=00
S2=01
S3=10
S4=11
Hình 2. Metric nhánh cho giải mã quyết định cứng
Metric tuyến là một giá trị đƣợc kết hợp với
một trạng thái trong lƣới. Với giải mã quyết
định cứng, metric tuyến tƣơng ứng với
khoảng cách Hamming qua tuyến gần giống
nhất từ trạng thái khởi tạo tới trạng thái hiện
tại trên sơ đồ lƣới. Tuyến gần giống nhất là
tuyến ứng với khoảng cách Hamming nhỏ
nhất giữa trạng thái khởi tạo và trạng thái hiện
tại, đã đƣợc tính toán qua tất cả các tuyến có
thể có giữa hai trạng thái. Tuyến với khoảng
cách Hamming nhỏ nhất làm cực tiểu hóa
tổng số lỗi bit. Các bƣớc giải mã cơ bản của
thuật toán Viterbi đƣợc trình bày dƣới đây:
Bước 1: Khởi tạo:
Từ điểm xuất phát ban đầu i = 0. Đặt các
metric và các tuyến
( )( )
0 0
( ) 0, ( )
kkM S y empty
(1)
Giả sử các tuyến đƣợc thể hiện nhƣ một danh
sách mà, ban đầu khởi tạo là danh sách trống.
Bước 2: Tính toán metric nhánh:
Tại bƣớc thứ i, tính toán các metric nhánh cục
bộ: ( ) ( [i],v[i])bi HBM d r (2)
Trong đó
1
1
0
[ ]2
n
n l
l
l
b v i , đƣợc kết hợp
với n bit đầu ra [ ]v i của mỗi nhánh và n bit
nhận đƣợc [ ]r i .
Bước 3: Cộng, so sánh và lựa chọn (ACS)
Với mỗi trạng thái ( ) , 0,1, ,2 1k miS k
và tƣơng ứng với cặp nhánh đến từ hai trạng
thái trƣớc đó 1
( )
1
k
iS và
2( )
1
k
iS , thuật toán so
sánh các metric nhánh mở rộng
1 1( ) ( )
1( )
k b
i iM S BM và
2 2( ) ( )
1( )
k b
i iM S BM
Trong đó
1
1
0
[ ]2 1,2,i
n
n l
j l
l
b v i
(3)
Lựa chọn 1 nhánh sống sót, là nhánh có
metric tuyến là nhỏ nhất, và cập nhật các
metric
1 1 2 2( ) ( ) ( ) ( )( )
1 1( ) min{ ( ) , (S )+ }
k b k bk
i i i i iM S M S BM M BM
(4)
Bước 4: Cập nhật bộ nhớ tuyến:
Với mỗi trạng thái ( ) , 0,1, ,2 1k miS k , cập
nhật các tuyến còn tồn tại ( )ky với đầu ra của
nhánh sống sót
, {1,2}.
jk
v j
( )( )
1( , )
j
j
kk
i i ky y v
(5)
Sau khi cập nhật ta đặt i = i + 1 và tiến hành
lại các bƣớc trên đến khi đƣa toàn bộ chuỗi
bit mã nhận đƣợc ở phía thu, lúc này ta tìm
đƣợc đoạn lƣới có metric truyến nhỏ nhất,
đƣợc gọi là đƣờng “sống sót”. Tƣơng ứng là
các giá trị bit mã đã đúng (đã đƣợc sửa lỗi).
Phạm Xuân Nghĩa và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 116 (02): 67 - 71
69
KỸ THUẬT ĐỘT LỖ CHO MÃ XOẮN
Xuất phát từ tính chất không ổn định của
kênh truyền cùng với yêu cầu về sự đơn giản
trong thiết bị, kỹ thuật đột lỗ cho mã xoắn
đƣợc ứng dụng trong hệ thống truyền thông.
Việc ứng dụng kỹ thuật này nhằm tạo ra các
mã xoắn có tỷ lệ mã hóa khác nhau xuất phát
từ một mã gốc (mã mẹ), điều này giúp ta tăng
hiệu quả truyền tin, đồng thời vẫn sử dụng
chung một thiết bị mã hóa và giải mã.
Bản chất của kỹ thuật đột lỗ là quá trình xóa
hoặc không truyền đi một số bit của một bộ
mã hóa tỷ lệ thấp một cách có hệ thống. Vì
cấu trúc lƣới của bộ mã hóa không thay đổi
nên số lƣợng các bit thông tin trong mỗi chuỗi
đƣợc giữ nguyên. Kết quả là chuỗi đầu ra
thuộc về một mã xoắn đƣợc đột lỗ (PC) có tỷ
lệ cao hơn. Ta nghiên cứu phƣơng pháp tạo
các mã xoắn đột lỗ từ các mã xoắn gốc nhị
phân có tỷ lệ 1/n và m phần tử nhớ [3]. Một
ma trận đột lỗ P đặc trƣng cho các quy tắc
xóa bỏ các bit đầu ra. P là một ma trận nhị
phân
pk n phần tử. Trong đó ijp tƣơng
ứng với các bit đầu ra đƣợc truyền đi
(
ij 1p ) hoặc bị xóa bỏ ( ij 0p ). Một bộ
mã hóa của mã PC đƣợc thể hiện nhƣ hình 3.
Ta xem xét một bộ mã xoắn có tỷ lệ mã 2/3
gồm 2 phần tử nhớ có thể đƣợc tạo thành
bằng cách đột các bit đầu ra của bộ mã xoắn
tỷ lệ 1/2 dựa theo ma trận đột lỗ
1 1
.
1 0
P
Hình 3. Bộ mã hóa của mã PC dựa trên một mã
có tỷ lệ 1/n
Bộ mã hóa tƣơng ứng đƣợc thể hiện trong
Hình 4. Chuỗi đƣợc mã hóa
(0) (1) (0) (1) (0) (1) (0) (1)
1 1 2 2 3 3( , , , , , )i i i i i i i iv v v v v v v v v
của bộ mã hóa tỷ lệ 1/2 đƣợc biến đổi thành
một chuỗi mã
(0) (1) (0) (0) (1) (0)
1 2 2 3( , , , , , )p i i i i i iv v v v v v v
Do đó ta thấy đầu ra thứ hai cứ cách một bit
loại bỏ đi một bit không đƣợc truyền đi.
Hình 4. Bộ mã hóa của mã PC tỷ lệ mã 2/3.
ĐÁNH GIÁ CHẤT LƢỢNG ĐỘT LỖ
THÔNG QUA KẾT QUẢ MÔ PHỎNG
Để đánh giá chất lƣợng của các mã đột lỗ ta
tiến hành xem xét mã Qualcomm, là một mã
hệ thống đệ quy có chiều dài ràng buộc K = 7,
tỷ lệ mã hóa r = 1/2, đa thức sinh g =
(171,131)8 với nhánh phản hồi là nhánh
171[1]. Trƣớc tiên; tiến hành mô phỏng một
hệ thống thông tin có cấu trúc cơ bản để đánh
giá ảnh hƣởng của kỹ thuật đột lỗ đến chất
lƣợng mã xoắn. Tại đầu phát, luồng bit thông
tin đƣợc mã hóa bằng mã Qualcomm sau đó
đƣợc điều chế BPSK rồi phát qua kênh
AWGN. Tại đầu thu, luồng bit thông tin đầu
vào đƣợc giải điều chế, giải mã Viterbi quyết
định mềm 8 mức. Hình 5 thể hiện tỷ lệ lỗi bit
(BER) của mã Qualcomm đã đƣợc đột lỗ với
các tỷ lệ mã hóa khác nhau. Từ kết quả mô
phỏng ta nhận thấy mã đƣợc đột lỗ có khả
năng sửa lỗi giảm theo số bit bị đột đi. Ví dụ
ở xác suất lỗi bít Pe=4x10
-5, đối với mã gốc
Qualcomm (r=1/2) ta cần Eb/N0 =4,3dB, với
mã này đã bị đột lỗ ở tỷ lệ mã r=2/3 yêu cầu
Eb/N0 =5,6dB nhƣ vậy ta đã bị thiệt về tỷ số
Eb/N0 là 1,3 dB. Với mã Qualcomm đột lỗ ở
tỷ lệ mã r=3/4 để đảm bảo giá trị Pe nhƣ trên
cần Eb/N0 = 7 dB, đồng nghĩa với sự trả giá về
năng lƣợng là 2,7 dB.
Tuy nhiên ở bài toán này ta đã đạt đƣợc độ lợi
về tỷ lệ mã hóa khá cao, có nghĩa là đã đạt
đƣợc mục đích tăng hiệu quả sử dụng băng
thông. Các nhận xét trên đây cũng đúng với
kênh fadinh Rayleigh, tuy nhiên chất lƣợng
sửa lỗi của các mã (kể cả mã gốc) đối với
kênh này kém hơn rất nhiều so với kênh
Gauss (hình 6).
Phạm Xuân Nghĩa và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 116 (02): 67 - 71
70
Hình 5. Chất lượng sửa lỗi của mã Qualcomm đột
lỗ với tỷ lệ khác nhau qua kênh Gauss
Hình 6. Chất lượng sửa lỗi của mã Qualcomm đột
lỗ với tỷ lệ khác nhau qua kênh Rayleigh
Một vấn đề khác cần quan tâm là sự phụ
thuộc của chất lƣợng các mã đột lỗ vào các
mẫu đột. Khảo sát vấn đề này ta tiến hành
tiến hành đột lỗ mã Qualcomm để đƣa các mã
sau đột lên cùng một tỷ lệ mã hóa nhƣng sử
dụng các mẫu đột khác nhau [3]. Vector đột
đầu tiên (
1 [1 0 1 1 1 0]v ) chỉ đột
các bit kiểm tra, với vector đột thứ hai
(
2 [0 1 1 1 0 1]v ) ta chỉ đột các bit
hệ thống, sau đó thực hiện mô phỏng đánh giá
chất lƣợng các mã nhận đƣợc trên kênh Gauss
(Hình 7).
Từ kết quả nhận đƣợc cho thấy, chất lƣợng
của các mã xoắn sử dụng mẫu đột thứ nhất tốt
hơn so với mẫu đột thứ 2 khoảng 0,5 dB.
Sở dĩ có kết quả nhƣ trên là do lƣợng thông
tin chứa trong mỗi bit mã và vai trò của các
bit này trong quá trình giải mã. Nhƣ vậy để
các mã xoắn đột lỗ mang lại chất lƣợng và
hiệu quả tốt cho các hệ thống truyền tin,
không những phải tìm các mã xoắn tốt mà
còn phải tìm đƣợc các mẫu đột tốt tƣơng ứng
với các mã đó.
Hình 7. Chất lượng sửa lỗi của mã Qualcomm với
các mẫu đột khác nhau qua kênh Gauss
KẾT LUẬN
Thông qua nghiên cứu lý thuyết và tiến hành
mô phỏng ta có thể kết luận rằng kỹ thuật đột
lỗ đem lại nhiều ƣu điểm cho các hệ thống.
Tuy nhiên việc sử dụng các mã xoắn tốt kết
hợp với các mẫu đột tốt sẽ cho ta độ lợi mã
hóa đƣợc cải thiện đáng kể.
TÀI LIỆU THAM KHẢO
1. Đỗ Quốc Trinh, Nguyễn Lê Vân, Đinh Thế
Cƣờng, Phạm Xuân Nghĩa, (2012) Hệ thống di
động 4G LTE từ lý thuyết đến thực tế, Học viện
Kỹ thuật Quân sự.
2. Phạm Xuân Nghĩa, Đỗ Quốc Trinh, Nguyễn
Hữu Kiên, (2013) Các hệ thống thông tin vô tuyến
số, Học viện Kỹ thuật Quân sự.
3. Hagenauer J, (1988) Rate-Compatible
Punctured Convolutional Codes (RCPC codes)
and Their Applications, IEEE Transaction on
Communication.
4. Р. Морелос-Сарагова, (2006) Искусство
помехоустойчивого кодирования. Методы,
алгоритмы, применение, Техносфера –
Москва.
0 1 2 3 4 5 6 7 8 9 10
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
[E
b
/N
0
]
dB
B
it
E
rr
o
r
R
a
ti
o
Binary Convolutional Code [171,133]
8
Rayleigh Channel
PC - rate 3/4
PC - rate 4/5
PC - rate 2/3
NoPuncture - rate 1/2
0 1 2 3 4 5 6 7 8 9 10
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
[E
b
/N
0
]
dB
B
it
E
rr
o
r
R
a
ti
o
Binary Convolutional Code [171,133]
8
Rayleigh Channel
PC - rate 3/4
PC - rate 4/5
PC - rate 2/3
NoPuncture - rate 1/2
Phạm Xuân Nghĩa và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 116 (02): 67 - 71
71
SUMMARY
PERFORMANCE EVALUATION OF ERROR CORRECTION
IN PUNCTURED CONVOLUTIONAL CODES
Pham Xuan Nghia
*
, Nguyen Khanh Cuong
Le Quy Don Technical University
The contents of this article focus on the performance evaluation of punctured convolutional code
when using puncture technical by the comparison between the bit error rate with the same mother
code using various punctured patterns with the different transmission channels. The comparison
results show that, with the same code rate and mother code, but with the various punctured
patterns for different decoding performance, coding gain of the good puncturing patterns is up
to 0.5 dB
Keywores: punctured convolutional code, punctured patterns, code rate
Ngày nhận bài:; Ngày phản biện:; Ngày duyệt đăng:
Phản biện khoa học: TS. Dương Chính Cương – Trường ĐH Công nghệ Thông tin & Truyền thông - ĐHTN
*
Tel: 0989 505717, Email: nghiapx@mta.edu.vn
Các file đính kèm theo tài liệu này:
- danh_gia_hieu_qua_sua_loi_cua_ma_xoan_dot_lo.pdf