Tách sóng Maximum Likelihood

Một phần của tài liệu Kết hợp mã LDPC với tách sóng SIC để nâng cao chất lượng hệ thống MIMO OFDM (Trang 68)

Tách sóng Maximum Likelihood (ML) chọn giá trị của vector � sao cho tối đa xác suất có điều kiện của tín hiệu � thu được đối với tín hiệu �được truyền

Vệc tối đa trong công thức (3.15) được thực hiện trong toàn bộ không gian symbol - chiều, có nghĩa là, trong tất cả cách kết hợp các giá trị có thể có cho mỗi . Trong trường hợp đang xét, nhiễu được mô hình là nhiễu cộng trắng Gaussian, xác suất có điều kiện của tín hiệu �thu được đối với tín hiệu �được truyền đi:

Vì vậy, việc tối đa xác suất có điều kiện (3.15) được rút gọn thành vấn đề tối ưu tổ hợp

→ � � � → � (3.14) � � ��|� �|� (3.15) ��|� = 1 2� − �− � 2�2 2 (3.16) min � � − � 2 (3.17) (3.13)

54

Trong đó, các giá trị của là −1 hoặc 1. Vấn đề (3.17) có thể được phát biểu lại như sau: với vector � �� và ma trận ��× , tìm vector cột � {1,−1} sao cho tối thiểu:

Vấn đề trên là trường hợp nhị phân của phương pháp bình phương nhỏ nhất (LS). Vấn đề (3.18) có thểđược viết lại như sau:

Mục đích của chúng ta, ở máy thu, là tách sóng các thành phần của tín hiệu � một cách càng chính xác càng tốt. Tách sóng ML tối thiểu � − � 2 và cho thấy được hiệu suất tối ưu (về xác suất lỗi) trong tất cả các bộ tách sóng, với điều kiện là tất cả các vector symbol � có xác suất bằng nhau. Tuy nhiên, độ phức tạp tính toán của tách sóng ML là lũy thừa của . Vì lý do này, nhiều giải thuật thay thếđã được phát triển để đạt được hiệu suất gần tối ưu với độ phức tạp tính toán thấp.

3.2.2.2 Tri t can nhi u liên tiếp (SIC)

Triệt can nhiễu liên tiếp (SIC) cải thiện hiệu suất của hệ thống bằng cách tách can nhiễu và loại bỏảnh hưởng của can nhiễu đối với luồng dữ liệu theo cách nối tiếp. Việc sử dụng SIC được đề xuất đầu tiên bởi Kohno cho hệ thống đa truy cập trải phổ. Sau đó, SIC đã được phân tích và thực hiện rộng rãi đểtách sóng đa user trong hệ thống trải phổ. SIC cải thiện hiệu suất của hệ thống MIMO bằng 2 cách: (1) cải thiện độ lợi sau xử lý của các lớp liên tiếp bằng cách giảm can nhiễu, (2) mỗi lớp liên tiếp được ước lượng có bậc phân tập cao hơn dẫn đến độ lợi lớn hơn. Tuy nhiên, lỗi trong quá trình

� − � 2 (3.18) (3.19) (3.19) arg min � � − � 2 = arg min � � − � � � − � = arg min � −�� �� − �� �� � +�� � � = arg min � �� � � −2�� ��

55

tách sóng của một lớp sẽảnh hưởng đến các lớp tiếp theo và hiệu ứng này được gọi là truyền lỗi. Truyền lỗi là một yếu tố quan trọng hạn chế hiệu suất của SIC. Tuy nhiên, phân tích chính xác truyền lỗi rất chuyên sâu về toán học và do đó hầu như được bỏ qua trong hầu hết các ứng dụng. Quyết định được sử dụng để chọn luồng được ước lượng là một yếu tố quan trọng ảnh hưởng đến hiệu suất và mục tiêu của bất kỳ thống kê quyết định được chọn phải phải làm giảm truyền lỗi trong hệ thống, do đó cải thiện hiệu suất của hệ thống.[18]

