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.