T1 612005039 BAB III

(1)

30

DISCRETE FOURIER TRANSFORM SPREAD – OFDM

Pada bab tiga ini akan membahas mengenai seluk beluk DFTS-OFDM baik dalam hal dasar-dasar DFTS-OFDM hingga DFTS-OFDM sebagai suatu sistem yang digunakan pada proses uplink untuk Jaringan 4G.

3.1 Prinsip Dasar DFTS-OFDM

Selama proses mempelajari LTE, alternatif lain untuk mengoptimalkan proses uplink masih terus dicari dan diselidiki. OFDM memenuhi syarat untuk mengoptimalkan proses downlink, namun OFDM sangat tidak dianjurkan dalam proses uplink. Salah satu parameter yang mempengaruhi seluruh perangkat mobile adalah usia dari baterai. Walaupun performa baterai akan meningkat seiring perkembangan zaman, namun sangatlah penting untuk memastikan bahwa perangkat mobile yang dipakai user menggunakan energi baterai sekecil mungkin. Dengan menggunakan Power Amplifier yang mengirimkan sinyal frekuensi radio melalui antena menuju ke BS, jumlah energi yang digunakan perangkat mobile sangatlah besar, sehingga sangat diharapkan perangkat mobile dapat bekerja seefisien mungkin. Sinyal yang memiliki nilai PAPR tinggi memerlukan proses penguatan linear yang tidak mengarahkan mereka pada penggunaan energi yang besar. Sehingga dapat dikatakan bahwa penting untuk menggunakan metode transmisi yang memiliki level energi tetap pada saat beroperasi. Sayangnya OFDM memiliki nilai PAPR tinggi yang akan merugikan UE karena bila nilai PAPR tinggi pada transmisi uplink akan mengakibatkan borosnya baterai pada UE. Oleh karena itu dicarilah sebuah sistem baru yang dapat mengatasi kekurangan pada OFDM


(2)

untuk digunakan pada proses uplink.Kemudian didapat DFTS-OFDM, sistem yang digunakan dalam proses uplink Jaringan 4G karena dapat menutupi kekurangan pada OFDM berupa nilai PAPR rendah hingga 2 dB dibandingkan OFDM. Karakterisitk PAPR sangatlah penting untuk penghematan desain pada UE. Nilai PAPR yang rendah pada DFTS-OFDM diperoleh karena pada blok pengirim dan penerima terdapat blok tambahan berupa DFT pre-coding dan inverse pre-coding.Oleh karena adanya blok tambahan tersebut maka DFTS-OFDM memiliki kapabilitas yang lebih baik dibandingkan dengan DFTS-OFDM dalam menjaga fluktuasi envelope dari sinyal yang dikirim. Hal ini mengarah kepada lebih efisiennya konsumsi daya yang digunakan. Sebagai tambahan, kerumitan DFTS-OFDM difokuskan pada sisi penerima, oleh karena itu DFTS-OFDM adalah teknologi yang pantas untuk digunakan dalam proses pengiriman uplink karena kerumitan pada base station bukan merupakan suatu persoalan. Namun pada dasarnya DFTS-OFDM memiliki kesamaan dengan OFDM sehingga keduanya dapat diselaraskan dalam proses downlink serta uplink.

Perlu dicatat bahwa proses pengoperasian DFT pada DFTS-OFDM menyebarkan energi dari satu subcarrier ke semua subcarrier yang teralokasi sebelum di-IFFT. Setelah mekakukan penghitungan DFT dari masukan data, hasilnya akan didistribusikan ke seluruh bandwidth atau ditempatkan pada subcarrier yang berurutan. Kemudian subcarrier yang tidak terpakai akan dinolkan.

Pada DFTS-OFDM, bit-bit berukuran M dimasukkan ke dalam blok simbol M modulasi. DFT mengubah simbol-simbol modulasi ke dalam ranah frekuensi, dan hasilnya akan dipetakan pada subcarrier yang tersedia. Kemudian modulator OFDM akan diimplementasikan sebagai N-point IFFT, dimana N>M dan masukan yang tidak berguna akan dijadikan nol, dan sama seperti pada OFDM dimana akan terjadi penambahan cyclic