Trong mô hình triệt can nhiễu liên tiếp, khi một luồng dữ liệu được khôi phục thành công, chúng ta có thể loại bỏ nó khỏi vector thu và giảm gánh nặng cho phía thu trong việc xử lý các luồng dữ liệu còn lại.

Chúng ta sử dụng tách sóng zero-forcing (hoặc MMSE) để tách sóng luồng dữ liệu

1[ ], giải mã và sau đó loại bỏ khỏi vector thu. Giả sử luồng đầu tiên được giải mã thành công, sau đó bộ tách sóng ZF/MMSE thứ hai chỉ cần xử lý các luồng 3,…, �

như là can nhiễu, vì 1 đã được loại bỏ chính xác. Quá trình này tiếp tục cho đến khi còn một luồng duy nhất (không xử lý bất kỳ can nhiễu từ các luồng dữ liệu khác)[19]. Chúng ta giả định việc loại bỏ là thành công trong tất cả các tầng trước đó. Mô hình SIC được minh họa như hình 3.8.

Tuy nhiên, chúng ta có thể nhận thấy một vấn đề quan trọng với cấu trúc máy thu này. Đó là truyền lỗi (error propagation): nếu lỗi xảy ra trong quá trình tách sóng luồng dữ liệu thứ k, nó sẽ làm cho việc loại bỏ tín hiệu không chính xác. Hơn nữa, lỗi này sẽ truyền cho tất cả các luồng sau đó, + 1,…,�. Nó khá phức tạp để phân tích hiệu suất của mô hình này. Nếu chúng ta giả định các luồng dữ liệu được mã hoá tốt và chiều dài khối đủ lớn, thì xác suất của các luồng được loại bỏ thành công là rất cao. Với giảđịnh này, luồng dữ liệu thứ k không bị can nhiễu bởi các luồng trước đó, tức là từ các luồng 1,…, −1.

56

Hình 3.8: Mô hình triệt can nhiễu liên tiếp

Tri t can nhi u liên tiếp có phân bậc (OSIC)

Xem xét vấn đề truyền lỗi (error propagation) đã đề cập trong phần trên. Trong một hệ thống thông tin liên lạc thực sự, không thể hủy bỏ các luồng hoàn hảo, do đó truyền lỗi là không thể tránh khỏi. Hơn nữa, truyền lỗi có tác động tiêu cực hiệu suất của máy thu. Mục tiêu của chúng ta là giảm thiểu truyền lỗi càng nhỏ càng tốt.

Giả sử có A lỗi xảy ra trong một tầng, khi đó chúng ta đang thực hiện tách sóng và giải mã luồng 1. Sau đó, loại bỏ luồng đã giải mã 1, tất cả A lỗi sẽ được truyền đến

� −1 tầng tiếp theo. Truyền lỗi này dẫn đến lỗi nhiều hơn. Thay vì luồng 1, chúng ta tách sóng và giải mã luồng bất kỳ. Giả sử có B lỗi xảy ra sau khi xử lý, nếu B < A, thì sốlượng lỗi truyền sẽ nhỏhơn. Càng ít lỗi truyền, việc loại bỏ càng chính xác. Để chống lại truyền lỗi, chúng ta cần sử dụng mô hình phân bậc trong hệ thống V- BLAST. Phân bậc là một phương pháp giảm truyền lỗi bằng cách sắp xếp thứ tự của

Luồng 1 Luồng 2 Luồng 3 Luồng � Giải mã luồng � Tách sóng ZF/MMSE � Loại bỏ luồng 1,2,…,�−1 Giải mã luồng 3 Tách sóng ZF/MMSE 3 Loại bỏ luồng 1,2 Giải mã luồng 2 Tách sóng ZF/MMSE 2 Loại bỏ luồng 1 Giải mã luồng 1 Tách sóng ZF/MMSE 1

57

các luồng được tách. Các luồng có SNR sau tách sóng cao hơn có thể có xác suất lỗi thấp hơn, do đó xử lý các luồng này ở các tầng trước đó dẫn đến giảm lỗi.

