CHƯƠNG IV:SO SÁNH ĐỘ PHỨC TẠP CỦA CÁC KỸ THUẬT
4.4 Độ phức tạp của ZF với SIC
Thuật toán ZF có SIC cũng được chia làm 2 phần: quá trình đầu và quá trình tải.
Dựa vào giả sử kênh MIMO là hằng số trong suốt quá trình truyền gói, bậc và trọng số vecto có thể được xác định trong quá trình đầu. Trong quá trình tải bộ tách tức thời và SIC sẽ hoạt động
Độ phức tạp của quá trình đầu
Để tìm vecto trọng số, thuật toán lặp gồm 2 bước. Trước hết ta mô tả các bước này sau đó xác định độ phức tạp
1. Tính giả nghịch đảo của ma trận . Tìm hàng có độ dài bình phương nhỏ nhất của . Hàng này là một vecto trọng số. Hoán đổi nó với hàng cuối cùng và hoán đổi các cột H tương ứng
2. Khi Nt-1>0 quay trở lại bước 1,. Với
Độ phức tạp của tính toán giả ngịch đảo được xác định như phần trên. Với ma trân H có NrxNt chiều, thì độ phức tạp là 4Nt3+Nt2(8Nr-2)-2NrNt+Nt R_ADD và 4Nt3+8Nt2Nr R_MULL
Bước tiếp theo là tính toán độ dài bình phương của tất cả các hàng thuộc ma trận và xác định hàng có độ dài bình phương nhỏ nhất. Chú ý là để tìm hàng có độ dài bình phương nhỏ nhất thì tương đương với tìm phần tử nhỏ nhất Ppp trên đương chéo của P, p=1,….,Nt. Vì P thu được thông qua ước tính của giả nghịch đảo ma trận H, nên độ phức tạp của các bước này chỉ là tìm giá trị nhỏ nhất, như phần trên đã nói tìm giá trị nhỏ nhất của Nt giá trị có độ phức tạp là Nt-1phép cộng thực. Phép hoán đổi xem như không có độ phức tạp. Vì thuật toán là lặp, và chiều của ma trận sử dụng tỉ lệ giảm, nên độ phức tạp trên lần lặp giảm. Để giảm độ phức tạp trong quá trình lặp, thì độ phức tạp nên được viết thành dạng chuỗi. Số cuối cùng của phép cộng thực được chỉ ra là
(4.7)
Số phép nhân thực toàn phần của pha đầu ZF có SIC là
Độ phức tạp trong quá trình tải
Trong quá trình xử lý dữ liệu, vecto trọng số được sử dụng đầu tiên để ước lượng phần tử tốt nhất của vecto phát s. Kết quả được lượng tử để tìm giá trị quyết định cứng của ký hiệu chòm sao phát và sau đó ký hiệu này được dùng hồi tiếp để tìm ước lượng tiếp theo. Các bước sau biểu diễn quá trình lặp:
1. Tạo ước lượng thành phần tốt nhất p của s. Do giao hoán vec to trọng số tương ứng bằng hàng của H+. Trong trường hợp ZF:
Giá trị (sest)p gần nhất điểm chòm sao (sest,sliced)p 2. Khi Nt-1>0 quay về bước một, với
Độ phức tạp của bước đầu tiên của thuật toán lặp bằng Nr-1 C_ADD và Nr C_MULL, do hai vecto phần tử Nr được nhân. Bước chia nhỏ trong trường hợp chòm sao M_ary thì có độ phức tạp là log2(M) R_ADD. Bước 2 gồm tích vecto vô hướng và trừ vecto. Tích vecto vô hướng có độ phức tạp là bằng Nr C_MULL và độ phức tạp của trừ vecto là Nr C_ADD, do vecto có Ne phần tử. Vì các bước ở trên thực hiện Nt lần, nên có thể nói độ phức tạp của quá trình tải ZF có SIC bằng 2Nr(4Nr-1)+Nrlog2(M) R_ADD và 8NtNr R_MULL trên vecto phát s.
4.5 Độ phức tạp của MMSE có SIC
Độ phức tạp của MMSE có SIC được xác định giống như cách đã làm với ZF có (4.8)
(4.9)
(4.10)
(4.11)
trong việc xác định vecto trọng số. Trong MMSE, quá trình lặp của việc tính toán trọng số thực hiện như sau
1. Tính ma trận trọng số W=PHJ, với P=(I+HHH)-1. Tìm lối vào đường chéo nhỏ nhất của P và giả sử lối vào đó là lối vào thứ p. Hoán đổi hang thứ p của W với hang cuối cùng và hoán đổi cột tương ứng của H. Hoán đổi hang của W là vecto trọng số
2. Khi Nt-1>0 quay trở lại bước 1, với
So sánh với ZF có SIC, độ phức tạp của bước 1 cao hơn một chút, vì phép cộng I với HHH. Khi là thực, độ phức tạp chỉ gồm Nt phép cộng thực của . Điều này dẫn đến độ phức tạp là 4Nt3 + N2t(8Nr-2)-2NrNt+Nt R_ADD và 4Nt3+8Nt2Nr R_MULL. Tất cả vòng lặp của thuật toán được tính, điều này cho độ phức tạp toàn phần ( bao gồm độ phức tạp của tìm phần tử đường chéo nhỏ nhất của P)
Và
Trong thuật toán MMSE có SIC, thì quá trình tải tương đương với kỹ thuật ZF có SIC, trừ trường hợp vecto trọng số là hang của ma trận W thay vì là hàng của ma trận giả nghịc đảo H. Vì thế độ phức tạp của quá trình tải cho thuật toán MMSE có SIC là 2Nr(4Nr-1)+Nrlog2(M) R_ADD và 8NtNr R_MULL
(4.12)
(4.13)
(4.14)
4.6 Độ phức tạp của MLD
Vì việc tìm kiếm trên MLD thực hiện trên tất cả các vecto phát si, với i=1,….I, nên độ phức tạp của MLD tỉ lệ với số lượng thành phần I. Thêm nữa là việc tìm kiếm được thực hiện trong “không gian x” và vì thế mỗi thành phần si được nhân với ma trận kênh H. Chú ý có thể viết tích vecto ma trận của phần tử thứ i là:
Với hp ký hiệu là cột thứ p của H. Vì tất cả các phần tử của si được lấy từ bộ chòm sao {s1,….,sM}, chúng ta có thể thu được tất cả các thành phần trong MLD như hình C-1 chỉ ra. Khi kênh được xem là tĩnh trong suốt quá trình truyền gói, để đạt hiệu quả thì các thành phần được lưu trong bộ nhớ trong suốt quá trình đầu và sử dụng chúng trong quá trình tải. Hình 3-1 sẽ chỉ ra, tuy nhiên số lượng phần tử tăng hàm mũ theo số lượng anten TX. Khi bộ nhớ không đủ lớn, thì không phải tất cả các phần tử được lưu và chúng phải được tính toán cho mỗi vecto phát để thực hiện MLD. Do đó rõ rang độ phức tạp của MLD là phụ thuộc vào số lượng của bộ nhớ hữu dụng. Có hai trường hợp cần xem xét
- Dung lượng bộ nhớ nhỏ nhất: Bộ nhớ chỉ đủ để lưu tích các cột của H.
Ví dụ bộ nhớ BPSK lưu (hp’-hp) với 1pNt. chú ý là trong trường hợp này không cần thiết để lưu –hp, vì nó được suy ra từ hp, nên bộ nhớ ít hơn 2 lần so với yêu cầu. Chú ý là trong mỗi vecto tải, tổ hợp tất cả Hsi có thể với 1i I phải được xác định đi xác định lại, dẫn đến tăng độ phức tạp lên.
- Dung lượng bộ nhớ tối đa: Dung lượng đủ để lưu tất cả tổ hợp có thể của Hsi với 1i I trong suốt pha huấn luyện. Vì I tăng hàm mũ theo Nt, nên bộ nhớ lớn là cần thiết
Tiếp theo, độ phức tạp của các trường hợp trên sẽ được xác định cho cả hai quá trình đầu và quá trình tải[7]
(4.15)
Hình 4-1: Tất cả phần tử cho MLD Độ phức tạp trong quá trình đầu ( dung lượng bộ nhớ nhỏ nhất)
Trong trường hợp này ít bộ nhớ dùng mã hóa xác suất tối đa MLD, một phần lớn của quá trình dùng chop ha dữ liệu. Chỉ có quá trình trong pha huấn luyện trong MLD là tính toán cho tích các giá trị của chòm sao với các cột của H. Nếu có M điểm chòm sao, thì khi đó độ phức tạp của tích là MNrNt C_MULL hoặc 2MNrNt R_ADD và 4MNrNt R_MULL
Độ phức tạp trong quá trình tải ( dung lượng bộ nhớ nhỏ nhất)
Như phần trên đã chỉ ra, xác suất dò tối đa trên vecto phát cho bởi công thức
Vì chúng ta giả sử bộ nhớ đủ để lưu trữ ít nhất tất cả tích của các điểm chòm sao với các cột của H, hps’, nên chỉ có phép cộng phức để tìm x-Hsi, bắt đầu tại x và sau đó với x-h1s1 tới x- h1sM, chúng ta có thể sử dụng sơ đồ cây như hình 3-1 để tính tất cả x-Hsi , i=1,…I. Độ phức tạp bằng
Tính toán kết quả chuẩn bình phương có độ phức tạp 2Nr phép nhân thực và 2Nr-1 phép cộng thực. Vì có I thành phần, nên tính toán chuẩn bình phương cần được thực hiện I lần. Cuối cùng, giá trị nhỏ nhất của I chuẩn bình bình phương phải thu (4.16)
(4.17)
được có độ phức tạp I-1 phép cộng thực. Do vậy độ phức tạp toàn phần trên vecto phát là 2NrI R_MULL và
Nếu một gói gồm Ns vecto, thì độ phức tạp toàn phần của quá trình tải thu được bằng cách nhân các số ở trên với Ns
Độ phức tạp trong quá trình đầu ( dung lượng bộ nhớ tối đa)
Nếu có đủ bộ nhớ để lưu trữ tất cả các thành phần, thì chúng được xác định trong suốt quá trình đầu và được sử dụng trong pha dữ liệu. Độ phức tạp của tích vecto ma trận Hsi thu được nhở dùng sơ đồ cây hình 3-1. bắt đầu với h1s1 tới h1sM, sử dụng sơ đồ cây để tính tất cả Hsi i=1,….,I. Vì thế trước tiên, các tích của mỗi cột H với mỗi giá trị điểm chòm sao được xác định. Cái này có độ phức tạp toàn phần là 2MNrNt R_ADD và 4MNrNt R_MULL. Sau đó, phép cộng chỉ ra như trên sơ đồ cây. Nó có độ phức tạp là
Như vậy độ phức tạp toàn phần là 4MNrNt R_MULL và
Độ phức tạp trong quá trình tải ( dung lượng bộ nhớ tối đa)
Trong suốt pha dữ liệu vecto trừ x – Hsi và chuẩn bình phương của kết quả phải được xác định cho I vecto s có thể. Bước tiếp theo là để thu được giá trị nhỏ nhất của chuẩn bình phương. Trừ vecto x – Hsi được thực hiện với i=1,….,I và có độ phức tạp bằng NrI C_ADD.Tiếp đến, chuẩn của kết quả I phải được xác định. Nó có độ phức tạp là (2Nr-1)I R_ADD và 2NrI R_MULL. Sau đó, giá trị nhỏ nhất của chuẩn I (thực) phải có được và nó có độ phức tạp bằng I-1 R_ADD. Như vậy độ phức tạp toàn phần là 4Nr-1 R_ADD và 2NrI R_ADD trên vecto phát
Để thu được độ phức tạp cho toàn bộ gói, thì số lượng độ phức tạp này phải được nhân với số lượng vecto không gian trong một gói Ns. Chú ý là biểu đồ độ phức tạp này tăng tuyến tính theo số lượng anten thu và tăng mũ theo số lượng anten phát. Có thể giảm độ phức tạp này mà không mất quá nhiều suy hao. Từ những phân tích trên, rõ ràng là trong việc tính toán độ phức tạp cho MLD là xác định của chuẩn x – Hsi . Để giảm độ phức tạp, thì xấp xỉ chuẩn l1 được sử dụng
(4.18)
(4.19)
(4.20)
(4.21)
Với hq là hàng thứ q của H. Xấp xỉ này chỉ gồm phép cộng thực ( không có phép nhân) làm cho thuật toán MLD giảm phần phức. Trở ngại của MLD dùng nguyên tắc xấp xỉ là hiệu suất BER xấu hơn khoảng 0.5dB. Định nghĩa một chuẩn mới không ảnh hưởng tới độ phức tạp của quá trình đầu. Tuy nhiên độ phức tạp của pha tải được giảm tính toán chuẩn xấp xỉ l1 chỉ có độ phức tạp (2Nr-1) phép cộng thực không có phép nhân. Theo đó, độ phức tạp toàn phần trên vecto TX trong trường hợp đã giảm là 4NrI-1 R_ADD. Rõ ràng, sự giảm này là rất có ý nghĩa.
Nhưng độ phức tạp vẫn tăng hàm mũ theo Nt.
4.7 Đánh giá độ phức tạp của các thuật toán
Dựa vào độ phức tạp của các thuật toán SDM ta có thể so sánh đánh giá chúng.
Giả sử là thuật toán thi hành với 8 bit hoạt động. và độ phức tạp của bộ nhân 8 bit gấp 10 lần độ phức tạp của bộ cộng 8 bit, điều giả sử này cũng dễ hiểu bởi vì nhân mũ 2 trong hệ 8 tương đương với phép dịch. Vì vậy nhân 2 số 8 bit yêu cầu 8 phép dịch và tổng của các kết quả (7 phép cộng). Đó là lý do vì sao độ phức tạp toàn phần là 8 lần dịch và 7 lần cộng, làm tròn là 10 lần phép cộng đơn.
Dựa vào những giả sử trên, chúng ta có thể biểu diễn độ phức tạp như là số các phép cộng đơn (ADD). Thêm nữa độ phức tạp được xác định cho các gói 64 byte và thời gian ký hiệu cho một vecto MIMO là 4μs. Chú ý là số lượng vecto MIMO trong một gói (Ns) tỉ lệ nghịch với số lượng anten TX (Nt). Trong phép đo độ phức tạp, chúng ta giả sử là độ phức tạp của tách gói, đồng bộ tần số và thời gian, ước lượng kênh đều không phụ thuộc vào kỹ thuật MIMO được chọn. Dựa vào các tham số trên, độ phức tạp tổng cộng là tổng của độ phức tạp ban đầu và độ phức tạp của quá trình tải của hệ thống đối xứng (Nt=Nr), trường hợp BPSK và các thuật toán SDM cho trên hình 3-1,trường hợp MLD chỉ có độ phức tạp của quá trình với tối đa của bộ nhớ được vẽ. L1 và L2 ký hiệu cho tiêu chuẩn l1 và l2 [7]
Hình 4-2: Độ phức tạp tương đương phép cộng trên giây, với Nt=Nr BPSK, gói dữ liệu 64 byte và các thuật toán SDM khác nhau
Từ hình trên thấy rằng độ phức tạp của ZF và MMSE là giống nhau. Cũng như ZF có SIC và MMSE có SIC. Rõ ràng là hiệu suất của sơ đồ có SIC được cải thiện nhưng bù lại độ phức tạp lại tăng so với sơ đồ không dùng SIC. Tuy nhiên độ phức tạp này tăng khoảng hệ số hai nên vẫn có thể quản lý được. Ngạc nhiên là mặc dù độ phức tạp của MLD tăng theo hàm mũ so với Nt, đây là lý mà BPSK có số anten ít, nhưng trong khi đó hiệu suất của MLD vẫn tốt hơn những sơ đồ khác. MLD dựa tren tiêu chuẩn l2, nên độ phức tạp của nó nhỏ hơn hoặc bằng các thuật toán có SIC có Nt=Nr=4. Với chuẩn l1 thì độ phức tạp của MLD phân tán theo độ phức tạp của các kỹ thuật sử dụng.[7]
Hình 4-3: Độ phức tạp tương đương phép cộng trên giây, với N=N 64-QAM,
4.8 Kết luận
Trong chương này, chúng ta đã tổng hợp các kỹ thuật MIMO như là mã khối không thời gian, mã hóa lưới không thời gian, hợp kênh phân chia theo không gian SDM. Nói chung bộ phát bao gồm bộ mã hóa, bộ ánh xạ không thời gian, và trên mỗi anten phát có khối điều chế. Khi bộ ánh xạ không thời gian đơn giản chỉ là bộ phân kênh, thì chúng ta có khái niệm về SDM với mã hóa ngoài. Khi số lượng anten và thế năng phân tập của kênh đủ lớn thì xác suất của lỗi xuất hiện chỉ phụ thuộc vào khoảng cách Eculit của các từ mã. Khi bậc phân tập bằng hoặc lớn hơn 4, thì giới hạn miền mã hóa không thời gian theo kiến trúc chỉ 2-3 anten. Trong phần trên chúng ta cũng chỉ ra là SDM có mã ngoài nào đó làm tốt hơn mã hóa không thời gian (STC). Hiệu suất có thể được cải thiện bằng cách lặp trên quá trình xử lý không gian và mã ngoài của SDM.
Cụ thể hơn. Các thuật toán thu của SDM được miêu tả là: ZF, MMSE, ZF với SIC, MMSE với SIC, MLD. Mỗi thuật toán có nhưng ưu và nhược điểm riêng, tùy thuộc vào từng trường hợp mà chúng ta chọn sử dụng thuật toán nào cho tốt nhất Thuật toán ZF: Nhược điểm tương đối lớn của ZF là chịu ảnh hưởng nhiều của nhiễu, đặc biệt là khi kênh có số điều kiện cao. Song ZF có ưu điểm là độ phức tạp ít hơn các thuật toán khác. Độ phức tạp trong quá trình tiền xử lý là
và Độ phức tạp trong quá trình chính là
2NtNr+2Nt(Nr-1)+Nrlog2(M) R_ADD và 4NrNr R_MUL
Thuật toán MLD: Ưu điểm của thuật toán này là hiệu suất thực hiện tốt nhất trong các thuật toán. Tuy nhiên MLD có độ phức tạp tăng hàm mũ theo số lượng anten phát Nt.