You are on page 1of 3

Hình 2.

2 So sánh PSD của QPSK và MSK thấy rằng biên dộ PSD của QPSK lớn hơn MSK và độ rộng phổ hẹp hơn

Hình 2.3 So sánh PSD 2 phía của BPSK, QPSK, 8-PSK

Hình 2.4 So sánh PSD 2 phía của QPSK và MPSK


Chương trình Sim_FWC02: Mô hình hoá và mô phỏng hiệu năng BER của hệ thống truyền dẫn tín
hiệu BPSK trong kênh AWGN
Phần 1 Giải thích code
STT Lệnh Giải thích
Sim_FWC_02_02_BER_BPSK_AWGN
clc; clear; close all;
SNRindB = 0:1:9; Vector SNR theo thang dB
SNR = 10.^(SNRindB/10); Vector SNR thang tuyến tính
Eb = 1; Năng lượng/Bit
sgma = Eb./sqrt(2*SNR); Vector độ lệch chuẩn
NumBits = 10^7; Số lượng bit
% Tính xác suất lỗi: Tín hiệu trực giao Tỷ số lỗi bit theo lý thuyết
% theo_Orthogonal_err_prb = Qfunct(sqrt(SNR));
theo_Orthogonal_err_prb = 0.5 *erfc(sqrt(SNR/2));
% Tính xác suất lỗi: Tín hiệu đối cực
% theo_Antipodal_err_prb = Qfunct(sqrt(2*SNR));
theo_Antipodal_err_prb = 0.5 *erfc(sqrt(SNR));
h = waitbar(0,'Please wait...'); Tỷ số lỗi bit theo mô phỏng
% minTime = Inf;
tic
for j=1:length(SNR) Lặp từ 1 đến độ dài vector SNR
tStart = tic; % TIC, pair 2
waitbar(j/length(SNRindB));
dsource_1 = 0.5*(sign(rand(1,NumBits)-0.5)+1); Tạo nguồn nhị phân
numoferr = 0; Khởi tạo biến numoferr bằng 0
for i=1:NumBits
% Tạo dữ liệu nhị phân và cho đi qua kênh AWGN
temp = rand;
if (temp<0.5), % Tạo biến ngẫu nhiên phân bố
dsource(i) =1; % With probability 1/2 source output is 1 đều trong (0,1)
X = sgma(j)*randn(1); % Tạp âm Gauss với trung bình
Y = -sqrt(Eb) + X; không và độ lệch chuẩn thuộc
else vector sgma
dsource(i) = 0; % With probability 1/2 source output is 0 % Bit 1 với năng lượng -sqrt(Eb)
X = sgma(j)*randn(1); đi qua kênh AWGN
Y = sqrt(Eb) + X; % Bit 0 với năng lượng +sqrt(Eb)
end đi qua kênh AWGN
% detector follows/Decission
if (Y<0)
decis(i) = 1; % Quyết định '1'
else
decis(i) = 0; % Quyết định '0'
end;
end;
numoferr = sum(decis~=dsource); % So sánh bit dữ liệu đích và dữ
liệu nguồn, số bit lỗi bằng tổng
các bit bị sai khác
smld_err_prb(j) = numoferr/NumBits; % Ước lượng xác suất lỗi bit bằng
%------------------------- Số bit lỗi/Tổng số bit
tElapsed = toc(tStart); % TOC, pair 2
% minTime = min(tElapsed, minTime)
end;

SimTime = max(tElapsed) % Tính thời gian mô phỏng


close(h);
h1 = figure(1); Vẽ hình
% set(h1,'color','c');
set(h1,'Name','Sim_FWC_02_02_BER_BPSK_AWGN');
subplot(121)
G = semilogy(SNRindB,smld_err_prb,'-vr',SNRindB,theo_Antipodal_err_prb,'-
ob');
set(G,'LineWidth',[1.5]);
xlabel('SNR [dB]','FontName','.VnTime','color','b','FontSize',12);
ylabel('\bf X¸c suÊt lçi Pe','FontName','.VnTime','color','b','FontSize',18);
title(['M« pháng BER hÖ thèng BPSK trong kªnh AWGN; N_s_i_m_b_i_t =
',num2str(NumBits),' bits ',...
],'FontName','.VnTime','color','r','FontSize',14);
LT = legend(' M« pháng ',' TÝnh to¸n');
set(LT,'FontName','.VnTime','FontSize',16);
AX=gca;
set(AX,'FontSize',14);
axis([min(SNRindB) max(SNRindB), 1e-5 0.2]);
grid on
text(2,7e-5,'M« h×nh hãa vµ m« pháng',...
'FontName','.VnTimeh','Color','b','FontSize',14);
text(0.5,min(theo_Antipodal_err_prb),'TÝnh chÝnh x¸c cña kÕt qu¶ m« pháng,
x¸c nhËn vµ phª chuÈn m« h×nh',...
'FontName','.VnTimeh','Color','r','FontSize',9.9)

subplot(122)
G = semilogy(SNRindB,theo_Orthogonal_err_prb,'-vr');
G = semilogy(SNRindB,theo_Orthogonal_err_prb,'-
vr',SNRindB,theo_Antipodal_err_prb,'-ob');
set(G,'LineWidth',[1.5]);
xlabel('SNR [dB]','FontName','.VnTime','color','b','FontSize',12);
ylabel('X¸c suÊt lçi Pe','FontName','.VnTime','color','b','FontSize',18);
title('So s¸nh x¸c suÊt lçi bit hÖ thèng BPSK trùc giao vµ ®èi cùc trong kªnh
AWGN',...
'FontName','.VnTime','color','b','FontSize',15);
LT = legend(' Trùc giao',' §èi cùc');

set(LT,'FontName','.VnTime','FontSize',16,'fontweight','normal','fontAngle','normal');
AX = gca;
set(AX,'FontSize',14);
axis([min(SNRindB) max(SNRindB), 1e-5 0.2]);
grid on;
text(2,7e-5,'TÝnh to¸n so s¸nh hiÖu
n¨ng','FontName','.VnTimeh','Color','b','FontSize',14);
Phần 2 Kết quả mô phỏng

Hình 3.1 So xác suất lỗi Pe của hệ thống BPSK theo tính toán lý thuyết và mô phỏng

SNR 0 1 2 3 4 5 6 7

Biến NN -1.1298 -0.1511 -0.1093 -0.2156 -0.8130 -0.1152 0.1238 0.0127


gaussian X
Số lỗi 78183 56048 37438 22866 12463 5849 2401 750

BER 0.0782 0.0560 0.0374 0.0229 0.0125 0.0058 0.0024 0.0008

Xác định các tín hiệu trong mô hình, chương trình mô phỏng và ghi kết quả
Phía phát và kênh AWGN Phía thu
Đầu ra của tạo nguồn nhị phân Đầu ra kênh AWGN Vào/ra quyết định BER
Bit {0,1} có năng lượng  sqrt(Eb) X = sgma(j)*randn(1) if (Y<0) decis = 1;
Y =  sqrt(Eb) + X else decis = 0;
end;

SNR 0 1 2 3 4 5 6 7
BER của trực giao 0.1587 0.1309 0.1040 0.0789 0.0565 0.0377 0.0230 0.0126
BER của đối cực 0.0786 0.0563 0.0375 0.0229 0.0125 0.0060 0.0024 0.0008

You might also like