Thay vì xử lý các luồng ngay, chúng ta tính SNR của mỗi luồng, sắp xếp các luồng theo thứ tự SNR cao đến thấp. Sau đó, chọn luồng SNR lớn nhất là luồng thứ 1. Chúng ta sử dụng luồng này để tách sóng với zero-forcing (hoặc MMSE), giải mã và loại nó khỏi vector thu. Sau khi loại bỏ, chúng ta sẽ có một hệ thống MIMO mới với � −1

luồng và � anten thu. Bây giờ chúng ta tính SNR cho hệ thống mới � −1 ×� , chọn luồng có SNR lớn nhất là luồng thứ 2, tiếp tục các bước trên cho đến khi tất cả các luồng được giải mã. Một minh họa của mô hình SIC phân bậc như hình 3.9. Trong mô hình phân bậc, chúng ta chọn luồng dữ liệu có SNR lớn nhất mỗi thời điểm, điều này chắc chắn rằng sốlượng lỗi truyền đến tầng tiếp theo là nhỏ nhất.[19]

Hình 3.9: Mô hình tách sóng có phân bậc (OSIC)

Luồng thứ 3 Luồng thứ 2 Luồng thứ� Luồng thứ 1 Tính SNR sau tách sóng Tách sóng và giải mã luồng thứ 1 Tính SNR sau tách sóng Tách sóng và giải mã luồng thứ 2 Loại bỏ luồng thứ 1 Tính SNR sau tách sóng Tách sóng và giải mã luồng thứ 3 Loại bỏ luồng thứ 1,2 Tách sóng và giải mã luồng thứ� Loại bỏ luồng thứ 1,2…,�−1

58

Về cơ bản, V-BLAST sử dụng các giải thuật ZF hoặc MMSE lặp để thực hiện ước lượng symbol. Tổng quát, phương pháp tách sóng SIC (OSIC) gồm các bước lặp sau đây[20]:

1. Xác định ma trận lọc dựa trên các phương trình (3.7) hoặc (3.11) cho ZF hoặc MMSE tương ứng

2. Chọn kênh truyền tốt nhất dựa trên tỉ số tín hiệu trên nhiễu (SNR) hoặc tỉ số tín hiệu trên nhiễu cộng can nhiễu (SINR) cho ZF SIC hoặc MMSE SIC tương ứng. Sai sốước lượng nhỏ nhất tương ứng với hàng của G có chuẩn Euclide tối thiểu.

3. ớc lượng phần tử của s tương ứng bằng cách sử dụng hàng thứ p của G làm vector ép về không như mô tả bên dưới (giả sử hàng thứ p của G có chuẩn Euclide tối thiểu)

� ,� = ��

4. Dịch ,� về điểm trong chòm sao gần nhất bằng cách sử dụng lượng tử khoảng cách tối thiểu, tức là để thực hiện quyết định symbol

� = ,�

Trong đó Q(.) là lượng tử khoảng cách tối thiểu của loại chòm sao nhất định 5. Loại bỏ can nhiễu của � khỏi vector tín hiệu thu được y, như phương trình sau:

��−1 =� − � �

Nếu quá trình tách sóng trước đó là chính xác, bậc phân tập của tín hiệu thu còn lại tăng lên một vì hệ thống � ×� giảm còn � −1 ×� sau khi tách sóng một symbol và tiếp tục tăng lên cho đến lớp cuối cùng.

6. Quay lại bước một, nhưng bây giờ bỏđi cột thứ p của ma trận kênh truyền H tương ứng với symbol đã được tách sóng và thay thế bằng �−1

59

Các bước nói trên xây dựng cho ZF SIC và MMSE SIC chỉ có sự khác biệt trong thiết kế của ma trận lọc ở bước một. Các bước 1, 2 và 6 được thực hiện trong quá trình tiền xửlý; các bước còn lại được thực hiện trong quá trình xử lý dữ liệu.

