Anatomia RobotaRobotyka

Komunikacja

Model siedmiowarstwowy OSI

Kilka lat temu grupa ludzi zebrała się, próbując zdefiniować model sposobu, w jaki powinna być zorganizowana komunikacja, znana pod nazwą systemów otwartych Siedmiowarstwowego modelu połączenia międzysieciowego (OSI). Nikt tak naprawdę nie podążał za modelem od góry do dołu, ale komunikacja sieciowa TCP / IP (Transmission Control Protocol / Internet Protocol) jest najbliższa; Model ten jest jednak przydatny jako lista kontrolna dla typów rzeczy, które mogą być pożądane w systemie komunikacji. Biorąc pod uwagę, że warto też uczyć się tylko komunikacji sieciowej, zagłębimy się w nią.

WARSTWA 1: WARSTWA FIZYCZNA

Warstwa danych jest najniższą warstwą i określa fizyczne i elektryczne właściwości. Jest to warstwa zajmująca się wysyłaniem bitów przez fizyczne medium. Cała komunikacja ma jakąś fizyczną warstwę. W niektórych systemach może być jedyną warstwą. Komunikacja w paśmie podstawowym, modulacja, demodulacja i transmisja za pośrednictwem kanałów to wszystkie tematy, które luźno należą do tej warstwy.

WARSTWA 2: WARSTWA LINKÓW DANYCH

Ta warstwa zajmuje się blokami danych na nośnikach fizycznych. Kontroluje współdzielenie ścieżki komunikacyjnej, ramek, kontrolę przepływu i niektóre niskopoziomowe sprawdzanie błędów. Jest to warstwa wielokrotnego dostępu (MAC) w komunikacji sieciowej. Istnieje wiele strategii udostępniania dostępu do kanału transmisji. Techniki dostępu i sprawdzania błędów to tematy, które możemy omówić i które należą do tej warstwy.

WARSTWA 3: WARSTWA W SIECI

Ta warstwa jest odpowiedzialna za routing, tworzenie, utrzymywanie i zrywanie połączeń. To jest warstwa IP w komunikacji sieciowej.

WARSTWA 4: WARSTWA TRANSPORTOWA

Ta warstwa jest odpowiedzialna za bezbłędną transmisję danych z jednego komputera do innego. To jest warstwa TCP w komunikacji sieciowej.

WARSTWA 5: WARSTWA SESJI

Ta warstwa obsługuje czas trwania bieżącego połączenia i utrzymuje ruch danych.

WARSTWA 6: WARSTWY PREZENTACJI

Ta warstwa obsługuje dane z aplikacji. Wykonuje pakowanie, szyfrowanie, odszyfrowywanie, kompresję i tak dalej.

WARSTWA 7: WARSTWA APLIKACJI

W tej warstwie znajduje się oprogramowanie aplikacji

Nie wszyscy są zadowoleni z siedmiowarstwowego modelu OSI. Kilka ukrytych pomysłów kryje się za warstwami stosu, który dotyczy większości komunikacji:

•  Ukryte funkcje Warstwy stosu współdziałają ze stałym interfejsem. Fragmenty stosu można wewnętrznie przeprojektować i nadal działają poprawnie.Typowe interfejsy Ponieważ warstwy stosów współdziałają ze stałym interfejsem, dwie różne maszyny mogą komunikować się ze sobą bez problemu. Po prostu komunikują się z tego samego poziomu na tym samym poziomie. Na przykład informacja TCP na poziomie 4 w jednym urządzeniu przechodzi przez stos do poziomu fizycznego i jest przesyłana do drugiego komputera. Na komputerze odbierającym wchodzi na poziom fizyczny i podróżuje na poziom 4, gdzie pojawia się ponownie jako informacja TCP. Wiele technik komunikacji prowadzi do standardów, które mogą być obserwowane przez wszystkich projektanci na różnych poziomach stosu. Większość standardów komunikacji jest ograniczona do zaledwie kilka poziomów złożoności. Wszystkie mają warstwy fizyczne i łącza. Wielu ma sieć i poziomy transportu, ale nie wiele idzie na wyższe poziomy.

Warstwa fizyczna

Wszystko to powiedziawszy, komunikacja cyfrowa sprowadza się do jednego: przesyłania danych przez kanał. Kolejne podstawowe twierdzenie pochodziło z pracy Shannona. Sprowadza się do równania, które jest podstawowym, ograniczającym przypadkiem transmisji danych przez kanał:

C = B x log2(1 + S/N)

C to pojemność kanału w bitach na sekundę, B to szerokość pasma kanału w cyklach na sekundę, a S / N to stosunek sygnału do szumu w kanale. Intuicyjnie oznacza to, że jeśli stosunek S / N wynosi 1 (sygnał jest tego samego rozmiaru co szum), możemy umieścić prawie 1 bit na falę sinusoidalną przez kanał. Chodzi o sygnalizację pasma podstawowego, o czym wkrótce porozmawiamy. Jeśli kanał ma wystarczająco niski poziom szumów i obsługuje współczynnik S / N równy około 3, wówczas możemy przesłać prawie 2 bity na sinusoidę przez kanał. Prawda jest taka, że zdolność Shannona do zdolności produkcyjnych była trudna dla inżynierów. Do niedawna marnowano znaczną część dostępnej przepustowości w kanałach komunikacyjnych. Dopiero w ciągu ostatnich kilku lat inżynierowie opracowali metody pakowania danych na fale sinusoidalne wystarczająco ciasne, aby zbliżyć się do limitu Shannona. Twierdzenie o zdolności Shannona rysuje się na krzywej



Istnieje limit S / N, poniżej którego nie może być transmisji bezbłędnych. C jest ojemność kanału w bitach na sekundę, B jest przepustowością kanału w cyklach na sekundę, S jest średnią mocą sygnału, N jest średnią mocą szumu, Nie jest gęstością mocy szumu w kanale, a Eb jest energią na bit. Oto jak ustalamy limit S / N:



Ponieważ



Podnosimy do potęgi 2



Jeśli dokonamy zamiany zmiennej x = Eb x C /No x B, możemy użyć tożsamości matematycznej. Limit (jako x idzie do 0) z (x + 1)1/x = e. Chcemy dolnego limitu pojemności, gdy S / N spadnie. W tym limicie x idzie na zero, jak to się dzieje. Musimy przetransformować ostatnie równanie i przyjąć limit, ponieważ x idzie do zera.



W dB ta liczba to -1.59 dB. Zasadniczo, jeśli sygnał jest poniżej szumu przez mały margines. Ustawia to teoretyczną granicę, której żaden system modulacji nie może przekroczyć. Odkrycie to stało się celem projektantów systemu. Limit pojawi się poniżej w krzywych błędów różnych schematów modulacji. Istnieje wiele sposobów blokowania elektronów przez przewody lub fale przez drogi powietrzne. We wszystkich tych przypadkach kanał ma przepustowość. Czasami przepustowość jest ograniczona przez fizykę; czasami Federalna Komisja Łączności (FCC) ogranicza to. W obu przypadkach stosuje się twierdzenie zdolności Shannona: stawianie Boga i FCC na równych stopach matematycznych. Każda metoda przesyłania danych przez kanał ma podstawy matematyczne. Często, sama metoda prowadzi do zamkniętej formy matematycznej dla możliwości metody. Po zaimplementowaniu metody implementacja może zostać przetestowana przy użyciu Twierdzenia Pojemności Shannona. Skalibrowany poziom szumu można dodać do idealnego kanału, a zdolność przenoszenia danych można zmierzyć.

Transmisja pasma podstawowego

Biorąc pod uwagę przewód, całkowicie można wyłączyć i włączyć napięcie, aby utworzyć impulsy na drucie. W najprostszej formie jest to transmisja pasma podstawowego, metoda komunikacji odrębna od modulowanej transmisji, którą omówimy później. Transmisja pasma podstawowego jest używana z wieloma różnymi rodzajami nośników. Przesyłanie danych za pomocą kabla nastąpiło na długo przedtem, zanim armia Napoleona użyła faksu. Tak, pierwsze faksy rzucono do biur mniej więcej w tym czasie w historii. Transmisja pasma jest również używana w napędach taśmowych i dyskach. Dane są zapisywane jako impulsy na taśmie i odczytywane później. Sekwencja impulsów może być zbudowana na wiele różnych sposobów. Inżynierowie w naturalny sposób wymyślili dziesiątki różnych sposobów interpretowania tych impulsów. Jak to często bywa, inne cele istnieją poza wysyłaniem jak największej liczby bitów na sekundę w kanale. Jednak w realizacji innych celów przepustowość kanału jest poświęcana. Oto lista innych celów, które inżynierowie często muszą rozwiązać, projektując sposób, w jaki impulsy są umieszczane w kanale:

•  Balans prądu stałego (DC) Czasami kanał nie może w ogóle przekazywać napięcia stałego. Ciągły ciąg wszystkich może po prostu wyglądać jak ciągle wysokie napięcie. Weź, na przykład, napęd taśmowy. Podstawowe równanie napięcia i indukcyjności cewki głowicy taśmy

V = L x cI / dt

V to sygnał wejściowy, L to indukcyjność cewki głowicy, a I to prąd przez cewkę. Jeśli V byłby stały, potrzebowalibyśmy stale rosnącego prądu przez cewkę, aby równania działały. Ponieważ jest to niemożliwe, projektanci taśm potrzebują alternatywnego schematu. Wymyślili kodowanie impulsów w taki sposób, że taka sama liczba zer i jedynek jest podawana w cewce głowicy. W ten sposób utrzymuje się równowagę DC. Tylko połowę bitów można zapisać tak jak wcześniej, ale wszystko dobrze się układa. Kody, których używają są wersją nonreturn do zera (NRZ).
•  Kodowanie tanich dekoderów Niektóre dane są kodowane w taki sposób, że dekoder może być bardzo tani. Rozważmy na chwilę zakodowane sygnałem szerokości impulsu sygnały analogowe. Impuls wysyłany jest w każdym okresie zegara, a cykl roboczy impulsu jest proporcjonalny do określonego napięcia analogowego. Im wyższe napięcie, tym większe cykl pracy i większy odsetek czasu, jaki puls spędza przy wysokim napięciu. W odbiorniku napięcie analogowe można odzyskać za pomocą filtra dolnoprzepustowego składającego się z rezystora i kondensatora. Odfiltrowuje wartości prądu przemiennego w kształcie fali i utrzymuje prąd stały. Tego typu tanie kody odbiorników najlepiej stosować w sytuacjach, w których musi być wiele niedrogich odbiorników.
•  Samo-zegary Niektóre sytuacje transmisji wymagają odzyskania zegara po stronie odbiorczej. W takim przypadku wybierz schemat kodowania impulsów, który ma wbudowany zegar w kształt fali.
•  Gęstość danych Niektóre schematy kodowania impulsów dostarczają więcej bitów do transmisji kanałem niż inne.
•  Trwałość Niektóre schematy kodowania impulsów mają wbudowane mechanizmy umożliwiające unikanie i / lub wykrywanie błędów.

ZNIEKSZTAŁCENIE IMPULSOWE: DOPASOWANIE FILTRÓW

Jeden z trudnych problemów z transmisją impulsów przez kanał (przewód, światłowód lub wolna przestrzeń) jest to, że impulsy ulegają zniekształceniu. W rzeczywistości dzieje się tak, że impulsy rozprzestrzeniają się w czasie. Jeśli ogólny kanał transmisji ma ostre wartości graniczne, jak to jest właściwe dla gęsto upakowanego kanału, to impulsy wychodzą z odbiornika wyglądając jak funkcja sinc, którą oglądaliśmy wcześniej. Impuls rozprzestrzenił się w czasie



Jeśli staramy się spakować tak mocno te impulsy w czasie, będą one miały tendencję do wzajemnego zakłócania się. Jest to powszechnie nazywane Intersymbol Interference (ISI), które omówimy później



Ale tu jest niespodzianka. Kanał transmisyjny nie może być doskonały, z gwałtownym przesunięciem częstotliwości. W praktyce, musimy pozwolić na dodatkową przepustowość i rozluźnić nasze wymagania dotyczące kanału transmisji i sprzętu transmisyjnego. Powszechnym rozwiązaniem tego problemu jest podniesiony filtr kosinusowy (RCF), filtr, który wcześniej widzieliśmy w części 8 jako okno Hanning. Powszechną praktyką jest włączenie tego pasującego RCF do nadajnika, aby wstępnie skompensować impulsy dla efektu kanału. Otrzymane sygnały impulsowe, nawet jeśli mają oscylacje w ich krawędzi wiodącej i spływowej, przechodzą przez zero tylko wtedy, gdy pobierane są próbki. W ten sposób sąsiednie impulsy nie zakłócają się wzajemnie

WSPÓLNE STANDARDY KOMUNIKACJI PASMA PODSTAWOWEGO Poniżej przedstawiamy niektóre stosunkowo popularne przewodowe połączenia komunikacyjne dla pasma podstawowego, z których wszyscy korzystaliśmy. Są to łącza komunikacyjne, które mają stosunkowo niewiele przewodów i są ogólnie uważane za łącza szeregowe. Wiele komputerów jest już podłączonych do tego rodzaju portów komunikacyjnych i dostępnych jest wiele układów interfejsu, które je obsługują.

