Tài liệu được sưu tầm từ nguồn internet và chính tác giả chia sẻ
TaiLieuTongHop.Com - Kho tài liệu trực tuyến miễn phí
Phụ lục
Mã nguồn Matlab và các kết quả mô phỏng
Bài số 1: Mô phỏng kênh Rayleigh theo phương pháp Rice
Bài 1.1: Tính các thông số f, C, θ:
%================================
%Tinh cac thong so f, C, th
%================================
clear
f_m=91; %Tan so Doppler lon nhat
b=1; %Phuong sai cua qua trinh g(t)
N1=9; %So phan tu g(t) phan thuc mo phong
N2=10; % So phan tu g(t) phan ao mo phong
for n=1:1:N1;
c1(n)=sqrt(2*b/N1);
f1(n)=f_m*sin(pi*(n-0.5)/(2*N1));
th1(n)=2*pi*n/(N1+1);
end
for n=1:1:N2;
c2(n)=sqrt(2*b/N2);
f2(n)=f_m*sin(pi*(n-0.5)/(2*N2));
th2(n)=2*pi*n/(N2+1);
end
save ex4p1_Res f1 f2 c1 c2 th1 th2
Bài 1.2: Lập hàm g.m để tính toán
̃
g
i
(
t
)
:
%=======================================
%Ham tao qua trinh g(t)
%=======================================
function y=g(c,f,th,t)
y=zeros(size(t));
for n=1:length(f);
y=y+c(n)*cos(2*pi*f(n).*t+th(n));
end;
Hoàng Sỹ Tân – MSSV: 20083473 – Lớp ĐT3-K53
Tài liệu được sưu tầm từ nguồn internet và chính tác giả chia sẻ
TaiLieuTongHop.Com - Kho tài liệu trực tuyến miễn phí
Bài 1.3: Viết hàm để đưa ra biên độ kênh
̃
α(t)=
∣
̃
g (t)
∣
=
∣
̃
g
1
+
̃
g
2
∣
và vẽ hàm
̃
α
dB
(t)=20log
̃
α(t)
:
%=====================================
%Tinh bien do kenh va ham alpha
%=====================================
clear;
load ex4p1_Res f1 f2 c1 c2 th1 th2
f_s=270800; %Tan so lay mau
T_sim=0.4; %Thoi gian mo phong
t=0:1/f_s:T_sim; % Thoi gian mo phong t
g1=g(c1,f1,th1,t);
g2=g(c2,f2,th2,t);
g=g1+j*g2;
alpha=abs(g);
alpha_dB=20*log10(alpha);
plot(t,alpha_dB);
title('Bien do kenh (dB)');
xlabel('\alpha(t)');
legend('\alpha(t)in dB',0);
Đồ thị:
Hoàng Sỹ Tân – MSSV: 20083473 – Lớp ĐT3-K53
Tài liệu được sưu tầm từ nguồn internet và chính tác giả chia sẻ
TaiLieuTongHop.Com - Kho tài liệu trực tuyến miễn phí
Bài 1.4: xác định các thông số giá trị trung bình, độ biến đổi, hàm mật độ xác suất (PDF):
%======================================
%Ham tinh gia tri trung binh va
% do bien doi cua g1(t), g(t), alpha(t)
%Ham mat do xac suat cua cac qua trinh
% bang bieu do
%======================================
clear;
load ex4p1_Res f1 f2 c1 c2 th1 th2
f_s=50000; %Tan so lay mau
T_sim=20; %Thoi gian mo phong
Hoàng Sỹ Tân – MSSV: 20083473 – Lớp ĐT3-K53
Tài liệu được sưu tầm từ nguồn internet và chính tác giả chia sẻ
TaiLieuTongHop.Com - Kho tài liệu trực tuyến miễn phí
t=0:1/f_s:T_sim;
g1=g(c1,f1,th1,t);
g2=g(c2,f2,th2,t);
g=g1+j*g2;
alpha=abs(g);
mean_g=mean(g); %Gia tri trung binh cua g
mean_g1=mean(g1); % Gia tri trung binh cua g1
mean_alpha=mean(alpha); % Gia tri trung binh cua alpha
var_g=var(g); %Do bien doi cua g
var_g1=var(g1); % Do bien doi cua g1
var_alpha=var(alpha); % Do bien doi cua alpha
n=length(alpha);
x=0:0.1:3; %Thoi gian tinh bang giay
b=hist(alpha,x); %Bieu do mat do xac suat cua alpha
figure(1);
stem(x,b/n/(x(2)-x(1)));%Ve tin hieu roi rac
hold on;
k=0; %He so k'=s^2/(2*b_0)
total_p=2; %Cong suat nhan duoc
alpha_p=(2.*x.*(k+1)/total_p).*exp(-k-((k+1).*x.^2/total_p)).*besseli(0,
(2.*x.*sqrt(k*(k+1)/total_p)));
plot(x,alpha_p,'r');
title('Mat do xac suat cua alpha(x)');
xlabel('x');
ylabel('P_{\alpha}(x)');
legend('p_{\alpha}(x)','Phan bo Rayleigh');
hold off;
figure(2);
n1=length(g1);
x1=-4:0.1:4;
c=hist(g1,x1); %Bieu do mat do xac suat cua g1
stem(x1,c/n1/(x1(2)-x1(1)));
hold on;
p=(1/sqrt(2*pi))*exp(-x1.^2/2);
plot(x1,p,'r');
title('Mat do xac suat PDF cua g1');
xlabel('x');
ylabel('P_{g1}(x)');
legend('p_{g1}(x)','Phan bo Gaussian');
hold off;
Đồ thị:
Hoàng Sỹ Tân – MSSV: 20083473 – Lớp ĐT3-K53
Tài liệu được sưu tầm từ nguồn internet và chính tác giả chia sẻ
TaiLieuTongHop.Com - Kho tài liệu trực tuyến miễn phí
Hoàng Sỹ Tân – MSSV: 20083473 – Lớp ĐT3-K53
Tài liệu được sưu tầm từ nguồn internet và chính tác giả chia sẻ
TaiLieuTongHop.Com - Kho tài liệu trực tuyến miễn phí
Hoàng Sỹ Tân – MSSV: 20083473 – Lớp ĐT3-K53
Tài liệu được sưu tầm từ nguồn internet và chính tác giả chia sẻ
TaiLieuTongHop.Com - Kho tài liệu trực tuyến miễn phí
Bài số 2: Mô hình kênh Fadding phân tập đa đường theo phương pháp
Monte Carlo
Bài 2.1: Mô hình kênh phân tập đa đường :
Hàm mô hình Monte Carlo
%==========================================================================
%Ham mo hinh kenh phan tap da duong theo phuong phap Monte Carlo
%==========================================================================
function [h,t_next]
=MCM_channel_model(u,initial_time,number_of_summations,symbol_duration,f_dmax,
channel_coefficients);
%u la bien ngau nhien duoc dung de roi rac tan so, pha cua hieu uong Doppler
%number_of_summation: so luong hoac pha roi rac duoc su dung trong
%phuong phap Monte Carlo
%symbol+duration la khoang thoi gian lay mau cua tin hieu
%f_fmax La tan so Doppler lon nhat
t=initial_time; %thoi gian bat dau quan sat kenh
Channel_Length=length(channel_coefficients); % Chieu dai dap ung kenh
h_vector=[]; %Vector mo hinh CIR
for k=1:Channel_Length;
u_k=u(k,:);
%Mot bien ngau nhien cua k
phi=2*pi*u_k;
%tan so Doppler roi rac su dung trong Monte Carlo
f_d=f_dmax*sin(2*pi*u_k);
h_tem=channel_coefficients(k)*1/
(sqrt(number_of_summations))*sum(exp(j*phi).*exp(j*pi*f_d*t));
h_vector=[h_vector,h_tem];
end;
h=h_vector;
t_next=initial_time+symbol_duration;
end
Chương trình chính:
%==========================================================================
%Chuong trinh chinh mo phong phuong phap Monte Carlo
%==========================================================================
clear all;
%Dat cac thong so
NFFT=64; %Chieu dai FFT
Hoàng Sỹ Tân – MSSV: 20083473 – Lớp ĐT3-K53