Mô hình tách sóng SIC đạt được hiệu suất tốt hơn các mô hình tách sóng tuyến tính, nhưng có nhược điểm là độ phức tạp tính toán bởi vì yêu cầu nhiều phép tính giả nghịch đảo của ma trận kênh truyền.

3.3 Phơn tích độ phức t p tách sóng V-BLAST 3.3.1 Quy tắc chung trong phân tích độ phức t p[21] 3.3.1 Quy tắc chung trong phân tích độ phức t p[21]

Một số nguyên tắc cơ bản được sử dụng trong phân tích độ phức tạp như là độ phức tạp của phép nhân ma trận, chuyển từ phép toán số phức phức tạp sang phép toán phức tạp số thực, độ phức tạp của phép cắt và độ phức tạp của việc tìm giá trị nhỏ nhất từ một tập giá trịđược cho.

1) Độ phức tạp của tích ma trận: xét các ma trận và (thực hoặc phức) với các kích thước �× và ×�, thì phần tử thứ , của tích hai ma trận được xác định là:

Trong đó, � là hàng thứ của ma trận và là cột thứ của ma trận .

Do đó, để có được một phần tử của ma trận tích, cần thực hiện −1 phép cộng và phép nhân. Ma trận kết quả có kích thước là �×� và do đó cần tổng số �. −1 .�

phép cộng và �. .� phép nhân. Vì trong phép cộng số phức, phần thực và phần ảo được cộng độc lập, do đó có hai phép cộng số thực cho mỗi phép cộng số phức.

1 �� = 2 ��

Tương tựnhư vậy, một phép nhân số phức bao gồm các phép toán sau đây:

1� = 4� + 2��

� = �,

=1

60

2) Độ phức tạp của phép cắt: là giá trị nhỏ nhất của số phép cộng và/hoặc số phép nhân. Các mô hình chòm sao M-PSK hoặc M-QAM yêu cầu 2 phép so sánh. Độ phức tạp của một phép so sánh tương đương với độ phức tạp của một phép cộng số thực. Do đó, phép cắt của vector � chiều � yêu cầu tối đa là � 2 �� . Để tìm giá trị nhỏ nhất trong � số, độ phức tạp tương đương với � −1 �� .

3.3.2 Phân tích độ phức t p tách sóng tuyến tính 3.3.2.1 Độ phức t p của Zero-Forcing[21]

a) Độ phức tạp trong quá trình tiền xử lý

Trong quá trình tiền xử lý chỉ có giả-nghịch đảo của ma trận kênh truyền H được tính bằng cách sử dụng phương trình (3.7). Tổng độ phức tạp của quá trình tiền xử lý theo phép toán thực (tức là phép cộng thực (�� ) và phép nhân thực (� )) được xác định là:

4�3 +�2 8� −2 −2� � (�� )

4�3 + 8�2� (� )

b) Độ phức tạp trong quá trình xử lý dữ liệu

Quá trình xử lý dữ liệu trong ZF bao gồm một phép nhân ma trận-vector theo sau bước cắt mỗi vector tín hiệu truyền như trong phương trình (3.8). Độ phức tạp của tích ma trận-vector bằng � � −1 �� và � � � . Độ phức tạp của phép cắt vector �

chiều đối với các điểm chòm sao có M-mức là � 2 �� . Do vậy trong quá trình xử lý dữ liệu, độ phức tạp tổng cộng cho mỗi vector truyền � theo �� và �

bằng : 2� � + 2� � −1 +� 2 (�� ) � � (� ) (3.21) (3.22) (3.23) (3.24)

61

3.3.2.2 Độ phức t p của MMSE[21]

Độ phức tạp của giải thuật MMSE là gần như giống với ZF, ngoại trừ sự khác biệt nhỏ trong quá trình tiền xử lý, trong đó có thêm độ phức tạp � (�� ) do phép cộng � vào phần thực của các phần tử đường chéo của . Như vậy, độ phức tạp tổng cộng trong giai đoạn tiền xử lý bằng:

4�3 +�2 8� −2 −2� � +� (�� )

