Problemy z powtarzalnymi sekwencjami bitów
W transmisji cyfrowej dane są przesyłane jako długi strumień bitów. Surowy strumień może utrudniać pracę toru, gdy zawiera mało zmian. Długie, monotonne sekwencje tych samych bitów ( lub ) są kłopotliwe z trzech powodów:
- Utrata synchronizacji: Odbiornik potrzebuje przejść między poziomami, aby odzyskiwać zegar i utrzymywać jego fazę względem zegara nadajnika. Długi, niezmienny sygnał nie niesie wystarczającej informacji o taktowaniu, więc zegar odbiornika może dryfować, co zwiększa ryzyko błędnego odczytu bitów. Wymagana gęstość przejść z 0 na 1 i z 1 na 0 zależy od układu odzyskiwania zegara.
- Składowa stała: Wiele systemów komunikacyjnych blokuje składową stałą (DC). Długi ciąg jednakowych bitów może nadać sygnałowi niezerową wartość średnią, czyli . Może to zakłócić działanie urządzeń sieciowych.
- Koncentracja widma: Powtarzalne wzorce danych mogą skupiać moc sygnału na określonych częstotliwościach. Skupienie mocy może zwiększać ryzyko interferencji z innymi usługami i pozostawiać część dostępnego pasma niewykorzystaną.
Randomizacja (scrambling)
Randomizacja to technika kształtowania strumienia w torze transmisyjnym. Zmienia strumień tak, aby jego właściwości zależały w mniejszym stopniu od treści źródłowej i aby występowały przejścia potrzebne do odzyskiwania zegara. Rozprasza powtarzalne wzorce, lecz nie wprowadza losowości kryptograficznej.
Scrambler nie szyfruje danych. Łączy strumień wejściowy z lokalnie generowaną sekwencją pseudolosową, zwykle za pomocą XOR. Przy wielomianie i stanie początkowym określonym dla danego systemu wynik zwykle ogranicza długie ciągi identycznych bitów oraz zwiększa gęstość przejść, lecz nie gwarantuje równej liczby zer i jedynek w każdym skończonym fragmencie.
- Proces randomizacji: Oryginalny strumień danych () jest łączony z sekwencją pseudolosową () za pomocą operacji XOR. Wynik () jest wysyłany przez kanał.
- Proces odtwarzania: W odbiorniku przychodzący strumień zrandomizowany () jest łączony z identyczną, zsynchronizowaną sekwencją pseudolosową () przy użyciu tej samej operacji XOR. Oryginalne dane () zostają odtworzone, jeśli sekwencja i jej synchronizacja są zgodne.
Operacja XOR w scramblerze
Proces randomizacji i odtwarzania wykorzystuje operację logiczną .
Randomizacja:
Odtwarzanie:
Tablica Prawdy dla XOR
| A | B | A ⊕ B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Generator PRBS i rejestr LFSR
Randomizacja korzysta z sekwencji pseudolosowej, której bity powstają zgodnie z ustaloną regułą. Odbiornik odtwarza tę samą sekwencję, aby odzyskać dane wejściowe. Taka pseudolosowa sekwencja binarna (PRBS) jest generowana przez deterministyczne urządzenie zwane .
Strukturę sprzężenia zwrotnego, czyli komórki łączone operacją XOR, opisuje wielomian pierwotny. -bitowy LFSR z takim wielomianem i niezerowym stanem początkowym generuje sekwencję PRBS o maksymalnym okresie . Po tym okresie sekwencja się powtarza. W jego trakcie może dostarczać wielu przejść potrzebnych w torze transmisyjnym.
Właściwości i ograniczenia randomizacji
Zalety
- Prosta implementacja: Układ sprzętowy z LFSR i bramkami XOR jest prosty oraz niedrogi.
- Ograniczenie powtarzalnych wzorców: W typowych warunkach scrambling rozbija długie sekwencje identycznych bitów i wspiera odzyskiwanie zegara.
- Brak dodatkowych bitów: W przeciwieństwie do niektórych kodów liniowych, na przykład Manchester, scrambling nie zmienia liczby bitów w strumieniu. Przepływność wyjściowa pozostaje taka sama jak wejściowa.
- Brak funkcji szyfrujących: Scrambler nie zapewnia poufności. Jego zadaniem jest kształtowanie strumienia dla toru transmisyjnego, bez narzutu właściwego dla szyfrowania.
Wady
- Wrażliwość na synchronizację: W pokazanym addytywnym scramblerze synchronicznym pojedynczy błąd bitu w kanale pozostaje pojedynczym błędem po odtworzeniu danych, jeśli PRBS jest poprawnie zsynchronizowany. Utrata synchronizacji LFSR może powodować serię błędów do czasu ponownego zestrojenia.
- Możliwa korelacja: Dla konkretnego fragmentu danych XOR z PRBS może utworzyć niepożądany wzorzec wyjściowy, na przykład dłuższy ciąg zer. Scrambler nie gwarantuje określonych statystyk dla każdego krótkiego fragmentu.