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

Nghiên cứu đánh giá chất lượng và độ phức tạp một số thuật toán giải mã cho mã Polar

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 (743.65 KB, 7 trang )

Kỹ thuật điện tử

NGHIÊN CỨU ĐÁNH GIÁ CHẤT LƯỢNG VÀ ĐỘ PHỨC TẠP
MỘT SỐ THUẬT TOÁN GIẢI MÃ CHO MÃ POLAR
Nguyễn Anh Hào1*, Nguyễn Văn Phê1, Trần Mạnh Hà2
Tóm tắt: Bài báo phân tích giải pháp ứng dụng mã sửa lỗi Polar cho các hệ
thống thông tin truyền dẫn số nói chung và định hướng phát triển ứng dụng cho hệ
thống truyền dẫn số dung lượng cao hiện nay. Trong đó, phân tích và đánh giá chất
lượng hai thuật toán giải mã, thuật toán gốc SC (Successive Calcelation Algorithm)
và thuật toán mới SQ (Sequential Decoding Algorithm) trên kênh AWGN và điều
chế là 4-QAM. Kết quả mô phỏng cho thấy, thuật toán giải mã SQ chất lượng tốt
hơn đáng kể so với thuật toán SC, tuy nhiên phải trả giá bằng độ phức tạp tính toán.
Từ khóa: Polar; SC; SQ; AWGN; QAM; FPGA.

1. GIỚI THIỆU
Năm 2016, Huawei công bố họ đã đạt được tốc độ là 27 Gbps trên các thiết bị
5G nhờ ứng dụng mã Polar. Đây là một mốc quan trọng thể hiện khả năng ứng
dụng mạnh mẽ của mã Polar trong việc giải quyết vấn đề tăng lưu lượng truyền
thông cho các thiết bị thông tin hiện nay và cũng cho thấy cuộc chạy đua quyết liệt
nhằm phát triển ứng dụng mã Polar cho các hệ thống truyền dẫn hiện đại. Rất
nhiều các nghiên cứu gần đây cũng đã chứng minh rằng, mã Polar mang lại hiệu
suất sử dụng phổ gấp 2-3 lần cho các hệ thống truyền dẫn. Về mặt mã hóa, mã
Polar có thể tối ưu hóa lưu lượng kênh tiệm cận giới hạn Shannon. Đồng thời, nó
cho phép giải mã với độ phức tạp tuyến tính, có nghĩa là độ trễ do xử lý ước lượng
được. Phần còn lại của bài báo được bố cục như sau: Mục 2.1 giới thiệu tổng quan
về mã Polar; Mục 2.2 và 2.3 phân tích 2 thuật toán giải mã SC và SQ cho mã
Polar; Mục 2.4 đánh giá độ phức tạp; Mục 3 trình bày kết quả mô phỏng đánh giá
chất lượng sửa lỗi 2 thuật toán trên cuối cùng là phần kết luận và đề xuất.
2. NỘI DUNG
2.1. Tổng quan về mã Polar
u0



+

+

+

c0

u1

=

=

=

c1

u2

+

+

+

c2

u3


=

=

=

c3

u4

+

+

+

c4

u5

=

=

=

c5

u6


+

+

+

c6

u7

=

=

=

c7

Hình 1. Lưới mã hóa, n = 8.
220

N. A. Hào, N. V. Phê, T. M. Hà, “ Nghiên cứu đánh giá chất lượng … cho mã POLAR.”


Nghiên cứu khoa học công nghệ

Mã Polar (n = 2m, k) là mã khối tuyến tính sinh bởi ma trận sinh Am  F m , với
ma trận F là nhân biến đổi phân cực, ký hiệu m có nghĩa là m lần phép nhân ma
1 0 

trận Kronecker với chính nó. Nhân biến đổi phân cực là nhân Arikan F  
.
1 1 
Như vậy, vecto mã cực c0n 1 thu được là kết quả của phép phân ma trận
c0n1  u0n1 Am , với u0n1  u0 , u1 ,..., un1 , ui = 0, i  , với

 {0,1,..., n 1} là bộ

