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

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 1

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 2

Trang 2

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 3

Trang 3

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 4

Trang 4

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 5

Trang 5

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 6

Trang 6

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 7

Trang 7

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 8

Trang 8

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 9

Trang 9

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 10

Trang 10

Tải về để xem bản đầy đủ

pdf 126 trang nguyenduy 22/07/2024 470
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

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:

  • pdfluan_an_nghien_cuu_nang_cao_toc_do_tinh_toan_cho_bai_toan_to.pdf
  • docThongTin KetLuanMoi LuanAn NCS TranDinhThong.doc
  • pdfTomTat LuanAn NCS TranDinhThong_English.pdf
  • pdfTomTat LuanAn NCS TranDinhThong_TiengViet.pdf
  • docTrichYeu LuanAn NCS TranDinhThong.doc