<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘITRƯỜNG ĐIỆN – ĐIỆN TỬ</b>
<b>---BÀI THÍ NGHIỆM MƠN HỌC</b>
<b>THƠNG TIN VÔ TUYẾN (ET3180Q)</b>
Họ và tên sinh viên : Trần Vũ Nhân
Nhóm thí nghiệm: 737488
<i><b> Hà Nội, 2023</b></i>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">
<b>BÀI THÍ NGHIỆM THƠNG TIN VƠ TUYẾN</b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">
<b>NỘI DUNG CHÍNH</b>
BÀI THÍ NGHIỆM THƠNG TIN VƠ TUYẾN_______________________________________________NỘI DUNG CHÍNH_________________________________________________________________BÀI SỐ 1: MÔ PHỎNG KÊNH FADING RAYLEIGH________________________________________BÀI SỐ 2: MÔ PHỎNG HỆ THỐNG SỬ DỤNG ĐIỀU CHẾ QPSK QUA KÊNH RAYLEIGH_____________BÀI SỐ 4: MÔ PHỎNG HỆ THỐNG OFDM TRUYỀN QUA KÊNH VÔ TUYẾN_____________________
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">
<b>BÀI SỐ 1: MÔ PHỎNG KÊNH FADING RAYLEIGHPHỤ LỤC BÀI 1</b>
<b>Bài 1.1:</b>
f_m=91;b=1;N1=9;N2=10;for n=1:1:N1;
for n=1:1:N2c2(n)=sqrt(2*b/N2);
save ex4p1_Res f1 f2 c1 c2 th1 th2
<b>Bài 1.2:</b>
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));
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">
<b>Bài 1.3:</b>
load exp41_Res f1 f2 c1 c2 th1 th2f_s=270800;
title(‘The channel amplitude in dB’);xlabel(‘t’);
ylabel(‘\alpha(t)’);legend(‘\alpha(t) in dB’,0);Kết quả mô phỏng:
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">
<b>Bài 1.4:</b>
load exp41_Res f1 f2 c1 c2 th1 th2 f_s=50000;
T_sim=20;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);g_mean=mean(g);
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">
stem(x,b/n/(x(2)-x(1)));hold on;
k=0; ohm_p=2;
plot(x, p_alpha,'r');title('The PDF of alpha(x)');xlabel('x');
legend('p_{\alpha}(x)','Rayleigh distribution (Theory)');hold off;
figure(2);n1=length(g1);x1=-4:0.1:4;c=hist(g1, x1);
stem(x1, c/n1/(x1(2)-x1(1)));hold on;
p=(1/sqrt(2*pi))*exp(-x1.^2/2);plot(x1, p, 'r');
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">
title('The PDF of g1 process');xlabel('x');
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">
Đồ thị hàm mật độ xác suất (PDF) của <sup>~</sup>g
<small>1</small>
(t )
<b>(*) Nhận xét:</b>
- PDF của <sup>~</sup>g
<sub>1</sub>
(t )<b> có giá trị xấp xỉ với giá trị PDF của phân phối chuẩn, đồ thị hàm mật độ </b>
xác suất (PDF) của <sup>~</sup>g
<small>1</small>
(t )<b> gần như trùng với đồ thị hàm mật độ xác suất (PDF) của phân </b>
phối chuẩn.
- PDF của <sup>~</sup>α (t )<b> có giá trị xấp xỉ với giá trị PDF của phân bố Rayleigh, đồ thị hàm mật độ </b>
xác suất (PDF) của <sup>~</sup>α (t )<b> gần như trùng với đồ thị hàm mật độ xác suất (PDF) của phân </b>
phối Rayleigh.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">
<b>BÀI SỐ 2: MÔ PHỎNG HỆ THỐNG SỬ DỤNG ĐIỀU CHẾ QPSKQUA KÊNH RAYLEIGH</b>
<b>PHỤ LỤC BÀI 2Bài 2.1:</b>
function chann_1=receiver(SNR_db,S_m,FS,x,S,g)Es=var(S);
for i=1:length(FS)d=abs(S_m-NFS(i)); md=min(d); if md==d(1); R(2*i-1)=0; R(2*i)=0; elseif md==d(2) R(2*i-1)=0; R(2*i)=1; elseif md==d(3) R(2*i-1)=1; R(2*i)=1; elseif md==d(4) R(2*i-1)=1; R(2*i)=0; endendc=0;for i=1:length(x); if R(i)~=x(i);
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">
endendchann_1=c;
function y1=g(c,f,th,t)y=zeros(size(t));for n=1:length(f)
theta_m=[pi/4,3*pi/4,5*pi/4,7*pi/4];S_m=exp(j*theta_m);
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">
SNR_db=0:5:30;for i=1:length(SNR_db);
title(‘The bit error probability of QPSK over a fading channel’);xlabel(‘SNR in dB’);
ylabel(‘P_b’);
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">
Đồ thị tỷ lệ lỗi bit <b>BER</b> của hệ thống
<b>Bài 2.2</b>
p_b=(1-sqrt(Gamma_average./(1+ Gamma_average)))/2;semilogy(SNR_db,p_b,’r--‘);
hold on;
semilogy(SNR_db,BEP,’bo’);hold off;
title(‘BEP of slow flat Rayleigh fading channel’);xlabel(‘\gamma_b’);
legend(‘BEP of QPSK over a fading channel (Theory)’,’--(Simulation)’);
Kết quả mô phỏng:
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">
<b>BÀI SỐ 4: MÔ PHỎNG HỆ THỐNG OFDM TRUYỀN QUAKÊNH VÔ TUYẾN</b>
<b>PHỤ LỤC BÀI 4Bài 4.1:</b>
function [y] = OFDM_Modulator(data,NFFT,G)chnr=length(data);
x=[data,zeros(1,NFFT-chnr)]; a=ifft(x);
y=[a(NFFT-G+1:NFFT),a]; end
function [y] = OFDM_Demodulator(data,chnr,NFFT,G)x_remove_gaurd_interval=[data(G+1:NFFT+G)];x=fft(x_remove_gaurd_interval);
y=x(1:chnr);endclear all;NFFT=64; G=9; M_ary=16; t_a=50*10^(-9);
rho=channel_profile;h=sqrt(rho);N_P=length(rho);H=fft([h,zeros(1,NFFT-N_P)]);NofOFDMSymbol=100;
length_data=(NofOFDMSymbol)*NFFT; source_data=randit(sqrt(M_ary),length_data);
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">
for i=0:NofOFDMSymbol-1; QAM_tem=[]; for n=1:NFFT;
QAM_tem=[QAM_tem,QAM_Symbol(i*NFFT+n)]; end;
Data_Pattern=[Data_Pattern;QAM_tem]; clear QAM_tem;
for snr=snr_min:step:snr_max; snr=snr-10*log10((NFFT-G)/NFFT); rs_frame=[];
for i=0:NofOFDMSymbol-1;
OFDM_signal_tem=OFDM_Modulator(Data_Pattern(i+1,:),NFFT,G); rs=conv(OFDM_signal_tem,h);
rs=awgn(rs,snr,'measured','dB'); rs_frame=[rs_frame;rs]; clear OFDM_signal_tem; end;
Receiver_Data=[]; d=[]; data_symbol=[]; for i=1:NofOFDMSymbol; if(N_P>G+1)&(i>1)
previous_symbol=rs_frame(i-1,:);
ISI_term=previuos_symbol(NFFT+2*G+1:NFFT+G+N_P-1);
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">
rs_i=rs_frame(i,:)+ISI; else
rs_i=rs_frame(i,:); end;
Demodulated_signal_i=OFDM_Demodulator(rs_i,NFFT,NFFT,G); d=Demodulated_signal_i./H;
demodulated_symbol_i=ddemodce(d,1,1,'QAM',M_ary); data_symbol=[data_symbol,demodulated_symbol_i]; end;
data_symbol=data_symbol';
[number,ratio]=symerr(symbols,data_symbol); ser=[ser,ratio];
snr=snr_min:step:snr_max;semilogy(snr,ser,'bo');ylabel('SER');xlabel('SNR in dB');
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">
Kết quả mô phỏng:
<b>Bài 4.2: </b>
</div>