•  RS232 / 423 RS232 / 423 istnieje od 1962 roku i jest w stanie przesyłać dane z prędkością do 100 Kb/ s (RS423) przez interfejs trójprzewodowy. Jest uważany za lokalny interfejs do komunikacji punkt- punkt. Powinien być prosty w użyciu, ale może powodować znaczną utratę przytomności, ponieważ istnieje wiele opcjonalnych przewodów i różnych pinów dla różnych typów złączy. Inne niż fizyczne warstwa i definicja kolejności bitów, bardzo małe nakładanie warstw odbywa się nad warstwą fizyczną za pomocą RS232.
•  RS422 RS422 wykorzystuje sygnały różnicowe, zbalansowane, które są bardziej odporne na zakłócenia niż jednostronne okablowanie RS232. Szybkość transmisji danych wynosi do 10 Mb / s przy ponad 4000 stopach okablowania. Poza warstwą fizyczną i definicją kolejności bitów, bardzo małe nakładanie warstw odbywa się za pomocą RS422
•  Sieci Ethernet 10BT / 100BT / 1000BT Ethernet to jedna z najpopularniejszych technologii sieci lokalnych (LAN). Technologia 10BT LAN umożliwia większości biur biznesowych łączenie wszystkich komputerów z siecią. Komputery mogą przesyłać dane między sobą z prędkością zbliżoną do 9 do 10 milionów bitów na sekundę. W praktyce, w obciążonych sieciach, najlepsze stawki, które użytkownik może osiągnąć, są znacznie niższe. Stos oprogramowania zawiera do czterech warstw z warstwy fizycznej 1 (karty sieciowe [NIC]), do IP oraz do TCP w warstwie 4. 100BT jest 10 razy szybszy niż 10BT. 1000BT jest 10 razy szybszy i dostępny do użycia z fizyczną warstwą światłowodową oraz okablowaniem miedzianym.

Komunikacja Modulowana

Czasami komunikacja cyfrowa nie może być wysłana przez kanał bez modulacji; komunikacja w paśmie podstawowym nie będzie działać. Może tak być z kilku powodów:

•  Czasami okablowanie nie jest możliwe z powodu odległości. Niemodulowane sygnały danych mają zazwyczaj stosunkowo niską częstotliwość. Przesyłanie wolniejszego sygnału pasma podstawowego za pośrednictwem anteny wymaga anteny w przybliżeniu wielkości fali samego sygnału. Dla sygnału RS232 przy 100 Kb/s sygnał ma przebieg z około 10 mikrosekund na bit. Światło przemierza 3000 metrów, około 2 mil, w 10 mikrosekund. Potrzebowalibyśmy anteny o długości dwóch mil, aby skutecznie przekazać taki sygnał do impedancji przestrzeni. Oczywiście, to nie zadziała dobrze. Jest to jeden z głównych powodów, dla których prawie nie istnieją systemy komunikacji bezprzewodowej z pasmem podstawowym.Czasami kanał jest tak głośny, że do kodowania muszą być użyte specjalne techniki kodujące sygnał przed transmisją.
•  FCC i inne organizacje regulują wykorzystanie widm transmisyjnych. Łącza komunikacyjne muszą być umieszczone między innymi łączami komunikacyjnymi w prawnych pasmach komunikacyjnych. W celu oddzielenia tych konkurujących łączy komunikacyjnych stosuje się precyzyjną modulację.

Modulacja zazwyczaj wymaga użycia sygnału nośnego. Sygnał informacyjny (I) jest mieszany (przemnożony przez) sygnał nośnej (C), a zmodulowany sygnał (M) jest nadawane przez kanał komunikacyjny:

M = I x C

Chociaż jako nośnik C można użyć wielu różnych sygnałów, najczęściej wykorzystywanym sygnałem jest fala sinusoidalna. Chociaż operacja x może dotyczyć dowolnego rodzaju operacji, najpowszechniejszy typ mieszania wymaga mnożenia. Fala sinusoidalna ma tylko kilka parametrów w swoim równaniu. Zatem modulowanie fali sinusoidalnej może obejmować tylko kilka różnych operacji:

C = A sin (ω x t + θ)

gdzie A jest amplitudą, ω jest częstotliwością, a θ jest fazą. Każda modulacja tej fali nośnej przez dane musi obejmować modyfikację jednego lub więcej z tych trzech parametrów. Jeden lub więcej parametrów (A, ω lub θ) może przyjmować jedną lub więcej wartości na podstawie danych. Podczas wprowadzania danych, I, przyjmuje jedną z n różnych wartości, zmodulowana fala nośna przyjmuje jeden z n różnych kształtów reprezentujących dane I. Następne 3 dyskusje opisują modulowanie A, ω i θ w tej kolejności.
•  Kluczowanie z przesunięciem amplitudy (ASK)

M(n) = An x sin (ω x t + θ)

gdzie A jest jedną z n różnych amplitud, ω jest stałą częstotliwością, a θ jest stałą fazą. W najprostszej formie, n = 2, a kształt fali M wygląda jak sinusoidalna fala, która zanika do zera za każdym razem, gdy dane są zerowe (A = 0 lub 1).
•  Kluczowanie z przesunięciem częstotliwości (FSK)

M(n) = A x sin(ωn x t + θ)

gdzie A jest ustaloną amplitudą, ωn jest jedną z n różnych częstotliwości, a θ jest faza stała. W najprostszej formie, n = 2, a przebieg M wygląda jak sinus fala, która spowalnia częstotliwość, gdy dane są zerowe (ω = freq0 lub freq1).

•  Kluczowanie z przesunięciem fazowym (PSK)

M(n) = A x sin(ω x t + θn)

gdzie A jest ustaloną amplitudą, ω jest stałą częstotliwością, a θn jest jedną z n różnych fazy. W najprostszej formie n równa się 2, a kształt fali M wygląda jak fala sinusoidalna, która odwraca się pionowo, gdy dane są zerowe (? = 0 lub 180 stopni). Każda metoda modulacji ma odpowiednią metodę demodulacji. Każda modulacja metoda ma również strukturę matematyczną, która pokazuje prawdopodobieństwo popełnienia błędów przy określonym stosunku S / N. Nie zajmiemy się tutaj matematyką, ponieważ obejmuje ona zarówno funkcje rachunku różniczkowego, jak i prawdopodobieństwa, z rozkładami Gaussa To, co wynika z obliczeń, nazywa się Eb / No curves (wymawiane "ebb no"). Wyglądają one jak na poniższej ilustracji, która pokazuje bitową stopę błędu (BER) w stosunku do krzywej Eb / No dla określonego schematu modulacji



Pamiętaj, że Eb / No to stosunek energii w jednym kawałku do gęstości energii hałasu. Kilka uwag na temat tego wykresu:

•  Im lepszy stosunek S / N (im wyższy Eb / Nie), tym niższy poziom błędu (BER). Jest oczywiste, że lepszy sygnał będzie działał bardziej efektywnie w kanale.
•  Limit Shannon jest pokazany jako pudełko. Górna część skrzynki jest tworzona przy BER równym 0,50. Nawet małpa może dostać połowę danych za połowę czasu! Pionowa krawędź skrzynki ma wartość Eb / No 0,69, dolną granicę transmisji cyfrowej, którą wyprowadziliśmy wcześniej. Nie ma mowy o sensownej transmisji z Eb / Nie tak nisko; pojemność kanału spada do zera.
•  Ten wykres pokazuje BER, którego możemy się spodziewać w obliczu różnych wartości Eb / No w kanale. Dostosowania można dokonać. Jeśli kanał ma ustaloną wartość Bez wartości, której nie można zmienić, inżynier może jedynie próbować zwiększyć Eb, być może zwiększając siłę sygnału pompowaną do kanału. •  I odwrotnie, jeśli inżynier potrzebuje określonego BER (lub niższego), aby system działał, to określa minimalny Eb / No, który kanał musi mieć. W praktyce nie można zrealizować idealnej realizacji teoretycznej krzywej Eb / No, a inżynier powinien ustawić kanał na Eb / No wyżej niż teoretycznie jest to wymagane.

Rysunek



pokazuje dwie krzywe BER z dwóch różnych, ale podobnych modulacji schematy. Krzywe te pokazują, że niektóre schematy modulacji są bardziej wydajne niż inne. W rzeczywistości cała gra budowania schematów modulacji jest próbą zbliżenia się do limitu Shannon. Jak można się było spodziewać, bardziej wydajne modulatory są droższe. Większość ludzi decyduje się na marnowanie przepustowości, zamiast płacić za droższy modulator

SKOMPLIKOWANE MODUŁY

Te poprzednie przykłady są bardzo szczątkowymi schematami modulacji. Często we współczesnych metodach modulacji modulowany jest więcej niż jeden parametr nośny w tym samym czasie. Wprowadzimy tu także pojęcie symbolu. Symbol jest po prostu wielokrotną liczbą bitową używaną do modulacji. Bajt może być 8-bitowym symbolem używanym w ASK do ustawienia amplitudy na jeden z 256 różnych poziomów. Proces modulacji nośnika za pomocą symbolu zmienia charakter przebiegów nośnych. Odbiornik demoduluje dane i podejmuje próbę określenia charakteru przebiegu w celu sklasyfikowania, który symbol reprezentuje. Demodulator w odbiorniku służy do kwantyfikacji odebranego przebiegu w przestrzeni symbolu. Wizualizuj przestrzeń symbolu jako wielowymiarową przestrzeń danych, w której porusza się odbierany sygnał. Gdy zmienia się amplituda, częstotliwość i faza odbieranego sygnału, sygnał przemieszcza się w przestrzeni symbolu odbiornika. Jeżeli na przykład zdefiniowano 256 różnych symboli, to w przestrzeni symboli, w której znajdują się te symbole, znajduje się 256 różnych punktów. Jeżeli odebrany sygnał przekracza jeden z tych 256 punktów, gdy zegar danych się tyka, odebrany symbol powiązany z tym punktem jest wybrany jako odebrany symbol, a dane (8 bitów) reprezentowane przez ten symbol są zrzucane na wyjście odbiornika. Spójrzmy na uproszczony przykład. Załóżmy, że modulujemy amplitudę i fazę z jednym bitem. Będą używane cztery różne symbole (00, 01, 10 i 11), a przestrzeń symboli może wyglądać jak tu



Kiedy zegar danych tyka, próbkujemy pozycji odbieranego sygnału w symbolu przestrzeń. Załóżmy, że otrzymujemy symbol, którego amplituda jest trochę niska, ale ma bardzo wyraźną fazę. Może on zostać odwzorowany w następujący punkt pokazany tu



Aby wybrać, który symbol zostanie odebrany, umieszczamy siatkę decyzyjną w przestrzeni symboli, jak pokazano tu



Siatka decyzyjna szybko podejmuje decyzję, a symbol zostaje uznany za 01. Oczywiste jest, że nie chcemy, aby symbole znajdowały się zbyt blisko siebie w przestrzeni symboli. Schematy modulacji mają na celu zminimalizowanie prawdopodobieństwa, że symbole będą zbyt blisko lub że osobliwości kanału spowodują, że jeden symbol zostanie pomylony z innym. Bardziej złożonym przykładem tego rodzaju przestrzeni symboli jest 64 kwadraturowa modulacja amplitudy (QAM), w której 8 bitów danych jest modulowanych w tym samym czasie. Przestrzeń symboli dla 64 QAM może mieć kwadratową strukturę, jak pokazano



Przychodzące dane symbolu śledzą dziki wzór przez siatkę kropek 8 x 8. A w pewnym stopniu, ponieważ dane symbolu próbują trzymać się punktów siatki, siatka ma otwarte obszary, w których dane nie przemierzają. Te otwarte obszary wyglądają jak oczy i są przedmiotem kolejnej dyskusji.

Kontrola błędów

Projektanci dużych przestrzeni symbolicznych muszą martwić się o to, co nazywa się "otwartym okiem". Należy pamiętać, że gdy zegar danych odhacza się w odbiorniku, odebrany sygnał powinien znajdować się tuż nad punktem symbolu. Aby dostać się tam z dowolnego innego punktu symbolu, powinien on podróżować dobrze znaną trasą przez przestrzeń symbolu (regulowaną przez kształt sygnału nośnej). W przypadku bezszumowego kanału, ślad odebranego sygnału prześledziłby bardzo ładny zestaw ścieżek geometrycznych, a wiele pustej przestrzeni pokazywałoby się w przestrzeni symbolu, miejscach, w których sygnał nigdy nie przemyka. Te puste przestrzenie są tym, czego szukają inżynierowie, gdy próbują znaleźć otwarte oko. Przestrzenie te nazywa się tak, ponieważ generalnie są tworzone przez dwie fale sinusoidalne i mają kształt pokazany



