Monday, July 23, 2012

Random Access Channel (RACH) in LTE


Dalam jaringan LTE, proses RACH terbagi menjadi dua bagian yaitu contention-based dan contention-free. RACH akan dilakukan oleh setiap UE ketika :
- Melakukan initial akses ke jaringan atau RRC Connection Request
- Jaringan sedang down
- UE melakukan handover, {eNB mengalokasikan scheduling grant ke eNB target}
- Sinkronisasi UL hilang
- Ketika UE tidak mempunyai resource/bandwidth untuk mengirim data
Sebelum dilakukan RACH, UE harus memilih secara acak preamble yang disediakan oleh eNB. Dalam jaringan LTE, setiap cell mempunyai 64 preamble yang khusus digunakan untuk RACH contention based. UE memilih secara acak berarti ada kemungkinan 2 UE memilih preamble yang sama. Sow pada waktu yang sama preamble tersebut akan tiba di eNB dalam waktu yang sama yang menyebabkan terjadinya collision “tabrakan”. Kejadian tabrakan tersebut sering disebut “contention” :D dan proses RACH yang mengatasi masalah ini disebut “contention-based”. Makanya disebut RACH contention-based haha…
eNB akan  mengatasi masalah tersebut dengan suatu proses yang disebut “contention-resolution”

Pada kasus RACH contention-free, eNB memberikan preamble ke UE atas kehendak UE. Jadi UE tidak memilih preamble tersebut secara acak. Hal ini dilakukan jika UE ingin berpindah dari suatu cell ke cell lain atau sering disebut sebagai handover. Sow… preamble yang diberikan ke UE pada kasus ini tidak akan mengalami collision makanya RACH ini disebut sebagai contention-free. Namun untuk melakukan RACH contention-free, UE harus berada dalam state Connected Mode. Prosedur yang sangat sederhana untuk menggambarkan contention-free ini seperti terlihat di bawah :

i) UE --> eNB : RACH Preamble Assignment
ii) UE <-- eNB : RACH Preamble (RA-RNTI, petunjuk untuk ukuran L2/L3 message)
iii) UE --> eNB : Random Access Response (Timing Advance Command, C-RNTI, UL grant untuk L2/L3 message)


Kembali ke RACH contention-based. Ilustrasi yang paling-paling sederhana untuk contention-based ini seperti terlihat pada langkah-langkah di bawah :
i) UE --> eNB : RACH preamble (RA-RNTI, menunjukkan ukuran L2/L3 message)
ii) UE <-- eNB : Random Access Response (Timing Advance, T_C-RNTI, UL grant untuk L2/L3 message)
iii) UE --> eNB : L2/L3 message
iv) UE <-- eNB : message untuk contention resolution

Jika pada step 1 terjadi collision, contohnya 2 UE mengirim PRACH yang sama. Maka dalam hal ini kedua UE tersebut akan menerima T_C-RNTI dan resource yang sama dari eNB pada step ke-2. Sehingga kedua UE tersebut juga akan mengirim L2/L3 message pada alokasi resource yang sama (dalam hal ini lokasi time/frequency yang sama) ke eNB pada step 3. Jika hal ini terjadi maka L2/L3 message yang dikirim UE tersebut akan berinterferensi dan eNB tidak dapat mendecode kedua L2/L3 message tersebut. Dalam kasus ini,  tidak satupun UE yang akan menerima response dari eNB berupa  HARQ ACK sehingga kedua UE menganggap bahwa RACH process telah gagal dan akan kembali mengulangi langkah pertama. Kemungkinan lain yang bisa terjadi adalah eNB dapat melakukan decode terhadap salah satu L2/L3 message dari salah satu UE. Nah dalam kasus ini, UE yang L2/L3 messagenya sukses di decode oleh eNB akan mendapat respon berupa HARQ ACK. HAR             Q ACK inilah yang disebut “contention resolution” process.

Lebih jauh pada contention-based. Pada step 1 UE akan mentransmit preamble dengan aturan seperti terlihat pada table di bawah  (dari 3GPP specification TS36.211-tabel 5.7.1-2) :