(3)

prefix serta konversi pa penjaga di antara blok-blo oleh multipath propagatio frekuensi.

Apabila DFT beruku akan saling menghilangka IDFT yang tidak berguna yang memiliki variasi day

Gam Perbedaan utama p diketahui dari nama DFT untuk mengirimkan inform telah disebarkan oleh pro OFDM masing-masing s informasi.

paralel-to-serial. Penambahan cyclic prefix blok untuk mencegah IBI (Inter Block Interfere ation dan agar memungkinkan melakukan pen

ukuran M sama dengan IDFT berukuran N. M kan. Namun bila nilai M lebih kecil dibanding na dijadikan nol, keluaran IDFT akan menjad aya rendah serta bandwidth yang bergantung pa

ambar 3.1 Blok Diagram DFTS-OFDM[3] pada DFTS-OFDM dan OFDM terletak pad FT-spread-OFDM bahwa pada masing-masing ormasi dari semua simbol-simbol modulasi, kar proses DFT ke seluruh subcarrier yang terse

subcarrier hanya membawa simbol-simbol

ix dimaksudkan sebagai ference) yang disebabkan enghitungan pada ranah

Maka proses DFT/IDFT ing nilai N dan masukan jadi sinyal single-carrier

pada M.

ada proses DFT. Dapat ing subcarrier digunakan arena laju data masukan rsedia. Sedangkan pada ol modulasi yang berisi


(4)

3.2 Analisis Matematis DFTS

Pada DFTS-OFDM, pada pengirim maupun Transform).

Ga

Gamba Pada Gambar 3.2 (b terjadi interferensi antar fr Secara matematis, a adalah jumlah subcarrier dinyatakan seperti pada pe

TS-OFDM

M, untuk menghindari pemakaian modulator d un penerima, maka digunakan teknik DFT

Gambar 3.2 (a) Spektrum dasar DFTS-OFDM[5

bar 3.2 (b) Spektrum multi-carrier DFTS-OFD (b) dapat dilihat bahwa pada frekuensi tengah s r frekuensi.

, apabila d1 adalah bilangan kompleks hasil pem

dan fk adalah frekuensi carrier, maka suatu sin

persamaan (3.1)[8].

r dan filter yang banyak FT (Discrete Fourier

[5]

FDM[5]

subcarrier tidak

pemetaan sinyal, N sinyal OFDM


(5)

T t t t t t s T t t t T i f j d t s S S S S N N C N + > ∧ < = + ≤ ≤           + − =

− − + , 0 ) ( , )) 5 . 0 ( 2 exp( Re ) ( 1 1 1 2 1 … (3.1)

Bagian nyata dan khayal berkoresponden dengan bagian in-phase dan quadratur dari sinyal OFDM, yang dikalikan dengan sinus dan kosinus dari frekuensi carrier tertentu membentuk sinyal OFDM akhir.

T t t t t t s T t t t T i j d t s s s N N i s s N i + > ∧ < = + ≤ ≤ =

− − = + , 0 ) ( )), 2 exp( ) ( 1 1 1 2 π …(3.2)

Namun pada DFTS-OFDM, sinyal OFDM yang terbentuk akan diolah terlebih dahulu oleh DFT yang digunakan untuk memetakan sejumlah besar bit-bit untuk semua subcarrier. Dengan ini maka semua subcarrier akan dimodulasi dengan data yang sama.

3.3 Penerima DFTS-OFDM

Prinsip dasar proses penerimaan pada DFTS-OFDM adalah seluruhnya berkebalikan dengan subbab sebelumnya atau pada Gambar 3.1. Oleh karena itu pada proses DFT, penghilangan frekuensi sampel tidak berhubungan dengan sinyal yang akan dikirim maupun proses IDFT.

Pada keadaan ideal, tanpa adanya gangguan sinyal pada kanal radio, penerima DFTS-OFDM akan berjalan sebagaimana pada Gambar 3.3 yang akan mengembalikan blok dari simbol-simbol yang dikirim. Namun bila terjadi gangguan sinyal, maka sinyal DFTS-OFDM akan terganggu pula. Oleh karena itu pada DFTS-OFDM, equalizer dibutuhkan untuk


(6)

memilih frekuensi kanal dan dengan menggunakan untuk transmisi DFTS-OF

G

Ga Ada cara yang dapa yang terjadi, yaitu dengan

al radio. Dengan penerima DFTS-OFDM sep kan persamaan pada ranah frekuensi, keduany OFDM.

Gambar 3.3 Penerima DFTS-OFDM[3]

Gambar 3.4 Persamaan Ranah Frekuensi[3] pat digunakan untuk mengurangi kompleksitas gan membawa persamaan tersebut ke dalam ra

eperti pada Gambar 3.3 nya dapat diaplikasikan

itas dari persamaan linear ranah frekuensi seperti


(7)

yang diilustrasikan pada Gambar 3.4. Penerima berukuran N blok menerima sinyal sampel yang akan diubah ke dalam ranah waktu menggunakan ukuran-N DFT. Persamaan yang dihasilkan oleh DFT akan dibawa menuju yang merupakan filter pada ranah frekuensi dengan jeda tiap sample , … , . Akhirnya, sinyal keluaran pada ranah frekuensi tersebut akan diubah kembali dalam ranah waktu menggunakan ukuran N-IDFT.Blok berukuran N didefinisikan dengan 2 untuk beberapa integer n sebagai implementasi dari proses DFT/IDFT. Untuk setiap blok N, persamaan dalam ranah frekuensinya terdiri dari N DFT/IDFT, perkalian kompleks N, serta N IDFT/DFT.

Dengan menggunakan cara diatas tetap memiliki beberapa kelemahan diantaranya adalah keluaran dari persamaan pada ranah frekuensi tidak identik dengan keluaran dari persamaan pada ranah waktu dikarenakan filter pada ranah frekuensi bekerja secara konvolusi melingkar pada ranah waktu. Diandaikan persamaan pada ranah waktu memiliki panjang L, maka sampel dengan panjang L-1 tidak akan menghasilkan keluaran yang sama.

Untuk mengatasinya digunakan band time guard antara blok-blok yang berurutan. Metode alternatif untuk menghindari ISI adalah dengan menambahkan guard interval ke setiap blok dari N sinyal sampel (x0, x1,…,xN-1). Guard interval terdiri dari sampel pada xN-v,

xN-v+1,…,xN-1. Hasil sampling ini ditambahkan pada awal setiap blok simbol. Penambahan

ini akan menambah panjang dari blok simbol OFDM ke N + G sampel, yang diberi indeks dari n = - G , ….., N –1, dimana sampel G yang pertama membentuk prefix. Jika respon impuls kanal hn dimana 0≤nN −1, maka hasil konvolusinya dengan xn, −GnN −1,

menghasilkan rn, deretan sinyal terima. Sampel yang diambil adalah rn untuk 0≤nN −1,

dari ini akan diperoleh sinyal deretan yang dikirim dengan menggunakan DFT N point untuk demodulasi.


(8)

Penggunaan cyclic ISI (Inter Symbol Interfer pengiriman data single c disisipkan di blok-blok s dengan blok berukuran N frekuensi.

Dengan adanya cyclic akan dapat dikalkulasi l menentukan persamaan da

3.4 Jenis Pemetaan DFTS-OF

Pada sisi pengirim, domain frekuensi. Kemud subcarrier yaitu Localized Pada pemetaan Loca beberapa subcarrier seca Distributed/Interleaved, sin subcarrier secara terdistrib diversity sehingga pemeta

lic prefix pada transmiter dilakukan sebagai pe ference). Sama seperti pada OFDM, penggunaa le carrier menunjukkan bahwa cyclic prefix

simbol pada transmitter. Ukuran dari blok tr N yang digunakan pada sisi penerima dari pe

Gambar 3.5 Penyisipan Cyclic Prefix[5] yclic prefix seperti pada gambar 3.5 maka filter i langsung dari kanal sampel dalam ranah f

dalam ranah waktu terlebih dahulu.

OFDM

, setelah dilakukan proses DFT dihasilkan sin udian sinyal dipetakan dengan teknik tertentu. lized dan Distributed (Interleaved).

ocalized, sinyal sample dalam domain frekuen ecara mengelompok atau terlokalisasi. Sedang

sinyal sample dalam domain frekuensi dipetak stribusi atau menyebar. Jenis ini menawarkan p etaan jenis ini memiliki keunggulan terhadap se

i pencegahaan terjadinya naan cyclic prefix dalam fix dengan panjang NCP

transmitter harus sama i persamaan dalam ranah

ilter pada ranah frekuensi frekuensi tanpa harus

sinyal tone diskrit dalam tu. Ada 2 tipe pemetaan

ensi dipetakan ke dalam angkan dalam pemetaan takan ke dalam beberapa n peningkatan frequency


(9)

Selain itu, pemetaa dengan tipe localized.

Gambar 3.6

Pada Gambar 3.6 Sebagai contoh terdapat memiliki 4 blok data sim merupakan proses pemeta akan sama seperti pada G sample dalam domain f menggunakan Localized mengelompok pada f1, f2 sample tersebut akan dise f10.

taan distributed juga mengurangi PAPR lebih

.6 Perbedaan Localized dan Distributed Mappin

menunjukkan proses pemetaan subcarrier at 3 user berbagi dalam 12 subcarrier de imbol yang akan ditransmisikan pada saat be etaan untuk 1 user saja, sedangkan untuk 2 u a Gambar 3.6. Keluaran dari proses DFT da frekuensi yang akan dipetakan ke dalam ed DFTS-OFDM, maka keempat sample ters , f2, f3,dan f4. Sedangkan pada Distributed D

sebarkan pada ke-12 subcarrier tersebut, yait

bih besar dibandingkan

ping[6]

ier pada DFTS-OFDM. dengan masing-masing bersamaan. Gambar 3.6 user yang lain polanya dari data blok adalah 4 12 subcarrier. Bila tersebut akan dipetakan DFTS-OFDM, keempat aitu pada f1, f4, f7, dan


(10)

Gambaran pemetaan pada DFTS-OFDM dapat dilihat pada Gambar 3.7 dimana ke-3 user dapat mentransmisikan data secara bersamaan menggunakan localized mapping maupun distributed mapping.

Gambar 3.7 Pemetaan DFTS-OFDM[1]

3.5 DFTS-OFDM untuk proses uplink pada Jaringan 4G

Discrete Fourier Transform-spread OFDM (DFTS-OFDM) adalah suatu teknik multiple access baru yang digunakan untuk uplink pada LTE juga pada jaringan 4G. Teknik ini dapat pula dikatakan sebagai pengembangan dari OFDM yang telah ada sebelumnya. Hanya saja pada DFTS-OFDM terdapat penambahan proses DFT pada transmitter. Pada DFTS-OFDM setiap simbol data disebar di beberapa subcarrier.

Secara rinci proses transmisi DFTS-OFDM dapat dilihat seperti pada Gambar 3.8. Dari diagram blok tersebut dapat dijelaskan proses dari tiap blok sebagai berikut :

1. Pengirim

Aliran bit-bit yang masuk akan diubah menjadi simbol single carrier (modulasi BPSK , QPSK, atau 16-QAM berdasarkan keadaan kanal)

S-to-P : mengelompokkan simbol-simbol single carrier (time domain) ke dalam sebuah blok berisi N-simbol untuk dijadikan input DFT, biasanya 4 simbol.


(11)

N-point DFT : mengubah blok simbol single carrier (time domain) menjadi tone diskrit (domain frekuensi).

Sub-carrier Mapping : memetakan keluaran tone ke dalam M-subcarrier, dimana M>N.

M-point IDFT : mengubah kembali ke domain waktu.

Add CP : penyisipan Cyclic prefix melindungi terhadap multipath fading, serta pulse shaping mencegah bertambahnya spectrum.

DAC : mengubah sinyal digital menjadi sinyal analog untuk ditransmisikan.

Gambar 3.8 Skema Transmisi DFTS-OFDM[4]

2. Penerima

Menghilangkan CP, mengubah kembali ke domain frekuensi dengan M-point DFT.


(12)

Dilakukan equalization untuk mengatasi Intersymbol Interference (ISI) maupun error.

Sinyal tone diskrit ditransformasi menjadi blok simbol single carrier dalam domain waktu menggunakan N-point IDFT.

Dilakukan deteksi dan decoding hingga menjadi aliran bit informasi kembali.

Pada DFTS-OFDM setiap simbol data disebar di beberapa subcarrier.


(13)

Untuk proses uplink data informasi diletakkan pada resource block. Ukuran resource block dalam ranah frekuensi adalah 12 subcarrier sama dengan jumlah subcarrier pada downlink.

Sinyal yang ditransmisikan dalam setiap slot digambarkan oleh sebuah Physical Resource Block (PRB) dimana resource grid yang terdiri dari

subcarrier dan simbol DFTS-OFDM. Jadi suatu PRB terdiri dari x resource element , dimana 1 slot sepanjang 10 ms dalam domain waktu dan 180 KHz dalam domain frekuensi. Masing-masing slot membawa 7 simbol DFTS-OFDM pada konfigurasi cyclic prefix yang normal, atau 6 simbol DFTS-OFDM pada konfigurasi extended cyclic prefix.

Konfigurasi resource block pada Gambar 3.9 berdasarkan panjang cyclic prefix dapat dilihat pada Tabel 3.1.

Tabel 3.1 Parameter resource block uplink[1]

Proses scheduling pada uplink dilakukan oleh eNodeB. eNodeB bekerja pada ranah waktu maupun ranah frekuensi tertentu pada UE dan menginformasikan format pengiriman data yang dapat digunakan oleh UE.

Pada uplink, data dialokasikan pada beberapa slot dalam satu resource block . Ukuran resource block pada uplink adalah 12 subcarrier. Namun tidak semua integer diperbolehkan untuk pengalokasian data guna memperingkas desain DFT pada proses uplink. Hanya kelipatan 2,3 dan 5 yang diperbolehkan. Berbeda dengan


(14)

downlink, UE diharapkan untuk tetap berdekatan pada sumber dalam proses uplink. Interval waktu untuk proses pengiriman data pada uplink sebesar 1ms serta data dari pengguna dibawa oleh PUSCH (Physical Uplink Shared Channel ).

3.6 Desain Simulasi

Pertimbangan penting pada DFTS-OFDM salah satunya adalah bagaimana N-poin sinyal dipetakan ke dalam M-subcarrier sistem.Terdapat 2 strategi utama, yang pertama dimana menggunakan N subcarrier yang berdekatan atau yang kedua dengan mendistribusikan nilai N melalui subcarrier-subcarrier M menggunakan setiap subcarrier.

Untuk lebih memperjelas prinsip kerja DFTS-OFDM, maka disertakan simulasi dari prinsip kerja DFTS-OFDM sebagai berikut :

Simulasi DFTS-OFDM menggunakan Matlab 6.5

Gambar 3.10 Blok Diagram DFTS-OFDM yang Digunakan untuk Simulasi.

Simulasi DFTS-OFDM dilakukan menggunakan program Matlab 6.5. Fungsi scfdma adalah fungsi yang menjelaskan proses modulasi dan demodulasi teknik

1

2 3 4

5 6

7 8


(15)

DFTS-OFDM. Fungsi runSimSCFDMA adalah fungsi menjalankan fungsi scfdma dengan kondisi masukan sesuai yang diinginkan oleh pengguna.

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 :

inputSamples_ifdma(1+SP.subband:Q:numSymbols) =

inputSymbols_freq; 1


(16)

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); 3

4

5


(17)

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);