Dobry inżynier może umieścić przebieg komunikacji na oscyloskopie (lub innym instrumencie), spojrzeć na wzór oka i określić stan zdrowia fizycznej warstwy sieci komunikacyjnej. W ten sam sposób inżynierowie mogą rysować ostatnie punkty danych, aby zobaczyć, jak mocno skupiają się wokół punktów symboli. Zdrowe łącze komunikacyjne będzie miało bardzo ścisłe skupienie wokół punktów symboli, a chorobliwy system będzie je rozrzucał w niedbały sposób. Są to wszystkie sposoby, aby spróbować utrzymać fizyczne połączenie w dobrym zdrowiu, ale można podjąć kroki w zakresie projektowania łącza komunikacyjnego, które uczyni go bardziej niezawodnym. Dostępnych jest wieleróżnych sposobów sprawdzania, co reprezentują te techniki. Wolę myśleć o nich w ten sam sposób: przesyłać dane więcej niż raz. W sytuacji, gdy hałas może zepsuć dane w kanale, odbiorca jest bardziej skłonny do pozyskania danych, jeśli jest wysyłany więcej niż raz. Jeśli odbiornik jest wystarczająco inteligentny, aby rozpoznać, kiedy dane są uszkodzone, może po prostu czekać na drugą pomoc dotyczącą tych samych danych. Jest to szczególnie ważne w przypadku robotów znajdujących się w odległych lokalizacjach. Wysyłanie zduplikowanych danych może odbywać się na wiele różnych sposobów. Oczywiście, możliwe jest wysłanie danych dwa lub trzy razy. Ale wierzcie lub nie, możliwe jest przesłanie danych 1,5 razy, 1,1 razy, a nawet 1,01 razy. W pewnych granicach projektanci robotów mogą wybierać spośród kodów protokołów komunikacyjnych, które pozwalają im wybrać ilość nadmiarowości wbudowaną w łącze komunikacyjne. Ponieważ nadmiarowe dane zużywają przepustowość, pozwala to projektantom decydować o marnowaniu przepustowości. Wysyłanie dodatkowych danych skutecznie obniża BER, ponieważ błędy są korygowane w odbiorniku. Uzyskanie niższego BER jest prawie równoznaczne z lepszym Eb / No. W ten sposób projektanci mogą powiedzieć, że zyskują kodowanie z różnych kodów protokołów komunikacyjnych. To wzmocnienie kodowania może być w rzeczywistości zrealizowane, ponieważ wzmocnienie kodowania można odjąć od Eb / No w rzeczywistym kanale, aby uzyskać taki sam BER w danej sytuacji. Dodaj wzmocnienie kodowania, zmniejsz zysk Eb / No i wyjdź nawet. W praktyce jednak większość inżynierów przyjmuje zysk kodowania na podstawie istniejącego Eb / No i realizuje swój zysk jako niższy BER. Zdarza się to w łączności satelitarnej przez cały czas. W rzeczywistości większość łączy komunikacji satelitarnej jest zaprojektowana i określona za pomocą wzmocnienia kodowania wbudowanego bezpośrednio w protokół komunikacyjny. Ponieważ wiele kodów ma opcje parametryczne, operator łącza satelitarnego może wybrać kod w locie, który odpowiada jakości kanału. Jeśli łącze satcom ma niską wartość No, może być potrzebny niewielki wzrost kodowania, a szybkość transmisji danych może wzrosnąć. Jeśli łącze satelitarne ma wysoki poziom No, wówczas może być konieczne wzmocnienie kodowania, aby utrzymać jakość danych kosztem niższej szybkości transmisji danych.

DYSTRYBUCJA BŁĘDU

Projektanci robotów muszą również bardzo uważnie przyjrzeć się kanałowi. Przewidywanie BER jest jedną rzeczą z metody modulacji i kodowania, ale nie robi nic dobrego, jeśli plamy słoneczne niszczą transmisję przez minuty lub sekundy. Współczynniki błędów są łączone; wszystkie ogniwa w łańcuchu komunikacji muszą działać w tym samym czasie. Błąd w jednym linku może, ale nie musi, zostać poprawiony w innym łączu w dół łańcucha. Ponadto hałas jest nieprzewidywalny. Właśnie dlatego nazywają to hałasem. To prawda, że ma pewne własności matematyczne, które są niezawodne w średniej, ale przypadkowe zdarzenia mogą prowadzić do serii błędów, które mogą nie zostać przechwycone przez wybrany schemat kodowania. Musimy spojrzeć na gęstość i rozkład błędów w kanale, oprócz wskaźnika błędu. Trzeba jeszcze powiedzieć o rozkładzie błędów. Niektóre schematy kodowania (jak Viterbi, które niedługo otrzymamy) zbierają wszystkie błędy w sieci i naprawiają je wszystkie jednocześnie. Problem polega na tym, że jeśli coś pójdzie nie tak i nie wszystkie mogą zostać naprawione, nastąpi rozerwanie sieci i lokalna powódź błędów, które nie wystąpiłyby naturalnie w taki sposób. Ten typ sytuacji jest w rzeczywistości spowodowany schematem kodowania z korekcją błędów. System musi być przygotowany na przetrwanie takiego zdarzenia. Prawdopodobnie wszyscy widzieliśmy takie wybuchy błędów w trakcie meczów piłkarskich zza oceanu. Gra idzie dobrze, aż na ekranie pojawi się ogromny czarny i zielony blok. Zobaczymy, dlaczego to nastąpi wkrótce. Rzućmy okiem na niektóre metody kodowania, które wysyłają zduplikowane dane. Różne techniki mają ten sam podstawowy cel: zmniejszenie poziomu błędu poprzez wysłanie niektórych danych więcej niż raz. Techniki są zasadniczo podzielone na dwie różne metody. Niektóre kanały komunikacji są dwukierunkowe, a wiele z nich nie. Dwukierunkowy kanał komunikacji umożliwia retransmisję danych na żądanie odbiorcy; jednokierunkowy kanał komunikacji nie.

KANAŁY KOMUNIKACJI DWUKIERUNKOWEJ

Dwukierunkowy kanał komunikacji umożliwia odbiornikowi wysyłanie nadajnika informacje o stanie kanału i integralności otrzymanych danych. W dwukierunkowym kanale komunikacyjnym wykorzystywanych jest kilka narzędzi, które pomagają w przesyłaniu zduplikowanych danych. Narzędzia te nie są ograniczone do wykorzystania w kanale dwukierunkowym, ale można je wykorzystać w celu uzyskania maksymalnych korzyści z łącza zwrotnego. W rzeczywistości wszystkie narzędzia używane w jednokierunkowym kanale komunikacji będą działać również w kanale dwukierunkowym.

SPRAWDZANIE BLOKÓW

Kiedy odbiorca otrzymuje dane, musi określić, w miarę możliwości, czy kanał zmienił dane. Nie ma znaczenia, gdzie w kanale dane zostały zmienione. Hałas wywołany burzą lub plamami słonecznymi może zmienić dane na trasie lub odbiornik mógł mieć tymczasowy usterkę zasilania. Liczy się tylko to, czy bufor danych odbiornika ma te same dane, które zostały przesłane. Podobnie jak aspiryna butelek, które pochodzą z uszczelką bezpieczeństwa zapewniający ochronę, dane mogą być zapakowane w sumie kontrolnej, która będzie gwarantować integralność danych. Suma kontrolna to seria bitów danych służących do podsumowania bloku danych. Nadawca może odciąć strumień danych w szeregu bloków, które mogą mieć wiele bajtów. Suma kontrolna jest obliczana i dołączana do bloku danych przed transmisją. Dobrze omówić, w jaki sposób sumy kontrolne są obliczane później. Odbiornik zna, po wcześniejszym ustaleniu, sposób obliczania sumy kontrolnej. Odbiornik po otrzymaniu bloku danych (i sumy kontrolnej), niezależnie oblicza sumę kontrolną ponownie i porównuje ją z odebraną sumą kontrolną. Jeśli wyniki są różne, istnieje problem. Jeśli sumy kontrolne są takie same, dane są akceptowane, a odbiornik przechodzi do następnego bloku. Ale załóżmy, że istnieje problem. W takim przypadku możliwe są różne działania.

Wykrywanie pojedynczego błędu

Jeśli przesłana suma kontrolna ma stosunkowo niewiele bajtów, możliwe, że błąd można wykryć tylko. Może nie być wystarczających informacji, aby je poprawić błąd lub nawet wykryć więcej niż jeden błąd w bloku danych. Jeśli zostanie wykryty błąd, odbiornik może poprosić nadajnik o ponowne przesłanie bloku informacji. Jeden protokół używany w retransmisji danych jest omówiony później.

Wielokrotne wykrywanie błędów

Jeśli suma kontrolna zawiera wystarczającą ilość danych (i odpowiednią strukturę matematyczną), może być możliwe wykrycie więcej niż jednego błędu w bloku danych. Uwaga: oznacza to, że metoda słabej sumy kontrolnej (z niewielkimi danymi w sumy kontrolnej) może nawet nie wykryć żadnego błędu, jeśli w bloku danych wystąpi więcej niż jeden błąd. Rozważ naturę kanału komunikacji używanego w robocie. Jeśli możliwe jest wystąpienie więcej niż jednego błędu w tym samym czasie, spróbuj zastosować metodę sumy kontrolnej zdolną do wykrycia co najmniej wielu błędów. Z pewnością możliwe jest wystąpienie wielu błędów w tym samym czasie w dowolnym kanale komunikacyjnym. Kluczowym pytaniem, które powinien rozważyć projektant robotów, jest prawdopodobieństwo takiego zdarzenia. Sprawdź prawdopodobieństwo wystąpienia błędów i rozkładu błędów. Zakładając, że wskaźniki błędów są małe i że Błędy występują niezależnie, można bezpiecznie założyć, że szansa wystąpienia dwóch równoczesnych błędów w bloku jest w przybliżeniu kwadratem szansy na pojedynczy błąd w bloku. Projektant robota powinien obliczyć ten podwójny wskaźnik błędu i określić, czy będzie to dopuszczalny poziom błędu, jeśli takie błędy prześlizgną się.

Korekta pojedynczego błędu

Jeśli suma kontrolna zawiera wystarczające dane, aby wykryć nie tylko błąd, ale również go skorygować, dane można skorygować, zanim odbiornik przejdzie do następnego bloku danych. Nie będzie wymagana retransmisja z nadajnika. Należy zauważyć, że nawet systemy korekcji błędów czasami będą popełniać błędy. Siła kodu korekcji błędów leży w matematyce protokołu. Niektóre błędy mogą nawet nie zostać wykryte, niektóre błędy mogą nie zostać naprawione, a niektóre błędy zostaną niepoprawnie poprawione. Przy stosowaniu takich metod projektant robotów musi zbadać te poziomy błędów i porównać je z dopuszczalnym poziomem błędu.

Wielokrotna korekta błędów

Niektóre sumy kontrolne mają wystarczającą ilość informacji do poprawienia błędów jednoczesnych. Należy zachować takie same środki ostrożności, jak opisano wcześniej. Należy pamiętać, że takie silne sumy kontrolne często pochłaniają dużo przepustowości wysyłając dodatkowe dane sumy kontrolnej; sumy kontrolne mogą zawierać wiele bajtów. Sumy kontrolne to mniejsze bloki danych, które podsumowują większe bloki danych. Często sumy kontrolne nazywane są cyklicznymi kontrolami nadmiarowości (CRC). Następujące strony internetowe wskażą niewielką różnicę. Oczywiście, jeśli suma kontrolna zawiera więcej danych niż ten, który podsumowuje, nie jest to zbyt użyteczne. Cała idea polega na podsumowaniu bloku przesyłanych danych w niewielkiej liczbie bajtów, aby była efektywna. Często suma kontrolna składa się z 1 do 8 bajtów dodatkowych informacji podsumowujących blok danych o długości od 32 do 1024 bajtów. Liczby te są arbitralne, ale powszechne. Na przykład protokół TCP / IP zazwyczaj zawiera bloki danych o długości 512 bajtów z sumami kontrolnymi o długości 2 bajtów. Bystry obserwator zauważy, że blok danych 512 bajtów mogą być wypełnione w 2512x8 różnych sposobów. Jednak suma kontrolna z zaledwie 2 bajtami może przyjąć tylko 65 535 (22x8) różnych wartości sumy kontrolnej. Oznacza to, że dla każdej możliwej wartości sumy kontrolnej około 2256 (lub około 7.4 x 1019) bloków danych będzie mieć taką samą sumę kontrolną. Jak więc uciec, mówiąc, że ten rodzaj sumy kontrolnej jest wystarczający dla aplikacji? Jeśli wystąpi błąd, błędny blok danych może być identyczny z jednym z kilku miliardów bloków danych z tą samą sumą kontrolną. Kluczową rzeczą do zapamiętania jest to, że pojedynczy błąd powinien skutkować błędnym blokiem danych z jedną szansą w 65 536 na posiadanie tej samej sumy kontrolnej. Jeśli ten spadek wskaźnika błędu nie jest wystarczająco dobry, zaprojektuj robota z większą sumą kontrolną, która może być dłuższa. Z pewnością, ponieważ algorytm matematyczny został wybrany do obliczania sumy kontrolnej, upewnij się, że najczęstsze błędy powodują zmianę w sumach kontrolnych. Na przykład błąd w jednym bicie może być powszechny i powinien skutkować inną sumą kontrolną. Metoda obliczania sum kontrolnych jest często opisywana przez wielomian, matematyczny sposób opisywania obliczeń związanych z obliczaniem sumy kontrolnej. Matematyka stojąca za wyborem dobrego wielomianu wykracza poza zakres tej książki. Na szczęście istnieje wiele standardowych wielomianów (niektóre wymienione poniżej) i możemy wybierać spośród nich, nie wymyślając ich na nowo.

BITY PARZYSTOŚCI

Spójrzmy na przykład prostej struktury sumy kontrolnej. Bity parzystości, jako część struktury sum kontrolnych, mogą po prostu wskazywać liczbę bajtów. Zasadniczo, weź bajt i zlicz swoją liczbę w 8 bitach. Jeśli używamy parzystego schematu parzystości, liczba bitów w bitach (w tym bit parzystości) musi być równa. Na przykład, jeśli w bajcie danych znajduje się parzysta liczba, to należy dodać dziewiąty bit parzystości zawierający zero do bajtu, aby zachować parzystość parzystą. Jeśli liczba bajtów w bajcie jest nieparzysta, to dodaj jeden jako dziewiąty bit parzystości, aby uzyskać parzystość. Jeśli zrobimy to dla każdego bajtu w bloku danych, to błędy jednego bitu w dowolnym bajcie "zetną" ten bajt jako zły. Będziemy w stanie wykryć błędy pojedynczego bitu w bloku danych kosztem zwiększenia danych o 1/8. Jeśli obliczymy również parzystość dla każdego bitu, w całym bloku danych uzyskamy więcej możliwości. Możemy na przykład obliczyć liczbę jedynek w pozycji 0 bitów dla całego bloku danych i dołączyć bajt parzystości kolumny na końcu bloku danych zawierającego pojedynczy 9- bitowy numer. Bajt parzystości kolumny będzie zawierał parzystość obliczoną dla 0, 1, 2,. . . ósmy i dziewiąte kolumny bitów w bloku danych. Następnie, jeśli pojedynczy bit jest uszkodzony w bloku danych, bit parzystości tego bajtu będzie sygnalizował, który bajt jest błędny, a bajt parzystości kolumny pokaże nam, który bit jest błędny w tym bajcie. Umożliwi nam to poprawienie błędów pojedynczego bitu w bloku danych przez powielenie i rozszerzenie bloku danych o około 1/8. To nie jest bardzo silny kod; lepsze mogą być tworzone. Łatwo jest stworzyć nasz własny kod, ale musimy być pewni, że odpowiada wymaganiom środowiska operacyjnego robota. Siła kodu powinna odpowiadać wskaźnikom błędów, rozkładowi błędów i tolerancji, którą robot ma na błędy.

