Aby zabezpieczyć kanały logiczne przed błędami transmisji wprowadzanymi przez tor radiowy, stosuje się wiele różnych schematów kodowania. Poniższy diagram ilustruje proces kodowania kanałów mowy, sterowania i danych; sekwencja jest bardzo złożona.
Schematy kodowania i przeplatania zależą od typu kanału logicznego, który ma być zakodowany. Wszystkie kanały logiczne wymagają jakiejś formy kodowania splotowego, ale ponieważ potrzeby ochrony są różne, współczynniki kodowania również mogą się różnić.
Trzy schematy ochrony kodowania:
Kodowanie kanału mowy
Informacje mowy dla jednego bloku mowy o długości 20 ms są podzielone na osiem impulsów GSM. Dzięki temu w przypadku utraty impulsów w wyniku zakłóceń w interfejsie radiowym mowa będzie nadal mogła być dokładnie odtwarzana.
Kodowanie wspólnego kanału sterującego
Informacje przesyłane drogą radiową o długości 20 ms będą zawierać cztery impulsy informacji sterujących, na przykład BCCH. Umożliwia to wstawianie serii do jednej multiramki TDMA.
Kodowanie kanału danych
Informacje o danych są rozłożone na 22 serie. Dzieje się tak, ponieważ każda informacja dotycząca danych jest bardzo ważna. Dlatego też, gdy dane są rekonstruowane w odbiorniku, w przypadku utraty serii, utracona zostanie tylko bardzo mała część bloku danych trwającego 20 ms. Mechanizmy kodowania błędów powinny wówczas umożliwić odtworzenie brakujących danych.
Rozumiemy każdy szczegółowo.
Kodowanie kanału mowy
BTS odbiera transkodowaną mowę przez interfejs A-bis z BSC. W tym momencie przemówienie jest organizowane przez BTS w poszczególne kanały logiczne. Te logiczne kanały informacji są następnie kodowane przed przesłaniem przez interfejs radiowy.
Transkodowana informacja dotycząca mowy jest odbierana w ramkach, z których każda zawiera 260 bitów. Bity mowy są pogrupowane w trzy klasy wrażliwości na błędy, w zależności od ich znaczenia dla zrozumiałości mowy.
- Klasa 1a
Trzy bity parzystości pochodzą z 50 bitów klasy 1a. Błędy transmisji w obrębie tych bitów mają katastrofalny wpływ na zrozumiałość mowy, dlatego też dekoder mowy jest w stanie wykryć nienaprawialne błędy w obrębie bitów klasy 1a. Jeśli występują błędy bitowe klasy 1a, cały blok jest zwykle ignorowany.
- Klasa 1b
132 bity klasy 1b nie są sprawdzane przez kontrolę parzystości, ale są podawane razem z bitami klasy 1a i parzystości do kodera splotowego. Dodawane są cztery bity końcowe, które ustawiają rejestry w odbiorniku do znanego stanu w celu dekodowania.
- Klasa 2
78 najmniej wrażliwych bitów nie jest w ogóle chronionych. Powstały 456-bitowy blok jest następnie przeplatany przed wysłaniem przez interfejs radiowy.
Kodowanie kanału sterującego
Poniższy schemat przedstawia zasadę zabezpieczenia przed błędami kanałów sterujących. Schemat ten jest stosowany dla wszystkich logicznych kanałów sygnalizacyjnych, kanału synchronizacji (SCH) i impulsu dostępu swobodnego (RACH). Schemat dotyczy SCH i RACH, ale z różnymi numerami.
Kiedy informacja sterująca jest odbierana przez BTS, jest ona odbierana jako blok 184 bitów. Bity te są najpierw chronione cyklicznym kodem blokowym klasy znanej jako Fire Code. Jest to szczególnie przydatne do wykrywania i korygowania błędów serii, ponieważ wykorzystuje 40 bitów parzystości. Przed kodowaniem splotowym dodawane są cztery bity końcowe, które ustawiają rejestry w odbiorniku do znanego stanu do celów dekodowania.
Dane wyjściowe procesu kodowania dla każdego bloku 184 bitów danych sygnalizacyjnych to 456 bitów, czyli dokładnie tyle samo, co w przypadku mowy. Powstały 456-bitowy blok jest następnie przeplatany przed wysłaniem przez interfejs radiowy.
Kodowanie kanału danych
Poniższy schemat przedstawia zasadę zabezpieczenia przed błędami dla kanału danych 9,6 kbit/s. Pozostałe kanały danych o szybkości 4,8 kbit/s i 2,4 kbit/s są kodowane nieco inaczej, ale zasada jest taka sama.
Kanały danych są kodowane wyłącznie przy użyciu kodu splotowego. W przypadku danych 9,6 kbit/s niektóre zakodowane bity muszą zostać usunięte (przestanowane) przed przeplataniem, tak aby podobnie jak kanały mowy i sterowania zawierały 456 bitów co 20 ms.
Kanały transmisji danych wymagają wyższej stawki netto(„przepływność netto” oznacza przepływność przed dodaniem bitów kodujących) niż ich rzeczywista szybkość transmisji. Na przykład usługa 9,6 kbit/s będzie wymagać 12 kbit/s, ponieważ sygnały stanu (takie jak RS-232 DTR (data terminal Ready)) również muszą być przesyłane.
Dane wyjściowe procesu kodowania dla każdego bloku 240 bitów danych to 456 bitów, czyli dokładnie tyle samo, co w przypadku mowy i sterowania. Powstały 456-bitowy blok jest następnie przeplatany przed wysłaniem przez interfejs radiowy.