Sesuai table di atas, jika UE menggunakan “PRACH Configuration Index 0” maka UE tersebut akan mentransmit preamblenya pada SFN (System Frame Number) yang genap pada subframe pertama untuk setiap SFN yang genap. Kemudian jika memperhatikan dengan seksama table di atas, maka PRACH Configuration Index 14 adalah preamble yang paling mudah bagi eNB didecode karena UE dapat mengirim PRACH pada semua SFN dan semua slot pada frame.
Jika telah diketahui waktu UE untuk mengirim preamble, maka pertanyaan berikutnya adalah kapan seharusnya eNB akan merespons preamble tersebut ? nah untuk menjawab pertanyaan ini maka kita dapat mengacu ke 3GPP TS36.321, bab 5.1.4 :

Once the Random Access Preamble is transmitted and regardless of the possible occurrence of a measurement gap, the UE shall monitor the PDCCH for Random Access Response(s) identified by the RA-RNTI defined below, in the RA Response window which starts at the subframe that contains the end of the preamble transmission [7] plus three subframes and has length ra-ResponseWindowSize subframes.

Dari penggalan paragraph tersebut dapat diketahui bahwa eNB akan merespond RACH Preamble paling cepat setelah 3 subframe (3 ms) berikutnya saat RACH preamble tiba di eNB. Kemudian respon yang paling lambat sesuai ukuran window dari preamble. Ukuran window setiap preamble dapat berawal dari 0 sampai 12 subframe, sehingga dapat disimpulkan bahwa waktu paling lambat eNB merespon preamble dari UE adalah 12 ms. Wew…12 ms masih merupakan waktu yang sangat cepat :-S.
Kemudian konfigurasi dari RACH message dapata dilihat pada 3GPP 36-331. Pada TS tersebut bisa dilihat pada SIB2, seperti terlihat di bawah :





Friday, July 20, 2012

HYBRID ARQ IN LTE

HARQ digunakan untuk melakukan deteksi error dan melakukan koreksi terhadap error tersebut dengan efisien/cepat. HARQ adalah protocol stop dan wait, dimana transmisi berikutnya dilakukan setelah menerima ACK/NACK dari penerima data. Jika ACK diterima maka dilakukan transmisi yang baru, namun jika NACK diterima maka dilakukan retransmisi. Skema tersebut dapat dilakukan dengan menggunakan multiple channel untuk mendukung service dalam LTE. Pada LTE, HARQ berada pada MAC layer yang disebut HARQ entity. HARQ entity mempunyai N buah HARQ Process yang melakukan N buah stop dan wait HARQ protocol. Spesifikasi lebih jauh untuk LTE-HARQ masih dalam tahap pengembangan dan beberapa topic yang dibahas di bawah masih belum dilakukan evaluasi untuk prosedur fixnya  hehe… :D

Scheduling HARQ

Dalam proses downlink HARQ bersifat asynchronous dan schedule untuk transmisi HARQ tidak predeclared ke UE. Ketika blok dari HARQ ditransmisi, blok tersebut diikuti oleh control information seperti HARQ process ID, new transmission/retransmission. Teknik ini mempunyai keuntungan yaitu :
  • Scheduling beberapa data flows yang berbeda menjadi lebih flexible berdasarkan prioritasnya
  • Dalam kasus frequency selective fading, dapat dilakukan link adaptation. Karena resource untuk HARQ process belum ditentukan sebelumnya, blok data (new transmission/retransmission) dapat dimodulasi dan dikodekan sesuai dengan kondisi link-nya

Dalam proses uplink, HARQ bersifat synchronous yang berarti blok data HARQ telah ditentukan sebelumnya untuk proses transmisi baru atau retransmisi. Teknik modulasi, cara pengkodean data untuk blok data HARQ ditentukan oleh eNB. Untuk proses uplink ini tidak dibutuhkan control information yang mengikuti blok data HARQ. Teknik modulasi dan pengkodean data untuk UE yang berbeda diatur oleh UE sesuai dengan kondisi masing-masing UE tersebut dalam jaringan.

