Tải bản đầy đủ (.docx) (18 trang)

Báo cáo thí nghiệm thông tin vô tuyến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (322.59 KB, 18 trang )

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

×