SUMA KONTROLNA REEDA-SALOMONA

Jednym z najczęściej używanych obliczeń sumy kontrolnej jest kod Reeda-Solomona (RS). Ten typ kodu może korygować wiele błędów w bloku danych. Powód, dla którego jest to użyteczne, zostanie wkrótce przedstawiony. Kodowanie RS również rozszerza blok danych przez dołączanie bajtów parzystości. Jednym popularnym kodem RS jest RS (255,233), który rozszerza 233-bajtowy blok danych do 256 bajtów, dołączając 32 bajty sum kontrolnych parzystości, rozszerzając blok danych o współczynnik około 14 procent. Wielomian RS (255,233) umożliwia jednoczesną korektę do 16 różnych bajtów. Inny popularny kod RS jest wykorzystywany w satelitarnych transmisjach wideo. Standard Digital Video Broadcast-Satellite (DVB-S) został ustandaryzowany w zakresie transmisji wideo MPEG2 za pomocą, między innymi, RS (204188). Ten kod dołącza 16 bajtów sumy kontrolnej parzystości do bloku danych 188 bajtów dla rozszerzenia kodu o około 8,5 procent. Wielomian RS (204,188) umożliwia jednoczesną korektę do ośmiu różnych bajtów. Strona wyświetla obraz, pokazuje graficznie ilość nadmiarowych danych, pozwala nam wprowadzać błędy na obrazie graficznym za pomocą myszy i koryguje błędy na naszych oczach. Jeśli wprowadzono zbyt wiele błędów, błędów nie można poprawić. To ilustruje ograniczenia kodowania blokowego.

RETRANSMISJA

Jeśli zostanie wykryty błąd, odbiornik może wysłać NACK lub Potwierdzenie negatywne z powrotem do nadajnika. Ten komunikat NACK zażąda retransmisji błędnego bloku danych. Niektóre dwukierunkowe protokoły komunikacyjne wymagają od odbiornika przesłania potwierdzenia (ACK), aby potwierdzić odbiór każdego doskonale dobrego bloku danych. Jeśli kanał komunikacyjny narzuca znaczące opóźnienie na transmisje (na przykład co może się zdarzyć robotowi zdalnej sondy kosmicznej), wówczas wysłanie komunikatu ACK (lub NACK) dla każdego bloku danych jest niepraktyczne. Jeżeli protokół transmisji umożliwia nadajnikowi przesyłanie wielu bloków danych bez odbierania komunikatów z odbiornika, wówczas nadajnik musi dołączyć identyfikator do każdego wysyłanego bloku danych. Identyfikator jest często po prostu kolejną liczbą wystarczającą do rozróżnienia każdego bloku danych od sąsiednich sąsiadów. Odbiornik po zidentyfikowaniu złej sumy kontrolnej dołącza identyfikator uszkodzonego bloku do wiadomości NACK dla tego bloku. Kiedy nadajnik odbierze komunikat NACK, ponownie składa się z bloku danych, który odpowiada identyfikatorowi i przesyła go ponownie. Odbiornik musi obliczyć sumę kontrolną otrzymanej retransmisji i zaakceptować blok danych. Zauważ, że będzie to wymagało zarówno od odbiornika, jak i nadajnika do buforowania (przechowywania) wielu bloków danych w pamięci podczas cyklu transmisji. Należy pamiętać, że niektóre protokoły komunikacyjne nie mogą używać retransmisji jako narzędzia aby zmniejszyć błędy. Na przykład łącza wideo i audio nie mogą korzystać z retransmisji. Strumieni wideo i audio nie można wstrzymać, gdy dane są retransmitowane, ponieważ ekran zostanie wyzerowany. Te strumienie danych muszą być ciągle dostępne w nadajniku i polegać wyłącznie na jednokierunkowej transmisji danych.

STROJENIE KANAŁÓW

Dwukierunkowe łącze komunikacyjne można zoptymalizować w czasie rzeczywistym, wysyłając sterowanie informacje w obu kierunkach. Kanały mogą się zmieniać wraz z upływem czasu, a czasem trzeba je odpowiednio skonfigurować. Niektóre protokoły komunikacyjne mają wbudowane sygnały sterujące i określone algorytmy dostrajania, które utrzymują połączenie komunikacyjne w zdrowiu i niezawodności. Do dostrojenia systemu można użyć następujących metod:

•  Zasilanie Łącze do przesyłania danych często działa lepiej, jeśli do transmisji każdego bitu wykorzystuje się więcej mocy. Stosunek Eb / No jest bezpośrednio dotknięty. Odbiornik może zmierzyć siłę sygnału, którą odbiera z nadajnika. Jeśli ustali, że sygnał jest zbyt słaby, odbiornik może wysłać żądanie do nadajnika, aby zwiększyć jego moc podczas nadawania. W ten sam sposób nadajnik może zażądać od odbiorcy zwiększenia jego mocy nadawczej. Ta technika może być stosowana we wszystkich dwukierunkowych łączach komunikacyjnych, o ile moc pozostaje w granicach. Jednak to, co można zrobić dzięki kontroli mocy, jest ograniczone. Zbyt duża moc może zanieczyścić widmo i uniemożliwić prawidłowe działanie łącza komunikacyjnego. Odpowiednio skonstruowany protokół kontroli mocy dla łącza komunikacyjnego często zawiera ograniczenie odbieranej mocy. Jeżeli odbiornik wyczuje zbyt dużą moc sygnału pochodzącego z nadajnika, może zażądać od nadajnika zmniejszenia siły sygnału do akceptowalnego poziomu. W końcu sygnał dla jednego odbiornika może być po prostu szumem dla innego odbiornika. Konieczna jest zatem pewna współpraca. Protokół wielokrotnego dostępu z podziałem kodowym (CDMA) wykorzystuje właśnie taki protokół sterowania mocą, aby zoptymalizować łącze komunikacyjne. Ta technika jest szczególnie przydatna w sytuacjach, gdy telefon komórkowy przemieszcza się z jednego obszaru do drugiego w samochodzie. Komórkowe stacje bazowe używane przez telefon zmieniają się w miarę poruszania się telefonu. Aby upewnić się, że telefon jest dobrze zachowany i nie przeszkadza sąsiednim telefonom, używana jest regulacja mocy.
•  Zmiany kodu Jeśli łącze komunikacyjne zaczyna się pogarszać, inna technika która może być użyta to zmiana kodowania. Po wcześniejszym uzgodnieniu, odbiornik i nadajnik może wstrzymywać i zmieniać metody kodowania. Silniejsze kody korekcji błędów tłumaczyć bezpośrednio na wzmocnienie kodowania, które można dodać do Eb / No. Tak jak mówiliśmy wcześniej oznacza to zwykle, że zostanie wysłana dodatkowa ilość zbędnych danych w takiej czy innej formie. Ponieważ dodatkowe dane będą wysyłane przez kanał i od tego czasu kanał Eb / Brak wartości jest już marginalny, sensownym jest przejście na niższy poziom przepustowość dla transmisji danych. Jeśli mniej faktycznych danych jest wysyłanych, więcej jest zbędnych dane mogą być dołączane, a moc kanału na bit pozostaje taka sama. Konkretny przykład tego można znaleźć w transmisjach wideo MPEG. Większość Transmisje MPEG są jednokierunkowe, ale niektóre łącza wideo mają kontrolę zwrotną kanały o znacznie niższej przepustowości. Chociaż wideo może być przesyłane jednokierunkowo łącza satelitarne, kanał rewersyjny może zostać ustanowiony przez telefon. W miejscu nadajnika kompresor MPEG pobiera sygnał wideo i kompresuje używając algorytmów MPEG. Kompresor ma do wyboru kilka kompresji algorytmy, które mogą ściśnąć obraz wideo na coraz mniejsze ilości danych (kosztem jakości obrazu). Kompresor następnie koduje Dane MPEG do transmisji przez kanał za pomocą kodów Viterbi i RS, które dołącz nadmiarowe dane. Odbiornik używa kodów Viterbi i RS, aby wyeliminować błędy, a następnie dekompresuje obraz wideo. Jeśli odbiornik nie może poprawić wszystkich błędów, obraz zacznie się rozpadać. Odbiornik może użyć łącza do sterowania zwrotnego, aby zażądać lepszej metody kodowania kanałów. Sprężarka w miejscu nadajnika używa silniejszego algorytmu kompresji aby zmniejszyć ilość wysyłanych danych i wybrać silniejszą kombinację Viterbi i RS. Kodowanie kanału ponownie przywraca dane do pierwotnej wartości. Odbiornik będzie wtedy w stanie skorygować wszystkie błędy i przedstawić czysty obraz. Obraz wideo może nie być tak dobry jak wcześniej (ze względu na dodatkową kompresję), ale przynajmniej obrazy przechodzą.

KANAŁY KOMUNIKACJI UNIDUALNEJ

Omówiliśmy lub wspominaliśmy już wiele metod stosowanych w celu zmniejszenia liczby błędów kanały komunikacji. Z wyjątkiem wniosków o retransmisje, które są niemożliwe w jednokierunkowy kanał komunikacji, można stosować większość tych samych technik. Omówimy jeszcze kilka używanych protokołów, ale nie zajmiemy się zbyt dużą głębią. Jednak, aby odpowiednio określić łącze komunikacyjne dla robota, musimy zrozumieć opcje. Musimy zdać sobie sprawę, że jednokierunkowe łącze komunikacyjne może być z powodzeniem stosowane tylko wtedy, gdy spełnione są następujące dwa warunki:

•  Docelowy wskaźnik błędu odbiornika musi być ustawiony tak, aby był akceptowalny, biorąc pod uwagę specyfikację działania. Możemy dość dobrze określić z góry, jaki poziom błędu będzie akceptowalny dla działania robota.
•  Dane odbierane przez odbiornik muszą mieć odpowiednią ilość i jakość, aby utrzymać wystarczająco wysoką szybkość transmisji danych, a poziom błędu odbiorcy był poniżej akceptowalnej wartości docelowej.

Aby osiągnąć drugi cel, powinniśmy przejrzeć dostępne narzędzia. W przypadku komunikacja dwukierunkowa, rozmawialiśmy już o kodowaniu blokowym, tuningu kanału i retransmisji. Ponieważ zarówno tuningowanie kanałów, jak i retransmisja nie są możliwe bez kanału zwrotnego, powinniśmy zbadać kodowanie dalej. Omówiliśmy już kodowanie blokowe i sumy kontrolne o pewnej długości. Bity parzystości i kodowanie RS to narzędzia, które mogą być używane w jednokierunkowym łączu komunikacyjnym. Często nazwą jednokierunkowych metod korekcji błędów jest korekcja błędów w przód (FEC). Ma tę nazwę, ponieważ wszystkie informacje o korekcji błędów poruszają się do przodu; nie istnieje łącze do odwrotnej komunikacji.

POŁĄCZNE KODY

Ogólną ideą łączonych kodów jest gromadzenie losowo rozmieszczonych błędów w jednym miejscu, w którym możemy je wydajnie i niezawodnie wysyłać. To może być nadmierne uproszczenie, ale tak właśnie postrzegam tę technikę. Dane sygnału wideo MPEG są nadawane w formacie DVB na satelitach przy użyciu tego typu połączonego kodowania. Omówimy później kompresję MPEG i format DVB. Opis każdego bloku na rysunku jest następujący:

•  Kompresor MPEG Przesyłane sygnały wideo, generowane przez kamerę wideo, są akceptowane przez dane wejściowe do kompresora MPEG. Sprężarka ma kilka silników do przetwarzania sygnałów cyfrowych (DSP), które kompresują sygnał. Omówimy kompresję danych później.
•  Koder RS Skompresowany sygnał jest przesyłany do nadajnika RS, który dodaje dane sumy kontrolnej, jak opisano powyżej.
•  Układ przeplotu Układ przeplotu jest urządzeniem przeplatającym dane, które pobiera sąsiadujące bajty i oddziela je Nie rozszerza on bloku danych, który otrzymuje, ale zmienia kolejność bajtów w bloku danych. Celem elementu przeplatającego jest uporządkowanie danych, aby element rozplatający mógł rozdzielić sąsiednie błędy, czyniąc je niezależnymi.
•  Kody ewolucyjne Koder splotowy skutecznie dodaje dodatkowe dane do każdego symbolu danych. Istnieje kilka różnych rodzajów kodów splotowych, z których najbardziej popularnymi są kody Viterbiego i Turbo. Kody te mają tendencję do rozszerzania danych bardziej niż kodowanie RS, z wyjątkiem danych dodawanych niemal bajt po bajcie.
•  Modulator Jak wspomniano wcześniej, modulator danych zmienia kształty fali nośnej zgodnie z przekazanymi danymi. Nawet po jednokrotnym modulowaniu danych wynikowy kształt fali może być modulowany po raz drugi w celu zwiększenia częstotliwości dla określonych pasm częstotliwości komunikacyjnych.
•  Kanał Kanał transmisji danych jest standardowym łączem komunikacyjnym (takim jak łącze satelitarne) z błędami dodanymi w wyniku zakłóceń i szumów.
•  Demodulator Demodulator zasadniczo ma odwrotną funkcję modulatora. Często częstotliwość zostanie cofnięta raz z pierwszym etapem demodulatora. Dane zostaną następnie oddzielone od fali nośnej w końcowym etapie demodulacji. Dane wyjściowe demodulatora powinny być identyczne z danymi wejściowymi modulatora, z wyjątkiem błędów wprowadzanych przez szum kanału.
•  Dekoder konwolucyjny Dekoder splotowy skutecznie usuwa dodatkowe dane, które koder splotowy dodaje do każdego symbolu danych. Dekoder musi pasować do kodera splotowego. Wyjście dekodera powinno być identyczne z wejściem do enkodera splotowego, z wyjątkiem błędów wprowadzanych przez szum kanału.
•  ozplatanie Element rozplatający to tasownik danych, który pobiera sąsiadujące bajty i je rozdziela. Nie rozszerza on bloku danych, który otrzymuje, ale zmienia kolejność bajtów w bloku danych. Celem elementu rozplatającego jest rozdzielenie sąsiednich błędów (serii błędów) wychodzących z dekodera. Powoduje to, że każdy bitowy błąd jest niezależny.
•  Dekoder RS Dekoder RS, jak to omówiono poprzednio, usuwa dane sumy kontrolnej i koryguje błędy, jak to omówiono poprzednio. Wyjście dekodera RS, zakładając, że wszystkie błędy kanałów są poprawione, jest identyczne z danymi wyjściowymi ze sprężarki MPEG.
•  Dekompresor MPEG Dekompresor ma silnik obliczeniowy DSP dekompresuje dane wideo MPEG. Wyjście dekompresora jest transmisją sygnał wideo odpowiedni do oglądania.

Kanał

Kanał transmisji danych jest standardowym łączem komunikacyjnym z błędami dodanymi w wyniku zakłóceń i szumów. Błędy danych mogą występować w przypadkowych odstępach czasu lub w skoncentrowanych seriach. Takie błędy są następujące:

•  Losowe błędy Losowe błędy są najłatwiejsze do naprawienia. Istniejące połączone kody są dobrze dostosowane do ustalania losowych błędów.
•  Wybuchy błędów Istniejące połączone kody są dość dobrze dostosowane do naprawienia serii błędów. Te splotowe kody mają tendencję do koncentrowania błędów w krótkich seriach. Oczywiście, jeśli wystąpi zbyt wiele błędów, nie wszystkie mogą zostać naprawione.
•  Regularnie błędy przestrzeni Istniejące połączone kody mają najwięcej problemów z błędami, które występują w regularnych odstępach czasu. Szczególnie kody kodów RS są najsłabsze w korygowaniu takich błędów. Nie znaczy to, że kody te nie zajmą się błędami dystrybuowanymi w taki sposób. Po prostu ostrożnie zaprojektuj łącze komunikacyjne, jeśli hałas jest w jakiś sposób zorganizowany.
•  Demodulator Ogólnie rzecz biorąc, demodulator nie dodaje zbyt wiele szumu do sygnałów w kanale. Doda to niewielką ilość, ale zanim demodulator zakończy pracę, cały szum kanału zostanie zamieniony w cyfrowy szum, dane z pewnymi błędami. Losowy szum z kanału jest pokazany w niezmienionej postaci po demodulacji.
•  Dekoder konwolucyjny Dekoder splotowy ma tendencję do gromadzenia błędów i ich korygowania. Kiedy się nie powiedzie, przepuszcza serię błędów. Ogólnie rzecz biorąc, zwykle zbiera błędy w czasie. Jest to najbardziej użyteczna funkcja, ponieważ spowoduje, że wyjście elementu rozplatającego będzie bardzo przewidywalne. Hałas jest pokazany zebrany w impulsy po dekoderze splotowym.
•  Rozplatanie Element rozplatający pobiera serie błędów, które wychodzą z dekodera splotowego i rozkłada je równomiernie w czasie. To ustawia je wszystkie indywidualnie wybierane przez dekoder RS i poprawiane. Wyświetlany jest hałas rozłożyć na regularny wzór po rozplataniu.
•  Dekoder RS Dekoder RS, jak wspomniano wcześniej, jest w stanie korygować błędy wielu bajtów w bloku danych. Większość połączonych kodów jest skonstruowanych w taki sposób, że seria błędów wychodzących z dekodera splotowego nie zawiera na ogół więcej bajtów, niż dekoder RS jest zdolny do korygowania. Hałas jest pokazany całkowicie skorygowany po dekoderze RS. Zakończyło to określony cel pokazujący, jak działają połączone kody. W praktyce, oczywiście, zawsze pojawia się pewien hałas.
•  Dekompresor MPEG Dekompresor MPEG nie dodaje żadnych błędów do strumień danych. Takie kody są wykorzystywane w transmisji danych wideo przez łącza satelitarne.

KODY KONWERGENCYJNE

Kody ewolucyjne zwiększają nadmiarowość danych w strumieniu danych. Dekodery mają pamięć wewnętrzną i opóźniają wyjście danych. Nadmiarowe dane można dodać na kilka różnych sposobów.

Zwiększanie przepustowości

Oczywiście, nadmiarowe dane można po prostu dodać do istniejących danych. Jeśli tak się stanie, do transmisji dodatkowych danych wymagana jest dodatkowa przepustowość. Możemy zilustrować to opisywanie

Kody Viterbiego.

Enkoder Viterbi (w nadajniku) Kiedy możemy zwiększyć przepustowość, kody Viterbiego określają automat stanów, który ma nierozwinięte dane jako dane wejściowe. Automat stanów tworzy dane wyjściowe. Maszyna stanów zmienia stany w zależności od przepływu bitów danych wejściowych. Każdy z nich i zero od nierozwiniętych danych robi dwie rzeczy:

•  Zmienia stany Stan automatu zmienia stan dla każdego z nich i nadchodzi zero od nierozwiniętych danych wejściowych.
•  Dane wyjściowe Za każdym razem, gdy automat stanów odbiera bit wejściowy i zmienia stan, wyprowadza niektóre dane. Generalnie, więcej bitów jest wyprowadzanych niż wejście, więc enkoder Viterbiego rozszerza dane.

Ponieważ w maszynie stanu Viterbiego istnieją więcej niż dwa stany, każda zmiana stanu wyklucza niektóre państwa na korzyść tych dwóch stanów, które są jedynymi możliwymi skutkami zmiany. Jeśli, na przykład, automat stanów ma cztery stany, to jeden lub zero może tylko spowodować zmianę automatu stanów na jeden z dwóch różnych stanów. Pozostałe dwa stany to zabronione zmiany. Jest to klucz do tego, w jaki sposób dekoder Viterbiego poprawia błędy.

Dekoder Viterbiego

To wielkie uproszczenie, ale oto krótkie wyjaśnienie, w jaki sposób dekoder Viterbiego koryguje błędy. Dekoder Viterbiego wie a priori, w jaki sposób Viterbi funkcje enkoderów. Ponieważ dekoder zna zachowanie enkodera, może wykryć podejrzane dane zmienione przez szum w kanale. Losowe zmiany spowodowane szumem nie mogą w pełni naśladować aktywności enkodera. Zatem dekoder może wykrywać oznaki sabotażu. Dekoder przyjmuje bity wejściowe przychodzące bezpośrednio z kanału przez demodulator. Dekoder posiada również automat stanów, który zmienia stany na podstawie odebranych bitów danych. Gdy odbierane są rozszerzone dane wejściowe, maszyna stanu dekodera wykonuje dwie rzeczy:

• Stan zmian Ponieważ rozszerzone bity danych są odbierane z demodulatora, są dekodowane w celu określenia następnego stanu maszyny stanu dekodera. Historia zmian stanu jest akumulowana z powrotem kilka cykli.
•  Dane wyjściowe Gdy maszyna stanu dekodera zmienia stany, wyzwala zbadanie danych o zmianie stanu historycznego. Jeśli dane historyczne mają sens, następnie dekoder wyprowadza nierozwinięte dane, które są przechowywane w danych historycznych. Ogólnie rzecz biorąc, wyjście ma mniej bitów niż dane wejściowe. W ten sposób dekoder Viterbiego pobiera pierwotnie nierozwinięte dane.

Dekoder nie wysyła żadnych nieuporządkowanych danych, dopóki nie upewni się, że je przeczesał błędy ze strumienia wejściowego. Oszczędzi to danych, dopóki tak się nie stanie. Dekoder przegląda najnowszą historię zmian stanu, aby sprawdzić, czy te zmiany mają sens. Jeśli historia wygląda podejrzanie, dekoder Viterbiego uważa, że jeden lub więcej odebranych bitów danych mogło być błędne. Jeden po drugim dekoder przegląda najnowszą historię, analizuje każdy otrzymany ostatnio bit wejściowy i rozważa, co by się stało, gdyby ten bit był błędny. Dekoder określa, jak hipotetyczna historia wyglądałaby w tym przypadku. Jeśli hipotetyczna historia wygląda znacznie lepiej, dekoder uwzględnia fakt, że bit wejściowy mógł być błędny. Gdy dekoder znajdzie najbardziej satysfakcjonującą historię hipotetyczną, wyprowadza te hipotetyczne dane jako prawdziwe, poprawione, nierozwinięte dane. Jak wspomnieliśmy wcześniej, jeśli dekoder Viterbiego nie może poprawić wszystkich błędów, to przynajmniej gromadzi je wszystkie w jednym miejscu. Ponieważ przechowuje historię danych przed podjęciem decyzji i uzyskaniem danych wyjściowych, wypisze wszystkie ostatnie błędy w serii, gdy zawiedzie w swoim zadaniu. Nawet w przypadku niepowodzenia jest to klucz do sukcesu. Element rozplatający rozkłada serię błędów, aby kody RS mogły je korygować. Wyobraź sobie dekoder Viterbiego, ale pomiń jego błędy w jednym rogu i wyceluj je w dekoder RS, aby zamiast tego można było je wyczyścić. Przypominamy, że ta wersja kodowania Viterbiego odnosi się do przypadku, w którym transmitujący koder Viterbiego może rozszerzać dane przed transmisją. Enkoder w ten sposób organizuje nierozwinięte dane w rozszerzone dane, które mają w sobie rozpoznawalne wzorce. Te rozpoznawalne wzorce danych są tym, co sprawdza dekoder, aby określić, czy odebrane, rozszerzone dane są podejrzane. Metryka, której dekoder używa do badania danych, to odległość Hamminga (całkowita liczba różnic bitowych) między rzeczywistymi odebranymi danymi a hipotetycznymi odebranymi danymi. Algorytm Viterbiego jest wbudowany w wiele standardowych systemów komunikacyjnych. Najważniejszą rzeczą, o której należy pamiętać przy korzystaniu z algorytmu Viterbiego, jest to, że ma różne stopnie siły w zależności od pewnych parametrów. Jeśli parametry można zmieniać, silniejsze kody będą miały tendencję do rozszerzania danych bardziej.

Pasmo ograniczone

Czasami nie ma dodatkowej przepustowości do pracy i nie możemy używać kodowania Viterbiego do rozszerzania danych w ogóle. Jeśli chcemy, aby część przesłanych danych była nadmiarowa, musimy wyrzucić jakąś przepustowość. Trochę mniej oryginalnych danych jest przesyłanych, ale przepustowość jest wypełniona pewnymi nadmiarowymi danymi. Całkowita przepustowość pozostaje niezmieniona. Operator łącza komunikacyjnego musi zdecydować, ile przepustowości danych ma poddać się. Można zastosować kodowanie Trellis i dekodowanie Viterbiego. Kody te rozszerzają dane o ostateczną wartość na podstawie siły kodowania. Operator łącza komunikacyjnego może wybrać kod i zmniejszyć dane wejściowe o odpowiednią wartość, aby rozszerzenie kodu wypełniało przepustowość kanału. Pamiętaj, że celem tego rodzaju kodowania jest uporządkowanie danych wejściowych za pomocą rozpoznawalnych wzorów, aby dekoder mógł określić, czy zakłócenia kanału zmieniły go. Technika zwykle stosowana do tego celu polega na poświęceniu niektórych pozycji symboli w konstelacji symbolu. Załóżmy na przykład, że konstelacja symbolu pokazuje 64 QAM, które widzieliśmy wcześniej. W przypadku QAM, która nie jest zakodowana, wszystkie przejścia są możliwe. Sygnał może przejść od dowolnego znaku X do dowolnego innego znaku X, aby zasygnalizować transmisję 6 dodatkowych bitów (26 = 64). Ale możliwe jest ograniczenie możliwych przejść w rozpoznawalny sposób. Jeśli, na przykład, można przeskoczyć tylko z jednego znaku X do zaledwie 32 innych znaków X, to tylko przejście przez 5 (25 = 32). Szybkość przesyłania danych byłaby zredukowana o połowę, ale sygnał musiałby być zgodny z odrębnym zestawem reguł, które byłyby znane dekoderowi. Dekoder byłby wówczas w lepszej pozycji do wykrycia błędów za pomocą środków, opisanych wcześniej. Inną techniką ograniczania przejść, jakie mogą uzyskać symbole, jest dosłowne dostarczanie dodatkowych pozycji symbolu. Rozważmy na razie system 16 QAM z konstelacją symbolu