HARQ in Downlink
Seperti disebutkan di atas, pada downlink HARQ transmission adalah asynchronous. UE menerima informasi tentang HARQ transmission pada control channel. Downlink assignment dan HARQ information ditransmit pada PDCCH dan TB ditransmit pada DL-SCH. HARQ entity pada UE melakukan decode pada HARQ information. HARQ information terdiri dari HARQ process ID, New Data Indicator (NDI), Redundacy Version (RV), dan Transport Block (TB) size. HARQ entity menjaga jumlah HARQ process, HARQ information, dan TB.
New transmission dilakukan jika :
  • Transmisi ini adalah transmisi yang paling pertama untuk process ID ini
  • NDI telah ditoggled pada HARQ information



Selain dua kasus di atas, transmisi lain adalah retransmission.
Untuk new transmission, HARQ process mengganti data yang lama pada HARQ buffer dengan data yang dari new transmission. Jika decoding dari data tersebut berhasil pada sisi penerima maka data tersebut dikirim ke disassembly dan demultiplex MAC. Jika ternyada decoding gagal, maka data tersebut tetap berada dalam buffer HARQ.

Untuk retransmission, retransmitted data dikombinasikan dengan data yang lama pada buffer. HARQ process mendecode data yang baru saja diretransmit, jika sudah berhasil didecode, data tersebut baru dikirim ke disassembly dan multiplexing entity di MAC layer. Jika retransmisi menggunakan skema coding yang berbeda dan ukuran TB yang berbeda pula, maka soft combining tidak dapat dilakukan sehingga data retransmisi yang baru menggantikan data yang lama pada HARQ buffer.

HARQ process menghasilkan ACK untuk data yang sukses didecode dan NACK jika data tidak sukses didecode. HARQ feedback mempunyai priority rendah daripada measurement gap. HARQ feedback ditransmisi ketika measurement gap tidak diperhitungkan/tidak ada.

HARQ in Uplink
Uplink pada HARQ bersifat synchronous, UE menerima uplink grant untuk transmisi pada control channel. Grant tersebut menunjukkan control information seperti HARQ Process ID, type transmisi (new/retransmission), redundancy version.

ACK/NACK untuk downlink dikirim melalui PHICH dan uplink granti dikirim melalui PDCCH. Jika PDCCH granti diterima, data dianggap sebagai ACK/NACK sesuai dengan HARQ info. HARQ feedback tidak termasuk dalam kasus ini. Jika PDCCH grant tidak diterima, HARQ feedback baru diperhitungkan. Jika NACK diterima maka digunakan non-adaptive retransmission. Namun jika ACK diterima maka sudah pasti tidak dapat digunakan non-adaptive retransmission, buat apa juga ada retransmission :p. Data pada HARQ buffer tidak akan dihapus sampai diterima ACK untuk data tersebut.

Pada penerimaan grant untuk new transmission, HARQ entity menerima PDU untuk ditransmisikan dari multiplexing dan assembly entity. HARQ entity mengirim PDU, uplink grant, dan HARQ info ke HARQ process (yang ditunjukkan oleh control information) dan memerintahkan HARQ process untuk mengirim PDU tersebut. HARQ process menyimpan PDU yang telah diproses pada HARQ buffer dan mengeset redundancy version pada informationnya. HARQ process kemudian menyuruh Phy untuk mengirim TB yang telah dibuat.

Jika diterima grant untuk retransmission, HARQ entity mengirim uplink grant dan HARQ infor ke HARQ process yang sesuai dan memerintahkan untuk melakukan adaptive retransmission. HARQ process kemudian memerintahkan phy untuk melakukan retransmisi data pada HARQ buffer sesuai dengan HARQ informationnya. Jika maksimum retransmisi telah dicapai, maka HARQ buffer menghapus data tersebut.

HARQ ARQ Interaction
ARQ menggunakan informasi dari HARQ tentang status transmisi dari MAC PDU. Hal tersebut sangat berguna untuk mengatasi error yang berlebihan jika HARQ telah mengatasinya. HARQ memberi informasi ke ARQ ketika :
  • HARQ retransmisi telah mencapai nilai maksimum namun belum memperoleh ACK dari penerima data
  • HARQ dapat mendeteksi kegagalan transmisi data

Kondisi pertama disebut NACK1 dan kondisi kedua disebut NACK2.