Tách sóng V-BLAST

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

Các phương pháp tách sóng tuyến tính gần tối ưu cung cấp các giải pháp đơn giản và độ phức tạp thấp để triệt can nhiễu giữa các lớp không gian truyền. Các bộ tách sóng tuyến tính dựa trên nguyên lý zero-forcing (ZF) để triệt can nhiễu hoàn toàn giữa các lớp không gian bằng cách lọc tín hiệu thu được với nghịch đảo của kênh truyền, nhưng

= + (3.3) Kênh truyền MIMO Luồng ngõ ra Xử lý tín hiệu V-BLAST 1 2 � Luồng dữ liệu ngõ vào S/P Điều chế/ Mã hóa Điều chế/ Mã hóa Điều chế/ Mã hóa 1 Lớp 1 Lớp � Lớp 2 2 �

50

cũng gây ra sự tăng cường nhiễu. Các bộ tách sóng dựa trên tiêu chuẩn sai số bình phương trung bình nhỏ nhất tuyến tính (LMMSE) có xét đến nhiễu và tối thiểu sai số kỳ vọng tổng, thường cho kết quả hiệu suất tốt hơn so với các bộ tách sóng dựa trên ZF.

Đặc điểm chính trong kỹ thuật tách sóng tuyến tính là độ phức tạp thấp. Tuy nhiên, có sự suy hao về hiệu suất trong hệ thống so với các máy thu phi tuyến. Ý tưởng của các kỹ thuật tách sóng tuyến tính là lọc tuyến tính tín hiệu thu được bằng cách sử dụng các ma trận lọc[16]. Giải pháp ép về không (nulling) hoặc ma trận bộ cân bằng được tính từ thông tin kênh truyền sẵn có ở máy thu. Sau đó, vector tín hiệu thu được được biến đổi tuyến tính bởi ma trận cân bằng để có được ước lượng tín hiệu phát như sau:

Trong đó, là ma trận �t×� và là ước lượng tín hiệu phát. Sơ đồ khối của máy thu tuyến tính truyền thống như mô tả trong hình 3.7. Sử dụng máy thu tuyến tính, bậc phân tập tối đa có thể đạt được trên mỗi luồng là � − � + 1. Tùy thuộc vào phương pháp tính toán ma trận cân bằng , tách sóng tuyến tính có thểđược phân loại như sau: kỹ thuật Zero-Forcing (ZF) và sai sốbình phương trung bình tối thiểu (MMSE).

Hình 3.7: Máy thu tuyến tính

3.2.1.1 Zero Forcing

ZF là một kỹ thuật tách sóng tuyến tính, trong đóquá trình được thực hiện tại máy thu, miễn là ma trận kênh truyền là khả nghịch. Kỹ thuật này yêu cầu được biết ở máy thu để thực hiện tách sóng kết hợp và không phải biết ở máy phát. Vector truyền đi

� Ma trận kênh truyền Bộ cân bằng � = + � (3.4)

51

được ước lượng bằng cách nghịch đảo ma trận kênh truyền ngược và áp dụng nó đối với vector thu.

trong đó là tín hiệu thu được + . Cơ sở của kỹ thuật ZF là sử dụng quá trình triệt về không tổ hợp tuyến tính. Mỗi luồng được xem là tín hiệu mong muốn và các luồng còn lại được xem là sự cản trở (can nhiễu) đối với tín hiệu mong muốn. Tất cả tín hiệu can nhiễu được ép về không bằng cách đánh trọng số tuyến tính các tín hiệu thu được để đảm bảo rằng tất cả các thành phần can nhiễu được triệt tiêu. Vector trọng số, trong trường hợp ZF, có thểđược hình thành bằng cách chọn vectơ ép về không thỏa:

Trong đó, ℎ ký hiệu cột thứ của . Quá trình xử lý tuyến tính ở máy thu được thực hiện bởi một ma trận chứa � hàng của vector ép về không, ép tất cả các thành phần tín hiệu được xem là can nhiễu về không, từđó có thểđược ước tính. Nếu � � , ma trận này được gọi là ma trận giả- nghịch đảo của H và được mô tả như sau:

Với (•) là chuyển vị liên hợp phức. Nếu � >� , −1 sẽ có định thức là 0 và nghịch đảo sẽ không tồn tại. Ngoài ra, đểđảm bảo tiêu chuẩn này được thỏa thì ma trận kênh truyền là hạng đủ. Khi tồn tại giả-nghịch đảo, vector truyền được ước lượng

có thểđược tính như sau: = −1 (3.5) ℎ = 0 , ≠ 1 , = (3.6) † = −1 (3.7) = † = + −1 (3.8)

52

Nhược điểm của sử dụng ZF là tăng cường nhiễu ở máy thu. Nếu giả sử rằng kênh truyền không thay đổi trên một frame, giả-nghịch đảo chỉ cần được tính một lần mỗi symbol trong frame đó.

3.2.1.2 Sai sốbình phương trung bình tối thiểu (Minimum Mean Square Error)

Phương pháp tách sóng MMSE ước lượng vector truyền bằng cách tối thiểu sai số bình phương trung bình giữa vector symbol được truyền thực sự và ngõ ra của bộ tách sóng tuyến tính [16]như mô tả trong phương trình (3.9).

Giá trịước lượng tối thiểu biểu thức trên, thu được từphương trình sau đây:

Trong đó, ma trận lọc MMSE � được xác định bởi:

Với �2 = �

�� và � là ma trận đơn vị� ×�.

Như vậy, từ phương trình (3.11) có thể dễ dàng thấy rằng phương pháp ZF tương đương với phương pháp MMSE khi �2 = 0. Bộ lọc này cho thấy sự thỏa hiệp giữa sự khuếch đại nhiễu và triệt can nhiễu. Sai sốước lượng của các lớp khác nhau tương ứng với các phần tửđường chéo chính của ma trận hiệp phương sai sai số.

Thành phần �2

� giảm sự khuếch đại nhiễu cùng với triệt can nhiễu. Phương pháp MMSE thực hiện tốt hơn so với phương pháp ZF bằng cách kết hợp thành phần nhiễu vào trong thiết kế bộ lọc. Tuy nhiên, điều này yêu cầu ước lượng chính xác về mức nhiễu trong hệ thống mà thực tếđiều này khó thực hiện được.

�2 =� � − � � − � (3.9) � = �� (3.10) � = �2 � + − 1 (3.11) � � =� � − � � − � =�2 +�2 � − 1 (3.12)

53

Phương pháp MMSE có thểđược xem như là phương pháp ZF bằng cách mở rộng ma trận kênh truyền và vector � thu được như sau:

Và (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó, là vector gồm các phần tử zero, � × 1.

3.2.2 Tách sóng phi tuyến

3.2.2.1 Tách sóng Maximum Likelihood [17]

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. (adsbygoogle = window.adsbygoogle || []).push({});

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à:

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