Można podwoić liczbę pozycji symboli, aby utworzyć system 32 QAM i podwoić je ponownie, aby utworzyć system 64 QAM. Symbole w systemie 32 QAM mogą być rozmieszczone w dowolnym układzie geometrycznym, ale najlepiej upakowane w przybliżeniu koła



Jeżeli system 16 QAM nadal będzie transmitował równowartość 4 bitów na symbol, koder może spakować dane nadmiarowe przez ograniczenie 32 lub 64 różnych lokalizacji symboli, które będą dozwolone przejścia. To skutecznie wprowadza możliwy do zidentyfikowania wzór w danych bez zwiększania przepustowości. Można nadal używać dekodera Viterbiego, ale wykorzystuje on odległość między symbolami jako wskaźnik, ponieważ wyszukuje podejrzane przejścia danych.

Kodowanie Turbo

Pewne postępy poczyniono od czasu, gdy Viterbi wydał swoje kody pod koniec lat 60. Złożoność dekodera Viterbiego ma tendencję do wzrostu wykładniczego w celu zwiększenia przyrostu kodowania. Klasyczne kody turbo są już od jakiegoś czasu niedostępne, z dużo lepszymi wynikami, ale klasyczne kody turbo mają pewne ograniczenia, osiągając limit poniżej limitu miasta Shannon capa. Ponadto, klasyczne kody turbo są skomplikowane do obliczenia i wykorzystania kosztownego sprzętu. Kodowanie produktów Turbo (ulepszenie klasycznych kodów turbo) jest bardziej obiecujące. Technika ta pozwala wyznaczonemu projektantowi łącza komunikacyjnego uzyskać arbitralnie bliską granicę pojemności Shannona, przesyłając tyle danych przez kanał, na ile pozwala na to współczynnik S / N. Wymagana jest duża ilość obliczeń, ale obliczenia są zwykle iteracyjne i nadają się do implementacji w krzemie. Wydajność jest w dużej mierze ograniczona limitami pamięci. Kody produktów Turbo zastępują cały połączony łańcuch RS, Viterbi. Osiągnięta wydajność może przynieść krzywą BER w arbitralnie małej liczbie dB limitu Shannon. Kodowanie jest podobne do kodu blokowego RS, z bajtami danych i sumy kontrolnej, ale ma kilka różnic. Przede wszystkim, podczas gdy RS ma rząd danych i bajtów sumy kontrolnej, kody produktów turbo mają trójwymiarową strukturę. Sumy kontrolne są obliczane dla wszystkich trzech wymiarów dla danych: x, yi z. W ten sposób oryginalne dane otrzymują sumy kontrolne błędów w wielu kierunkach. Dekoder ma stosunkowo prosty silnik obliczeniowy. Dekoder działa na jedną sumę kontrolną jednocześnie, wykonując sumy kontrolne wektorowe X, Y i Z w oddzielnych obliczeniach. Za każdym razem, gdy silnik obliczeniowy dekodera wprowadza poprawki na wektorze, zmienia wyniki w pozostałych dwóch wymiarach. Gdy dekoder zostanie użyty we wszystkich wektorach we wszystkich trzech wymiarach, cały proces może rozpocząć się od nowa. Dekoder może przetwarzać dane tyle razy, ile potrzeba, aby dane były jak najlepsze. Im więcej razy dekoder jest używany, tym lepsze wyniki. Jeśli wiadomo, że dane zawierają wiele błędów szumu, dekoder może być używany kilka razy. Jeśli wiadomo, że dane są dość czyste, dekoder może być użyty jeden lub dwa razy. Wystarczająca ilość informacji jest wbudowana w pierwotnie przesłane dane, dzięki czemu dekoder wie, kiedy przerwać iterację otrzymanych danych.

PRZEPLATANIE

Przeplatanie jest sposobem na rozprzestrzenianie się błędów. Często stosowany będzie schemat korygujący błędy zepsuj, jeśli błędy wystąpią w regularnym wzorze. Na przykład kody Viterbiego zbieraj błędy w skoncentrowanych seriach. Moduł przeplotu pobiera sąsiadujące dane i rozsuwa je, podobnie jak talia kart jest tasowana. Dane nie są po prostu rozwinięte uporządkowane. Enkoder może przeplatać dane przed transmisją, a dekoder może rozplatać dane po odebraniu. Przeplatanie można wykonać na wiele różnych sposobów, z których każdy przenosi określone wady i zalety. Oto dolny wiersz na przeplatanie. Ogólnie, jeśli przeplatanie jest używane w standardowym protokole łącza komunikacyjnego, wszystkie opcje są już określone. W takim przypadku żaden wybór nie wpłynie na wydajność łącza komunikacyjnego.

Dostęp współdzielony

Łącza komunikacyjne są często używane przez wiele jednostek komunikacyjnych: źródła i miejsca docelowe. Czasami byty są na osobnych komputerach; czasami są w oddzielnych procesach na tym samym komputerze. Jeśli łącze ma wiele źródeł i miejsc docelowych, musi rywalizować o wykorzystaniełącza komunikacyjnego. Często warstwa fizyczna nie pozwala im jednocześnie korzystać z łącza komunikacyjnego. Projektant łącza komunikacyjnego musi opracować strategię, która umożliwi każdej jednostce komunikacyjnej maksymalną ilość dostępu do odpowiedniej jednostki komunikacji na drugim końcu łącza. Biorąc pod uwagę, że łącze komunikacyjne ma ograniczoną przepustowość, projektanci muszą zwracać uwagę na wiele różnych wymagań.

PASMO

Każda sesja komunikacyjna między jednostkami ma różne wymagania dotyczące przepustowości. Wymagania dotyczące przepustowości mogą zmieniać się z czasem. Niektóre sesje wymagają bardzo stałej przepustowości, a niektóre sesje nagle wymagają dużego procentu dostępnej przepustowości. Sesje te będą przedstawiać różne typy wymagań dotyczących przepustowości.

Surowe pasmo

Różne sesje komunikacyjne mogą mieć różne wymagania dotyczące przepustowości.

Zmiany w przepustowości

Niektóre sesje komunikacyjne mają wymagania dotyczące przepustowości, które zmieniają się w nieprzewidziany sposób. W środowisku współdzielonym często wymaga czasu na negocjacje w celu uzyskania większej (lub mniejszej) przepustowości. Potrzeba czasu, aby zakończyć takie negocjacje, a projektant musi wziąć to pod uwagę. Ponadto różne sesje komunikacyjne mogą mieć wszystkie zmieniające się wymagania dotyczące przepustowości. Przedstawia klasyczny problem, jak spakować wszystkie konkurencyjne wymagania do dostępnej przepustowości. Nawet jeśli istnieje wystarczająca przepustowość, aby zaspokajać sumę arytmetyczną wszystkich wymaganych przepustowości, nadal może nie być możliwe spakowanie ich razem w kanale. Ten problem jest zredukowany do klasycznego matematycznego problemu pakowania. Ten problem przypomina próbę spakowania różnej wielkości bloków w pudełku. Nie ma prawie żadnego sposobu, aby to zrobić bez marnowania miejsca. Nawet jeśli wszystkie bloki mogą się zmieścić na raz, może nie być wystarczająco dużo czasu na określenie właściwego rozwiązania. Wynik netto jest taki, że pełne pasmo rzadko jest osiągane w tych okolicznościach Należy również zauważyć, że niektóre odbiorniki odbierają bufory, które nie mogą przepełniać lub niedopełnione. Dotyczy to transmisji MPEG, dlatego należy zapoznać się z poniższą sekcją. Istnieje możliwość zmiany szerokości pasma kanału z powodu błędów. Stanowi to ten sam problem, co różne wymagania. Czasem błędy muszą być akceptowane.

Gwarantowana przepustowość

Niektóre łącza komunikacyjne wymagają gwarantowanej przepustowości. Strumienie danych wideo MPEG powracające z robota wymagałyby na ogół stałej przepustowości. Taka przepustowość musiałaby być wcześniej zarezerwowana lub przynajmniej nie powinna podlegać ponownej renegocjacji.

Odwrotna przepustowość kanału

Przepustowość jest często uważana za parametr jednokierunkowy. Prawda jest taka, że jeśli kanał jest dwukierunkowy, przepustowość musi być wystarczająca w obu kierunkach. Może to znacznie zlikwidować systemy, w których przepustowość jest ustawiona pod wpływem chwili.

OPÓŹNIENIA

Kilka rodzajów opóźnień może zakłócić połączenie komunikacyjne. Wszystkie łącza komunikacyjne mają opóźnienie. Nawet z prędkością światła dane mogą zająć mikrosekundy, aby przekroczyć granicę hrabstwa. Większość sygnałów elektrycznych porusza się znacznie wolniej. Elektroniczne tablice do komunikacji mają znaczny czas przetwarzania, co opóźnia dane. Jeśli pętle sterowania w czasie rzeczywistym zależą od ścieżki komunikacyjnej, opóźnienia te muszą zostać obliczone w projekcie systemu. W niektórych systemach przepustowość jest usuwana, gdy nie jest potrzebna. Ponadto, gdy wymagana jest przepustowość, musi być wymagana i przyznana. Opóźnienie w odzyskaniu uprawnień do kanału komunikacji należy dodać do opóźnienia komunikacji w celu określenia najgorszego przypadku opóźnienia.

PRYWATNOŚĆ

Wkrótce omówimy kwestie bezpieczeństwa i prywatności. Jedynym powodem, dla którego warto tu wspomnieć o prywatności, jest to, że wspólne kanały komunikacji niosą dodatkowe ryzyko podsłuchu. Jest to szczególnie ważne, gdy wszyscy użytkownicy mają możliwość zobaczenia całego ruchu. Systemy TCP / IP często mają to ograniczenie.

WSPÓLNE ŚRODOWISKO DOSTĘPU

System, w którym wiele podmiotów współdzieli łącze komunikacyjne, może być zaprojektowany na wiele sposobów. Czasami sama natura środowiska komunikacyjnego dyktuje stosowane metody. Oto kilka czynników, które projektant robota powinien wziąć pod uwagę przy wybieraniu systemu komunikacji, który będzie obsługiwał wiele jednostek, które mają dostęp do kanału.

Zamknięty system

Jeśli dostęp do systemu komunikacyjnego jest ograniczony, projektant może ogólnie liczyć na jednolitość reakcji. Cały system powinien zachowywać się zgodnie z przewidywano architekturę i protokoły. Jeśli łącze komunikacyjne musi być współdzielone z nieznanymi jednostkami komunikacyjnymi, mogą wystąpić różnego rodzaju problemy.

Limity obciążenia

Łączna ilość ruchu komunikacyjnego, który łączy łącze, jest często określana zarówno przez protokół, jak i działania użytkowników w łączu. Łącze komunikacyjne nie jest niczym niezwykłym, jeśli chodzi o ułamek nieprzetworzonej prędkości bitowej łącza.

Użytkownicy spółdzielni

Jeśli jednostki komunikacyjne współpracują, wówczas można zwiększyć użyteczną przepustowość łącza komunikacyjnego. Jeśli jednostki komunikacyjne mogą być zsynchronizowane, wówczas mogą w dość wydajny sposób dzielić łącze komunikacyjne.

RODZAJE WSPÓŁDZIELONEGO DOSTĘPU

Jak wspomniano wcześniej, współpraca między jednostkami komunikacyjnymi, które dzielą łącze komunikacyjne, jest korzystna. Oto kilka konkretnych rodzajów współużytkowanego dostępu uzgodnienia dość ogólne. Te same rodzaje wspólnych ustaleń dotyczących dostępu są stosowane w wielu różnych standardach komunikacji. Jeśli system komunikacyjny jest funkcjonalnie identyczny z tymi systemami, to ołówki matematyczne są wyświetlane w ten sam sposób. Granice efektywnej przepustowości są bardzo realne.

SYSTEMY DZIELENIA CZASU

Współdzielony dostęp do łącza komunikacyjnego może zostać osiągnięty poprzez podzielenie tego na podstawie podziału czasowego, podziału częstotliwości lub podziału kodu.

System Aloha

System łączności Aloha został zaprojektowany tak, aby nadawca mógł po prostu przesłać pakiet na kanale, kiedy tylko chciał. Jeśli inny nadawca wysłał pakiet w tym samym czasie, zderzą się i oba pakiety zostaną utracone. Ponieważ coraz więcej nadawców konkuruje o kanał, system szybko się ładuje. Sposób w jaki wyrysowuje się matematykę, tylko 18 procent nieprzetworzonej przepustowości kanału jest naprawdę dostępne po wyczerpaniu się systemu. Normalne systemy 10BT LAN działają w ten sposób; kolizje zrujnują pakiety danych. Ponieważ 10BT LAN zaczyna się obciążać coraz większą liczbą użytkowników, ogólna efektywna przepustowość systemów 10BT nie jest nieprzetworzoną szybkością bitową wynoszącą 10 Mb / s, ale jest bliższa 1,8 Mb / s. W sieci LAN 10BT limit ten można poprawić tylko w przypadku użytkowników współpracować.

Rozcięta Aloha

System Aloha można ulepszyć, jeśli nadawcy są zsynchronizowani. Każdy nadawca wie, kiedy pojawiają się szczeliny czasowe i może rozpocząć transmisję tylko na początku szczeliny czasowej. Zderzenia nadal występują, ale ten rodzaj współpracy między nadawcami zwiększa efektywną przepustowość kanału do około 35 procent jego nieprzetworzonej prędkości bitowej.

Zastrzeżona Aloha

