NB-IoT的HARQ是一種將前向糾錯(Forward Error Correction,FEC)編碼和ARQ相結合而形成的技術。HARQ的基本原理是緩存沒有正確接收到的數據,并且將重傳數據和原始數據進行合并。此過程可以高效地補償由于采用鏈路適配所帶來的誤碼,提高了數據傳輸速率,見笑了數據傳輸時延。
HARQ主要是存儲、請求重傳和合并解調。接收方在解碼失敗的情況下,保存接收到的數據,并要求發送方重傳數據,接收方將重傳的數據和先前接收到數據進行合并后再解碼。傳統的ARQ技術簡單地拋棄錯誤的數據,不做存儲,也就不存在合并的過程,自然沒有分集增益,往往需要過多重傳、過長時間等待。
HARQ的基本原理如下:
(1)在接收端使用FEC技術糾正所有錯誤中能夠糾正的那一部分;
(2)通過錯誤檢測判斷不能糾正錯誤的數據包;
(3)丟棄不能糾正的數據包,向發射端請求重新發送相同的數據包。
NB-IoT的HARQ技術主要有兩種實現方式。
(1)軟合并
在單純的HARQ機制中,接收到的錯誤數據包是指直接被丟棄的。雖然這些錯誤數據包不能夠獨立地正確譯碼,但是它們依然包含有一定的信息。軟合并就是利用這部分信息,即是將接收到的錯誤數據包保存在存儲器中,與重傳的數據包合并在一起進行譯碼,提高了傳輸效率。
(2)增量冗余
增量冗余技術是通過在第一次傳輸時發送信息bit和一部分冗余bit,而通過重傳發送額外的冗余bit。如果第一次傳輸沒有成功解碼,則可以通過重傳更多冗余bit降低信道編碼率,從而提高解碼成功率。如果加上重傳的冗余bit仍然無法正常解碼,則進行再次重傳。隨著重傳次數的增加,冗余bit不斷積累,信道編碼率不斷降低,從而可以獲得更好的解碼效果。
NB-IoT在十幾種采取的軟合并方式取決于HARQ合并機制。在軟合并方案中,第一次發送的數據和重傳的數據相同,接收端要對整個數據塊進行合并。在增量冗余方案中,在錯誤塊的基礎上增加一些新的校驗信息,接收端接收的編碼符號中包含了和第一次傳輸數據不同的信息。
在E-UTRAN中,HARQ采用同步重傳機制,下行鏈路HARQ采用自適應的異步重傳機制。在同步機制中,只能按照第一次發送時的子幀號進行重傳;在異步重傳機制中,可在任意時刻發送重傳數據。
上行鏈路之所以采用同步方式主要是為了減小協議開銷。因為采用同步方式時接收端可以獲取子幀號,所以不需要標示HARQ處理的通道號。
NB-IoT和LTE系統在物理層處理上有一個最大的區別,即為了實現覆蓋增強和提升MCL,NB-IoT所有上、下物理信道都支持重傳功能,即一個信道通過時間上的多次重復發送,以達到提升覆蓋的目的。
NPDSCH和NPUSCH信道,在多次重復發送情況下,如果對端信道解碼仍然失敗,則依然可以通過HARQ方式,進行重傳。
NB-IoT沿用和LTE系統相同的HARQ準則,但區別是NB-IoT UE設計復雜度低,采用單進程HARQ。