TUGAS 1
PIRANTI LUNAK TELEKOMUNIKASI LANJUT
Function
function [simSEr]=SER_AWGN_FUNCTION(N,Es_N0_dB,Es_N0,Es,ipHat)
for ii = 1:length(Es_N0_dB)
% Transmitter
ip = (2*(rand(1,N)>0.5)-1) + j*(2*(rand(1,N)>0.5)-1); %
simbol QPSK(00:-1-j1, 01:-1+j1, 10:1-j1, 11:1+j1)
s = (Es/sqrt(2))*ip; % untuk menormalisasi energi dari
simbol yang ditransmisikan menjadi bernilai 1
% Kanal Transmisi
n = randn(1,N) + j*randn(1,N); % noise (Additive White
Gaussian Noise)
stdn = sqrt(1/(2*Es_N0(ii))); % standard deviation of noise
(sigma^2=EsN0/2) asumsi Es=1 -> akar Es/N0= stdn
y = s + stdn*n; % karena noise-nya AWGN maka sinyal yg
ditransmisikan + noise yg didapat dari kanal
% Receiver
y_re = real(y); % sinyal y dalam bentuk riil
y_im = imag(y); % sinyal y dalam bentuk imajiner
% sinyal masih dalam bentuk imajiner maka harus diubah
menjadi riil
ipHat((y_re < 0 & y_im < 0)) = -1 + -1*j; % mewakili bit 00
ipHat((y_re >= 0 & y_im > 0)) = 1 + 1*j; % mewakili bit 11
ipHat((y_re < 0 & y_im >= 0)) = -1 + 1*j; % mewakili bit 01
ipHat((y_re >= 0 & y_im < 0)) = 1 - 1*j; % mewakili bit 10
Program Utama
clc, clear all, close all;
N = 10^6; % jumlah simbol yang akan digunakan dalam simulasi
Es_N0_dB = 0:10; % nilai Es_N0 dalam bentuk dB
Es_N0 = 10.^(Es_N0_dB/10); % nilai Es_N0 dalam bentuk bilangan
riil
Es = 1; % karena pada simulasi tidak terdapat penguatan maka
magnitudo=1 (Es=P)maka P=1 -> akar P= amplitudo
ipHat = zeros(1,N); % initialization
simSEr=SER_AWGN_FUNCTION(N,Es_N0_dB,Es_N0,Es,ipHat);
theorySErr_QPSK = erfc(sqrt(0.5*(10.^(Es_N0_dB/10)))); %
menghitung simbol error secara teori
% PLOT GRAFIK
close all
figure
semilogy(Es_N0_dB,theorySErr_QPSK,'ro-','linewidth',2);
hold on
semilogy(Es_N0_dB,simSEr,'gx-','linewidth',2);
grid on
legend('QPSK(Theory)','QPSK(Simulation)');
xlabel('Es/N0,dB','fontname','arial','fontweight','bold','fontsi
ze',10);
ylabel('Symbol Error
Rate','fontname','arial','fontweight','bold','fontsize',10);
title('QPSK (Symbol Error Rate
Probabilities)','fontname','arial','fontweight','bold','fontsize
',10)
SER-QPSK
Grafik
SER-QPSK
Program Rata-Rata
clc, clear all, close all
jum_run = 8;
simul_hasil = [];
N = 10^6; % jumlah simbol yang akan digunakan dalam simulasi
Es_N0_dB = 0:15; % nilai Es_N0 dalam bentuk dB
Es_N0 = 10.^(Es_N0_dB/10); % nilai Es_N0 dalam bentuk bilangan
riil
Es = 1; % karena pada simulasi tidak terdapat penguatan maka
magnitudo=1 (Es=P)maka P=1 -> akar P= amplitudo
ipHat = zeros(1,N); % initialization
Grafik Rata-rata
SER-QPSK
Analisa