19-Nguyễn Di Đan-B20Dcvt086.Pdf

181 9 0
19-Nguyễn Di Đan-B20Dcvt086.Pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG I KỸ THUẬT THÔNG TIN VÔ TUYẾN Họ và tên Nguyễn Di Đan Mã sinh viên B20DCVT086 Nhóm lớp học 4 Giảng viên giảng dạy Nguyễn Viết Đảm https //timvie[.]

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG I KỸ THUẬT THÔNG TIN VÔ TUYẾN Họ tên: Nguyễn Di Đan Mã sinh viên: B20DCVT086 Nhóm lớp học: Giảng viên giảng dạy: Nguyễn Viết Đảm MỤC LỤC I LÝ THUYẾT TRÊN LỚP + TRẢ LỜI CÂU HỎI II BÀI TẬP CUỐI CHƯƠNG 44 III THỰC HÀNH 121 I LÝ THUYẾT TRÊN LỚP + TRẢ LỜI CÂU HỎI  SNR tăng BER giảm, hàm qfunc hay erfc có kết tương tự Bài 4: Mô kênh hệ thống MIMO Câu 1: Phân tích mơ hình kênh mơ hình hệ thống SVD MIMO mơi trường truyền sóng pha đinh Rayleigh: Mơ hình hóa kênh MIMO sở SVD; Mơ kênh SVD MIMO mơi trường truyền sóng pha đinh Rayleigh Mơ hình kênh (channel model) mơ hình tốn học sử dụng để mơ tả cách tín hiệu truyền qua kênh truyền Kênh truyền khơng dây dây, bao gồm nhiều yếu tố đường truyền, nhiễu, suy giảm đa đường Mơ hình kênh sử dụng để đưa mơ tả xác tín hiệu đầu truyền qua kênh Các mơ hình kênh thường sử dụng thơng số tần số, thời gian, độ rộng băng thông mức độ nhiễu để đưa mô tả chi tiết tín hiệu đầu • Mơ hình thu tín hiệu môi trường kênh vô tuyến thay đổi theo thời gian: 166 y(t) = s(t) * h(τ,t) + x(t) • Mơ hình thu tín hiệu kênh vơ tuyến không thay đổi theo thời gian: y(t) = si(t) * hc(t) + x(t) • Mơ hình thu tín hiệu kênh nhiễu AWGN: y(t) = Si(t) + x(t) = { A + x(t), phát tín hiệu −A + x(t), phát tín hiệu > u , định "0" Quyết định: y(t) {< u , định "1" = u , khơng biết Mơ hình hệ thống MIMO tổng qt: 167 Mơ hình hệ thống SVD MIMO tối ưu D ma trận chéo hóa với phần tử λi1/2 = sqrt(λi) ̅ = 𝐇𝐱̅ + 𝛈 ̅ 𝐘 168 Khi khoảng cách anten > λ/2 môi trường nhiều tán xạ => coi H có hàng cột độc lập với => Phân chia giá trị đơn (SVD: Singular Value Descomposition): H = UDVH ✓ (.)H chuyển vị Hermitian (ma trận chuyển vị liên hợp phức) ✓ U, V ma trận phân (unitary) kích thước Nr x Nr Nt x Nt • UUH = INr , VVH = INt • Các cột ma trận U vector riêng HHH • Các cột na trận V vector riêng HHH ✓ D ma trận kích thước Nr x Nr gồm NA = min{Nr, Nr} giá trị đơn không âm λ01/2,…, λi1/2,…, λNA – 11/2 đường chéo D, λi1/2 (i=0,2,…,NA-1) giá trị riêng ma trận HHH ✓ Xác định giá trị riêng cảu HHH det(Q – λI) = Trong Q ma trận Wirshart: 𝐇𝐇 𝐇 , 𝑁𝑟 < 𝑁𝑡 Q={ 𝐇 𝐇 𝐇, 𝑁𝑟 ≥ 𝑁𝑡 Số giá trị riêng khác ma trận HHH hạng ma trận HHH Mơ hình hóa kênh MIMO sở SVD: • Xác định ma trận kênh H có kích thước Nt x Nr với Nt số ăng-ten truyền Nr số ăng-ten thu • Thực phân rã giá trị suy biến (SVD) ma trận kênh H Kết ma trận phân rã H = UDVH, U V ma trận trực giao, D ma trận đường chéo có giá trị suy giảm kênh • Chia tín hiệu đầu vào thành Nt phần, phần tương ứng với ăngten truyền • Thực truyền tín hiệu qua kênh với phần tương ứng với ăng-ten truyền ăng-ten thu • Tại thu, thực phân rã giá trị suy biến tín hiệu thu Kết ma trận phân rã Y = USVH, U V ma trận trực giao, S ma trận đường chéo có giá trị suy giảm tín hiệu thu • Kết hợp tín hiệu thu ma trận Y để khơi phục lại tín hiệu ban đầu Mô kênh SVD MIMO môi trường truyền sóng pha đinh Rayleigh 169 • Xác định tham số cho mơi trường truyền sóng pha đinh Rayleigh, bao gồm tham số tần số sóng truyền, khoảng cách anten, vị trí anten, hệ số tán xạ Rayleigh, nhiễu • Tạo kênh truyền SVD MIMO với anten truyền nhận Để tạo kênh này, ta sử dụng hàm "svd" Matlab để phân tích ma trận kênh • Tạo tín hiệu điều chế tương ứng cho anten truyền Đối với hệ thống SVD MIMO, tín hiệu điều chế chia thành phần dựa phân tích SVD • Truyền tín hiệu điều chế qua kênh truyền SVD MIMO • Tạo lọc tương ứng cho anten nhận dựa phân tích SVD • Nhận tín hiệu từ kênh truyền áp dụng lọc tương ứng cho anten nhận để tái tạo tín hiệu ban đầu • So sánh tín hiệu tái tạo với tín hiệu ban đầu để đánh giá hiệu suất hệ thống  Việc mô kênh SVD MIMO môi trường truyền sóng pha đinh Rayleigh cung cấp cho nhìn chi tiết hiệu suất hệ thống điều kiện mơ phỏng, từ giúp tối ưu hóa thiết kế cải thiện hiệu suất hệ thống thực tế Câu 2:Thực mô Matlab theo trình tự xử lý bước cho mơ hình kênh hệ thống SVD MIMO tối ưu (Đọc mã chương trình mơ phỏng: NVD_D12VT_SVD_MIMO Channel) Khai báo tham số cho hệ thống MIMO N_Tx = 8; % Số lượng anten phát N_Rx = 4; % Số lượng anten thu fD = 10; % Tần số Doppler N_symbol = 100; % Số lượng ký hiệu T_sim = 0.1; % Thời gian mô Tạo ma trận kênh H_Gausian có phân phối Gaussian lấy mẫu H_Gau H_Gausian = zeros(N_Rx,N_Tx,N_symbol); for k = 1:N_symbol H_Gausian(:,:,k) = (randn(N_Rx,N_Tx) + 1i*randn(N_Rx,N_Tx))/sqrt(2); end H_Gau = zeros(N_Rx,N_Tx); H_Gau = H_Gausian(:,:,1); 170 Tạo ma trận kênh H_Rayleigh có phổ tần số Rayleigh qua thời gian lấy mẫu H_Ray H_Rayleigh = zeros(N_Rx,N_Tx,N_symbol); for m = 1:N_Rx for n = 1:N_Tx H_Rayleigh(m,n,:) = (FWC_Rayleigh_Channel(T_sim,N_symbol,fD) + 1i*FWC_Rayleigh_Channel(T_sim,N_symbol,fD))/sqrt(2); end end H_Ray = H_Rayleigh(:,:,1); Tính tốn phân tích giá trị suy giảm (SVD) ma trận kênh Rayleigh lưu trữ biến H_Ray Hiển thị kích thước giá trị ma trận truyền (V), ma trận thu (U) giá trị riêng (D) disp(' Ma tran kenh H'); H_Ray disp(' Kich thuoc H'); disp(size(H_Ray)) disp(' Phan tich SVD cua H: [U, D, V] = svd(H)'); [U_Gau, D_Gau, V_Gau] = svd(H_Gau); [U_Ray, D_Ray, V_Ray] = svd(H_Ray); disp(' Ma tran tien ma hoa V '); % disp(V); V_Ray disp(' Kich thuoc size(V)'); disp(size(V_Ray)); disp(' Ma tran hau ma hoa U '); U_Ray disp(' Kich thuoc size(U)'); disp(size(U_Ray)); disp(' D_Ray Ma tran duong cheo D '); disp(' Kich thuoc size(D)'); disp(size(D_Ray)); 171 Thực bước mơ hình hóa mơ SVD-MIMO với bước: • Bước 1: Xác định vector đầu vào X1 • Bước 2: Biến đổi X1 sử dụng ma trận truyền V_Ray, kết X2 • Bước 3: Tái tạo lại X1 từ X2 sử dụng V_Ray' • Bước 4: Nhân X3 với D_Ray, kết X4 • Bước 5: Biến đổi X4 sử dụng ma trận thu U_Ray, kết X5 • Bước 6: Tái tạo đầu vào từ X5 sử dụng U_Ray', kết X6  Kiểm tra nhân trực tiếp X1' với D_Ray cho kết X6_Test, sau so sánh với X6 (Nếu kết phép phân tích SVD thực đúng) % Step 1: Xác định vector đầu vào X1 có kích thước 1xN_Tx X1 = 1:N_Tx; % Step 2: Truyền qua ma trận truyền X2 = V_Ray*X1'; % Step 3: Tái tạo lại vector X1 từ X2 sử dụng ma trận truyền ngược X3 = V_Ray'*X2; % Step 4: Truyền qua ma trận đường chéo X4 = D_Ray*X3; % Step 5: Truyền qua ma trận thu X5 = U_Ray*X4; % Step 6: Tái tạo vector đầu vào X6 = U_Ray'*X5; % Kiểm tra vector tái tạo cách truyền trực tiếp X1 qua D_Ray: X6_Test = D_Ray*X1'; % Hiển thị kết so sánh disp (X6); disp (X6_Test); Bài 5: Mô dung lượng kênh MIMO Câu 1: Phân tích mơ hình hệ thống MIMO vịng hở vịng kín Phân tích dung lượng kênh hệ thống MIMO vịng hở mơ dung lượng kênh MIMO theo SNR cho cấu hình khác Mơ hình hệ thống MIMO vịng hở Mơ hình hệ thống MIMO vòng hở bao gồm nT anten phát nR anten thu, nT > nR Trên anten phát, tín hiệu truyền đồng thời độc 172 lập với anten khác Tại anten thu, tín hiệu thu kết hợp tuyến tính tín hiệu từ anten phát khác nhau, có thêm nhiễu suy hao Mơ hình hệ thống MIMO vịng hở biểu diễn ma trận kênh H kích thước nR x nT Mỗi phần tử H(i, j) ma trận H đại diện cho hệ số kênh anten phát j anten thu i Q trình truyền tín hiệu hệ thống MIMO vịng hở mơ tả bước sau: • Anten phát tạo tín hiệu độc lập truyền đồng thời qua kênh truyền không dây • Tại anten thu, tín hiệu thu tổng tuyến tính tín hiệu phát từ anten phát khác Tín hiệu thu bị nhiễu suy hao kênh truyền • Một xử lý tín hiệu anten thu sử dụng thuật toán MIMO để phân tách phục hồi tín hiệu gốc từ tín hiệu thu Mục tiêu hệ thống MIMO vịng hở tăng cường dung lượng kênh cải thiện chất lượng tín hiệu thu Bằng cách sử dụng nhiều anten phát anten thu, hệ thống MIMO vịng hở tận dụng khả truyền thông đa đường khả chống nhiễu thơng qua việc kết hợp tín hiệu từ anten Để đạt hiệu suất tối đa hệ thống MIMO vòng hở, cần sử dụng thuật tốn xử lý tín hiệu phức tạp phân tách tín hiệu phát tín hiệu Các thuật tốn tối ưu hóa kết hợp tuyến tính tín hiệu thu giảm nhiễu suy hao để đạt tín hiệu gốc tốt Mơ hình hệ thống MIMO vịng kín Mơ hình hệ thống MIMO vịng kín bao gồm nT anten phát nR anten thu, nT = nR Mỗi anten phát anten thu giao tiếp với Tín hiệu từ anten phát truyền đồng thời độc lập tín hiệu thu từ anten thu tổng tuyến tính tất tín hiệu phát từ anten phát Mơ hình hệ thống MIMO vịng kín biểu diễn ma trận kênh H kích thước nR x nT Mỗi phần tử H(i, j) ma trận H đại diện cho hệ số kênh anten phát j anten thu i Q trình truyền tín hiệu hệ thống MIMO vịng kín có đặc điểm sau: • Tại anten phát, tín hiệu truyền đồng thời độc lập thơng qua kênh truyền khơng dây • Tại anten thu, tín hiệu thu tổng tuyến tính tín hiệu phát từ tất anten phát • Một xử lý tín hiệu anten thu sử dụng thuật toán MIMO để phân tách phục hồi tín hiệu gốc từ tín hiệu thu 173 Mục tiêu hệ thống MIMO vịng kín tăng cường dung lượng kênh cải thiện chất lượng tín hiệu thu Bằng cách sử dụng nhiều anten phát anten thu, hệ thống MIMO vòng kín tận dụng khả truyền thơng đa đường, tăng cường độ đa đường khả chống nhiễu Trong hệ thống MIMO vịng kín, thuật tốn xử lý tín hiệu phức tạp sử dụng để phân tách tín hiệu giải mã tín hiệu thu từ anten thu Các thuật toán tối ưu hóa kết hợp tuyến tính tín hiệu thu giảm nhiễu suy hao để đạt tín hiệu gốc tốt Phân tích dung lượng kênh hệ thống MIMO Để phân tích dung lượng kênh hệ thống MIMO vịng hở mơ dung lượng kênh MIMO theo SNR (Tỷ lệ Tín hiệu-Nhiễu) cho cấu hình khác nhau, ta sử dụng công thức dung lượng kênh MIMO Dung lượng kênh MIMO tính cơng thức sau: C = log2(det(I + SNR/nT * HHH)) Trong đó: C dung lượng kênh (Channel capacity) bps/Hz SNR tỷ lệ Tín hiệu-Nhiễu (Signal-to-Noise Ratio) tính theo đơn vị đặc biệt dB linear nT số lượng anten phát hệ thống MIMO H ma trận kênh kích thước nR x nT hệ thống MIMO Mô dung lượng kênh MIMO theo SNR cho cấu hình khác Q trình mơ dung lượng kênh MIMO theo SNR cho cấu hình khác thực sau (chỉ áp dụng cho hệ thống MIMO vịng): Định nghĩa thơng số: • SNR_dB: Một mảng chứa giá trị SNR theo đơn vị dB • SNR_linear: Chuyển đổi giá trị SNR từ dB sang đơn vị linear (SNR_linear = 10^(SNR_dB/10)) • N_iter: Số lần lặp để tính trung bình dung lượng kênh • nT, nR: Số lượng anten phát anten thu hệ thống MIMO • I: Ma trận đơn vị kích thước n x n, với n = min(nT, nR) • C: Một mảng để lưu trữ dung lượng kênh tính cho giá trị SNR Vịng lặp chính: a Đối với lần lặp, tạo ngẫu nhiên ma trận kênh H kích thước nR x nT b Tính tốn dung lượng kênh cho giá trị SNR: • Nếu nR >= nT, tính ma trận HH = H' * H 174 • Ngược lại, tính ma trận HH = H * H' • Sử dụng cơng thức C(i) = C(i) + log2(det(I + SNR_linear(i)/nT * HH)) để tính dung lượng kênh cho giá trị SNR(i) • Chuẩn hóa dung lượng kênh cách chia cho số lần lặp N_iter Mô dung lượng kênh: Vẽ đồ thị dung lượng kênh (C) theo giá trị SNR_dB Câu 2: Phân tích mơ hình mơ dung lượng kênh MIMO ngẫu nhiên khơng có CSI phía phát: Hệ thống MIMO vòng hở (OL): (NVD_MIMO_CL_OL_Capacity): Xác định phân tích tham số đầu vào chương trình mơ phỏng; Xác định đoạn mã chương trình thực khối chức mơ hình Thực mơ phân tích kết Mơ hình MIMO ngẫu nhiên khơng có CSI (Channel State Information) phía phát trường hợp thực tế hệ thống MIMO Khi khơng có CSI, người gửi khơng biết xác thông tin kênh truyền tối ưu hóa việc truyền liệu dựa thơng tin Trong trường hợp này, ta sử dụng mơ hình MIMO ngẫu nhiên để phân tích dung lượng kênh Mơ hình MIMO ngẫu nhiên khơng có CSI phía phát mơ tả sau: • Kích thước ma trận kênh: H ma trận ngẫu nhiên có kích thước nR x nT, nR số lượng anten thu nT số lượng anten phát • Hệ số kênh: Các phần tử ma trận H khởi tạo ngẫu nhiên từ phân phối Gaussian theo phần thực phần ảo Để mô dung lượng kênh MIMO CSI phía phát, ta sử dụng bước sau: Định nghĩa thơng số: • SNR_dB: Một mảng chứa giá trị SNR theo đơn vị dB • SNR_linear: Chuyển đổi giá trị SNR từ dB sang đơn vị linear (SNR_linear = 10^(SNR_dB/10)) • N_iter: Số lần lặp để tính trung bình dung lượng kênh • nT, nR: Số lượng anten phát anten thu hệ thống MIMO 175 • C: Một mảng để lưu trữ dung lượng kênh tính cho giá trị SNR Vịng lặp chính: • Đối với lần lặp, tạo ngẫu nhiên ma trận kênh H kích thước nR x nT với phần tử khởi tạo ngẫu nhiên từ phân phối Gaussian Tính tốn dung lượng kênh cho giá trị SNR: • Sử dụng công thức C(i) = C(i) + log2(det(I + SNR_linear(i)/nT * H * H')) để tính dung lượng kênh cho giá trị SNR(i) • Chuẩn hóa dung lượng kênh cách chia cho số lần lặp N_iter Mô dung lượng kênh: Vẽ đồ thị dung lượng Câu 3: Phân tích mơ hình mơ dung lượng kênh MIMO có CSI phía phát: Hệ thống MIMO vịng kín (CL): (NVD_MIMO_CL_OL_Capacity) Xác định phân tích tham số đầu vào chương trình mơ phỏng; Xác định đoạn mã chương trình thực khối chức mơ hình Thực mơ phân tích kết Khi có CSI (Channel State Information) phía phát, ta tận dụng thơng tin kênh để tối ưu hóa việc truyền liệu hệ thống MIMO Trong trường hợp này, ta phân tích mơ dung lượng kênh MIMO dựa thơng tin CSI Mơ hình MIMO có CSI phía phát mơ tả sau: • Kích thước ma trận kênh: H ma trận kênh kích thước nR x nT, nR số lượng anten thu nT số lượng anten phát • Hệ số kênh: Các phần tử ma trận H biểu diễn hệ số kênh hợp lý dựa thông tin CSI thu thập từ kênh truyền Thông thường, hệ số kênh tính tốn thuật tốn ước lượng kênh Maximum Likelihood (ML), Least Squares (LS), Minimum Mean Square Error (MMSE) 176 Để mô dung lượng kênh MIMO có CSI phía phát, ta sử dụng bước sau: Định nghĩa thơng số: • SNR_dB: Một mảng chứa giá trị SNR theo đơn vị dB • SNR_linear: Chuyển đổi giá trị SNR từ dB sang đơn vị linear (SNR_linear = 10^(SNR_dB/10)) • N_iter: Số lần lặp để tính trung bình dung lượng kênh • nT, nR: Số lượng anten phát anten thu hệ thống MIMO • C: Một mảng để lưu trữ dung lượng kênh tính cho giá trị SNR Vịng lặp chính: • Đối với lần lặp, tạo ngẫu nhiên ma trận kênh H kích thước nR x nT dựa thơng tin CSI Tính tốn dung lượng kênh cho giá trị SNR: • Sử dụng cơng thức C(i) = C(i) + log2(det(I + SNR_linear(i)/nT * H * H')) để tính dung lượng kênh cho giá trị SNR(i) • Chuẩn hóa dung lượng kênh cách chia cho số lần lặp N_iter Mô dung lượng kênh: Vẽ đồ thị dung lượng kênh (C) theo giá trị SNR_dB Chương trình mô phỏng: Sim_FWC_06_03_OL_CL_MIMO_capacity Khởi tạo tham số: clc; clear all; close all; SNR_dB = [0:2:22]; % tạo vector chứa giá trị SNR (tỷ lệ tín hiệu đến nhiễu) tính đơn vị dB với giá trị từ đến 22 với bước nhảy SNR_linear = 10.^(SNR_dB/10.); % Chuyển SNR_dB sang đơn vị tuyến tính N_iter = 1000; % Tạo số vòng lặp %% - 4x4 nT = 4; % Số anten phát nR = 4; % Số anten thu n = min(nT,nR); % Lấy giá trị nhỏ số anten phát thu I = eye(n); % Tạo ma trận đơn vị với kích thước nxn rho = 0.2; % Hệ số tương quan anten kênh truyền sq2 = sqrt(0.5); Rtx = [1 rho rho^2 rho^3; rho rho rho^2; rho^2 rho rho; rho^3 rho^2 rho 1]; % Tạo ma trận hệ số tương quan kênh truyền từ anten phát đến anten thu 177 rho = 0.2; % Hệ số tương quan anten kênh nhận Rrx = [1 rho rho^2 rho^3; rho rho rho^2; rho^2 rho rho; rho^3 rho^2 rho 1]; % Tạo ma trận hệ số tương quan kênh nhận từ anten thu đến anten phát C_44_OL = zeros(1,length(SNR_dB)); % Tạo vector chứa giá trị lượng trung bình cho hệ thống MIMO với kênh truyền C_44_CL = zeros(1,length(SNR_dB)); % Tạo vector chứa giá trị lượng trung bình cho hệ thống MIMO với kênh truyền biết Vịng lặp tính tốn: % Vịng lặp for tính tốn giá trị lượng trung bình cho hệ thống MIMO với kênh truyền biết với số lần lặp lại N_iter for iter=1:N_iter Hw = sq2*(randn(4,4) + j*randn(4,4)); % Tạo ma trận phức gồm giá trị phân phối chuẩn có kích thước 4x4 nhân với bậc hai 0.5 H = Rrx^(1/2)*Hw*Rtx^(1/2); % Tính tốn ma trận kênh truyền từ anten phát đến anten thu tmp = H'*H/nT; % Tính tốn ma trận tạm thời Lamda = svd(H'*H); % Tính tốn giá trị đặc trưng ma trận kênh truyền % Vòng lặp for khối tính tốn giá trị lượng trung bình cho hệ thống MIMO với kênh truyền biết với giá trị SNR từ vector SNR_linear for i=1:length(SNR_dB) % random channel generation C_44_OL(i) = C_44_OL(i) + log2(det(I+SNR_linear(i)*tmp)); % Tính tốn lượng trung bình cho hệ thống MIMO với kênh truyền theo công thức 9.41 % Eq 9.41 P_opt = FWC_Water_Filling(Lamda,SNR_linear(i),nT); % Tính tốn phân bố công suất tối ưu cho hệ thống MIMO với kênh truyền biết C_44_CL(i) = C_44_CL(i)+log2(det(I+SNR_linear(i)/nT*diag(P_opt)*diag(Lamda))); % Tính tốn lượng trung bình cho hệ thống MIMO với kênh truyền biết theo công thức 9.44 % Eq 9.44 end end C_44_OL = real(C_44_OL)/N_iter; % Chia tổng lượng trung bình cho số lần lặp lại để tính tốn lượng trung bình cho hệ thống MIMO với kênh truyền 178 C_44_CL = real(C_44_CL)/N_iter; % Chia tổng lượng trung bình cho số lần lặp lại để tính tốn lượng trung bình cho hệ thống MIMO với kênh truyền biết Vẽ đồ thị: h1 = figure(1); set(h1,'color','c'); set(h1,'Name','MIMO_Ergodic_Capacity_vs_SNR for closed-loop and openloop systems Programmed by Nguyen Viet Dam PTIT'); plot(SNR_dB, C_44_OL,'b-o','LineWidth',[3.5]); hold on; plot(SNR_dB, C_44_CL,'r-

Ngày đăng: 17/06/2023, 00:00

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan