Hybrid automatic repeat request (HARQ) – mechanizm kontroli błędów stosowany w systemach transmisji danych, łączący kodowanie korekcyjne (forward error correction, FEC) z mechanizmem automatycznego żądania retransmisji (automatic repeat request, ARQ). W przypadku nieudanego dekodowania danych odbiornik może zażądać retransmisji, a informacje uzyskane podczas kolejnych transmisji mogą zostać połączone z informacjami zachowanymi z wcześniejszych prób.

Zasada działania W klasycznym mechanizmie ARQ do transmitowanych danych dodaje się informacje nadmiarowe umożliwiające wykrywanie błędów (takie jak cykliczny kod nadmiarowy – cyclic redundancy check, CRC). Po odebraniu danych odbiornik sprawdza ich poprawność. Jeśli transmisja zawiera błędy, odbiornik odrzuca dane i żąda ich retransmisji. W mechanizmie HARQ dane są dodatkowo zabezpieczane za pomocą FEC, które wprowadza do transmitowanego strumienia odpowiednią redundancję, umożliwiając odbiornikowi skorygowanie części błędów bez konieczności retransmisji. Informacje związane z korekcją błędów mogą być przesyłane już w pierwszej transmisji albo dostarczane w kolejnych transmisjach, jeśli pierwsza próba dekodowania zakończy się niepowodzeniem. FEC umożliwia zatem korekcję błędów na podstawie dostępnej redundancji, natomiast ARQ zapewnia możliwość ponownego przesłania danych w przypadku, gdy nie udało się ich poprawnie zdekodować. Połączenie obu mechanizmów zwiększa niezawodność transmisji, szczególnie przy występowaniu zakłóceń.

Skuteczność HARQ można zwiększyć poprzez wykorzystanie informacji uzyskanych podczas nieudanej transmisji w kolejnych próbach dekodowania. Odbiornik może przechowywać informacje z wcześniejszych transmisji i łączyć je z informacjami uzyskanymi podczas retransmisji. W zależności od sposobu wykorzystania tych informacji wyróżnia się dwa podstawowe warianty HARQ:

Chase combining (CC) – polega na łączeniu informacji odebranych podczas kolejnych transmisji tego samego zakodowanego bloku przed jego ponownym dekodowaniem. Odbiornik zachowuje informacje z wcześniejszych, nawet nieudanych transmisji, a następnie łączy je z informacjami uzyskanymi podczas retransmisji. Poszczególne transmisje zawierają tę samą zakodowaną informację, więc takie łączenie zwiększa ilość dostępnej informacji wykorzystywanej podczas dekodowania, co może zapewnić zysk różnorodności (ang. diversity gain). Incremental redundancy (IR) – polega na przesyłaniu w kolejnych retransmisjach nowych fragmentów informacji wynikających z zastosowanego kodowania zamiast ponownego przesyłania tej samej kopii zakodowanego bloku. Po każdej nieudanej transmisji odbiornik łączy nowo otrzymane bity nadmiarowe z informacjami uzyskanymi wcześniej. W efekcie wraz z kolejnymi retransmisjami rośnie ilość dostępnej redundancji, co zwiększa możliwość poprawnego zdekodowania danych.

Typy HARQ W literaturze wyróżnia się trzy typy HARQː

Typ Iː do danych dołączane są informacje umożliwiające wykrywanie błędów, takie jak CRC, a dane są kodowane za pomocą FEC przed transmisją. Po odebraniu transmisji odbiornik wykorzystuje kod korekcyjny do próby skorygowania błędów, a następnie sprawdza poprawność danych. Jeśli dane nie mogą zostać poprawnie zdekodowane, pakiet zostaje odrzucony, a odbiornik wysyła żądanie retransmisji, podobnie jak w klasycznym mechanizmie ARQ. Kolejne transmisje zawierają tę samą kopię zakodowanego pakietu i są dekodowane niezależnie od wcześniejszych prób. Odbiornik może zastąpić wcześniej odebraną kopię nową kopią i ponawiać proces do momentu poprawnego odebrania danych lub osiągnięcia ustalonego limitu liczby transmisji. Typ IIː dodatkowa redundancja jest przesyłana dopiero wtedy, gdy jest potrzebna do poprawnego zdekodowania danych. Kolejne transmisje tego samego pakietu nie muszą zatem zawierać identycznej kopii danych, lecz mogą dostarczać dodatkowych informacji związanych z zastosowanym kodowaniem. Informacje te są łączone z informacjami uzyskanymi podczas wcześniejszych transmisji, co odpowiada mechanizmowi IR. Typ IIIː podobny do HARQ typu II, ale w każdej retransmisji przesyłane są dane użytkownika oraz dodatkowa redundancja. W wyniku tego każda pojedyncza transmisja zawiera informację wystarczającą do niezależnego odtworzenia danych bez konieczności korzystania z wcześniejszych transmisji (self-decodability). Odbiornik może zatem poprawnie zdekodować daną transmisję również bez korzystania z informacji uzyskanych podczas wcześniejszych prób.

Ze względu na sposób określania momentu retransmisji wyróżnia się synchroniczne HARQ (SHARQ) oraz asynchroniczne HARQ (AHARQ). W SHARQ retransmisje mogą odbywać się w określonych, z góry ustalonych odstępach czasu, dzięki czemu nie jest konieczna dodatkowa sygnalizacja określająca moment retransmisji. W AHARQ moment retransmisji jest natomiast ustalany przez nadajnik, co pozwala dynamicznie dostosowywać jej termin do aktualnych warunków transmisji.

Przypisy

Kategoria:Kontrola błędów