Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
625,7 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ BÁO CÁO THÍ NGHIỆM THƠNG TIN VƠ TUYẾN Sinh viên: Hoàng Anh Tú Lớp : ĐTVT10 – K62 MSSV : 20172884 Hà Nội – 6/2022 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 Bài số 1:MÔ PHỎNG KÊNH RAYLEIGH THEO PHƯƠNG PHÁP RICE Mô phỏ ng kênh vô tuyế n theo ph ươ ng pháp RICE: Phương pháp Rice hiểu phương pháp mơ hình q trình xác suốt sử dụng hàm tuần hồn,tuy nhiên tham số chu kì dao độ ng pha biên độ đượ c xác định trước.Đối với phương pháp Monte Carlo tham số xác định ngẫu nhiên 1.1 Tính thơng số i,n fm =91 Biết i b=1 n 1 2 2 2 10 Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vô tuyến Vũ Văn Sơn –ĐT9- K52 1.2 Thiết lập hàm matlab tính biến đầu vào , fi,n t %============================== % a function which creates the deterministic % process 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; 1.3 % % % Vi ết hàm matlab đưa biên độ kênh (t) | g (t ) | | g (t) %dB (t) 20 log % (t) Sử dụng Tsim 0.4s tần số lấy mẫu f X Code: %============================ % Calculation of simulation parameters %============================ clear f_m=91; %Maximual Doppler frequency b=1; %Variance of in_phase or quadrature component N1=9; %Number of sinusoids for the in_phase component N2=10; %Number of sinusoids for the in_ quadrature component 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 Hà Nội 11/4/2010 vẽ hàm TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 %================================= % Create a deterministic process by rice method %================================= clear; load ex4p1_Res f1 f2 c1 c2 th1 th2 f_s=270800; %the carrier frequency in Hertz T_sim=0.4; %simulation time in seconds t=0:1/f_s:T_sim; %discrete time interval g1=g(c1,f1,th1,t);%generation of process g1 by using the function"g.m" g2=g(c2,f2,th2,t); g=g1+j*g2; alpha=abs(g); alpha_dB=20*log10(alpha); plot(t,alpha_dB); title('The channel amplitube in dB'); xlabel('\alpha(t)'); legend('\alpha(t)in dB',0); Result: Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 1.4 Tạo hàm g%1 (t), g% (t), với tần số lấy Code: %================================ % bai 4.1 %================================ clear f_m=91; b=1; N1=9; N2=10; 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 %============================================== %Comparison of theoretical Gaussian and Rayleigh % distribution with simulation results %============================================== clear; load ex4p1_Res f1 f2 c1 c2 th1 th2 f_s=50000; %the carrier frequency inhertz T_sim=20; %simulation time in seconds 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); g_variance=var(g); g1_mean=mean(g1); g1_variance=var(g1); alpha_mean=mean(alpha); alpha_variance=var(alpha); n=length(alpha); x=0:0.1:3; % the time interval in seconds b=hist(alpha,x); Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com % (t) Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 figure(1); stem(x,b/n/(x(2)-x(1))); hold on; k=0; % the rice factor k'=s^2/2b_0 ohm_p=2; % the total received power p_alpha=(2.*x.*(k+1)/ohm_p).*exp(-k-((k+1).*x.^2/ohm_p)).*besseli(0,(2.*x.*sqrt(k*(k+1)/ ohm_p))); plot(x,p_alpha,'r'); title('The PDF of alpha(x)'); xlabel('x'); ylabel('P_{\ alpha}(x)'); legend('p_{\alpha}(x)','Rayleigh distribution(Theory)'); hold off; figure(2); n1=length(g1); x1=-4:0.1:4; % the time interval in seconds c=hist(g1,x1); stem(x1,c/n1/(x1(2)-x1(1))); hold on; p=(1/sqrt(2*pi))*exp(-x1.^2/2); =[]\rtplot(x1,p,'r'); title('The PDF of g1 process'); xlabel('x'); ylabel('P_{g1} (x)'); legend('p_{g1}(x)','Gaussian distribution(Theory)'); hold off; Result: Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 Rayleigh distribution(Theory and result obtained by the channel simulator Gaussian distribution(Theory and result obtained by the channel simulator) Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 Bài số 2:MÔ PHỎNG KÊNH FADINH PHÂN TẠP ĐA ĐƯỜNG THEO PHƯƠNG PHÁP MONTE CARLO 2.1 Mơ hình kênh phân tập đa đường với bề B=1.25MHz.So sánh hàm truyền đạt kênh cho trường hợp tần số fD,max 0.0Hz, fD,max 5.0Hz, fD,max 500.0Hz, Code: %================================================================= ========= %MonteCarlo methode for a time-variant channel modelling %================================================================= ========= function [h,t_next] =MCM_channel_model(u,initial_time,number_of_summations,symbol_duration,f_dmax,chan nel_coefficients); %u is a random variable which is used to transform ro discrete Doppler %frequencies,discrete phase %number_of_summation is the number of discrete frequensy or %phase used by montecarlo methode %symbol+duration is the duration of a symbol.In the single carrier %system,this is the sampling interval %f_fmax is the maximum Doppler frequency %channel profile t=initial_time; %initial time at which the channel is observed Channel_Length=length(channel_coefficients); % channel impulse response length h_vector=[]; %a vector of the modelled CIR for k=1:Channel_Length; u_k=u(k,:); %A random variable for the path k phi=2*pi*u_k; %Discrete Doppler frequencies for Monte Carlo methode 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; %Coherence time the next symbol end %================================================================= ========= %Main program of Monte Carlo method %================================================================= Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vô tuyến ========= Vũ Văn Sơn –ĐT9- K52 Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thông tin vô tuyến Vũ Văn Sơn –ĐT9- K52 clear all; %set paramters NFFT=64; %FFT length t_a=8.0000e-007; %sampling interval the banwidth of the channel is 1/t_a T_S=NFFT*t_a; %Duration of observed window number_of_summations=40; %Number of summations for Monte Carlo method f_dmax=500.0; %Maximum Doppler frequency channel_profile=[1.0000,0.8487,0.7663,0.7880,0.6658,0.6658,0.5174,0.0543,0.0456]; %channel profile rho=channel_profile; N_P=length(rho); %channel impulse response length u=rand(N_P,number_of_summations); %Generation of random variable for N_P paths initial_time=1.1; %initial_time h=[]; %CIR vector H=[]; %CTF vector for i= 1:100; h_i=MCM_channel_model(u,initial_time,number_of_summations,T_S,f_dmax,rho); %CIR coefficients h_i_tem=[h_i,zeros(1,NFFT-N_P)]; H_i_tem=fft(h_i_tem); %CTF coefficients H_i=[H_i_tem(NFFT/2+1:NFFT),H_i_tem(1:NFFT/2)]; %Rearrange for plotting initial_time=initial_time+T_S; %observed the channek in the next time window h=[h;h_i]; H=[H;H_i]; end; %plot the CIR figure(1); mesh(abs(h)) xlabel('\ tau in 8.0e-7s') Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 ylabel('t in 1.024e-0.4s') zlabel('h(\tau,t)') title('Doppler frequency 5.0Hz') %plot the CTF figure(2); mesh(abs(H)) xlabel('f in 9.7KHz') %9.7 KHz is the frequncy spacing and is B/NFFT ylabel('t in 1.024e-0.4s') zlabel('H(f,t)') title('f_{D,max}=500.0Hz') Result: Hàm truyền đạt kênh không phụ thuộc thời gian(time-invariant channel) Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thông tin vô tuyến Vũ Văn Sơn –ĐT9- K52 Hàm truyền đạt kênh biến thiên chậm theo thời gian(slowly time-variant channel) Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 Hàm truyền đạt kênh biến thiên nhanh theo thời gian(fast time - variant channel) 2.2 So sánh hàm tự tương quan thời gian kênh cho trường hợp f f D,max =9.0Hz D,max =90.0Hz Code: Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 %================================================================= ========= %chuong trinh uoc luong ham tu tuong tuong quan thoi gian cua kenh %================================================================= ========= clear all; NFFT=64; t_a=8.0000e-007; T_S=NFFT*t_a; number_of_summations=40; f_dmax=90.0; channel_profile=[1.0000,0.8487,0.7663,0.7880,0.6658,0.5644,0.5174,0.0543,0.0465]; rho=channel_profile; N_P=length(rho); u=rand(N_P,number_of_summations); T_S=NFFT*t_a; NofSymbol=1000; t=0.1; H_sequence=[]; for i=0:NofSymbol-1; [h]=MCM_channel_model(u,t,number_of_summations,T_S,f_dmax,rho); h_extended=[h,zeros(1,NFFT-length(h))]; H=fft(h_extended); H_f1=H(3); H_sequence=[H_sequence,H_f1]; t=t+T_S; end; time_autoc=xcorr(H_sequence,'coeff'); tau=(NofSymbol-1)*T_S:T_S:(NofSymbol-1)*T_S; plot(tau,real(time_autoc),'k.'); xlabel('\Delta t in seconds'); ylabel('TIme correlation function R(\Delta t)'); legend('f_{D,max}=9.0Hz','f_{D,max}=90.0Hz'); hold on; Result: Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 Bài số 3:MÔ PHỎNG HỆ THỐNG OFDM QUA KÊNH VƠ TUYẾN 3.1 Mơ hệ thống đa sóng mang tần trực giao (OFDM) sử dụng thơng số lấy chuản HyperLan/2 : Băng tần hệ thống B=20Mhz Khoảng thời gian lấy mẫu Ts =1/B=50ns Độ dài FFT:N=64 Khoảng bảo vệ G=9(mẫu) Lượ c đồ điều chế tất c ả sóng mang 16-QAM.Kênh kênh bi ến thiên theo thời gian mô tả sơ lược kênh đa đường rời rạc p[k].Vẽ đồ thị SER(tỉ lệ kí hiệu lỗi)của hệ thống đa đường cho SNR=0,1,…,25dB Code: function [y] = OFDM_Modulator(data,NFFT,G) chnr=length(data); N=NFFT; x=[data,zeros(1,NFFT-chnr)]; %Zero padding a=ifft(x);%fft y=[a(NFFT-G+1:NFFT),a];%insert the gaurd interval Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vô tuyến Vũ Văn Sơn –ĐT9- K52 end function [y] = OFDM_Demodulation(data,chnr,NFFT,G) %insert gaurd interval x_remove_gaurd_interval=[data(G+1:NFFT+G)]; x=fft(x_remove_gaurd_interval); y=x(1:chnr); %Zero removing end %============================= %Main function %============================ clear all; NFFT=64; %NFFT length G=9; %Guard interval M_ary=16; %Multilevel of M-ary symbol t_a=50*10^(-9);%Samping duration of HyperLAN/2 channel_profile=[1.0000,0.8487,0.7663,0.7880,0.6658,0.5644,0.5174,0.0543,0.0465]; rho=channel_profile; %load rho.am -ascii; %load discrete multi-path channel profile h=sqrt(rho); H=fft([h,zeros(1,NFFT-N_P)]); NofOFDMSymbol=100; %Number of OFDM symbols length_data=(NofOFDMSymbol)*NFFT; %The total data length % -%Source bites % -source_data=randint(length_data,sqrt(M_ary)); % -%bit to symbol coder % -symbols=bi2de(source_data); % -%QAM modulator in base band % -QAM_Symbol=dmodce(symbol,1,1,'qam',M_ary); % -%preparing data pattern % -Data_Pattern=[]; 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; end; ser=[];%set the counter of symbol error ratio to be a emty vector snr_min=0; Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thông tin vô tuyến Vũ Văn Sơn –ĐT9- K52 snr_max=25; step=1; for snr=snr_min:step:snr_max; snr=snr-10*log10((NFFT-G)/NFFT);%Miss matching effect rs_frame=[];%A matrix of receive signal for i=0:NofOFDMSymbol-1; %OFDM modulator OFDM_signal_tem=OFDM_Modulator(Data_Pattern(i+1,:),NFFT,G); %The recieve signal over multi-path channel is creted by a %convolution operation rs=conv(OFDM_signal_tem,h); %Additive noise is added rs=awgn(rs,snr,'measured','dB'); rs_frame=[rs_frame;rs]; clear OFDM_signal_tem; end; % -%receive % -Receiver_Data=[];%Prepare a matrix for received data symbols d=[];%Demodulated symbols 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); ISI=[ISI_term,zeros(1,length(previuos_symbol)length(ISI_term))]; rs_i=rs_frame(i,:)+ISI; else rs_i=rs_frame(i,:); end; % -%OFDM demodulator % Demodulated_signal_i=OFDM_Demodulator(rs_i,NFFT,NFFT,G); % -%OFDM Equalization % 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'; %caculation of error symbols [number,ratio]=symerr(symbols,data_symbol); ser=[ser,ratio]; end; snr=snr_min:step:snr_max; semilogy(snr,ser,'bo'); ylabel('SER'); xlabel('SNR in dB'); Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 Result: SER of an OFDM system over a multi-path channel 3.2 Các thông số hệ thống OFDM lựa chọn 8.1 ngoại trừ khoảng bảo vệ đặ t o mẫu.Kênh không phụ thuộc thời gian.Vẽ SER hệ thống so sánh kết nhận từ 3.1 Code : G=0; %Guard interval channel_profile=[1.0000,0.6095,0.4945,0.3940,0.2371,0.1900,0.1159,0.0699,0.0462]; Result: Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 Comparision of SER of an OFDM system with and without guard interval 8.3 Code: clear all; NFFT=64; G=9; M_ary=16; t_a=50*10^(-9); channel_profile=[1.0000,0.8487,0.7663,0.7880,0.6658,0.6658,0.5174,0.0543,0.0465]; rho=channel_profile; N_P=length(rho); % -%parameters for MonteCarlo channel % -symbol_duration=NFFT*t_a; number_of_summations=40; f_dmax=50.0; NofOFDMSymbol=1000; length_data=(NofOFDMSymbol)*NFFT; % %Source % Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vô tuyến Vũ Văn Sơn –ĐT9- K52 source_data=randint(length_data,sqrt(M_ary)); % -%bit to symbol coder % symbols=bi2de(source_data); % %QAM modulator in base band % -\ QAM_Symbol=dmodce(symbols,1,1,'qam',M_ary); % -%preparing data pattern % -Data_Pattern=[]; 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; end; Number_Relz=50; ser_relz=[]; for number_of_relialization=1:Number_Relz; u=rand(N_P,number_of_summations); ser=[]; snr_min=0; snr_max=25; step=1; for snr=snr_min:step:snr_max; snr=snr-10*log10((NFFT-G)/NFFT); rs_frame=[]; h_frame=[]; initial_time=0; for i=0:NofOFDMSymbol-1; OFDM_signal_tem=OFDM_Modulator(Data_Pattern(i+1,:),NFFT,G); [h,t]=MCM_channel_model(u,initial_time,number_of_summations,symbol_duration,f _dmax,rho); h_frame=[h_frame;h]; rs=conv(OFDM_signal_tem,h); rs=awgn(rs,snr,'measured','dB'); rs_frame=[rs_frame;rs]; initial_time=t; clear OFDM_signal_tem; end; % -%Receive % -Reciver_Data=[]; d=[]; data_symbol=[]; for i=1:NofOFDMSymbol; Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 if(N_P>G+1)&(i>1) previous_symbol=rs_frame(i-1,:); ISI_term=previous_symbol(NFFT+2*G+1:NFFT+G+N_P-1); ISI=[ISI_term,zeros(1,length(previous_symbol)length(ISI_term))]; rs_i=rs_frame(i,:)+ISI; else rs_i=rs_frame(i,:); end; % %OFDM demodulator % Demodulated_signal_i=OFDM_Demodulator(rs_i,NFFT,NFFT,G); % %OFDM Equalize % h=h_frame(i,:); H=fft([h,zeros(1,NFFT-N_P)]); 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]; end; ser_relz=[ser_relz;ser]; end; ser=sum(ser_relz)/Number_Relz; snr=snr_min:step:snr_max; semilogy(snr,ser,'bo'); ylabel('SER'); xlabel('SNR in dB'); legend('Time-invariant channel, f_{D,max}=50.0Hz'); hold on; Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com .. .Báo cáo thí nghiệm thơng tin vơ tuyến Vũ Văn Sơn –ĐT9- K52 Bài số 1:MÔ PHỎNG KÊNH RAYLEIGH THEO PHƯƠNG PHÁP RICE Mô phỏ ng kênh vô tuyế n theo ph ươ ng pháp RICE: Phương pháp Rice hiểu phương. .. skknchat@gmail.com Báo cáo thí nghiệm thông tin vô tuyến Vũ Văn Sơn –ĐT9- K52 Bài số 3:MÔ PHỎNG HỆ THỐNG OFDM QUA KÊNH VÔ TUYẾN 3.1 Mơ hệ thống đa sóng mang tần trực giao (OFDM) sử dụng thông số lấy chuản... skknchat@gmail.com Báo cáo thí nghiệm thơng tin vơ tuyến ========= Vũ Văn Sơn –ĐT9- K52 Hà Nội 11/4/2010 TIEU LUAN MOI download : skknchat@gmail.com Báo cáo thí nghiệm thơng tin vô tuyến Vũ Văn Sơn