Jeśli nadawcy grzecznie zarezerwują czasy z wyprzedzeniem, efektywna przepustowość kanału jeszcze się zwiększy. Chociaż część przepustowości jest marnowana przy dokonywaniu rezerwacji, zderzenia są w dużej mierze wyeliminowane, a wydajność może być wysoka. Tylko szczeliny czasowe rezerwacji są marnowane. Rezerwacje mogą być przyznawane na wiele sposobów, w tym roundrobin, systemy priorytetowe i losowy wybór. To od projektanta robota zależy, jaki rodzaj systemu "przydziału na żądanie" przyjąć.

SYSTEMY PODZIAŁU CZĘSTOTLIWOŚCI

Z pewnością możliwe jest umieszczenie różnych jednostek komunikacyjnych na różnych częstotliwościach w ramach dopuszczalnych częstotliwości kanału komunikacyjnego. Pojawia się kilka problemów, takich jak przydzielanie częstotliwości i separacja częstotliwości.

Przydział częstotliwości

Wszystkie te same problemy z rezerwowaniem rezerwacji pasma występują w systemach podziału częstotliwości. Jeśli częstotliwość nie zostanie wykorzystana, przepustowość zostanie zmarnowana. Jeżeli rezerwacje są wymagane, wówczas istnieje zapotrzebowanie na rezerwację.

Przydział częstotliwości

Wszystkie te same problemy z rezerwowaniem rezerwacji pasma występują w systemach podziału częstotliwości. Jeśli częstotliwość nie zostanie wykorzystana, przepustowość zostanie zmarnowana. Jeżeli rezerwacje są wymagane, wówczas istnieje zapotrzebowanie na rezerwację.

Rozdzielanie częstotliwości

Kanały komunikacyjne na sąsiadujących częstotliwościach nie mogą ingerować w siebie nawzajem. Filtry służą do usuwania sąsiednich częstotliwości z pasma komunikacyjnego. Ponieważ nie można stworzyć doskonałych filtrów, musimy pozostawić dodatkową szerokość pasma między pasmami częstotliwości. Nie można spakować różnych pasm częstotliwości zbyt blisko siebie. Zarówno nadajnik jak i odbiornik wpadają w kłopoty, jeśli są zbyt blisko. Kilka innych problemów może pojawić się, gdy pasma częstotliwości są zapakowane blisko siebie.

•  Zniekształcenie. Nadajnik może mieć problemy z zniekształceniem intermodulacji. Rozważmy przypadek, w którym dwie częstotliwości, f1 i f2, są wzmacniane i konwertowane w górę razem. Rezultatem są niechciane sygnały zniekształceń o częstotliwościach (f2 - f1) i (f1 + f2).
•  ISI Jeżeli częstotliwości są zbyt blisko siebie, elektronika obsługująca każdą częstotliwość może mieć problem z odfiltrowaniem sąsiednich sygnałów. Chociaż systemy podziału częstotliwości są opłacalne i działają dobrze, systemy podziału czasu i podziału kodu ukradły grzmot tej technologii

SYSTEMY ODDZIAŁYWANIA KODÓW

Systemy podziału kodu używają szyfrowania, w którym dane każdego użytkownika są niewidoczne dla innych użytkowników.

Wielodostęp z podziałem kodowym (CDMA)

Systemy CDMA, znane również jako systemy widma rozproszonego (SS), zazwyczaj wykorzystują szerokie pasmo częstotliwości. Dane dla każdego użytkownika są rozłożone w całym paśmie częstotliwości za pomocą kodu rozpraszającego. Komunikacja każdego użytkownika jest transmitowana w paśmie w tym samym czasie, ale nie przeszkadzają sobie nawzajem. Każdy użytkownik otrzymuje unikalny kod rozpowszechniania, który służy do oddzielania użytkowników. Ze względu na naturę kodów, między użytkownikami występuje niewielka lub żadna ingerencja. Ponadto nie jest wymagana synchronizacja między użytkownikami. W 1940 r. Aktorka z Hollywood, której twórcą był Hedy Lamarr, opracowała urządzenie częstotliwościowe do użytku wojskowego. Miło jest mieć tu swoje zdjęcie wśród wszystkich mężczyzn w sproszkowanych białych perukach. Zaproponowano jej jeden interesujący cytat: "Każda dziewczyna może być efektowna. . . wszystko, co musi zrobić, to stać w miejscu i wyglądać głupio. "Oto jak działają najbardziej popularne systemy SS. Każdemu użytkownikowi przypisany jest zakodowany przebieg rozproszenia:

U(codei)

Gdzie codei jest unikalnym kodem użytkownika, który wybiera charakterystykę przebiegu U(codei). Przebiegi te są zwykle serią impulsów, które mają następującą charakterystykę. Natomiast x reprezentuje bit przez mnożenie (korelację):

U (codei) x U(codek) = Z << 1

chyba że k = i i oba przebiegi są zsynchronizowane, w takim przypadku U (codei) x U (codei) = 1

Ponadto U (codei) x B jest bardzo małe dla nieskorelowanych sygnałów (takich jak transmisje radiowe), które mogą już istnieć w kanale. Oznacza to, że sygnały SS mogą współistnieć (nakładać się) w kanale z istniejącymi użytkownikami komunikacji. W niektórych protokołach SS dane są najpierw modulowane przez rozkładany przebieg przed transmisją. Rozważmy przypadek, w którym kanał jest wypełniony przebiegami dwóch użytkowników. Możemy wyodrębnić jednego użytkownika w następujący sposób:

Kanał = Di x U (codei) + Dk x U(codek)

gdzie i i k są różne, a Di to dane od użytkownika i.



Podobnie, przebieg falowy dla użytkownika k może być łatwo wyodrębniony. Z drugiej strony komunikacja SS może współistnieć z istniejącymi, nieskorelowanymi sygnałami komunikacyjnymi w kanale. W zasadzie pozwala to na ponowne wykorzystanie widma kanału. Po stronie minusowej różne kody nie są całkowicie ortogonalne. Poprzedni niewielki sygnał Z jest mnożony przez liczbę innych użytkowników i może zakłócać odbiór. Może to ograniczyć liczbę użytkowników.

Kompresja

Często przepustowość dostępna dla komunikacji cyfrowej jest ograniczona. Może się tak zdarzyć kilka różnych powodów:

•  Regulowane widmo Rząd może regulować dostęp do widma i sprawiać, że wszyscy go dzielą.
•  Koszt Często za drogie jest nabywanie praw do potrzebnego spektrum.
•  Energia Jak już wspomniano wcześniej, dosłownie wysyłając bity przez kanał bezprzewodowy wymagane jest odpowiednio wysokie Eb / No. W transmisji satelitarnej ten fakt dosłownie wraca do domu, gdy baterie satelitarne i panele słoneczne walczą o dostarczenie energii każdemu. Roboty w odległych lokalizacjach często są przeciwko temu problemowi. Nie zapominaj jednak o jednej rzeczy. Najpierw trzeba skompresować dane za pomocą energii. Proces kompresji może być bardzo energooszczędny, a cały proces będzie musiał zostać poddany analizie.

Bez względu na przyczynę wysyłanie bezużytecznych danych przez kanał jest mało istotne. Większość komunikacji cyfrowej można skompresować do mniejszej ilości danych. Shannon bawiła się tym nieco dłużej. Aby przetestować tę asercję, wybierz kilka różnych typów plików na komputerze i spróbuj skompresować je za pomocą programu WinZip.exe, programu stanowiącego znak towarowy firmy WinZip Computing, Inc. Często można osiągnąć następujące wielkości kompresji:

•  Standardowe pliki tekstowe Współczynnik od 6 do 10.
•  Pliki programów Współczynnik 2.
•  Pliki wideo lub graficzne Współczynnik 1,1.

Spróbuj skompresować tego typu pliki za pomocą narzędzia WinZip , aby zobaczyć, co można osiągnąć. Jeśli komunikacja cyfrowa robota musi zostać skompresowana przed transmisją, dostępnych jest kilka opcji. WinZip ™ może nie nadawać się do użytku na komputerze robota. Prawdopodobnie biblioteka oprogramowania systemu operacyjnego robota (lub oprogramowanie typu freeware) może już mieć narzędzia do kompresji, które mogą być używane. Dwa podstawowe typy kompresji są powszechnie używane przez te programy. Techniki te są używane w standardowych programach kompresji i można je przepisać na potrzeby robota.

Transformaty Fouriera

Transmisje graficzne i wideo są rutynowo kompresowane za pomocą transformacji Fouriera. W przypadku kompresji wideo MPEG, obrazy są konwertowane na szereg współczynników, które są kompresowane ponownie przy użyciu kompresji długości działania (opisanej później). Można osiągnąć współczynniki kompresji 50: 1. Nie jest łatwo napisać (od zera) program do wykonywania tego typu kompresji

Kompresja Run-Length

Jedną z najstarszych i najbardziej intuicyjnych technik kompresji jest prosta długość kompresja. Zamiast wysyłać na przykład seria 2,415 zerowy pożegnań, możemy po prostu wysłać pakiet danych, który ma około 4 bajty, tłumacząc, że reprezentuje 2415 bajtów zerowych. Protokół jest prosty i można go zapisać od podstaw, jeśli zajdzie taka potrzeba.

Kompresja Huffmana

Kompresja Huffmana może być użyta, jeśli dane można podzielić na symbole (np. Bajty tekstowe). Następnie wszystkie symbole są ponownie przypisywane innym kodem przed transmisją. Najczęściej przesyłanym symbolom przypisywane są krótkie kody. Symbole, które są rzadko przesyłane, mają przypisane dłuższe kody. Stosowane jest również kodowanie biegunowe

Szyfrowanie i bezpieczeństwo

Wystąpienia mają miejsce, gdy dane muszą zostać zaszyfrowane przed ich przesłaniem. Fizyczne połączenia większości kanałów komunikacyjnych poruszają się przez obszary, które są publiczne. Oczywiście, cała komunikacja radiowa (RF), która przemieszcza się przez wolne miejsce, może zostać przechwycona, a komunikacja telefoniczna przechodzi przez zwykłe okablowanie i urządzenia. Wszyscy słyszeliśmy o niesławnych hakerów, którzy podsłuchują i tworzą inne problemy w Internecie. Użyjemy terminu hacker, aby odnosić się do nieautoryzowanych stron, które mogą okazać się nie na miejscu. Hakerzy mają różne motywy i każdy haker chciałby przejąć kontrolę nad robotem. Podobnie jak w przypadku komunikacji internetowej, transmisje radiowe i ruch telefoniczny również podlegają ingerencji ze strony hakerów. Przesyłane dane można odczytać lub zmienić na trasie. Oto lista rzeczy, które mogą się nie udać, gdy zaangażowany jest haker:

•  Odmowa usługi (DoS) Jeśli haker zatnie łącze komunikacyjne, polecenia do robota mogą się nie przedostać.
•  Podsłuchujący hakerzy mogą odczytać dane robota i uzyskać niezbędne informacje, których mogą użyć.
•  Podszywający się hakerzy mogą stanowić elementy źródłowe lub docelowe.

Mogą wtedy pojawić się następujące problemy:

•  Błędne polecenia Robot może otrzymywać fałszywe polecenia i wykonywać operacje które mogłyby zniszczyć misję.
•  Fałszywe dane Dane mogą zostać sfałszowane lub zmienione. Integralność badań naukowych i misji gromadzących dane może zostać zagrożona.
•  Zerwana komunikacja Jeśli hakerowi uda się sfałszować inną jednostkę komunikacyjną, cały łańcuch komunikacji może zostać przerwany w przyszłości.

Problemy bezpieczeństwa i hakerów można rozwiązać na wiele sposobów. Wprowadzono szereg standardów szyfrowania i wzmacniania łączy komunikacyjnych, aby zapobiec interwencji hakerów. Niektóre z tych metod są bardziej skuteczne niż inne. Większość zwykłych hakerów jest nieszkodliwych, ale wystarczająco zdeterminowani hakerzy są tam, aby złamać prawie każdy kod. Zasadniczo zapytaj, co by się stało, gdyby haker miał pełny dostęp do łącza komunikacyjnego. Co jest najgorszego, co może pójść nie tak? Jeśli twoje dane są nudne lub nieważne, nie przejmuj się. Jednak minimalne bezpieczeństwo jest często korzystne i nie kosztuje wiele. Pamiętaj jednak, że roboty są atrakcyjnym celem technologicznym. Perspektywa włamania się do robota obudzi nawet najbardziej śpiącego hakera. W skrócie, jakie rodzaje poprawek są dostępne? Podsłuch staje się prawie bezużytecznym ćwiczeniem, jeśli dane są całkowicie zaszyfrowane. Ponadto, fałszowanie staje się niemożliwe, jeśli wiadomość ma wystarczające uwierzytelnienie, aby zweryfikować nadawcę. Metody zapewniania szyfrowania i uwierzytelniania są opisane w poniższych adresach URL. Wiele bibliotek oprogramowania komputerowego zawiera podprogramy wspierające bezpieczną komunikację. Jeśli strumień danych przesunie się zbyt szybko w celu zaszyfrowania oprogramowania, dostępne są układy sprzętowe, które mogą szybciej szyfrować informacje.

STANDARD SZYFROWANIA DANYMI (DES)

DES zyskał poparcie rządu i jest obecny w wielu transakcjach handlowych dzisiaj. Metody obliczeń są dość proste, a chipsety są dostępne dla szybkich implementacji

RSA

Zabezpieczenia RSA opierają się na tym, że bardzo trudno jest uwzględniać duże liczby. Jeśli haker może wziąć pod uwagę ogromną liczbę w mniej niż kilka lat, haker może włamać się do łącza komunikacyjnego. Jak dotąd okazało się to zbyt trudne

PRETTY GOOD PRIVACY (PGP)

