1. Trang chủ
  2. » Tất cả

Sim ma 07 mô hình hóa và mô phỏng hiệu năng ber cho hệ thống truyền dẫn bpsk ofdm dùng mã kênh trong môi trường kênh awgn

30 2 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 4,28 MB

Nội dung

- - HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG ĐA TRUY NHẬP VƠ TUYẾN Bài Giảng Viên : NGUYỄN VIẾT ĐẢM Mục lục Sim_MA06: 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…………………………………………………….3 SIM MA_07: 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ườngkênh AWGN………………… 22 Sim_MA06: 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 ❖ LÝ THUYẾT Tín hiệu phổ tần tín hiệu OFDM Điều chế/ giải điều chế tín hiệu OFDM sở khơng gian tín hiệu ❖MƠ PHỎNG SIM_MA_06_PDS_OFDM.m Câu lệnh Giải thích Clc ; Clear ; 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 Close all ; Xóa tất hình định Ghi deta_f = 20; BW_channel = 200; - Khai báo deta_f Khơng gian sóng mang - Khai báo BW_channel = 200 Băng thông kênh num_subcarrier = -Khai báo 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; A 10; A1 AA = = A^2*Tb; = A^2*T_ofdm; Số thành phần sóng mang vòng kênh - Khai báo T_ofdm = 1/deta_f Chu kỳ ký hiệu OFDM Tốc độ ký hiệu - Khai báo R_ofdm = OFDM 1/T_ofdm; Chu kỳ ký hiệu - Khai báo Tb = kênh T_ofdm/num_subcarrier Tốc độ ký hiệu - Khai báo Rb = 1/Tb kênh Khai báo A =10; - Khai báo A1 Biên độ - Khai báo AA - Khai báo f_i mảng có giá trị deta_f -> BW_channel + deta_f Khoảng xét tần Khoảng cách deta_f số f = - Khai báo f mảng gồm Rb:BW_channel+4*deta_f; giá trị từ -Rb đến BW_channel +4*deta_f Tần số kênh fc = 3*max(f); - Khai báo fc = * max(f) f_i = deta_f:deta_f:BW_channe l+deta_f; f2 = f:1:(fc+BW_channel+4*de ta_f); PSD_ofdm_in = A1*(sinc((f*Tb)).^2); - Khai báo f2 mảng gồm giá trị từ -f đến fc+ BW_channel+4*deta_f - Khai báo PSD_ofdm_in Tần số kênh tổng PSD đầu vào khối điều chế OFFDM 10 16 17 18 19 * Chèn CP MA_06_CP_insert.m Câu lệnh function [CP_insert] = MA_06_CP_insert(N,V) O_I = zeros(V,N); O_V_N_V = zeros(V,N-V); I_V = eye(V); for i=1:V (*) O_I(i,:) = [O_V_N_V(i,:) I_V(i,:)] ; (1) end (2) Giải thích Ghi - Tạo function MA_06_CP_insert với đầu vào N & V Đầu - Khai báo O_I mảng toàn gồm V Tạo ma trận hàng x N cột - Khai báo 0_V_N_V mảng toàn gồm V hàng N-V cột - Khai báo I_V ma trận đơn vị kích Tạo ma trận thước VxV đơn vị -(*) Bắt đầu vòng for cho i chạy Tạo vòng lặp từ 1:V -(1) O_I hàng thứ i tất cột = [O_V_N_V(i,:) I_V(i,:)] 20 -(2) Kết thúc vòng for (*) I_N= eye(N); - Khai báo I_N ma trận đơn vị NxN Tạo ma trận đơn vị CP_insert = [O_I;I_N]; - Gán CP_insert = [O_I;I_N] Đưa ma trận CP * Khử CP MA_06_CP_Remove.m Câu lệnh Giải thích Ghi 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 (*) -(*) Bắt đầu vòng for cho i chạy CP_Remve(i,:) = từ 1:N [O_V(i,:) -(1) CP_Remve(i,:) (hàng thứ i I_N(i,:)]; (1) tất cột ) = [O_V(i,:) end (2) I_N(i,:)]; -(2) Kết thúc vòng for (*) Tạo ma trận Tạo ma trận Tạo ma trận đơn vị Tạo vịng lặp 21 SIM MA_07: 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ườngkênh AWGN Lý thuyết 22 Trong mô này, ta mô hệ thống kênh truyền dẫn BPSK-OFDM kênh AWGN trường hợp: Khơng có mã hóa kênh có mã hóa kênh • Các lệnh hệ thống Câu lệnh Giải thích clc; Xóa command window clear; Xóa biến workspace close all; Đóng tất cửa sổ figure mở • Khai báo tham số đầu vào Câu lệnh SNR = [0:1:9]; FFTsize CPsize numRun NumBits = 512; = 20; = 10^3; = FFTsize*numRun; CPsize = 20; snr_in_dB = 10; noisePower = 10^(-snr_in_dB/10); data = 0.5*(sign(rand(1,FFTsize)0.5)+1); (1) Giải thích Cho giá trị tỉ số tín hiệu nhiễu SNR chạy từ đến để khảo sát Số mẫu liệu điều chế đầu vào Kích cỡ vecto chèn Số lần chạy Số lượng mẫu sử dụng q trình mơ Khái báo CP size =20; Khai báo giá trịSNRdB =10; Gán noise power =10^(snr_in_dB/10) - (1) Sử dụng hàm rand để tạo chuỗi liệu đầu vào xử lí đưa dạng 23 data data_IFFT = 2*data-1; (2) = ifft(data); 01 - (2) Đưa chuỗi đơn cựcvề lưỡng cực - Thực IFFT chuỗidữ liệu đầu vào gán vào data_IFFT data_IFFT_CP = [data_IFFT(FFTsizeCPsize+1:FFTsize) data_IFFT]; - Thực chèn CP củachuỗi liệu sau IFFT tmp (1) - (1) Tạo thành phần tạp âm random = randn(1,FFTsize+CPsize); RV_Gausian =tmp*noisePower; (2) RxSymbols = data_IFFT_CP + RV_Gausian;(3) data_CPR = RxSymbols(CPsize+1:FFTsize+CPsize); data_FFT data_des1 = fft(data_CPR); = zeros(1, length(data)); 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) error_vector1 = data~=data_des1; num_error1 = sum(error_vector1) BER = num_error1/FFTsize theo phân bốgauss - (2) Nhân với công suấttạp âm - (3) Dữ liệu đầu khiqua kênh liệu đầu vào + tạp âm - Thực khử CP - Xử lí FFT - Khởi tạo mảng giá trịđầu sau định - (*) Bắt đầu vong forcho i chạy từ 1>length(data_FFT) -(1) Bắt đầu vòng đk : Nếu data_FFT(i)>=0 thìquyết định đầu =1; else đầu - Kết thúc - So sánh bit đầu vào vàbit sau định - Tính tổng số bit lỗi - Tỉ lệ lỗi bit BER Không sử dụng mã hóa kênh 24 Tiến trình mơ truyền dẫn OFDM mơi trường AWGN (khơng mã hóa kênh) Câu lệnh mode_Sim = 1; for n = 1:length(SNR), errCount = 0; for k = 1:numRun numSymbols = FFTsize; data = 0.5*(sign(rand(1,numSymbols)-0.5)+1); data2 = 2*data-1; inputSymbols = 2*data-1; TxSamples = sqrt(length(inputSymbols))* ifft(inputSymbols,length(inputSymbols)); 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); Giải thích Thiết lập tiến trình mơ khơng sử dụng mã hóa kênh Khởi tạo trình khảo sát theo SNR Khởi tạo liệu đầu vào BPSK dạng -1 1, số lượng ký hiệu ngẫu nhiên tạo với số mẫu liệu điều chế đầu vào, chạy lại trình numRun (lần) IFFT liệu Chèn CP cho liệu Cho liệu qua kênh tạp âm Gauss trắng cộng 25 RxSymbols = Tx_ofdm + sqrt(noisePower)*tmp; 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 EstSymbols = EstSymbols_1; I errCount end SER(n,:) end = find((data2-EstSymbols) == 0); = errCount + (FFTsize-length(I)); = errCount / (FFTsize*numRun); save MA_07_BPSK_OFDM_NoCC_AWGN.mat; figure(1); G = semilogy(SNR,SER,'-ob'); title([' Mô 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); 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; Khử CP cho liệu FFT liệu Quyết định cứng Kiểm tra lỗi, tìm vị trí mà tín hiệu đầu giống với đầu vào, từ suy lỗi Đếm số lượng lỗi, kết thúc q trình chạy Tính tỉ số lỗi, kết thúc khảo sát Mơ tả q trình mơ OFDM khơng sử dụng mã hóa kênh mơi trường AWGN 26 Sử dụng mã hóa kênh (mã xoắn) Câu lệnh mode_Sim Codding_Type = 2; = 1; 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 numSymbols = FFTsize; data = 0.5*(sign(rand(1,numSymbols)-0.5)+1); data2 = 2*data-1; Giải thích Thiết lập tiến trình mơ sử dụng mã hóa kênh Xác định loại mã hóa Dựa loại mã hóa, xác định số bit đầu vào mã hóa ma trận tạo mã Khởi tạo trình khảo sát theo SNR Khởi tạo liệu đầu vào BPSK dạng 1, số lượng ký hiệu ngẫu nhiên tạo với số mẫu liệu điều chế đầu vào, chạy lại 27 trình numRun (lần) if mode_Sim ==2 inputSymbols = FWC_COV_Encoder(G,k0,data); inputSymbols=2*inputSymbols-1; else inputSymbols = 2*data-1; end TxSamples = sqrt(length(inputSymbols))* ifft(inputSymbols,length(inputSymbols)); 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; Mã hóa liệu mã xoắn IFFT liệu Chèn CP cho liệu Cho liệu qua kênh tạp âm Gauss trắng cộng EstSymbols_1=RxSymbols(CPsize+1:numSymbols_2+CPsize); Khử CP cho liệu Y FFT liệu = 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 if mode_Sim==2 EstSymbols = FWC_COV_Dencoder(G,k0,Decis); else EstSymbols = EstSymbols_1; end if mode_Sim==2 I = find((data-EstSymbols) == 0); else I = find((data2-EstSymbols) == 0); end errCount end = errCount + (FFTsize-length(I)); SER(n,:) = errCount / (FFTsize*numRun); end save MA_07_BPSK_OFDM_CC_AWGN.mat; figure(1); Quyết định cứng Nếu ký hiệu >0, trả cịn lại trả Q trình giải mã kênh Kiểm tra lỗi, tìm vị trí mà tín hiệu đầu giống với đầu vào, từ suy lỗi Đếm số lượng lỗi, kết thúc q trình chạy Tính tỉ số lỗi, kết thúc khảo sát Mơ tả q trình mơ OFDM sử 28 G = semilogy(SNR,SER,'-vr'); title([' Mô 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 có mã hóa kênh); set(LT,'fontname','.Vntime','fontsize',16); dụng mã hóa kênh môi trường AWGN - 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 có mã hóa 29 - tốc độ giảm lỗi SNR tăng cao mã hóa kênh lớn khơng mã hóa 30 ... ma trận Tạo ma trận Tạo ma trận đơn vị Tạo vịng lặp 21 SIM MA_ 07: 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ườngkênh AWGN Lý thuyết 22 Trong mô này, ta mô hệ. . .Sim_ MA0 6: 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…………………………………………………….3 SIM MA_ 07: Mơ hình hóa mơ hiệu BER cho hệ thống truyền dẫn BPSK- OFDM dùng. .. BPSK- OFDM dùng mã kênh môi trườngkênh AWGN? ??……………… 22 Sim_ MA0 6: 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 ❖ LÝ THUYẾT Tín hiệu phổ tần tín hiệu OFDM Điều

Ngày đăng: 26/02/2023, 19:16

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w