1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Kỹ thuật điện tử: Thiết kế bộ giải mã LDPC sử dụng giải thuật LWBF trên FPGA

62 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

SU 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 3

DAI 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

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 4

Lờ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 5

LOI 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 6

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 7

TOM 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

Trang 8

Abstract

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 9

Abstract 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 10

Lờ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 11

Muc luc

Loi cam dn

Tóm tắt luận văn Mục lục

Danh sách hình vẽ Danh sách bảng

1 Giới thiệu

1.2 Lich st nghién cittuvé ECC 2

1.3 Tình hình nghiên cứu mã LDPC

1.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 14 Nhiệm vụ luận vẫn .Ặ.Ặ Ặ Q Q Q HQ HQ Sa 2 Lý thuyết

2.1 Một số thuật ngữ về mã hóa kênh truyền 2.11 Mã phát hiện và sửa lỗi (ECC)

212 Mã khối tuyến tính ẶQẶẶ ẶẶ o

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 12

MUC 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 13

Danh 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 14

DANH 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 15

Danh 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 16

hó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

Source ””——*+

Output Sie nal

Hình 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

Inout

Transducer and A to D converter

Output

and D tủ A converter

Transducer |

Source Encoder

Decoder

Channel Encoder

| Modulator and Dto A

Trang 17

CHUONG 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 18

CHUONG 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 19

CHUONG 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 20

CHUONG 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)

Synthesis Công suất (mW) | Độ trễ

Decoder

FFs | LUTs Fmax Static | Dynamic | (ms)

SPA 4-bit LLRs | 1600 | 12591 | 59.91 MHz | 150 17 1.64 SPA 2-bit LLRs | 800 | 9856 | 83.20 MHz - Sí 2.30

Nhận xét

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 21

CHUONG 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

clk rst

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 22

CHUONG 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 23

CHUONG 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é

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 24

CHUONG 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 25

Chuong 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 26

CHƯƠ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ẻ

0000000 00000000 | 00000001 0100100 01001000 | 01001001 0101010 01010101 | 01010100

2.2 Lý thuyết cơ sở về giải thuật LDPC

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 27

CHƯƠ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 28

CHƯƠ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 29

CHUONG 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 30

CHƯƠ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?

ux A? «(BT)-1+¢% BT «(BT)1=0

(2.4)

Như vậy, với một ma trận kiểm tra parity H = [A, B] dudc định sẵn, luôn tồn tại một ma

trận đều chế Œ = [7¿, F], trong đó F' = Af x (B?)-1,

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 31

CHƯƠ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

Ngày đăng: 30/07/2024, 16:35

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN