Univerzita Pardubice Dopravní fakulta Jana Pernera
Simulace digitálních signálů Matěj Petkov
Bakalářská práce 2010
Čestné prohlášení Prohlašuji: Tuto práci jsem vypracoval samostatně. Veškeré literární prameny a informace, které jsem v práci využil, jsou uvedeny v seznamu použité literatury.
Byl jsem seznámen s tím, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorský zákon, zejména se skutečností, že Univerzita Pardubice má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle § 60 odst. 1 autorského zákona, a s tím, že pokud dojde k užití této práce mnou nebo bude poskytnuta licence o užití jinému subjektu, je Univerzita Pardubice oprávněna ode mne požadovat přiměřený příspěvek na úhradu nákladů, které na vytvoření díla vynaložila, a to podle okolností až do jejich skutečné výše.
Souhlasím s prezenčním zpřístupněním své práce v Univerzitní knihovně Univerzity Pardubice.
V Pardubicích, dne 12. května 2010
Matěj Petkov
Anotace Cílem této bakalářské práce je simulace různých druhů formátů digitálních signálů, které se používají zejména v telekomunikační technice. Výsledkem bakalářské práce je grafická aplikace (GUI) v prostředí Matlab, ve které jsou vstupem digitální data, ze kterých je po výběru příslušného formátu kódování signálů vykreslen průběh výstupního signálu podle zadaných vstupních dat. Zároveň dojde k vykreslení výkonového spektra signálu. Součástí bakalářské práce je manuál, který obsahuje podrobný popis jednotlivých druhů formátů s jejich vlastnostmi a ukázkovou úlohu.
Klíčová slova Simulace kódování signálů, formáty kódování, výkonové spektrum, výkonová spektrální hustota, PSD.
Title Simulation of line codes
Annotation The aim of this bachelor paper is to simulate different kinds of line codes used mostly in telecommunication technologies. The final product of this bachelor work is a Graphical User Interface (GUI) developed for a Matlab environment. Digital data are supposed to be an input, a user selects required format of data encoding and a graphic curve of line code and PSD are outputs of the process. A manual containing a detailed description of particular format kinds including their characteristics and a demonstration task is also attached.
Keywords Simulation of line coding, line code formats, power spectrum, power spectral density, PSD.
Obsah ÚVOD ...................................................................................................................................................... 8 1.
ZÁKLADNÍ POPIS SIGNÁLU ........................................................................................................ 9 1.1 1.2 1.3
2.
KÓDOVÁNÍ POMOCÍ OBDÉLNÍKOVÝCH PULSŮ ............................................................................. 10 ODHAD ŠÍŘKY PÁSMA .............................................................................................................. 12 KÓDOVÁNÍ POMOCÍ PULSU TYPU SIN(X)/X ................................................................................. 13
ROZDĚLENÍ DRUHŮ KÓDOVÁNÍ .............................................................................................. 15 2.1 UNIPOLÁRNÍ SIGNÁLY .............................................................................................................. 15 2.2 POLÁRNÍ SIGNÁLY ................................................................................................................... 17 2.3 BIPOLÁRNÍ AMI (ALTERNATE MARK INVERSION) SIGNÁLY ......................................................... 18 2.3.1 Detekce chyb u AMI......................................................................................................... 18 2.4 2.5 2.6
3.
DIPOLÁRNÍ SIGNÁLY ................................................................................................................ 19 CMI (CODED MARK INVERSION) SIGNÁLY ................................................................................ 19 PŘEHLED A UKÁZKA PRŮBĚHŮ VYBRANÝCH SIGNÁLŮ................................................................. 20
VYBRANÉ KÓDY A JEJICH VLASTNOSTI ............................................................................... 21 3.1 NRZ KÓDY ............................................................................................................................. 21 3.1.1 Vlastnosti ......................................................................................................................... 21 3.1.2 Využití .............................................................................................................................. 22 3.2 RZ KÓDY ............................................................................................................................... 22 3.2.1 Vlastnosti ......................................................................................................................... 23 3.2.2 Využití .............................................................................................................................. 23 3.3 BIPOLÁRNÍ KÓDY (AMI)........................................................................................................... 23 3.3.1 Vlastnosti ......................................................................................................................... 23 3.3.2 Využití .............................................................................................................................. 24 3.4 DIPOLÁRNÍ – OOK ................................................................................................................. 24 3.5 DIPOLÁRNÍ – MANCHESTER KÓD.............................................................................................. 25 3.5.1 Vlastnosti ......................................................................................................................... 25 3.5.2 Využití .............................................................................................................................. 25 3.6 CMI....................................................................................................................................... 26 3.6.1 Vlastnosti ......................................................................................................................... 26 3.6.2 Využití .............................................................................................................................. 26
4.
POPIS VÝKONOVÝCH SPEKTER JEDNOTLIVÝCH FORMÁTŮ .............................................. 27 4.1 DEFINICE VÝKONOVÉHO SPEKTRA............................................................................................ 27 4.2 PSD UNIPOLÁRNÍHO NRZ SIGNÁLU ......................................................................................... 28 4.2.1 Autokorelace.................................................................................................................... 28 4.2.2 Fourierova transformace ................................................................................................. 29 4.2.3 Výsledné PSD.................................................................................................................. 29 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10
PSD UNIPOLÁRNÍHO RZ SIGNÁLU ........................................................................................... 30 PSD POLÁRNÍHO NRZ SIGNÁLU .............................................................................................. 31 PSD BIPOLÁRNÍHO RZ SIGNÁLU.............................................................................................. 32 PSD DIPOLÁRNÍHO SIGNÁLU MANCHESTER ............................................................................. 34 PSD POLÁRNÍHO RZ SIGNÁLU ................................................................................................ 35 PSD DIPOLÁRNÍHO OOK SIGNÁLU .......................................................................................... 36 PSD BIPOLÁRNÍHO NRZ SIGNÁLU ........................................................................................... 37 PSD CMI SIGNÁLU ................................................................................................................. 38
5.
VÝVOJ SIMULAČNÍHO SOFTWARE.......................................................................................... 39 5.1 POPIS ZÁKLADNÍHO OKNA........................................................................................................ 40 5.1.1 Výběr kódování a zadávání dat ....................................................................................... 40 5.1.2 Vykreslení průběhu zakódovaných dat............................................................................ 41 5.1.3 Export průběhu zakódovaných dat .................................................................................. 42 5.1.4 Vykreslení výkonového spektra....................................................................................... 43 5.1.5 Export výkonového spektra ............................................................................................. 44 5.2 UKÁZKA POPSANÝCH FUNKCÍ SIMULÁTORU ............................................................................... 44 5.2.1 Náhodné generování bitových sekvencí.......................................................................... 44 5.2.2 Ruční zadání vstupních dat ............................................................................................. 45 5.2.3 Porovnání více průběhů .................................................................................................. 45 5.2.4 Export průběhu ................................................................................................................ 46
ZÁVĚR .................................................................................................................................................. 49 ZDROJE ................................................................................................................................................ 50 SEZNAM OBRÁZKŮ ............................................................................................................................ 51 PŘÍLOHA – MANUÁL K PROGRAMU ................................................................................................ 53
Úvod
Matěj Petkov
Úvod Tato bakalářská práce se věnuje možným formátům kódování digitálních signálů a vzájemným porovnáním jejich vlastností. Při tvorbě práce bude třeba celou její koncepci již od prvních kroků podřídit faktu, že téma, kterému se věnuje, a především software, jenž by měl být výstupem práce, budou zpracovávány za účelem dalšího využití v oblasti výuky. Díky tomuto aspektu zahrnuje její tvorba široké spektrum činností, od práce rešeršní (zajištění co největšího množství dostupných zdrojů, povětšině v anglickém originále, a jejich přehledné zapracování do teoretické části), přes část analytickou (zahrnující pochopení dané tématiky a následné uplatnění nabytých poznatků na částech s nedostatkem zdrojů, to jest ruční dopočítání chybějících vztahů), až po část vývojovou (ve které bude potřeba znalosti a postupy shromážděné v teoretické části naprogramovat do softwarové aplikace – simulátoru kódování). Kódování binárních signálů je moderní téma díky velkému boomu výpočetní techniky a digitalizace vůbec, neboť nové technologie v oblasti telekomunikace se postupně stávají natolik výkonnými, že postupně nahrazují analogové přístroje i v těch nejnáročnějších aplikacích vyžadujících obrovské datové toky a s tím související vysokou rychlost zpracování dat. Téma této práce se ovšem zaměřuje na problematiku, jejíž úzká specializace způsobuje, že přestože obecně telekomunikace jako obor má díky své aktuálnosti k dispozici velké množství literatury a zdrojů, ke kódování digitálních signálů, jímž se konkrétně práce zabývá, mnoho pramenů není. Hledání zdrojů je také komplikované z toho důvodu, že i v případě, že existuje několik různých pramenů, tak zpravidla obsahují tutéž teorii a věnují se stejným pasážím, zdaleka nepokrývajícím požadavky této práce v celé šíři. Potřebné chybějící části, to znamená především vztahy pro výpočet výkonové spektrální hustoty, budou proto muset být analyticky odvozovány. Klíčovou částí a praktickým výsledkem práce by měla být aplikace, která bude splňovat požadavky plnohodnotného podpůrného výukového software „šitého na míru“ svému budoucímu uplatnění, a která bude vyvíjena za záměrem skutečného využití v pedagogické praxi.
-8-
Základní popis signálu
Matěj Petkov
1. Základní popis signálu Signály běžně dělíme do dvou velkých skupin – na signály analogové (spojité) a digitální (diskrétní). Typickým zástupcem analogových je harmonický signál vyjádřený funkcí f (t ) = A ⋅ sin(ω t + ϕ ) , diskrétní signál je zpravidla řada jednotlivých hodnot. Pojem digitální signál je ovšem lepší vnímat spíše jako signál s konečným počtem stavů, často dvou (binární signál) ale i více. Tento signál je však ve své podstatě také spojitý, jen narozdíl od analogového signálu zná pouze omezený počet stavů. A právě spojitým, binárním signálem se bude tato práce zabývat a pro přehlednost termín „spojitý, binární“ bude zkracován na prosté „digitální signál“. Průběh napětí pro digitální signály může být vyjádřen jako ortogonální řada1 s konečným počtem prvků N . Takový průběh signálu může být zapsán jako N
w(t ) = ∑ wk ⋅ ϕ k (t ), 0 < t < T0
(1.1)
k =1
kde wk představuje digitální data a ϕ k (t ), k = 1, 2, ..., N je N ortogonálních funkcí, které dávají křivce signálu její tvar. N je počet signálových prvků nutných k popsání průběhu signálu. Signál w(t ) popsaný rovnicí (1.1) dokáže vyjádřit jakoukoli zprávu digitálního zdroje,
kde
každá
{wk }, k = 1, 2, ..., N ,
zpráva
má
přiřazenu
jedinečnou
sadu
digitálních
dat
která onu zprávu vyjadřuje. Takže pokud posíláme zprávu
v binárním kódu, např. 01101010, dostáváme hodnoty w1 = 0, w2 = 1, w3 = 1, w4 = 0, w5 = 1, w6 = 0, w7 = 1, w8 = 0 a N = 8. Veličina T0 je časový interval potřebný pro poslání celé zprávy. Pokud kódujeme a přenášíme binární kód, je nutné počítat s tím, že každý bit má svou dobu přenosu Tb , celá zpráva potom zabere již zmíněný interval T0 , což je vlastně součet dob přenosu všech bitů zprávy. S tím souvisí potřeba pomocí této doby nějak popsat rychlost, jakou budou data přenášena. Za tímto účelem definujeme dva druhy „rychlostí“:
1
Ortogonalita je obecně pravoúhlost, v případě kódování signálů touto pravoúhlostí rozumíme
obdélníky, jichž je v různých modifikacích užito k zakódování signálu. -9-
Základní popis signálu
Matěj Petkov
1) Baudová rychlost, která je definována jako D = N T0 [symbolů/s]
(1.2)
kde N je počet signálových prvků použitých v intervalu T0 [s] . 2) Rychlost bitového přenosu, jež je definována jako R = n T0 [ bitů/s]
(1.3)
kde n je počet datových bitů poslaných v intervalu T0 [s] . Pokud bychom tyto definice použili na příklad z předchozího odstavce, tak při bitové periodě – době trvání jednoho bitu – např. Tb = 1 ms (a celkem n = 8 bitů) dostaneme baudovou rychlost D = N T0 = 8/0,008 = 1 kbaud (symbolů/s), a rychlost bitového přenosu R = n T0 = 8/0,008 = 1 kbit/s. Je zřejmé, že mezi oběma veličinami není v tomto případě rozdíl, neboť při binárním kódování platí rovnost N = n , tedy mezi veličinami počet signálových prvků N a počet bitů n zprávy.
1.1
Kódování pomocí obdélníkových pulsů Křivka
reprezentující
binární
signál
může
být
popsána
pomocí
N-
dimenzionální ortogonální řady (1.1), kde koeficienty wk představují binární hodnoty. To znamená, že výchozím prvkem při kódování binárního signálu, to jest řady nul a jedniček, mohou být použity obdélníkové pulsy. Puls lze obecně popsat pomocí amplitudy a doby trvání pulsu. Pokud je tedy např. u TTL logiky logická jednička reprezentována pěti volty, puls bude mít amplitudu 5 V a dobu trvání T . Tato doba se může, ale nemusí rovnat době Tb , to jest době přenosu 1 bitu dat. Např. u kódů typu Return-to-Zero (RZ) je doba T rovna polovině doby Tb .
- 10 -
Základní popis signálu
Matěj Petkov
T
5V
Obr. 1 Základní vlastnosti pulsu
V nejjednodušším případě puls představuje binární jedničku a absence pulsu je považována za binární nulu. Častěji je ovšem digitální signál kódován složitějším typem kódování, které soustavou podmínek (závisejících na požadovaných vlastnostech zakódovaného signálu) vytváří algoritmus, jenž dává jako výstup složitější signál. I ten je ovšem složen z různých modifikací společného základního „stavebního kamene“ kódování – obdélníkového pulsu. Pro výše uvedený příklad binárního kódu (01101010) by tedy po jednoduchém zakódování vznikl následující signál:
s(t)
0
1
1
0
1
0
1
0
Tb
t T 0 = 8 Tb Obr. 2 Ukázka průběhu kódovaného signálu
Je ovšem třeba připomenout, že pulsy, které byly do této doby zmiňovány (a jejichž ukázka je na obr. 1 a obr. 2) je nutné považovat za zjednodušené, zidealizované. V reálném případě není možná skoková změna signálu z jedné úrovně do druhé, signál může v jeden časový okamžik nabývat pouze jedinou hodnotu (matematicky: ke každému x může být přiřazeno právě jedno y). Z pravoúhlých obdélníků se tak kvůli mírné náběžné a sestupné hraně u každého pulsu stávají spíše lichoběžníky:
- 11 -
Základní popis signálu
s(t)
0
Matěj Petkov
1
1
0
1
0
1
0
t Obr. 3 Průběh skutečného signálu
Tento rozdíl od ideálního průběhu znamená také odchylku od výkonového spektra ideálního průběhu, a to v podobě mírného snížení amplitudy a zvětšení šířky pásma. V této souvislosti je nutné uvést, že simulační software, který je výsledkem této bakalářské práce, pracuje s ideálním, teoretickým průběhem signálu, jelikož charakter tohoto SW je edukační a program se snaží být především názorný a umožnit snadné předvedení a pochopení tématiky.
1.2
Odhad šířky pásma Dolní hranice pro šířku pásma křivky reprezentující digitální signál může být
získána ze vzorkovacího teorému. Vztah pro šířku pásma signálu w(t ) je potom B≥
N 1 = D [ Hz ] 2T0 2
(1.4)
kde D je baudová rychlost (přenosová rychlost daná D = N T0 [symbolů/s] ). Pokud je výše popsaná funkce ϕ k (t ) typu sin( x ) x (a nikoliv ortogonálního typu), pak bude dosaženo přesně dolní hranice šířky pásma, pro signály s jiným tvarem pulsu bude šířka pásma vždy větší než minimální dolní hranice. Rovnice (1.4) je užitečná především pro předpověď šířky pásma u signálů, u nichž je výpočet přesné hodnoty obtížný, či dokonce nemožný. Pro příklad uvažujme opět již dříve použitý kód 01101010. Pro něj jsme spočítali přenosovou rychlost D = 1 kbaud, takže podle vzorce pro výpočet minimální šířky pásma B ≥ D 2 nám tato vychází rovna 500 Hz (a větší pro kódy jiného typu než sin( x ) x → viz kapitola 1.3).
- 12 -
Základní popis signálu
Matěj Petkov
Šířka pásma je jeden z důležitých faktorů při výběru konkrétního typu kódování, zpravidla se totiž snažíme o nejvýhodnější přenos signálu, to jest s co nejužší šířkou pásma.
1.3
Kódování pomocí pulsu typu sin(x)/x Pokud uvažujeme signál kódovaný obdélníkovým pulsem, dochází při
uvažování reálného signálu v důsledku náběžných a sestupných hran, jak již bylo řečeno, k odchylkám od ideálních vlastností, především se zvětšuje šířka pásma. Pro minimalizaci šířky pásma signálu je možné ostré rohy obdélníků „zaoblit“. Jak již bylo výše uvedeno, signál, jehož šířka pásma dosahuje dolní hranice, má tvar pulsu typu
sin( x ) x . Lze tedy využít jeho výhodných vlastností a funkci ϕ k (t ) dosazovanou do rovnice (1.1) zvolit jako π sin (t − kTs ) Ts ϕ k (t ) = π (t − kTs ) Ts
(1.5)
kde v případě binárního kódování platí TS = Tb a k = 1, 2, ..., N . Po dosazení získáme signál w(t ) , jenž nebude vyjádřením binárních hodnot jako při užití obdélníku, ale bude vlastně plynulým analogovým signálem. Binární data mohou být v přijímači získána vyhodnocením koeficientů ortogonální řady. Díky užití ortogonálních funkcí ve tvaru sin( x ) x (viz obr. 4) je totiž možné data jednoduše obnovit a to navzorkováním přijaté křivky signálu ve středu intervalu každého symbolu. Pokud budeme uvažovat TTL logiku, tak vzorky v rozmezí 0 V až 0,8 V lze považovat za logickou 0, vzorky 2 V až 5 V by byly prezentovány jako logická 1. Důvodem, proč se však používají obdélníkové pulsy je základní rozdíl mezi oběma druhy kódování. Pokud je pro kódování použit obdélníkový puls, pak je digitální zdroj informací přenášen pomocí binárního signálu, což je při počítačovém zpracování požadovaný a výhodný formát. Když je však ke kódování použit tvar pulsu definovaný jako sin( x ) x , pak je digitální zdroj informací přenášen pomocí analogového nebinárního signálu (viz w1 (t ) v obr. 4) s nutností vzorkování.
- 13 -
Základní popis signálu
Matěj Petkov
1.6 w1(t) 1.4 1.2 1
w2(t)
0.8 0.6 0.4 0.2 0 -0.2 -0.4 0
1
2
3
4
5
6
7
8 t [ms]
Obr. 4 Rozdíl mezi binárním kódováním obdélníkovými pulsy w2(t) a pulsy w1(t) typu sin(x)/x
- 14 -
Rozdělení druhů kódování
Matěj Petkov
2. Rozdělení druhů kódování Binární data mohou být přenášena mnoha druhy pulsů. Volba určitého páru pulsů reprezentujícího symboly 1 a 0 se nazývá kódování signálu a výběr je obvykle prováděn na základě jedné nebo více následujících úvah: 1.
Přítomnost nebo absence stejnosměrné úrovně.
2.
Spektrální hustota výkonu – především její hodnota v 0 Hz.
3.
Obsazenost spektra (tj. šířka pásma).
4.
Výkon BER (tj. relativní odolnost proti šumu).
5.
Transparentnost (tj. schopnost, že každý libovolný symbol nebo bit může být vyslán a přijat.
6.
Snadné obnovení hodinového signálu pro synchronizaci symbolů.
7.
Přítomnost nebo absence vlastnosti detekce vnitřních chyb.
Za kódování signálu se obvykle považuje výběr nebo návrh dvojic pulsů, které dodržují ostré přechody mezi úrovněmi napětí. Po kódování mohou být pulsy filtrovány nebo jinak tvarovány pro další zlepšení jejich vlastností, například jejich spektrální účinnosti a/nebo odolnost proti vzájemnému ovlivnění symbolů. Samo rozlišení termínů kódování signálů a tvarování pulsů nemusí být vždy snadné, v literatuře autoři zpravidla s těmito pojmy zachází dle svého uvážení, takže v některých případech jde v podstatě o rozdělení umělé. V této práci bude kódováním signálů rozuměno „užití příslušného formátu kódu“; tvar, resp. tvarování pulsu se bude týkat konkrétního vyjádření jedničky a nuly pro vybraný formát kódování.
2.1
Unipolární signály Pro unipolární signály je při kódování signálů typické, že každý binární symbol
(představující například digitální nulu) je reprezentován absencí pulsu a druhý binární symbol (představující digitální jedničku) je zastoupen pulsem. Existují dva druhy unipolárního kódování, a to bez návratu k nule (NRZ = Non-Return to Zero) a s návratem k nule (RZ = Return to Zero).
- 15 -
Rozdělení druhů kódování
Matěj Petkov
RZ pulsy typicky vyplňují pouze první polovinu časového intervalu, ve druhé polovině se signál vrací k nule. Poměr doby trvání pulsu ( τ ) a periody symbolu ( T0 ) je potom τ T0 = 50 %. Výkonové spektrum signálů NRZ a RZ má tvar 2
sin x , kde x = π ⋅ τ ⋅ f x
(2.1)
Nevýhodou RZ signálů je obsazení dvojnásobné šířky pásma oproti NRZ signálům. Jejich výhodou je umístění spektrální čáry na frekvenci symbolu, f 0 = 1 / T0 [ Hz ] (a jejích celočíselných násobků), což může být využito jako referenční
signál symbolu. Oba unipolární signály (NRZ i RZ) mají nenulovou střední hodnotu reprezentovanou v jejich spektrech čarou na 0 Hz. Přenos těchto signálů po vedení ať už s měničem či zesilovačem má za následek odstranění této čáry a z toho vyplývající konverzi těchto unipolárních signálů na polární. Dále, pokud je spektrum souvislé části signálu RZ nebo NRZ nenulové na 0 Hz, pak dochází při střídavé vazbě ke zkreslení tvaru přeneseného pulsu. Pokud se střídavě vázané linky chovají jako RC horní propust (což je typický případ), potom se zkreslení projevuje exponenciálně poklesem amplitudy signálu po každé změně pulsu (tento jev je znázorněn na obr. 5). Ačkoli je na střídavě vázaných linkách dlouhodobá DC složka nulová, dlouhým sledem jedniček či nul na vstupu se naakumuluje krátkodobá DC úroveň zkreslující výstup. Nahromaděná stejnosměrná úroveň se nejvíc projeví u prvních několika symbolů následujících po delším úseku konstantního napětí. Ani jedna varianta unipolárního signálu proto není vhodná pro přenos přes střídavě vázané linky.
- 16 -
Rozdělení druhů kódování
1
0
Matěj Petkov
1
0
1
1
1
1
1
1
1
1
0
1
0
1
0
∆V
0
a)
∆V/2 0 -∆V/2 b) Obr. 5 Zkreslení NRZ signálu na střídavě vázaných linkách: a) vstup (binární data), b) výstupní signál
Jelikož unipolární napěťové úrovně 0 a V voltů jsou ekvivalentní (v rámci BER – bitové chybovosti) k polárním úrovním ± V 2 , proto unipolární signály vyžadují dvojnásobný střední a čtyřnásobný maximální výkon vysílače oproti polárním signálům.
2.2
Polární signály Při polárním kódování signálů je binární jednička reprezentována pulsem g1 (t )
a binární nula protilehlým pulsem g 0 (t ) = − g1 (t ) . NRZ a RZ formy polárních signálů mají shodně tvarovaná spektra jako NRZ a RZ formy signálů unipolárních, kromě toho, že v důsledku opačné polarity symbolů jedničky a nuly nemají ani jeden žádné spektrální čáry. Polární signály vyžadují stejnou šířku pásma jako jim ekvivalentní unipolární signály a při přenosu přes střídavé vedení trpí stejným efektem zkreslení popsaným u unipolárních signálů. Polární kódování je výrazně výkonově výhodnější oproti unipolárnímu kódování. V zásadě je to způsobeno tím, že pulsy v unipolárním schématu jsou pouze ortogonální (kolmé), zatímco pulsy v polárním schématu jsou protilehlé (antipodální). Jiný způsob, jak vysvětlit rozdíl mezi výkony, je povšimnout si, že střední hodnota neboli stejnosměrná úroveň přenášená s unipolárním signálem neobsahuje žádnou informaci a je tudíž zbytečně plýtvaným výkonem.
- 17 -
Rozdělení druhů kódování
Matěj Petkov
Polární binární kódování má rovněž tu výhodu, že zajišťuje stejnou pravděpodobnost symbolů. To znamená, že v přijímači není vyžadována žádná automatická regulace zesílení. Polární signály je také relativně snadné generovat, třebaže jsou vyžadovány zdroje zvlášť pro kladné a zvlášť pro záporné pulsy. Existují ovšem také speciálně konstruované integrované obvody, které generují obě polarity z jediného zdroje.
2.3
Bipolární AMI (Alternate Mark Inversion) signály Bipolární signály nazývané také „AMI“ používají tři úrovně napětí: +V, 0, -V,
pomocí kterých vyjadřují dva binární symboly 0 a 1 – proto hovoříme o pseudoternární signalizaci. Nuly jsou, podobně jako u unipolárního kódování, reprezentovány absencí pulsu, to jest 0 V a jedničky vyjadřuje úroveň napětí střídavě +V a -V. Střední hodnota je pak rovna nule, což zabraňuje vzniku stejnosměrné složky. Její absence je výhodná, protože lze potom vodiče použít na delší vzdálenosti a k přenosu výkonu pro vložená zařízení jako jsou zesilovače. Pro bipolární signály jsou možné obě formy kódování, to jest RZ i NRZ, přičemž běžnější je forma RZ, tedy s návratem k nule. Pouze tam, kde by měl přechod
signálu
udržet
synchronizaci
mezi
vysílačem
a
přijímačem,
je
upřednostňována NRZ forma signálu. Střídavé úrovně napětí u jedniček také zajišťují, že nedochází k poklesu na střídavě vázaných linkách, také zmenšují šířku pásma oproti ekvivalentním unipolárním či polárním signálům a dávají bipolárním signálům schopnost jednoduché detekce chyb.
2.3.1 Detekce chyb u AMI Tato vlastnost je výhodou, kterou se bipolární kódování vyznačuje oproti unipolárnímu. Princip spočívá v tom, že bipolární signály jsou obnovovány v pravidelných intervalech, tudíž signály zeslabené délkou přenosové cesty jsou nejenom zesíleny, ale také detekovány a znovu obnoveny. Zeslabené signály narušené šumem by mohly způsobovat chyby: puls by mohl být chybně interpretován jako nula, a naopak, korektní nula by mohla být mylně považována za kladný nebo záporný puls. Každá chyba jednoho bitu se projeví porušením „bipolárních pravidel“, to jest narušením pravidelného střídání polarity pulsů odpovídajících logické
- 18 -
Rozdělení druhů kódování
Matěj Petkov
jedničce. Každé takové narušení bipolarity (někdy označované jako BPV – bipolar violation) je pak příznakem chyby přenosu [6].
2.4
Dipolární signály Dipolární kódování je navrženo tak, aby jeho výsledkem byla spektrální nula
na 0 Hz. To ho činí obzvláště vhodné pro střídavě vázané linky. Perioda symbolu T0 je rozdělena na kladný a záporný puls, každý o šířce T0 2 [s] . Díky tomu je plocha pod každým typem pulsu rovna nule, což dává jako výsledek požadovanou „DC nulu“ ve spektru signálu. Možné jsou dvě formy dipolárního kódování, OOK (on-off key) a antipodální (protilehlá). Druhá jmenovaná je také označovaná jako kódování Manchester. Spektrální čára na frekvenci 1 T0 je přítomna pouze pro OOK formu, u antipodálního typu se nevyskytuje.
2.5
CMI (Coded Mark Inversion) signály CMI je polární NRZ kód, který užívá obou úrovní napětí (každou pro polovinu
periody symbolu) k vyjádření binární 0 a jednu či druhou úroveň (po celou periodu symbolu) k vyjádření binární 1. Pro následující jedničku se úroveň střídá. CMI signál je proto kombinací dipolárního kódování (v případě binárních nul) a NRZ AMI kódování (pro binární jedničky).
- 19 -
Rozdělení druhů kódování
2.6
Matěj Petkov
Přehled a ukázka průběhů vybraných signálů Jako příklad pro názornost poslouží k zakódování opět binární kód 01101010.
Vypsané typy kódování jsou vlastně konkrétním seznamem formátů, které jsou použity v cílovém programu:
Bitový tok Unipolární NRZ Unipolární RZ
0
1
1
0
1
+V 0 +V 0 +V
Polární NRZ -V +V
Polární RZ
0 -V +V
Bipolární NRZ (AMI-NRZ)
0 -V +V
Bipolární RZ (AMI-RZ)
0 -V +V
Dipolární (OOK)
0 -V
Dipolární (Manchester)
+V
-V
Coded Mark Inversion (CMI)
+V
-V
Obr. 6 Ukázka kódování vybranými formáty
- 20 -
0
1
0
Vybrané kódy a jejich vlastnosti
Matěj Petkov
3. Vybrané kódy a jejich vlastnosti Tato
kapitola
se
zabývá
konkrétními
kódy,
které
byly
vybrány
a
naprogramovány do výsledného simulačního software. Kromě výčtu vybraných kódů jsou zde ke každému popsány jeho typické vlastnosti a uveden příklad využití v praxi.
3.1
NRZ kódy Jedná se jak o unipolární, tak o polární variantu kódu:
0
1
+V 0 -V Obr. 7 Definice 0 a 1 pro Unipolární NRZ
0
1
+V 0 -V Obr. 8 Definice 0 a 1 pro Polární NRZ
3.1.1 Vlastnosti Kódování pomocí NRZ kódů je jednoduché, přináší však s sebou kromě některých výhod i jisté problémy. Výhodou Unipolárního NRZ kódu je to, že využívá obvody, které vyžadují pouze jedno napájení (například jediný +5 V zdroj pro TTL obvody), je také snadné ho generovat (pomocí TTL a CMOS obvodů). Za nevýhodu lze považovat požadavek na přenosové kanály, které musí mít DC vazbu (tzn. frekvenční odezvu směřující k f = 0), protože průběh signálu má nenulovou stejnosměrnou složku. Kanály s DC vazbou naproti tomu Polární NRZ kód nevyžaduje, protože střídání 0 a 1 (se stejnou pravděpodobností symbolu) eliminuje ss složku. Nevýhoda tohoto kódu zase spočívá v potřebě kladného i záporného zdroje napájení (jak vyplývá z průběhu kódu – obr. 8, kde dochází ke střídání kladné a záporné polarity pulsů).
- 21 -
Vybrané kódy a jejich vlastnosti
Matěj Petkov
Dalším z problémů, který je tentokrát společný pro unipolární i polární variantu, je již výše zmíněná (viz obr. 5, kapitola 2.1) kumulace stejnosměrné složky při delší sekvenci pulsů stejné polarity, která má potom za následek zkreslení signálu. Při dlouhých posloupnostech stejných hodnot může být také problémem vymezování časové hranice bitů. Cestou k odstranění nedostatků NRZ kódů je tzv. Scrambling („míchání“). Tato metoda se snaží eliminovat ztrátu synchronizace při dlouhé posloupnosti bitů stejné polarity. Princip spočívá v nahrazení posloupnosti stejných bitů posloupností signálových prvků s dostatečným počtem přechodů, přičemž musí být zachována časová délka posloupnosti. Na konci přenosu je tak třeba mít přijímač se schopností nahrazovací posloupnost vrátit zpět do původního tvaru. Takovým postupem se také zamezí akumulaci stejnosměrné úrovně, nesníží se rychlost přenosu dat a umožní se detekce bitových chyb [3].
3.1.2 Využití NRZ kódů je využíváno pro reprezentaci digitálních dat modulujících signál a pro uchovávání magnetickým záznamem.
3.2
RZ kódy Opět se jedná o unipolární i polární variantu:
0
1
+V 0 -V Obr. 9 Definice 0 a 1 pro Unipolární RZ
0
1
+V 0 -V Obr. 10 Definice 0 a 1 pro Polární RZ
- 22 -
Vybrané kódy a jejich vlastnosti
Matěj Petkov
3.2.1 Vlastnosti RZ signály jsou samočasovací, což znamená, že nepotřebují spolu se signálem posílat samostatný časovací impulz. Jejich nevýhodou oproti NRZ signálům je obsazení dvojnásobné šířky pásma pro stejný tok dat.
3.2.2 Využití Modifikace RZ kódu, Inverzní RZ kód je metoda užívaná k zobrazování přenosu. Dvouúrovňový RZI signál vyjadřuje binární nulu pulsem (kratším než je taktovací cyklus) a binární jedničku absencí pulsu. S pulsem o délce 3/16 bitu je využíván technologií IrDA.
3.3
Bipolární kódy (AMI) V simulacích budou uvažovány verze bez návratu k nule – NRZ, i s návratem
k nule – RZ.
0
1
+V 0 -V Obr. 11 Definice 0 a 1 pro Bipolární NRZ
0
1
+V 0 -V Obr. 12 Definice 0 a 1 pro Bipolární RZ
3.3.1 Vlastnosti Bipolární kódy (obou typů, NRZ i RZ) bývají označovány jako AMI, což je zkratka anglického Alternate Mark Inversion. Je to zejména při využití bipolárních kódů na nosičích typu „T“ (typických např. pro Severní Ameriku). Alternativní označení AMI vychází ze značení binární jedničky pojmem „mark“ (značka) a binární nuly pojmem „space“ (prázdný prostor). Alternate Mark Inversion lze tedy chápat jako „střídavé převracení značky“, kterýžto výraz výstižně popisuje chování pulsů při
- 23 -
Vybrané kódy a jejich vlastnosti
Matěj Petkov
kódování (viz obr. 11 a obr. 12). Nevýhodou AMI kódů je fakt, že přijímač musí rozlišovat tři úrovně ( +V , −V , 0 ) namísto klasických dvou úrovní typických pro předchozí formáty kódování. Bipolární signál také vyžaduje přibližně o 3 dB silnější výkon signálu než Polární signál se stejnou pravděpodobností bitové chyby.
3.3.2 Využití Tento typ kódování byl značně využíván v první generaci PCM sítí a dodnes je stále obvykle k vidění na starších multiplexovacích zařízeních; úspěšný přenos je však u něj závislý na absenci dlouhých sérií nul. Aby byla zajištěna synchronizace, neměla by být poslána řada delší než 15 nul. V důsledku dalších opatření pro zajištění synchronizace a přijetí správných dat se snižuje efektivní datový průchod na 56 kbit/s na kanál. Z dnešního pohledu je třeba vnímat AMI kódy jako základní výchozí model pro složitější kódování pomocí tzv. Modifikovaných AMI kódů, které jsou schopny zajistit datový tok 64 kbit/s na kanál. V Severní Americe je za zástupce této nové generace možno považovat kódy typu BnZS – Bipolar with n-zero substitution (B3ZS, B6ZS, B8ZS), v Evropě (na nosičích typu „E“) je to pak verze HDB3 – High density bipolar 3.
3.4
Dipolární – OOK
0
1
+V 0 -V Obr. 13 Definice 0 a 1 pro Dipolární – OOK
Signál zakódovaný Dipolárním OOK (on-off keying) kódováním vykazuje průběh typický obecně pro OOK metodu (analogicky pozorovatelnou např. u digitální amplitudové ASK modulace nosné vlny). Binární nula je reprezentována absencí pulsu, přičemž binární jedničku představuje dvojice polárně převrácených pulsů. Právě rozdíl ve vyjádření nuly je příčinou odlišnosti Dipolárního OOK kódu a kódu Manchester (kap. 3.5), která se projeví ve výkonovém spektru. Tvar spektrální
- 24 -
Vybrané kódy a jejich vlastnosti
Matěj Petkov
křivky mají oba kódy stejný, kód typu OOK má ovšem navíc spektrální čáru na frekvenci 1 T0 .
3.5
Dipolární – Manchester kód
0
1
+V 0 -V Obr. 14 Definice 0 a 1 pro kód Manchester
3.5.1 Vlastnosti Jak je znázorněno na obr. 14, kód Manchester skládá obě binární hodnoty (nulu i jedničku) pomocí pulsů obou polarit – v polovině bitové periody Tb dojde ke změně polarity pulsu, přičemž 0 a 1 jsou rozlišeny opačným pořadím pulsů. Za výhodu lze považovat, že takovýto způsob kódování díky nulové střední hodnotě eliminuje stejnosměrnou složku (to jest má vždy nulovou stejnosměrnou složku), cenou za to je však spektrum zabírající téměř dvojnásobnou šířku pásma oproti předchozím signálům, pro dosažení dvojnásobné bitové rychlosti je šířka pásma dokonce čtyřnásobná, přičemž dostupná šířka pásma se využívá pouze z poloviny. Dalším důsledkem takového typu kódování je nerovnost baudové rychlosti (1.2) a přenosové rychlosti (1.3). Je to proto, že dva prvky signálu, to jest přechod z úrovně –V na +V (a opačně), kódují pouze jeden bit. S tím souvisí i další vlastnost kódování Manchester, a to dvojnásobně vyšší modulační rychlost oproti rychlosti datové. Velkou výhodou kódu Manchester je schopnost vnitřní autosynchronizace, která usnadňuje realizaci přijímače tím, že umožňuje odvodit na přijímací straně synchronizační signály přímo z přenášeného datového signálu, a to na základě nutných změn úrovně signálu v polovině každé bitové periody [4]. Další výhodou tohoto signálu je ta vlastnost, že delší řetězec nul nezpůsobí ztrátu časovacího signálu.
3.5.2 Využití Kódování Manchester je široce využíváno pro šíření časovacího signálu v VLSI obvodech, pro magnetické nahrávání a ukládání dat na magnetická média a - 25 -
Vybrané kódy a jejich vlastnosti
Matěj Petkov
především pro Ethernet LAN. Při využití pro přenos dat v LAN je prostý Manchester je využíván u standardu IEEE 802.3/Ethernet, jeho diferenciální varianta u standardu IEEE 802.5. Tento kód však není vhodný pro velké vzdálenosti [3].
3.6
CMI
0
1
+V 0 -V Obr. 15 Definice 0 a 1 pro kód CMI
3.6.1 Vlastnosti Tento způsob kódování vzdáleně připomíná Millerův kód (klasický Millerův kód reprezentuje jedničku jako změnu momentálního směru v polovině bitové periody, nulu pak představuje neměnný signál přes další periodu). Navíc ovšem používá kombinaci půl jedničky/půl nuly a sestavuje je tak, že signál vždy spotřebuje nejméně celou bitovou periodu na příslušné úrovni předtím, než dojde k dalšímu přechodu. Kód
CMI
má
dvojnásobnou
frekvenci
bitového
toku
v porovnání
s odpovídajícím jednoduchým NRZ kódem, naproti tomu umožňuje jednoduché a spolehlivé obnovení časovacího signálu [7].
3.6.2 Využití CMI je kód, který je doporučen od ITU-T (Telekomunikačním standardizačním sektorem Mezinárodní telekomunikační unie) standardem G.703 (standard pro přenos hlasu či dat přes digitální T-nosiče) pro 140 Mbit/s multiplexovanou PCM. Sousměrný interface2 ITU pro 64 kbit/s využívá tu verzi signálu CMI, ve které se polarita sousedních symbolů střídá (nehledě na to, zda se jedná o nuly či jedničky). Každý osmý symbol se potom využívá porušení pravidla střídání k označení posledního bitu každého slova PCM kódu (word = 8 bitů).
2
Sousměrný interface = rozhraní, skrze nějž probíhá časová synchronizace několika signálů pouze
v jednom směru. - 26 -
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
4. Popis výkonových spekter jednotlivých formátů 4.1
Definice výkonového spektra Výkonové spektrum – PSD (z angl. Power Spectral Density) může být
stanoveno užitím buď deterministické nebo stochastické techniky. Při použití deterministické techniky je nutná znalost specifické datové sekvence, která byla kódována, nejedná se o vztahy platné všeobecně. V této práci bude proto k získání PSD použito stochastického přístupu, jelikož tímto způsobem lze získat výkonové spektrum signálu nezávisle na datech, z nichž byl signál zakódován. Začneme nejprve obecným popisem digitálního signálu, jenž je vlastně parafrází rovnice (1.1), jen s ohledem k dalším potřebám ve vhodnějším tvaru, s(t ) =
∞
∑a
n =−∞
n
f (t − nTS )
(4.1)
kde f (t ) je tvar pulsu symbolu a TS je délka trvání jednoho symbolu. Při uvažování binárního signálu platí TS = Tb , kde Tb je doba přenosu 1 bitu dat. Množina
{an }
je posloupnost náhodných dat. Například pro Unipolární NRZ kódování je
t f (t ) = rect a členy an jsou rovny a) pro binární jedničku an = + A [ V ] a b) pro Tb binární nulu an = 0 [ V ] . Při vyjadřování výkonového spektra pro jednotlivé typy signálů si musíme nejprve definovat obecný tvar PSD digitálního signálu,
F( f ) PS ( f ) = TS
2
∞
∑ R(k ) e
j 2π k f TS
(4.2)
k =−∞
kde F ( f ) je Fourierova transformace pulsu s výše zmíněným průběhem f (t ) , a R( k ) je autokorelace dat, která je dána vztahem I
R(k ) = ∑ (an an + k )i Pi i =1
- 27 -
(4.3)
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
kde an a an + k jsou napěťové úrovně datových pulsů na n-té a (n+k)-té pozici symbolu, Pi je pravděpodobnost, že dostaneme i-tý výsledek an an + k . Princip autokorelace se dá také zjednodušeně chápat jako určení počtu shodných (různě zpožděných) signálů ve výsledném signálu. Rovnice (4.2) a (4.3) jasně ukazují dva typické rysy, na kterých je výkonové spektrum závislé: 1.
na volbě typu použitého tvaru pulsu,
2.
na statistických vlastnostech dat.
V následujících kapitolách budou pro vybrané a výše popsané kódy specifikovány tvary rovnic (4.2) a (4.3), přičemž výsledkem bude jednoznačný vztah pro výkonové spektrum, který je možno zalgoritmizovat a zanést do zdrojového kódu cílové aplikace.
4.2
PSD Unipolárního NRZ signálu U tohoto typu signálu bude na následujících řádcích pro názornost detailně
matematicky popsán postup získání PSD libovolného kódu a každý vzorec a výpočet bude podrobně okomentován. Pro další signály je v podstatě postup vedoucí k získání vztahu pro výkonové spektrum totožný, popis u nich bude proto stručnější a méně významné rovnice a výpočty nebudou zbytečně opakovány.
4.2.1 Autokorelace Při unipolárním kódování jsou možné dvě úrovně členů an a an + k , a to 0 V a +A V. Předpokládejme, že výskyt těchto hodnot je stejně pravděpodobný, a že kódovaná data jsou nezávislá. Dále uvažujme, že autokorelace R ( k ) je definována vztahem (4.3). Pro k = 0 jsou možné výsledky členu an an buď A × A = A2 nebo 0 × 0 = 0 , z čehož plyne I = 2 možné varianty výsledků. Pro náhodná data je tedy
logicky pravděpodobnost výsledku A2 a pravděpodobnost výsledku 0 stejná, a to 50 %. Dosadíme-li uvedené hodnoty do vztahu pro autokorelaci (4.3), dostaneme následující výsledek: 2
R (0) = ∑ ( an an )i Pi = A 2 ⋅ 0,5 + 0 ⋅ 0,5 = i =1
- 28 -
1 2 A 2
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
Pro k ≠ 0 existují celkem I = 4 možnosti hodnot výsledku: A×A , A×0 , 0×A a 0×0 . Všechny se vyskytují s pravděpodobností 25 %. Tudíž pro k ≠ 0 dostaneme 4
R (k ) = ∑ (an an + k )i Pi = A 2 ⋅ 0, 25 + 0 ⋅ 0, 25 + 0 ⋅ 0, 25 + 0 ⋅ 0, 25 = i =1
1 2 A 4
Pokud si tedy shrneme možné hodnoty autokorelace, 1 2 2 A , k = 0 Runipolar ( k ) = 1 A2 , k ≠ 0 4
(4.4)
4.2.2 Fourierova transformace Abychom mohli zkompletovat celý vztah pro PSD (4.2), je nutné provést Fourierovu transformaci funkce f (t ) popisující tvar vybraného typu signálu, v tomto případě Unipolárního NRZ:
t sin π f Tb f (t ) = rect ↔ F ( f ) = Tb π f Tb Tb
(4.5)
4.2.3 Výsledné PSD Získané vztahy nyní dosadíme do rovnice (4.2), a pokud budeme uvažovat výše zmíněný předpoklad TS = Tb , pak je PSD Unipolárního NRZ signálu A2Tb sin(π f Tb ) PunipolarNRZ ( f ) = 4 π f Tb
2
∞ + 1 e j 2π k f Tb ∑ n =−∞
(4.6)
Platí, že ∞
∑ e j 2π k f Tb =
n =−∞
1 Tb
∞
n =−∞
n b
∑δ f −T
(4.7)
Tedy,
A2Tb sin(π f Tb ) PunipolarNRZ ( f ) = 4 π f Tb
- 29 -
2
1 1 + Tb
∞
n =−∞
n b
∑δ f −T
(4.8)
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
Jelikož [sin(π f Tb ) (π f Tb )] = 0 na frekvenci f = n Tb pro n ≠ 0 , zjednoduší se výraz A2Tb sin(π f Tb ) PunipolarNRZ ( f ) = 4 π f Tb
2
1 1 + T δ ( f ) b
(4.9)
Pokud budeme vybírat hodnotu amplitudy A tak, aby normalizovaný střední výkon Unipolárního NRZ signálu byl jednotkový, potom bude platit A = 2 . Tato hodnota se dá odvodit z výrazu pro výpočet výkonu a při uvažování periodických dat T
10101010.
Dostáváme
potom
1 0 1 2 PS = ∫ s 2 (t ) dt = A Tb . 2Tb T0 0
Výkon
uvažujeme
jednotkový, tudíž snadno dopočítáme, že A = 2 . Toto určení konkrétní hodnoty veličiny A (jinak libovolné amplitudy) pro normalizovaný výkon nám umožňuje jednotlivá spektra signálů vzájemně porovnávat v jednom měřítku, proto je pro každý
Výkonová spektrální hustota [W/Hz]
signál hodnota přepočtena a může se lišit.
Tb
Tb/2
0
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
2/Tb
Obr. 16 Průběh PSD pro Unipolární NRZ kód
Nevýhodou Unipolárních NRZ kódů je plýtvání výkonem kvůli stejnosměrné složce a z toho vyplývající fakt, že ve spektru není DC složka nulová. Pro tento typ signálu jsou proto samozřejmě zapotřebí stejnosměrně vázané obvody.
4.3
PSD Unipolárního RZ signálu Autokorelace pro unipolární data byla spočítána již u varianty NRZ a hodnoty,
kterých může nabývat jsou popsány v (4.4). Změnou oproti NRZ signálům je ovšem
- 30 -
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
doba trvání pulsu, kdy je třeba v rovnicích zacházet s polovinou bitové periody Tb / 2 . Fourierova transformace pro RZ signál je tedy
F( f ) =
Tb sin(π f Tb / 2) 2 π f Tb / 2
(4.10)
Poté analogicky ke vztahům (4.5) a (4.8) dostaneme výkonové spektrum PSD pro Unipolární RZ kód
A2Tb sin(π f Tb / 2) PunipolarRZ ( f ) = 16 π f Tb / 2
2
1 1 + Tb
∞
n =−∞
n b
∑δ f −T
(4.11)
Pokud budeme volit hodnotu A tak, aby normalizovaný střední výkon byl opět
Výkonová spektrální hustota [W/Hz]
jednotkový, potom dosazujeme A = 2 .
Tb
Tb/2
0
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
2/Tb
Obr. 17 Průběh PSD pro Unipolární RZ kód
4.4
PSD Polárního NRZ signálu Pokud u autokorelace Polárního NRZ signálu uvažujeme při k = 0 o možných
úrovních pro členy an a an + k , pak jsou to hodnoty +A V a –A V. Opět uvažujeme stejnou pravděpodobnost výskytu + A a − A (to jest 50 %), také předpokládáme, že data jsou nezávislá. Potom dostáváme 2
R (0) = ∑ ( an an )i Pi = A 2 ⋅ 0,5 + ( − A) 2 ⋅ 0,5 = A 2 i =1
- 31 -
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
Pro k ≠ 0 mohou koeficienty an a an + k nabývat I = 4 kombinací: A×A , -A×A , A×-A a -A×-A , pravděpodobnost každého výsledku je 25 %. Pak platí 4
R ( k ) = ∑ ( an an + k )i Pi = A 2 ⋅ 0, 25 + ( − A) ⋅ (A) ⋅ 0, 25 + (A) ⋅ ( − A) ⋅ 0, 25 + ( − A)2 ⋅ 0, 25 = 0 i =1
Hodnoty autokorelace jsou tedy
A2 , k = 0 R polar ( k ) = 0, k ≠ 0
(4.12)
Poté nahrazením (4.12) za (4.4) v (4.2) získáme PSD pro Polární NRZ signál, sin(π f Tb ) PpolarNRZ ( f ) = A Tb π f Tb
2
2
(4.13)
Hodnotu A opět volíme tak, aby normalizovaný střední výkon Polárního NRZ
Výkonová spektrální hustota [W/Hz]
signálu byl jednotkový, proto A = 1 .
Tb
Tb/2
0
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
2/Tb
Obr. 18 Průběh PSD pro Polární NRZ kód
4.5
PSD Bipolárního RZ signálu Pro určení výkonového spektra opět použijeme obecný vztah (4.2). Hodnoty,
kterých může člen an nabývat jsou + A , − A a 0 , přičemž binární jednička je vyjádřena střídavě hodnotami + A a − A , a pro binární nulu platí an = 0 . Pro k = 0
- 32 -
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
jsou výsledky členů an an dva, a to A2 a 0 , každý výsledek s pravděpodobností 50 %. Proto dostáváme A2 R (0) = 0 ⋅ 0,5 + A ⋅ 0,5 = 2 2
Pro k = 1 (tj. případ sousedních bitů) a datové sekvence (1,1), (1,0), (0,1) a (0,0) jsou možné výsledky členu an an +1 celkem čtyři: − A2 , 0 , 0 a 0 . Každá z těchto sekvencí se vyskytuje se stejnou pravděpodobností 25 %. Z toho vyplývá
A2 R(1) = ∑ ( an an +1 )i Pi = − A ⋅ 0,25 = − 4 i =1 4
2
Pro k > 1 se již nejedná o sousední bity a výsledky členu an an + k jsou ± A2 , 0 , 0 a 0 . Jejich pravděpodobnost je opět rovna 25 %. Autokorelace je tedy 5
R (k > 1) = ∑ ( an an + k )i Pi = A2 ⋅ 0, 25 − A2 ⋅ 0, 25 = 0 i =1
Shrnutí možných hodnot autokorelace, A2 2 , 2 A Rbipolar ( k ) = − , 4 0,
k = 0 k = 1 k > 1
(4.14)
Po dosazení (4.14) a (4.10) – tvar Fourierovy transformace pro RZ signál – do obecného vztahu pro výkonové spektrum (4.2) dostaneme PSD pro Bipolární RZ kódování, 2
A2Tb sin(π f Tb / 2) PbipolarRZ ( f ) = [1 − cos(2π f Tb )] 8 π f Tb / 2
Po matematické úpravě 1 − cos(2π f Tb ) = 1 − cos 2 (π f Tb ) + sin 2 (π f Tb ) = 2 sin 2 (π f Tb ) ⇒ - 33 -
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
2
A2Tb sin(π f Tb / 2) 2 PbipolarRZ ( f ) = sin (π f Tb ) 4 π f Tb / 2
(4.15)
Aby byl normalizovaný střední výkon jednotkový, volíme A = 2 . Bipolární signály mají spektrální nulu na DC úrovni, proto mohou být jako přenosové cesty
Výkonová spektrální hustota [W/Hz]
použity střídavě vázané obvody.
Tb
Tb/2
0
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
2/Tb
Obr. 19 Průběh PSD pro Bipolární RZ
4.6
PSD Dipolárního signálu Manchester Signál typu Manchester používá pulsy ve tvaru
t + Tb / 4 t − Tb / 4 f (t ) = rect − rect Tb / 2 Tb / 2
(4.16)
z něhož pomocí Fourierovy transformace získáme
F( f ) =
Tb sin(π f Tb / 2) jωTb /4 Tb sin(π f Tb / 2) − jωTb /4 e − e 2 π f Tb / 2 2 π f Tb / 2
Neboli po úpravě,
sin(π f Tb / 2) ωTb F ( f ) = jTb sin π f Tb / 2 4
- 34 -
(4.17)
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
Dosazením tohoto výrazu a autokorelace (4.12) do obecného tvar PSD (4.2) dostaneme vztah pro výkonové spektrum signálu Manchester 2
sin(π f Tb / 2) 2 PManchester ( f ) = A Tb sin (π f Tb / 2) π f Tb / 2 2
(4.18)
Amplituda je dosazována jako A = 1 , pokud je normalizovaný střední výkon
Výkonová spektrální hustota [W/Hz]
jednotkový. Kód Manchester má spektrální nulu na DC úrovni.
Tb
Tb/2
0
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
2/Tb
Obr. 20 Průběh PSD pro Manchester kód
4.7
PSD Polárního RZ signálu Postup odvození vztahů pro PSD byl u předchozích pěti druhů signálů
podrobně popsán a postupné matematické odvození vzorců včetně vysvětlení základních pojmů umožnilo vysvětlit princip, jímž lze získat výkonové spektrum libovolného typu kódování. Těchto znalostí bude využito u výpočtů PSD dalších signálů, jelikož zbývající druhy jsou vlastně již jen modifikací výše probraných formátů. S výhodou budou použity již dříve definované hodnoty autokorelace a Fourierovy transformace, aby jejich vhodnou kombinací bylo získáno požadované výkonové spektrum. V konkrétním případě Polárního RZ signálu je možno použít již vypočtenou Fourierovu transformaci signálů typu RZ (4.10)
FRZ ( f ) =
Tb sin(π f Tb / 2) 2 π f Tb / 2 - 35 -
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
a také autokorelaci pro Polární signály, jejíž hodnoty byly definovány výše (4.12)
A2 , k = 0 R polar ( k ) = 0, k ≠ 0 Dosazením těchto hodnot do definice PSD (4.2) a následnými matematickými úpravami získáme vztah pro spektrální výkonovou hustotu Polárního RZ signálu, A2Tb sin(π f Tb / 2) PpolarRZ ( f ) = 4 π f Tb / 2
2
(4.19)
Výkonová spektrální hustota [W/Hz]
Kvůli jednotkovému normalizovanému výkonu dosazujeme A = 2 .
Tb
Tb/2
0
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
2/Tb
Obr. 21 Průběh PSD pro Polární RZ kód
4.8
PSD Dipolárního OOK signálu Výkonové spektrum Dipolárního OOK signálu má z podstaty podobný průběh
jako u signálu typu Manchester, jeho výkonová spektrální hustota je však 4krát menší. To vyplývá z rozdílu definice nuly mezi OOK a Manchester kódem (viz kapitola 3). Dipolární OOK signál má navíc spektrální čáry umístěné na frekvenci symbolu f 0 = 1 / T0 [ Hz ] . Tyto čáry jsou v rovnici zastoupeny Diracovým pulsem. Vztah pro PSD Dipolárního OOK signálu tedy vychází z rovnice pro kód Manchester (4.18) s drobnými úpravami
- 36 -
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
2
A2Tb sin(π f Tb / 2) 1 2 PDipolOOK ( f ) = sin (π f Tb / 2) ⋅ 1 + 4 π f Tb / 2 Tb
∞
n =−∞
n b
∑δ f −T
(4.20)
Amplituda je dosazována jako A = 1 , abychom mohli normalizovaný střední
Výkonová spektrální hustota [W/Hz]
výkon považovat za jednotkový.
Tb
Tb/2
0
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
2/Tb
Obr. 22 Průběh PSD pro Dipolární OOK kód
4.9
PSD Bipolárního NRZ signálu Pro odvození průběhu výkonové spektrální hustoty Bipolárního NRZ signálu
lze vyjít ze vztahu pro RZ signál (4.15). Z rozdílu vyjádření binární jedničky vzniká pouze potřeba převést jednoduchou matematickou operací jedničku RZ kódu v délce Tb / 2 na jedničku NRZ kódu, jež probíhá na celém intervalu Tb . Potom dostaneme vztah pro PSD Bipolárního NRZ signálu 2
A2Tb sin(π f Tb ) 2 PbipolarNRZ ( f ) = sin (2π f Tb ) 4 π f Tb
(4.21)
Stejně jako u Bipolárního RZ signálu dosazujeme A = 2 , abychom dostali jednotkový normalizovaný střední výkon.
- 37 -
Výkonová spektrální hustota [W/Hz]
Popis výkonových spekter jednotlivých formátů
Matěj Petkov
Tb
Tb/2
0
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
2/Tb
Obr. 23 Průběh PSD pro Bipolární NRZ kód
4.10 PSD CMI signálu Tento typ signálu svým vyjádřením nuly a jedničky kombinuje dva jiné signály, a to pro nulu Dipolární OOK (4.20) a pro jedničku Bipolární NRZ (4.21). Vztah pro PSD tedy vznikne v podstatě součtem výkonových spekter obou signálů, 2
2
sin(π f Tb ) A2Tb sin(π f Tb / 2) 2 2 2 PCMI ( f ) = sin (π f Tb / 2) + A Tb sin (2π f Tb ) (4.22) 4 π f Tb / 2 π f Tb
Za
amplitudu
je
třeba
dosadit
A = 1,
abychom
dostali
Výkonová spektrální hustota [W/Hz]
normalizovaný střední výkon.
Tb
Tb/2
0
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
Obr. 24 Průběh PSD pro CMI kód
- 38 -
2/Tb
jednotkový
Vývoj simulačního software
Matěj Petkov
5. Vývoj simulačního software K vytvoření programu byl použit systém Matlab 7.9.0 (R2009b), konkrétně prostředí GUIDE (Graphical User Interface Development Environment). Výsledkem je tedy okenní aplikace s pohodlným ovládáním zpřístupňujícím všechny důležité funkce. Pro zvýšení komfortu užívání a také pro přenositelnost programu na počítače nevybavené programovým prostředím Matlab existuje tato aplikace rovněž ve formě „standalone“, čili jako samostatně spustitelný balík – kompilát využívaných skriptů a funkcí. Jelikož cílem této bakalářské práce byl výukový software, který bude skutečně využíván v praxi, bylo nutno při programování brát v potaz nejen správnou algoritmizaci dané problematiky, tedy napsání funkčního kódu pro vykreslení průběhu kódování a jeho výkonového spektra, ale bylo také nutné na výsledný program nahlížet z hlediska budoucí cílové skupiny – studentů. To znamenalo dávat při sestavování aplikace důraz na jednoduchost, názornost a přehlednost, což umožní studentům snadnou orientaci v probírané tématice. Na druhé straně ovšem nemohlo být opomenuto „user-friendly“ ovládání vstřícné i vůči vyučujícímu, kterého by zdlouhavá a složitá manipulace se samotným programem zdržovala od výkladu a efektivitu simulačního software by vlastně znehodnocovala. Po celou dobu vývoje aplikace byl tedy hlídán jakýsi kompromis mezi „funkcionalitou“ a „názorností“, což se úspěšně dařilo až do finální podoby programu. Základním
úkolem,
který
měl
naprogramovaný
simulátor
řešit,
bylo
zakódování zadaných dat jedním z devíti vybraných formátů kódování, které byly popsány v teoretické části. Zadaná data jsou reprezentována ukázkovými deseti bity. Stejným způsobem mělo být umožněno také kódování náhodně generovaných jedniček a nul. Současně se zakódováním a vykreslením jeho průběhu mělo být zobrazeno i výkonové spektrum vybraného formátu kódování. Tuto klíčovou část samozřejmě hotový software řeší a k tomu přidává množství dalších funkcí, které rozšiřují výukové možnosti a také zlepšují komfort užívání. Celý simulátor se skládá z 20 souborů M-file popisujících samotnou okenní aplikaci i každý druh kódování a jeho spektra zvlášť, a jednoho souboru typu *.fig, v němž je definováno rozložení objektů v okně.
- 39 -
Vývoj simulačního software
Matěj Petkov
Obr. 25 Finální podoba simulátoru
5.1
Popis základního okna Po spuštění programu se uživateli zobrazení výchozí okno (viz obr. 25),
přičemž všechny nastavitelné a měnitelné prvky (které budou dále podrobně rozebrány) jsou nastaveny na výchozí hodnotu. Primární rozdělení okna na část věnující se kódování (vlevo) a část určenou pro výkonové spektrum (pravá polovina) je patrné. Další rozdělení okna na části je následující:
5.1.1 Výběr kódování a zadávání dat
Obr. 26 Oblast pro zadávání dat a výběr kódování
Zde je uživateli k dispozici roletová nabídka, která nabízí seznam devíti vybraných formátů kódování. Vybrání položky ze seznamu – tj. určení požadovaného typu kódování – je tak vlastně prvním krokem při manipulaci s programem. Pod vysunovací nabídkou je stručný výčet všech nabízených formátů; ten slouží uživateli - 40 -
Vývoj simulačního software
Matěj Petkov
nejen jako přehled nabízených možností, ale také jako pomůcka při připínání dalšího průběhu za účelem srovnání průběhů (podrobněji viz kapitola 5.1.2). Tlačítko Generuj... slouží k simulaci náhodných dat – po jeho stisku je vygenerováno deset náhodných bitů, které jsou zobrazeny v dolních deseti editačních polích a zároveň dojde okamžitě k vykreslení průběhu signálu a jeho výkonového spektra podle zvoleného typu kódování. Tlačítko je možno stisknout opakovaně a na náhodě generovaných bitových sekvencích tak názorně předvádět, jak se příslušný formát kódování chová. Tlačítko Spustit! provede v podstatě totéž, co tlačítko Generuj... s tím rozdílem, že spolupracuje s deseti editačními poli, kam může uživatel zadat ručně vlastní bitovou řadu a po stisknutí Spustit! je tato zakódována vybraným typem kódování. Tento postup umožňuje vyučujícímu zpětně zkontrolovat správnost zakódování libovolné posloupnosti bitů.
5.1.2 Vykreslení průběhu zakódovaných dat
Obr. 27 Oblast zobrazení průběhu zakódovaných dat
Souřadnicová soustava slouží k vykreslení průběhu signálu reprezentujícího data zakódovaná vybraným formátem. Osa X je bez popisku, neboť nepředstavuje přímo konkrétní čas, spíše udává počet časových jednotek potřebných k přenosu ukázkových deseti bitů. Za časovou jednotku je tedy možno považovat dobu trvání jednoho bitu Tb . Doba přenosu celé zprávy by tak byla vždy 10 ⋅ Tb , což činí osu X v dané chvíli irelevantní a stejně tak její popisek. Ani osa Y nepředstavuje konkrétní - 41 -
Vývoj simulačního software
Matěj Petkov
hodnoty, vyjadřuje pouze obecně tři úrovně napětí, kterých signál při kódování může nabývat (viz teorie v kapitole 3) a jejich význam je spíše symbolický. Titulek grafu se mění vždy v závislosti na zvoleném kódování a umožňuje tak – zejména při exportu – snadnou identifikaci zobrazeného průběhu. Důležitým funkčním prvkem je devatero tlačítek značených 1-9 s desátým popsaným Reset. Tato tlačítka souvisí s výčtem formátů pod vysunovací nabídkou na obr. 26. Každé připíná k již vykreslenému průběhu nový signál, zakódovaný formátem odpovídajícím číslu v seznamu, a to nejen u samotného kódování, ale také u výkonového spektra. Jedná se o velmi praktickou pomůcku, která umožňuje vyučujícímu srovnávat dva a více druhů kódování a jejich spektra v jednom grafu, pro stejnou řadu bitů. Tlačítkem Reset jsou pak všechny vykreslené průběhy i nadpisy grafů vymazány a simulátor je tak připraven pro nové zadání.
5.1.3 Export průběhu zakódovaných dat
Obr. 28 Výběr z možností exportu průběhu
Klíčovou částí, která nemůže v programu typu „simulátor“ chybět, je export výsledků; ať už za účelem tisku, vkládání do dokumentů či jiné elektronické manipulace. Po stisku tlačítka Uložit průběh jako... se uživateli zobrazí dialogové okno, ve kterém zvolí umístění souboru s exportovaným průběhem, jeho název a především typ. Simulátor umožňuje uložení průběhů na pevný disk v pěti různých formátech, které plně pokrývají potřebu uživatele: 1.
Soubor EPS (Encapsulated PostScript) – grafický formát, se kterým dobře pracuje editor Adobe Photoshop; může obsahovat jak vektorové tak bitmapové grafiky,
2.
Soubor EMF (Enhanced Meta File) – nativní formát Windows; používaný primárně pro vektorové grafiky,
3.
Soubor BMP (Bitmap) – základní formát pro uložení rastrové grafiky; narozdíl od předchozích vektorových formátů jej není možné smysluplně editovat a při změně velikosti dochází k deformaci a ztrátě kvality,
- 42 -
Vývoj simulačního software
4.
Matěj Petkov
Soubor FIG (Matlab Figure) – soubory s koncovkou *.fig jsou určeny pouze pro uživatele systému Matlab, bez něj je nelze zobrazit; při jejich otevření v Matlabu se chovají jako průběh právě vykreslený příkazem,
5.
Soubor PDF (Portable Document Format) – formát určený pro univerzálně čitelný přenos dokumentů bez ztráty formátování; průběh je v něm uložen jako vektorová grafika.
Další možnost práce s již zobrazeným průběhem nabízí tlačítko Vykreslit ve „Figure“. Po jeho stisknutí se otevře zvlášť nové okno obsahující pouze vybraný průběh (na rozdíl od předchozí varianty, kdy jsou exportovány i průběhy přikreslené pomocí tlačítek 1-9). Tuto možnost uživatel využije např. pokud chce dále pracovat s formátováním průběhu pro vlastní potřebu (v nově otevřené Figure je možno graf klasicky upravovat – měnit barvu, popisky apod.), nebo pokud potřebuje porovnat více průběhů a nechce je vykreslovat do jedné souřadnicové soustavy.
5.1.4 Vykreslení výkonového spektra
Obr. 29 Oblast zobrazení výkonového spektra signálu
Ve druhém souřadnicovém systému je zobrazováno výkonové spektrum vybraného typu kódování. Osa X představuje frekvenci s vyznačenými významnými hodnotami 1 / Tb a 2 / Tb (a souměrně −1 / Tb a −2 / Tb v záporné polorovině), kde Tb je - 43 -
Vývoj simulačního software
Matěj Petkov
bitová perioda (délka jednoho bitu). Na ose Y je vynášena výkonová spektrální hustota PSD, vyznačené jsou opět významné hodnoty Tb / 2 a Tb . Hodnoty na obou osách jsou záměrně psány obecně, poněvadž už v kapitole 4.2.3 bylo popsáno (a připomíná to poznámka na obr. 29), že zobrazovaná výkonová spektra jsou přepočítána pro normalizovaný střední výkon, tudíž je můžeme porovnávat v jednom souřadnicovém systému a případná změna velikosti Tb by neovlivnila tvar spekter, pouze měřítko, ve kterém by byla zobrazována. Proto je pro přehlednost výhodnější zacházet s obecnými hodnotami, samotná velikost Tb
není v tomto případě
relevantní.
5.1.5 Export výkonového spektra
Obr. 30 Možnosti exportu výkonového spektra
Stejně jako u průběhu kódování, i výkonové spektrum lze buď uložit do jednoho z výše popsaných formátů, nebo je možné si ho nechat vykreslit v samostatném okně – Figure.
5.2
Ukázka popsaných funkcí simulátoru Na několika následujících obrázcích doplněných krátkými komentáři budou
demonstrovány výše popsané funkce simulátoru.
5.2.1 Náhodné generování bitových sekvencí 1.
2.
Obr. 31 Ukázka generování náhodných 0 a 1 - 44 -
Vývoj simulačního software
Matěj Petkov
Z obrázků je patrné, že při každém stisku tlačítka Generuj... simulátor vygeneruje náhodnou a naprosto odlišnou řadu bitů, kterou zároveň zakóduje podle zvoleného typu kódování.
5.2.2 Ruční zadání vstupních dat Pokud chceme například zjistit, jak vypadá rozdíl mezi 0 a 1, můžeme jako deset vstupních bitů zadat sérii 0000011111 a stisknout tlačítko Spustit!:
Obr. 32 Ukázka použití funkce Spustit!
5.2.3 Porovnání více průběhů Užitečnou funkcí, kterou simulátor nabízí a která byla zmíněna již v kapitole 5.1.2, je porovnání více formátů kódování v jednom grafu. Při zobrazení nového typu se ke stávajícímu průběhu přikreslí nový formát a to jak u kódovaného signálu, tak i v části určené pro výkonové spektrum. Pokud například uživatel vygeneruje data pro formát „Unipolární NRZ“ a chce jej porovnat s formáty „Polární NRZ“ a „Polární RZ“, stačí k již vykreslenému Unipolárnímu NRZ kódu připnout tlačítka 3 a 4, a výsledek pro kódovaný signál i pro výkonové spektrum se ihned zobrazí (viz obrázek obr. 33).
- 45 -
Vývoj simulačního software
Matěj Petkov
Obr. 33 Porovnání průběhů několika druhů kódování
5.2.4 Export průběhu Při použití tlačítka Uložit průběh jako... (jehož funkce byla podrobně popsána výše, viz 5.1.3) se uživateli zobrazí následující dialogové okno:
Obr. 34 Dialogové okno pro uložení průběhu
- 46 -
Vývoj simulačního software
Matěj Petkov
Uložený soubor obsahuje všechny uživatelem zobrazené průběhy a může vypadat následovně: Unipolární NRZ kód
1
0
-1
0
1
2
3
4
5
6
7
8
9
10
Obr. 35 Soubor s uloženými průběhy kódovaného signálu
Při ukládání se do souboru zapisují rovněž všechna výkonová spektra vybraná uživatelem:
PSD Unipolárního NRZ kódu
Výkonová spektrální hustota [W/Hz]
Tb
Tb/2
-2/Tb
-1/Tb
0 Frekvence [Hz]
1/Tb
Obr. 36 Soubor s uloženými průběhy výkonových spekter
- 47 -
2/Tb
Vývoj simulačního software
Matěj Petkov
Tlačítko Vykreslit ve „Figure“ (jehož funkce je popsána v kap. 5.1.3) naproti tomu zobrazí průběh v samostatném okně, a jak již bylo vysvětleno, pouze pro druh kódování zadaný v základní roletové nabídce.
Obr. 37 Zobrazení průběhu v samostatném okně
Obr. 38 Zobrazení výkonového spektra v samostatném okně
- 48 -
Závěr
Matěj Petkov
Závěr Z teoretické části je zřejmé, že se tato práce zabývá těmi nejzákladnějšími formáty kódování a záměrně se vyhýbá pokročilejším kódům, přestože ty jsou v praxi používanější a zdálo by se tedy, že i důležitější. Ale i tyto pokročilé formy kódování vychází ze základních typů v této práci popsaných, jen se jejich modifikací a vzájemnou kombinací snaží zdokonalit své vlastnosti. Proto je úmyslně pro názornost celé téma věnováno základním elementárním stavebním kamenům kódování digitálních signálů, čímž je umožněno snadné předvedení a následné pochopení tématiky. S tímto cílem bylo prostudováno mnoho materiálů, díky čemuž je teoretický popis vlastností vybraných signálů a popis jejich využití v této práci vyčerpávající a zcela dostačující svému účelu. Rovněž v oblasti výpočtů výkonových spekter se podařilo nejen získat vztahy pro některá vybraná kódování, ale díky detailnímu popisu postupu při odvozování byly chybějící vztahy úspěšně analyticky dopočítány. Tyto výsledky by spolu s přehledně popsanou zbylou teorií měly posloužit jako užitečný přehled poskytující informace v takové kompaktní formě, jaká tuto práci činí do značné míry jedinečnou a rozhodně praktickou pro další studijní účely. Získané vztahy pro PSD umožnily svým jednoznačným matematickým popisem algoritmizaci, a tím snadné zavedení do simulačního programu. Programování Simulátoru postupovalo po krocích od prvotní algoritmizace matematických vztahů, přes základní rozvržení okna objektového programování, až po doplnění všech funkcionalit a dotvoření konečné grafické podoby. Důležitý byl pro mne jako pro programátora poslední krok vývoje simulačního software, kdy kromě samozřejmého zevrubného testování Simulátoru vlastními silami byla tato aplikace rovněž podrobena zátěžovému testu přímo v praxi. Tato finální fáze potvrdila plnou funkčnost programu a jeho schopnost použití pro výukové účely. Navíc potřeba drobných kosmetických změn, která z tohoto testování vyplynula, umožnila doladit Simulátor přesně do té podoby, jakou by názorný výukový program měl mít. Součástí práce je dle zadání i vypracovaný stručný „manuál“ k programu, který bude v budoucnu připojen k aplikaci jako samostatná dokumentace obsahující výsek teorie a návod k používání Simulátoru kódování signálů v1.0.
- 49 -
Zdroje
Matěj Petkov
Zdroje [1]
COUCH, Leon W. Digital and analog Communication systems. 7th Edition. [s.l.] : Prentice Hall, 2007. 784 s. ISBN 0131424920.
[2]
LIN Shu, COSTELLO, Jr., Daniel J. Error Control Coding 2nd Edition: Prentice Hall, 2004. 1260 s. ISBN 0130426725.
[3]
STAUDEK, Jan. Jan Staudek's Home Page [online]. 2009 [cit. 2010-03-28]. Základy přenosu dat. Dostupné z WWW:
.
[4]
ŽALUD Václav Moderní radioelektronika 1. vydání: BEN – technická literatura, 2004. 656 s. ISBN 80-86056-47-3
[5]
Wikipedia, the free encyclopedia [online]. 2001 [cit. 2009-11-09]. Line code. Dostupné z WWW: .
[6]
Wikipedia, the free encyclopedia [online]. 2001 [cit. 2009-11-09]. Bipolar encoding. Dostupné z WWW: .
[7]
Wikipedia, the free encyclopedia [online]. 2001 [cit. 2009-11-09]. Coded mark inversion. Dostupné z WWW: .
[8]
DOŇAR, Bohuslav, ZAPLATÍLEK, Karel MATLAB - tvorba uživatelských aplikací 1. vyd.: BEN – technická literatura, 2004. 215 s. ISBN 80-7300-133-0
- 50 -
Seznam obrázků
Matěj Petkov
Seznam obrázků Obr. 1
Základní vlastnosti pulsu.......................................................................................................11
Obr. 2
Ukázka průběhu kódovaného signálu...................................................................................11
Obr. 3
Průběh skutečného signálu...................................................................................................12
Obr. 4
Rozdíl mezi binárním kódováním obdélníkovými pulsy w2(t) a pulsy w1(t) typu sin(x)/x ......14
Obr. 5
Zkreslení NRZ signálu na střídavě vázaných linkách: a) vstup (binární data), b) výstupní signál .....................................................................................................................................17
Obr. 6
Ukázka kódování vybranými formáty ....................................................................................20
Obr. 7
Definice 0 a 1 pro Unipolární NRZ ........................................................................................21
Obr. 8
Definice 0 a 1 pro Polární NRZ .............................................................................................21
Obr. 9
Definice 0 a 1 pro Unipolární RZ...........................................................................................22
Obr. 10
Definice 0 a 1 pro Polární RZ................................................................................................22
Obr. 11
Definice 0 a 1 pro Bipolární NRZ ..........................................................................................23
Obr. 12
Definice 0 a 1 pro Bipolární RZ.............................................................................................23
Obr. 13
Definice 0 a 1 pro Dipolární – OOK ......................................................................................24
Obr. 14
Definice 0 a 1 pro kód Manchester .......................................................................................25
Obr. 15
Definice 0 a 1 pro kód CMI ...................................................................................................26
Obr. 16
Průběh PSD pro Unipolární NRZ kód ...................................................................................30
Obr. 17
Průběh PSD pro Unipolární RZ kód......................................................................................31
Obr. 18
Průběh PSD pro Polární NRZ kód ........................................................................................32
Obr. 19
Průběh PSD pro Bipolární RZ...............................................................................................34
Obr. 20
Průběh PSD pro Manchester kód .........................................................................................35
Obr. 21
Průběh PSD pro Polární RZ kód...........................................................................................36
Obr. 22
Průběh PSD pro Dipolární OOK kód.....................................................................................37
Obr. 23
Průběh PSD pro Bipolární NRZ kód .....................................................................................38
Obr. 24
Průběh PSD pro CMI kód .....................................................................................................38
Obr. 25
Finální podoba simulátoru.....................................................................................................40
Obr. 26
Oblast pro zadávání dat a výběr kódování ...........................................................................40
Obr. 27
Oblast zobrazení průběhu zakódovaných dat ......................................................................41
Obr. 28
Výběr z možností exportu průběhu .......................................................................................42
Obr. 29
Oblast zobrazení výkonového spektra signálu .....................................................................43
Obr. 30
Možnosti exportu výkonového spektra..................................................................................44
Obr. 31
Ukázka generování náhodných 0 a 1 ...................................................................................44
Obr. 32
Ukázka použití funkce Spustit!..............................................................................................45
Obr. 33
Porovnání průběhů několika druhů kódování .......................................................................46
Obr. 34
Dialogové okno pro uložení průběhu ....................................................................................46
Obr. 35
Soubor s uloženými průběhy kódovaného signálu ...............................................................47
Obr. 36
Soubor s uloženými průběhy výkonových spekter................................................................47
Obr. 37
Zobrazení průběhu v samostatném okně .............................................................................48
Obr. 38
Zobrazení výkonového spektra v samostatném okně ..........................................................48 - 51 -
Příloha
Matěj Petkov
Příloha – Manuál k programu Simulátor kódování signálů v1.0 je k dispozici jako kompilát všech potřebných m-filů a souboru *.fig, ze kterých výpočetní systém Matlab samotný program skládá. Výsledkem kompilace je samostatně spustitelná aplikace typu *.exe, kterou je ovšem nutné distribuovat společně s balíkem MCRInstaller.exe, obsahujícím ovladače potřebné ke spuštění na počítačích bez systému Matlab. Soubor MCRInstaller.exe je nutné spustit a instalaci nechat proběhnout ještě před spuštěním Simulátoru.
1.
Ukázka práce se Simulátorem A)
Průběh kódovaného signálu a PSD
Zobrazit průběh kódovaného signálu a výkonové spektrum lze dvěma způsoby. Uživatel může využít tlačítko Generuj..., které generuje náhodné desetibitové datové řady, jež jsou následně kódovány, či využije druhé možnosti, to jest zadá řadu deseti bitů ručně a tato data zakóduje stiskem tlačítka Spustit!.
Obrázek 1 - Ukázka okna aplikace s kódovaným signálem a výkonovým spektrem
B)
Porovnání několika průběhů
Důležitou funkcí programu je porovnání několika průběhů kódovaného signálu a PSD v jednom grafu, k tomu slouží tlačítka 1-9, která představují formáty kódování vypsané v malém seznamu. Tlačítko Reset slouží k vymazání všech průběhů.
Příloha
Matěj Petkov
Obrázek 2 - Ukázka porovnání více průběhů kódovaného signálu a výkonových spekter
C)
Možnosti exportu
Jsou stejné pro oblast průběhu kódování i pro výkonová spektra, praktické je především tlačítko Uložit průběh (PSD) jako..., které umožňuje uživateli uložit aktuálně zobrazené průběhy (to znamená včetně těch přikreslených) tak, jak je vidí, do souboru v jednom z následujících grafických formátů: *.eps, *.emf, *.bmp, *.fig a *.pdf. Tlačítko Vykreslit ve „Figure“ zobrazí vybraný průběh v samostatném okně.
Obrázek 3 - Dialogové okno pro uložení průběhu
Příloha
2.
Matěj Petkov
Popis použitých druhů kódování Program Simulátor kódování signálů v1.0 umožňuje zakódovat řadu deseti
bitů pomocí jednoho z devíti vybraných formátů binárního kódování a jako výstup zobrazit digitální signál, jehož průběh je dán algoritmem příslušného druhu kódování. Typy kódování, které aplikace nabízí, jsou následující:
A)
Unipolární NRZ kód
Unipolární NRZ (Non Return to Zero) kódování popisuje binární nulu a jedničku následujícím způsobem:
0
1
+V 0 -V Obrázek 4 - Definice 0 a 1 pro Unipolární NRZ kód
Použití: NRZ kódů je využíváno pro reprezentaci digitálních dat modulujících signál a pro uchovávání magnetickým záznamem. 2
PSD:
B)
A2Tb sin(π f Tb ) 1 PunipolarNRZ ( f ) = 1 + δ ( f ) 4 π f Tb Tb
Unipolární RZ kód
Unipolární RZ (Return to Zero) kódování popisuje binární nulu a jedničku následujícím způsobem:
0
1
+V 0 -V Obrázek 5 - Definice 0 a 1 pro Unipolární RZ kód
Použití: Oproti NRZ signálům obsazují dvojnásobnou šířku pásma pro stejný tok dat. Modifikace RZ kódu, Inverzní RZ kód je metoda užívaná k zobrazování přenosu. Dvouúrovňový RZI signál vyjadřuje binární nulu pulsem (kratším než je
Příloha
Matěj Petkov
taktovací cyklus) a binární jedničku absencí pulsu. S pulsem o délce 3/16 bitu je využíván technologií IrDA. 2
PSD:
C)
A2Tb sin(π f Tb / 2) 1 PunipolarRZ ( f ) = 1 + 16 π f Tb / 2 Tb
∞
n =−∞
n b
∑δ f −T
Polární NRZ kód
Polární NRZ kódování popisuje binární nulu a jedničku následujícím způsobem:
0
1
+V 0 -V Obrázek 6 - Definice 0 a 1 pro Polární NRZ kód
Použití: NRZ kódů je využíváno pro reprezentaci digitálních dat modulujících signál a pro uchovávání magnetickým záznamem. sin(π f Tb ) PpolarNRZ ( f ) = A Tb π f Tb
PSD:
D)
2
2
Polární RZ kód
Polární RZ kódování popisuje binární nulu a jedničku následujícím způsobem:
0
1
+V 0 -V Obrázek 7 - Definice 0 a 1 pro Polární RZ kód
Použití: Oproti NRZ signálům obsazují dvojnásobnou šířku pásma pro stejný tok dat. Modifikace RZ kódu, Inverzní RZ kód je metoda užívaná k zobrazování přenosu. Dvouúrovňový RZI signál vyjadřuje binární nulu pulsem (kratším než je taktovací cyklus) a binární jedničku absencí pulsu. S pulsem o délce 3/16 bitu je využíván technologií IrDA.
Příloha
Matěj Petkov
PSD:
E)
A2Tb sin(π f Tb / 2) PpolarRZ ( f ) = 4 π f Tb / 2
2
Kód Manchester
Jedná se o antipodální (protilehlou) formu dipolárního kódování, které popisuje binární nulu a jedničku následujícím způsobem:
0
1
+V 0 -V Obrázek 8 - Definice 0 a 1 pro kód Manchester
Použití: Kódování Manchester je široce využíváno pro šíření časovacího signálu v VLSI obvodech, pro magnetické nahrávání a ukládání dat na magnetická média a především pro Ethernet LAN. Při využití pro přenos dat v LAN je prostý Manchester je využíván u standardu IEEE 802.3/Ethernet, jeho diferenciální varianta u standardu IEEE 802.5. Tento kód však není vhodný pro velké vzdálenosti. 2
PSD:
F)
sin(π f Tb / 2) 2 PManchester ( f ) = A Tb sin (π f Tb / 2) π f Tb / 2 2
Bipolární NRZ kód
Bipolární NRZ (nebo také AMI-NRZ = Alternate Mark Inversion) kódování popisuje binární nulu a jedničku následujícím způsobem:
0
1
+V 0 -V Obrázek 9 - Definice 0 a 1 pro Bipolární NRZ kód 2
PSD:
A2Tb sin(π f Tb ) 2 PbipolarNRZ ( f ) = sin (2π f Tb ) 4 π f Tb
Příloha
Matěj Petkov
G)
Bipolární RZ kód
Bipolární RZ (resp. AMI-RZ) kódování popisuje binární nulu a jedničku následujícím způsobem:
0
1
+V 0 -V Obrázek 10 - Definice 0 a 1 pro Bipolární RZ kód
Použití: Typ kódování „AMI“ byl značně využíván v první generaci PCM sítí a dodnes je stále obvykle k vidění na starších multiplexovacích zařízeních; úspěšný přenos je však u něj závislý na absenci dlouhých sérií nul. Aby byla zajištěna synchronizace, neměla by být poslána řada delší než 15 nul. V důsledku dalších opatření pro zajištění synchronizace a přijetí správných dat se snižuje efektivní datový průchod na 56 kbit/s na kanál. Z dnešního pohledu je třeba vnímat AMI kódy jako základní výchozí model pro složitější kódování pomocí tzv. Modifikovaných AMI kódů, které jsou schopny zajistit datový tok 64 kbit/s na kanál. V Severní Americe je za zástupce této nové generace možno považovat kódy typu BnZS – Bipolar with n-zero substitution (B3ZS, B6ZS, B8ZS), v Evropě (na nosičích typu „E“) je to pak verze HDB3 – High density bipolar 3. 2
PSD:
H)
A2Tb sin(π f Tb / 2) 2 PbipolarRZ ( f ) = sin (π f Tb ) 4 π f Tb / 2
Dipolární OOK kód
Dipolární OOK kódování popisuje binární nulu a jedničku následujícím způsobem:
Příloha
Matěj Petkov
0
1
+V 0 -V Obrázek 11 - Definice 0 a 1 pro Dipolární OOK kód
Použití: OOK varianta tohoto signálu je podobná výše uvedenému dipolárnímu kódu Manchester, rozdíl ve vyjádření nuly je příčinou odlišnosti Dipolárního OOK kódu a kódu Manchester, která se projeví ve výkonovém spektru. Jeho tvar mají oba kódy stejný, kód typu OOK má ovšem navíc spektrální čáru na frekvenci 1 T0 . 2
A2Tb sin(π f Tb / 2) 1 2 PSD: PDipolOOK ( f ) = sin (π f Tb / 2) ⋅ 1 + 4 π f Tb / 2 Tb
I)
∞
n =−∞
n b
∑δ f −T
CMI kód
CMI (Coded Mark Inversion) kódování popisuje binární nulu a jedničku následujícím způsobem:
0
1
+V 0 -V Obrázek 12 - Definice 0 a 1 pro kód CMI
Použití: CMI je kód, který je doporučen od ITU-T (Telekomunikačním standardizačním sektorem Mezinárodní telekomunikační unie) standardem G.703 (standard pro přenos hlasu či dat přes digitální T-nosiče) pro 140 Mbit/s multiplexovanou PCM. Sousměrný interface ITU (rozhraní, skrze nějž probíhá časová synchronizace několika signálů pouze v jednom směru) pro 64 kbit/s využívá tu verzi signálu CMI, ve které se polarita sousedních symbolů střídá (nehledě na to, zda se jedná o nuly či jedničky). Každý osmý symbol se potom využívá porušení pravidla střídání k označení posledního bitu každého slova PCM kódu (word = 8 bitů). 2
2
sin(π f Tb ) A2Tb sin(π f Tb / 2) 2 2 2 PSD: PCMI ( f ) = sin (π f Tb / 2) + A Tb sin (2π f Tb ) 4 π f Tb / 2 π f Tb