BAB V PENUTUP
5.2 Saran
Pada penelitian selanjutnya dapat dikembangkan parameter-parameter kinerja lainnya untuk dianalisa.
DAFTAR PUSTAKA
1. Mulyadi,Erwin.14 Desember 2007.Mengenal Teknologi T dan
DVB-H
diakses 12/01/2012.
2.
diakses 06/02/2012
3. Li, Stuber Y dan Gordon L. 2006. Orthogonal Frequency Division Multiplexing for Wireless Communications. Atlanta: Spinger.
4. Juwono, Filbert Hilman dan Dadang Gunawan. 2010. Prinsip-Prinsip OFDM . Yogyakarta: Andi.
5. Hamzah, Kemal. 2008. Laporan Tugas Akhir: Adaptive Modulation and Coding (AMC) Spatial diversity MIMO-OFDM untuk Sistem Mobile WiMax. Jakarta: Departemen Teknik Elektro-Universitas Indonesia.
6.
diakses 08/2/2012
7. Adriani, Diana. 2009. Laporan Tugas Akhir: Pemodelan dan Simulasi Orthogonal Frequency and Code Division Multiplexing (OFCDM) pada Sistem Komunikasi Wireless. Medan: Departemen Teknik Elektro-Universitas Sumatera Utara.
8. Bernhard M.J. Leiner, “LDPC Codes –a Brief Tutorial”, 8 April 2005, hal 1-2.
9. DVB-
10.Hasibuan, Elvina. 2009. Analisa Interferensi Penerapan DVB-T/H terhadap TV PAL Analog pada masa Transisi ke Sistem Penyiaran Dijital di Jakarta. Depok: Tesis, Jurusan Teknik Telekomunikasi, Universitas Indonesia. 6: 7-12
11.Stallings, William. 2007. Komunikasi & Jaringan Nirkabel, jilid 1, edisi kedua. Jakarta : Erlangga
12.Karina, Adela Dkk. 2008. Seminar Nasional Aplikasi Sains Dan Teknologi 2008–1st Akprind Yogyakarta: Analisis Pengaruh Penggunaan Power Loading terhadap PAPR pada Sistem OFDM. Bandung: Departemen Teknik Elektro-Institut Teknologi Telkom
LAMPIRAN I
Flowchart Algoritma Simulasi Kinerja OFDM pada DVB-T Mulai
Set Parameter Para=2048, fftlen=2048, noc=1705, nd=68, ml=2, sr=6750000, gilen=128,
tau=0,0884, ebn0=10:10:50
Proses Transmitter Bangkit Data Random Seldata = rand (1,para*nd*ml)>0.5;
Proses LDPC Encoding
H=dvbt2ldpc(½); L=fec.ldpcenc(H); Codeword=encode(l,seldata);
Konversi Data Serial ke Paralel Paradata=reshape(codeword,para,nd*ml);
Proses Modulasi QPSK Fungsi qpskmod dijalankan
Kmod = 1/sqrt(2); ich1 = ich.*kmod; qch1 =qch.*kmod;
Proses IFFT X = ich1 + qch1.*1i; Y = ifft (x);
ich2 = real(y); qch2 = imag(y); Proses Penyisipan Guard Interval
FUNGSI giins dijalankan Idata1 = reshape (idata,fftlen,nd); Qdata1 = resahpe (qdata,fftlen, nd); Idata2 = [idata1 (fftlen-gilen+1 : fftlen,;); idata1]; Qdata = [qdata1(fftlen-gilen+1:fftlen,:); qdata1]; Iout = reshape (idata2, 1, (fftlen + gilen)*nd); Qout = reshape (qdata,1,(fftlen + gilen)*nd);
Fftlen2 = fftlen + gilen;
A
B
Proses Clipping Noise
FUNGSI Clipn dijalankan [ich4, qch4]=clipn(cr,ich3,qch3); Proses Penambahan Attenuasi
Spow = sum (ich4.^2 + qch4.^2)/nd./ para;
Attn = 0.5*spow*sr/br*10.^(-ebn0/10); Attn = sqrt (attn);
Proses Receiver
Proses diKanal AWGN Fungsi comb dijalankan Iout = randn (1,length (idata)).*attn; Qout = randn (1,length (qdata)).*attn;
Iout = iout + idata (1:le ngth(idata)); Qout = qout + qdata (1:length (qdata))
Proses Pengeluaran Guard Interval Fungsi girem dijalankan Idata2 = reshape (idata,fftlen2,nd); Qdata2 = resahpe (qdata,fftlen2, nd);
Iout = idata2(gilen+1:fftlen2,;); Qout = qdata2(gilen+1:fftlen2,;);
Proses FFT rx = ich6 + qch6.*1i;
ry = fft (rx); ich7 = real (ry); qch7 = imag (ry);
Proses Demodulasi QPSK Fungsi qpskdemod dijalankan
ich8 = ich7./kmod; qch8 = qch7./kmod;
Proses Konversi data paralel ke serial Demodata1=reshape(demodata,1,para*nd*ml);
Proses LDPC Decoding hdec=fec.ldpcdec(H); Decodedmsg=decode(hdec, demodata1);
Proses Perhitungan BER Noe2 = sum (abs(decodedmsg – seldata));
Nod2 = length (seldata); Noe = noe + noe2; Nod = nod + nod2; Ber=noe/nod;
B A
Untuk iii=1 sampai nloop
YA BER rata-rata
ditampilkan
LAMPIRAN II Program Simulasi
1. Script File OFDM pada DVB-T 2K terhadap pengaruh Clipping Noise %****************** Bagian Persiapan ******************
clear all; clc;
para=2048; % Jumlah kanal paralel yang ditransmisikan fftlen=2048; % Panjang FFT
noc=1705; % Jumlah carrier
nd=68; % Jumlah simbol OFDM untuk satu loop ml=2; % Level modulasi : QPSK
sr=6750000; % Symbol rate br=sr.*ml; % Bit rate per carrier
gilen=128; % Panjang guard interval (points) ebn0=10:10:50; % Eb/N0
tau=0.0884; % root mean square daya sinyal
%******************** Bagian Main Loop ******************
nloop=100; % Jumlah loop simulasi noe = 0; % Jumlah data error
nod = 0; % Jumlah data yang ditransmisikan for s = 1:2 for ss = 1:5 for iii=1:nloop %********************* Transmitter ********************** %****************** Pembangkitan Data ******************* seldata=rand(1,para*nd*ml) > 0.5; % rand : dibangun di dalam fungsi
%********** Konversi Dari Serial Ke Parallel ************
paradata=reshape(seldata,para,nd*ml); % reshape : dibangun di dalam fungsi
%******************* Modulasi QPSK ******************
[ich,qch]=qpskmod(paradata,para,nd,ml);
ich1=ich.*kmod; qch1=qch.*kmod; %************************ IFFT ************************ x=ich1+qch1.*1i;
y=ifft(x); % ifft : dibangun di dalam fungsi ich2=real(y); % real : dibangun di dalam fungsi qch2=imag(y); % imag : dibangun di dalam fungsi
%************** Penyisipan Guard Interval *************** [ich3,qch3]= giins(ich2,qch2,fftlen,gilen,nd); fftlen2=fftlen+gilen; %************************* Clipping Noise ************* cr=0; [ich4,qch4]=clipn(cr,ich3,qch3); %****************** Kalkulasi Atenuasi ******************* spow=sum(ich4.^2+qch4.^2)/nd./para; % sum : dibangun di dalam fungsi
attn=0.5*spow*sr/br*10.^(-ebn0(ss)/10); attn=sqrt(attn); %************************ Receiver ************************ %********************* Penambahan AWGN ******************** [ich5,qch5]=comb(ich4,qch4,attn);
%**************** Pengeluaran Guard Interval ************** [ich6,qch6]= girem(ich5,qch5,fftlen2,gilen,nd); %************************* FFT *************************** rx=ich6+qch6.*1i;
ry=fft(rx); % fft : dibangun di dalam fungsi
ich7=real(ry); % real : dibangun di dalam fungsi qch7=imag(ry); % imag : dibangun di dalam fungsi
%********************** Demodulasi ************************ ich8=ich7./kmod;
qch8=qch7./kmod;
[demodata]=qpskdemod(ich8,qch8,para,nd,ml);
%************** Konversi Dari Paralel Ke Serial ************
demodata1=reshape(demodata,1,para*nd*ml);
%****************** Bit Error Rate (BER) *******************
% Jumlah error yang muncul dan data
noe2=sum(abs(demodata1-seldata)); % sum : dibangun di dalam fungsi
nod2=length(seldata);
% length : dibangun di dalam fungsi
% Jumlah error kumulatif dan data pada noe dan nod
noe=noe+noe2; nod=nod+nod2;
fprintf ('Nilai BER untuk EbN0 %d percobaan ke %3.0f adalah %0.5f \n', ebn0(ss),iii,(noe2/nod2)); end %******************* Hasil Keluaran ******************** switch s case 1 ber1(ss)=(noe/nod); case 2 ber1(ss)=(noe/nod); end if s == 1 berteori(ss) = (1/2)*erfc(sqrt((ebn0(ss)))); end
%fprintf('Nilai BER rata-rata untuk 100 kali percoba%f\t%e\t%d\t\n',ebn0,ber,nloop);
%********************* Akhir Dari File ********************
end end
disp (' '); for s = 1:2 switch s case 1 ber = ber1;
fprintf('Nilai BER rata-rata untuk tiap EbN0 pada OFDM\n');
case 2
ber = berteori;
fprintf('Nilai BER secara teori untuk tiap EbN0 pada OFDM\n'); end
fprintf('|---|\n'); fprintf('| EbN0 | BER |\n'); fprintf('|---|\n');
for u = 1:5
fprintf('| %2.0f dB | %0.10f |\n',ebn0(u),ber(u)); % fprintf : built in function
end fprintf('|---|\n\n\n'); if s ==1; plot(ebn0,ber,'--b'); elseif s ==2; plot(ebn0,berteori,'--g'); end grid on;hold on end xlabel('EbN0 (dB)'); ylabel('BER');
title ('GRAFIK HUBUNGAN BER TERHADAP Eb/N0 pada Clipping Rasio 0 dB PADA KANAL AWGN');
legend('OFDM Pada Saat Clipping Rasio 0 dB','BER OFDM Teori'); 2. Script File OFDM pada DVB-T 2K teradap pengaruh Clipping Noise
menggunakan LDPC
%****************** Bagian Persiapan ****************** clear all;
clc;
fftlen=2048; % Panjang IFFT/FFT noc=1705; % Jumlah carrier
nd=68; % Jumlah simbol OFDM untuk satu loop ml=2; % Level modulasi : QPSK
sr=6750000; % Symbol rate br=sr.*ml; % Bit rate per carrier
gilen=128; % Panjang guard interval (points) ebn0=10:10:50; % Eb/N0
tau=0.0884; % root mean square daya sinyal
%******************** Bagian Main Loop ******************
nloop=100; % Jumlah loop simulasi noe = 0; % Jumlah data error
nod = 0; % Jumlah data yang ditransmisikan for s = 1:2 for ss = 1:5 for iii=1:nloop %********************* Transmitter ********************** %****************** Pembangkitan Data ******************* seldata=rand([0 1],1,para*nd*ml); % rand : dibangun di dalam fungsi
%*********************** LDPC *************************** H=dvbt2ldpc(1/2);
% visualize the location of nonzero elements in H l= fec.ldpcenc(H);
% Encode the message
codeword = encode(l,seldata);
%********** Konversi Dari Serial Ke Parallel ************
paradata=reshape(codeword,para,nd*ml); % reshape : dibangun di dalam fungsi
%******************* Modulasi QPSK ******************
[ich,qch]=qpskmod(paradata,para,nd,ml);
kmod=1/sqrt(2); % sqrt : dibangun di dalam fungsi
ich1=ich.*kmod; qch1=qch.*kmod;
%************************ IFFT ************************
x=ich1+qch1.*1i;
y=ifft(x); % ifft : dibangun di dalam fungsi ich2=real(y); % real : dibangun di dalam fungsi qch2=imag(y); % imag : dibangun di dalam fungsi
%************** Penyisipan Guard Interval *************** [ich3,qch3]= giins(ich2,qch2,fftlen,gilen,nd); fftlen2=fftlen+gilen; %************************** Clipping Noise **************** cr=0; [ich4,qch4]=clipn(cr,ich3,qch3); %****************** Kalkulasi Atenuasi ******************* spow=sum(ich4.^2+qch4.^2)/nd./para; % sum : dibangun di dalam fungsi
attn=0.5*spow*sr/br*10.^(-ebn0(ss)/10); attn=sqrt(attn); %************************ Receiver ************************ %********************* Penambahan AWGN ******************** [ich5,qch5]=comb(ich4,qch4,attn);
%**************** Pengeluaran Guard Interval ************** [ich6,qch6]= girem(ich5,qch5,fftlen2,gilen,nd); %************************* FFT *************************** rx=ich6+qch6.*1i;
ry=fft(rx); % fft : dibangun di dalam fungsi ich7=real(ry); % real : dibangun di dalam fungsi
qch7=imag(ry); % imag : dibangun di dalam fungsi %********************** Demodulasi ************************ ich8=ich7./kmod; qch8=qch7./kmod; [demodata]=qpskdemod(ich8,qch8,para,nd,ml);