n – k chỉ số của bit đóng băng. Các bit còn lại của vecto bit thông tin u0n 1 được
dùng để truyền dữ liệu. Quá trình mã hóa Polar được trình bày trên hình 1.
2.2. Thuật toán giải mã loại trừ tuần tự cho mã Polar
Để giải mã Polar, trong [1] tác giả đề xuất thuật toán loại trừ tuần tự SC
(Successive Calcelation Algorithm). Thuật toán này thực hiện giải mã từng bit một
cách tuần tự từ bit đầu tiên cho tới bit cuối cùng của mã khối, ngoài ra, quá trình
giải mã mỗi bit sử dụng thông tin về tất cả các bit trước nó. Giả sử rằng, vector bit
u0n 1 được truyền đi. Ở đầu thu, do bị nhiễu nên ta thu được tín hiệu y0n 1 . Việc giải
P  u0n1 | y0n1  :
mã được thực hiện dựa trên đánh giá arg nmax
1 n1
u0 :u0, 0


P  u0i 1 , ui | y0n1  , i 
arg umax
0,1
i
ui  
(1)

0,

i

..

Hình 2 mô tả quá trình tính toán giá trị tỉ lệ hợp lý LR (Likelihood Ratio) cho mỗi
bit thu, một bước quan trọng trong thuật toán giải mã SC. Để giảm độ phức tạp tính
toán, trong [2] đề xuất sử dụng logarit tỉ lệ hợp lý LLR (Log-Likelihood Ratio).
u0

Dec

Q

Q

Q

y0

u1

Dec

P

Q

Q

y1


u2

Dec

Q

P

Q

y2

u3

Dec

P

P

Q

y3

u4

Dec

Q


Q

P

y4

u5

Dec

P

Q

P

y5

u6

Dec

Q

P

P

y6


u7

Dec

P

P

P

y7

Hình 2. Lưới giải mã SC, n = 8.
Như vậy, trong lưới giải mã sử dụng LLR dạng Ll,i, với l – Số cột trong lưới,
l   0,..., m  , i – Số hàng trong lưới, i   0,..., n  1 . Khi đó, L0,i  y0n1 , với y0n 1 –
Vecto LLR đầu vào bộ giải mã, còn trên cơ sở Lm,i đưa ra quyết định về giá trị bit
thứ i là ui .
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020

221


Kỹ thuật điện tử

Chúng ta định nghĩa pha giải mã  là tổng hợp các tính toán cần thiết để thu
được mỗi giá trị mới u ,    0,..., n  1 . Khi đó, giá trị Ll,i được tính toán truy hồi
và được cập nhật lại tại mỗi pha mới trong các khối. Các khối này được thể hiện
trên hình 2 là khối P và Q. Dữ liệu đầu vào và đầu ra của các khối này được thể
hiện trên hình 3.

PS
Ll,i

Ll,i

Ll-1,i-1

P

Ll-1,i

Q

Ll-1,i

Ll-1,i+1

Hình 3. Các giá trị đầu vào và đầu ra của các khối P, Q.
Các khối này tính toán các giá trị theo các công thức sau (trong trường hợp với LLR):





Q  Ll 1,i , Ll 1,i 1   sgn  Ll 1,i  sgn  Ll 1 , i  1 max Ll 1,i , Ll 1,i 1 ;

(2)

P  PS , Ll 1,i , Ll 1,i 1    1 S  Ll 1,i  Ll 1,i 1 ,


(3)

P

với PS là giá trị tổng từng phần, được tính bằng cách cộng theo modulo 2 tất cả các
bit đã được giải mã ở những pha trước.
Quá trình giải mã bằng thuật toán SC có thể được biểu diễn dưới dạng cây như
trong hình 4. Tại mỗi pha của quá trình giải mã, phụ thuộc vào quyết định cứng về
giá trị bit đã được truyền đi mà lựa chọn một trong 2 nhánh. Xác định đường giải
mã là một quá trình xác định các nhánh trên sơ đồ cây với số lượng bằng  .
Pha:
1

0

0
1

0

2 0

1

0

1

0


1

0

1

...

...

...

...

...

...

...

...

1

0

1

Hình 4. Sơ đồ cây với các nhánh của thuật toán SC.
Tiếp theo, ta sử dụng thuật ngữ “đường” tương đương với vector quyết định cứng