Zabezpieczenia PGP opierają się również na trudnych obliczeniach matematycznych i są oferowane w kilku wersjach.Ataki DOS mają miejsce, gdy zdeterminowany haker wysyła pakiety do robota, z którym nie może sobie poradzić. Niektóre ataki DoS obejmują wysyłanie pakietów z nielegalną strukturą danych; Inne ataki DoS polegają na wysyłaniu zbyt wielu pakietów, więc kanał zostaje zatkany. Upewnij się, że twoje oprogramowanie może obsługiwać pakiety z nielegalnymi strukturami i rozważ testowanie go z symulowanymi danymi ataku DoS.

Popularne kanały komunikacji

Projektując robota, warto trzymać się wypróbowanych i prawdziwych protokołów komunikacyjnych. Kilka protokołów, zarówno dla kanałów komunikacji bezprzewodowej, jak i przewodowej, jest dostępnych i popularnych. Zwykle oznacza to, że sprzęt i oprogramowanie można zakupić od ręki. Roboty nie tylko muszą być zaprojektowane szybko, ale muszą być niezawodne. Dlatego sprawdź rodowód każdego komercyjnego produktu. Łatwo powiedzieć, że produkt jest zgodny ze standardem, ale większość tych standardów jest tak złożona, że nowsze oferty nie są tak niezawodne, jak starsze, bardziej ugruntowane produkty.

SYSTEMY BEZPRZEWODOWE

Kilka bezprzewodowych systemów danych zostało wdrożonych na kilka lat. Omówimy niektóre funkcje i wydajność każdego z nich.

Wireless Fidelity (Wi-Fi)

Wireless Fidelity (Wi-Fi) lub 802.11b to bezprzewodowa wersja sieci Ethernet LAN. Używa komunikacji RF w paśmie 2,4 GHz, a protokół jest udokumentowany w 802.11b. Wiele osób ma w swoich komputerach przenośnych karty, które mogą korzystać z portali Wi-Fi w sklepach, firmach i miejscach publicznych. Technologia ta zapewnia dostęp do Internetu użytkownikom komputerów przenośnych. Byłby to świetny łącznik komunikacyjny dla robota, o ile zabezpieczenia i inne problemy są obsługiwane prawidłowo. Przepustowość danych jest podobna do przepustowości przewodowych sieci LAN 10BT, o których mówiliśmy wcześniej (około 1,5 Mb / s). Zasięg transmisji wynosi kilkaset stóp, ale prędkość transmisji danych może spaść po 50 stopach. Protokół wykorzystuje komunikację o widmie rozproszonym, jak omówiono wcześniej. Jako taki jest ekspertem w nakładaniu istniejącego spektrum komunikacyjnego i współistnieje z ruchem komunikacyjnym w nim. Szybsze wersje protokołu właśnie wychodzą teraz.

Dane GPRS (General Packet Radio Service)

Ogólnoświatowy system GPRS (General Packet Radio Service) obsługuje transmisję danych. Chociaż częstotliwość w Stanach Zjednoczonych jest inna niż w innych krajach, możliwości transmisji danych są podobne. System danych GPRS wykorzystuje komunikację radiową w pasmach od 800 do 960 MHz, a przepustowość danych wynosi co najwyżej 170 Kb / s, ale w praktyce najlepiej ograniczyć oczekiwania do jednej dziesiątej tego. Zasięg transmisji jest podobny do telefonów komórkowych i podlega podobnym strefom zaciemnienia w zależności od położenia geograficznego. Protokół wykorzystuje komunikację globalnego systemu komunikacji mobilnej (GSM) i wielodostępu z podziałem czasu (TDMA) z wąskopasmową modulowaną komunikacją GMSK i multipleksowaniem z podziałem czasu (TDM). W związku z tym użytkownicy mogą negocjować więcej slotów czasowych i większą przepustowość danych bez utraty dokładności.

Bluetooth

Bluetooth to kanał RF, który jest nieco nowy i po prostu wchodzi w jego własną. To też, wykorzystuje komunikację radiową w paśmie 2,4 GHz i GFSK (kluczowanie z przesunięciem częstotliwości). To wykorzystuje komunikację w zakresie widma rozproszonego (poprzez chmurę częstotliwościową) w 79 różnych pasmach o szerokości 1 MHz. Przeznaczony jest do komunikacji na krótkich dystansach 10 metrów. Przepustowość danych może być tak szybka jak 723 Kb / s, ale praktyczne ograniczenia ograniczają szerokość pasma do około połowy. To sprawia, że jest ona słaba dla wideo, ale dobra dla komunikacji internetowej. Jest ekspertem w nakładaniu istniejącego spektrum komunikacyjnego i współistnieje z ruchem komunikacyjnym w nim.

Stowarzyszenie danych podczerwieni (IRDA)

Łącze standardowe podczerwieni (IRDA) to kanał podczerwieni, który istnieje od pewnego czasu. Wykorzystuje światło podczerwone do komunikacji krótkiego zasięgu o długości około 1 do 2 metrów. Wykorzystuje częstotliwości pasma podstawowego modulowane do 1,5 MHz, aby przesyłać dane z prędkością do 4 Mb / s. Jest powszechnie używany do krótkich sesji komunikacyjnych między komputerowymi urządzeniami peryferyjnymi

SYSTEMY PRZEWODOWE

Kilka przewodowych systemów komunikacyjnych jest obecnie szeroko rozpowszechnionych. Wszystkie mogą obsługiwać protokoły wyższego poziomu, więc zaczniemy od warstw fizycznych.

Sieć telefoniczna

Do przesyłania danych można wykorzystywać powszechne systemy telefonów komórkowych, które można wykonać na kilka różnych sposobów:

•  Wybierane usługi Kilka firm (np. AOL) ma numery telefonów, które automat może połączyć z Internetem. Modemy są wymagane do obsługi połączeń z linią telefoniczną. Te modemy mają górny kraniec od 33 do 56 Kb / s. Maksymalna prędkość zazwyczaj zależy od jakości połączenia telefonicznego. Usługę można odmówić, jeśli linia jest zajęta.
•  Cyfrowa linia abonencka (DSL) Biorąc pod uwagę, że jeden przewód telefoniczny jest już dostępny W domu, firmy telefoniczne wykorzystują podział częstotliwości do umieszczenia sygnałów DSL na drucie. Ruch głosowy wykorzystuje częstotliwości poniżej 10 kHz (co najwyżej). Sygnały DSL zwykle wykorzystują ten sam przewód do przenoszenia sygnałów QAM z przepływnością około 1 Mb / s. Usługa jest ciągła iw dużej mierze oparta na Internecie. Usługa może zostać przerwana, jeśli robot nie będzie wykonywać połączenia komunikacyjnego od czasu do czasu. Firma telefoniczna odbiera adres IP robota, jeśli robot nie pracuje zbyt długo. Upewnij się, że robot jest aktywny, a następnie zachowuje swoją rezerwację IP (DHCP) w stanie nienaruszonym.

Sieci kablowe

Wiele domów ma również telewizję kablową wchodzącą do domu. Chociaż system kablowy był pierwotnie zaprojektowany jako system jednokierunkowy, wiele systemów kablowych ma teraz kanały zwrotne, które mogą przenosić informacje z domów do firmy kablowej. Standardem, z którego korzysta większość firm telewizji kablowej, jest Standardowy Interfejs Danych Strukturalnych (DOCSIS), który zapewnia dostęp do podziału czasu dla abonentów macierzystych. System kablowy jest systemem zamkniętym, więc warstwa fizyczna może być zastrzeżona. Sposoby modulacji stosowane są Quadrature Phase Shift Keying (QPSK), 16 QAM (powyżej) i 64 QAM (w dół), wsparte RS kodowania, jak omówiono wcześniej. Zasadniczo teoretycznie można kupić dowolny modem DOCSIS i używać go w systemie kablowym, ale nie zawsze tak jest. DOCSIS zapewnia prędkość transmisji danych do 56 Mb / s i prędkość przesyłania danych do 3 Mb / s. Jednak cała przepustowość danych musi być dzielona między wszystkich użytkowników (i informacja o sterowaniu pasmami bocznymi).

Lokalne sieci lokalne (LAN)

Jednym z najbardziej popularnych przewodowych systemów komunikacyjnych dla komputerów jest sieć LAN i Internet. Sieć LAN to metoda łączenia komputerów w budynku lub małym kampusie. Internet to sieć łącząca komputery na całym świecie. Najpierw przyjrzymy się fizycznej warstwie, a następnie omówimy podstawy niezbędne do zaplanowania połączenia LAN dla robota. Warstwa fizyczna Najpopularniejszą metodą łączenia się z siecią LAN jest Ethernet. Większość komputerów ma karty NIC lub połączenia, które mogą przyjmować złącza Ethernet przy prędkości transmisji danych 10BT / 100BT. 1000BT (i jego warianty) zapewnia 10-krotność przepustowości, ale na razie ją zignorujemy. Górny koniec powszechnie dostępnej przepustowości danych wynosi 100 Mb / s przy 100BT. Ale jak już wcześniej mówiliśmy, Ethernet LAN to system Aloha ze szczeliną bez zastrzeżeń. W związku z tym nieskoordynowany ruch zazwyczaj przekracza 18 procent nieprzetworzonej przepustowości sieci. Metodą transmisji są dane NRZ pasma podstawowego, jak omówiono wcześniej, ale trudną częścią nie jest warstwa fizyczna. Najtrudniejszą częścią korzystania z sieci LAN jest konfiguracja. Aby oswoić to, potrzeba eksperta System LAN, więc planuj intensywne konsultacje z personelem informatycznym przed podjęciem decyzji w sprawie sieci LAN dla robota. Przed ustawieniem zadadzą mnóstwo pytań do sieci LAN, aby robot mógł z niej korzystać. Dostarczą adres IP, którego potrzebuje robot funkcja, jak również łączność z innymi komputerami, których robot będzie musiał użyć adres. Ponadto mogą skonfigurować robota z innymi usługami, których może wymagać, na przykład e-mail i dostęp do Internetu. Przed obróceniem robota w sieci LAN musimy omówić kilka podstawowych kwestii. Książki wyjaśniające, jak skutecznie korzystać z sieci LAN, mają często tysiąc stron. Poniżej przedstawiono podstawowe fakty najczęściej używane w projektowaniu łącza komunikacyjnego LAN dla robota. Fakty te nie wyjaśniają w dostatecznym stopniu szczegółów dotyczących zakończenia inżynierii w łączu LAN, ale określają możliwości sieci LAN, aby można było zaplanować połączenie komunikacyjne robota.

Komunikacja TCP (bez błędów)

Jeśli wymagane są bezbłędne transfery danych, sesja danych w sieci LAN musi zostać skonfigurowana za pomocą połączenia przez gniazdo. Każdy komputer podłączony do sieci LAN (i Internetu) ma określony adres. Większość komunikacji będzie między robotem a konkretnym komputerem (punkt do punktu). Połączenie musi zostać najpierw nawiązane przed transferem. Większość systemów operacyjnych dla oprogramowania komputerowego ma stosy (wzorowane na stosie OSI), które pomagają w tworzeniu wszystkich wymaganych połączeń. Mimo, że oprogramowanie nie jest trudne do napisania, ma sens, aby doświadczony inżynier oprogramowania napisał oprogramowanie do komunikacji LAN. Jeśli niedoświadczona osoba napisze oprogramowanie, będzie miało błędy, które później spowodują poważne problemy. Programista wywoła stos oprogramowania, uzyska adres IP, nawiąże połączenie (nazywane gniazdem), przekaże wszystkie dane i zamknie gniazdo pod koniec sesji.

Protokół komunikacyjny bez protokołu UDP (User Datagram Protocol)

Czasami komunikacja bezbłędna nie jest wymagana. W rzeczywistości czasami jest to niemożliwe. Rozważ komunikację wideo. Ponieważ odbiorniki wideo wymagają stałego strumienia danych, w ogóle nie ma czasu na cofnięcie i ponowne przesłanie informacji w błąd. Zamiast tego ekran wideo po prostu zawiesza się na chwilę, aż pojawiają się nowe dane. Komputer wysyłający nie musi z góry nawiązywać połączenia. Może po prostu określić adres IP komputera odbierającego i rozpocząć transmisję. Komputer odbiorczy nie musi w ogóle wysyłać sygnałów.

Nadawanie

W rzeczywistości, jeśli adresy IP są skonfigurowane poprawnie, wiele komputerów może odbierać przesyłane dane (zwane również datagramami UDP) w tym samym czasie. Ta technika nazywa się rozgłaszaniem i jest przydatnym sposobem na uzyskanie informacji. Komputer wysyłający może zapytać przez nadawanie UDP, na przykład, jeśli jakikolwiek inny komputer ma określone informacje. Komputery, które chcą odpowiedzieć, mogą ustanowić połączenie TCP w celu udzielenia odpowiedzi prywatnie Jedynym ograniczeniem emisji jest to, że ma tendencję do zatrzymywania się na granicach sieci LAN. Transmisja danych nie może być dozwolona w Internecie, ponieważ spowodowałaby zalanie systemu. Transmisje UDP muszą być przechowywane w sieci LAN innej niż UDP. Transmisje do wielu lokalizacji w Internecie są często konfigurowane w serwerze przy użyciu wielu połączeń punkt-punkt i równoczesnych transmisji tych samych danych. Uważaj na kilka rzeczy podczas korzystania z komunikacji UDP. Przede wszystkim dane nie będą wolne od błędów. Po drugie, pakiety mogą nie dotrzeć nawet we właściwej kolejności. TCP dba o takie rzeczy. W komunikacji UDP, jeśli takie rzeczy są ważne, muszą być załatwiane w oprogramowaniu napisanym dla robota. Okej, byłeś tak cierpliwy, ucząc się technik komunikacyjnych, że zasługujesz na nagrodę lub dwie za osiągnięcie tak daleko.