CÁC TỪ VIẾT TẮT Từ viết tắt Tên đầy đủ Dịch nghĩa Tiếng Việt ARQ Automatic Repeat Request Yêu cầu lặp lại tự động AWGN Additive White Gaussian Noise Nhiễu Gaussian trắng cộng BF Bit Fl
TỔNG QUAN
TỔNG QUAN
Truyền thông kỹ thuật số và lưu trữ ngày càng trở nên quan trọng trong cuộc sống hàng ngày, nhưng nhiều người chưa nhận thức được rằng hệ thống truyền tin và lưu trữ dữ liệu có thể gặp lỗi theo thời gian Những lỗi này xuất phát từ nhiều nguyên nhân như nhiễu ngẫu nhiên, nhiễu tạp, mờ kênh và các vấn đề trong việc truyền dữ liệu không dây, bao gồm ảnh hưởng của vật cản và phản xạ từ các vật thể Để đảm bảo tính đúng đắn trong truyền tin và lưu trữ dữ liệu, chúng ta thường sử dụng hai phương pháp: hệ thống ARQ (Automatic Repeat Request) và mã tự sửa lỗi chuyển tiếp FEC (Forward Error Correction) Trong đó, FEC được ưa chuộng hơn vì không chỉ phát hiện lỗi mà còn có khả năng sửa chữa chúng, trong khi ARQ chỉ phát hiện lỗi và yêu cầu gửi lại dữ liệu cho đến khi nhận được thông tin chính xác.
Trong lĩnh vực viễn thông không dây và truyền thông điện tử, mã LDPC (Low-Density Parity-Check) đóng vai trò quan trọng trong việc kiểm tra và sửa lỗi, giúp nâng cao hiệu suất truyền thông đáng kể Với thiết kế mã LDPC tối ưu, hiệu suất của hệ thống truyền thông có thể được cải thiện một cách đáng kể, mang lại trải nghiệm truyền thông tốt hơn.
Mã LDPC có độ phức tạp thấp và thường có ma trận kiểm tra chứa nhiều bit ‘0’ Trong các ứng dụng thiết kế phần cứng, các bit ‘0’ không cần xử lý vì phép XOR giữa ‘0’ và bất kỳ giá trị nào vẫn giữ nguyên giá trị đó Điều này giúp giảm đáng kể độ phức tạp khi triển khai mã LDPC trong phần cứng hệ thống.
Mã LDPC thường được áp dụng ở độ dài vô hạn, trong khi mã LDPC có độ dài hữu hạn gặp phải vấn đề hiệu suất thấp do sự thưa thớt của các bit kiểm tra, dẫn đến khả năng giải mã kém Để cải thiện hiệu suất cho các khối ngắn của mã LDPC, phương pháp tối ưu Genetic được sử dụng Phương pháp này áp dụng thuật toán di truyền nhằm tìm kiếm không gian thiết kế mã LDPC và xác định các tham số tối ưu, từ đó nâng cao hiệu suất truyền thông.
Nhằm cung cấp kiến thức và thông tin về mã LDPC, nhóm thực hiện đã chọn đề tài này để giúp người học các chuyên ngành viễn thông hiểu rõ hơn về mã LDPC.
Thiết kế mã LDPC dựa trên thuật toán di truyền là một thách thức hấp dẫn trong lĩnh vực tối ưu hóa Việc tích hợp bộ giải mã LDPC vào quy trình tối ưu hóa không chỉ nâng cao hiệu quả của các phương pháp di truyền mà còn cải thiện hiệu suất của mã LDPC cho các hệ thống truyền thông không dây và điện tử.
MỤC TIÊU NGHIÊN CỨU
Mục tiêu của nghiên cứu này là áp dụng phương pháp tối ưu hóa di truyền vào quá trình giải mã nhằm thiết kế mã LDPC tối ưu.
- Nghiên cứu lý thuyết mã LDPC
- Nghiên cứu lý thuyết thuật toán di truyền
- Tích hợp bộ giải mã LDPC vào quá trình tối ưu hóa di truyền
- Tìm ra các thiết kế mã LDPC tối ưu với hiệu suất truyền thông cao trong các hệ thống truyền thông không dây và điện tử.
PHẠM VI NGHIÊN CỨU
Nghiên cứu này tập trung vào việc tối ưu hóa thiết kế mã LDPC thông qua thuật toán tối ưu hóa di truyền Mục tiêu là cải thiện các thông số quan trọng của mã LDPC, bao gồm tỷ lệ kiến trúc, độ dài từ, số lượng bit kiểm tra và bit dữ liệu, cũng như cấu trúc ma trận.
Một phần quan trọng của nghiên cứu là tích hợp bộ giải mã LDPC vào quá trình tối ưu hóa di truyền Tuy nhiên, việc sử dụng bộ giải mã LDPC đơn giản có thể dẫn đến chất lượng giải mã kém hơn so với bộ giải mã chính xác Vì vậy, mục tiêu của đề tài là cải tiến bộ giải mã LDPC đơn giản nhằm đảm bảo tính chính xác và hiệu suất tương đương với bộ giải mã chính xác.
Mục tiêu chính của đề tài này là cải thiện hiệu suất truyền thông của mã LDPC Đề tài sẽ tập trung vào việc đánh giá hiệu suất của các mã LDPC tối ưu trong hệ thống truyền thông không dây và điện tử Các chỉ số hiệu suất như tỷ lệ lỗi khối (BLER) và tỷ lệ lỗi khung (FER) sẽ được đo lường trong môi trường truyền thông thực tế.
BỐ CỤC ĐỒ ÁN
Chương 1: Tổng quan: Trình bày tổng quan về mã LDPC và nguyên nhân của việc nghiên cứu tối ưu hóa mã LDPC
Chương 2: Cở sở lý thuyết: Trình bày các kiến thức về kỹ thuật sửa lỗi FEC, trình bày về mã LDPC và lý thuyết thuật toán di truyền
Chương 3: Thiết kế và xây dựng hệ thống: Từ yêu cầu đặt ra ở đề tài, trình bày về yêu cầu của hệ thống từ đó có sơ đồ hệ thống Đi sâu giới thiệu từng khối
Chương 4: Kết quả thực hiện: Trình bày và phân tích kết quả sau khi thực hiện thiết kế, xây dựng hệ thống và mô phỏng
Chương 5: Kết luận và hướng phát triển: Dựa vào kết quả đánh giá thu được từ
Chương 4, rút ra kết luận cũng như hạn chế và sau đó định hướng phát triển của đề tài.
CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ KỸ THUẬT SỬA LỖI FEC
FEC (Forward Error Correction) là một kỹ thuật sửa lỗi trong truyền thông dữ liệu, cho phép phát hiện và tự sửa một số lỗi trong dữ liệu truyền tại đầu thu mà không cần gửi lại dữ liệu.
Trong kỹ thuật mã hóa FEC, bên gửi mã hóa một khối dữ liệu k bits và gửi đi n bits sau khi áp dụng FEC Mã FEC được tính toán từ dữ liệu gốc và được thêm vào trước khi truyền tin.
Người nhận sử dụng mã FEC để kiểm tra và sửa lỗi dữ liệu nhận được từ quá trình giải mã Nếu phát hiện lỗi, mã FEC cho phép người nhận sửa chữa mà không cần yêu cầu gửi lại dữ liệu Khi dữ liệu không có lỗi, người nhận sẽ loại bỏ các bit thừa trước khi chuyển tiếp đến các lớp trên.
Hình 2.1: Quá trình truyền nhận dữ liệu sử dụng FEC [2]
FEC (Forward Error Correction) hiện nay có hai loại chính là mã khối (Block codes) và mã chập (Convolutional codes)
Mã khối (Block codes) là phương pháp mã hóa hoạt động trên các khối bit, trong đó một nhóm bit thông tin được mã hóa kèm theo một phần bổ sung để tạo thành khối dữ liệu lớn hơn Sau khi truyền đi, bên nhận sẽ kiểm tra và xác định tính chính xác của chuỗi dữ liệu nhận được dựa trên khối dữ liệu này.
Mã chập, hay còn gọi là mã liên tục, là một phương pháp mã hóa hoạt động liên tục trên các luồng bit Dữ liệu được chia thành các luồng thông tin có độ dài linh hoạt, kèm theo các ký tự kiểm tra chẵn lẻ, nhằm đảm bảo tính chính xác trong quá trình mã hóa.
Hiện nay, có 4 loại mã sửa lỗi được sử dụng phổ biến và được tạo ra dựa trên 2 loại mã FEC
- Mã khối: gồm có 3 loại mã sửa lỗi là Hamming codes, LDPC codes, Reed- Solomon codes
- Mã chập: là Binary Convolution codes.
TỔNG QUAN VỀ MÃ LPDC
Trong những năm gần đây, công nghệ lưu trữ và mã hóa đã có những bước tiến vượt bậc để giải quyết các bài toán phức tạp và yêu cầu tính toán lớn Sự phát triển này đã dẫn đến những cải tiến đáng kể trong các bộ mã hóa, đặc biệt là trong lĩnh vực chống lỗi và sửa lỗi Trong số các loại mã hóa khối, mã LDPC đang thu hút sự chú ý đặc biệt nhờ vào sự trở lại ấn tượng sau một thời gian dài bị lãng quên.
Qua nhiều nghiên cứu thực nghiệm, mã LDPC đã được chứng minh là vượt trội hơn mã Turbo, một trong những mã hàng đầu hiện nay, với kích thước nhỏ gọn và hiệu suất sửa lỗi cao Đặc biệt, mã LDPC ít phức tạp hơn các mã tiên tiến khác khi độ dài mã tăng lên Những kết luận này khẳng định tiềm năng ứng dụng thực tế và phát triển của mã LDPC, nơi hiệu suất mã hóa và khả năng sửa lỗi đóng vai trò quan trọng.
Mã LDPC, hay còn gọi là mã Gallager, được đề xuất bởi Gallager vào năm 1962 Mặc dù các kết quả mô phỏng ban đầu không thể chứng minh hiệu quả kiểm soát lỗi cao của mã này, nhưng những ưu điểm của mã LDPC đã được công nhận sau đó.
Hình 2.2: Ma trận kiểm tra chẵn lẻ của một mã LDPC (20,3,4)
Mã LDPC là một mã khối tuyến tính (n,k) được đặc trưng bởi ma trận kiểm tra chẵn lẻ chủ yếu chứa bit '0' và rất ít bit '1', điều này làm cho mã LDPC trở thành một giải pháp hiệu quả trong việc sửa lỗi cho các khối dữ liệu có độ dài lớn.
2.2.1 Đặc điểm của mã LPDC
Mã LDPC được biểu diễn theo dạng (n,j,k) hoặc (n,c,r) trong đó:
- j hoặc c là số bit ‘1’ trong mỗi cột của mã
- k hoặc r là số bit ‘1’ trong mỗi hàng của mã
Ma trận kiểm tra chẵn lẻ (H) trong mã LDPC là một ma trận có kích thước m x n, trong đó các hàng biểu thị các phương trình kiểm tra và các cột đại diện cho các bit trong từ mã Đặc điểm nổi bật của ma trận H là mật độ số bit ‘1’ rất thấp, cùng với vị trí các bit được sắp xếp một cách hiệu quả.
‘1’ có thể được chọn ngẫu nhiên tuân theo các ràng buộc j, k Từ mã c, khi thảo mãn điều kiện sau:
Ví dụ: Cho mã LDPC (7,3,4) Ta thấy mã LDPC này có độ dài là n = 7, j = 3, k
= 4, điều này có nghĩa là mã này có 4 ký tự mã xuất hiện ở 3 phương trình khác nhau như bên dưới
Từ ma trận H trên, ta rút ra được các phương trình kiểm tra cho mỗi từ mã Được biểu diễn như sau:
𝑐 1 + 𝑐 2 + 𝑐 4 + 𝑐 7 = 0 Dựa trên cách xây dựng ma trận kiểm tra chẵn lẻ (H), mã LDPC có thể được chia thành hai loại: mã LDPC đều và mã LDPC không đều
Mã LDPC đều (Regular LDPC codes) có ma trận H với cấu trúc đơn giản và đồng nhất, trong đó số lượng bit '1' ở mỗi hàng và cột là như nhau Mỗi bit trong từ mã tham gia vào một số lượng phương trình kiểm tra chẵn lẻ tương đương Việc xác định mã LDPC thường được thực hiện bằng cách sử dụng các khối ma trận đơn giản, chẳng hạn như ma trận chuẩn hóa hoặc ma trận vòng.
Mã LDPC không đều (Irregular LDPC codes) có cấu trúc ma trận H phức tạp và không đồng nhất Số lượng bit '1' trong mỗi hàng và cột có sự khác biệt, đồng thời số lượng bit trong mỗi từ mã cũng biến đổi theo số lượng phương trình kiểm tra chẵn lẻ Để tạo ra loại mã này, các phương pháp phổ biến bao gồm xáo trộn, ghép nối và sử dụng ma trận H được thiết kế riêng.
Mã LDPC thông thường có dạng (𝑛, 𝑘) hoặc 𝐶(𝑛, 𝑗, 𝑘), trong đó n là độ dài của mã Tốc độ mã của mã LDPC được tính toán theo công thức:
Mã LDPC đều dễ tạo hơn so với mã LDPC không đều, đặc biệt khi chiều dài mã lớn hơn Mặc dù mã LDPC không đều mang lại hiệu suất tốt hơn, nhưng chúng có tầng lỗi cao hơn và độ phức tạp mã hóa lớn hơn.
Ví dụ: Mã LDPC đều có ma trận H kích thước 3x7:
Trong ví dụ này, ma trận H có cấu trúc đồng nhất với mỗi hàng và cột đều chứa số lượng bit ‘1’ như nhau Mỗi bit trong từ mã đóng góp vào ba phương trình kiểm tra tính chẵn lẻ.
Ví dụ trên thuận tiện cho quá trình mã hóa dữ liệu cũng như giải mã vì có tính đơn giản
Ví dụ: Mã LDPC không đều có ma trận H kích thước 3x7:
Ma trận H trong ví dụ này có cấu trúc không đều, với số lượng bit ‘1’ khác nhau ở mỗi hàng và cột Số lượng phương trình kiểm tra phụ thuộc vào số bit trong từ mã, điều này làm tăng độ phức tạp trong quá trình mã hóa và giải mã Tuy nhiên, sự không đồng nhất này mang lại tính linh hoạt cho cấu trúc.
- Hiệu suất gần tiệm cận giới hạn Shannon
- Dễ triển khai và tính toán đơn giản
- Khả năng xử lý lỗi tốt
- Linh hoạt và khả năng điều chỉnh
- Yêu cầu tài nguyên tính toán cao
- Độ phức tạp trong thiết kế
- Yêu cầu kênh truyền thông rộng
2.2.2 Ứng dụng của mã LPDC
Mã LDPC nổi bật với khả năng giải mã hiệu quả, gần đạt giới hạn Shannon, tối đa hóa tốc độ truyền thông trong kênh tạp âm với mức BLER chỉ 10^-6 Điều này làm cho mã LDPC trở thành lựa chọn lý tưởng cho các ứng dụng yêu cầu hiệu suất và độ tin cậy cao Mã này được sử dụng rộng rãi trong các hệ thống không dây, mạng cáp quang, mạng di động, viễn thông vệ tinh và hệ thống lưu trữ dữ liệu.
Bảng 2.1(bảng 2 trang 4 [5]) tổng hợp các ứng dụng mã LPDC Tiêu chuẩn
IEEE 802.16e WiMAX và IEEE 802.11n WiFi đều áp dụng mã LDPC trong truyền thông không dây, với WiMAX là tiêu chuẩn mạng không dây khu vực đô thị (WMAN) và WiFi là tiêu chuẩn mạng không dây cục bộ (WLAN) Việc sử dụng mã LDPC như một sơ đồ mã hóa kênh tùy chọn với nhiều tốc độ và độ dài mã khác nhau giúp nâng cao hiệu suất truyền thông và độ tin cậy trong môi trường không dây.
Mã LDPC được áp dụng trong phát sóng video kỹ thuật số theo tiêu chuẩn vệ tinh DVB-S2, yêu cầu mã có độ dài lớn như 64800 bit và 16200 bit, hỗ trợ 11 tốc độ mã khác nhau Việc sử dụng mã LDPC trong DVB-S2 đảm bảo chất lượng truyền tải video cao và đạt thông lượng giải mã lên đến 90 Mb/s.
Bảng 2.1: Ứng dụng của mã LDPC [5] Ứng dụng Chuẩn truyền Độ dài mã Tỉ lệ mã hóa Thông lượng
ĐỒ THỊ TANNER
Đồ thị Tanner, được đặt theo tên nhà toán học William Thomas Tanner, là một biểu đồ đồ thị dùng để mô tả cấu trúc mã LDPC, được ông đề xuất vào những năm 1980 Đây là một đồ thị hai phía, với các đỉnh biểu diễn các bit thông tin và bit kiểm tra Các đỉnh ở một phía của đồ thị đại diện cho các bit thông tin, trong khi các đỉnh ở phía còn lại đại diện cho các bit kiểm tra, và các cạnh của đồ thị thể hiện các liên kết giữa các đỉnh này.
Mối quan hệ giữa các bit kiểm tra và bit thông tin được thể hiện qua các cạnh trên đồ thị Tanner, với mỗi cạnh nối một bit thông tin đến một bit kiểm tra, chỉ ra sự tham gia của bit thông tin trong tính toán kiểm tra tương ứng Các cạnh này được biểu diễn bằng các giá trị nhị phân trong ma trận kiểm tra LDPC Đồ thị Tanner là một đồ thị hai phía, trong đó các nút được chia thành hai lớp, với các cạnh chỉ kết nối các nút không thuộc cùng một lớp Hình 2.3 minh họa ba thành phần chính của đồ thị Tanner.
- Nút biến (variable node – nút v): Nó là các bit của từ mã hoặc tương đương với các cột của ma trận Có n nút v
Nút kiểm tra (check node - nút c) là các nút tương ứng với phương trình kiểm tra hoặc hàng của ma trận, còn được gọi là các nút ràng buộc Số lượng nút c là m = (n - k).
- Cạnh (edges): Nối nút biến với nút kiểm tra nếu giá trị từ mã là ‘1’
Hình 2.3: Đồ thị Tanner Đối với mã LDPC (𝑛, 𝑗, 𝑘), đồ thị Tanner chứa:
Bậc của mỗi nút biến là j và bậc của mỗi nút kiểm tra là k
Ví dụ: Cho ma trận kiểm tra chẵn lẻ H của mã LDPC như bên dưới, ta có thể vẽ được đồ thị Tanner như Hình 2.4
Từ ma trận chẵn lẻ H của mã LDPC ta có được các phương trình kiểm tra chẵn lẻ như sau:
Hình 2.4: Đồ thị Tanner cho ma trận H(3,7)
Trong đồ thị Tanner của một ma trận kiểm tra chẵn lẻ, nếu có các phần tử của hai hàng và hai cột gần nhau cùng chứa bit '1', điều này cho thấy sự tồn tại của một chu kỳ.
4 Ví dụ về chu kỳ 4 trong đồ thị Tanner như Hình 2.5 bên dưới
Hình 2.5: Chu kỳ 4 trong đồ thị Tanner
KỸ THUẬT MÃ HÓA CỦA MÃ LPDC
Mã hóa LDPC (Low-Density Parity Check) gặp nhiều thách thức do tính phức tạp của nó Cụ thể, khi áp dụng mã LDPC với tốc độ 0.5 cho từ mã dài 10.000 bit và bản tin 5.000 bit, ma trận tạo ra có kích thước 10.000x5.000 Việc thực hiện phép nhân ma trận với bản tin đòi hỏi tới 10^7 cổng XOR, ngay cả khi giả định mật độ ma trận tối thiểu là 0.2 Do đó, sự phức tạp trong mã hóa LDPC gia tăng, làm cho việc nghiên cứu và phát triển các phương pháp mã hóa hiệu quả trở nên cần thiết.
Do kích thước lớn của ma trận kiểm tra H, việc tạo ra ma trận G trong mã hóa LDPC gặp khó khăn Hàm bậc hai cũng làm cho quá trình mã hóa trở nên phức tạp hơn, đặc biệt là với mã có độ dài thông thường Để hiểu rõ hơn về những vấn đề này, chúng ta sẽ phân tích hai phương pháp mã hóa thông thường dưới đây.
2.4.2.1 Mã hóa sử dụng ma trận G
Phép loại trừ Gauss-Jordan có thể được áp dụng để tạo ma trận kiểm tra H cho mã LDPC Sau khi hoàn tất quá trình này, ma trận H sẽ có cấu trúc nhất định.
Trong đó, A là ma trận nhị phân (𝑛 − 𝑘) × 𝑘 còn 𝐼 𝑛 − 𝑘 là ma trận đơn vị
Bộ mã hóa sử dụng ma trận sinh để chuyển đổi bit thông tin thành từ mã, trong đó ma trận G có mối quan hệ chặt chẽ với ma trận kiểm tra chẵn lẻ H.
Ma trận sinh G và bit thông tin u được nhân modulo để xác định từ mã C:
Quá trình mã hóa của mã LDPC biểu thị theo sơ đồ khối như Hình 2.6
Hình 2.6: Sơ đồ khối bộ mã hóa LDPC
Phương pháp mã hóa LDPC gặp phải nhược điểm về tính không đảm bảo thưa thớt (sparsity) của ma trận G, dẫn đến việc phép nhân giữa khối thông tin u và ma trận G trở nên phức tạp hơn Với kích thước ma trận G khoảng k x n, độ phức tạp của phép toán này tương đương với phép toán bậc 2 với R là tốc độ mã hóa, làm cho độ phức tạp của quá trình mã hóa tăng theo bậc hai của độ dài mã Do đó, khi mã có độ dài lớn, quá trình mã hóa trở nên rất phức tạp.
Do đó, để khắc phục triệt để hạn chế này, thay vì ma trận sinh G chúng ta sử dụng ma trận kiểm tra chẵn lẻ H để mã hóa LDPC
2.4.2.2 Mã hóa sử dụng ma trận kiểm tra chẵn lẻ H
Quá trình mã hóa trực tiếp trong mã LDPC dựa trên ma trận kiểm tra chẵn lẻ H
Có thể thực hiện mã hóa bằng cách áp dụng phép tam giác (triangulation) cho ma trận
Tiền xử lý ma trận kiểm tra chẵn lẻ H là bước quan trọng để chuyển đổi nó thành dạng tam giác trên cao bằng cách hoán vị các hàng hoặc cột Mục đích chính của quá trình này là đảm bảo rằng ma trận giữ được cấu trúc cần thiết cho các phép toán tiếp theo.
H vẫn có tính chất thưa thớt
- Ma trận H được cấu tạo từ sáu ma trận con thưa thớt, ký hiệu là A, B, C, D, E và T Trong đó, ma trận T là một ma trận con tam giác trên
Với k là kích thước bản tin, n là độ dài khối mã Kích thước của mỗi ma trận là:
- Khai triển ma trận 𝐻 = [𝐻 𝑝 𝐻 𝑠 ] sao cho Hp là ma trận vuông và khả nghịch như sau:
- Tách vecto x (từ mã) sao cho x = [p, s], trong đó s là thành phần có hệ thống và p là thành phần chẵn lẻ
- Khi đó, p được viết theo dạng [p1 p2]
- Để mã hóa, cần điền các bit thông tin mong muốn k vào s và sau đó tính p bằng cách sử dụng 𝐻 𝑝 𝑝 𝑇 = 𝐻 𝑠 𝑠 𝑇
- Mã hóa bằng cách giải hệ phương trình 𝐻 (𝑝,𝑠) 𝑇 = 0 𝑇 với p và s cho trước
- Nhân H từ bên trái (phép loại trừ Gausian) như sau:
0 𝐶 − 𝐸𝑇 −1 𝐴 𝐷 − 𝐸𝑇 −1 𝐵) (2.10) Ở đây, ma trận E đã được loại bỏ bằng phương pháp loại trừ Gausian
Kiểm tra ứ = (𝐶 – 𝐸𝑇 −1 𝐴) khụng phải là duy nhất Thực hiện thờm cỏc phộp hoán vị cột nếu cần để đảm bảo thuộc tính này
Sau đó, tính p1 và p2 theo Bảng 2.2 được cho bên dưới
Phép toán Độ phức tạp
𝑝 1 𝑇 = − 𝑇 −1 (A𝑝 2 𝑇 + 𝐵𝑠 𝑇 ) (2.12) Phương pháp mã hóa nào cũng có nhược điểm riêng và ma trận kiểm tra chẵn lẻ
Mã hóa H có độ phức tạp tăng theo công thức 𝑛 + 𝑔 2, trong đó g đại diện cho khoảng trống (girth) của mã hóa tuyến tính Định nghĩa khoảng trống này chỉ ra rằng số hàng của ma trận H không thể được chuyển thành ma trận tam giác thông qua việc hoán vị hàng và cột.
Các kỹ thuật mã hóa mới được đề xuất nhằm cải thiện mã LDPC, tập trung vào việc giảm độ phức tạp trong quá trình mã hóa Một trong những ý tưởng nổi bật là sử dụng bộ mã hóa Message Passing (MS), tận dụng tính thưa thớt của ma trận kiểm tra chẵn lẻ để nâng cao hiệu quả mã hóa.
KỸ THUẬT GIẢI MÃ CỦA MÃ LDPC
Thuật toán giải mã lặp lại là phương pháp quan trọng trong mã Turbo và mã LDPC, giúp sửa chữa các bit lỗi hiệu quả Cả hai loại mã này đều áp dụng quy trình giải mã thông qua việc lặp đi lặp lại giữa các nút biến và nút kiểm tra trên đồ thị Tanner, nâng cao khả năng phục hồi dữ liệu.
Mã truyền thông kỹ thuật số, bao gồm mã Turbo và LDPC, đóng vai trò quan trọng trong cả mạng di động và không dây Mã Turbo cải thiện hiệu suất sửa lỗi thông qua việc sử dụng hai mã con kết hợp với một bộ giải mã lặp lại Tương tự, mã LDPC, một dạng mã kiểm tra tính chẵn lẻ với mật độ thấp, cũng áp dụng giải mã lặp lại dựa trên đồ thị Tanner để tối ưu hóa khả năng sửa lỗi.
Giải mã quyết định cứng và giải mã quyết định mềm là hai phương pháp giải mã khác nhau Trong giải mã quyết định cứng, mỗi bit chỉ có thể có giá trị '0' hoặc '1', trong khi bộ giải mã mềm có khả năng phân biệt các giá trị lượng tử hóa từ '0' đến '1'.
Trong giải mã lặp lại, giá trị của các nút biến được cập nhật dựa trên thông tin từ các nút kiểm tra và ngược lại Quá trình này tiếp diễn cho đến khi đạt được một điều kiện dừng, như sự hội tụ số hoặc số lần lặp tối đa.
Cả mã Turbo và mã LDPC đều sử dụng giải mã lặp lại, cho phép chúng sửa lỗi hiệu quả và đạt được hiệu suất truyền thông gần với giới hạn lý thuyết của kênh truyền.
Trong giải mã cứng, các thuật toán đơn giản và có tốc độ hội tụ nhanh được sử dụng Một số ví dụ điển hình về các thuật toán giải mã cứng bao gồm:
Bit Flipping (BF) là một thuật toán đơn giản trong giải mã cứng, hoạt động bằng cách thay đổi giá trị của các bit để sửa lỗi Trong mỗi vòng lặp, thuật toán BF kiểm tra các nút kiểm tra và nút biến để phát hiện các bit sai và thực hiện việc đảo ngược giá trị của chúng.
Thuật toán Viterbi là một công cụ quan trọng trong giải mã kênh, dựa trên nguyên tắc tìm kiếm đường dẫn tối ưu nhất Bằng cách sử dụng phương pháp quy hoạch động, thuật toán này xác định đường dẫn có xác suất cao nhất qua các trạng thái trong ma trận chuyển đổi Nhờ đó, thuật toán Viterbi giúp xác định các bit dự đoán chính xác nhất trong quá trình giải mã.
Giải mã mềm, trái ngược với giải mã cứng, sử dụng các thuật toán phức tạp và có tốc độ hội tụ chậm Trong giải mã mềm, có hai phương pháp chính được áp dụng.
Thuật toán Truyền Tin Tin Cậy (Belief Propagation Algorithm - BPA) hay còn gọi là Thuật toán Tích Sản Phẩm (Sum Product Algorithm - SP) là phương pháp giải mã dựa trên xác suất, nổi bật với khả năng tính toán xác suất của các bit BPA/SP thực hiện quá trình truyền tin giữa các nút kiểm tra và nút biến, giúp cung cấp cập nhật liên tục và hội tụ đến kết quả giải mã cuối cùng.
Thuật toán truyền tin (Message Passing Algorithm - MPA) là phương pháp giải mã mã LDPC dựa trên việc trao đổi thông tin giữa các nút biến và nút kiểm tra trong ma trận kiểm tra MPA sử dụng các thông điệp để cập nhật giá trị của các bit và thực hiện quá trình giải mã Quá trình truyền tin này được lặp lại cho đến khi đạt được điều kiện dừng, đó là khi có sự hội tụ và kết quả giải mã chính xác.
Các phương pháp giải mã mềm có độ phức tạp cao hơn, nhưng chúng cung cấp khả năng giải mã chính xác hơn và hiệu suất tốt hơn trong việc sửa lỗi và khôi phục dữ liệu.
❖ Thuật toán BF – Bit Flipping
Thuật toán Bit Flipping (BF) được thực hiện các bước như sau:
Bước 1: Khởi tạo bản tin ban đầu: Bắt đầu bằng việc khởi tạo bản tin ban đầu với các bit '0' và '1'
Bước 2: Lặp lại quá trình giải mã: Lặp lại quá trình giải mã đến khi đạt được điều kiện dừng
Bước 3: Kiểm tra các nút kiểm tra là quá trình quan trọng trong mỗi vòng lặp, nơi các nút này sẽ xác định các bit sai trong bản tin Nếu tổng số bit bị sai là số lẻ, nút kiểm tra sẽ thực hiện các hành động cần thiết để xử lý lỗi.
Bước 4: Cập nhật bản tin bao gồm việc thông báo nhận phản hồi từ nút kiểm tra và cập nhật các bit tương ứng Nếu nút kiểm tra yêu cầu thay đổi giá trị, các bit sẽ được đảo ngược.
Bước 5: Kiểm tra điều kiện dừng là quá trình quan trọng sau khi cập nhật bản tin Điều kiện dừng có thể được xác định dựa trên số vòng lặp tối đa hoặc khi bản tin không có sự thay đổi sau một vòng lặp.
THUẬT TOÁN TỐI ƯU GENETIC
Thuật toán Di truyền (Genetic Algorithm - GA) được phát triển dựa trên nguyên tắc tiến hóa tự nhiên, lấy cảm hứng từ lý thuyết di truyền của Charles Darwin và các nghiên cứu về hành vi học của Ivan Pavlov.
Năm 1859, Charles Darwin đã công bố cuốn "The Origin of Species", trong đó ông trình bày lý thuyết về sự chọn lọc tự nhiên và tiến hóa Ông khẳng định rằng tiến hóa diễn ra theo thời gian, với những sinh vật có đặc điểm ưu việt hơn có xu hướng sinh sản nhiều hơn và truyền lại những đặc điểm này cho thế hệ sau.
Ivan Pavlov, nhà tâm lý học nổi tiếng, đã nghiên cứu về học tập có điều kiện và phát triển lý thuyết về học tập di truyền Ông chứng minh rằng thông qua cơ chế di truyền, những kinh nghiệm học tập của một thế hệ có thể được truyền lại cho thế hệ tiếp theo.
Thuật toán Algorithm Genetic được phát triển bởi John Holland [9] và các chuyên gia nghiên cứu tại Đại học Michigan và Đại học Pittsburgh từ những năm 1960
2.6.1.2 Thuật toán tối ưu Genetic
Thuật toán tối ưu Genetic là một phương pháp hiệu quả để giải quyết các bài toán tối ưu hóa có điều kiện hoặc không có điều kiện, dựa trên cơ chế tiến hóa di truyền trong tự nhiên Phương pháp này lấy cảm hứng từ quá trình tiến hóa, trong đó những sinh vật có khả năng sinh sản tốt hơn sẽ truyền đạt các đặc điểm ưu việt cho thế hệ sau.
Dưới đây là các bước cơ bản của thuật toán tối ưu Genetic được miêu tả thông qua Hình 2.7 [10]:
Hình 2.7: Lưu đồ thuật toán tối ưu Genetic [10]
- Khởi tạo quần thể ban đầu: Khỏi tạo ngẫu nhiễn một quần thể chứa các cá thể
- Đánh giá: Sử dụng hàm mục tiêu (fitness function) để đánh giá chất lượng của từng cá thể trong quần thể
Dựa trên hàm thích nghi đã được tính toán trong khối Đánh giá, các cá thể có chất lượng tốt hơn sẽ được lựa chọn để tiến tới bước tiếp theo.
- Lai ghép: Thực hiện quá trình truyền gen di truyền tốt giữa hai cá thể cha mẹ để sinh ra cá thể con mới
Đột biến gen là quá trình biến đổi ngẫu nhiên của gen ở một số cá thể, góp phần tạo ra sự đa dạng trong quần thể Mặc dù xác suất xảy ra của quá trình này là thấp, nhưng nó đóng vai trò quan trọng trong tiến hóa và sự thích nghi của các loài.
- Dừng lại: Xem xét điều kiện dừng để tiếp tục hay dừng lại thuật toán
- Quay lại bước 2: Nếu chưa đạt được điều kiện dừng, quay lại bước 2 để tiếp tục thuật toán
- Kết thúc: Thuật toán dừng lại và ra kết quả cuối cùng
Hiện nay, thuật toán tối ưu Genetic đã được ứng dụng rộng rãi trong nhiều lĩnh vực như tối ưu hóa hàm số, tối ưu hóa tổ hợp, mạng nơ-ron nhân tạo, lập lịch và quy hoạch Phương pháp này mang lại giải pháp gần tối ưu trong các không gian tìm kiếm lớn và phức tạp, thể hiện sức mạnh của nó trong việc giải quyết các bài toán khó.
2.6.2 Khởi tạo quần thể ban đầu
Bước đầu tiên trong thuật toán di truyền là khởi tạo quần thể ban đầu, tạo ra một tập hợp cá thể ngẫu nhiên, mỗi cá thể đại diện cho một giải pháp khác nhau trong không gian tìm kiếm Quần thể ban đầu cần đảm bảo tính đa dạng để khám phá và tìm hiểu các vùng khác nhau trong không gian giải pháp.
Hình 2.8: Quần thể ban đầu được khởi tạo ngẫu nhiên
Một số phương pháp được dùng để khởi tạo quần thể ban đầu trong thuật toán tối ưu Genetic:
Khởi tạo ngẫu nhiên là phương pháp đơn giản nhất để bắt đầu, bằng cách chọn ngẫu nhiên các giá trị cho từng gen trong không gian tìm kiếm.
Khởi tạo giá trị cho các gen của cá thể dựa trên phân phối xác suất đã được xác định trước Phân phối này được xây dựng dựa trên kiến thức về bản chất của bài toán, giúp tối ưu hóa quá trình khởi tạo.
Khởi tạo thông minh có thể nâng cao hiệu suất của thuật toán thông qua việc áp dụng kiến thức chuyên môn Chẳng hạn, trong tối ưu hóa mạng nơ-ron, các cá thể được tạo ra bằng cách sử dụng phương pháp mạng nơ-ron ngẫu nhiên hoặc mạng nơ-ron đã được huấn luyện trước.
Bắt đầu từ các giải pháp tiềm năng đã được xác định trước, các cá thể này có thể được sử dụng làm điểm khởi đầu trong quần thể Thuật toán tối ưu di truyền sẽ tiến hành cải thiện những giải pháp này thông qua các bước tiến hóa liên tục.
Quá trình khởi tạo quần thể ban đầu phụ thuộc vào tính chất của bài toán và kiến thức chuyên môn Mục tiêu chính là tạo ra một quần thể đa dạng, nhằm khám phá không gian tìm kiếm và phát hiện các giải pháp tối ưu tiềm năng.
Khối Đánh giá trong thuật toán di truyền đóng vai trò quan trọng, xác định chất lượng của từng cá thể trong quần thể Chức năng của khối này là tính toán giá trị hàm thích nghi cho mỗi cá thể, dựa trên các đặc điểm và thông số tối ưu của bài toán.
Hình 2.9: Sơ đồ khối chi tiết khối Đánh giá
Như Sơ đồ khối của Khối đánh giá được thể hiện ở Hình 2.9, dưới đây là chi tiết từng khối trong GA:
Hàm thích nghi (fitness function) là một hàm số được xác định trước và phụ thuộc vào bài toán mà Thuật toán Di truyền (GA) đang giải quyết Hàm mục tiêu này đánh giá mức độ tốt xấu của một cá nhân dựa trên các chỉ số, mục tiêu hoặc ràng buộc của bài toán Ví dụ, một hàm mục tiêu có thể là đạt được giá trị tối thiểu hoặc tối đa cần thiết.
THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG
YÊU CẦU VÀ SƠ KHỐI HỆ THỐNG
3.1.1 Yêu cầu của hệ thống Để hoàn thành đề tài “Thiết kế mã LPDC dựa trên thuật toán di truyền”, nhóm thực hiện đề tài sẽ làm công việc thiết kế hệ thống yêu cầu chọn ma trận H tối ưa nhất để tạo mã LDPC với độ dài mã n = 128, chiều mã k = 64, tốc độ mã Rc = 0,5 và được mô phỏng qua kênh AWGN (biAWGN) đầu vào nhị phân
Hệ thống này được thiết kế theo tiêu chuẩn MPEG-2 Part 2 (H.262), một chuẩn phổ biến cho các ứng dụng truyền hình số, video số và truyền thông đa phương tiện Thiết kế không chỉ tuân thủ các quy định truyền thông mà còn đảm bảo tính khả thi trong việc mô phỏng và đánh giá.
3.1.2 Sơ đồ khối và chức năng từng khối
❖ Sơ đồ khối hệ thống
Quá trình thiết kế mã LPDC sử dụng thuật toán di truyền bắt đầu bằng việc lựa chọn ma trận H tối ưu từ nhiều ma trận H đã được tính toán tỷ lệ lỗi khối (BLER) trong một quần thể Sau đó, ma trận H tối ưu nhất được chọn từ nhiều quần thể, với ma trận H tối ưu trong quần thể 1 trở thành ma trận sinh H cho quần thể 2 Quy trình này lặp lại nhằm tìm ra ma trận H tối ưu nhất cho mã LPDC, như được thể hiện trong Hình 3.1, mô tả công việc thực hiện trong một vòng lặp chọn ma trận H.
Hình 3.1: Sơ đồ khối vòng lặp hệ thống
- Khối dữ liệu: chứa thông tin chính và ma trận H ban đầu
- Khối mã hóa: mã hóa thông tin tạo ra mã LPDC
- Khối kênh truyền: là môi trường truyền dữ liệu, tính toán nhiễu
- Khối giải mã: giải mã tín hiệu nhận được
- Khối tính toán: tính toán các giá trị sau giải mã và cập nhật ma trận H
THIẾT KẾ HỆ THỐNG PHẦN MỀM
3.2.1 Khối dữ liệu Đúng như tên gọi của mình, khối dữ liệu được dùng để lưu thông tin truyền tải dữ liệu, bên cạnh đó với mỗi lần thực hiện tạo quần thể mới, khối dữ liệu còn lưu trữ thông tin về ma trận H và tỉ lệ lỗi khối BLER Ngoài ra quá trình thiết kế bắt đầu với tập hợp ban đầu gồm một số mã LDPC được xây dựng một cách ngẫu nhiên, từ đó ta thực hiện công việc lai ghép và đột biến để tạo ra các mã LPDC mới
Nhóm thực hiện đề tài đã sử dụng thông số ban đầu và ma trận H với độ dài mã n = 128, chiều mã k = 64, và tốc độ mã Rc = 0,5 để truyền tải thông tin Đặc biệt, nhóm đã khởi tạo 40 ma trận H ngẫu nhiên có kích thước 64x128 để phục vụ cho nghiên cứu.
Một phương pháp mã hóa LPDC sử dụng ma trận G không đảm bảo tính thưa thớt, dẫn đến việc phép nhân giữa khối thông tin u và ma trận G trở nên phức tạp hơn Với kích thước ma trận G khoảng k x n, độ phức tạp của phép toán này tương đương với phép toán bậc hai với R là tốc độ mã hóa Điều này có nghĩa là quá trình mã hóa có độ phức tạp tăng theo bậc hai của độ dài mã, khiến cho mã hóa trở nên rất phức tạp đối với các mã có độ dài lớn.
Để khắc phục hạn chế của phương pháp mã hóa trước đó, mã hóa LPDC áp dụng ma trận kiểm tra chẵn lẻ H thay vì ma trận sinh G Ví dụ dưới đây sẽ minh họa cách trình bày mã hóa theo phương pháp này.
Giả sử chúng ta có dãy bit dữ liệu ban đầu là 1011, chúng ta sẽ mã hóa nó bằng ma trận kiểm tra chẵn lẻ H Quá trình mã hóa sử dụng ma trận H giúp xác định và phát hiện lỗi trong dữ liệu, đảm bảo tính toàn vẹn của thông tin Ma trận kiểm tra chẵn lẻ H là công cụ quan trọng trong việc mã hóa dữ liệu, cho phép kiểm tra các bit dữ liệu để đảm bảo chúng tuân thủ quy tắc chẵn lẻ.
Ma trận kiểm tra chẵn lẻ H:
1 0 1 1] Dãy bit dữ liệu ban đầu: 1 0 1 1
Bước 1: Xác định số lượng bit kiểm tra chẵn lẻ (parity check bits) trong ma trận
H và tính kích thước dãy mã hóa
Trong ví dụ này, ma trận H có 2 bit kiểm tra chẵn lẻ, do đó số lượng bit mã hóa sẽ là 4 (k = 2 + 2)
Để tạo ma trận thông tin dữ liệu G, cần sắp xếp dãy bit dữ liệu ban đầu từ trái sang phải và bổ sung hai cột cuối cùng với ma trận đơn vị 2x2.
Để mã hóa dãy bit dữ liệu ban đầu, bước đầu tiên là tính tích của véc-tơ dữ liệu ban đầu với ma trận thông tin dữ liệu G.
Véc-tơ dữ liệu ban đầu: x = [1 0 1 1]
Véc-tơ mã hóa y có 6 bit, gồm 4 bit dữ liệu ban đầu và 2 bit kiểm tra chẵn lẻ
Ví dụ dưới đây minh họa quá trình mã hóa cơ bản bằng cách sử dụng ma trận kiểm tra chẵn lẻ H, với dữ liệu đầu vào là mảng một chiều x = [1 0 1 1], từ đó tạo ra mã y.
Tương tự với mảng 2 chiều ta có cách trình bày ở mục 2.4.2.2 Mã hóa sử dụng ma trận kiểm tra chẳn lẻ H
Quá trình truyền tin từ điểm phát đến điểm thu thường gặp phải các hiện tượng không mong muốn, bao gồm nhiều loại nhiễu trong quá trình tính toán Để khắc phục và đảm bảo rằng bên thu nhận được tín hiệu chính xác, hiện nay có nhiều phương pháp khác nhau Nhằm mô phỏng một phần thực tế, nhóm nghiên cứu đã thực hiện mô phỏng quá trình truyền tin trên kênh truyền AWGN.
Nhiễu Additive White Gaussian Noise (AWGN) là một loại nhiễu phổ biến trong truyền thông và hệ thống truyền tin, với đặc điểm là có phân phối Gaussian và độ nhiễu đồng đều trên toàn bộ phổ tần số AWGN ảnh hưởng đến quá trình truyền thông bằng cách gây ra biến đổi ngẫu nhiên và méo tín hiệu, dẫn đến giảm chất lượng tín hiệu, mất mát thông tin hoặc sai lệch trong việc truyền nhận tin.
Quá trình truyền tín hiệu trong hệ thống truyền tin và lưu trữ dữ liệu thường sử dụng AWGN như một mô phỏng nhiễu AWGN có đặc điểm ngẫu nhiên và độc lập với tín hiệu gốc, đồng nghĩa với việc nó không bị ảnh hưởng bởi nội dung hay đặc điểm của tín hiệu mà chỉ là một dạng nhiễu bổ sung.
Quá trình giải mã LPDC trong hệ thống này được thực hiện bằng phương pháp Belief Propagation (BP) Phương pháp giãi mã BP sử dụng các nút biến và nút kiểm tra trên mạng đồ thị để xác định giá trị dự đoán tối ưu cho các bit trong mã.
Dưới đây là quá trình giải mã LPDC bằng phương pháp Belief Propagation:
Khởi tạo giá trị thông điệp ban đầu cho tất cả các nút biến và nút kiểm tra trong đồ thị là một bước quan trọng Giá trị này có thể được thiết lập là 0 hoặc được lấy từ kênh truyền.
• Đặt số lượng bước lặp tối đa để kiểm soát quá trình giải mã
• Trong mỗi bước lặp, thông tin được truyền qua đồ thị từ các nút biến đến các nút kiểm tra và ngược lại
Các nút kiểm tra và biến truyền dữ liệu qua đồ thị trong mỗi bước lặp, với giá trị thông điệp mới cho mỗi nút biến được tính bằng cách cộng giá trị thông điệp từ các nút kiểm tra kết nối Ví dụ, nút kiểm tra 1 và
2 gửi thông điệp cho nút biến 1
Tại mỗi nút kiểm tra, giá trị thông điệp mới được tính toán bằng cách thực hiện phép XOR trên tất cả các thông điệp nhận được từ các nút biến kết nối với nó Chẳng hạn, nút kiểm tra 1 sẽ nhận thông điệp từ nút biến 1 và nút biến 2.
HOẠT ĐỘNG CỦA HỆ THỐNG
Quá trình thiết kế mã LPDC sử dụng thuật toán di truyền bao gồm việc tạo ra nhiều quần thể ma trận H khác nhau Mỗi quần thể chứa các ma trận H đa dạng nhằm tìm ra ma trận H tối ưu nhất Ma trận H tối ưu được lựa chọn từ mỗi quần thể sẽ được áp dụng trong quá trình thiết kế.
Quá trình sinh ra các ma trận H mới trong các thế hệ tiếp theo của quần thể được thực hiện bởi "cha mẹ" Quá trình này lặp lại cho đến khi đạt được ma trận H đáp ứng các tiêu chí thiết kế và yêu cầu hiệu suất mong muốn cho mã LPDC Hình 3.3 minh họa quy trình hoạt động của hệ thống trong một quần thể.
- Bắt đầu một quần thể, khởi tạo ma trận “cha, mẹ”, nhận dữ liệu thông tin từ khối dữ liệu
- Mã hóa LPDC bằng phương pháp sử dụng ma trận kiểm tra chẵn lẻ H
- Đưa thông tin đã được mã hóa vào kênh truyền BiAWGN
- Lấy thông tin nhận được, giãi mã LPDC bằng phương pháp BP
- Tính toán giá trị BLER, so sánh với BLER của H trước đó
- Lai ghép hoặc đột biến ma trận H sau đó cập nhật lại H
Nếu quần thể đạt đủ số lượng cá thể, quá trình sẽ kết thúc với việc kết ma trận H Ngược lại, nếu số lượng chưa đủ, chúng ta sẽ tiếp tục lặp lại quy trình cho đến khi đạt được số lượng cần thiết.
Hình 3.3: Lưu đồ phần mềm trong một quần thể
KẾT QUẢ THỰC HIỆN
TỈ LỆ LỖI KHỐI CỦA CÁC PHƯƠNG PHÁP THEO SNR
Để đánh giá hiệu suất của hệ thống "Thiết kế mã LPDC dựa trên thuật toán di truyền", nhóm nghiên cứu đã so sánh sự biến đổi của tỷ lệ lỗi khối BLER theo SNR với các loại mã LPDC khác nhau Hình 4.1 minh họa các phương pháp được áp dụng trong nghiên cứu này.
- No encoder: sử dụng phương pháp mã hóa BPSK để truyền dữ liệu đến máy thu trên kênh truyền AWGN
- Regular LPDC Codes based on Gallager: mã LPDC đều dựa trên thuật toán của Gallager
- Irregular LPDC Codes: sử dụng ma trận H có cấu trúc không đều để mã hóa LPDC
Mã LPDC tối ưu hóa được thiết kế trong luận văn này sử dụng thuật toán di truyền để cải thiện hiệu suất Hình 4.1 minh họa tỉ lệ lỗi khối theo SNR, trong đó trục x thể hiện tỉ số tín hiệu trên nhiễu (SNR), một chỉ số quan trọng đánh giá chất lượng kênh truyền, trong khi trục y biểu thị tỉ lệ lỗi khối (BLER).
Hình 4.1 cho thấy rằng mã LDPC đều (regular) dựa trên Gallager có hiệu suất kém nhất, trong khi mã LDPC không đều (irregular) và mã LDPC tối ưu hóa (optimized) có hiệu suất tốt hơn Nguyên nhân là do mã LDPC đều có cấu trúc đơn giản nhất, dẫn đến khả năng sửa lỗi thấp nhất Ngược lại, mã LDPC không đều với cấu trúc phức tạp hơn có khả năng sửa lỗi cao hơn, và mã LDPC tối ưu hóa, với cấu trúc phức tạp nhất, đạt hiệu suất sửa lỗi cao nhất Đồ thị cũng chỉ ra rằng hiệu suất của mã LDPC có thể được cải thiện bằng cách tăng số lượng vùng hỗ trợ tín hiệu, tuy nhiên điều này cũng làm tăng độ phức tạp của mã và có thể giảm tốc độ giải mã Do đó, việc lựa chọn mã LDPC cần cân bằng giữa hiệu suất và độ phức tạp là rất quan trọng.
Mức 1 – 2 dB là khoảng SNR thấp, hiệu suất của các mã lần lượt là mã LDPC quy tắc dựa trên Gallager có hiệu suất kém nhất Tiếp đến là mã LDPC không quy tắc có hiệu suất tốt hơn và mã LDPC tối ưu hóa có hiệu suất tốt nhất trong 3 mã LPDC Do SNR thấp tức là tỉ lệ nhiễu cao, dẫn đến việc tỉ lệ dữ liệu lỗi cao và việc sửa lỗi của mã
LPDC mất đi tính chính xác Thậm chí tỉ lệ lỗi còn cao hơn việc truyền qua mã BPSK
Mã hóa LPDC phát huy hiệu quả rõ rệt khi tỷ số tín hiệu trên nhiễu (SNR) đạt từ 3 dB trở lên, với tỷ lệ lỗi khối được tối ưu hóa ở mức thấp nhất.
Mã LPDC, tương tự như mã hóa BPSK, cho thấy hiệu quả trong việc sửa lỗi, đặc biệt khi tỷ lệ tín hiệu trên nhiễu (SNR) cao Với độ sai lệch thấp, mã LPDC có khả năng phục hồi dữ liệu về trạng thái ban đầu một cách hiệu quả.
MỐI QUAN HỆ GIỮA BLER VÀ POPULATION
Thuật toán Genetic là phương pháp dựa trên cơ chế tiến hóa di truyền tự nhiên thông qua lai ghép và đột biến Số lượng quần thể (Population) càng nhiều thì tỷ lệ lỗi khối BLER càng giảm, tuy nhiên, khi đạt đến một mức nhất định, sự chênh lệch giữa các BLER của quần thể sẽ giảm Việc cân nhắc giữa thời gian tối ưu và giá trị BLER tối ưu là cần thiết Hình 4.2 và Hình 4.3 minh họa sự thay đổi của giá trị BLER theo số lượng quần thể từ 100 đến 200.
Hình 4.2: Mối quan hệ của BLER và Population trong 100 population
Dựa trên đồ thị, có thể nhận thấy mối quan hệ giữa BLER và dân số trong quá trình tối ưu hóa mã LDPC thông qua thuật toán di truyền Sự thay đổi của BLER phụ thuộc vào kích thước dân số, cho thấy rằng việc điều chỉnh dân số có thể ảnh hưởng tích cực đến hiệu suất của mã LDPC Điều này nhấn mạnh tầm quan trọng của việc lựa chọn dân số phù hợp để cải thiện độ tin cậy trong truyền dữ liệu.
Trong tối ưu hóa Genetic LDPC, có mối quan hệ nghịch tuyến giữa tỷ lệ lỗi khối (BLER) và số lượng quần thể Điều này chỉ ra rằng khi số quần thể tăng lên, tỷ lệ lỗi khối có xu hướng giảm, và ngược lại.
Mối liên hệ giữa BLER và Population trong tối ưu hóa Genetic LDPC là rất rõ ràng, cho thấy hầu hết các điểm dữ liệu đều tuân theo xu hướng chung, với rất ít trường hợp không phù hợp.
- Xu hướng: BLER có xu hướng giảm khi population tăng
+ Trong giai đoạn đầu: BLER giảm nhanh khi population tăng
Trong giai đoạn sau, BLER giảm chậm hơn khi dân số tăng Đồ thị mối quan hệ giữa BLER và dân số trong tối ưu hóa Genetic LDPC cho thấy một mối quan hệ nghịch tuyến mạnh mẽ giữa hai biến này Dựa vào đồ thị, có thể dự đoán rằng khi dân số đạt đến một giá trị nhất định, BLER sẽ không còn thay đổi nữa.
Hình 4.3: Mối quan hệ của BLER và Population trong 200 population
Hình 4.3 thể hiện mối quan hệ giữa BLER và Population trong khoảng 200 population, cho thấy rằng BLER giảm khi population tăng Khi population chỉ đạt 100, độ dốc của đồ thị cao, nhưng khi population tăng từ 100 lên 200, đồ thị trở nên thẳng hơn So sánh giữa hai đồ thị này cho thấy sự khác biệt rõ rệt trong xu hướng giảm của BLER theo sự gia tăng population.
Việc tăng số lượng dân số từ 100 lên 200 giúp giảm tỷ lệ lỗi khối (BLER) Sự gia tăng này mang lại sự đa dạng cao hơn trong các cá thể, cho phép thuật toán di truyền có không gian giải quyết rộng hơn và tìm kiếm các giải pháp tối ưu hiệu quả hơn.
Biểu đồ minh họa rằng thuật toán Genetic có khả năng giảm tỷ lệ lỗi khối (BLER) trong mã LDPC một cách hiệu quả Điều này chứng tỏ rằng thuật toán Genetic có thể được ứng dụng để tối ưu hóa mã LDPC, từ đó nâng cao hiệu quả truyền thông tin trong các hệ thống truyền thông.
Dưới đây là bảng so sánh giữa hai mức Population:
Bảng 4.1: Giá trị so sánh giữa hai mức Population
Tiêu chí Population 100 Population 200 Độ dốc Nhiều dao động
Không có xu hướng rõ ràng
Có xu hướng thẳng hơn Thể hiện mối quan hệ rõ ràng hơn
Sự hội tụ Mất nhiều thế hệ hơn để hội tụ Hội tụ nhanh hơn đến giá trị
Hiệu suất Thấp hơn Cao hơn Độ ổn định Bị dao động nhiều Ít dao động
BLER Cao Thấp Đa dạng cá thể Thấp Cao
Thời gian tính toán Nhanh Chậm
Tính đa dạng di truyền Thấp Cao
Từ Bảng 4.1, có thể thấy rằng việc tăng Population từ 100 lên 200 sẽ cải thiện mối quan hệ giữa BLER và Population, với đồ thị trở nên thẳng hơn, tốc độ hội tụ nhanh hơn, độ ổn định cao hơn và hiệu suất tốt hơn Tuy nhiên, thời gian cần thiết để thực hiện sự tăng này cũng cần được xem xét kỹ lưỡng Do đó, việc lựa chọn Population phù hợp là rất quan trọng để đảm bảo hiệu suất truyền tin, đồng thời cân nhắc các yếu tố khác như thời gian và tài nguyên tính toán.
Dựa trên số liệu từ Hình 4.2, Hình 4.3 và Bảng 4.1, thời gian và hiệu suất được tối ưu cho các thông số đã được định nghĩa trong luận văn, cho thấy rằng số lượng quần thể tối ưu là từ 150 đến 180.
ĐÁNH GIÁ HIỆU SUẤT LPDC VỚI CÁC MÃ SỬA LỖI KHÁC
Để đánh giá hiệu suất của mã LPDC dựa trên thuật toán Genetic một cách trực quan, chúng ta tiến hành so sánh hiệu suất của nó với các mã tự sửa lỗi khác.
- Rate 2/3 Convolutional Code: mã hóa tích chập tỉ lệ 2/3
- Tailbiting Convolutional Code: mã hóa tích chập Tail-biting
Hình 4.4: Hiệu suất mã LPDC và các mã sửa lỗi khác
Biểu đồ trong Hình 4.4 thể hiện hiệu suất của mã LPDC so với các mã sửa lỗi khác, cho thấy sự biến động của giá trị BLER của mã LPDC dựa trên thuật toán Genetic, mã tích chập tỷ lệ 2/3 và mã hóa Tail-Biting khi SNR thay đổi Tất cả các mã được so sánh đều có độ dài bit giống nhau và hoạt động trong môi trường truyền tin tương đồng là kênh truyền AWGN.
Giá trị SNR từ 1 – 2 dB cho thấy tín hiệu nhận được bị ảnh hưởng lớn bởi nhiễu môi trường, dẫn đến hiệu suất sửa lỗi của cả ba mã bị giảm sút nghiêm trọng và sự tương quan giữa các mã là khá tương đồng Trong khoảng này, mã hóa Tail-Biting thể hiện hiệu suất tốt nhất, trong khi hai mã còn lại có sự thay đổi thứ hạng với nhau Cụ thể, mã hóa tích chập tỉ lệ 2/3 có BLER nhỏ hơn trong khoảng 0.5 dB đầu, nhưng sau đó lại cho kết quả ngược lại.
Mã hóa LPDC, với SNR từ 2 dB trở lên, được phát triển dựa trên thuật toán Genetic, cho hiệu suất vượt trội hơn so với các mã khác Đồ thị cho thấy mã LPDC tối ưu có độ dốc cao nhất, tiếp theo là mã Tail-Biting và cuối cùng là mã hóa tích chập tỷ lệ 2/3 Kết luận cho thấy mã LPDC có hiệu suất vượt trội hơn hẳn so với hai mã tự sửa lỗi còn lại.