Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
8,33 MB
Nội dung
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG Sim_MA_06_07 MƠN ĐA TRUY NHẬP VƠ TUYẾN Giảng viên: Nguyễn Viết Đảm Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 30 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 31 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 v Phương pháp luận mô 32 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 v Minh họa tính phân lớp hàm – Quan hệ file hàm hàm % bắt đầu file hàm Biến đầu = phương trình tính tốn dùng đối số đầu vào => hàm Biến đầu = Phương trình tính tốn dùng đối số đầu vào => hàm %kết thúc file hàm Ví dụ: v Mơ hình mơ hệ thống truyền dẫn OFDM băng tần sở môi trường kênh AWGN 33 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 34 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 v Với Sim_MA06_OFDM_Principle Câu lệnh clc; clear; N = 4; %input('Enter N ='); V = 2; %input('Enter V ='); Giải thích Nhập giá trị đầu vào cho chương trình X1 = 1:N; [W_H] = MA_06_IFFT_matrix(N); [W] = MA_06_FFT_matrix(N); % note W=inv(W_H) W*W_H = I [CP_insert] = MA_06_CP_insert(N,V); [CP_Remve] = MA_06_CP_Remove(N,V); Khởi tạo biến Là chuổi bit đầu vào ma trận Khởi tạo ma trận chèn CP khử CP Mode = 1; Lấy giá trị ngẫu nhiên cho X1 if Mode == else % X1 X1 = 0.5*(sign(rand(1,N)-0.5)+1); = 2*X1-1; end 35 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 = = = = = = = = = = = X1'; W_H*X2; % IFFT X3'; X4'; CP_insert*X5; X6'; X7'; CP_Remve*X8; X9'; X10'; W*X11; % FFT % ===== Check for IFFT/FFT; CP_insert_remove % X13_T = abs(X13) Test_IFFT_FFT_matrix = abs(W_H*W); Test_CP_inser_remove = CP_Remve*CP_insert; % Test_CP_inser_remove2 = CP_insert*CP_Remve Gán giá trị từ X2 đến X12 để gán với giá trị mong muốn Matlab hóa q trình chèn/khử CP % ===== Check for System Modeling X1; X13; %================================================== % IFFT & FFT Princeples % step 1: IFFT process data_IFFT = sqrt(N)*ifft(X1,N); % step 2: add CP % data_IFFT=data_IFFT'; data_IFFT_CP = [data_IFFT(N-V+1:N) data_IFFT]; % step 3: remove CP % data_IFFT_CP= data_IFFT_CP'; data_CPR = data_IFFT_CP(V+1:N+V); % step 4: IFFT process data_FFT = (1/sqrt(N))*fft(data_CPR,N) Tính giá trị OFDM theo chu trình từ IFFT đến FFT 36 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 v Mô hình hóa mơ hệ thống truyền dẫn OFDM MATLAB Dựa chương trình Sim_MA_06_IFFT_FFT : mơ hình hóa mơ điều chế/giải điều chế tín hiệu OFDM sở IFFT/FFT chèn khử CP Trên kênh AWGN MA_06_IFFT_FFT_AWGN Sau so sánh lỗi đếm lỗi, tính SER dựa chương trình MA_06_SER_OFDM_AWGN • Matlab hóa mơ hình hệ thống truyền dẫn OFDM MATLAB Câu lệnh FFTsize = 8; CPsize = 2; for n = 1:length(SNR), errCount = 0; errCount1 = 0; % to determine error (comparesion) error_vector1 = data~=data_des1; % errCount & number of errors Ý nghĩa Thiết lập tham số mô 37 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 num_error1 sum(error_vector1); BER1 num_error1/FFTsize = = numSymbols = FFTsize; % note tmp = round(rand(2,numSymbols)); tmp = tmp*2 - 1; data = (tmp(1,:) + j*tmp(2,:))/sqrt(2); inputSymbols = data; Điều chế Q-PSK TxSamples = sqrt(FFTsize)*ifft(inputSymbols); Điều chế OFDM IFFT Tx_ofdm = [TxSamples(numSymbolsCPsize+1:numSymbols) TxSamples]; Chèn CP tmp = randn(2,numSymbols+CPsize); complexNoise = (tmp(1,:) + i*tmp(2,:))/sqrt(2); noisePower = 10^(SNR(n)/10); RxSymbols = Tx_ofdm + sqrt(noisePower)*complexNoise; Tạo kênh AWGN liệu qua kênh AWGN EstSymbols = RxSymbols(CPsize+1:numSymbols+CPsize); Khử CP Y = fft(EstSymbols,FFTsize); % dau cua FFT Giải điều chế OFDM FFT EstSymbols = Y; EstSymbols = sign(real(EstSymbols)) + i*sign(imag(EstSymbols)); EstSymbols1 = EstSymbols; EstSymbols = EstSymbols/sqrt(2); Tách sóng định cứng errCount1 = sum(inputSymbols~=EstSymbols) % Kiem tra loi I = find((inputSymbols-EstSymbols) == 0); So sánh kiểm tra lỗi đếm lỗi Dem loi Đếm lỗi errCount (numSymbols-length(I)) = errCount + 38 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 SER(n,:) = errCount / (numSymbols*numRun); SER1(n,:) = errCount1 / (numSymbols*numRun); Hiển thị kết mơ v Mơ hình truyền dẫn BPSK_OFDM sử dụng mã kênh băng tần gốc mô trường kênh AWGN Kịch mô phỏng: Sim_MA_07_BPSK_OFDM_AWGN_ChannelCode - Khơng dùng mã hóa kênh Xét cho nhiều giá trị SNR Thực nhiều vòng lặp * Hai vòng lặp: Vòng lặp kịch kênh => tập giá trị SNR Vịng lặp lấy mẫu kênh (tính xác kết mơ phỏng) => Numrun 39 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 Sim_MA_07_BPSK_OFDM_AWGN_ChannelCode.m Câu lệnh Giải thích clc; clear all; close all; -Xóa cửa sổ lệnh -Xóa mục khỏi khơng gian làm việc, giải phóng nhớ hệ thống - Đóng hết đè mục SNR FFTsize CPsize numRun NumBits FFTsize*numRun; = [0:1:9]; = 512; = 20; = 10^3; = -Lấy 10 điểm xét SNR đơn vị dB từ đến Mỗi điểm cách mode_Sim Codding_Type = = 1; -Chế độ mơ =2 -Mã hóa loại 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 -Nếu chế độ mơ = mã hóa loại ta có: k0 = 1; G = [1 1; 1]; -Nếu chế độ mô = mã hóa loại ta có: k0 = 1; G = [1 1 0 1; 1 1 0]; Nếu chế độ mơ = mã hóa loại khác ta có: k0 = 2; for n = 1:length(SNR), errCount = 0; Cho biến j chạy giá trị từ tới 10 (length(SNR)) G = [0 1 0 1;0 0 0 0 1;1 0 0 0 1]; for k = 1:numRun 40 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 numSymbols = FFTsize; + Hàm sign: dùng để lấy dấu (lấy -1 1) data = 0.5*(sign(rand(1,numSymbols)0.5)+1); data2 = 2*data-1; + Hàm rand(1,numSymbols): Lấy 1000 giá trị ngẫu nhiên khoảng từ đến if mode_Sim ==2 inputSymbols = FWC_COV_Encoder(G,k0,data); inputSymbols = 2*inputSymbols-1; Nếu chế độ mô = inputSymbols tính hàm function: else Nếu chế độ mơ loại khác inputSymbols = 2*data-1; FWC_COV_Encoder(G,k0,dat a); inputSymbols = 2*data-1; TxSamples = sqrt(length(inputSymbols))*if ft (inputSymbols,length(inputSym bols)); numSymbols = length(inputSymbols); Tx_ofdm = [TxSamples(numSymbolsCPsize+1:numSymbols) TxSamples]; numSymbols_2 = length(inputSymbols); tmp = randn(1,numSymbols_2+CPsize); noisePower = 10^(-SNR(n)/10); RxSymbols = Tx_ofdm + sqrt(noisePower)*tmp; 41 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 EstSymbols_1 = RxSymbols(CPsize+1:numSymbols _2 +CPsize); Y = fft(EstSymbols_1, length(EstSymbols_1)); 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 Cho biến I chạy giá trị từ tới 10 if mode_Sim==2 EstSymbols = FWC_COV_Dencoder(G,k0,Decis); Nếu chế độ mô = else Nếu chế độ mơ loại khác EstSymbols = EstSymbols_1; if mode_Sim==2 I = find((data-EstSymbols) == 0); else I = find((data2-EstSymbols) == 0); end (length(EstSymbols_1)) -nếu EstSymbols_1(i)>0 Decis(i)= 1; - ngược lại Decis(i)= 0; EstSymbols = FWC_COV_Dencoder(G,k0,De cis); EstSymbols = EstSymbols_1; Nếu chế độ mơ = I = find((data-EstSymbols) == 0); Nếu chế độ mơ loại khác I = find((data2-EstSymbols) == 0); 42 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 errCount = errCount + (FFTsize-length(I)); end SER(n,:) = errCount / (FFTsize*numRun); figure subplot plot hold on xlabel ylabel grid on; set bảng hiển thị kết Đặt title, font, color cho trục x y -Vẽ thêm đồ thị khác vào cửa sổ figure Đặt thích cho trường hợp hiển thị figure ð Kết : ð Kết mô BER hệ thống AWGN với số bit 51200bit ð Nhận xét : Kết mô hệ thống BPSK OFDM kênh AWGN ð SNR lớn tỉ lệ lỗi giảm => với thực tế 43 Sim_MA_06_07 – Trần Thị Tuyết Mai – 31 Mô BER hệ thống BPSK/OFDM kênh AWGN có khơng mã hóa kênh: Nhận xét : BER hệ thống BPSK/OFDM kênh AWGN khơng mã hóa lớn BER hệ thống BPSK/OFDM kênh AWGN mã hóa Ở giá trị SNR tỉ lệ lỗi có mã hóa kênh nhỏ khơng mã hóa Tốc độ giảm lỗi SNR tăng cao mã hóa kênh lớn khơng mã hóa ð Hệ thống tối ưu mã hóa kênh 44 ... Tuyết Mai – 31 17 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 18 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 19 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 20 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 21 Sim_ MA_ 06_ 07... Mai – 31 22 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 v Matlab hóa IFFT/FFT - MA_ 06_ IFFT_FFT_matrix 23 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 24 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 v 25 Sim_ MA_ 06_ 07... Thị Tuyết Mai – 31 Sim_ MA0 7 29 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 30 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 31 Sim_ MA_ 06_ 07 – Trần Thị Tuyết Mai – 31 v Phương pháp luận mô 32 Sim_ MA_ 06_ 07 –