4�3 + 8�2� (� )

Độ phức tạp của MMSE trong quá trình xử lý dữ liệu bằng với ZF và được xác định bởi phương trình (3.23) và (3.24).

3.3.3 Phân tích độ phức t p trong tách sóng SIC (V-BLAST) 3.3.3.1 Độ phức t p của ZF-SIC[22]

Độ phức tạp được chia thành quá trình tiền xử lý, trong đó phân bậc và các vector trọng sốđược xác định và quá trình xử lý dữ liệu, trong đó tách sóng và SIC được thực hiện.

a) Độ phức tạp trong quá trình tiền xử lý

Để tính các vector trọng số, một giải thuật lặp bao gồm hai bước được thực hiện.

1. Tính giả-nghịch đảo = + và tìm hàng có độ dài bình phương nhỏ nhất của G. Hàng này là vector trọng số. Hoán vị nó thành hàng cuối cùng và hoán vị các cột của H cho phù hợp.

2. � −1 > 0 thì quay trở lại bước 1, nhưng với:

→ � −1 = ℎ1ℎ2… ℎ� −1 và � → � −1

Từ các phần trước, độ phức tạp của việc tính giả-nghịch đảo đã được xác định là:

4�3 +�2 8� −2 −2� � (�� ) và 4�3 + 8�2� (� ) Độ dài bình phương của tất cả các hàng của được xác định là:

(3.25) (3.26)

62

� =

Việc này có độ phức tạp là �2 � −1 (�� ) và �2� (� ) và tìm giá trị nhỏ nhất của các phần tửđường chéo của �, có độ phức tạp là � −1 (�� ). Bước hoán vị được giảđịnh là có độ phức tạp không đáng kể, vì nó chỉ đơn giản là hoán đổi các con trỏ bộ nhớ. Vì giải thuật là quá trình lặp và kích thước của các ma trận sử dụng ngày càng giảm, độ phức tạp cho mỗi lần lặp giảm. Do đó, độ phức tạp tính toán tổng cộng được xác định là:

� 6�3 + 8�2 1 + 2� + 3� 1 + 6� + 2� −5 (�� )

�2 � + 1 2 +� � � + 1 2� + 1 (� ) b) Độ phức tạp trong quá trình xử lý dữ liệu

Trong bước xử lý dữ liệu, độ phức tạp của giải thuật V-BLAST được tính như sau: 1. Tính thành phần tốt nhất của �. Do phép hoán vị vector trọng số tương ứng bằng với hàng thứ� của được hoán vị. Trong trường hợp ZF-SIC:

= � �

Cắt đến điểm chòm sao gần nhất ,

2. � −1 > 0, quay lại bước 1, nhưng bây giờ với:

� → � − � , và � → � −1

Bởi vì các bước trên được thực hiện � lần, độ phức tạp tổng cộng được xác định:

2� 4� −1 +� 2 (�� ) 8� � (� ) (3.30) (3.31) (3.28) (3.29)

63

3.3.3.2 Độ phức t p của MMSE-SIC[22]

Độ phức tạp của MMSE-SIC tương tự với ZF-SIC ngoại trừ sự khác biệt nhỏ trong quá trình tiền xửlý được xác định như dưới đây:

� 3�3 + 4�2 2� + 1 + 3� 3� + 1 +� −1 (�� )

�2 � + 1 2 +� � � + 1 2� + 1 (� )

3.3.4 Độ phức t p của Maximum Likelihood (ML)[23]

Quá trình tìm kiếm trong phương pháp tách sóng ML được thực hiện trên tất cả các khả năng có thể của các vector truyền � với = 1,2,…, � ; do đó độ phức tạp của ML tỉ lệ � . Hơn nữa, việc tìm kiếm được thực hiện trong “không gian-�”và do đó mỗi khả

Một phần của tài liệu Kết hợp mã LDPC với tách sóng SIC để nâng cao chất lượng hệ thống MIMO OFDM (Trang 68)

Tải bản đầy đủ (PDF)

(120 trang)