Úvod
V oblasti počítačových komunikací občas dochází k různým nedorozuměním, zklamáním a nenaplněným očekáváním, která mají jednu společnou příčinu: nepochopení zákonitostí, určujících možnosti a limity datových přenosů. Tedy například nepochopení toho, jak dostupná šířka přenosového pásma souvisí se schopností přenášet data, či nedocenění rozdílu mezi nominální přenosovou rychlostí a skutečným přenosovým výkonem apod. A právě o takovýchto věcech bude dnes začínající modul.
Problematika datových přenosů je do značné míry technickou záležitostí, vyžadující nemalé znalosti různých vědních disciplín, od obecné fyziky, přes elektrotechniku, až třeba po základy teorie informace. V tomto modulu nám však půjde spíše o určitý nadhled, který třeba nedokáže poskytnout exaktní zdůvodnění určité skutečnosti či její vyčerpávající a formálně přesný popis, ale na druhé straně může poskytnout „povědomí" o tom, že určité věci vzájemně souvisí, vzájemně se ovlivňují, a když v některé z nich dojde k určité změně, projeví se to takovým a takovým způsobem na místě jiném. Při budování takovéhoto „nadhledu" nám samozřejmě půjde i o seznámení s hranicemi a limity, které ve světě datových přenosů existují. Například s tím, že když mám k dispozici běžnou komutovanou telefonní linku, mohu z ní „vyždímat" maximálně kolem 30 kilobitů za sekundu, ale více rozhodně ne. Nebo že když klasický Ethernet „běhá" na 10 megabitech za sekundu, neznamená to že například za jednu minutu dokáže přenést 60 x 10 megabitů, alias 75 megabytů užitečných dat (ale pouze o dost méně).
Také si řekneme, co doopravdy znamená digitální a analogový přenos, jaký je skutečný rozdíl mezi nimi, a proč se dnes tak mohutně přechází z „analogového" na „digitální". Pak si naznačíme i to, jaké jsou základní vlastnosti drátových i bezdrátových přenosových cest, jaké přenosové rychlosti je možné na nich dosahovat, a jaké další vlastnosti vyplývají z jejich samotné podstaty. Nejprve se ale musíme seznámit s několika velmi zásadními fakty.
Nic není dokonalé
Klíčem k pochopení mnoha důležitých skutečností je připuštění faktu, že nic není dokonalé. Platí to nejen pro lidi, ale i pro všechny přenosové cesty, které jsou k dispozici a připadají v úvahu pro přenos dat. Každá z nich totiž nějakým způsobem ovlivňuje to, co se po ní přenáší - tedy každý signál, který může být reprezentován například úrovní napětí, velikostí proudu, přítomností světla apod. Každý takovýto signál je při přenosu po přenosové cestě nějakým způsobem zkreslen, deformován či jinak změněn, a otázkou je pouze to, jaká je míra těchto změn a jak významná je výsledná deformace signálu. Ukažme si to na příkladu drátové přenosové cesty a signálu elektrické povahy, reprezentovaného například napětím:
Pokud bychom na chvíli připustili, že existuje ideální přenosová cesta (která žádným způsobem neovlivňuje přenášený signál), a na její vstup přivedli signál ideálního obdélníkového průběhu, pak bychom na výstupu mohli „odebírat" signál přesně stejného průběhu („tvaru" i „velikosti") . Ve skutečnosti ale každá drátová přenosová cesta klade přenášenému el. signálu určitý odpor, který sice nedeformuje průběh (tvar) signálu, ale zmenšuje jeho amplitudu („velikost", viz prostřední část obrázku, vliv odporu R). Současně s tím se ale každá přenosová cesta chová i jako kapacita a indukčnost (v zapojení dle spodní části obrázku), a jako taková zase působí na přenášený signál jiným způsobem - možná si ještě vzpomenete na poučky ze středoškolské fyziky, že kapacita i indukčnost působí proti změnám přenášeného signálu, v tom smyslu že se snaží je „zahladit" (kompenzovat) jejich momentální účinek. To u našeho obdélníkového impulsu znamená, že kapacita a indukčnost bude zaoblovat hrany (viz spodní část obrázku), a místo ideálního obdélníkového průběhu dostaneme na výstupu signál „pozvolnější" a „kulatější".
Konkrétní míra zaoblení (zkreslení) i zmenšení amplitudy (tzv. útlumu) samozřejmě závisí na tom, jak dalece (resp. do jaké míry) se daná přenosová cesta chová jako kapacita i indukčnost, a jaký odpor klade přenášenému signálu. Obecně to samozřejmě závisí na druhu a provedení konkrétní přenosové cesty (například kroucená dvoulinka, alias twist, má jiné obvodové vlastnosti než třeba koaxiální kabel). Kromě toho ale míra útlumu a zkreslení závisí i na délce přenosové cesty, a to většinou přímo úměrně - čím delší je přenosová cesta, tím více je přenášený signál utlumen a zkreslen různým zaoblováním hran a dalšími vlivy (o kterých jsme si ještě nepovídali). Podstatný je pak i celkový účinek zkreslení - čím pomalejší budou změny přenášeného signálu, tím menší prostor ke svému „uplatnění" budou mít zdroje zkreslení. Lze to snadno dokázat i při našem značně intuitivním pohledu: bude-li snaha přenosové cesty zaoblovat hrany stále stejně silná, pak čím širší budou „obdélníky" přenášeného signálu, tím menší celkové změny vyvolá vznikající zaoblení jejich hran. Při dostatečně širokých „obdélnících" (dostatečně pomalu se měnícím signálu) může být vliv zaoblení hran zcela zanedbatelný, a naopak při hodně úzkých „obdélnících" (rychle se měnícím signálu) může být vliv zaoblení tak velký, že na straně příjemce již nebude možné s dostatečnou přesností rozpoznat, jaký byl průběh původně vyslaného signálu.
Co je šířka pásma?Pokusme se nyní odvodit ještě jeden velmi důležitý závěr z dnešního obrázku, konkrétně z jeho nejspodnější části. Ta nám totiž dává tušit, že díky svým reálným obvodovým vlastnostem (zejména vlivu kapacity C a indukčnosti L) budou přenosové cesty „nejlépe" (s nejmenším zkreslením) přenášet takové signály, které mají co možná nejpozvolnější změny - tedy signály již samy od sebe „zaoblené", konkrétně signály sinusového či kosinusového průběhu, charakteristické svou frekvencí (resp. periodou). Takovýmto signálům se také říká „harmonické". Jak si již příště naznačíme, lze každý alespoň trochu rozumný signál (například i náš signál obdélníkového průběhu) namodelovat (sestavit) z takovýchto dílčích harmonických složek.
Lze ale i pro takovéto harmonické signály (signály harmonického průběhu) vyslovit nějaké obecné tvrzení o tom, jak dobře či špatně je přenáší jednotlivé přenosové cesty? Samozřejmě to velmi závisí na konkrétní přenosové cestě a na frekvenci harmonických signálů, ale obecně lze vyslovit následující závěr: pro každou přenosovou cestu existuje jistá minimální frekvence fmin taková, že signály s frekvencí nižší již nemá smysl skrz tuto cestu přenášet (protože jejich „poškození" vlivem útlumu, zkreslení i dalších deformací by bylo neúnosně velké). Podobně existuje i maximální frekvence fmax taková, že signály s frekvencí vyšší již také nemá smysl přenášet.
Harmonické signály, která daná přenosová cesta přenáší s přijatelnou „kvalitou", pak musí spadat do intervalu frekvencí od fmin do fmax. Rozdíl obou frekvencí fmax - fmin, chápaný jako skalární (tj. jednorozměrná) veličina a měřený v jednotkách frekvence (Hz, Hertz) se pak označuje jako šířka přenosového pásma (anglicky: bandwidth). Vyjadřuje schopnost dané přenosové cesty přenášet harmonické signály, a ve svém důsledku předurčuje i její schopnost přenášet jakýkoli signál, včetně signálu reprezentujícího nějaká binární data. Šířka pásma je tedy velmi důležitým parametrem, určujícím schopnost dané přenosové cesty přenášet data. Ovšem jaká je konkrétní (kvantitativní) závislost mezi šířkou přenosového pásma a schopností přenášet data, to už si necháme na příště.
Vliv šířky pásmaJak jsme si již naznačili minule, míra schopnosti přenášet data závisí u všech přenosových cest na šířce přenosového pásma, neboli na velikostí intervalu mezi nejnižší a nejvyšší frekvencí, které je daná přenosová cesta schopna přenést v dostatečné kvalitě. Jaká ale je konkrétní závislost mezi šířkou pásma a schopností přenášet data, a jaké další faktory zde ještě vstupují do hry?
Hledání odpovědi na otázku v dnešním podtitulku začneme malou úvahou, která nám pomůže pochopit některé velmi důležité skutečnosti a souvislosti. Ona úvaha je následující: co kdybychom skrz určitou přenosovou cestu zkoušeli přenášet elektrický signál takovým způsobem, že bychom vždy po určitou dobu (i třeba hodně krátkou, například tisícinu sekundy) neměnili úroveň napětí tohoto signálu, pak jej co nejrychleji změnili, a zase po zmíněnou dobu vysílali beze změny a vše opakovali dokola. Kdyby příjemce o našem počínání věděl, mohl by ve zmíněných časových intervalech kdy se signál nemění změřit hodnotu jeho napětí, a z té si pak odvodit co jsme mu vlastně vysílali, resp. zrekonstruovat původně vysílaný signál. Fakticky by to znamenalo, že bychom se snažili přenášet signál ideálního obdélníkového průběhu, a například jeho vyšší úroveň by mohla reprezentovat logickou jedničku, a nižší úroveň logickou nulu. Pokud by příjemce dokázal správě rozpoznat naše „obdélníky", dokázal by si z nich odvodit jaká binární data mu posíláme.
Již z předchozího dílu ale víme, že skutečné přenosové cesty nejsou nikdy ideální, ale že mají určité reálné obvodové vlastnosti, které více či méně „kazí" přenášený signál. I když pak budeme z jedné strany vysílat ideální obdélníky, příjemce vždy dostane něco jiného, „ne-ideálního". Zkusme si nejprve ukázat, jak souvisí šířka přenosového pásma s mírou „pokažení" našich ideálních obdélníčků.
Abychom si tuto souvislost mohli názorně vysvětlit, vzpomeneme si ještě na jeden důležitý poznatek z minulého dílu - totiž na konstatování, že prakticky libovolný signál je možné namodelovat (složit) ze signálů harmonických (tj. pravidelně se měnících signálů se sinusovým či kosinusovým průběhem).
Tedy nahradit jej součtem celé řady harmonických signálů (obecně jich bude nekonečně mnoho, jejich frekvence budou růst skokovitě jako celistvé násobky určité výchozí hodnoty, a dohromady budou tvořit tzv. Fourierovu řadu, resp. Fourierův rozvoj). Tento fakt, na který přišel již v 19. století francouzský matematik Jean-Baptiste Fourier, nám pomůže následovně: nevíme sice, jaký vliv má šířka pásma na náš obdélníkový signál, ale víme jaký vliv má na zmíněné harmonické signály - ty, jejichž frekvence spadají do příslušného intervalu (šířky pásma), přenáší při našem intuitivním pohledu bez významnějšího zkreslení, zatímco ostatní harmonické signály (ležící mimo interval představující šířku přenosového pásma) nepropustí vůbec. Chceme-li se proto dozvědět, jak zapůsobí šířka přenosového pásma na náš obdélníkový impuls, musíme jej nejprve pomyslně nahradit jeho Fourierovým rozvojem, zjistit jaký vliv má omezená šířka přenosového pásma na jednotlivé složky tohoto rozvoje, a pak výsledný efekt zase „poskládat zpátky".
Celou situaci názorně ukazují dnešní dva obrázky - čím větší bude šířka přenosového pásma, tím více harmonických složek skrz přenosovou cestu projde (viz první obrázek), a jejich zpětným „poskládáním" pak vznikne o to věrnější podoba původního obdélníkového signálu (viz druhý obrázek). Neboli: čím větší šířka pásma, tím kvalitnější a věrnější svému originálu bude přenesený signál.
Analogový a digitální přenos
Nás ovšem v tuto chvíli nezajímá ani tak signál samotný, jako spíše to co reprezentuje. Pokud jsme obdélníkové impulsy generovali podle určité posloupnosti bitů, pak jistě budeme požadovat, aby příjemce dokázal z přijatého signálu zpětně odvodit, jaké bity to byly. Zde přitom narážíme na základní rozdíl mezi analogovým přenosem a přenosem digitálním - v případě analogového přenosu bychom přenášeli určitou konkrétní hodnotu, podle které bychom nejspíše nastavili úroveň napětí přenášeného signálu, a pak bychom chtěli aby se cestou k příjemci tato hodnota moc nezměnila a příjemce ji dokázal změřit s přijatelně malou chybou. Nepodaří se mu to nikdy úplně přesně, protože kvůli reálným obvodovým vlastnostem přenosových cest něco takového prostě není možné. Nám zde ale jde o přenos digitální. Tedy o to, aby příjemce dokázal podle přijímaného signálu rozlišit jednu z tolika alternativ, které připadají v úvahu - a které jsme v tomto konkrétním případě reprezentovali úrovní napětí přenášeného signálu. Pokud jsme se s příjemcem dohodli například na tom, že alternativy budou právě dvě, a jedna z nich bude reprezentována napětím nižším než 0,1 V (například) a druhá napětím vyšším, pak nám může být vcelku jedno, že během přenosu došlo v určitém okamžiku vlivem útlumu k poklesu napětí ze 3 voltů na 2 (například). Pokud to zůstane v toleranci, která rozlišuje obě alternativy, dokáže příjemce správně rozpoznat co jsme měli na mysli a s absolutní přesností zrekonstruovat přenášený údaj. Už chápete, v čem je skutečný rozdíl mezi analogovým a digitálním přenosem? V interpretaci! V obou případech protéká přenosovou cestou signál o určitém napětí, ale jednou nám jde o konkrétní hodnotu tohoto napětí (a ta je vždy zatížena určitou chybou), zatímco v druhém případě nám jde o to, abychom se podle hodnoty signálu dokázali správně rozhodnout (o tom, která z možných variant nastala).
Podívejme se na celou věc ještě z jiného pohledu: analogový přenos není ideální. Je vždy zatížen určitou chybou, a čím více budeme chtít tuto chybu zmenšovat, tím technicky (i finančně) náročnější bude toho dosáhnout. Naproti tomu digitální přenos může být ideální a absolutní v tom smyslu, že příjemce dokáže přenášená (digitální) data zrekonstruovat naprosto přesně, a to i v případě, že byla přenášena prostřednictvím analogového signálu který se po cestě mohl i dosti „pokazit". Podstatné a důležité je pouze to, aby příjemce dokázal i z deformovaného signálu správně rozpoznat, co má reprezentovat.
Nyquistovo kritériumJak jsme si již odvodili výše, má na „pokažení" signálu vliv především šířka přenosového pásma, skrz které byl signál přenášen. Ale do jaké míry? Existuje nějaký vztah, který by dokázal určit kdy už bude přenášený signál natolik „pokažený" že z něj nepůjde věrohodně poznat, co měl reprezentovat? Navíc vztah obecný, který by se netýkal jen jednoho specifického případu, jakým jsou námi použité obdélníkové impulsy?
Takovýto vztah skutečně existuje, a přišel na něj již v roce 1924 pan Henry Nyquist. Zjistil, že když se jakýkoli signál prožene skrz pásmovou propusť (filtr) šířky H (která ořeže všechny složky o frekvenci vyšší než H), pak je nutné snímat stav přijímaného signálu alespoň dvojnásobnou rychlostí (neboli s frekvencí 2H), aby z něj bylo „vyždímáno" vše, co může reprezentovat. Současně s tím pan Nyquist přišel i na to, že snímat stav přijímaného signálu rychleji nemá smysl, protože veškerou další informaci (kterou mohly přispět vyšší harmonické složky) již odřezala zmíněná pásmová propusť.
Závěr z tohoto zjištění (kterému se také říká Nyquistovo kritérium) je následující: je-li k dispozici přenosová cesta s šířkou pásma H, a je-li touto přenosovou cestou přenášen jakýkoli signál který některým svým parametrem rozlišuje mezi několika možnými alternativami, pak nemá smysl střídat tyto alternativy rychleji než s frekvencí 2H (neboli 2H-krát za sekundu). Například je-li k dispozici přenosový kanál o šířce pásma 4000H, pak nemá smysl „hýbat s ním" rychleji než 8000x za sekundu.
Je ale Nyquistovo kritérium odpovědí na otázku v podtitulku dnešního dílu? Říká nám, kolik bitů, kilobitů či megabitů můžeme přenést po přenosové cestě s určitou šířkou přenosového pásma? Pozor, ještě ne! Budeme tedy muset pokračovat příště.
Modulační a přenosová rychlostV minulém dílu jsme si naznačili, jaký vliv má šířka přenosového pásma na kvalitu přenášeného signálu. Dospěli jsme také k tomu, jak často je nutné snímat vzorky přenášeného signálu, abychom dokázali rozpoznat maximum z jeho „datového obsahu". Dnes se začneme zabývat tím, jak velký může takovýto „datový obsah" být.
Vraťme se ale ještě jednou k tomu, čím jsme se zabývali minule a předminule: k reálným obvodovým vlastnostem skutečných přenosových cest. Z toho, že tyto přenosové cesty nikdy nejsou ideální vyplývá, že vždy nějakým způsobem „kazí" přenášený signál. Nejinak tomu bylo i v případě našich „obdélníčků" (signálů obdélníkového průběhu), na kterých jsme si ukazovali jaký vliv má jeden z bezprostředních důsledků „ne-ideálnosti" přenosových cest, spočívající v existenci omezené šířky přenosového pásma. V praxi tento vliv „ne-ideálnosti" navíc není stejnoměrný, a signály různého průběhu jsou „kaženy" různě. Například námi zvolené signály obdélníkového průběhu jsou při velmi úzkém přenosovém pásmu zkreslovány mnohem více, než signály měnící se pozvolněji.
Obecné ponaučení, které bychom si z právě naznačených skutečností měli odnést, je následující: jestliže konkrétní přenosové cesty přenáší některé signály lépe a jiné hůře (s větším „pokažením"), pak je rozumné volit takové signály, které daná přenosová cesta přenáší nejlépe. Jaké konkrétní signály to jsou (co do průběhu, amplitudy, frekvence atd.), to je samozřejmě velmi závislé na povaze konkrétní přenosové cesty, ale nejčastěji to jsou signály harmonického průběhu (tj. takové, které svým průběhem připomínají sinusovku či kosinusovku).
Přenos v základním a přeloženém pásmuPokud se nám i přes nepříznivý vliv reálných obvodových vlastností přenosových cest daří přenášet takové signály, které svým průběhem dokáží přímo a bezprostředně reprezentovat binární data - tedy například naše obdélníkové impulsy, vytvářené skokovitými změnami napětí - pak jde o tzv. přenos v základním pásmu (baseband transmission). Šlo by jej charakterizovat také tak, že zde nebylo nutné dělat příliš velké ústupky vlastnostem přenosové cesty, a díky tomu může být přenášen takový signál, jehož zpracování (generování, detekce, ale hlavně rozpoznání toho co reprezentuje) je relativně jednoduché a přímočaré. Například naše „obdélníčky" mohou odpovídat přenášeným datovým bitům stylem 1:1. Dalším charakteristickým rysem přenosů v základním pásmu je to, že plně obsazují dostupný přenosový kanál (resp. spotřebovávají celou dostupnou šířku přenosového pásma), a stejným kanálem tudíž nemůže být souběžně přenášeno cokoli jiného.
Přenosy v základním pásmu jsou většinou možné jen na relativně malé vzdálenosti, kde se reálné obvodové vlastnosti přenosových cest ještě tolik neprojevují - například tedy v koaxiálních kabelech či kroucené dvoulince v rámci lokálních sítí. Naproti tomu na větší vzdálenosti je vliv reálných obvodových vlastností již natolik silný, že je nutné mnohem více přizpůsobit přenášený signál tomu, co daná přenosová cesta přenáší nejlépe. Zde se pak hovoří o přenosu v přeloženém pásmu (broadband transmission). „Přeloženém" proto, že nejčastěji jde o takový signál, který je frekvenčně „posazen"(nebo: přesazen, přeložen) do jiné polohy, než jaká by odpovídala přenosu v základním pásmu.
Například běžné komutované linky veřejné telefonní sítě mají přenosové pásmo od 300 do 3400 Hz, a nejsou tedy schopné přenášet tzv. stejnosměrnou složku (neboli takový signál, který nemění svůj průběh v čase). Z našich obdélníkových napěťových impulzů (pokud bychom se i zde pokoušeli o přenos v základním pásmu) by na druhé straně byly hodně deformované „vlnky", a jejich deformace by byla ještě mnohem větší, pokud by se nám naše obdélníčky protáhly do šířky (kdybychom přenášeli posloupnosti nul nebo naopak posloupnosti jedniček). Komutovanou linkou veřejné telefonní sítě o zmíněné šířce přenosového pásma (300 až 3400 Hz) budou naopak nejlépe procházet signály harmonického (tj. sinusového, resp. kosinusového) průběhu, o frekvenci v rozmezí od 300 do 3400 Hz.
Podstata modulacePři přenosech v přeloženém pásmu je relativně těžší (oproti přenosům v základním pásmu) měnit skutečně přenášený signál takovým způsobem, aby dostatečně věrně reprezentoval přenášená binární data. Řečeno jinak, v případě přenosu v přeloženém pásmu je těžší „nabalit" binární data na skutečně přenášený signál, který je ve své podstatě signálem analogovým. Příslušné „nabalování" je označováno jako modulace - binární data jsou „namodulována" na analogový signál, resp. analogový signál je modulován podle přenášených binárních dat. Konkrétních možností jak takovéto modulace dosáhnout je celá řada, jejich použití je ale samozřejmě vázáno na to, aby příjemce měl možnost rozpoznat relevantní změny a provést inverzní činnost, tzv. demodulaci. Tedy „sejmout" z přijatého analogového signálu jeho „binární náklad", resp. podle modulace přijímaného signálu zpětně generovat binární data, která mu byla vyslána.
Konkrétním technikám modulace nejspíše věnujeme samostatný díl tohoto seriálu. Dnes si pro názornost naznačme alespoň ty nejzákladnější možnosti. Ukazuje je dnešní obrázek: vzoreček na tomto obrázku je nejjednodušším vyjádřením signálu harmonického průběhu, a má tři parametry: amplitudu A, úhlovou rychlost omega (která je přímo úměrná frekvenci), a tzv. fázové posunutí fi. Budeme-li měnit vždy jeden z těchto parametrů, dostaneme po řadě amplitudovou, frekvenční a fázovou modulaci (viz obrázek). V praxi se pak tyto základní způsoby modulace vzájemně kombinují, ale o tom skutečně až příště.
Modulační rychlostZastavme se nyní u jedné velmi zajímavé otázky: jak často si můžeme dovolit měnit průběh přenášeného signálu při přenosech v přeloženém pásmu? Neboli: jak rychle (resp. jak často) můžeme „hýbat" s parametry přenášeného signálu, které v rámci používané modulace měníme? Omezujícím kritériem je samozřejmě to, aby příjemce na druhé straně dokázal tyto změny dostatečně spolehlivě detekovat. Formálně se přitom ptáme na tzv. modulační rychlost (modulation speed, někdy též: Baud rate), která vyjadřuje počet změn za sekundu, a měří se v jednotkám zvaných Baud (zkratkou Bd).
Odpověď na tuto otázku zazněla již v minulém dílu, jako tzv. Nyquistovo kritérium. To nám říká, že ani při snaze o maximální „vyždímání" přenášeného signálu nemá smysl jej vzorkovat rychleji než dvakrát za každou jeho periodu, neboli rychlostí číselně dvojnásobnou oproti dostupné šířce přenosového pásma. Odsud pak můžeme stanovit jednoduchý vzoreček pro maximální možnou modulační rychlost:
vmodulační=2 * šířka pásma
Povšimněme si hned jedné zajímavé a důležité vlastnosti: maximální dosažitelná modulační rychlost závisí pouze na dostupné šířce přenosového pásma, a nikoli na konkrétní použité modulaci.
Přenosová rychlost
Modulační rychlost, měřená v Baudech, stále ještě neposkytuje věrohodný obrázek o míře schopnosti určité přenosové cesty přenášet data. Jestliže na určité konkrétní přenosové cestě lze dosáhnout modulační rychlosti například 600 Baudů, kolik bitů lze přes ni přenést třeba za jednu sekundu? Zapamatujme si dobře, že na takto položenou otázku nelze odpovědět!!!
Záleží totiž na tom, kolik různých alternativ reprezentuje jedna změna skutečně přenášeného signálu. Neboli: když v rámci modulace měníme (skokem) některý z parametrů přenášeného signálu, z kolika možných hodnot volíme? Pokud jen ze dvou, pak každá z nich může reprezentovat jednu binární číslici (jednu 0 či 1), a pak platí „co změna to jeden bit". Pokud ale volíme ze čtyř možností, pak každá může reprezentovat dvojici binárních číslic, a pak by platilo „co změna, to dva bity", a stejně tak bychom mohli pokračovat dále. Obecně pak platí, že počet bitů reprezentovaných („nesených") jednou změnou přenášeného signálu je dvojkový logaritmus počtu možných stavů (možností).
Věrohodnější obrázek o schopnosti konkrétní přenosové cesty přenášet data poskytuje až tzv. přenosová rychlost, měřená v bitech za sekundu. Předchozí úvaha nás opravňuje formulovat následující vzoreček, vyjadřující konkrétní závislost mezi modulační rychlostí a přenosovou rychlostí:
vpřenosová=vmodulační * log2(n)
kde n je zmíněný počet možných stavů přenášeného signálu.
Přenosová rychlost V závěru minulého dílu jsme dospěli k představě tzv. přenosové rychlosti. Jde o veličinu, která již poměrně věrně vystihuje schopnost určité konkrétní cesty přenášet data. Dnes si pojem přenosové rychlosti upřesníme, ukážeme si jaká omezení nám v praxi brání zvyšovat přenosovou rychlost tak, jak bychom mohli chtít.
Nejprve se ale znovu vraťme k závěru minulého dílu, ve kterém jsme dospěli k velmi důležitému závěru: tzv. modulační rychlost, měřená v Baudech a vyjadřující počet změn přenášeného signálu za jednotku času, nám ještě neříká nic o tom, kolik bitů je tímto signálem přenášeno. Naproti tomu přenosová rychlost, měřená v bitech za sekundu, nám říká kolik datových bitů je možné přenést za časovou jednotku, a naopak nevypovídá nic o způsobu jakým se toho dosahuje, neboli o četnosti změn přenášeného signálu. Mezi oběma veličinami přitom zdaleka nemusí platit rovnost - pokud se na vyjádření jednoho datového bitu „spotřebují" dvě změny přenášeného signálu (což je dáno použitým způsobem kódování jednotlivých bitů), pak přenosová rychlost vychází číselně poloviční oproti rychlosti modulační. Naopak, pokud jedna změna přenášeného signálu je změnou mezi čtyřmi možnými stavy, pak každá takováto změna může reprezentovat hned dva datové bity, a přenosová rychlost bude tudíž dvojnásobná oproti rychlosti přenosové. Obě rychlosti se přitom číselně rovnají pouze v případě, kdy je přenášený signál pouze dvoustavový, a každá jeho změna tak reprezentuje jeden jediný datový bit. Obecně pak platí vztah, který jsme si již také uvedli v závěru minulého dílu:
vpřenosová=vmodulační * log2(n)
kde n je počet vzájemně rozlišitelných stavů, které může přenášený signál nabývat.
Rozdíl mezi modulační a přenosovou rychlostí je nejmarkantnější u dnešních telefonních modemů. Ty totiž používají často dosti složité a komplikované metody modulace a kódování, díky tomu dokáží pracovat s relativně velkým počtem možných stavů přenášeného signálu, a svých přenosových rychlostí tudíž dosahují i při relativně nízkých modulačních rychlostech. Na druhou stranu jim jiné řešení nezbývá, protože mají k dispozici přenosový kanál s pevně danou šířkou přenosového pásma (300 až 3400 Hz, neboli 3,1 kHz), a podle Nyquistova kritéria (viz minule) na něm nemá smysl používat vyšší modulační rychlost než 6200 Baudů (tj. číselně dvojnásobnou oproti šířce pásma). V praxi jsou ale stejně používány ještě nižší modulační rychlosti, jak ukazuje dnešní tabulka. Z ní vidíme, že například modem s přenosovou rychlostí 14,4 kilobitů za sekundu pracuje se signálem, který se mění 2400-krát za sekundu (tj. má modulační rychlost 2400 Bd), přičemž tento signál může nabývat celkem n=26neboli 64 různých hodnot, a jedna změna tohoto signálu tudíž reprezentuje šest bitů.
A ještě jednu poznámku: kdyby vám někdo nabízel modem s přenosovou rychlostí například 2400 Baudů, obraťte se k němu zády. Plete si totiž hrušky a jablka.
Přenosová rychlost, v bitech za sekundu
Modulační rychlost, v Baudechn - počet rozlišovaných stavů přenášeného signálulog2(n) - počet bitů, reprezentovaných jednou změnou přenášeného signáluoznačení přenosového standardu
Shannonův teorémZamysleme se nyní nad jednou velmi důležitou otázkou, která je zvláště aktuální u komutovaných (vytáčených) linek veřejné telefonní sítě: máme-li k dispozici určitou přenosovou cestu s jejími konkrétními a neměnnými obvodovými vlastnostmi, můžeme na ní dosáhnout libovolně vysoké přenosové rychlosti? Neboli, řečeno jinými slovy: budeme-li zdokonalovat technickou stránku přenosu a díky tomu zvyšovat přenosovou rychlost na určité přenosové cestě, budeme to moci dělat libovolně dlouho, nebo někde narazíme na nějakou z principu nepřekonatelnou bariéru? Nebo ještě jinak: když dnes existují modemy pro komutované linky veřejné telefonní sítě pracující s přenosovou rychlostí 28,8 kilobitů za sekundu, má smysl ještě chvíli počkat, až se na trhu objeví třeba modemy s rychlostí 64 kbps, 128 kbps apod.?
Odpověď začneme hledat vzorečcích a vztazích, které jsme si již dříve naznačili: jestliže maximální modulační rychlost je podle Nyqistova kritéria dvojnásobná oproti dostupné šířce přenosového pásma, a tato šířka přenosového pásma je pro danou přenosovou cestu fixována (je neměnná), pak z toho jednoduše vyplývá, že modulační rychlost nelze libovolně dlouho zvyšovat (a její maximální hodnota je také pevně dána). Jestliže přenosová rychlost závisí na modulační rychlosti podle dnes již jednou uvedeného vzorečku
vpřenosová=vmodulační * log2(n)
pak poslední možností pro zvyšování přenosové rychlosti je zvyšování parametru n, neboli zvyšování počtu rozlišovaných stavů přenášeného signálu. Výsledná přenosová rychlost by při lineárním zvyšováním n sice rostla pomaleji (logaritmicky), ale přesto bychom se při dostatečně vysoké hodnotě n mohli dostat s přenosovou rychlostí tak vysoko, jak potřebujeme.
Podívejme se ale na tuto možnost nejprve obyčejným „selským rozumem": budeme-li zvyšovat počet možných stavů přenášeného signálu, bude čím dál tím těžší je správně rozpoznat, resp. rozlišit od sebe. Intuitivně je tedy vcelku zřejmé, že něco takového nemůžeme dělat libovolně dlouho, ale že dříve či později narazíme na mez, za kterou už příjemce nebude schopen dostatečně přesně rozlišit stavy přijímaného signálu.
Zajímavou otázkou ovšem je, zda tato mez je dána našimi momentálními schopnostmi, resp. dokonalostí přenosové techniky a je možné očekávat její postupné posouvání, nebo zda jde o mez závislou na něčem jiném, co nemá s dokonalostí dostupné techniky nic společného (a co se tudíž nemusí posunout ani při sebedokonalejší technice).
Odpověď je (bohužel) taková, že zmíněná hranice je principiálního charakteru, a je nezávislá na dokonalosti naší techniky a technologie. Jinými slovy: i kdyby se výrobci modemů snažili sebevíce, přes onu magickou hranici se nikdy nedostanou.
Ale kde ona hranice leží? Tím, kdo tuto hranici nalezl (v roce 1948), byl zakladatel moderní teorie informace, pan Claude Shannon. Ten totiž zjistil, že maximální dosažitelná přenosová rychlost závisí jednak na dostupné šířce přenosového pásma (což je ihned zřejmé), ale pak už jen na „kvalitě" přenášeného signálu, vyjádřené tím jak dobře jej lze odlišit od nepříznivých vlivů, zejména všudypřítomného šumu. Konkrétní vzoreček závislosti přenosové rychlosti na uvedených veličinách, označovaný také jako tzv. Shannonův teorém, je následující:
maximální vpřenosová=šířka pásma * log2(1 + signál/šum)
Přitom poměr „signál/šum" (též: odstup signálu od šumu) je veličina, která je opět dána reálnými obvodovými vlastnostmi konkrétní přenosové cesty, a v praxi většinou není možné ji výrazněji ovlivnit (vyjadřuje totiž míru toho, jak se do „užitečného" signálu přimíchávají jiné signály rušivého charakteru). Například kvalitní komutovaná linka analogové veřejné telefonní sítě dosahuje odstupu signál/šum 1000:1. Dosazením této hodnoty do Shannonova vzorečku (spolu s šířkou přenosového pásma 3,1 kHz) nám vyjde, že maximální dosažitelná přenosová rychlost na běžných komutovaných linkách veřejné telefonní sítě je kolem 30 000 bitů za sekundu!!
Kupte si perpetuum mobile!
Uvědomme si dobře, co právě vyslovené tvrzení znamená: Shannonův teorém je zcela nezávislý na technické dokonalosti - nenajdete v něm ani vliv použité modulace, ani vliv použitého kódování. To ale znamená, že sebedokonalejší technika přenosu dat nemůže při pevně dané šířce pásma a kvalitě přenosu (dané odstupem signálu od šumu) překročit mez danou Shannonovým teorémem. Snahy překonat tuto mez pak mají stejnou šanci na úspěch, jako snahy sestrojit perpetuum mobile.
Jaká je ale současná praxe v oblasti telefonních modemů pro komutované linky veřejné telefonní sítě? Dnes již existují (a jsou běžně k dostání) modemy pro přenosovou rychlost 28,8 kbps, které se teoretické hranici vyplývající z Shannonova teorému velmi blíží. Svědčí to mimo jiné i o vyspělosti naší současné techniky.
Na trhu však již dnes jsou i modemy, dosahující přenosové rychlosti 33 kilobitů, což je nad hranicí danou Shannonovým teorémem (a nejde přitom o podvod). Podařilo se tedy zkonstruovat perpetuum mobile, resp. vyvrátit Shannonův teorém?
Nikoli, to skutečně nejde. Zmíněné modemy pro 33 kbps plně respektují Shannonův teorém, neboť používají o něco větší šířku pásma než původních 3,1 kHz. Dokáží totiž využít i okrajové části přenosového spektra běžných komutovaných linek veřejné telefonní sítě (viz obrázek), které již mají natolik špatné přenosové vlastnosti, že pro ostatní modemy nejsou použitelné - vlastně si tím dokáží „roztáhnout" původní přenosové pásmo o šířce 3,1 kHz.
Přenosový výkon Přenosová rychlost, kterou jsme se zabývali v předchozích dílech tohoto modulu, je veličinou která říká velmi mnoho o schopnostech konkrétní přenosové cesty přenášet data. V praxi je ovšem nutné mít na paměti, že jde o veličinu nominálního charakteru, která ještě nemusí vypovídat příliš přesně o tom, jaké objemy dokáže příslušná přenosová cesta přenést za delší časové období.
Jeden otřelý počítačový vtip, pocházející ještě z dob sálové prehistorie, říká že není důležité kolik instrukcí vykoná určitý počítač resp. procesor za sekundu, ale že skutečně důležité je to, kolik jich udělá za týden, měsíc či rok. Pointa spočívá v tom, že při provozu počítače může docházet k všelijakým výpadků, odstávkám a dalším vlivům, kvůli kterým procesor buď vůbec nevykonává žádné instrukce (nebo je i vykonává, ale tyto jdou na vrub různým režijním činnostem, jako třeba diagnostice). Celý vtip pak názorně dokumentuje rozdíl mezi veličinou nominálního charakteru, jakou je třeba zmíněný počet instrukcí vykonaných za sekundu, a veličinou „efektivní", která vyjadřuje skutečný (užitečný) efekt, obvykle sledovaný za určité delší období.
Počet instrukcí, vykonaných procesorem za jednu sekundu, je třeba chápat především jako údaj vyjadřující jak dlouho trvá provedení jedné instrukce - v tom smyslu, že když procesor provádí své strojové instrukce rychlostí 1000 instrukcí za sekundu (například), pak provedení jedné strojové instrukce trvá jednu tisícinu sekundy. Ani v námi zvoleném případě procesoru a jeho instrukcí pak není možné použít jednoduchou násobilku a říct, že za sekundu jich provede přesně tisíc. Do hry totiž vstupují různé vlivy, jako například DMA přenosy či výpadky bloků ve vyrovnávacích pamětech, a ty mohou významněji prodlužovat dobu kterou trvá provedení jednotlivých instrukcí. Pokud bychom tedy sledovali počet skutečně provedených instrukcí za delší časové období, posčítali je a pak vztáhli na časovou jednotku (například sekundu), dostali bychom nejspíše poněkud jiné číslo. Hlavně bychom ale dostali veličinu „efektivního" (průměrného, sumárního) typu, která již bere do úvahy i další faktory, než jen nominální rychlost provádění instrukcí.
Srovnáme-li si obě veličiny - nominální rychlost provádění instrukcí a efektivní počet skutečně provedených instrukcí - pak rozměrově budou shodné, neboť obě vyjadřují počet provedených instrukcí za sekundu. Číselně se ale mohou i dosti významně lišit, a tato jejich odlišnost bude odrazem nejrůznějších vlivů, které se v praxi uplatňují. Je velmi důležité si uvědomit, že tyto vlivy mohou působit oběma směry - mohou nejen číselně snižovat „efektivní" rychlost oproti rychlosti nominální, ale mohou ji stejně tak i zvyšovat. Námi zvolený příklad s prováděním strojových instrukcí to umožňuje názorně dokumentovat: dnešní procesory velmi často použivají techniky tzv. prokládání (pipelining), a zpracovávají více instrukcí najednou - například jednu právě začínají, druhou mají rozpracovanou zhruba z poloviny a třetí právě dokončují. Jestliže takto dochází k trojnásobnému prokládání, tj. procesor v každém okamžiku pracuje na třech instrukcích současně a provedení každé instrukce trvá jednu tisícinu sekundy, pak za tuto jednu tisícinu sekundy procesor stihne dokončit hned tři instrukce, a za jednu sekundu tak teoreticky stihne provést tři tisíce instrukcí (odmyslíme-li si na chvíli efekt opačně působících vlivů). Takže „efektivní" rychlost může být dokonce i výrazně vyšší než rychlost nominální.
Přenosová rychlost vs. přenosový výkonPodobně jako k rychlosti provádění strojových instrukcí musíme při datových přenosech přistupovat i k rychlosti přenosové. Jde opět o veličinu nominálního charakteru, kterou je vhodné chápat jako vyjádření toho, jak dlouho trvá přenos jedné elementární jednotky informace, tedy jednoho bitu. Takže když se například někde něco přenáší rychlostí 10 Mbps (megabitů za sekundu), pak je třeba tomu rozumět tak, že přenos jednoho bitu zabere jednu desetimilióntinu sekundy. Nikoli tak, že za jednu sekundu se přenese 10 „mega" bitů, za deset sekund 100 „mega" atd. Mějme to na paměti, například i v souvislosti s Ethernetem.
„Efektivní" alternativou k nominální přenosové rychlosti je v datových přenosech veličina, označovaná nejčastěji jako „přenosový výkon" (anglicky: throughput, doslova: propustnost), ale někdy také jako „informační rychlost". Tento druhý možný název šikovně vystihuje jednu důležitou specifiku datových přenosů: aby bylo možné přenést určitý počet „užitečných" bitů (resp. bitů vyjadřujících určitou informaci), je nutné ve skutečnosti přenést navíc i určité režijní bity, nutné pro korektní fungování přenosových mechanismů. Jde například o nejrůznější kontrolní součty, sloužící potřebám detekce neporušenosti datového obsahu při spolehlivých přenosech, či o různé adresy příjemců a odesilatelů, identifikátory obsahu, hodnoty čítačů vyjadřujících pořadí atd.
Přenosová rychlost existenci těchto režijních bitů nebere v úvahu, zatímco přenosový výkon ano. Přenosová rychlost říká, jak dlouho trvá přenos jednoho bitu a nezajímá se o to, zda jde o režijní bit či o bit nesoucí „užitečnou" informaci. Naproti tomu přenosový výkon obě situace již rozlišuje, všímá si pouze „užitečných bitů" nesoucích informace, a vyjadřuje tudíž množství „užitečných" dat, které je daná přenosová cesta schopna skutečně přenést. Navíc jde o veličinu „efektivního" charakteru, která bere v úvahu průměrné chování vztažené k delším časovým úsekům.
Problém je ovšem v tom, že není nijak lehké exaktně definovat co jsou „užitečná" data, a co jsou data režijní. Proto je obtížné přesně definovat i samotný přenosový výkon, i když při intuitivním pohledu je to vcelku jednoduché. To je zřejmě také hlavní důvod, proč se v běžné praxi s přenosovým výkonem moc nepracuje, a místo toho se používá především přenosová rychlost. Může to ale mít ostatně i trochu jiné důvody, než jen obtížnost a vágnost definice přenosového výkonu: říci například o Ethernetu, že pracuje s přenosovou rychlostí 10 Mbps, je jistě působivější než prozradit, že jeho přenosový výkon v reálných podmínkách bývá někde mezi 3 až 4 Mbps.
Faktory ovlivňující přenosový výkonJak jsme si již naznačili, na přenosový výkon mají vliv různé „režijní" bity, přenášené spolu s bity „užitečnými". Kromě toho je zde ale celá řada dalších vlivů, které působí směrem ke snižování přenosového výkonu vůči nominální přenosové rychlosti. Jde například o asynchronní způsob komunikace, při kterém mohou mezi jednotlivě přenášenými částmi dat (jednotlivými znaky, bloky atd.) existovat libovolně dlouhé prodlevy. Ty nominální přenosová rychlost nebere do úvahy, zatímco přenosový výkon ano.
Přenosový výkon dále bere do úvahy například fungování mechanismů zabezpečujících spolehlivost přenosu - dojde-li například k poškození přenášeného bloku a ten musí být přenesen znovu, na přenosovou rychlost to nemá vliv, ale přenosový výkon to samozřejmě znatelně zmenšuje.
Další zajímavý vliv je možné dokumentovat na již citovaném příkladu Ethernetu. Ten počítá s existencí tzv. sdíleného přenosového média, do kterého může v principu vysílat kdokoli, ale v praxi musí zaúčinkovat vhodný mechanismus, který v případě vícenásobného zájmu rozhodne kdo bude moci vysílat a kdo musí počkat. Ethernet používá pro tyto účely přístupovou metodu CSMA/CD, jejíž samotná podstata také zavádí určitou režii snižující přenosový výkon oproti nominální přenosové rychlosti. Navíc jde o tzv. neřízenou přístupovou metodu, a její režie při zvyšující se zátěži významně vzrůstá.
Možnosti zvyšování přenosového výkonuVedle celé řady „režijních" faktorů, která v datových komunikacích působí směrem ke snižování přenosového výkonu oproti přenosové rychlosti, však existují i takové vlivy, které působí opačně. Jde zejména o mechanismy on-line komprese, zabudovávané do dnešních telefonních modemů. Například modemy dle standardu MNP 4 dokáží komprimovat data v poměru 2:1, a modemy využívající standard V.42bis dokonce v poměru 4:1. Jednoduchým výpočtem pak lze zjistit, že například pro modem o přenosové rychlosti 28,8 kbps by při maximální kompresi mohl teoreticky dosahovat efektivního přenosového výkonu 115,2 kbps (ovšem bez uvážení vlivu opačně působících faktorů).
V praxi je ovšem situace poněkud střídmější - komprimační mechanismy, zabudované do modemů, totiž musí fungovat v reálném čase, a nemohou tudíž být příliš efektivní. Také citovaná úroveň komprese (až 4:1) je spíše horním odhadem, zatímco reálně dosahované úrovně komprimace bývají nižší. Záleží přitom i na konkrétní povaze dat, která jsou přenášena - jde-li například o soubor, který byl zkomprimován již před svým přenosem (některým výkonnějším kompresním prostředkem), pak pokus modemu o jeho další kompresi pomoci „hloupějších" kompresních prostředků vede ve skutečnosti na jeho zvětšení, a tudíž na faktické snížení přenosového výkonu.