Hiện nay, các đề tài nghiên cứu về mã LDPC đều xoay quanh giải thuật Sum- Product và Bit-Flipping đặc trưng cho 2 hướng phát triển là tăng độ hiệu quả sửa lỗi hoặc giảm độ phức tạp khi t
Trang 1SU DUNG GIAI THUAT LWBF TREN FPGA
Chuyén nganh : KY THUAT DIEN TU
Mã số: 8520203
LUẬN VĂN THẠC SĨ
TP HO CHI MINH, thang 01 nam 2024
Trang 2
CONG TRINH DUGC HOAN THANH TAI TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG - HCM
Cán bộ hướng dẫn khoa học: TS Trần Hoàng Linh
Cán bộ chấm nhận xét 1: TS Bùi Trọng Tú
Cán bộ chấm nhận xét 2: T8 Nguyễn Minh Sơn
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG TP Hồ Chí Minh ngày 12 tháng 01 năm 2024
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
Ủy viên: PGS TS Trương Quang Vinh
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Trang 3DAI HOC QUOC GIA TP.HCM CONG HOA XA HOI CHU NGHIA VIET NAM
TRUONG DAI HOC BACH KHOA Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: NGUYÊN ĐỨC ANH TRUNG MSHV: 2170700
Ngày, tháng, năm sinh: 02/01/1999 Nơi sinh: Lâm Đồng
I TEN DE TAI: THIET KE BO GIAI MA LDPC SU DỤNG GIẢI THUẬT
LWBE TREN FPGA
(DESIGN FPGA-BASED LDPC DECODER USING LWBF ALGORITHM)
Il NHIEM VU VA NOI DUNG:
- _ Thiết kế IP phần cứng xử lý giải mã LDPC với giải thuật LWBEF trên thiết
bi Cyclone/Stratix
- _ Cải tiên vê mặt chức năng và hiệu năng so với những giải thuật khác
HI NGÀY GIAO NHIEM VỤ : 04/09/2023
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/12/2023
Vv CAN BQ HUONG DAN: TS TRAN HOANG LINH
Tp HCM, ngay thang nam 20
CAN BO HUONG DAN CHU NHIEM BO MON DAO TAO
(Ho tén va chit ky) (Ho tén va chit ky)
TRUONG KHOA DIEN - ĐIỆN TỬ
(Họ tên và chữ ký)
Trang 4Lời cảm ơn
Chương trình đào tạo Thạc sĩ - Tiếp tục một chặng hành trình mới để chinh phục
mục tiêu lớn hơn trong sự nghiệp học tập và làm việc, thời gian không quá dài cũng không quá ngắn Trên con đường đầy gian nan chốn giảng đường, đã có những lúc bản thân gục ngã và muốn bỏ cuộc, nhưng những sự động viên và trợ giúp nhiệt tình từ những người thân cho đến thầy cô, bạn bè đã tiếp thêm động lực để bản thân vững bước tiến về phía trước Và đây cũng là lúc mà những lời cảm ơn chân thành được bày tỏ
Lời đầu tiên, con xin cảm ơn gia đình đã luôn bên con từ những ngày tập bước chập chững cho đến khi vững bước chân bước vào giảng đường đại học Cho dù là những ngày đoàn viên ấm áp, hay những ngày làm việc xa nhà, gia đình luôn là hậu phương vững
chắc cho con luôn tiến về phía trước để hoàn thành ước mơ trở thành một người kỹ sư Cảm ơn thầy Trần Hoàng Linh luôn tận tâm giúp đỡ em thông qua các khóa học
và hướng dẫn đề tài luận văn hiện tại Hơn nữa, những lời khuyên, những định hướng kịp thời, chính xác của thầy luôn giúp em có cái nhìn tổng quát hơn về ngành nghề Những kinh nghiệm quý báu từ thầy sẽ là tiền đề để em phát triển vững hơn trong tương lai
Cảm ơn toàn bộ cán bộ giảng viên khoa Điện - Điện tử nói riêng và ĐH Bách Khoa,
TP Hồ Chí Minh nói chung đã tận tình giúp đỡ không chỉ thông qua các bài giảng, môn
học hữu ích mà còn những bài học đạo đức nghề nghiệp, kỹ năng sống
Cảm ơn các anh, chị, bạn, em của Phòng thí nghiệm bộ môn Điện tử (203B3) đã
luôn đồng hành, giúp đỡ và chỉ dẫn cho mình trong thời gian nghiên cứu và học tập tại đây Cảm ơn các bạn đồng khóa cao học K21, những người bạn luôn chia sẻ những buồn
vui, khó khăn trong suốt khoảng thời gian học tập Không chỉ giúp đỡ nhau trong những
bài tiểu luận, những buổi học thực hành mà những lời chia sẻ thực tiễn về công việc của
anh/chị/bạn/em đem lại cái nhìn tổng quát về ngành nghề hiện đang công tác và những
lĩnh vực liên quan
Cảm ơn quý công ty và đồng nghiệp tại công ty TNHH Ampere Computing Việt Nam và công ty TNHH Synopsys Việt Nam đã mang đến cho tôi một môi trường làm việc chuyên nghiệp và hết sức thoải mái Tại đây, những trải nghiệm thực tế quý giá, những kinh nghiệm của các anh/chị đồng nghiệp đi trước giúp tôi củng cố và thực nghiệm lại
Trang 5LOI CAM ON GVHD: TS Trần Hoàng Linh
những kiến thức quan trọng có được trong suốt quá trình học
Lời cuối cùng, gửi lời cảm ơn và sự biết ơn sâu sắc đến người Mẹ quá cố của con
Dù không thể theo chân con đi hết chặng đường đời, nhưng con tin rằng Mẹ sẽ luôn hài
lòng và tự hào khi hướng về con Những ký ức đẹp cùng Mẹ sẽ là nguồn năng lượng tích
cực theo chân con đến hết đường đời này
Mẹ hãy luôn tự hào về con
TP Hồ Chí Minh, ngày 02 tháng 01 năm 2024
Nguyễn Đức Anh Trung
il
Trang 6tra và sửa lỗi thông tin truyền trong quá trình truyền phát thông tin thông qua kênh dẫn
có nhiễu Mã hóa và giải mã kênh truyền được xem là một khối chức năng của hệ thống
số viễn thông ở cả hệ thống phát và cả hệ thống thu và sẽ dùng chung một loại mã
Mã LDPC (Low-Density Parity-Check code —- Mã kiểm tra chan lẻ mật độ thấp),
hay còn gọi là mã Gallager, được đề xuất bởi Gallager vào năm 1962 Mã LDPC là một
Mã khối tuyến tính được xác định thông qua một ma trận kiểm tra chắn lẻ mật độ thấp Điều đó có nghĩa là ma trận kiểm tra LDPC này có số lượng bit 1s của mỗi cột (column
weight - +„) rất nhỏ hơn so với số lượng bit 1s của mỗi hang (row weight - w,)
Hiện nay, các đề tài nghiên cứu về mã LDPC đều xoay quanh giải thuật Sum-
Product và Bit-Flipping đặc trưng cho 2 hướng phát triển là tăng độ hiệu quả sửa lỗi hoặc giảm độ phức tạp khi thiết kế Đề tài luận văn này tiến hành thiết kế và kiểm thử
bộ giải mã LDPC bằng giai thuat Layered Weight Bit Flipping (LWBF) - mét bién thé
của giải thuật Bit-Flipping Qua đó, khảo sát tính cải thiện về chức năng lẫn hiệu năng của, giải thuật LWBEF' so với các giải thuật kể trên
Kết quả thiết kế của đề tài là một IP LDPC Decoder với yêu cầu:
«Ổ Thực hiện giải mã LDPC bằng LWBEF
¢ “Tinh giảm tài nguyên phần cứng sit dung (Low Complexity)
¢ Tốc độ xử lý cải thiện hơn (hơn 250 MHz trên DE2-115)
¢ Công suất tiêu thụ thấp (Low Power)
Trang 7TOM TAT LUAN VAN GVHD: TS Tran Hoang Linh
kiểm thử thiết kế Cụ thể, luận văn gồm 5 chương sau:
CHƯƠNG 1 GIỚI THIỆU
CHUONG 2 LY THUYET
CHUONG 3 THIET KE IP PHAN CUNG
CHUONG 4 KET QUA THUC HIEN
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHAT TRIEN
1V
Trang 8Abstract
In computer science and communications electronics, the transmission of data always takes place in less-than-ideal conditions because communication channels are noisy chan-
nel models Therefore, the code stage channel coding or forward error correction (FEC) is
used to check Look for, and correct errors in information transmission in transmitting in- formation through the channel where there is interference Encrypting and decrypting the transmission channel is considered a functional block of the system telecommunications numbers in both the transmitting and receiver systems and will share the same code LDPC code (Low-Density Parity-Check code), aka Gallager code, was proposed by Gallager in 1962 The LDPC code is a linear block code determined through a low-density
parity test matrix That means this LDPC test matrix has 1’s bit count of each column weight (wc) is much smaller than the number of 1’s bits of each row
Currently, research topics on LDPC codes revolve around the Sum- algorithm Prod- uct and Bit-Flipping feature 2 development directions: increasing the effectiveness of error correction or reducing design complexity This thesis topic is designed and tested LDPC decoder using the Layered Weight Bit Flipping (LWBF) algorithm - a variant of the Bit-Flipping algorithm Thereby, examining the improvement in functionality and perfor- mance of the LWBF algorithm compared to the above algorithms
The design result of the project is an LDPC IP Decoder with the requirements:
e Perform LDPC decoding using LWBF
e Reduce hardware resources used (Low Complexity)
e Improved processing speed (more than 250 MHz on the DE2-115)
e Low Power consumption
e Reduce the number of test loops
This graduate thesis examines the basic theories of code LDPC and proceeds to
design a hardware IP that handles LDPC decoding using a more improved algorithm The content of the thesis report narrates the step-by-step implementation plan and design testing Specifically, the thesis consists of the following 5 chapters:
Trang 9Abstract GVHD: TS Tran Hoang Linh
CHAPTER 1 INTRODUCE
CHAPTER 2 THEORY
CHAPTER 3 HARDWARE IP DESIGN
CHAPTER 4 IMPLEMENTATION RESULTS
CHAPTER 5 CONCLUSION AND DIRECTION OF DEVELOPMENT
Trang 10Lời cam đoan
Hoc vién cam đoan rồng, ngoại trừ các kết quả tham khảo từ các công trình khác đã trích dẫn uà nêu rõ trong luận uăn nàu, các công uiệc nghiên cứu 0à trình bàu trong luận Uốn la do chính học uiên thực hiện
Học viên
vii
Trang 111.3.1 LDPC Decoder cho mạng cảm biến không dây
1.3.2 Low-Complexity LDPC sử dụng giải thuật Bit-Flipping
2.3.1 Một số ký hiệu và quy ước - ẶẶẶ Ốc
23.2 Bài toán mỞởđầu Q Q Q Q Q Q Q eee 2.3.3 Bộ mã hóa thông tin (LDPC Encoder)
viii
Trang 12MUC LUC GVHD: TS Tran Hoang Linh
2.3.4 Bộ gidi ma théng tin (LDPC Decoder)
2.3.5 Vidu vé Ma héa LDPC va Gidimi LDPC
2.4 Giai thuat Layer Weight Bit-Flipping (LWBF)
2.4.1 Tổng quan về giải thuật giải mã LDPC Sum-Product
2.4.2 Tổng quan về giải thuật giải mã LDPC Bit-Flipping
2.43 Giải mã LDPC bằng giải thuật LWBE
3 Thiết kê IP phần cứng 3.1 Đặc tả IP phần cứng LWBEF-Decoder
3.1.1 Tổng quan ee ee ee 3.1.2 Lưu đồ giải thuật của khối LWBF-Decoder
3.1.3 Mô hình máy trạng thái cua b6 LDPC Decoder
3.2 Thiét ké IP cho khé6i LWBF Decoder
3.2.1 Su dung may trang thai Moore
3.2.2 Tối ưu hóa khối Logic Trạng thai ké tiép (Next state Logic) 3.2.3 Tín hiệu ngõ vào/ngõ racủalP
4 Kết quả thực hiện 41 Thiết bị và phần mềm sửdụng
42 Nội dungkim tra .0 0 00000008 ee 4.2.1 Kiểm tra chức năng của IP thiết kế
4.2.2 Kiểm tra hiệu năng của IP thiết kế
4.2.3 So sánh thiết kế của đề tài với những nghiên cứu tương tự 4.3 Kết quả kim tra hoạt động
43.1 Tổng hợp mạch (Syntheis
4.3.2 Mô phỏng gidi ma LDPC bang ModelSim
4.3.3 Do téc dé tdi da (FMAX) cia b6 LWBF Decoder
4.3.4 Khao sat céng suat tiéu thu cha b6 LWBF Decoder
4.3.5 So sánh hiệu năng của bộ LWBEF-Decoder
5 _ Kết luận và hướng phát triển 51 Kếtluận Ặ.Ặ ee 5.2 Hướng phát triển .Ặ Q TQ Q Q Q Q Q 5.2.1 Ứng dụng khéi LWBF Decoder vao bộ nhớ flash
5.2.2 Xây dựng thêm khối tạo H-matrix cho bộ Decoder
5.2.3 Xây dựng prototype cho khối thu - phát LWBF LDPC
Tài liệu tham khảo
ix
26
26
26
26
28
29
29
30
31
32
32
33
34
34
30
30
30
37
38
40
40
42
42
43
43
43
44 46
Trang 13Danh sách hình vẽ
1.1 Sơ đồ khối hoàn chỉnh khối phát - thu của một hệ thống viễn thông
1.22 Minh họa truyền tín hiệu qua kênh dẫn có nhiễu
1.3 So sánh hiệu năng của các bộ LDPC do nhóm nghiên cứu thực hiện
1.4 Kiến trúc phần cứng của bộ QC-LPDC Decoder
15 Mạch RTL của bộ giải mã BE-LDPC
2.1 Giản đồ Tanner biểu diễn matrậnH
2.2 Giản đồ Tanner của ma trận LDPC (10,24) -
2.3 Tín hiệu lan truyền trong giải thuật Sum-product
2.4 Tín hiệu lan truyền trong giải thuật Bit-Flpping
2.5 Mô hình subgraph trong lan truyền của WBF
2.6 The average and standard deviation of critical parameters
3.1 Luu dé gidi thuat xtly LWBF 2 ee 3.2 M6 hinh may trang thai cua b6 LDPC Encoder
3.3 Sơ đồ mạch máy trạng thái Moore 0 000000008 3.4 Mạch tổ hợp bộ trạng thái kế tiếp
3.5 Mạch tổ hợp kiểm tra pariy - Q LH Q Q v 3.6 GPIO co ban cua IP LWBF-Decoder .2.04 4.1 Phần mềm sử dụng dé thiét ké vakiémtraIP .0020
4.2 Kit FPGA Altera DE2-115 0.2.02 .0 000.4 4.3 Kết quả quá trình synthesis mạch
4.4 TP phần cứng LWBE-LDPC Decoder
4.5 Nạp IP phần cứng lên ki DE2ll5
4.6 Mạch tổ hợp bộ LIWBF-LDPC Decoder
4.7 Cài đặt biên dịch và chạy mô phỏng bằng ModelSim
4.8 Waveform các tín hiêu mô phỏng .ẶẶ Ặ Ặ Ặ QẶQỤ 4.9 Phân tích thời gian tĩnh (STA) trên IP Decoder dat chuan
4.10 Tần số hoạt động cực đại của IP trên Cyclonell
4.11 Tốc độ tối đa đạt hơn 550 MHz trên StratixlV
Trang 14DANH SACH HINH VE GVHD: TS Tran Hoang Linh
4.12 Đo đạc công suất tiêu thụ sử dụng PowerPlay 40
5.1 Sơ đồ khối giải mã của Bộ nhớ flash NAND 43 5.2_ Mô hình cải tiến IP khi thêm bộ tạo matrậnH 44
xI
Trang 15Danh sach bang
1.1
1.2
2.1
2.2
3.1
4.1
4.2
4.3
Khảo sát kết quả thiết kế trên bộ Decoder (625°C) 5
Thông số thiết kế BF-LDPC được nhóm nghiên cứu công bố 8
Ví dụ kiểm tra chấn lẻ .Ặ Q Q Q Q Q Q Q Q Q Q Q Q 11 Bảng tóm tắt những ký hiệu toán học sử dụng trong giải thuật LDPC 14
Chú thích trạng thái của bộ LDPC Decoder 29
Bảng nội dung kiểm tra thiết kế 34
So sánh PMAX các thiết bị hiện nay của Altera 39
So sánh kết quả với những bộ Decoder khác giải thuật 41
xii
Trang 16hóa kênh truyền (channel coding hay forward error corection - PEC) được dùng để kiểm
tra và sửa lỗi thông tin truyền trong quá trình truyền phát thông tin thông qua kênh dẫn
có nhiễu Khối mã hóa ở phía phát và giải mã hóa ở phía thu là một công đoạn vô cùng
quan trọng để đảm bảo thông tin được kiểm tra và sửa lỗi nếu có trong quá trình thu phát tín hiệu
Output
and D tủ A converter
Transducer |
Source Encoder
| Modulator and Dto A
Trang 17CHUONG 1 GIOI THIEU GVHD: TS Tran Hoang Linh
Ý tưởng chính các khối mã hóa kênh là thực hiện đưa thêm một đoạn mã sửa sai
(ECC - Error Correction Code) vào thông tin truyền ở máy phát (transmitter) sau đó
điều chế sóng và truyền đi đến máy thu (receiver) Máy thu sau khi nhận được đoạn mã
sẽ tiến hành giải mã và những bit sai nếu có dựa vào giải thuật của BCC đã được cài vào
1.2 Lịch sử nghiên cứu về ECC
Kể từ khi Hamming công bố khái niệm đầu tiên về mã sửa lỗi, những nghiên cứu BCC tăng lên đáng kể lúc bấy giờ Đáng chú ý là vào năm 1955, D Muller đã xuất bản
trong tờ báo khoa học về ứng dụng của Đại số Nhị Phân (Boolean Algebra) trong các mạch điện tử và mã sửa lỗi Trong khi đó, một nghiên cứu độc lập với Muller được thực
hiện bởi I.Reed cho ra một mã sửa lỗi tương tự nhưng có hiệu năng gấp hai lần Loại mã
sửa lỗi này còn được gọi là Reed-Muller [2|
Năm 1948, Shannon đã chứng minh Định lý mã hóa trên kênh nhiễu (noisy-channel coding theorem) [14] Định lý đề xuất rằng cho dù một kênh truyền thông có bị ô nhiễm bởi nhiễu âm bao nhiêu đi chăng nữa, chúng ta cũng vẫn có thể truyền thông tin dữ liệu
số không lỗi (error-free) tới một tỷ lệ tối đa nhất định qua một kênh truyền
Nam 1963, Robert Gallager đã đưa ra giải thuật "Low-Density Parity Check Codes'"
trong đề án tiến sĩ Trong đề án này, Gallager đã giới thiệu về giải thuật LDPC, phân
tích chúng và đưa ra một số giải thuật giải mã Tuy nhiên, vì hạn chế của máy điện toán
lúc bấy giờ, Gallager chưa thể kiểm tra được dung lượng của giải thuật LDPC so với Giới hạn của Định lý Shannon
Nam 1982, trên cơ sở giải thuật LDPC của Gallager, Micheal Tanner đã nghiên cứu
và cho ra một cách biển diễn trực quan hơn của giải thuật LDPC bằng giản đồ lưỡng cực
(bipartie graph), gọi là giản đồ Tanner [11]
Năm 1993 được xem là một sự cách mạng bởi sự ra đời của Turbo code, một loại
mã tích chập Turbo cùng với LDPC là hai loại mã tốt nhất lúc bấy giờ cho các hệ thống Tuy nhiên do tính phức tạp của kiến trúc mã khối, LDPC khó thiết kế hơn và Turbo được sư dụng rộng rãi hơn
Năm 1995, với ý tường làm mới và cải thiện giải thuật LDPC của Gallager, nhóm nghiên cứu của David Mackay đã chứng minh được rằng LDPC code có khả năng tiệm cận đến Giới hạn Shannon trong kênh truyền có nhiễu (AWGN)
Trang 18CHUONG 1 GIOI THIEU GVHD: TS Tran Hoang Linh
Mã LDPC đã và đang được ưa chuộng sử dụng trong các hệ thống truyền tin trong
bối cảnh môi trường truyền tin có rất nhiều nguồn nhiéu (noise) - can nhiéu (interference)
- fading Tùy vào ứng dụng của hệ thống mà các giải thuật được áp dụng cho khối FEC dựa trên các tiêu chí (metrics): tốc độ xử lý, tài nguyên phần cứng tiêu hao, công suất
tiêu thụ, độ chính xác, Đây cũng chính là lý do mà một đề tài nghiên cứu về hệ thống
sử dụng mã LDPC phải cân nhắc lựa chọn:
- Nền tảng: lập trình nhúng, FPGA, ASIG,
- Giải thuật: Sum-Product, Min-Sum, Bit-Flipping,
FPGAs (Field Programmable Gate Arrays) là một nền tảng lập trình linh hoạt và
áp dụng rộng rãi cho rất nhiều giải thuật số sử dụng ngôn ngữ phần cứng HDL Tính ưu việt của FPGAs là khả năng lập trình theo từng khối (module) với khả năng xử lý ở tần
số cao hơn so với những vi xử lý thông thường Chính vì thế, hướng ứng dụng của cài
đặt giải thuật LDPC trên nền tảng FPGA càng trở nên phổ biến hơn, đặc biệt trong hệ
thống mạng viễn thông 5G [5][8)
M D Pham, Syed Mahfuzul Aziz University of South Australia 2014.[10]
Tông quan về nghiên cứu
Đây là một đề tài nghiên cứu ứng dụng mã LDPC cho một Mạng cảm biến không
dây (WSN) được thực hiện vào năm 2014 Trên nén tang kit FPGA Xilinx XC3S1200E,
nhóm nghiên cứu đã thiết kế bộ LDPC Decoder bằng giải thuật Sum-product Kết quả
thiết kế là một bộ LDPC decoder 2-bit và 4-bit LLR (Log Likelihook Ratio) sau đó đem
so sánh hiệu năng với bộ 4-bit LLR được thiết kế bang Matlab Simulink
3
Trang 19CHUONG 1 GIOI THIEU GVHD: TS Tran Hoang Linh
Kiến trúc bộ giải mã của hệ thống và Kết quả
Giải thuật được sử dụng cho bộ LDPC decoder của đề tài là giải thuật Sum-Product
LDPC (SP-LDPC) Giai thuật SP-LDPC thuộc kiểu giải thuật Quyết định mềm (Soft-
decision) sử dụng LLR ở phía Variable node để ra quyết định giải mã Bắt đầu quá trình
giải mã, khối Variable node sẽ được tính dựa trên tổng của LLRs và những check node
liên quan:
V, = LLR, + `;
jt trong đó, ø = 1,2, là số lugng Variable node còn ¿, 7 = 1,2, là cdc Variable node
cùng nhóm parity với cùng một Check node
Tại khối Check node của SP-LDPC, thông tin ngõ ra từ các variable node sẽ được
truyền đến các check node để thực hiện các vòng lặp kiểm tra chẵn lẻ thông qua phép
Tan Hyperbolic cho đến khi thỏa mãn
Œy ==2xtươnh "1 TI tanh et
Trang 20CHUONG 1 GIOI THIEU GVHD: TS Tran Hoang Linh
Kết quả của đề tài nghiên cứu là các bộ decoder lần lượt là 4-bit SP-LDPC và 2-bit
SP-LDPC trên nền tảng FPGA Về mặt hiệu năng xử lý (peformance), để làm cơ sở đánh
giá hiệu năng của thiết kế, nhóm nghiên cứu đã xây dựng một mô hình LDPC thông qua
mô phỏng Simulink để so sánh (Hình 1.3)
Về mặt công suất tiêu thụ (power), nhóm nghiên cứu chỉ tiến hành đo đạc và công
bố công suất động (Dynamie power) của 2 bộ decoder đã thiết kế Nhìn chung, công suất
tiêu thụ của các bộ decoder là cao do s6 lugng flip-flops (FFs) sit dung 1600 phan tử,
kéo theo công suất tiêu thụ động là rất cao Bên cạnh đó, công suất tiêu thụ tĩnh (static
power) cũng được công bé xp xi 150mW cho bộ 4-bit LLRs
Bang 1.1: Khảo sát kết quả thiết kế trên b6 Decoder (@25°C)
Thông qua đề tài nghiên cứu có thể thấy giải thuật LDPC Sum-Product có hiệu
năng rất cao cho quá trình giải mã Tuy nhiên, độ phức tạp của giải thuật khi thi công trên nền tảng FPGA nói riêng và các nền tảng nhúng nói chung là rất cao khi phải xử lý
đồng thời những vòng lặp ước lượng log-likelihood (LLRs) cùng với đó là một khối ALU
với phép tính hàm Tan Hyperbolic Hệ quả của kiến trúc phức tạp này là sự tiêu hao tài
nguyên phần cứng (hardware resources) và độ trễ (latency) của quá trình giải mã và sửa
sai thông tin là rất lớn
Điển hình là bộ SPA-Decoder 4-bit LLRs, khi mà nhóm nghiên cứu phải thừa nhận
nó tiêu hao khá nhiều tài nguyên cho giải thuật (FFs chiếm 10%, LƯT§s chiếm 70%) mà tốc độ xử lý tối đa chỉ đạt được 59.91MHz Bên cạnh đó, hệ quả của việc sử dụng quá
nhiều tài nguyên phần cứng khiến Công suất tiêu thụ tĩnh là khé cao - 150mW
Sowmya K B., Rahul Raj D N., Sandesh Krishna Shetty RV College of Engineering Tông quan về nghiên cứu
Nhóm nghiên cứu đã tiễn hành thiết kế một bộ QC-LDPC Encoder với mục tiêu
tỉnh giảm độ phức tạp của một giải thuật giải mã LDPC thông thường trên kit FPGA Xilinx Artix-7 200 FPGA Dé thuc hiện giải thuật LDPC, nhóm nghiên cứu đã chọn phương pháp bit flipping cho khối Decoder Khối Decoder nay sẽ được điều khiển bang
5
Trang 21CHUONG 1 GIOI THIEU GVHD: TS Tran Hoang Linh
một đơn vị trung tâm là FPGACtl, bên cạnh đó là khối UART thực hiện thu phát tín hiệu
Kiến trúc bộ giải mã của hệ thống và Kết quả
Như đã đề cập, nhóm nghiên cứu đã xây dựng một hệ thống hoàn chỉnh sử dụng
ma LDPC lam FEC cho qua trình truyền phát thông tin Trong đó, đáng chú ý là khối BEF-LDPC decoder được thiết kế được chạy ổn định ở tần số 50MHz, và có kiểm thử xác
định điều kiện hoạt động cụ thể để decoder có thể chạy được ở tần số 100MHz Thông
số được công bố bởi nhóm nghiên cứu về tài nguyên phần cứng sử dụng chỉ khoảng 100 phần tử (0.58% tài nguyên này) tuần tự cho một IP xử lý với ngõ vào codeword 16-bit
Hình 1.4: Kiến trúc phần cứng của bộ QC-LPDC Decoder
So với giải thuật Sum-Product của nhóm nghiên cứu trước, Bit-Flipping (BE) là một giải thuật thuộc kiểu Quyết định cứng (Hard-decision) tức là chỉ nhận thông tin
đã qua điều chế ở dạng nhị phân Thông tin lan truyền giữa Khối Check node và Khối Variable node sẽ là những giá tri nhị phần
6 phia Check node, các phép kiểm tra parity sẽ được diễn ra từ những thông tin nhận được từ Variable node:
trong đó, Ï,k = 1,2, là các Check node có liên kết parity với các Variable node chung
6
Trang 22CHUONG 1 GIOI THIEU GVHD: TS Tran Hoang Linh
ở phía Variable node, các VN sẽ nhận thông tin phản hồi từ CƠN về bit gợi ý cần
sửa và sẽ tiến hành đảo bit, cập nhật lại Khối Check node để kiểm tra parity lại:
0_ Nếu Œ,=0 đa số V„ạ=4 1Ð Nếu C;j—1đasố
Vn Con lai
Có thể thấy kiến trúc được thiết kế cho bộ Decoder 14 mét mach tuần tu vdi dataflow
phụ thuộc rất nhiều vào tần số clock của phần cứng Điều này chưa thể khiến giải thuật
được cài đặt đạt hiệu năng tốt nhất
Nhận xét
Rõ ràng nhận thấy, BF-LDPC là một phương án giúp tối ưu đáng kể tài nguyên phần cứng sử dụng cho một bộ decoder, giảm đáng kể hàm lượng toán theo cơ sở lý thuyết của mã LDPC Bên cạnh đó, đây còn là giải thuật lý tưởng để đẩy cao tốc độ truyền
nhận tin của một hệ thống viễn thông
Hình 1.5: Mạch RL của bộ giải mã BE-LDPC
Thực tế, bộ decoder của đề tài nghiên cứu tỉnh giảm đáng kể tài nguyên sử dụng
khi chỉ chiếm khoảng 0.58% tổng công logic trên FPGA và tổng công suất tiêu thụ khá
thấp (47 mW) Tuy nhiên, các thông số trên chỉ đúng khi mạch đạt điều kiện hoạt động
ổn định ở tần số 50 MHz, việc cải thiện tần số tối đa (có thể đạt 100 MHz) chưa hoàn
tất và điều này cũng làm hạn chế đáng kể hiệu năng của Decoder khi mà số vòng lặp cần
thiết để giải mã cho mỗi codeword xấp xỉ 30 chu kỳ.
Trang 23CHUONG 1 GIOI THIEU GVHD: TS Tran Hoang Linh
Bang 1.2: Théng sé thiét ké BF-LDPC dudc nhém nghién citu céng bé
FFs | LUTs | F7-MUX BF-Encoder 1/2 - 6 - 70.40 mW
1.4 Nhiệm vụ luận văn
Dựa vào phần tìm hiểu về một số đề tài nghiên cứu về mã LDPC có thể thấy việc
lựa chọn giải thuật LDPC phù hợp luôn dựa trên ứng dụng của hệ thống Thông qua đó,
có thể thấy 2 giải thuật phổ biến nhất là Sum-Product và Bit-Flipping là điển hình của
những nghiên cứu của mã LDPC cho sự đánh đổi giữa Độ chính xác và Tốc độ xử lý giải thuật
Xét trên 3 tiêu chí Chính xác - Tốc độ - Độ phức tạp (Accuracy - Peformanee -
Complexity), một số đề tài nghiên cứu cũng đã được sử dụng tham khảo thêm để trung
hòa các tiêu chí trên Trong đó, giải thuật Layer Weight Bit-Flipping - (LWPBE), một giải thuật tùy biến của Bit-Flipping nhưng với độ chính xác cao hơn so với Bit-Flipping
truyền thống Bên cạnh đó, độ phức tạp được tỉnh giảm đáng kể của IWBEF khiến giải
thuật này giải quyết đáng kế vấn đề mắc phải khi thi công bằng ngôn ngữ phần cứng HDL trên nền tảng FPGA
Như vậy, mục tiêu đề tài luận văn là Thiết kế IP phân cứng zử lú giải thuật LWBF
giải mã LDPC IP phần cứng này sẽ nhận một đoạn codeword từ môi trường có nhiễu và
tiến hành giải mã, khôi phục đoạn thông tin được gửi ban đầu với mục tiêu:
« Cải thiện hiệu suất sửa lỗi (so với BF-LDPC)
« Có tốc độ xử lý cao hơn (so với SP-LDPC)
© Độ phức tạp/Tài nguyên phần cứng tỉnh giảm đáng kể (so với SP-LDPC)
*Thông số uòng lặp thực hiện giải thuật không được công bố trong nghiên cứu tham khảo
mù được tính toán dựa trên, độ trễ (latenc) của bộ SPA-LDPC
Để có thể hiện thực hóa được mục tiêu thiết kế, quy trình thiết kế được định ra với những nội dung chỉ tiết theo trình tự thời gian như sau:
Nội dung 1: Tìm hiểu lý thuyết về mã hóa và giải mã LDPC, tìm hiểu về một số giải
thuật có trong các nghiên cứu tham khảo và chọn giải thuật phù hợp được sử dụng cho IP phan
cứng Nội dung này đóng vai trò quan trọng nhất vì phản ánh tính khả thi của thiết kế trong
đề tài Bên cạnh đó, đây là một sự chuẩn bị cần thiết để ước tính thời lượng, khối lượng công việc của những nội dung sau
Trang 24CHUONG 1 GIOI THIEU GVHD: TS Tran Hoang Linh
Nội dụng 2: Tìm hiểu về phần mềm, tài nguyên phần cứng sẵn có trên các thiết bị EFPGA để chọn phương án thiết kế phù hợp Tiếp đó là dựa vào phần tổng hợp lý thuyết, tiến
hành khởi tạo thiết kế IP phần cứng đạt yêu cầu có khả năng tổng hợp mạch (synthesizable) và
thành công nạp vào kit FPGA chạy thực
Nội dung 3: Sau khi thiết kế thành công TP phần cứng thì cần chọn những phương pháp
đo đạc, kiểm thử có tính chính xác đủ cao để đo đạc những thông số dựa trên mục tiêu đề ra
Chuẩn đầu ra của quy trình kiểm thử là xác nhận IP phần cứng có kết quả đạt về cả chức năng
lẫn hiệu năng trong quá trình hoạt động ổn định ở điều kiện thường
Nội dung 4: Tổng hợp kết quả, so sánh và đối chiếu với những bộ decoder tham khảo để
đưa ra kết luận, hướng phát triển hoặc ứng dụng của IP phần cứng.
Trang 25Chuong 2
Ly thuyét
2.1 Một số thuật ngữ về mã hóa kênh truyền
2.1.1 Mã phát hiện và sửa lỗi (ECC)
Thuật ngữ về Mã phát hiện và sửa lỗi (Error detection and correction codes - BCC) trong
ngành Viễn thông được dùng như một kỹ thuật giúp việc truyền nhận thông tin dưới điều kiện
kênh dẫn có nhiễu được chính xác Hay nói cách khác, BCC giúp phát hiện lỗi sai và khôi phục tín hiệu đúng ở phía máy thu ĐCC được phân làm hai loại Mã tích chập (Convolutional codes)
và Mã khối (Block codes) Giải thuật của mã LDPC thuộc Mã khối tuyến tính và hoạt động dự trên một ma trận kiểm tra parity |4]
Phát hiện lỗi và sửa lỗi là công việc chủ yếu của quá trình giải mã Giả sử một đầu kênh truyền gửi đi một từ mã e € Œ, và bên kia nhận được một xâu x Nguyên lý phát hiện lỗi và sửa lỗi được hiểu như sau:
Nguyên lú phát hiện lỗi: Kiếm tra xem xâu nhận được có phải là một từ mã trong C hay không, nếu không phải từ mã thì xâu nhận được là sai, có lỗi
Nguyin lú sửa lỗi: Khi phát hiện xâu x nhận được là sai, tìm một từ mã cy có khoảng cách Hamming gần nhất với x (theo quy tắc giải mã người láng giềng gần nhất) để thay cho xâu
x bị lỗi, tức là đã sửa được lỗi, và coi c„ là từ mã c đã được gửi đi (c„ là giải mã của xâu x) 2.1.2 Mã khối tuyến tính
Trong mã khối tuyến tính (Linear Block Codes), các bit parity và các bit thông điệp là một tổ hợp tuyến tính và tạo thành từ mã (code word) Bit parity trong việc truyền các từ mã
trong điều kiện kênh truyền có nhiễu giúp ở phía máy thu có thể nhận, phát hiện, sửa sai và
khôi phục tín hiệu gốc nhờ giải thuật ECC cùng loại ở phía phát Một từ mã tuyến tính có thể
được định dạng (n,k), trong đó, n là chiều dài khối của đoạn mã được mã hóa và k là chiều dài
khối của thông điệp
10
Trang 26CHƯƠNG 2 LÝ THUYẾT GVHD: TS Trần Hoàng Linh
2.1.3 Tỉ lệ mã khối (Code Rate)
Tỉ lệ mã khối (Code Rate - R) được định nghĩa là tỉ lệ giữa chiều dài thông điệp và chiều dài khối (R=k/n) Tỉ lệ khối lớn đồng nghĩa với hàm lượng thông tin gửi đi trong mỗi khối cao nhưng không thể là 1 do bị giới hạn bởi định luật Shannon Ngược lại, tỉ lệ khối giảm đồng nghĩa với băng thông tăng (chiều dài khối lớn) và hiệu quả truyền tin không cao
2.1.4 Kiém tra parity
Khái niệm parity hay kiém tra chan lé la phương pháp kiểm tra độ toàn vẹn dữ liệu được lưu trữ trong bộ nhớ bằng cách thêm 1 bit vào mỗi khối thông tin Bit parity thêm vào được sử
dụng để phát hiện lỗi xảy ra trong khối thông tin
Có hai loại parity là parity chan (even parity) và parity lẻ (odd parity) được phân loại dựa trên tổng số bit 1's có trong khối thông tin Cụ thé, parity chan sé thém 1 bit parity 0’s khi tổng số bit 1's của khối thông tin là chẵn và sẽ thêm 1 bit parity 1's khi tổng số bit 1s của thông tin là lẻ Sau đó ở phía nhận, mạch sẽ kiểm tra từng từ mã (khối thông tin và bit parity)
nhận được xem có tổng số bit là chấn hay không, nếu không mạch đã truyền sai 1 bit nào đó
Bảng 2.1: Ví dụ kiểm tra chẵn lẻ
Khối thông tin Kiểm tra parity
(7-bit) Parity chấn | Parity lẻ
Mã LDPC (Low-Density Parity-Check code — Mã kiểm tra chan 1é mật độ thấp), hay còn
gọi là ma Gallager, được đề xuất bởi Œallager vào năm 1962 Mã LDPC là một Mã khối tuyến
tính được xác định thông qua một ma trận kiểm tra chấn lẻ mật độ thấp Điều đó có nghĩa là
ma trận kiểm tra LDPC này có số lượng bit 1s của mỗi cột (column weight - œ„) rất nhỏ hơn so với số lượng bit 1's của mỗi hang (row weight - w,) Bên cạnh đó, theo định nghĩa của Gallager,
ma trận kiểm tra chấn lẻ của mã LDPC còn có đặc điểm là mỗi hàng chứa đúng i phần tử 1 và mỗi cột chứa đúng j phần tử 1 [7|
Về định nghĩa mật độ bit chẵn lẻ (low-density parity-check), có rất nhiều điều kiện được đưa ra để quy định tính chất này Một trong số đó có thể kể đến là điều kién can we < logon
11
Trang 27CHƯƠNG 2 LÝ THUYẾT GVHD: TS Trần Hoàng Linh
(với n là chiều dài khối)
1 111000000
1000111000 H=|0 100100110 (2.1)
0010010101
0001001011
Ma trận H trên là một ma trận kiểm tra chẵn lẻ 5x10
Trong đó, chiều dài khối = 10 Số bit 1's trên cùng một cột bằng nhau và bằng 2, w, = 2
Số bit 1's trên cùng một hàng bằng nhau và bằng 4, w, = 4 Hay nói cách khác, có thể gọi ma
trận kiểm tra trên là mã LDPC (10,2,4) với Code rate = 1 — (5/10) = 1/2
2.2.2 Mã LDPC đều và Mã LDPC không đều
Mã LDPC được chia làm hai loại là mã LDPC đều (regular LDPC) và mã LDPC không đều (irregular LDPC) dựa vào trọng số của cột và hàng của ma trận kiểm tra chăn lẻ LDPC
Mã LDPC được coi là mã LDPC đều khi mà trọng số cột và trọng số hàng của ma trận kiểm tra chăn lẻ bằng nhau (w, = ư„) [6] Ngược lại, khi trọng số hàng và cột của ma trận kiểm tra, chấn lẻ LDPC khác nhau thì đó là mã LDPC không đều Với ví dụ ma trận 2.1 trên với tu = 2
và t„ = 4 nên đây là ma trận kiểm tra của mã LDPC không đều
Khi so sánh dựa trên hai loại mã đều và không đều, mã LDPC không đều cho hiệu năng
sửa lỗi cao hơn mã đều Người ta đã chứng minh được các mã LDPC không đều có độ dài khối
lớn có thể tiệm cận được giới hạn Shannon Tuy nhiên, mã LDPC đều dễ dàng hơn khi thiết kế
Trang 28CHƯƠNG 2 LÝ THUYẾT GVHD: TS Trần Hoàng Linh
Hình 2.1: Giản đồ Tanner biểu diễn ma trận H
Giản đồ Tanner biểu diễn mã LDPC được chia ra làm hai phần gồm variable nodes và
check nodes Tương ứng với ma trận kiểm tra LDPC, variable nodes là các vector cột của ma tran va check nodes là các vector hàng của ma trận Giản đồ Tanncr được vẽ dựa trên quy luật: check node f; = 1,2, N — K dude noi vGi variable node x; = 1,2, ,N néu phan tt
h = (ƒ;,z¡) = 1 (các đường nối này gọi 14 edges) [15]
Trang 29CHUONG 2 LY THUYET GVHD: TS Tran Hoang Linh
2.3 Giai thuat LDPC
2.3.1 Một số ký hiệu và quy ước
Bảng 2.2: Bảng tóm tắt những ký hiệu toán học sử dụng trong giải thuật LDPC
=|3l|s =n—m| S6 bit cha thông tin
2.3.2 Bài toán mở đầu
Một chuỗi tín hiệu œ có kích thước k-bit cần được điều chế để phát đi qua một kênh truyền
có nhiễu và yêu cầu phải khôi phục được tín hiệu gốc ban đầu ở phía máy thu Tín hiệu khi được truyền qua một kênh truyền có nhiễu thì việc từ mã (codeword) bị sai khác bit ở máy phát
và máy thu là chuyện rất dễ xảy ra
Chính vì thế yêu câu đặt ra là cần phải mã hóa tín hiệu % bằng một bộ BCC-encoder
ở máy phát thu được tín hiệu z có kích thước n-bit, sau đó điều chế (modulation) tín hiệu để phát đi Ở phía máy thu, tín hiệu sau khi được giải điều chế (demodulation) là tin hiéu Lerror thì phải được kiểm tra và sửa lỗi nếu có bằng một bộ ECC-decoder
2.3.3 Bộ mã hóa thông tin (LDPC Encoder)
Giải thuật mã hóa LDPC (LDPC encode algorithm) đơn giản là việc tạo ra codeword để
phát đi thông qua việc khối thông tin w với ma trận đều ché G (generator matrix) Sự phức tạp
của giải thuật này nằm ở việc hiện khối lượng tính toán lớn (phép nhân ma trận với kích thước
lớn) để tạo ra codeword Ma trận G được đề cập có thể được tạo ra hoàn toàn dựa trên ma trận
kiểm tra H và giúp giải thuật mã hóa đơn giản hơn, phù hợp với nhiều kênh truyền Mặc khác,
có thể mô tả giải thuật mã hóa LDPC là tạo codeword nhân đoạn mã thông tin với ma trận mã hóa G
Trang 30CHƯƠNG 2 LÝ THUYẾT GVHD: TS Trần Hoàng Linh
Tạo codeword
Giả sử, phát đi một đoạn mã thông tỉn u = [uz ug uạ| có chiều dài khối k-bit thì
phai ding m6t ma tran ma héa G (generator matrix) và thu được chuỗi tín hiệu mới là # =
[#1 2 Ln|:
Với c = [u, F] và P là ma trận k-hàng, m-cột
Tim generator matrix G
Với ma tran kiểm tra parity H đã được chọn va cài đặt cho giải thuật, do giải thuật được dùng là kiểm tra parity chan nên có hệ quả H xzŸ = 0, thực hiện biến đổi hệ quả này:
Hxa? =|A, B] «a?
2.3.4 Bộ giải mã thông tỉn (LDPC Decoder)
Giải thuật giải mã LDPC
Sau khi nhận được codeword từ máy phát truyền qua kênh có nhiễu, ở phía máy thu sẽ
có bộ giải mã để kiểm tra và sửa lỗi codeword đó nhằm khôi phục lại đoạn thông tin chứa trong
đó Giải thuật giải mã LDPC sẽ thực hiện hai bước chính là kiểm tra lỗi và sửa lỗi nếu phát hiện có lỗi
15
Trang 31CHƯƠNG 2 LÝ THUYẾT GVHD: TS Trần Hoàng Linh
Kiểm tra lỗi sẽ được thực hiện hoàn toàn bằng ma trận kiém tra parity H Codeword x
n-bit sẽ được kiểm tra parity lần lượt với n cột tương ứng trong ma trận H sao cho thỏa điều kiện ở (2.3)
Có thể thấy, để phát hiện lỗi các bit trong codeword đòi hỏi một khối lượng tính toán lớn thông qua phép tích chập (2.5)
Như đã giới thiệu về ma trận kiểm tra H cia gidi thuét LDPC - H(n,we, wr), cd We va
+„ rất nhỏ so với n (đặc tính mật độ thấp của giải thuật) Do đó tổng số phép kiểm tra parity
ở (2.6) là rất ít, chỉ với +„ lần với mỗi phép tính và đây là tính ưu việt của giải thuật LDPC bởi khối tính toán sẽ giảm đáng kể bởi mật độ thấp của bit 1s có trong H
Trong quá trình kiểm tra lỗi thông qua (2.6) nếu phát hiện có lỗi thì bit đó sẽ được sửa sai cho đến khi kết thúc quá trình thì phía máy thu sẽ thu được một tín hiệu z „seoge¿, trong đó
k bit đầu của 2 gecodeq Chinh 14 đoạn mã thông tin được gửi đi [9]
Ứng dụng giản đỗ Tanner trong giải mã LDPC
Xét ma trận kiểm tra H của giải thuật LDPC có kích thước m hàng, n cột tương ứng với
m-check node và n-variable của giản đồ Tanner Nếu phần tử h¿; = 1 thì sẽ có một liên kết giữa
CN; va V; (goi la edge)
16