• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Discrete Fourier Transform-Spread Orthogonal Frequency Division Multiplexing pada Jaringan Generasi Keempat (4G)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Discrete Fourier Transform-Spread Orthogonal Frequency Division Multiplexing pada Jaringan Generasi Keempat (4G)"

Copied!
7
0
0

Teks penuh

(1)

67

SIMULASI SC-FDMA

function [SER_ifdma,SER_lfdma] = scfdma(SP)

numSymbols = SP.FFTsize;

Q = numSymbols/SP.inputBlockSize;

H_channel = fft(SP.channel,SP.FFTsize);

for n = 1:length(SP.SNR),

tic;

errCount_ifdma = 0;

errCount_lfdma = 0;

for k = 1:SP.numRun,

% pembentukan simbol masukan (simbol acak) :

tmp = round(rand(2,SP.inputBlockSize));

tmp = tmp*2 - 1;

inputSymbols = (tmp(1,:) + i*tmp(2,:))/sqrt(2);

%%%%%%%%%%%%%

% MODULATOR

%%%%%%%%%%%%%

% proses FFT simbol masukan :

inputSymbols_freq = fft(inputSymbols);

inputSamples_ifdma = zeros(1,numSymbols);

inputSamples_lfdma = zeros(1,numSymbols);

% subcarrier mapping :

(2)

inputSamples_lfdma([1:SP.inputBlockSize]+SP.inputBlockSize*SP.subband) =

inputSymbols_freq;

% proses iFFT :

inputSamples_ifdma = ifft(inputSamples_ifdma);

inputSamples_lfdma = ifft(inputSamples_lfdma);

% proses penambahan CP:

TxSamples_ifdma = [inputSamples_ifdma(numSymbols-SP.CPsize+1:numSymbols)

inputSamples_ifdma];

TxSamples_lfdma = [inputSamples_lfdma(numSymbols-SP.CPsize+1:numSymbols)

inputSamples_lfdma];

% penambahan noise w[n] :

RxSamples_ifdma = filter(SP.channel, 1, TxSamples_ifdma);

% Multipath Channel

RxSamples_lfdma = filter(SP.channel, 1, TxSamples_lfdma);

% Multipath Channel

%%%%%%%%%%%%%

% DEMODULATOR

%%%%%%%%%%%%%

% proses pemisahan CP:

tmp = randn(2, numSymbols+SP.CPsize);

complexNoise = (tmp(1,:) + i*tmp(2,:))/sqrt(2);

noisePower = 10^(-SP.SNR(n)/10);

RxSamples_ifdma = RxSamples_ifdma + sqrt(noisePower/Q)*complexNoise;

RxSamples_lfdma = RxSamples_lfdma + sqrt(noisePower/Q)*complexNoise;

RxSamples_ifdma = RxSamples_ifdma(SP.CPsize+1:numSymbols+SP.CPsize);

RxSamples_lfdma = RxSamples_lfdma(SP.CPsize+1:numSymbols+SP.CPsize);

% proses FFT:

Y_ifdma = fft(RxSamples_ifdma, SP.FFTsize);

Y_lfdma = fft(RxSamples_lfdma, SP.FFTsize);

% subcarrier demapping :

Y_ifdma = Y_ifdma(1+SP.subband:Q:numSymbols);

(3)

H_eff = H_channel(1+SP.subband:Q:numSymbols);

if SP.equalizerType == 'ZERO'

Y_ifdma = Y_ifdma./H_eff;

elseif SP.equalizerType == 'MMSE'

C = conj(H_eff)./(conj(H_eff).*H_eff + 10^(-SP.SNR(n)/10));

Y_ifdma = Y_ifdma.*C;

end

H_eff = H_channel([1:SP.inputBlockSize]+SP.inputBlockSize*SP.subband);

if SP.equalizerType == 'ZERO'

Y_lfdma = Y_lfdma./H_eff;

elseif SP.equalizerType == 'MMSE'

C = conj(H_eff)./(conj(H_eff).*H_eff + 10^(-SP.SNR(n)/10));

Y_lfdma = Y_lfdma.*C;

end

% proses iFFT :

EstSymbols_ifdma = ifft(Y_ifdma);

EstSymbols_lfdma = ifft(Y_lfdma);

EstSymbols_ifdma = sign(real(EstSymbols_ifdma)) + ...