Y_lfdma =

Y_lfdma([1:SP.inputBlockSize]+SP.inputBlockSize*SP.subband);

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); 7

8


(18)

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-length(I_lfdma));

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;


(19)

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 1/20) 0 9/20) 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);

save scfdma_awgn

Dalam simulasi di atas, digunakan ukuran FFT pengirim adalah 512, Ukuran blok masukan adalah 16 simbol, ukuran Cyclic Prefix 20 sampel.

Keluaran fungsi runSimSCFDMA adalah: ans =

0 0.3438 0.3125

elapsed_time =

0.0160

ans =


(20)

elapsed_time =

0.0150

ans =

4.0000 0.0938 0.1187

elapsed_time =

0.0160

ans =

6.0000 0.0938 0.0375

elapsed_time =

0.0160

ans =

8.0000 0 0.0125

elapsed_time =

0.0320

ans =

10 0 0

elapsed_time =

0.0160

ans =

12 0 0

elapsed_time =

0.0310

ans =

14 0 0

elapsed_time =

0.0150

ans =

16 0 0

elapsed_time =

0.0160

ans =


(21)

elapsed_time =

0.0310

ans =

20 0 0

elapsed_time =

0.0160

Keluaran simulasi adalah berupa galat (error) simbol dengan menggunakan IFDMA dan LFDMA saat simbol SNR bernilai 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, dan 20 beserta dengan lama waktu penghitungan.

