Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
4,3 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Khoa Viễn thơng BÀI TIỂU LUẬN MƠN HỌC ĐA TRUY NHẬP VÔ TUYẾN (TEL1410) Đề bài: Sim_MA06 Sim_MA07 Giảng viên hướng dẫn: NGUYỄN VIẾT ĐẢM Hà Nội, ngày tháng 12 năm 2021 n_B18DCVT374 SIM_MA06 Trực quan hóa nguyên lý hoạt động hệ thống truyền dẫn OFDM sở thuật toán IFFT/FFT chèn/khử CP Mô Câu lệnh Clc ; Clear ; Close all ; deta_f = 20; BW_channel = 200; num_subcarrier = round(BW_channel/deta_f); T_ofdm = 1/deta_f; R_ofdm = 1/T_ofdm; Tb = T_ofdm/num_subcarrier; Rb = 1/Tb; A1 = A^2*Tb; AA = A^2*T_ofdm; Giải thích 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 Xóa tất hình định - Khai báo deta_f = 20 (Subcarrier_ space) - Khai báo BW_channel = 200 ( Băng thông kênh ) - Khai báo num_subcarrier (số lượng thành phần sóng mang) = BW / delta_f - Khai báo T_ofdm = 1/deta_f - Khai báo R_ofdm = 1/T_ofdm - Khai báo Tb = T_ofdm/num_subcarrier - Khai báo Rb = 1/Tb - Khai báo A1 = A^2 * Tb ; - Khai báo AA = A^2*T_ofdm; - Khai báo f_i mảng có giá trị bắt f_i = đầu từ deta_f - > BW_channel+deta_f deta_f:deta_f:BW_channel+deta_f; Khoảng cách deta_f - Khai báo f mảng gồm giá trị từ -Rb f = -Rb:BW_channel+4*deta_f; đến BW_channel+4*deta_f fc = 3*max(f); - Khai báo fc = * max(f) f2 = - Khai báo f2 mảng gồm giá trị từ -f f:1:(fc+BW_channel+4*deta_f); đến fc+BW_channel+4*deta_f PSD_ofdm_in = - Khai báo PSD_ofdm_in = A1*(sinc((f*Tb)).^2); A1*(sinc((f*Tb)).^2); PSD_RF_SC = A1*(sinc(((f2- Khai báo PSD_RF_SC = fc)*Tb)).^2); A1*(sinc(((f2-fc)*Tb)).^2); PSD_OFDM = - Khai báo PSD_OFDM mảng zeros zeros(num_subcarrier,max(size(f))) gồm num_subcarrier hàng x max(size(f)) ; cột for k = 1:num_subcarrier (*) -(*) Bắt đầu vòng lặp for cho k từ -> PSD_OFDM(k,:) = AA*(sinc((f-f_i(k))*T_ofdm)).^2; (1) PSD_OFDM_RF(k,:) = AA*(sinc((f2-f_i(k)fc)*T_ofdm)).^2; (2) end (3) PSD_OFDM_sum_RF = sum(PSD_OFDM_RF,'double'); num_subcarrier PSD_OFDM(k,:) ( Giá trị - (1)PSD_OFDM hàng thứ k cột ) = AA*(sinc((f f_i(k))*T_ofdm)).^2 -(2) PSD_OFDM_RF(k,:) ( Giá trị (1)PSD_OFDM_RF hàng thứ k cột ) = AA*(sinc((f2-f_i(k)fc)*T_ofdm)).^2 -(3) Kết thúc vòng lặp for (*) - Khai báo PSD_OFDM_sum_RF = tổng PDS_OFDM_RF kiểu liệu double Các lệnh cấu tạo figure Kết Quả: Nhận xét : - Phổ tần tín hiệu OFDM đầu vào có độ rộng phổ 2/Tb (Hz).Tần số trung tâm f = - Phổ tần tín hiệu SCrf 𝑐ó độ 𝑟ộ𝑛𝑔 𝑝ℎổ 𝑙à 2/Tb 𝑇ầ𝑛 𝑠ố 𝑡𝑟𝑢𝑛𝑔 𝑡â𝑚 𝑡ạ𝑖 𝑓 = 𝑓𝑅𝑓 - Phổ tần tín hiệu OFDM có nhiều thành phần sóng mang Các thành phần sóng mang có độ rộng phổ 2/T_ofdm Khoảng cách tần số trung tâm deta_f = 1/T_ofdm, tần số trung tâm f=detal_f Độ rộng băng tần BW - Phổ tín hiệu 𝑂𝐹𝐷𝑀𝑅𝐹 nhiều thành phần sóng mang tương tự tín hiệu OFDM nhiều thành phần sóng mang Điểm khác tần số trung tâm OFDMrf f= frf Bùi Minh Tuấn_B18DCVT374 18 Bùi Minh Tuấn_B18DCVT374 Mô - Giải thích code *Chèn CP STT Câu lệnh Giải thích function [CP_insert] = MA_06_CP_insert(N,V) - Tạo function MA_06_CP_insert với đầu vào N & V Đầu CP_insert O_I = zeros(V,N); - Khai báo O_I mảng toàn gồm V hàng x N cột O_V_N_V = zeros(V,NV); - Khai báo 0_V_N_V mảng toàn gồm V hàng N-V cột I_V = eye(V); - Khai báo I_V ma trận đơn vị kích thước VxV for i=1:V (*) O_I(i,:) = [O_V_N_V(i,:) I_V(i,:)] ; (1) end (2) -(*) Bắt đầu vòng for cho I chạy từ 1:V -(1) O_I hàng thứ i tất cột = [O_V_N_V(i,:) I_V(i,:)] -(2) Kết thúc vòng for (*) I_N = eye(N); - Khai báo I_N ma trận đơn vị NxN CP_insert = [O_I;I_N]; - Gán CP_insert = [O_I;I_N] 19 Bùi Minh Tuấn_B18DCVT374 *Khử CP STT Câu lệnh Giải thích function [CP_Remve] = MA_06_CP_Remove(N,V) - Tạo function MA_06_CP_Remove với đầu vào N & V Đầu CP_Remove CP_Remve = zeros(N,N+V); - Khai báo CP_Remve mảng toàn gốm N hàng x N+V cột O_V = zeros(N,V); - Khai báo O_V = mảng toàn gồm N hàng x V cột I_N = eye(N); - Khai báo I_N ma trận đơn vị kích thước NxN for i =1:N (*) CP_Remve(i,:) = [O_V(i,:) I_N(i,:)]; (1) end (2) -(*) Bắt đầu vòng for cho I chạy từ 1:N -(1) CP_Remve(i,:) (hàng thứ i tất cột ) = [O_V(i,:) I_N(i,:)]; -(2) Kết thúc vòng for (*) 20 Bùi Minh Tuấn_B18DCVT374 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 A Mục tiêu: B Nội dung: 21 Bùi Minh Tuấn_B18DCVT374 22 Bùi Minh Tuấn_B18DCVT374 23 Bùi Minh Tuấn_B18DCVT374 24 Bùi Minh Tuấn_B18DCVT374 25 Bùi Minh Tuấn_B18DCVT374 * Thực mô Matlab: - Thiết lập tham số mô phỏng: - Điều chế BPSK: - Xử lý IFFT/FFT chèn/khử CP: +) Phía phát: Xử lý IFFT: 26 Bùi Minh Tuấn_B18DCVT374 Chèn CP: Mô kênh AWGN: +) Phía thu: Khử CP: Xử lý FFT: - Quyết định đầu thực so sánh lỗi: +) Quyết định đầu ra: +) Thực so sánh lỗi: Kết quả: 27 Bùi Minh Tuấn_B18DCVT374 - Giải thích code: STT Câu lệnh Giải thích Clc ; Xóa cửa sổ lệnh Clear ; Xóa mục khỏi khơng gian làm việc, giải phóng nhớ hệ thống Close all ; Xóa tất hình định FFTsize = 512; (1) CPsize = 20; (2) snr_in_dB = 10; (3) noisePower = 10^(snr_in_dB/10); (4) -(1) Khai báo FFTsize = 512 - (2) Khái báo CP size = 20; - (3) Khai báo giá trị SNRdB =10; -(4) Gán noise power = 10^(-snr_in_dB/10) data = 0.5*(sign(rand(1,FFTsiz e)- 0.5)+1); (1) data = 2*data-1; (2) - (1) Sử dụng hàm rand để tạo chuỗi liệu đầu vào xử lí đưa dạng - (2) Đưa chuỗi đơn cực lưỡng cực data_IFFT = ifft(data); - Thực IFFT chuỗi liệu đầu vào gán vào data_IFFT data_IFFT_CP = [data_IFFT(FFTsize CPsize+1:FFTsize) data_IFFT]; - Thực chèn CP chuỗi liệu sau IFFT tmp = randn(1,FFTsize+CPsize ); (1) RV_Gausian = tmp*noisePower; (2) RxSymbols = data_IFFT_CP + RV_Gausian;(3) - (1) Tạo thành phần tạp âm random theo phân bố gauss - (2) Nhân với công suất tạp âm - (3) Dữ liệu đầu qua kênh liệu đầu vào + tạp âm 28 Bùi Minh Tuấn_B18DCVT374 data_CPR = RxSymbols(CPsize+1:F FTsize+CPsize); - Thực khử CP 10 data_FFT = fft(data_CPR); - Xử lí FFT 11 data_des1 = zeros(1, length(data)); - Khởi tạo mảng giá trị đầu sau định 12 for i = 1:length(data_FFT) (*) if data_FFT(i) >= (1) data_des1(i) = 1; (2) else (3) data_des1(i) = -1; (4) end (5) end (6) 13 error_vector1 = data~=data_des1; - So sánh bit đầu vào bit sau định 14 num_error1 = sum(error_vector1) - Tính tổng số bit lỗi 15 BER = num_error1/FFTsize - Tỉ lệ lỗi bit BER - (*) Bắt đầu vong for cho i chạy từ 1- >length(data_FFT) -(1) Bắt đầu vịng đk : Nếu data_FFT(i)>=0 định đầu =1; else đầu - Kết thúc 29 Bùi Minh Tuấn_B18DCVT374 30 Bùi Minh Tuấn_B18DCVT374 Kết Quả: 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ế *So sánh có mã hóa kênh khơng mã hóa kênh : Nhận xét : - Ở 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 31 Bùi Minh Tuấn_B18DCVT374 Thẻ sinh viên 32 ...n_B18DCVT374 SIM_ MA06 Trực quan hóa nguyên lý hoạt động hệ thống truyền dẫn OFDM sở thuật toán IFFT/FFT chèn/khử CP Mô Câu lệnh Clc ; Clear ; Close all ; deta_f... round(BW_channel/deta_f); T _ofdm = 1/deta_f; R _ofdm = 1/T _ofdm; Tb = T _ofdm/ num_subcarrier; Rb = 1/Tb; A1 = A^2*Tb; AA = A^2*T _ofdm; Giải thích 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. .. AA*(sinc((f-f_i(k))*T _ofdm) ).^2; (1) PSD _OFDM_ RF(k,:) = AA*(sinc((f2-f_i(k)fc)*T _ofdm) ).^2; (2) end (3) PSD _OFDM_ sum_RF = sum(PSD _OFDM_ RF,''double''); num_subcarrier PSD _OFDM( k,:) ( Giá trị - (1)PSD _OFDM hàng