2 Sim_MA06: 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……….3 SIM MA_07: Mô hình hóa và mô phỏng hiệu năng BER cho hệ thống tru
Trang 11
z
- - HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 22
Sim_MA06: 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……….3 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……… 22
Trang 33
Sim_MA06:
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
❖ LÝ THUYẾT
Tín hiệu và phổ tần tín hiệu OFDM
Trang 44
Điều chế/ giải điều chế tín hiệu OFDM trên cơ sở không gian tín hiệu
Trang 55
Trang 66
Trang 77
Trang 88
Trang 9Clear ; Xóa các mục khỏi không
gian làm việc, giải phóng bộ nhớ hệ thống
Close all ; Xóa tất cả hình đã chỉ định
Trang 10T_ofdm = 1/deta_f; - Khai báo T_ofdm = 1/deta_f Chu kỳ của ký hiệu
OFDM R_ofdm=1/T_ofdm; - Khai báo R_ofdm =
1/T_ofdm;
Tốc độ ký hiệu OFDM
Tb =
T_ofdm/num_subcarrier;
- Khai báo Tb = T_ofdm/num_subcarrier
Chu kỳ của ký hiệu kênh con
Rb = 1/Tb; - Khai báo Rb = 1/Tb Tốc độ ký hiệu
kênh con
A =
Biên độ A1 = A^2*Tb; - Khai báo A1
AA = A^2*T_ofdm; - Khai báo AA
số
f =
-Rb:BW_channel+4*deta_f;
- Khai báo f là mảng gồm các giá trị từ -Rb đến
Trang 11PSD đầu ra của khối điều chế OFFDM
dữ liệu double figure
-Vẽ thêm 1 đồ thị khác vào cùng cửa sổ figure
- Tạo tên trục tương ứng
Kết quả
Trang 12− Phổ của tín hiệu 𝑂𝐹𝐷𝑀𝑅𝐹 nhiều thành phần sóng mang con tương tự như tín
hiệu OFDM nhiều thành phần sóng mang Điểm khác nhau là tần số trung tâm của OFDMrf bắt đầu từ f= frf
Trang 1313
Mô hình hóa hệ thống truyền dẫn OFDM trên cơ sở thực hiện IFFT/FFT và
chèn/ khử CP
Trang 15-(4) So sánh x11 và x13’
N= 4; (1)
W_H_2 = zeros(N); (2)
- (1) Khai báo N =4 (2) Tạo ma trận W_H_2 là ma trận toàn
- (*) Bắt đầu vòng for cho i chạy từ 1:N
- (**) Bắt đầu vòng for con trong (*) cho m chạy từ 1 :N
-(1) W_H_2(i,m) phần tử ở vị trí hàng i cột m = exp(j*2*pi/N*(i-1)*(m-1)) -(2) kết thúc (**)
-(3) Kết thúc (*)
W_H_2 = 1/sqrt(N)*W_H_2 (1)
W_H_2~=W_H (2)
- (1) W_H_2 = 1/sqrt(N)*W_H_2 -(2) W_H_2 so sánh W_H W_2 = zeros(N); Tạo ma trận W_2 là ma trận toàn 0 có N
Trang 1616
Trang 1717
Trang 1818
Trang 1919
Trang 20MA_06_CP_insert(N,V) - Tạo function
MA_06_CP_insert với đầu vào là
N & V Đầu ra là O_I = zeros(V,N); - Khai báo O_I là mảng toàn 0 gồm V
hàng x N cột
Tạo ma trận 0
O_V_N_V = zeros(V,N-V); - Khai báo 0_V_N_V là mảng toàn
0 gồm V hàng và N-V cột
I_V = eye(V); - Khai báo I_V là ma trận đơn vị kích
thước VxV Tạo ma trận đơn vị
= [O_V_N_V(i,:) I_V(i,:)]
Tạo vòng lặp
Trang 21CP_insert = [O_I;I_N]; - Gán CP_insert = [O_I;I_N] Đưa ra ma trận
CP
* Khử CP
MA_06_CP_Remove.m
Câu lệnh
CP_Remve = zeros(N,N+V); - Khai báo CP_Remve là
mảng toàn 0 gốm N hàng x N+V cột
vị kích thước NxN Tạo ma trận đơn vị for i =1:N (*)
-(2) Kết thúc vòng for (*)
Tạo vòng lặp
Trang 2222
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
Lý thuyết
Trang 23clear; Xóa các biến và hằng trong workspace
close all; Đóng tất cả các cửa sổ figure đang mở
• Khai báo các tham số đầu vào
snr_in_dB = 10; Khai báo giá trị SNRdB =10;
noisePower = 10^(-snr_in_dB/10); Gán noise power =
10^(-snr_in_dB/10) data = 0.5*(sign(rand(1,FFTsize)-
0.5)+1); (1) - (1) Sử dụng hàm rand để tạo chuỗi
dữ liệu đầu vào và xử lí đưa về dạng
Trang 2424
data = 2*data-1; (2) 0 1
- (2) Đưa chuỗi đơn cực về lưỡng cực
data_IFFT = ifft(data); - Thực hiện IFFT chuỗi dữ liệu
đầu vào và gán vào data_IFFT
- (2) Nhân với công suất tạp âm
- (3) Dữ liệu đầu ra khi qua kênh bằng dữ liệu đầu vào + tạp âm
ra =1; else đầu ra bằng 0
- Kết thúc
error_vector1 = data~=data_des1; - So sánh bit đầu vào và bit sau
quyết định
num_error1 = sum(error_vector1) - Tính tổng số bit lỗi
BER = num_error1/FFTsize - Tỉ lệ lỗi bit BER
1 Không sử dụng mã hóa kênh
Trang 25for n = 1:length(SNR), errCount = 0; Khởi tạo quá trình khảo sát theo SNR
Trang 2626
RxSymbols = Tx_ofdm + sqrt(noisePower)*tmp;
EstSymbols_1=RxSymbols(CPsize+1:numSymbols_2+CPsize); Khử CP cho dữ liệu
có thể suy ra lỗi errCount = errCount + (FFTsize-length(I));
end
Đếm số lượng lỗi, kết thúc 1 quá trình chạy
SER(n,:) = errCount / (FFTsize*numRun);
end
Tính tỉ số lỗi, kết thúc khảo sát
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 trong kênh
AWGN; Số bit mô phỏng = ',num2str(NumBits),' bits ',
set(Y,'fontname','.Vntime','fontsize',14,'color','b'); grid on;
Mô tả quá trình mô phỏng OFDM không sử dụng mã hóa kênh trong môi trường AWGN
Trang 2828
quá trình này numRun (lần)
RxSymbols = Tx_ofdm + sqrt(noisePower)*tmp;
Cho dữ liệu đi qua kênh tạp âm Gauss trắng cộng
EstSymbols_1=RxSymbols(CPsize+1:numSymbols_2+CPsize); Khử CP cho dữ liệu
có thể suy ra lỗi errCount = errCount + (FFTsize-length(I));
end
Đếm số lượng lỗi, kết thúc 1 quá trình chạy
SER(n,:) = errCount / (FFTsize*numRun);
end
Tính tỉ số lỗi, kết thúc khảo sát
save MA_07_BPSK_OFDM_CC_AWGN.mat;
figure(1); Mô tả quá trình mô phỏng OFDM sử
Trang 2929
G = semilogy(SNR,SER,'-vr');
title([' Mô phỏng SER hệ thống BPSK OFDM trong kênh
AWGN; Số bit mô phỏng = ',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 trong môi trường AWGN
- Nhận xét : Kết quả mô phỏng hệ thống BPSK OFDM trong kênh AWGN
+ SNR càng lớn thì tỉ lệ lỗi càng giảm - > đúng với thực tế
+ So sánh khi có mã hóa kênh và không mã hóa kênh :
Nhận xét:
- ở cùng 1 giá trị SNR thì tỉ lệ lỗi khi có mã hóa kênh nhỏ hơn khi không có mã hóa
Trang 3030
- tốc độ giảm lỗi khi SNR tăng cao của mã hóa kênh lớn khi không mã hóa