i*sign(imag(EstSymbols_ifdma));

EstSymbols_ifdma = EstSymbols_ifdma/sqrt(2);

EstSymbols_lfdma = sign(real(EstSymbols_lfdma)) + ...

i*sign(imag(EstSymbols_lfdma));

EstSymbols_lfdma = EstSymbols_lfdma/sqrt(2);

I_ifdma = find((inputSymbols-EstSymbols_ifdma) == 0);

errCount_ifdma = errCount_ifdma + (SP.inputBlockSize- ...

length(I_ifdma));

I_lfdma = find((inputSymbols-EstSymbols_lfdma) == 0);

errCount_lfdma = errCount_lfdma + (SP.inputBlockSize- ...

(4)

end

SER_ifdma(n,:) = errCount_ifdma / (SP.inputBlockSize*SP.numRun);

SER_lfdma(n,:) = errCount_lfdma / (SP.inputBlockSize*SP.numRun);

[SP.SNR(n) SER_ifdma(n,:) SER_lfdma(n,:)]

toc

end

function runSimSCFDMA()

SP.FFTsize = 512;

SP.inputBlockSize = 16;

SP.CPsize = 20;

%SP.subband = 15;

SP.subband = 0;

SP.SNR = [0:2:20];

SP.numRun = 10^1;

% TS 25.104

pedAchannel = [1 10^(-9.7/20) 10^(-22.8/20)];

pedAchannel = pedAchannel/sqrt(sum(pedAchannel.^2));

vehAchannel = [1 0 10^(-1/20) 0 10^(-9/20) 10^(-10/20) 0 0 0 10^(-15/20) 0 0 0

10^(-20/20)];

vehAchannel = vehAchannel/sqrt(sum(vehAchannel.^2));

idenChannel = 1;

SP.channel = idenChannel;

%SP.channel = pedAchannel;

%SP.channel = vehAchannel;

SP.equalizerType ='ZERO';

%SP.equalizerType ='MMSE';

[SER_ifdma SER_lfdma] = scfdma(SP);

(5)

SIMULASI PAPR SC-FDMA

function papr_SCFDMA ()

totalSubcarriers = 256; % Jumlah total subcarrier

numSymbols = 64; % Ukuran blok data

Q = totalSubcarriers/numSymbols; % Faktor Penyebaran Bandwidth IFDMA

filterType = 'rr'; % Jenis filter pulse shaping

rolloffFactor = 0.0999999999; % Faktor Rolloff untuk filter raised-cosine

% Untuk mengatasi divide-by-zero, sebagai contoh gunakan 0.099999999

Fs = 5e6; % Bandwidth sistem

Ts = 1/Fs; % Periode Sampling

Nos = 8; % Faktor Oversampling

if filterType == 'rc' % Jika Menggunakan filter Raised-cosine

psFilter = rcPulse(Ts, Nos, rolloffFactor);

elseif filterType == 'rr' % Jika Menggunakan filter Root raised-cosine

psFilter = rrcPulse(Ts, Nos, rolloffFactor);

end

numRuns = 1000; % Jumlah iterasi

papr_ifdma = zeros(1,numRuns); % Inisialisasi nilai PAPR

papr_lfdma = zeros(1,numRuns);

papr_ifdma_PS = zeros(1,numRuns);

papr_lfdma_PS = zeros(1,numRuns);

for n = 1:numRuns,

% Pembentukan data random:

tmp = round(rand(numSymbols,2));

tmp = tmp*2 - 1;

data = (tmp(:,1) + j*tmp(:,2))/sqrt(2);

% Konversi ke ranah frekuensi menggunakan FFT

X = fft(data);

(6)

Yifdma = zeros(totalSubcarriers,1);

Ylfdma = zeros(totalSubcarriers,1);

% Subcarrier mapping

Yifdma(1:Q:totalSubcarriers) = X;

Ylfdma(1:numSymbols) = X;

% Konversi data ke ranah waktu menggunakan iFFT

yifdma = ifft(Yifdma);

ylfdma = ifft(Ylfdma);

% Tanpa pulse shaping

y_result_ifdma = yifdma;

y_result_lfdma = ylfdma;

% Dengan Pulse shaping

% Up-sample simbol-simbol

y_oversampled_ifdma_PS(1:Nos:Nos*totalSubcarriers) = yifdma;

y_oversampled_lfdma_PS(1:Nos:Nos*totalSubcarriers) = ylfdma;

% Lakukan filtering

y_result_ifdma_PS = filter(psFilter, 1, y_oversampled_ifdma_PS);

y_result_lfdma_PS = filter(psFilter, 1, y_oversampled_lfdma_PS);

% Menghitung PAPR:

papr_ifdma(n) = 10*log10(max(abs(y_result_ifdma).^2) / …

mean(abs(y_result_ifdma).^2));

papr_lfdma(n) = 10*log10(max(abs(y_result_lfdma).^2) / …

mean(abs(y_result_lfdma).^2));

papr_ifdma_PS(n) = 10*log10(max(abs(y_result_ifdma_PS).^2) / …

mean(abs(y_result_ifdma_PS).^2));

papr_lfdma_PS(n) = 10*log10(max(abs(y_result_lfdma_PS).^2) / …

mean(abs(y_result_lfdma_PS).^2));

end

% Menggambar CCDF (Complementary Cumulative Distribution Function):

[Ni,Xi] = hist(papr_ifdma, 100);

(7)

[NiPS,XiPS] = hist(papr_ifdma_PS, 100);

[NlPS,XlPS] = hist(papr_lfdma_PS, 100);

figure;

semilogy(Xi,1-cumsum(Ni)/max(cumsum(Ni)),'r')

hold on

semilogy(Xl,1-cumsum(Nl)/max(cumsum(Nl)),'b')

hold on

semilogy(XiPS,1-cumsum(NiPS)/max(cumsum(NiPS)),'r--')

hold on

semilogy(XlPS,1-cumsum(NlPS)/max(cumsum(NlPS)),'b--')

title('CCDF PAPR SC-FDMA menggunakan IFDMA (merah) & LFDMA (biru)');

xlabel('PAPR [dB]');

ylabel('Pr(PAPR>PAPR0)');

grid on;

% Menyimpan data:

save papr_SCFDMA;

function r = rrcPulse(Ts, Nos, alpha)

% Pembentukan Pulse Shaping Root raised-Cosine t1 = [-6*Ts:Ts/Nos:-Ts/Nos];

t2 = [Ts/Nos:Ts/Nos:6*Ts];

r1 = (4*alpha/(pi*sqrt(Ts)))*(cos((1+alpha)*pi*t1/Ts)+(Ts./(4*alpha*t1)).* ... sin((1-alpha)*pi*t1/Ts))./(1-(4*alpha*t1/Ts).^2);

r2 = (4*alpha/(pi*sqrt(Ts)))*(cos((1+alpha)*pi*t2/Ts)+(Ts./(4*alpha*t2)).* ... sin((1-alpha)*pi*t2/Ts))./(1-(4*alpha*t2/Ts).^2);

r = [r1 (4*alpha/(pi*sqrt(Ts))+(1-alpha)/sqrt(Ts)) r2];

function r = rcPulse(Ts, Nos, alpha) % Pembentukan Pulse Shaping Raised-Cosine t1 = [-8*Ts:Ts/Nos:-Ts/Nos];

t2 = [Ts/Nos:Ts/Nos:8*Ts];

Referensi

Dokumen terkait

[r]

Dengan pengetahuan mengenai fasilitas-fasilitas di Microsoft PowerPoint yang sudah dimiliki oleh para guru ini, maka dengan mengenalkan berbagai macam trik

Dalam penelitian ini berjudul Analisis Potensi Daya Saing Sektor Pariwisata dan Kontribusi Terhadap PDRB Kabupaten Situbondo Tahun 2008-2012, Rumusan Masalah yang di

Bahwa atas pembatalan Pengumuman Pemenang Lelang sebagaimana yang dimaksud pada nomor 2 diatas, Pokja V (Pengadaan Konsultansi dan Jasa Lainnya) berdasarkan

[r]

Pertemuan dengan orang tua, keluarga, peserta didik yang mengalami masalah. Pertemuan dengan orang tua, keluarga, peserta didik yang

data awal ini dianalisis untuk mengetahui normalitas dan homogenitasnya ; (e ) hasil analisis data awal digunakan sebagai acuan untuk memilih satu kelas sebagai kelas eksperimen

Amebiasis hati penyebab utamanya adalah entamoeba hystolitica. Hanya sebagian kecil individu yang terinfeksi E.hystolitica yang memberi gejala amebiasis invasif,