Sim ma 06 trực quan hóa nguyên lý hoạt động hệ thống truyền dẫn ofdm trên cơ sở thực hiện fft fft và chèn khử cp

16 2 0
Sim ma 06 trực quan hóa nguyên lý hoạt động hệ thống truyền dẫn ofdm trên cơ sở thực hiện fft fft và chèn khử cp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG - - BÀI THỰC HÀNH BỘ MÔN: ĐA TRUY NHẬP VÔ TUYẾN Giảng viên: Nguyễn Viết Đảm Sim MA 06 Trực quan hóa nguyên lý hoạt động hệ thống truyền dẫn OFDM sở thực FFT/FFT chèn/khử CP I Tín hiệu phổ tần tín hiệu OFDM, II Tính chất trực giao sóng mang III Mơ Matlab *code %========================================================================== %======================= Sim_MA_06_PSD_OFDM =============================== %========================================================================== clc; clear; close all; %========================================================================== deta_f = 20; BW_channel/num_subcarrier=Subcarrier space; % % Corhence Bandwidth of channel;15KHz BW_channel = 200; 20MHz % num_subcarrier = ceil(BW_channel/deta_f); subchannel round num_subcarrier = round(BW_channel/deta_f); subchannel T_ofdm = 1/deta_f; R_ofdm = 1/T_ofdm; Tb = T_ofdm/num_subcarrier; Rb = 1/Tb; A = 10; A1 = A^2*Tb; AA = A^2*T_ofdm; f_i = deta_f:deta_f:BW_channel+deta_f; f = -Rb:BW_channel+4*deta_f; % f_BB = -Rb:4*Rb; fc = 3*max(f); f2 = -f:1:(fc+BW_channel+4*deta_f); % bandwidth of channel = % Number of subcarrier or % Number of subcarrier or % OFDM time % ceil function % PSD of input of OFFDM Modulation Block PSD_ofdm_in = A1*(sinc((f*Tb)).^2); PSD_RF_SC = A1*(sinc(((f2-fc)*Tb)).^2); % PSD of output of OFFDM Modulation Block PSD_OFDM = zeros(num_subcarrier,max(size(f))); PSD_OFDM_RF = zeros(num_subcarrier,max(size(f2))); for k = 1:num_subcarrier PSD_OFDM(k,:) = AA*(sinc((f-f_i(k))*T_ofdm)).^2; % PSD_OFDM(k,:) = rand(1)*AA*(sinc((f-f_i(k))*T_ofdm)).^2; PSD_OFDM_RF(k,:) = AA*(sinc((f2-f_i(k)-fc)*T_ofdm)).^2; % PSD_OFDM_RF(k,:) = rand(1)*AA*(sinc((f2-f_i(k)-fc)*T_ofdm)).^2; end figure(1) % -subplot(2,2,1); plot(f,PSD_ofdm_in,'r','LineWidth',3); xlabel('TÇn sè [H_z]','FontName','.VnTime','color','b','FontSize',12); ylabel('PSD_I_n_p_u_t_ _o_f_ _O_F_D_M','FontName','.VnTime','color','b','FontSize',14); title(['Mật độ phổ công suất PSD tín hiệu đầu vào khối OFDM với tốc độ lµ R_b =',num2str(Rb),'b/s'], 'FontName','.VnTime','color','b','FontSize',9); grid on; % -subplot(2,2,2); plot(f2,PSD_RF_SC,'m','LineWidth',3); xlabel('Tần số [H_z]','FontName','.VnTime','color','b','FontSize',12); ylabel('PSD_S_C_R_F','FontName','.VnTime','color','b','FontSize',14); title(['Mật độ phổ công suất PSD tín hiệu SC_R_F với tốc độ R_b =',num2str(Rb),'b/s', ';F_R_F=',num2str(fc),'H_Z'], 'FontName','.VnTime','color','b','FontSize',9); grid on; % -subplot(2,2,3); for k = 1:num_subcarrier plot(f,PSD_OFDM(k,:),'b','LineWidth',2); hold on end xlabel('TÇn sè [H_z]','FontName','.VnTime','color','b','FontSize',12); ylabel('PSD_O_F_D_M','FontName','.VnTime','color','b','FontSize',14); title(['PSD cđa tÝn hiƯu OFDM: BW_C_h_a_n_n_e_l_ =',num2str(BW_channel), ' H_Z ; Num_S_u_b_c_a_r_r_i_e_r =',num2str(num_subcarrier), '; Subcarrier_S_p_a_c_e =',num2str(deta_f),'H_Z'], 'FontName','.VnTime','color','b','FontSize',9); grid on; % -subplot(2,2,4); for k = 1:num_subcarrier plot(f2,PSD_OFDM_RF(k,:),'b','LineWidth',2); hold on end xlabel('TÇn sè [H_z]','FontName','.VnTime','color','b','FontSize',12); ylabel('PSD_O_F_D_M_R_F','FontName','.VnTime','color','b','FontSize',14); title(['PSD cđa tÝn hiƯu OFDM_R_F: BW_C_h_a_n_n_e_l_ =',num2str(BW_channel), ' H_Z ; Num_S_u_b_c_a_r_r_i_e_r =',num2str(num_subcarrier), '; Subcarrier_S_p_a_c_e =',num2str(deta_f),'H_Z',';f_R_F=',num2str(fc),'H_Z'], 'FontName','.VnTime','color','b','FontSize',9); grid on; PSD_OFDM_sum_RF = sum(PSD_OFDM_RF,'double'); %============================================== figure(2) % -subplot(2,1,1); for k = 1:num_subcarrier plot(f2,PSD_OFDM_RF(k,:),'b','LineWidth',2); hold on end h11 = plot(f2,PSD_RF_SC,'r','LineWidth',3); hold on h12 = plot(f2,PSD_OFDM_sum_RF,'+r','LineWidth',4); xlabel('TÇn sè [H_z]','FontName','.VnTime','color','b','FontSize',12); ylabel('PSD_O_F_D_M_ _R_F & SC_R_F','FontName','.VnTime','color','b','FontSize',14); title(['So sanh PSD cđa tÝn hiƯu OFDM_R_F & SC_R_F: BW_C_h_a_n_n_e_l_ =',num2str(BW_channel), ' H_Z ; Num_S_u_b_c_a_r_r_i_e_r =',num2str(num_subcarrier), '; Subcarrier_S_p_a_c_e =',num2str(deta_f),'H_Z',';F_R_F=',num2str(fc),'H_Z'], 'FontName','.VnTime','color','b','FontSize',12); grid on; K = legend('PSD cña OFDM_R_F','PSD cña SC_R_F','PSD cña OFDM_S_U_M_-_R_F'); set(K, 'fontname','.Vntime','fontsize',13); % -subplot(2,1,2) plot(f2,PSD_OFDM_sum_RF,'b','LineWidth',2); hold on plot(f2,PSD_RF_SC,'r','LineWidth',3); xlabel('TÇn sè [H_z]','FontName','.VnTime','color','b','FontSize',12); ylabel('PSD_O_F_D_M_ _R_F & SC_R_F','FontName','.VnTime','color','b','FontSize',14); title(['PSD cđa tÝn hiÖu OFDM_R_F & SC_R_F: BW_C_h_a_n_n_e_l_ =',num2str(BW_channel), ' H_Z ; Num_S_u_b_c_a_r_r_i_e_r =',num2str(num_subcarrier), '; Subcarrier_S_p_a_c_e =',num2str(deta_f),'H_Z',';F_R_F=',num2str(fc),'H_Z'], 'FontName','.VnTime','color','r','FontSize',12); grid on; L = legend('PSD cña OFDM_S_U_M_-_R_F','PSD cña SC_R_F'); set(L, 'fontname','.Vntime','fontsize',13); %========================================================================== *kết 10 Sim_MA07 Mơ hình hóa mơ hiệu BER cho hệ thống truyền dẫn BPSK-OFDM dùng mã kênh mơi trường kênh AWGN I MƠ HÌNH TRUYỀN TÍN HIỆU QUA KÊNH VƠ TUYẾN 11 II Mô Matlab *code 1.Presentation_Sim_MA_07 %========================================================================== %===================== Presentation_Sim_MA_07 ============================= %========================================================================== clc; clear all; close all; %========================================================================== load MA_07_BPSK_OFDM_NoCC_AWGN.mat; SER_noChannelCoding = SER; SNR_1 = SNR; clear SER; % -load MA_07_BPSK_OFDM_CC_AWGN.mat; SER_ChannelCoding = SER; SNR_2 = SNR; clear SER; % -figure(1) G = semilogy(SNR_1,SER_noChannelCoding,'-ob'); set(G,'LineWidth',1.5); hold on; % 12 G = semilogy(SNR_2,SER_ChannelCoding,'-.vr'); set(G,'LineWidth',2.5); % -AX = gca; set(AX,'fontsize',14); X = xlabel('SNR (dB)'); set(X,'fontname','.Vntime','fontsize',14,'color','b'); Y = ylabel('SER'); set(Y,'fontname','.Vntime','fontsize',14,'color','b'); title(['M« SER hệ thống BPSK/OFDM kênh AWGN có không mà hóa kênh; Số bit mô = ', num2str(NumBits),' bits '],'FontName','.VnTime','color','b','FontSize',14); L=legend('OFDM - kênh AWGN không mà hãa kªnh','OFDM - kªnh AWGN cã m· hãa kªnh'); set(L,'fontname','.Vntime','fontsize',13); grid on; %========================================================================== 2.Sim_MA_07_BPSK_OFDM_AWGN_ChannelCode %========================================================================== %================= Sim_MA_07_BPSK_OFDM_AWGN_ChannelCode =================== %========================================================================== clc; clear all; close all; SNR = [0:1:9]; FFTsize = 512; CPsize = 20; numRun = 10^3; % Note NumBits = FFTsize*numRun; %========================================================================== mode_Sim = 2; % for No channel code (OFDM without channel coding); % for channel coding (OFDM with channel coding) Codding_Type = 1; % Code Generation Matrix if mode_Sim ==2 if Codding_Type == k0 = 1; G = [1 1;1 1]; elseif Codding_Type == k0 = 1; G = [1 1 0 1;1 1 0]; else k0 = 2; G = [0 1 0 1;0 0 0 0 1;1 0 0 0 1]; end end %========================================================================== for n = 1:length(SNR), errCount = 0; for k = 1:numRun % Generated BPSK data numSymbols = FFTsize; 13 Vũ Quang Chung – B18DCVT052 data = 0.5*(sign(rand(1,numSymbols)-0.5)+1); data2 = 2*data-1; % -if mode_Sim ==2 % Convolution code Encoder inputSymbols = FWC_COV_Encoder(G,k0,data); inputSymbols = 2*inputSymbols-1; else inputSymbols = 2*data-1; end % -% IFFT (OFDM Modulation) TxSamples = sqrt(length(inputSymbols))*ifft(inputSymbols,length(inputSymbols)); numSymbols = length(inputSymbols); % Insert CP Tx_ofdm = [TxSamples(numSymbols-CPsize+1:numSymbols) TxSamples]; % AWGN channel numSymbols_2 = length(inputSymbols); tmp = randn(1,numSymbols_2+CPsize); noisePower = 10^(-SNR(n)/10); RxSymbols = Tx_ofdm + sqrt(noisePower)*tmp; % Remove CP EstSymbols_1 = RxSymbols(CPsize+1:numSymbols_2+CPsize); % IFT (OFDM Demodulation) Y = fft(EstSymbols_1,length(EstSymbols_1)); % Detection and decide EstSymbols_1 = Y; EstSymbols_1 = sign(real(EstSymbols_1)); for i = 1:length(EstSymbols_1) if EstSymbols_1(i)>0 Decis(i)= 1; else Decis(i)= 0; end end % -if mode_Sim==2 % Convolution code Decoder EstSymbols = FWC_COV_Dencoder(G,k0,Decis); else EstSymbols = EstSymbols_1; end % -% Check for Error if mode_Sim==2 I = find((data-EstSymbols) == 0); else I = find((data2-EstSymbols) == 0); end % Countered Errors errCount = errCount + (FFTsize-length(I)); end SER(n,:) = errCount / (FFTsize*numRun); end 14 Vũ Quang Chung – B18DCVT052 %========================================================================== if mode_Sim ==2 save MA_07_BPSK_OFDM_CC_AWGN.mat; figure(1); G = semilogy(SNR,SER,'-vr'); title(['M« pháng SER hƯ thèng BPSK OFDM kênh AWGN voi mà hóa kênh; Số bit mô = ', num2str(NumBits),' bits '],'FontName','.VnTime','color','b','FontSize',16); LT=legend('OFDM - kªnh AWGN cã m· hãa kªnh'); set(LT,'fontname','.Vntime','fontsize',16); else save MA_07_BPSK_OFDM_NoCC_AWGN.mat; figure(1); G = semilogy(SNR,SER,'-ob'); title(['M« pháng SER hƯ thèng BPSK OFDM kênh AWGN; Số bit mô = ',num2str(NumBits),' bits ', ],'FontName','.VnTime','color','b','FontSize',16); LT=legend('OFDM - kênh AWGN không mà hóa kênh'); set(LT,'fontname','.Vntime','fontsize',16); end set(G,'LineWidth',1.5); AX = gca; set(AX,'fontsize',14); X=xlabel('SNR (dB)'); set(X,'fontname','.Vntime','fontsize',14,'color','b'); Y=ylabel('SER'); set(Y,'fontname','.Vntime','fontsize',14,'color','b'); grid on; % *Kết 15 Vũ Quang Chung – B18DCVT052 16 .. .Sim MA 06 Trực quan hóa nguyên lý hoạt động hệ thống truyền dẫn OFDM sở thực FFT/ FFT chèn/ khử CP I Tín hiệu phổ tần tín hiệu OFDM, II Tính chất trực giao sóng mang III Mơ Matlab *code... hình hóa mơ hiệu BER cho hệ thống truyền dẫn BPSK -OFDM dùng mã kênh mơi trường kênh AWGN I MƠ HÌNH TRUYỀN TÍN HIỆU QUA KÊNH VƠ TUYẾN 11 II Mơ Matlab *code 1.Presentation _Sim_ MA_ 07 %==========================================================================... hệ thống BPSK /OFDM kênh AWGN có không mà hóa kênh; Số bit mô = '', num2str(NumBits),'' bits ''],''FontName'',''.VnTime'',''color'',''b'',''FontSize'',14); L=legend( ''OFDM - kênh AWGN không mà hóa kênh'',''OFDM

Ngày đăng: 25/02/2023, 10:56

Tài liệu cùng người dùng

Tài liệu liên quan