Luận án Nghiên cứu nâng cao tốc độ tính toán cho bài toán tối thiểu công suất phát trong mạng truyền dẫn vô tuyến đa ăng-ten
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Luận án Nghiên cứu nâng cao tốc độ tính toán cho bài toán tối thiểu công suất phát trong mạng truyền dẫn vô tuyến đa ăng-ten", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
Tóm tắt nội dung tài liệu: Luận án Nghiên cứu nâng cao tốc độ tính toán cho bài toán tối thiểu công suất phát trong mạng truyền dẫn vô tuyến đa ăng-ten
rị tối ưu của bài toán [31, 62]. Trong trường hợp ( )optrank k X với 1k , phân tích ma trận optX dưới dạng SVD để xác định véc-tơ tối ưu xopt. Giải thuật phân tích SVD 41 được Golub và Kahan giới thiệu năm 1965, đó là một công cụ phân rã ma trận hiệu quả được sử dụng để giảm hạng (hay số chiều) của ma trận [63]. Phương pháp phân tích SVD cho phép biến đổi một ma trận bất kỳ thành ba ma trận thành phần. Mục đích nhằm đưa việc giải quyết bài toán liên quan đến ma trận kích thước lớn, phức tạp về những bài toán có kích thước nhỏ hơn: H opt X UDU (2.10) với 1 2( , ,..., )N U u u u là ma trận trực giao được tạo thành từ các véc-tơ riêng của ma trận optX và D là ma trận chéo hóa gồm các phần tử trên đường chéo có các trị riêng sắp xếp theo thứ tự giảm dần, do đó, giá trị tối ưu [62] của bài toán (2.7) có thể xác định từ công thức: 1/2 1/2 1 ( , ) ( ) k opt i i i i i x UD ν D v u (2.11) với các phần tử ( )iv , 1,2,...,i N của véc tơ [ ]T(1), (2),..., (N) v v v v là các biến ngẫu nhiên độc lập phân bố đều trên vòng tròn đơn vị của mặt phẳng phức và v là véc tơ phức ngẫu nhiên không đối xứng phân bố Gau-xơ không tương quan trên vòng tròn phức có phương sai bằng 1 và trị trung bình bằng 0. Do đó, quá trình ngẫu nhiên hóa các cực trị của bài toán (2.7) được tạo bởi một không gian k chiều từ các k véc-tơ riêng 1 2, ,..., ku u u . Nghiên cứu của [64] đã chứng minh rằng các giải pháp tối ưu của bài toán (2.7) chỉ đạt tới rank = 2 trong hầu hết các trường hợp. Do đó, cách tiếp cận ở việc phân tích ngẫu nhiên có thể không đưa ra kết quả tối ưu hiệu quả, vì không gian tìm kiếm quá nhỏ để xác định giá trị tối ưu. Các bước phân tích SVD cho một ma trận X bất kỳ để xác định giá trị tối ưu xopt: Bước 1: Xác định các véc-tơ riêng của ma trận X: 1 2[ ]n U u u u Bước 2: Xác định các trị riêng của ma trận X: 1 2[ ]n D 42 Bước 3: Tạo ra một dãy giá trị ν phân bố Gau-xơ có phương sai bằng 1, trị trung bình bằng 0. Bước 4: Thiết lập: 1 2 opt x UD ν . 2. 3. Phát triển kỹ thuật tối ưu Nonsmooth kết hợp với hàm phạt Với điều kiện ràng buộc H X xx của bài toán (2.7) có thể được biểu diễn: max( ) 0trace X X (2.12) nếu trace(X) λmax (X) luôn đúng cho mọi giá trị 0 X , khi đó (2.12) trở thành: max( )trace X X (2.13) Điều này có nghĩa chỉ tồn tại một trị riêng của X khác 0 thỏa mãn điều kiện: max max max H X X x x (2.14) trong đó xmax là véc-tơ riêng của X tương ứng với trị riêng lớn nhất x ( )ma X . Dựa trên cơ sở (2.12), bài toán (2.7) được biểu diễn: 0 ( ) N NC min trace X X (2.15) với điều kiện ràng buộc: 2 ( )i i i i Htrace SNR , i = 1, 2,..., M. HX (2.16) max( ) 0trace X X (2.17) Khi trace(X) - λmax (X) đủ nhỏ, thì max max max H X X x x , khi đó 1/2 x x( )ma ma X x thỏa mãn điều kiện ràng buộc SNR của bài toán (2.7). Do đó, mục tiêu của bài toán cần thực hiện tối ưu để cho trace(X) − λmax (X) đạt 43 giá trị nhỏ nhất. Với điều kiện này, sử dụng hàm phạt [76-77] để kết hợp hàm mục tiêu (2.15) với (2.12), khi đó bài toán tối ưu mới như (2.18): max 0 ( ) ( ) ( ) N NC min f trace trace X X X X X (2.18) thỏa mãn điều kiện ràng buộc: 2 ( )i i i i Htrace SNR , i = 1, 2,..., M. HX (2.19) Mặt khác, gradient thành phần của x ( )ma X là x x H ma max x , sử dụng tính chất toán học: max max max max( ) ( ) (( ) ), 0 H Htrace Y X Y X x x Y (2.20) Dựa trên tính chất lặp, nếu gọi X(k) là kết quả tối ưu lần lặp thứ k của bài toán (2.18) với trị riêng lớn nhất λmax(X(k)) tương ứng với véc-tơ riêng X(k), khi đó tại lần lặp thứ k + 1 xây dựng bài toán (2.21): ma ( ) ( ) x ) 0 ( ) ( H( ) ( ) ( ) (( ) ) N N k k kH C kmin trace trace trace X X X X xxX X (2.21) với điều kiện: 2 ( )i i i i Htrace SNR , i = 1, 2,..., M. HX (2.22) trở thành bài toán dạng SDP: ( ) ( ) 0 H( ) ( ) ( ) N N kH k C min trace trace trace X x xX X X (2.23) thỏa mãn điều kiện ràng buộc: 2 ( )i i i i Htrace SNR , i = 1, 2,..., M. HX (2.24) Để minh chứng cho tính khả thi của đề xuất, giả sử (k 1) X là giá trị tối ưu của bài toán (2.23) tại bước lặp k + 1. Vì (k)X là một giá trị tối ưu của (2.23) tại bước lặp k nên: 44 ( ) (( 1) ( 1) max ( ) m 1) ( ) a ( ) ) H ( x ( ) ( ) ( ) ( ) (( ) ) ( ) ( ) k k kk k k k kHktrace trace trace trace X X X X x X X X x Áp dụng tính chất (2.20) ta có: ( 1) ( 1)( 1) ( 1) max ( 1) max ( ) ( ) max ( ) ( 1) ( ) ( ) ( )H ( ) ( ) ( ) ( ) ( ) ( ) ( ) (( ) ) ( ) ( ) ( ) k k k k k k H k k k k k k k f trace trace trace trace trace trace f X X X X X X X x X X X X x X Kỹ thuật hàm phạt có hiệu quả hay không đều phụ thuộc vào việc lựa chọn tham số khi xây dựng thuật toán. Mặt khác, mỗi bước lặp trong thuật toán giúp xác định giá trị tối ưu địa phương và việc lựa chọn điểm khởi tạo (0)X cũng ảnh hưởng tới tốc độ hội tụ của bài toán. Các bước để thực hiện thuật toán xác định giá trị tối ưu đối với kỹ thuật hàm phạt: Bước 1: Xuất phát từ điểm chấp nhận được (0)X , chọn tham số µ0 > 0 và thiết lập chỉ số bước lặp k = 1. Bước 2: Tìm cực tiểu hàm không ràng buộc và nhận được nghiệm cực tiểu kX tại bước lặp thứ k. Bước 3: Kiểm tra kX có phải là nghiệm tối ưu của bài toán gốc hay không bằng cách so sánh giá trị hàm mục tiêu của bước k với bước k - 1 trước đó (hiệu của hai giá trị nhỏ hơn một ngưỡng cho trước, khoảng 10-6? Nếu đúng thì dừng tìm kiếm, nếu không đúng chuyển sang bước 4). Bước 4: Thiết lập tham số phạt mới (ví dụ: µ(k+1) = αµ(k)); k = k + 1 và chuyển về bước 2. Kỹ thuật tối ưu không lồi Nonsmooth kết hợp hàm phạt cần thực hiện hai giai đoạn để giải bài toán (2.21). Cụ thể, ở giai đoạn khởi tạo lựa chọn một bộ giá trị (µ0, (0)X ) thích hợp. Tiến hành xác định giá trị 45 tối ưu (k 1) X thỏa mãn điều kiện ràng buộc và đưa ra giá trị thông qua giải bài toán (2.21). Giai đoạn tối ưu lựa chọn giá trị tối ưu (k 1) X tìm được và cố định giá trị µ, tiếp tục thực hiện giải bài toán (2.21) để xác định giá trị Xopt thỏa mãn điều kiện ràng buộc của bài toán. Trên cơ sở đó xây dựng thuật toán cho kỹ thuật Nonsmooth kết hợp hàm phạt như sau: ---------------------------------------------------------------------------------------------- THUẬT TOÁN 1 [41] ---------------------------------------------------------------------------------------------- * Giai đoạn khởi tạo: - Bước ban đầu: Khởi tạo giá trị µ0 và (0)X thỏa mãn (2.21), thiết lập k = 0 - Bước lặp k: Giải (2.21) để xác định (k 1) X + Nếu ( 1) xe( ) ( ) k matrac X X (thỏa mãn điều kiện rank(X) = 1), thiết lập (0) ( 1): k X X , kết thúc và đưa ra kết quả và (0)X . + Nếu ( 1) xe( ) ( ) k matrac X X (không thỏa mãn điều kiện rank(X) = 1), thiết lập: ( 1) ( )k k X X và : 2 để quay lại bước ban đầu. - Không thỏa mãn điều kiện tối ưu thì thiết lập: : 1k k ; ( ) ( 1)k k X X cho bước lặp k + 1. * Giai đoạn tối ưu: - Thiết lập k = 0. Giải (2.21) để xác định ( 1)k X . + Nếu ( 1) ( )e( ) e( )k ktrac trac X X , kết thúc và đưa ra giá trị tối ưu: ( 1)k opt X X . +Nếu ( 1) ( )e( ) e( )k ktrac trac X X thiết lập : 1k k ; ( 1) ( )k k X X cho bước lặp k + 1. - Đưa ra giá trị Xopt cho bài toán (2.21). ---------------------------------------------------------------------------------------------- 46 Nhiều công bố trước đây khi áp dụng thuật toán 1, các tác giả thường chọn hệ số phạt µ theo kinh nghiệm nhưng không đưa ra tính toán cụ thể [39, 41, 51]. Dẫn tới có những trường hợp xác định được giá trị tối ưu, có những trường hợp không xác định được giá trị tối ưu do việc lựa chọn không phù hợp dẫn tới bài toán không tiến tới được vùng hội tụ. Cụ thể, khi xây dựng thuật toán để tiến hành mô phỏng, hệ số phạt µ0 ban đầu được chọn giá trị nhỏ, khoảng µ0 = 0,5 và tăng dần lên sau mỗi bước lặp theo một quy luật (Ví dụ: µ(k+1) = 1,5µ(k) hoặc µ(k+1) = µ(k) + 0,2). Cách làm này cũng đảm bảo bài toán giải được cho giá trị tối ưu nhưng sẽ mất nhiều bước lặp, đặc biệt trong trường hợp µ nằm xa vùng tối ưu. Trong chương 2, áp dụng lý thuyết hàm phạt chuẩn xác với hệ số phạt µ có thể được tính toán theo (2.25) và (2.26) để µ đạt giá trị tối ưu giúp bài toán nhanh chóng hội tụ về điểm tối ưu. Vấn đề này đã được chứng minh trong các công trình nghiên cứu có liên quan về lý thuyết hàm phạt chuẩn xác [3-4]. Để nâng cao tốc độ hội tụ bài toán, trong [4] đã trình bày một kỹ thuật tối ưu mới dựa trên kỹ thuật Nonsmooth kết hợp hàm phạt, trong đó chứng minh rằng luôn tồn tại một giá trị µ µ0 để bài toán (2.19) sẽ kết thúc chỉ sau một vài bước lặp. Giá trị µ0 được xác định bởi công thức: 0 1 Tmax ν λ ν (2.25) Tuy nhiên, rất khó để tìm được giá trị tối ưu từ hàm Lagrange đối ngẫu đối với bài toán (2.25), do bài toán (2.25) thuộc dạng bài toán NP-khó. Vì vậy, ý tưởng để tìm được giá trị tối ưu sau một vài bước lặp hầu như khó khả thi. Do vậy, sử dụng phương pháp nhân tử Lagrange để xác định µ0 cho bài toán (2.25) theo công thức [65]: 47 2 0 1 M i i i i = max λ (2.26) với điều kiện: ( ) 0,HN i i i = 1, 2,..., M. I h h (2.27) Các bước thực hiện thuật toán cho kỹ thuật tối ưu đề xuất như sau: Bước 1: Xác định giá trị (0)X từ (2.21) và hệ số phạt µ0 từ ( 2.26) và (2.27). Bước 2: Giải bài toán (2.21) và xác đinh giá trị ở bước lặp k + 1 theo quy luật ( 1) ( ): 1,5k k đồng thời thiết lập: ( 1) ( )k k X X . Bước 3: Khi giá trị tối ưu thỏa mãn điều kiện rank(X) = 1 thì dừng và khi đó ( )kX sẽ được lựa chọn giá trị là tối ưu optX của bài toán. 2.4. Xây dựng thuật toán mô phỏng 2.4.1. Xây dựng thuật toán tối ưu SDR Các bước xây dựng thuật toán cho kỹ thuật tối ưu SDR: Bước 1: Thiết lập số ăng-ten tại trạm gốc (N), số người dùng phía thu (M) và số vòng lặp (ITE) cho mỗi mức ngưỡng SNR. Bước 2: Xây dựng ma trận kênh ngẫu nhiên hướng xuống (Hx), mức ngưỡng SNR (snr), hàm mục tiêu (F): Hx = sqrt(1/2)randn(N, M)+jsqrt(1/2)randn(N, M) (2.28) Bước 3: Xác định ma trận tối ưu Xopt với điều kiện ràng buộc và hàm mục tiêu. Bước 4: Xác định công suất tối thiểu Popt. Lưu đồ thuật toán kỹ thuật tối ưu SDR được thể hiện hình 2.3. 48 Bắt đầu M = #,N= #, X = []; F = []; ite =1; Popt = 0; ITE = # X=sdpvar(N,N, 'hermitian','complex') t = sdpvar(1,1) F=[X>=0,t>=0; X<=t*eye(N)] i ≤ M Hii = Hx(:,i)*Hx(:,i)' F = [F, trace(Hii*X) >= snr(i)] i = i + 1 solvesdp(F, trace(X)); Xopt = double(X); Popt = Popt + trace(Xopt) vPopt = [vPopt Popt/ITE]; Kết thúc snr = 10^(mn/10)*ones(M,1); Hx=sqrt(1/2)*randn(N, M)+sqrt(1/2)*1j*randn(N,M) ite ≤ ITE ite = ite + 1 Đúng Đúng Sai Sai Hình 2.3: Lưu đồ thuật toán tối ưu SDR 49 2.4.2. Xây dựng thuật toán tối ưu ngẫu nhiên Các bước xây dựng thuật toán cho kỹ thuật tối ưu ngẫu nhiên: Bước 1: Thiết lập đầu vào liên quan đến số ăng-ten tại trạm gốc (N) và số người dùng phía thu (M), lựa chọn giá trị công suất khởi tạo (Pw). Bước 2: Xây dựng ma trận trận kênh ngẫu nhiên hướng xuống (Hx) như (2.28) và mức ngưỡng SNR (snr). Bước 3: Thiết lập v là véc tơ phức ngẫu nhiên không đối xứng phân bố Gau-xơ: v = sqrt(1/2)randn(N, 1) + jsqrt(1/2)randn(N, 1) (2.29) Bước 4: Thực hiện phân tích SVD từ mà trận Xopt của kỹ thuật SDR để xác định ma trận trực giao U và ma trận chéo hóa D. Bước 5: Sau đó thực hiện các vòng lặp xác định công suất tối ưu Pwlopt trên cơ sở kiểm tra điều kiện dừng. Bước 6: Từ đó xác định được giá trị công suất tối thiểu Pwlopt của bài toán. Lưu đồ thuật toán kỹ thuật tối ưu ngẫu nhiên được thể hiện hình 2.4. 2.4.3. Xây dựng thuật toán tối ưu NSM1 Các bước xây dựng thuật toán cho kỹ thuật tối ưu NSM1: a. Giai đoạn khởi tạo Bước 1: Lựa chọn tham số đầu vào liên quan đến số ăng-ten tại trạm gốc (N) và số người dùng phía thu (M). Thiết lập số vòng lặp ITE cho mỗi mức ngưỡng SNR, lựa chọn tham số phạt µ0 = 0,5 và giá trị Xtmp = Xopt từ kỹ thuật tối ưu SDR. Bước 2: Thiết lập ma trận trận kênh ngẫu nhiên hướng xuống (Hx) như (2.28) và mức ngưỡng SNR. Bước 3: Thực hiện vòng lặp để xác định tham số phạt trên cơ sở kiểm tra điều kiện hàm mục tiêu F. Sau mỗi vòng lặp nếu giá trị tối ưu chưa thỏa 50 mãn điều kiện rank(Xopt) = 1, khi đó ở vòng lặp tiếp theo với hệ số hàm phạt được thay đổi theo quy luật hàm mũ: µ(k+1) := 1,5µ(k). Bước 4: Khi xác định được giá trị tối ưu thực hiện phân tích trị riêng của ma trận Xopt để xác định ma trận ma trận trực giao U và ma trận chéo hóa V, từ đó đưa ra giá tối ưu Xkopt. Bước 5: Xác định hệ số phạt µ và giá trị Xkopt. Lưu đồ thuật toán giai đoạn khởi tạo của kỹ thuật tối ưu NSM1 được thể hiện hình 2.5. b. Giai đoạn tối ưu Bước 1: Thiết lập lựa chọn hệ số phạt từ bước khởi tạo. Bước 2: Thực hiện chọn giá trị cố định hệ số phạt từ giai đoạn khởi tạo và tiếp tục thực hiện tìm giá trị tối ưu Xkopt giống bước 3 và bước 4 của giai đoạn khởi tạo. Bước 3: Xác định điều kiện dừng khi giá trị tối ưu giữa hai vòng lặp liên tiếp có sai số bé hơn hoặc bằng 1: abs(trace(Xtemp) - trace(Xkopt)) ≤ 1 (2.30) Bước 4: Xác định công suất tối ưu: Pkopt = trace(Xkopt) (2.31) Bước 5: Xác định số bước lặp để thực hiện thuật toán NSM1: ITEk = itemu + itex (2.32) với itemu là tổng số bước lặp xác định hệ số phạt ở giai đoạn khơi tạo và itex là tổng số bước lặp xác định giá trị công suất tối thiểu ở giai đoạn tối ưu. Lưu đồ thuật toán giai đoạn tối ưu của kỹ thuật tối ưu NSM1 được thể hiện hình 2.6. 2.4.4. Xây dựng thuật toán tối ưu NSM2 Các bước xây dựng thuật toán cho kỹ thuật tối ưu NSM2: 51 a. Giai đoạn khởi tạo (tính toán tối ưu hệ số phạt µ0 ) Bước 1: Lựa chọn số ăng-ten tại trạm gốc (N) và số người dùng phía thu (M). Thiết lập số vòng lặp (ITE) cho mỗi mức ngưỡng SNR. Bước 2: Thiết lập ma trận trận kênh ngẫu nhiên hướng xuống (Hx) như (2.28) và mức ngưỡng SNR. Bước 3: Thực hiện xây dựng hàm Fn để xác định hệ số nhân tử Lagrange theo (2.24) và hàm điều kiện ràng buộc Fc. Bước 4: Giải hàm Fc để xác định được hệ số phạt tối ưu µ0. Lưu đồ thuật toán giai đoạn khởi tạo của kỹ thuật tối ưu NSM2 được thể hiện hình 2.7. b. Giai đoạn tối ưu Bước 1: Thiết lập lựa chọn hệ số phạt đã tối ưu µ0 từ bước khởi tạo. Bước 2: Thực hiện chọn giá trị cố định tham số phạt từ bước 1 và tiếp tục thực hiện thuật toán tìm giá trị tối ưu. Bước 3: Xác định điều kiện dừng khi giá trị tối ưu giữa hai vòng lặp liên tiếp có sai số bé hơn hoặc bằng 2: abs(trace(Xtemp) - trace(Xkopt)) ≤ 2 (2.33) Bước 4: Xác định công suất tối ưu: Pkopt2 = trace(Xkopt2) (2.34) Bước 5: Xác định số bước lặp để thực hiện thuật toán NSM2: ITEk = itemu2 + itex2 (2.35) với itemu2 là tổng số bước lặp xác định hệ số phạt ở giai đoạn khơi tạo và itex2 là tổng số bước lặp xác định giá trị công suất tối thiểu ở giai đoạn tối ưu. Lưu đồ thuật toán giai đoạn tối ưu của kỹ thuật tối ưu NSM2 được thể hiện hình 2.8. 52 Bắt đầu M = #,N= #, X = []; F = [] Pwlopt = 0;Pwl=# X=sdpvar(N,N, 'hermitian','complex') snr = 10^(mn/10)*ones(M,1); i ≤ M constwl = [constwl wl'*Hx(:,i)*Hx(:,i)'*wl]; i = i + 1 Pwlopt = Pwlopt + wlopt'*wlopt; vPwlopt = [vPwlopt Pwlopt/ITE] Kết thúc vl=sqrt(1/2)*randn(N,1)+sqrt(1/2)*1j*randn(N,1); [Ul,Sl] = eig(Xopt); wl = Ul*Sl^(1/2)*vl; constwl = []; k ≤ Pwl wl = wl/sqrt(min(constwl)/snr(1)); Đúng Đúng Sai Sai Pwl>wl'*wl k = k + 1 Pwl = wl'*wl; wlopt = wl; Sai Đúng Hình 2.4: Lưu đồ thuật toán tối ưu ngẫu nhiên 53 Bắt đầu M = #,N= #, X = []; F = []; A = # Pkopt = 0;mu = #;itemu=0; Xtmp = Xopt; # snr = 10^(mn/10)*ones(M,1); Hx=sqrt(1/2)*randn(N, M)+sqrt(1/2)*1j*randn(N,M); k ≤ A yalmip('clear');[U,V] = eig(Xopt);lmax = V(N,N); xmax = U(:,N); xmaxs=xmax; lmaxs = lmax; X=sdpvar(N,N, 'hermitian','complex'); F=[X>=0]; i ≤ M Hii = Hx(:,i)*Hx(:,i)'; F = [F, trace(Hii*X) >= snr(i)]; i = i + 1 solvesdp(F, trace(X)+mu*(trace(X)- trace(xmax*xmax'*X))) Xkopt = double(X); vCheck1 = [vCheck1; trace(Xkopt)]; [U,V] = eig(Xkopt); mu = 1.5*mu;itemu= itemu + 1 Xtemp = Xkopt; Đúng Đúng Sai Sai k= k + 1 Hình 2.5: Lưu đồ thuật toán tối ưu NSM1: Giai đoạn khởi tạo 54 Hình 2.6: Lưu đồ thuật toán NSM1: Giai đoạn tối ưu Xtemp = Xkopt; ITEX = #; itex = 1 itex ≤ ITEX yalmip('clear');[U,V] = eig(Xtemp); lmax = V(N,N);xmax = U(:,N); X = []; F = []; X=sdpvar(N,N, 'hermitian','complex'); F=[X>=0]; i ≤ M Hii = Hx(:,i)*Hx(:,i)'; F = [F, trace(Hii*X) >= snr(i)]; i = i + 1 solvesdp(F, (1+mu)*trace(X) mu*xmax'*X*xmax); Xkopt = double(X); abs(trace(Xtemp)- trace(Xkopt))<=0.000001itex = itex + 1 Xtemp = Xkopt Pkopt = Pkopt + trace(Xkopt); ITEk = ITEk + itemu + itex; vITEk = [vITEk ITEk/ITE]; vPkopt = [vPkopt Pkopt/ITE]; Kết thúc Đúng Sai Đúng Sai Đúng Sai 55 Bắt đầu M = #,N= #, X = []; F = [] Pkopt2 = 0; ITE = # snr = 10^(mn/10)*ones(M,1); Hx=sqrt(1/2)*randn(N, M)+sqrt(1/2)*1j*randn(N,M); yalmip('clear'); lamb = sdpvar(M,1); t = sdpvar(1,1); Fn = 0; Fc = [t>=0]; i ≤ M Fn = Fn + lamb(i)*snr(i); Fc = [Fc,(eye(N,N) - lamb(i)*(Hx(:,i)*Hx(:,i)'))>=0]; Fc = [Fc,Fn>=t];solvesdp(Fc,-t); lamb0 = double(lamb); vu = sdpvar(M,1); t = sdpvar(1,1); Fc = [vu'*vu=0]; Fc = [Fc, lamb0'*vu>=t]; solvesdp(Fc,-t); vu0 = double(vu); mu0 = lamb0'*vu0; i = i + 1 Đúng Sai Hình 2.7: Lưu đồ thuật toán tối ưu đề xuất NSM2: Giai đoạn khởi tạo 56 mu2 = mu0; itex2 = 0; itex2 ≤ ITEX yalmip('clear');[U,V] = eig(Xtmp2); lmax = V(N,N); xmax = U(:,N); X = []; F = [];F=[X>=0]; X=sdpvar(N,N, 'hermitian','complex'); i ≤ M Hii = Hx(:,i)*Hx(:,i)'; F = [F, trace(Hii*X) >= snr(i)]; i = i + 1 solvesdp(F, trace(X) + mu2*(-lmax - trace(xmax*xmax'*(X - Xtmp2)) + trace(X))); Xkopt2 = double(X); [U,V] = eig(Xkopt2); abs(trace(Xtmp2)- trace(Xkopt2))<=0.000001 itex2 = itex2 + 1 Pkopt2 = Pkopt2 + trace(Xkopt2); ITEk2 = ITEk2 + itemu2 + itex2 vITEk2 = [vITEk2 ITEk2/ITE]; Kết thúc Đúng Sai Đúng Sai Đúng Sai Hình 2.8: Lưu đồ thuật toán tối ưu đề xuất NSM2: Giai đoạn tối ưu 57 2.5. Phân tích kết quả mô phỏng Để thực hiện mô phỏng kết quả, luận án sử dụng cấu hình máy tính có bộ xử lý core i7 4770, tốc độ chip 3.4Ghz socket 1150 và phần mềm Matlab 2018b kết hợp với các gói công cụ Sedumi [66], SDPT3 [102], Yalmip [101]. Mô phỏng 1 Mô phỏng 1 đánh giá so sánh kỹ thuật tối ưu SDR, kỹ thuật ngẫu nhiên và kỹ thuật Nonsmooth kết hợp với hàm phạt (NSM1 và NSM2) với hai tiêu chí: tổng công suất phát và số bước lặp trung bình. Các tham số thực hiện mô phỏng được thể hiện ở bảng 2.1. Bảng 2.1: Các tham số mô phỏng 1 STT Tham số mô phỏng Giá trị 1 Số người dùng ở phía thu M 16, 24 2 Số ăng-ten tại trạm gốc N 8 3 Số vòng lặp itemu xác định hệ số phạt µ 30 4 Số vòng lặp itex giai đoạn tối ưu 20 5 Số vòng lặp ITE đối với mỗi mức ngưỡng SNR 500 6 Mức ngưỡng SNR (dB) 2, 4, 6, 8, 10 7 Giá trị công suất khởi tạo Pw đối với kỹ thuật tối ưu ngẫu nhiên 2000 8 Điều kiện dừng 1 đối với kỹ thuật NSM1 10 -6 9 Điều kiện dừng 2 đối với kỹ thuật NSM2 10 -6 10 Hệ số phạt µ0 lựa chọn ban đầu của giai đoạn khởi tạo đối với kỹ thuật NSM1 0,5 11 Bước nhảy hệ số phạt sau mỗi vòng lặp thay đổi theo quy luật hàm mũ đối với kỹ thuật NSM1 µ(k+1) = 1,5µ(k) 58 - Tổng công suất phát: Quan sát kết quả mô phỏng ở hình 2.9 và hình 2.10 thấy được trong hai trường hợp, kỹ thuật Nonsmooth kết hợp hàm phạt cho kết quả gần hơn với đường giới hạn cận dưới SDR và tốt hơn kỹ thuật ngẫu nhiên. Trong đó, kết quả tổng công suất phát tối thiểu của kỹ thuật NSM1 và NSM2 xấp xỉ với nhau (đồ thị NSM1 và NSM2 trùng nhau). Trong trường hợp ở đồ thị hình 2.9, khi mức ngưỡng SNR nhỏ hơn 4 dB, các kỹ thuật tối ưu cho
File đính kèm:
- luan_an_nghien_cuu_nang_cao_toc_do_tinh_toan_cho_bai_toan_to.pdf
- ThongTin KetLuanMoi LuanAn NCS TranDinhThong.doc
- TomTat LuanAn NCS TranDinhThong_English.pdf
- TomTat LuanAn NCS TranDinhThong_TiengViet.pdf
- TrichYeu LuanAn NCS TranDinhThong.doc