của thuật toán giải mã. Trong hình 4, đường in đậm tương đương với vector 010. Rõ
ràng là tại pha có bit đóng bằng thì không có sự phân nhánh trong sơ đồ cây.
2.3. Thuật toán giải mã tuần tự với thứ tự ưu tiên SQ
Trong [3] đề xuất thuật toán giải mã tuần tự sử dụng việc loại trừ một cách tuần
tự với thứ tự ưu tiên SQ. Thông số cơ bản của thuật toán này là kích thước danh
sách L (Khi L = 1 thuật toán này chính là thuật toán SC).
Ý tưởng của thuật toán SQ dựa trên ý tưởng của thuật toán Successive
Cancellation List Decoding – SCL) [4]. Thuật toán lưu L đường, mỗi đường có thể
nối dài tiếp. Đồng thời thuật toán SQ tính xác suất các đường là lời giải của việc
giải mã. Các đường với xác suất nhỏ nhất sẽ không được tiếp tục. Điều này dẫn
đến giảm độ phức tạp của thuật toán trong khi khả năng kháng nhiễu hầu như
không giảm.

222

N. A. Hào, N. V. Phê, T. M. Hà, “ Nghiên cứu đánh giá chất lượng … cho mã POLAR.”


Nghiên cứu khoa học công nghệ

Thuật toán giải mã SQ dùng một hàng ưu tiên PQ (Priority Queue) để lưu các
đường cùng với các nhân (xác suất các đường là lời giải) tương ứng. Một PQ là
một cấu trúc dữ liệu bao gồm các bộ dữ liệu (M, v0 1 ), với M  M (v0 1 , y0n1 ) là
nhân của đường v0 1 , thuật toán xử lý cấu trúc dữ liệu bao gồm các bước sau [3]:
1 - Đặt bộ dữ liệu vào ngăn xếp PQ;
2 - Tách lấy một bộ dữ liệu (M, v0 1 ) với giá trị M lớn nhất;
3 - Xóa một bộ dữ liệu với giá trị M nhỏ nhất khỏi ngăn xếp PQ.
Ngoài ra, chúng ta đưa vào khái niệm bộ đếm số lần xử lý tại các pha t0n 1 , số
lần xử lý tại mỗi pha lớn nhất là D. Khi đó, thuật toán giải mã SQ cho mã phân cực
có thể mô hình hóa như sau:

1. Đặt vào PQ gốc của cây với nhân 0. Cho t0n1  0 ;
2. Rút từ PQ bộ dữ liệu chứa v0 1 với giá trị của nhân lớn nhất. Cho t  t  1 ;
3. Nếu   n, trả về mã v0n1 Am , thuật toán kết thúc;
4. Nếu số bộ dữ liệu đang lưu trong ngăn xếp lớn hơn L, xóa từ ngăn xếp bộ dữ
liệu với giá trị nhân nhỏ nhất;
5. Tính toán các nhân M  v0 , y0n1  của các mã mở rộng có thể v0 sau đó đặt
chúng vào ngăn xếp PQ;
6. Nếu t  D, xóa từ PQ tất cả cá c bộ dữ liệu v0j 1 , j   ;
7. Quay trở lại bước 2.
Mỗi chu kỳ xử lý từ bước 2-7 chúng ta sẽ gọi là một lần lặp của thuật toán. Hàm
nhân có thể có nhiều dạng, một trong số đó là biến thể của metric Fano như sau:
M  u0 , y
 1

n 1
0

 1

    L u
i 0

m ,i

i 1
0



| y0n1 , ui     ,


u

0, sgn  L    1
  L, u   

 L , otherwise

(5)
(6)

với giá    – Hàm bù, giá trị của nó được tính toán trước.
2.4. Phân tích độ phức tạp các thuật toán
Thuật toán SC không đòi hỏi phải tính toán quá nhiều với độ phức tạp tính toán
là O(nlogn). Nhưng thuật toán này có nhược điểm là nó không giải mã theo khả
năng lớn nhất. Đồng thời thuật toán SC có độ trễ tính toán lớn do quá trình tính
toán là tuần tự, và tăng theo chiều dài của mã. Trong khi đó, độ phức tạp của thuật
toán SQ là O(Lnlogn). Đồng thời kết quả mô phỏng cho thấy rằng, khi tỉ lệ tín/tạp
SNR lớn thì độ phức tạp của thuật toán SQ tiệm cận tới O(nlogn). Thuật toán SQ
giải mã theo dấu hiệu khả năng lớn nhất nên khả năng kháng nhiễu tốt hơn hẳn so
với thuật toán SC.

Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020