Sesuai hasil simulasi, hasil galat simbol saat simbol SNR lebih dari 10 akan bernilai 0 yang berarti simbol keluaran demodulator sesuai dengan simbol masukan modulator. Fungsi ini dapat mempermudah kita untuk mempelajari sistem DFTS-OFDM baik modulatornya maupun demodulatornya.


(1)

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);

3

4

5


(2)

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); Y_lfdma =

Y_lfdma([1:SP.inputBlockSize]+SP.inputBlockSize*SP.subband);

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);

7

8


(3)

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-length(I_lfdma));

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;


(4)

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 1/20) 0 9/20) 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);

save scfdma_awgn

Dalam simulasi di atas, digunakan ukuran

FFT

pengirim adalah 512, Ukuran

blok masukan adalah 16 simbol, ukuran

Cyclic Prefix

20 sampel.

Keluaran fungsi runSimSCFDMA adalah:

ans =

0 0.3438 0.3125 elapsed_time =

0.0160 ans =


(5)

elapsed_time = 0.0150 ans =

4.0000 0.0938 0.1187 elapsed_time =

0.0160 ans =

6.0000 0.0938 0.0375 elapsed_time =

0.0160 ans =

8.0000 0 0.0125 elapsed_time =

0.0320 ans =

10 0 0 elapsed_time = 0.0160 ans =

12 0 0 elapsed_time = 0.0310 ans =

14 0 0 elapsed_time = 0.0150 ans =

16 0 0 elapsed_time = 0.0160 ans =


(6)

elapsed_time = 0.0310 ans =

20 0 0 elapsed_time = 0.0160

Keluaran simulasi adalah berupa galat (

error

) simbol dengan menggunakan

IFDMA dan LFDMA saat simbol SNR bernilai 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, dan

20 beserta dengan lama waktu penghitungan.

Sesuai hasil simulasi, hasil galat simbol saat simbol SNR lebih dari 10 akan

bernilai 0 yang berarti simbol keluaran demodulator sesuai dengan simbol masukan

modulator. Fungsi ini dapat mempermudah kita untuk mempelajari sistem