Giả sử rằng thông tin được mã hóa là một khối k bit có dạng = ( 1, 2,…, ), là một trong 2 khảnăng thông tin có thể có. Bộ mã hóa sử dụng thông tin này và tạo ra từ mã � = ( 1, 2,…, ), với > ; nghĩa là, một phần dư được thêm vào.
Định nghĩa về mã khối tuyến tính:
Mã khối c là một mã tuyến tính nếu các từ mã tạo thành một không gian con vector trong không gian vector � , sẽ có k vector độc lập tuyến tính lần lượt tạo thành các từ mã, sao cho mỗi từ mã là sự kết hợp tuyến tính.
27
Định nghĩa này có nghĩa là một tập gồm 2 từ mã tạo nên một không gian con vector chứa tập gồm các từ bits. Một mã tuyến tính có đặc trưng là tổng của hai từ mã bất kỳcũng là một từ mã.
Ma trận sinh
Cho ( , ) là một mã khối tuyến tính và gọi ( 1 , 2 ,…, ) là vector độc lập
tuyến tính. Mỗi từ mã là một sự kết hợp tuyến tính của chúng:
Tất cả vector và phép toán ma trận là modulo-2. Các vectơ độc lập tuyến tính này có thểđược sắp xếp ở dạng ma trận được gọi là ma trận sinh G:
= 1 2 = 1,1 1,2 1, 2,1 2,2 2, ⋱ ,1 ,2 … ,
Vector thông tin = ( 1, 2 ,…, ), từ mã tương ứng thu được bằng cách nhân ma trận:
Ma trận kiểm tra chẵn lẻ
Ma trận kiểm tra chẵn lẻ H là một ma trận − × với ( − ) hàng độc lập. Đó là không gian đôi của mã , tức là � = 0.
= 1 2 = ℎ1,1 ℎ1,2 ℎ1, ℎ2,1 ℎ2,2 ℎ2, ⋱ ℎ − ,1 ℎ − ,2 … ℎ − , �= 1. 1 + 2. 2 + …+ . (2.22) � = . = 1, 2,…, . 1 2 = 1. 1 + 2. 2 + …+ . (2.23)
28
Có thể nhận thấy rằng phương trình kiểm tra chẵn lẻ có thể có được từ ma trận kiểm tra chẵn lẻ H, tức là � � = 0. Do đó, ma trận này cũng xác định đầy đủ một mã khối.
2.5.1.1 Mã khối d ng h thống
Cấu trúc của một từ mã ở dạng hệ thống như trong hình 2.8. dạng này, từ mã bao gồm bit thông tin sau đó là( − ) bit kiểm tra chẵn lẻ.
Hình 2.8: Dạng hệ thống của một từ mã mã khối
Do đó, một mã khối tuyến tính có tính hệ thống �( , ) có thể được xác định bởi ma trận sinh sau đây:
ký hiệu rút gọn = [ � − ]. Ma trận kiểm tra chẵn lẻ tương ứng = [� − �
− − ] .
2.5.1.2 Gi i mã mã khối tuyến tính
Từ hình 2.9, chúng ta có thể nhận thấy sau khi truyền qua một kênh truyền có nhiễu, một từ mã thu được có thể bị lỗi. Vì vậy, vector thu được có thể khác với từ mã phát tương ứng, vector thu ký hiệu là = ( 1, 2,…, ). Sự kiện lỗi có thể được mô hình như một vector lỗi �= ( 1, 2,…, ) với �= +�.
k bit thông tin (n – k) bit kiểm tra chẵn lẻ
= 1 0 0 �1, +1 �1, +2 �1, 0 1 0 �2, +1 �2, +2 �2, ⋱ ⋱ 0 0 1 � , +1 � , +2 � , Ma trận đơn vị Ma trận kiểm tra chẵn lẻ � −
29
Hình 2.9: Sơ đồ khối của hệ thống mã hóa khối
Để phát hiện các lỗi, chúng ta áp dụng điều kiện trong đó một từ mã hợp lệ bất kỳ phải tuân theo điều kiện � � = 0.
Một cơ chế phát hiện lỗi khác là: � = �, với �= ( 1, 2,…, ) được gọi là vector syndrome. Việc phát hiện sai được thực hiện trên vector thu:
Nếu là vector không, vectơ thu được là một từ mã hợp lệ.
Ngược lại, có lỗi trong vector thu. Vector syndrome được dùng để tìm lỗi tương
ứng � , = 1, 2,…, và thông tin sau khi giải mã là ′ = +� .
2.5.2 Định nghĩa mã LDPC
Mã LDPC là mã khối tuyến tính có thểđược ký hiệu là ( , ) hoặc ( , , ), trong đó là chiều dài của từ mã, là chiều dài của các bit thông tin, là trọng số cột (là số phần tử khác không trong một cột của ma trận kiểm tra chẵn lẻ) và là trọng số hàng (là số phần tử khác không trong một hàng của ma trận kiểm tra chẵn lẻ).
Mã LDPC có hai đặc điểm:
• Chẵn lẻ: mã LDPC được biểu diễn bằng một ma trận kiểm tra chẵn lẻ H, trong đó H là ma trận nhị phân thỏa � � = 0, trong đó c là từ mã.
• Mật độ thấp: H là ma trận thưa (nghĩa là số„1’ ít hơn nhiều so với số '0 '). Tính chất „thưa’ của ma trận H đảm bảo cho độ phức tạp tính toán thấp.
Bộ mã hóa tuyến tính Kênh truyền nhiễu Bộ giải mã tuyến tính
Từ mã Thông tin sau
giải mã Từ mã thu
Thông tin
30
2.5.3 Biểu di n mã LDPC
Về cơ bản, có hai cách khác nhau để biểu diễn mã LDPC. Giống như các mã khối tuyến tính khác, có thểđược biểu diễn bằng ma trận. Cách thứ hai là biểu diễn đồ hình.
2.5.3.1 Biểu di n ma trận
Mỗi mã LDPC được xác định bởi ma trận có kích thước ( × ), trong đó là chiều dài mã và là số bit kiểm tra chẵn lẻ trong mã. Số bit hệ thống sẽ là = −
. Ma trận kiểm tra chẵn lẻ có thể được biểu diễn dưới dạng: = − �� ] với
− là ma trận đơn vị và � là ma trận hệ số. Ví dụ ma trận kiểm tra chẵn lẻ(4 × 10): = 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 2.5.3.2 Đồ hình Tanner [10]
Ngoài cách biểu diễn tổng quát như là một ma trận đại số, mã LDPC có thể được biểu diễn bằng đồ hình chia đôi Tanner, được đề xuất bởi Tanner vào năm 1981.
Đồ hình Tanner bao gồm hai tập điểm: n điểm cho các bit từ mã (gọi là các node biến) và k điểm cho các phương trình kiểm tra chẵn lẻ (gọi là các node kiểm tra). Một đường nối một node biến và node kiểm tra nếu bit đó có trong phương trình kiểm tra chẵn lẻ tương ứng và do đó số đường nối trong đồ hình Tanner bằng với số „1’ trong ma trận kiểm tra chẵn lẻ.
Chu kỳ (cycle)
Một chu kỳ (vòng) trong đồ hình Tanner là một chuỗi gồm các điểm được kết nối với nhau mà bắt đầu và kết thúc tại cùng một điểm trong đồ hình và trong đó các điểm đi qua không quá một lần. Chiều dài của một chu kỳ là sốđường nối mà nó chứa. Vì đồ hình Tanner có hai phía, mỗi chu kỳ sẽ có chiều dài chẵn.
31
Chu vi (girth)
Chu vi là chiều dài nhỏ nhất của chu kỳtrong đồ hình Tanner.
Chúng ta minh họa chu kỳ và chu vi bằng một ví dụ đơn giản. Gọi H là ma trận kiểm tra chẵn lẻ của một mã LDPC bất quy tắc (10,5):
Đồ hình Tanner tương ứng được minh họa trong hình 2.10. Đối với mã LDPC trên, đường (�1 → 8 → �3 → 10 → �1) với đường đen đậm là một chu kỳcó độ dài là 4. Chu kỳ này cũng là chu vi của đồ hình này vì nó là chu kỳ có độ dài nhỏ nhất.
Hình 2.10: ĐồhìnhTanner tương ứng với ma trận kiểm tra chẵn lẻ H trong (2.24) Cấu trúc này là rất quan trọng đối với hiệu suất của mã LDPC. Mã LDPC sử dụng giải thuật giải mã lặp dựa trên sựđộc lập thống kê của quá trình chuyển thông tin giữa các node khác nhau. Khi tồn tại một chu kỳ, thông tin được tạo ra từ một node sẽ quay trở lại chính nó, do đó phủ định giả thuyết độc lập làm cho độ chính xác giải mã bị ảnh hưởng. Vì vậy, mong muốn rằng ma trận có các giá trị chu vi lớn.
= 1 1 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 (2.24) �1 �2 �3 �4 �5 1 2 3 4 5 6 7 8 8 9 10 Các node kiểm tra Các node biến
32
2.5.4 Mã LDPC có quy tắc và bất quy tắc 2.5.4.1 Mã LDPC có quy tắc
Mã LDPC có quy tắc đã và đangđóng một vai trò quan trọng trong lịch sử mã hóa. Mã LDPC được gọi là có quy tắc nếu số„1’ trong cột gọi là và số„1’ trong hàng gọi là là không đổi cho một ma trận kiểm tra chẵn lẻ. Ví dụ về ma trận có quy tắc thể hiện trong (2.25)
Ma trận trong ví dụ (2.25) là có quy tắc với = 2 và = 4. Cũng có thể thấy được tính quy tắc của mã này bằng biểu diễn đồ hình trong hình 2.11. Số đường nối đến mỗi node biến và node kiểm tra là như nhau.
Hình 2.11: Minh họa cho mã LDPC có quy tắc bằng đồ hình.
Các điều kiện được thỏa trong việc xây dựng ma trận kiểm tra chẵn lẻ H của một mã LDPC nhị phân có quy tắc là:
- Ma trận kiểm tra chẵn lẻtương ứng H có trọng số cột không đổi. - Ma trận kiểm tra chẵn lẻtương ứng H có trọng số hàng không đổi. - Số„l’ giữa hai cột bất kỳ không lớn hơn 1.
- và là các số rất nhỏ so với chiều dài mã và số hàng trong ma trận H.
1 2 3 4 1 2 3 4 5 6 7 8 = 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 1 0 (2.25)
33
Thông thường, tốc độ mã của mã LDPC là � = 1− / .
2.5.4.2 Mã LDPC bất quy tắc
Mã LDPC gọi là bất quy tắc nếu số„1’ trong các cột và các hàng thay đổi cho một ma trận kiểm tra chẵn lẻ. Mã LDPC bất quy tắc có ảnh hưởng quan trọng trong lý thuyết mã hóa kể từkhi nó được nhận thấy rằng chúng có hiệu suất tốt hơn so với các mã có quy tắc. Từđó, nhiều loại mã bất quy tắc khác nhau đã được phát triển. Mã LDPC bất quy tắc có thểđược biểu diễn bằng tham số bởi các đa thức ( ) và ( ):
Trong đó, ( ) và i( ) là các đường phụ thuộc vào các node kiểm tra và các node biến thứ ; và là số node kiểm tra và số node biến tương ứng.
2.5.5 Mã hóa mã LDPC
Mã hóa mã LPDC được thực hiện một cách tương tự như các mã tuyến tính đã được trình bày trên. Ma trận sinh G được tạo ra từ ma trận kiểm tra chẵn lẻ H. Dữ liệu
= 1… � được mã hóa bằng cách nhân với ma trận sinh, = , trong đó u là chuỗi bit thông tin.[11]
2.5.6 Gi i mã mã LDPC
Giải mã là một yếu tố quan trọng có tính quyết định đến hiệu suất của các kỹ thuật mã hóa kênh truyền. Trong công trình về mã LDPC của Gallager, một giải thuật giải mã gần tối ưu được đề xuất. Nó được gọi là giải thuật chuyển thông tin lặp (Iterative
= −1 =2 (2.26) = −1 =2 (2.27)
34
Message Passing Algorithm - MP) vì hoạt động của nó được giải thích bằng việc chuyển thông tin lặp đi lặp lại theo các đường trong đồ hình Tanner.
Tổng quát, các giải thuật MP có thể được chia ra thành hai loại: giải thuật lật bit (Bit Flipping Algorithm - BF) và giải thuật truyền belief (Belief Propagation Algorithm). Sự khác biệt giữa giải thuật BF và BP là trong giải thuật BF thông tin là các bit nhị phân, trong khi đó trong giải thuật BP thông tin là các xác suất biểu diễn độ tin cậy cho mỗi bit. Hơn nữa, giải thuật BP đã được chứng minh có hiệu suất tiến gần dung lượng nhưng có độ phức tạp thực hiện cao hơn, trong khi giải thuật BF có độ phức tạp thấp hơn, nhưng có hiệu suất giải mã thấp.
2.5.6.1 Ký hi u
Để trình bày về giải thuật giải mã lặp cho mã LDPC, chúng ta sẽ sử dụng các ký hiệu trong bảng 2.1.
Xét mã LDPC ( , ) có ma trận kiểm tra chẵn lẻ kích thước ( − ) × . Tốc độ mã là � = / . Giả sử rằng các bit đã được điều chế BPSK, sau đó được mã hóa LDPC và truyền qua kênh truyền AWGN. Từ mã ký hiệu là � = ( 1, 2,… , ), được ánh xạ thành dạng lưỡng cực = ( , 2,…, ), = 2 −1, trước khi phát. Tại máy thu, chúng ta thu được vector = ( 1, 2,…, ), với = + ; = 1,…, . là nhiễu cộng Gaussian có trung bình zero và phương sai �2 =�0 2= 2�.� /�0 −1 ; với năng lượng bit trung bình � là 1. Gọi = ( 1, 2,… , ) là vector quyết định cứng nhị phân thu được từ ; tức là = ( ); với ( ) = 1, nếu 0 và
35
B ng 2.1: Ký hiệu sử dụng trong bộ giải mã LDPC lặp chuyển-thông tin
� �= �
� Thông số dịch lớn nhất trong giải thuật giải mã BF
�� Xác suất ban đầu của từ mã phát =�, trong đó a là 0 hoặc 1
� Xác suất sau (APP) của � = Pr =�|
Tỉ số Log-likelihood (LLR), log 0 1
Tập các node kiểm tra, trong đó bit tham gia như ≡
:ℎ = 1
� Tập các node bits liên kết với node kiểm tra bởi N ≡
:ℎ = 1
� \ Tập � trừ node bit
\ Tập M trừ node kiểm tra
� Xác suất mà node bit của là �, là thông tin có được thông qua các node kiểm tra ngoại trừ node kiểm tra
� Xác suất của node kiểm tra được thỏa nếu node bit của được xem là không đổi tại �, các node bit còn lại có phân phối độc lập được xác định bởi xác suất ′: ′ � \
36
2.5.6.2 Gi i thuật gi i mã truyền độ tin cậy dựa trên xác suất (Probabilistic Belief Propagation Decoding Algorithm)[12]
Ngõ vào: xác suất hậu nghiệm (A Posteriori Probability - APP) 0 và 1 cho mỗi bit cho một kênh truyền AWGN.
Khởi tạo: các biến 0 và 1 được khởi tạo cho các giá trị 0 và 1. Thiết lập bộđếm vòng lặp và số lần lặp tối đa � . Quá trình lặp: 1) Phép toán hàng Xác định = 0 − 1 và tính cho mỗi , : Thì: Và: 2) Phép toán cột Với mỗi , và �= 0; 1, cập nhật: 1 =� = 1| = 1 1 + � −2�2 0 = 1− 1 (2.28) = �′ ′ � \ (2.29) 0 =1 2 1 + 1 =1 2 1− (2.30) (2.31) � =� � �′ ′ � \ (2.32)
37 Với � được chọn sao cho 0 + 1 = 1. 3) Quyết định
Cập nhật “xác suất hậu nghiệm giả” 0 và 1 theo công thức:
4) Kiểm tra chẵn lẻ
Nếu � = ; ngõ ra là c và dừng giải thuật. 5) Bộđếm số lần lặp
Dừng lại nếu số lần lặp vượt quá giới hạn. Nếu không, quay vềbước 1.
2.5.7 Thiết kế và tối ưu mƣ LDPC [13]
Có một số thông sốđược xem xét trong quá trình thiết kế mã LDPC. Những thông số phụ thuộc vào nhu cầu ứng dụng và ảnh hưởng đến hiệu suất của mã. Ngoài ra, trong quá trình thiết kế mã LDPC, có một số thông số được tối ưu để có được hiệu suất tốt hơn và tỷ lệ lỗi bit tốt hơn.
Kích thước mã
Một trong các thông số cơ bản của thiết kế mã là kích thước mã, được xác định bởi chiều dài mã � và trọng số hàng-cột và được ký hiệu (�, , ), mã có chiều dài khối lớn hơn sẽ có hiệu suất tốt hơn các mã có chiều dài ngắn hơn,nhưng xét về chi phí và thực hiện phần cứng chúng yêu cầu bộ nhớ lớn hơn. Trọng số mã và tốc độ mã � =� � � (2.33) = 1 , 1 > 0 0 , ℎ (2.34)
38
Một thông số khác đó là trọng số mã và tốc độ mã. Mã có trọng số hàng và cột càng lớn, mức độ tính toán tại mỗi node càng tăng, vì các node sẽ xử lý các bit thông tin nhiều hơn trong quá trình giải mã. Mặt khác, trọng số càng cao thì quá trình giải mã càng chắc chắn và càng nhiều node tham gia vào quá trình tính toán xác suất của một bit thì tốc độ hội tụ sẽnhanh hơn.
Tốc độ mã biểu diễn số bit dư, tốc độ mã càng cao có nghĩa là ít sự dư thừa hơn, thông lượng của dữ liệu thông tin cao nhưng giảm khảnăng bảo vệ của các bit, làm giảm đi hiệu quả hiệu suất giải mã và làm tăng tỉ lệ lỗi bit (BER). Tốc độ mã thấp có nghĩa là thông lượng thấp nhưng hiệu suất giải mã tốt hơn. Trọng số cột đã được chứng minh là có ảnh hưởng đến tính chất khoảng cách tối thiểu chẳng hạn như trong các mã có trọng số cột là 2 tăng theo logarithm theo �, các mã với 3 có khoảng cách tối thiểu tăng tuyến tính theo �, điều mà chúng ta mong muốn. Tuy nhiên, so với các mã có 3,