Chủ Nhật, 12 tháng 7, 2020

5.9 Mô phỏng kênh thông tin - Kênh fading Nakagami-m

Đề bài: Hãy tạo kênh truyền Nakgami-m từ ba cách và so sánh kết quả với phân tích lý thuyết.

Giải: Chúng ta sẽ sử dụng hàm random() cho cách 1, hàm gamrnd() cho cách 2 và hàm chi2rnd() cho cách 3.

==================== CODE MATLAB ====================
clear all
clc
SNRdB = (0:2:20)';
SNR = 10.^(SNRdB/10);
% Shape parameter
m = 2;
% Scale parameter
Omega = 2;
% SNR nguong
gth = 2;

% Mo phong
N = 10^6;
% Tao he so kênh truy?n
% Cach 1
alpha = random('Nakagami',m,Omega,1,N);
phi = 2*pi*rand(1,N);
h = alpha.*(cos(phi) + 1i*sin(phi));
% Ty so tin hieu tren nhieu
g = SNR.*abs(h).^2;
% Xac suat dung
OP_1 = sum(g < gth,2)/N;

% Cách 2
alpha = sqrt(gamrnd(m,Omega/m,1,N));
phi = 2*pi*rand(1,N);
h = alpha.*(cos(phi) + 1i*sin(phi));
% Ty so tin hieu tren nhieu
g = SNR.*abs(h).^2;
% Xac suat dung
OP_2 = sum(g < gth,2)/N;

% Cách 3
alpha = sqrt(Omega/(2*m)).*sqrt(chi2rnd(2*m,1,N));
phi = 2*pi*rand(1,N);
h = alpha.*(cos(phi) + 1i*sin(phi));
% Ty so tin hieu tren nhieu
g = SNR.*abs(h).^2;
% Xac suat dung
OP_3 = sum(g < gth,2)/N;

% OP lý thuyet
% Ty so tin hieu tren nhieu trung binh
g_ =  SNR.*Omega;
OP_t = 1 - gamma(m).*gammainc(m*gth./g_,m,'upper');

% Ve do thi BER
semilogy(SNRdB,OP_1,'o',SNRdB,OP_2,'s',SNRdB,OP_3,'+',SNRdB,OP_t);
legend('Cach 1','Cach 2','Cach 3','Ly thuyet');
xlabel('Ty so tin hieu tren nhieu theo dB');
ylabel('Xac suat dung');
set(gcf,'color','white');

Hình 5.5: Mô phỏng kênh truyền fading Nakagami-m theo ba cách.  


Không có nhận xét nào:

Đăng nhận xét

2.16 Tìm giá trị nhỏ nhất và lớn nhất trong ma trận

Cho ma trận X = [1 2 3; 4 5 6; 7 8 9]. Hãy a. Tìm giá trị lớn nhất và giá trị nhỏ nhất theo hàng. b. Tìm giá trị lớn nhất và nhỏ nhất theo...