223


Kỹ thuật điện tử

3. MÔ PHỎNG ĐÁNH GIÁ CHẤT LƯỢNG

CÁC THUẬT TOÁN GIẢI MÃ POLAR
Để đánh giá khả năng sửa lỗi của mã Polar, nội dung tiếp theo của bài báo thực
hiện mô phỏng đánh giá chất lượng mã này trên kênh AWGN với các thuật toán đã
trình bày trên đây, với kỹ thuật điều chế là 4- QAM. Sơ đồ mô phỏng hệ thống
được trình bày trong hình 5.
Mã hóa Polar

Điều chế

Kênh truyền

Giải điều chế

Giải mã Polar

Dữ liệu nhị phân
Dữ liệu nhị phân
Hình 5. Sơ đồ hệ thống đánh giá chất lượng giải mã Polar.
Hình 6 mô tả kết quả mô phỏng mã Polar (64, 51) trên kênh AWGN với kỹ
thuật điều chế 4-QAM. Từ kết quả mô phỏng ta nhận thấy là thuật toán SQ bảo
đảm độ lợi về tỉ lệ Eb/N0 rất lớn so với thuật toán SC. Điều này được giải thích là
do thuật toán SC dựa trên quyết định cứng về bit được truyền đi, trong khi đó thuật
toán SQ dựa theo dấu hiệu khả năng lớn nhất. Đồng thời, chúng ta nhận thấy rằng,
với giá trị của D = 8 không có sự khác biệt về xác suất lỗi với trường hợp L bất kỳ.
Cũng với giá trị của L = 1, với D = 4 thì tỉ lệ Eb/N0 cần tăng thêm là 0,2dB so với
D = 8 với giá trị xác suất lỗi là BER = 10-4.

Hình 6. Xác suất lỗi mã Polar (64, 51).

Hình 7. Xác suất lỗi một số mã P(64, 51), P(128, 84), P (256, 128).

224

N. A. Hào, N. V. Phê, T. M. Hà, “ Nghiên cứu đánh giá chất lượng … cho mã POLAR.”


Nghiên cứu khoa học công nghệ

Hình 7 biểu thị so sánh xác suất lỗi của các mã phân cực (64, 51); (128, 84);
(256, 128) với L = 32 và D = Ln. Với các ứng dụng trên thực tế, độ phức tạp của
thuật toán chỉ phụ thuộc vào chiều dài mã khối n và số lần xử lý tại mỗi pha L. Kích
thức ngăn xếp D thực tế chỉ là kích thước của bộ nhớ. Từ kết quả mô phỏng ta nhận
thấy với L = 32 thì xu hướng giảm về tỉ lệ tín hiệu/nhiễu tiếp tục được duy trì.
4. KẾT LUẬN VÀ ĐỀ XUẤT
Một nghiên cứu trước đây đã sử dụng mã Polar để mã hóa khung dữ liệu MELP
đã mang lại độ lợi mã hóa đến 0,8 dB ở vùng Eb/N0 cao (khoảng 7dB) so với mã
Hamming (7,4), với độ phức tạp chấp nhận được [5]. Kết quả lần này càng khẳng
định lợi ích tăng hiệu suất phổ một cách rõ ràng của mã Polar.
Thuật toán SC cân bằng giữa độ phức tạp và hiệu suất sửa lỗi, có thể phát triển
ứng dụng cho các hệ thống truyền dẫn lưu lượng nhỏ và vừa. Đặc biệt là ứng dụng
cho hệ thống truyền dẫn số có yêu cầu kháng nhiễu thấp. Thuật toán SQ có độ
phức tạp tính toán cao, có nhớ nhưng hiệu suất và khả năng kháng nhiễu vượt trội
hơn hẳn. Vì vậy, hoàn toàn có thể phát triển ứng dụng cho các hệ thống đường trục
chính như viba số, VISAT, hoặc các hệ thống thông tin di động 4G, 5G.
Về độ phức tạp của thuật toán là O(Lnlogn) so với O(nlogn) của SC, nếu có thể
giải quyết bằng xây dựng kiến trúc xử lý song song L kênh dựa trên giải pháp
FPGA thì độ phức tạp tính toán về lý thuyết chỉ ngang bằng với giải thuật SC.
Thuật toán SCL (Successive Calcelation List Algorithm) nêu ra ở [4] và là cơ sở
cho thuật toán SQ đã được thực hiện trên cơ sở giải pháp FPGA ở [6]. Tại đây, độ
trễ xử lý ước lượng được là:
Bảng 1. Độ trễ (Latency) cho N=1024, P=14 và L=4.

LPU
LL Precision

8

16

List Size
2
4
8
16
32
2
4
8
16
32

LUTs
144
360
976
2976
12096
312
760
2032
6112
24512


Latency (ns)
3.52
3.98
4.16
4.30
4.76
3.66
4.11
4.30
4.46
4.91

Như vậy, với việc thiết kế phần mềm và xây dựng phần cứng hệ thống trên cơ
sở công nghệ FPGA, phối hợp DSP (Digital signal processor) để kiến trúc xử lý
song song và tối ưu bộ mã hóa và giải mã bằng công nghệ trí tuệ nhân tạo (AI
Tech), độ trễ của SQ có thể còn thấp hơn nhiều lần so với kết quả trên. Đồng thời,
hướng phát triển này sẽ cải thiện tối đa hiệu suất mã và đưa lưu lượng tiệm cận đến
lưu lượng kênh truyền dẫn theo lý thuyết Shannon.
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san Viện Điện tử, 9 - 2020

225


Kỹ thuật điện tử

TÀI LIỆU THAM KHẢO
[1]. E. Arikan, “Channel polarization: A method for constructing capacity
achieving codes for symmetric binary-input memoryless channels,” IEEE
Transactions on Information Theory, vol. 55, no. 7, pp. 3051–3073, July 2009.

[2]. C. Leroux, A. J. Raymond, G. Sarkis, and W. J. Gross, “A semi-parallel
successive-cancellation decoder for polar codes,” IEEE Trans. Signal
Process., vol. 61, no. 2, pp. 289–299, Jan. 2013.
[3]. V. Miloslavkaya, P. Trifonov, “Sequential Decoding of Polar Codes,” IEEE
Communications Letters, vol. 18, no. 2, july 2014.
[4]. Tal and A. Vardy, “List decoding of polar codes,” IEEE Transactions On
Information Theory, vol. 61, no. 5, pp. 2213–2226, May 2015.
[5]. Nguyễn Anh Hào và Phạm Xuân Nghĩa, “Ứng dụng mã cực (Polar) trong mã
hóa tiếng nói tốc độ thấp theo chuẩn MELP”, REV- ECIT 2018.
[6]. Altug Sural, “An FPGA implementation of successive cancellation list
decoding for polar codes”, January 2016.
ABSTRACT
THE EVALUATION OF PERFORMANCE AND COMPUTATIONAL
COMPLEXITY OF DECODING ALGORITHMS FOR POLAR CODE
In this paper, the application of the Polar code for digital communication
systems in general is analysed and its potential application for the highcapacity modern digital communication systems in particular is suggested.
In this paper, two algorithms: the original Successive Cancelation Algorithm
and the developed Sequential Decoding Algorithm are analysed and
evaluated on AWGN channel and 4-QAM signal. The simulation results show
that the AQ decoding algorithm performs better than the SC algorithm, but
the performance comes with high computational complexity.
Keywords: Polar; SC; SQ; AWGN; QAM; FPGA.

Nhận bài ngày 18 tháng 3 năm 2020
Hoàn thiện ngày 20 tháng 8 năm 2020
Chấp nhận đăng ngày 28 tháng 8 năm 2020
Địa chỉ: 1Trung tâm Kỹ thuật thông tin công nghệ cao;
2
Viện Điện tử, số 17 Hoàng Sâm, Nghĩa Đô, Cầu Giấy, Hà Nội.
*Email:


226

N. A. Hào, N. V. Phê, T. M. Hà, “ Nghiên cứu đánh giá chất lượng … cho mã POLAR.”



×