ALGORITMY PRO SYSTÉMY S TECHNIKOU ADAPTIVNÍHO FREKVENČNÍHO SKÁKÁNÍ ALGORITHMS FOR ADAPTIVE FREQUENCY HOPPING SPREAD SPECTRUM SYSTEMS

Podobné dokumenty
Analýza chování radiového systému s adaptivním frekvenčním skákáním v podmínkách intenzivního rušení

Rozprostřené spektrum. Multiplex a mnohonásobný přístup

Standard IEEE

ZÁKLADY DATOVÝCH KOMUNIKACÍ

Modulační parametry. Obr.1

Představíme základy bezdrátových sítí. Popíšeme jednotlivé typy sítí a zabezpečení.

Představení technologie

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

ZÁKLADY DATOVÝCH KOMUNIKACÍ

IEEE Wi FI. Wi Fi

Datové přenosy CDMA 450 MHz

íta ové sít baseband narrowband broadband

VY_32_INOVACE_ENI_2.MA_05_Modulace a Modulátory

DSY-4. Analogové a číslicové modulace. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

9. PRINCIPY VÍCENÁSOBNÉHO VYUŽITÍ PŘENOSOVÝCH CEST

Digitální modulace. Podpora kvality výuky informačních a telekomunikačních technologií ITTEL CZ.2.17/3.1.00/36206

Rádiové rozhraní GSM fáze 1

VY_32_INOVACE_E 15 03

Základní komunikační řetězec

21. DIGITÁLNÍ SÍŤ GSM

MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky

EXTRAKT z mezinárodní normy

1. Základy bezdrátových sítí

U Úvod do modelování a simulace systémů

Analogové modulace. Podpora kvality výuky informačních a telekomunikačních technologií ITTEL CZ.2.17/3.1.00/36206

Návrh konstrukce odchovny 3. dil

Modulace analogových a číslicových signálů

Základy a aplikace digitálních. Katedra radioelektroniky (13137), blok B2, místnost 722

1. Základy teorie přenosu informací

PSK1-5. Frekvenční modulace. Úvod. Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka. Název školy: Vzdělávací oblast:

Amplitudová a frekvenční modulace

DVB-H: Vstupní datový tok kodéru MPEG-2

Modulace 2. Obrázek 1: Model klíčování amplitudovým posuvem v programu MATLAB

Pasivní aplikace. PRŮZKUMU ZEMĚ (pasivní) PEVNÁ MEZIDRUŽICOVÁ 3 ) Pasivní aplikace. Pasivní aplikace. Pasivní aplikace

Routování směrovač. směrovač

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Úvod do zpracování signálů

Disková pole (RAID) 1

Druhy sdělovacích kabelů: kroucené metalické páry, koaxiální, světlovodné

Modelování polohových servomechanismů v prostředí Matlab / Simulink

SIMULACE JEDNOFÁZOVÉHO MATICOVÉHO MĚNIČE

Fakulta elektrotechniky a komunikačních technologií Ústav radioelektroniky. prof. Ing. Stanislav Hanus, CSc v Brně

Počítačové sítě Datový spoj

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ

PROJEKT ŘEMESLO - TRADICE A BUDOUCNOST Číslo projektu: CZ.1.07/1.1.38/ PŘEDMĚT PRÁCE S POČÍTAČEM

PB169 Operační systémy a sítě

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

Princip funkce počítače

Bezdrátový přenos signálu v reálné aplikaci na letadle.

Mobilní sítě. Počítačové sítě a systémy. _ 3. a 4. ročník SŠ technické. Ing. Fales Alexandr Software: SMART Notebook

37MK Semestrální práce. UMTS Frekvence, rádiové rozhraní a modulace

Přerušovací systém s prioritním řetězem

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE

Protokoly vrstvy datových spojů LAN Specifikace IEEE 802 pokrývá :

MĚŘENÍ VYSÍLACÍHO VÝKONU A ŠÍŘKY KANÁLU

Cisco Networking Accademy. 7. Bezdrátové sítě (Wireless Networks)

POUŽITÍ REAL TIME TOOLBOXU PRO REGULACI HLADIN V PROPOJENÝCH VÁLCOVÝCH ZÁSOBNÍCÍCH

Vypracoval: Ing. Antonín POPELKA. Datum: 30. června Revize 01

SEKVENČNÍ LOGICKÉ OBVODY

ZÁKLADNÍ METODY REFLEKTOMETRIE

Pohled do nitra mikroprocesoru Josef Horálek

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

VYUŽITÍ MATLABU PRO PODPORU VÝUKY A PŘI ŘEŠENÍ VÝZKUMNÝCH ÚKOLŮ NA KATEDŘE KOMUNIKAČNÍCH A INFORMAČNÍCH SYSTÉMŮ

KOMBINAČNÍ LOGICKÉ OBVODY

DUM č. 6 v sadě. 31. Inf-7 Technické vybavení počítačů

Direct Digital Synthesis (DDS)

Tester chybovosti 4xSTM-1

6. Transportní vrstva

Jan Zbytovský. Tato prezentace je duševním vlastnictvím fy Dcom, spol s r.o. a může být použitá jen s jejím souhlasem.

Základní principy přeměny analogového signálu na digitální

Řízení IO přenosů DMA řadičem

Identifikátor materiálu: ICT-1-15

Pulzní (diskrétní) modulace

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

12 Metody snižování barevného prostoru

Reliance. Komunikační driver Johnson Controls verze 1.5.4

Konfigurace sítě SDH propojení a ochrany

PŘÍSTUPOVÉ METODY KE KOMUNIKAČNÍMU KANÁLU

PROTOKOL RDS. Dotaz na stav stanice " STAV CNC Informace o stavu CNC a radiové stanice FORMÁT JEDNOTLIVÝCH ZPRÁV

31SCS Speciální číslicové systémy Antialiasing

ZÁKLADY INFORMATIKY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ. Ing. Roman Danel, Ph.D. Ostrava 2013

MRAR-L. Družicové navigační systémy. Č. úlohy 4 ZADÁNÍ ROZBOR

13 Barvy a úpravy rastrového

oblasti je znázorněn na obr Komplexní obálku můžeme rozepsat na její reálnou a

Počítačové sítě Datový spoj

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

Model: Mbps Wireless 11G+ Access Point UŽIVATELSKÝ MANUÁL

Tester chybovosti 6xE1 Software pro ukládání dat

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Seriové ATA, principy, vlastnosti

Smart Sensors and Wireless Networks Inteligentní senzory a bezdrátové sítě

Vlastnosti a modelování aditivního

Sítě IEEE (WiFi)

Měřicí technika pro automobilový průmysl

MATLAB PRO PODPORU VÝUKY KOMUNIKAČNÍCH SYSTÉMŮ

FREESCALE TECHNOLOGY APPLICATION

Moderní technologie linek. Zvyšování přenosové kapacity Zvyšování přenosové spolehlivosti xdsl Technologie TDMA Technologie FDMA

cca 3dB DVB-T přijímač Testovací vysílač cca 3dB Obr. 1: Blokové schéma

Transkript:

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS ALGORITMY PRO SYSTÉMY S TECHNIKOU ADAPTIVNÍHO FREKVENČNÍHO SKÁKÁNÍ ALGORITHMS FOR ADAPTIVE FREQUENCY HOPPING SPREAD SPECTRUM SYSTEMS DIPLOMOVÁ PRÁCE MASTER S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR BC. TOMÁŠ ZUNT ING. RADIM PUST BRNO 2009

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Diplomová práce magisterský navazující studijní obor Telekomunikační a informační technika Student: Bc. Tomáš Zunt ID: 83095 Ročník: 2 Akademický rok: 2008/2009 NÁZEV TÉMATU: Algoritmy pro systémy s technikou adaptivního frekvenčního skákání POKYNY PRO VYPRACOVÁNÍ: Cílem diplomové práce je vyhledat a detailně popsat jednotlivé algoritmy, které využívají systémy s technikou adaptivního frekvenčního skákání. Následně vytvořit simulaci systému s technikou adaptivního frekvenčního skákání v prostředí programu Matlab. DOPORUČENÁ LITERATURA: [1] DOBEŠ, Josef. Moderní radiotechnika. 1. vyd. Praha : BEN - technická literatura, 2006. 767 s. ISBN 80-7300-132-2. [2] KARBAN, Pavel. Výpočty a simulace v programech Matlab a Simulink. Brno : Computer Press, 2006. 220 s. ISBN 80-251-1301-9. Termín zadání: 9.2.2009 Termín odevzdání: 26.5.2009 Vedoucí práce: Ing. Radim Pust prof. Ing. Kamil Vrba, CSc. Předseda oborové rady UPOZORNĚNÍ: Autor diplomové práce nesmí při vytváření diplomové práce porušit autorská práve třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení 152 trestního zákona č. 140/1961 Sb.

ABSTRAKT: Tato diplomová práce pojednává o systémech, které využívají techniku frekvenčního skákání FH (Frequency Hopping). Je vysvětlen princip této techniky a její výhody a nevýhody. Následuje popis techniky adaptivního frekvenčního skákání AFH (Adaptive Frequency Hopping), kterou využívá systém Bluetooth. Následuje popis dalších metod na úpravu skokové posloupnosti jako například dynamické frekvenční skákání DFH (Dynamic Frequency Hopping), které využívá standart 802.22. Tento standart se zabývá použitím části spektra, které dosud využívá TV vysílání (47 910 MHz) pro použití ve WRAN (Wireless Regional Area Network). Další technika úpravy skokové posloupnosti se jmenuje adaptivní rotace nosných frekvencí AFR (Adaptive Frequency Rolling). Rotace nosných tvz. rolling je nová technika umožňující více pikosítím, které by se normálně vzájemně ovlivňovaly využívat stejné kanály v různých časových úsecích. Poslední technika, která je v práci představena se jmenuje dynamické adaptivní frekvenční skákání nosné DAFH (Dynamic Adaptive Frequency Hopping). Tato technika taktéž řeší vzájemné ovlivňování více pikosítí pomocí zmenšování nebo zvětšování skokové posloupnosti. Praktická část diplomové práce popisuje návrh modelu AFH systému za pomocí programu Matlab Simulink. V práci jsou popsány funkce jednotlivých bloků a jejich nastavení. Dále je uveden popis grafického rozhraní pomocí, kterého můžeme jednoduše měnit parametry simulace. Výsledný model dokáže simulovat vliv statických a dynamických růšiču v přenosovém pásmu při komunikaci dvou zařízení. Klíčová slova Adaptivní frekvenční skákání AFH, Dynamické frekvenční skákání DFH, adaptivní rotace nosných frekvencí AFR, dynamické adaptivní frekvenční skákání DAFH, Matlab Simulink, Matlab (R2008a), Bluetooth.

Abstract: This master's thesis deal the system, which use the Frequency Hopping (FH). Is explained principle those techniques and her benefits and disadvantages. Follows description techniques Adaptive Frequency Hopping (AFH) that used the Bluetooth. Follows description other method for setup hopset such as Dynamic Frequency Hopping (DFH), which used standards 802.22. 22. Is an emerging standard for Wireless Regional Area Networks (WRAN) operating on a license-exempt and non-interference basis in the spectrum allocated to TV broadcast services (between 47 910 MHz). Other method introduces the Adaptive Frequency Rolling (AFR), a particular instance of frequency hopping (FH) that enables the collocated WPANs to cooperate and avoid the self-interference. The AFR uses as input solely the observed packet error rate (PER) and it does not require any exchange of information among the collocated WPANs. The effect of the FR over a longer time interval is that the WPANs use the complete set of disposable channels in an implicit time-division and cooperative manner. Last method described in this Thesis is Dynamic Adaptive Frequency Hopping (DAFH). The basic strategy applied in DAFH is a binary search for a hopset that offers smaller PER. The set of admissible hopsets depends on the total number of available channels and the maximal level of binary divisions. Practical part of the master's thesis describes proposal model AFH, with usage of Matlab Simulink programme. In thesis are described function each blocks a their setting. Simulation parameters can change in simple graphic interface. The model is able to simulate influence of static and dynamic interference in transmission band of two communicating devices. Key words: Adaptive Frequency Hopping (AFH), Dynamic Frequency Hopping (DHF), Adaptive Frequency Rolling (AFR), Dynamic Adaptive Frequency Hopping (DAFH), Matlab Simulink, Matlab (R2008a), Bluetooth.

ZUNT, T. Algoritmy pro systémy s technikou adaptivního frekvenčního skákání. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, 2009. XY s. Vedoucí diplomové práce Ing. Radim Pust.

PROHLÁŠENÍ Prohlašuji, že svoji diplomovou práci na téma ALGORITMY PRO SYSTÉMY S TECHNIKOU ADAPTIVNÍHO FREKVENČNÍHO SKÁKÁNÍ jsem vypracoval samostatně pod vedením vedoucího diplomové práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené diplomové práce dále prohlašuji, že v souvislosti s vytvořením této diplomové práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědom následků porušen ustanovení 11 a následujících autorského zákona č.121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení 152 trestního zákona č.140/1961 Sb. V Brně dne.. (podpis autora)

PODĚKOVÁNÍ Děkuji vedoucímu diplomové práce Ing. Radimu Pustovi, za velmi užitečnou metodickou pomoc a cenné rady při zpracování diplomové práce. Dále bych chtěl poděkovat Ing. Radimu Čížovi Ph.D., za pomoc při vytváření modelu a grafického uživatelského rozhraní. V Brně dne.. (podpis autora)

Obsah 1 Úvod...12 2 Systémy s kmitočtovým skákáním nosné...13 2.1 Multiplexovaní v systému FHSS...15 3 Systémy s adaptivním kmitočtovým skákáním nosné...16 3.1 Struktura AFH...18 4 Metody pro úpravu posloupnosti kmitočtového skákání...21 4.1 Dynamické frekvenční skákání...22 4.2 Systém s adaptivní rotací nosných frekvencí...24 4.3 Dynamické adaptivní frekvenční skákání nosné...27 5 Popis modelu...31 5.1 Subsystém Master...32 5.1.1 Blok výpočet CRC...34 5.1.2 Blok generování kanálu...34 5.2 Subsystém Přenos...37 5.2.1 Subsystém změna dynamických rušičů...38 5.3 Subsystém Slave...39 5.3.1 Subsystém If action...41 5.3.2 Blok Vyhodnocení...42 6 Uživatelské rozhraní...44 7 Výsledky...49 8 Závěr...53 9 Použitá literatura...54 Seznam příloh...56-8-

Seznam obrázků Obr. 2.1: Blokové schéma realizace techniky FHSS [15]...13 Obr. 2.2: Průběhy rušení signálu na jedné frekvenci [15]...14 Obr. 2.3: Zjednodušené zobrazení čtyř zařízení komunikující pomocí systému FHSS.. 15 Obr. 3.1: Kolize v systému FH...16 Obr. 3.2: Zamezení kolizím použitím systému s AFH...17 Obr. 3.3: Blokové schéma systému s AFH [11]...18 Obr. 3.4: Generování čísla kanálu u systému AFH [8]...19 Obr. 4.1: Příklad dvou vzájemně se rušící pikosítí...21 Obr. 4.2: Současné vysílání dat a monitorovaní ostatních kanálů...22 Obr. 4.3: DFH při použití 3 WRAN...23 Obr. 4.4: a) AFR systém s šířkou skokové posloupnosti nastavenou na 20 kanálů. b) FH systém skákající přes všech 80 kanálů...25 Obr. 4.5: Příklad použití AFH systému v případě dvou vzájemně se rušících pikosítí...26 Obr. 4.6: Celkové obsazení jednotlivých kanálů: a) pikosítě přeskakují přes všechny dostupné kanály. b) pikosítě využívají N ortogonálních skokových sekvencí a každá z nich obsahuje F/N kanálů...29 Obr. 5.1: Hlavní subsystémy modelu...32 Obr. 5.2: Struktura paketu používaného v simulaci...32 Obr. 5.3: Subsystém Master...33 Obr. 5.4: Blok vypočtu CRC...34 Obr. 5.5: Subsystém generování kanálu...36 Obr. 5.6: Subsystém přenos...37 Obr. 5.7: Subsystém změna dynamických rušičů...38 Obr. 5.8: Subsystém ověření adresy...39 Obr. 5.9: Subsystém Slave...40 Obr. 5.10: Subsystém If action...41 Obr. 5.11: Subsystém detektor...41 Obr. 6.1: Uživatelské rozhraní pro ovládání simulace...44 Obr. 6.2: Paketová chybovost kanálů s 10 statickými širokopásmovými rušiči a 5 dynamickými rušiči...46 Obr. 6.3: Způsob přenosu jednotlivých paketů v systému s 10 statickými širokopásmovými rušiči a 5 dynamickými rušiči...47 Obr. 6.4: Statistika přenosu v systému s 10 statickými širokopásmovými rušiči a 5 dynamickými rušiči...47 Obr. 7.1: Zobrazení přenosu pomocí FH systému...49 Obr. 7.2: Zobrazení přenosu pomocí AFH systému...50 Obr. 7.3: Zobrazení AFH systému s krátkou dobou učení...50 Obr. 7.4: Překročení počtu maximálně nahraditelných kanálů...51 Obr. 7.5: Způsob přenosu AFH systému v prostředí s 30 dynamickými rušiči...52 Obr. 7.6: Způsob přenosu AFH systému v prostředí s 30 dynamickými rušiči...52-9-

Seznam tabulek Tab. 1: Tabulka všech kanálů...20 Tab. 2: Tabulka dobrých kanálů...20 Tab. 3: Sada posloupností pro L=2 a F=8...28-10-

Použité zkratky a symboly AFH Adaptive Frequency-Hopping AFR Adaptive Frequency Rolling AFR-P Adaptive Frequency Rolling with Probing BER Bit Error Rate BS Base Station DAFH Dynamic Adaptive Frequency Hopping DAFH-CT Dynamic Adaptive Frequency Hopping Constant Treshold DAFH-AT Dynamic Adaptive Frequency Hopping Adaptive Treshold DFH Dynamic Frequency Hopping DFHC Dynamic Frequency Hopping Communities DVB-T Digital Video Broadcasting -Terestrial FH Frequency-Hopping FHSS Frequency-Hopping Spread Systems FSK Frequency Shift Keying GPS Global Position systém GUIDE Graphical User Interface Development Environment ISM Industrial, Scientic and Medical band MRR Multi Role Radio OFDM Orthogonal Frequency Division Multiplex PDA Personal Data Asistent PFH Pseudorandom Frequency Hopping PLR Packet Loss Ratio RSSI Received Signal Strength Indication SINCGARS SINgle Channel Ground and Airborne Radio systém USB Universal Serial Bus WLAN Wireless Local Area Network WMAN Wireless Metropolitan Area Network WPAN Wireless Personal Area Network WRAN Wireless Regional Area Network -11-

1 ÚVOD Systémy s technikou adaptivního frekvenčního skákání jsou vylepšením systémů s kmitočtovým skákáním nosné. Tyto systémy se řadí mezi systémy s rozprostřeným spektrem. V daném časovém okamžiku je přenos pomocí FH (Frequency-Hopping) úzkopásmový, ale v dlouhodobém hledisku lze chápat systém jako širokopásmový z důvodu změny kmitočtu nosné vlny v širším frekvenčním pásmu. Představitelem této technologie je Bluetooth, které využívá kmitočtového skákání nosné. Použití nachází denně v mnoha užitečných aplikacích např. bezdrátová sluchátka k mobilnímu telefonu či mp3 přehrávači, synchronizace PDA (Personal Data Asistent) s osobním počítačem. Novější verze Bluetooth používá techniku adaptivního frekvenčního skákání. Výhodou systémů s technikou frekvenčního skákání je vyšší odolnost vůči rušení a těžší odposlech. Proto se tyto systémy už dlouho používají v armádě např. MRR (Multi Role Radio), SINCGARS (SINgle Channel Ground and Airborne Radio System), EriTac. Více o těchto systémech můžete nalézt v [11]. V této práci se budeme zabývat popisem principů metod na adaptivní úpravu skokové posloupnosti. Mezi tyto metody patří AFH (Adaptive Frequency Hopping), DHF (Dynamic Frequency Hopping), AFR (Adaptive Frequency Rolling), DAFH (Dynamic Adaptive Frequency Hopping). Praktická část práce zahrnuje návrh modelu AFH systému v prostředí Matlab Simulink (R2008a), který některými funkcemi není zpětně kompatibilní s předchozími verzemi, a tak pro spuštění modelu je třeba zmíněná nebo novější verze programu Matlab. Cílem simulace je znázornění funkce AFH systému při komunikaci dvou zařízení v zarušeném přenosovém prostředí. Pro ověření funkce modelu bylo navrženo grafické rozhraní s možností vlastních hodnot parametrů simulace. -12-

2 SYSTÉMY S KMITOČTOVÝM SKÁKÁNÍM NOSNÉ Techniky rozprostřeného spektra se užívá u systémů se skokovou změnou kmitočtu nosné FHSS (Frequency-Hopping Spread Systems), které vlastně představují variantu modulace M-FSK, tj. více stavového klíčování kmitočtovým posuvem. Digitálním modulačním systémem (viz Obr. 2.1) s bitovou rychlostí f b se nejprve v datovém modulátoru moduluje, například ve formátu 2-FSK, nosná vlna o kmitočtu f 0. Takto získaný úzkopásmový modulovaný signál se přivádí na jeden vstup směšovače. Na jeho druhý vstup přichází nosná vlna, jejíž kmitočet se mění v ekvidistantních okamžicích mezi N diskrétními ekvidistantními hodnotami ležícími v určitém pásmu B vf souměrně okolo středního kmitočtu f c. Změny kmitočtu jsou řízeny pseudonáhodným signálem, s bitovou rychlostí f p. Používá se Walsh-Hadamardův kód, který oproti Goldovým kódům má však velmi výhodnou vlastnost a to, že tyto kódy jsou navzájem ortogonální a tím je dosaženo nulové vzájemné korelace. Díky tomu lze mnohem lépe rozlišovat kódované signály v komunikačním kanálu a tím zlepšit poměr signál / šum. Za směšovačem následuje horní propust propouštějící součtové složky. Ve směšovači přijímače se tento signál vynásobí přesnou a dokonale synchronizovanou replikou skákající nosné použité ve vysílači, čímž se převede signál na úzkopásmový. Ten se po filtraci již demoduluje v konvenčním demodulátoru M-FSK [15]. Obr. 2.1: Blokové schéma realizace techniky FHSS [15]. -13-

Výhodou systémů FHSS je, že při rušení na úzkém kmitočtovém pásmu dojde k malému počtu špatných skoků tj. zaruší se pouze několik bitů viz Obr. 2.2. Modrý pruh značí statické rušení pracující po celou dobu komunikace. Černě jsou zobrazeny skoky na nezarušené frekvence a šedivě je zobrazen skok na zarušenou frekvenci. f Špatný skok Rušení Dobrý skok Obr. 2.2: Průběhy rušení signálu na jedné frekvenci [15]. t Podle poměru rychlosti f p signálu PNP a rychlosti symbolové dat rozdělujeme systémy: Je-li rychlost f p signálu PNP menší než symbolová rychlost dat, získá se systém s pomalým kmitočtovým skákáním tzv. Slow Frequency Hopping Spread Spectrum, u kterého dojde přeskoku až po přenesení určitého počtu bitů. Použití např. v GSM sítích pro zvětšení odolnosti vůči únikům vlivem mnohacestného šíření. Je-li rychlost f p větší, jedná se o systém s rychlým kmitočtovým skákáním FastFrequency Hopping Spread Spectrum. U systémů s rychlým kmitočtovým skákáním, kdy v době trvání jednoho bitu dojde k několika přeskokům, se jedna zarušená frekvence nemusí projevit vůbec. -14-

2.1 Multiplexovaní v systému FHSS skokové frekvence t1 t2 t [s] Obr. 2.3: Zjednodušené zobrazení čtyř zařízení komunikující pomocí systému FHSS. Technologie FHSS umožňuje, aby současně komunikovalo několik zařízení bez vzájemného rušení (technologie IEEE 802.15 umožňuje až 7 zařízení). Na Obr. 2.3 vidíme 4 zařízení, která jsou zobrazeny jinými barvami. Systém pracuje s 10 skokovými frekvencemi. Základním požadavkem komunikace mezi vysílačem a přijímačem je dodržení správné synchronizace. Správná synchronizace znamená, že vysílač i přijímač musí využívat stejnou pseudonáhodnou posloupnost nosného kmitočtu. Dále je nutné dodržet i správné časové intervaly přenosu a doby přechodu z jednoho nosného kmitočtu na druhý[10]. t1 (dwell time) Doba přenosu na konkrétním kmitočtu. Charakteristická doba se pohybuje v rozmezí 100 ms až 200 ms. t2 (hop time) Doba potřebná k přelazení jednoho kmitočtu na následující skokový kmitočet. Charakteristická doba se pohybuje v rozmezí 200 μs až 300 μs. -15-

3 SYSTÉMY S ADAPTIVNÍM KMITOČTOVÝM SKÁKÁNÍM NOSNÉ Zdokonalením techniky frekvenčního skákání je adaptivní frekvenční skákání AFH (Adaptive Frequency Hopping), které používá algoritmy k eliminaci vlivu statických rušičů. Při komunikaci dvou a více zařízení se v přenosovém prostředí může vyskytnout i libovolný počet dynamických rušičů. Úkolem AFH je vhodně adaptovat vygenerovanou pseudonáhodnou skokovou posloupnost tak, aby co nejefektivněji využívala přenosové pásmo a zároveň snižovala chybovost přenosu. Systém zjišťuje zarušené skokové frekvence a poté je ve výsledné skokové posloupnosti nahrazuje nezarušenými. Ke zjišťování se používá více metod např. Bitová chybovost BER (Bit Error Rate), úroveň RSSI (Received Signal Strength Indication). Nahrazená frekvence může být využívána jiným systémem pracujícím ve stejném frekvenčním pásmu, nebo např. průmyslovým rušením. Druhý systém pracující ve stejném frekvenčním pásmu může rušit náš sledovaný systém jen po krátkou dobu či trvale. V prvním případě může AFH rychle zareagovat a znovu použít frekvence, které používal druhý systém. V druhém případě AFH trvale označuje frekvence za zarušené. f [GHz] 2,5 Bluetooth Wifi 2,4 Obr. 3.1: Kolize v systému FH. t Při komunikaci v systému Bluetooth (IEEE 802.15) je zařízení, které inicializuje komunikaci bráno jako Master a všechny ostatní jako Slave. Systém Bluetooth pracuje v bez licenčním pásmu ISM ( Industrial, Scientic and Medical band), které v dnešní době využívá i spoustu jiných komunikačních systému nebo i domácích spotřebičů. -16-

Na Obr. 3.1 můžeme vidět výskyt kolizí při současné komunikaci systémů Bluetooth a systému Wifi (802.11b) bez použití AFH, které Bluetooth podporuje od verze 1.2 [11]. Modrý pruh je pásmo používané systémem 802.11b. Černě jsou opět skoky na nezarušené frekvence a šedivě na zarušené frekvence. Systém Bluetooth bez AFH generuje pseudonáhodné skokové frekvence na základě více parametrů, o kterých se můžete více dočíst v [19]. Při použití AHF je systém schopen zarušené frekvence nahradit za správné a tím snížit chybovost přenosu (viz Obr. 3.2). Pro lepší přehlednost jsou v Obr. 3.2, původní špatné skoky zobrazeny opět šedivě, i když jsou uskutečněny už jako skoky dobré. f [GHz] 2,5 Bluetooth Wifi 2,4 t Obr. 3.2: Zamezení kolizím použitím systému s AFH. Systém nemůže nahradit všechny zarušené kmitočty, ale jen omezené množství. Při velkém počtu nahrazených kanálů by se mohl systém dostat do situace, kdy útočník úmyslně zaruší větší část námi využívaného pásma. Tím se pásmo používané pro přenos natolik omezí, že bude útočník schopen snáze odposlouchávat komunikaci, čímž ztratíme jednu z výhod systému pracujících na principu AFH. Další možností útočníka je zarušit jím definované kanály a tím systém přinutit přeskakovat po frekvencích, které útočník chce a může je odposlouchávat. Nejjednodušší princip AFH je rozdělení kanálu na dobré a špatné kanály. O různých principech fungování AFH se můžeme dočíst na [22]. Jsou to stránky pracovní skupiny Task Group 2 (TG2), která měla za úkol vybrat nejvhodnější mechanismy pro standart IEEE 802.15 WPAN (Wireless Personal Area Network). -17-

3.1 Struktura AFH Identifikace zařízení Klasifikace kanálů Obr. 3.3: Blokové schéma systému s AFH [11]. Výměna informací Adaptivní skákání Na Obr. 3.3 je zobrazeno blokové schéma systému, který používá techniku AFH. Jednotlivé bloky si blíže popíšeme: Identifikace zařízení- V tomto bloku se Master dotazuje všech Slave zařízení, jestli podporují AFH a dotazuje se na další parametry AFH mechanismu. Když zařízení odpoví, že mechanismus AFH nepodporuje, pak systém pracuje jako klasický FH. Klasifikace kanálů- V tomto bloku se vyhodnocuje kvalita kanálů používaných pro přenos. Vyhodnocení provádí jak Master, tak Slave. K hodnocení kvality se používá PLR (Packet Loss Ratio), BER (Bit Error Ratio), RSSI (Received Signal Strength Indication). Výměna informací- V tomto bloku si zařízení vyměňují informace o klasifikaci. Informace se můžou vyměňovat dvěma způsoby: Unicast- Každému podporovanému Slave zařízení je zvlášť poslána žádost k zahájení a ukončení adaptivního skákání. Výhoda spočívá v tom, že Master má kontrolu nad tím, komu žádost přišla a komu naopak nepřišla. Zařízení nepodporující AFH se nic neposílá. Broadcast- Další metoda distribuce informací je pomocí všesměrové (Broadcast) žádosti. Podporovaný Slave začne používat AFH okamžitě po přijetí seznamu dobrých a špatných kanálů. Slave, který nepodporuje AFH, pokračuje v přenosu na původní skokové sekvenci a ignoruje tuto všesměrovou žádost. Nevýhodou této metody je, že Master neví jestli žádost dostaly všechna podporovaná zařízení. Výhodou této metody je rychlejší distribuce. -18-

Adaptivní skákání- V tomto bloku se upravuje originální skoková sekvence. V kapitole 3 jsme diskutovali o možnostech odposlouchání přenosu, ale nebylo uvedeno žádné možné protiopatření. Jedním z nich může být omezení počtu nahraditelných kanálů, který zároveň muže pomoct při nedoručení třídicích informací tím, že může zabránit úplné desynchronizaci komunikujících zařízení. Úprava probíhá tak, že se vygeneruje číslo kanálu stejně jako u klasického FH, ale za ním nasleduje blok rozhodování, zda je vygenerovaný kanál označen jako dobrý či špatný. Dobrý kanál je rovnou použit ve výsledné skokové frekvenci. Pokud je vygenerovaný kanál označen za špatný, následuje jeho náhrada za kanál z tabulky dobrých kanálů. Abychom předešli vybírání stále stejného kanálu v tabulce dobrých kanálů použijeme zapojení zobrazené na Obr. 3.4. Funkce zapojení je taková, že se vygeneruje pseudonáhodné číslo, které je jedním vstupem do bloku provádějící logickou operaci XOR. Druhým vstupem je číslo vygenerovaného špatného kanálu. S výsledkem z je provedena operace modulo m, kde m značí počet řádků tabulky s dobrými kanály. Tímto získáme index, dle kterého vybíráme příslušný kanál z tabulky dobrý kanálů. Tím je proces náhrady ukončen. Dále následuje opět generování čísla kanálu a celý proces se opakuje znovu, až se vygeneruje celá skoková posloupnost. Generátor nosné dobrý špatný z XOR (z mod m)+1 Dobré kanály Skoková sekvence PNP Obr. 3.4: Generování čísla kanálu u systému AFH [8]. Pro lepší pochopení si uvedeme názorný příklad. Máme k dispozici 12 kanálů určených pro přenos. U každého kanálu známe jeho stav, jestli je dobrý či spatný. Dobrý kanál má svůj stav označen jako 0 a špatný jako stav 1 (viz Tab. 2). Toto označení používá i systém Bluetooth. Nejprve se vygeneruje číslo kanálu 4, který je označen jako dobrý a proto se přímo použije. Další vygenerované číslo kanálu je 9, což je špatný kanál, a tak se použije výše popsaný mechanismus náhrady kanálu. Vygeneruje se pseudonáhodné číslo 4. Dále -19-

se provede operace XOR mezi číslem kanálu a pseudonáhodným číslem. 9 XOR 4 =13. Výsledek podrobíme operaci modulo, kvůli zjištění indexu v tabulce dobrých kanálů (Tab. 1). V našem případě dostáváme (13 mod 7)+1=7. Indexu 7 v tabulce dobrých kanálu odpovídá kanál číslo 11, který je pak použitý pro přenos, na místo původně vygenerovaného čísla 9. Tab. 1: Tabulka všech kanálů kanál stav 1 1 2 0 3 0 4 0 5 1 6 0 7 0 8 1 9 1 10 0 11 0 12 1 Tab. 2: Tabulka dobrých kanálů řádek kanál 1 2 2 3 3 4 4 6 5 7 6 10 7 11-20-

4 METODY PRO ÚPRAVU POSLOUPNOSTI KMITOČTOVÉHO SKÁKÁNÍ Technologie Bluetooth umožňuje realizovat dvoubodové tak i vícebodové spojení. Při spojení více zařízení do tvz. pikosítě (piconets) je jedno zařízení hlavní (master) a ostatní jsou podřízené (slave) Podřízených zařízení může být až 7, které jsou synchronizovány z hlavního zařízení. Bluetooth podporuje více výkonových tříd 1, kde v třídě 1 má teoretický dosah až 100m. V tomto případě se může jednoduše stát, že ve stejném dosahu bude pracovat ještě další pikosíť a bude docházet ke vzájemnému rušení (Obr. 4.1). Ve stejném frekvenčním pásmu pracují i další zařízení, tak pravděpodobnost vzájemného rušení stoupá zejména v místech s vysokou koncentrací lidí, jako jsou třeba nákupní centra či školy. Dalším případem může být navrhovaný standart 802.22 WRAN (Wireless Regional Area Networks), který se k zajištění garantované kvality služeb snaží předcházet vzájemnému rušení mezi jednotlivými základnovými stanicemi vhodnou úpravou skokové posloupnosti. Obr. 4.1: Příklad dvou vzájemně se rušící pikosítí. Metody, které takové rušení eliminují, můžou být buď spolupracující nebo nespolupracující. Spolupracující metody, jak už z názvu plyne, využívají vzájemnou komunikaci mezi jednotlivými pikosítěmi (buňkami) k výměně informací k upravení 1 Přesný přehled vysílacích výkonů a dosahů můžete nalézt v [19]. -21-

skokových posloupností. Nevýhoda spolupracujících metod je v tom, že pokud by se v dosahu sítě objevilo jiné zařízení, které nemá tuto metodu na implementovanou, docházelo by stále ke vzájemnému rušení. Nespolupracující metody upravují skokové posloupnosti jen na základě vlastního měření kvality jednotlivých kanálů. Příkladem nespolupracujících metod je například AFH. Při použití AFH by teoreticky mohlo dojít k situaci, kdy dvě navzájem rušící se zařízení by naměřily stejné špatné kanály. Za předpokladu, že by nedocházelo k jiným chybám při přenosu, by mohlo dojít k tomu, že by obě dvě zařízení přestala tyto kanály používat a skákala by po menším počtu stejných kanálů. Pravděpodobnost toho, že se tato zařízení budou opět vzájemně rušit, by vzrostla a zařízení by opět mohla naměřit stejné špatné kanály. 4.1 Dynamické frekvenční skákání Dynamické frekvenční skákání DFH (Dynamic Frequency Hopping) je metoda, kterou využívá standart 802.22 a patří mezi spolupracující metody. Standart 802.22 se zabývá použitím části spektra, které dosud využívá TV vysílání pro použití ve WRAN (Wireless Regional Area Network). Norma je rozšíření standartu 802.16 WMAN (Wireless Metropolitan Area Network), který není uzpůsoben pro použití v této části kmitočtového spektra. Odlišnost standartů není v dosahu a poskytovaných službách, ale právě v použitém kmitočtovém pásmu. Tato metoda patří mezi spolupracující metody, kdy mezi sebou komunikují jednotlivé základnové stanice BS (Base Station), aby snížily vzájemné rušení. Standart definuje i nespolupracující metodu, kterou využívají nově připojené BS než se domluví s ostatními buňkami, nebo v době přerušení komunikace mezi buňkami na dobu delší než je nezbytná k výměně informací o skokové posloupnosti. Neaktivní kanály Ochranné pásmo Aktivní kanál Ochranné pásmo Neaktivní kanály Obr. 4.2: Současné vysílání dat a monitorovaní ostatních kanálů. Frekvence -22-

V základním módu se definovanou dobu vysílají data na určitém kmitočtu a následovně se měří kvalita jednotlivých kanálů. Tento postup do přenosu zavádí vetší režii, která může činit problémy při používaní např. VoIP (Voice over IP). V DFH módu jednotlivé buňky WRAN přeskakují mezi definovanými kanály. Během vysílání na určitém kanálu se zároveň monitorují ostatní kanály, které systém hodlá později použít pro přenos dat. Doba, po kterou se vysílá na jednotlivém kanálu, jsou dvě sekundy poté dojde k přeskoku na další kanál. Ochranná pásma (Obr. 4.2) mezi aktivním kanálem a neaktivními kanály slouží k omezení jejich vzájemné interference. Pro korektní fungovaní DFH jsou tedy třeba minimálně dva kanály. Na jednom se uskutečňuje přenos a na druhém probíhá měření. Jednoduchým rozšířením tohoto schématu lze dle [16] dokázat, že 2*N kanálů je dostačující pro N nesladěných a vzájemně interferujících buněk k tomu, aby mohly pracovat bez kolize mezi sebou. Jestliže se překrývající buňky rozhodnou spolupracovat, může se počet kanálů ještě snížit až na N+1 kanálů. Ochranná perioda Pracovní perioda Kanál A WRAN1 WRAN2 WRAN3 WRAN1 WRAN2 WRAN3 Kanál B WRAN1 WRAN2 WRAN3 WRAN1 WRAN2 2 x OP Kanál C WRAN3 WRAN1 WRAN2 WRAN3 WRAN1 WRAN2 1 x OP Kanál D WRAN2 WRAN3 WRAN1 WRAN2 WRAN3 WRAN1 Obr. 4.3: DFH při použití 3 WRAN. Na Obr. 4.3 můžeme vidět posunutí začátku pracovní fáze u DFH systému se N=3 překrývajícími se WRAN buňkami přes (N+1)=4 kanály. Každá WRAN buňka posune svůj začátek o jednu ochranou periodu OP. V našem případě WRAN2 opozdí svoji první pracovní periodu o 1x OP vůči WRAN1 a WRAN3 o jednu vůči WRAN2. Během OP probíhá monitorování stavů ostatních kanálů. Z toho vyplývá, že OP musí být dostatečně dlouhá, aby došlo ke spolehlivému zjištění stavu kanálů. Jedna z buněk je hlavní (vedoucí) (Leader) a ostatní se k ní připojují do tzv. společenství DFHC -23-

(Dynamic Frequency Hopping Communities). Vedoucí buňka je zodpovědná za rozhodování, s kým si bude vyměňovat naměřené informace, skokovou sekvenci a o rozhodování členství ve společenství. Členové skupiny poskytují hlavní buňce informace o jejich naměřených hodnotách rušení vůči svým sousedním buňkám. Všichni členové musí být řádně synchronizovaní a musí mít nastavenou stejnou hodnotu ochranné a pracovní periody. Každá WRAN buňka má jedinečnou IEEE 802 MAC adresu, prioritu a snaží se vytvořit nebo připojit k DFHC. A však každá jednotlivá buňka, která ztratila spojení se společenstvím dočasně přistoupí k vysílání mimo DFH mód. Samotné spojení uvnitř společenství je založené na pravidelné obnově informací během definované doby platnosti stavu jednotlivých kanálů. Výběr hlavní buňky se děje na základě vyšší priority nebo v případě shodné priority na základě nižší MAC adresy. Každá skoková posloupnost má omezenou dobu platnosti a do skončení této doby musí hlavní buňka určit nový vzor, který musí všichni členové společenství potvrdit. Pokud některý z členů nepřijme nový vzor, tak po skončení doby platnosti původního se přepne mimo DFH mód. 4.2 Systém s adaptivní rotací nosných frekvencí Další technika úpravy skokové posloupnosti se jmenuje adaptivní rotace nosných frekvencí, tzv. AFR (Adaptive Frequency Rolling). Rotace nosných tzv. rolling je nová technika umožňující více pikosítím, které by se normálně vzájemně ovlivňovaly využívat stejné kanály v různých časových úsecích. Pro vysvětlení principu nebudeme nejdřív využívat adaptivní vlastnosti systému. Samotná úprava spočívá ve vymezení času, po který může být kanál obsazen během každé periody T 0. Předpokládejme, že pseudonáhodné skákání přes všechny frekvence skokové posloupnosti je stav optimální. Například v Obr. 4.4 skoková sekvence obsahuje F= 80 kanálů, které jsou číslovány od 0 do 79. V obou částech obrázku modrá barva zobrazuje kanály, které se vyskytují v aktuální skokové posloupnosti. Během každé periody T je používána skoková posloupnost s H kanály. Každý kanál ze skokové posloupnosti je vybírán s pravděpodobností 1/H. Pro Obr. 4.4b skoková sekvence obsahuje kanály H= F a počet kanálů v ní je konstantní. Obr. 4.4a zobrazuje systém se 4 skokovými sekvencemi s H= 20 kanálů. Skoková posloupnost se mění s periodou T= T 0 /8, proto je každá posloupnost použita dvakrát během periody T 0. Průměrná doba, po kterou je kanál obsazený v případě skokové posloupnosti se všemi 80 kanály, je T 0 /80. Tato doba je identická i v případě použití systému Obr. 4.4a, protože 2*T/20= T/10= T 0 /80. -24-

79 Frekvence ( a ) 0 T 2T T 0 =8T Čas 79 Frekvence ( b ) 0 T 2T T 0 =8T Čas Obr. 4.4: a) AFR systém s šířkou skokové posloupnosti nastavenou na 20 kanálů. b) FH systém skákající přes všech 80 kanálů. Pro vysvětlení principu AFH uvažujme že pikosíť p1, kterou začne v době t c (Obr. 4.5) rušit pikosíť p2. Obě pikosítě mají stejnou periodu T 0 a stejně rychle provádí rolling s H= 10 kanály. Na druhou stranu jsou vzájemně asynchronní z pohledu časové okamžiku změny skokové sekvence. Pikosítě p1 a p2 detekují kolizi na základě zvýšení PER v intervalu t c až 3T. Předpokládejme, že p1 po změření zvýšeného PER přeruší -25-

vlastní rolling a změní skokovou posloupnost provedením náhodného skoku a zároveň p2 pokračuje v původním rollingu. Na Obr. 4.5 můžete vidět, že p1 po adaptivní změně rollingu pomocí náhodného skoku úplně eliminovala vzájemné rušení. 79 p1 p2 Frekvence p1 p1 p2 p2 SKOK p2 p2 p1 19 p1 p2 p1 9 p1 p1 t c 0 T 3T 4T T 0 =8T Čas Obr. 4.5: Příklad použití AFH systému v případě dvou vzájemně se rušících pikosítí. AFR využívá stejně jako Bluetooth jednu řídící (Master) stanici, která se stará o vyhodnocení chybovosti kanálů a následující změnu skokové posloupnosti. AFR je spolupracující metoda na úpravu skokové posloupnosti v nelicencovaném pásmu, i tak musí splňovat definované parametry. Prvním z nich je obsazenost kanálů během periody T 0, která je definována jako celkový čas v rámci T 0, kdy pikosíť využívá konkrétní kanál. Pro práci v nelicencovaném pásmu jsou definovány horní mezní limity obsazenosti kanálů, protože AFH má být rozšířením Bluetooth, budeme se zabývat limity v ISM pásmu. V literatuře [21] se můžeme dočíst, že systém pracující v pásmu 2400- -26-

2483.5 MHz musí využít minimálně 15 nepřekrývajících se kanálů s průměrnou obsazeností každého kanálu větší než 0,4 sekundy krát počet používaných kanálů. FH systémy využívající méně než 75 kanálu mohou využít inteligentní techniky na úpravu skokové posloupnosti, aby omezily interferenci při přenosu. FH systémy se můžou vyhnout nebo potlačit přenos na specifických kanálech za předpokladu, že využívají minimálně 15 nepřekrývajících se kanálů. Abychom splnily tyto požadavky, můžeme buď použít pseudonáhodné skákání přes všech F možných kanálů, nebo každá pikosíť bude pseudonáhodně přeskakovat minimálně přes 15 nepřekrývajících se kanálů. To vede k tomu, že při použití 79 kanálů bychom mohli použít 79/15 5 pikosítí, abychom zamezili jejich vzájemnému rušení. Rozšíření AFR o možnost eliminovat vliv statických rušičů se jmenuje AFR-P (Adaptive Frequency Rolling with Probing). Sada F kmitočtů, po kterých systém rotuje budeme nazývat rollset. Ve stavu rolling pikosíť vykonává AFR přes aktuální rollset, zatímco v průzkumném stavu vykonává klasický FH přes všechny dostupné kanály. Během průzkumu se řídící (master) zařízení pokouší detekovat staticky zarušené kanály, které vyjme z rollsetu a následně vykonává AFR přes redukovaný rollset. Rolling je stav stabilní, ale průzkum je stavem přechodným trvajícím pevně stanovenou dobu T probe. Příliš krátká perioda T probe vede k nespolehlivým statistikám PER jednotlivých kanálů, ale příliš dlouhá T probe přináší prodloužení periody vzájemného rušení mezi pikosítěmi, čímž potlačíme výhodu AFR mechanismu. Když je pikosíť spuštěna v rolling stavu, tak řídící (master) zařízení informuje podřízené (slave) stanice, aby udělaly náhodný skok uvnitř aktuálního rollsetu, nebo aby pikosíť začla s průzkumem. Po uplynutí T probe řídící stanice informuje všechny podřízené stanice o novém rollsetu. Pro běh AFR-P pikosíť může použít doplňující pseudonáhodný generátor, který využije ve stavu průzkumu. Ve srovnání se standardním AFH algoritmus AFR-P nezahrnuje explicitní mechanismus pro obnovu odstraněných kanálů. 4.3 Dynamické adaptivní frekvenční skákání nosné Poslední technika, která bude představena v této práci, se jmenuje dynamické adaptivní frekvenční skákání nosné DAFH (Dynamic Adaptive Frequency Hopping). V nelicencovaném pásmu pracuje více typů zařízení, a tak se musí řídit určitými pravidly, která by měla předejít nespravedlivému chování ve využití jednotlivých kanálů. Špatná strategie na vyjmutí špatných kanálů ze skokové posloupnosti může vést -27-

k tomu, že jedno zařízení bude znevýhodněno tím, že bude muset používat méně kmitočtů ve své skokové posloupnosti. Pro názornější popis uvažujme o dvou pikosítích, p1 a p2, které používají PFH (Pseudorandom Frequency Hopping) přes všech F dostupných kmitočtů. Obě pikosítě se vzájemně ovlivňují přičemž čas, po který je kanál i obsazený, je dle [21] roven 1 1 1 F 2= 2 F 1 F 2 2 F. (1) Nyní vezmeme v úvahu, že p1 využívá pouze F/2 ze všech dostupných kmitočtů a p2 používá druhou polovinu ze všech F kmitočtů. Obsazenost každého kanálu i je rovna 2/ F, která odpovídá obsazenosti vypočítané pomocí rovnice (1). Výhoda spočívá v tom, že pikosítě se nyní vzájemně neruší. Tento jednoduchý příklad ukazuje, že je možné mít sadu vzájemně se nerušících pikosítí, zatímco se nezvýší vzájemné rušení, pokud dochází k vzájemné spolupráci při obsazování jednotlivých kanálů. Stejný jev můžeme vidět na Obr. 4.6 pro n pikosítí. Obecný předpoklad pro použití DAFH zní. Máme-li N pikosítí, které by se mohly vzájemně ovlivňovat, tak použijeme-li libovolný typ adaptivní změny skokové posloupnosti k omezení vzájemné interference, měla by každá pikosíť mít stejné provozní zatížení. Zároveň by obsazenost každého kmitočtu měla zůstat stejná, jako kdybychom nepoužili žádný algoritmus na adaptivní úpravu skokové posloupnosti. Základní strategie DAFH je vyhledávání skokové posloupnosti s menší PER za pomocí rozdělení stávájící posloupnosti na dvě poloviny. Sada dovolených skokových posloupností závisí na celkovém počtu dostupných kanálů a na maximálním počtu úrovni dělení skokové posloupnosti. Například, máme-li F= 8 kanálů a maximální úroveň dělení L= 2, tak sadu dovolených posloupností můžeme vidět v Tab. 3.Výsledné chování DAFH je dosaženo za pomocí půlení nebo zdvojení skokové posloupnosti. Každá pikosíť začíná s použitím všech F kanálů ve své skokové posloupnost, tj. dovolená posloupnost úrovně 0. Pokud hodnota PER překročí stanovený práh, dojde Tab. 3: Sada posloupností pro L=2 a F=8. Úroveň Počet posloupností v úrovni Kanály v posloupnosti 0 1 0 1 2 3 4 5 6 7 1 2 0 1 2 3 4 5 6 7 2 4 0 1 2 3 4 5 6 7-28-

ke spuštění procesu půlení skokové posloupnosti. Podstatou procesu půlení je náhodné vybrání, buď pravé nebo levé půlky z aktuální skokové posloupnosti. Jestliže pikosíť znovu vyhodnotí překročení prahu, dojde k opětovnému rozdělení posloupnosti. N F p N Obsazenost kanálu 3 F 2 F 1 F........ p3 p2 p1 ( a ) 0 1 2 F-1 Kanál N F Obsazenost kanálu p1 p2 p3........ pn ( b ) 0 F N 2F N (N-1)F N F-1 Kanál Obr. 4.6: Celkové obsazení jednotlivých kanálů: a) pikosítě přeskakují přes všechny dostupné kanály. b) pikosítě využívají N ortogonálních skokových sekvencí a každá z nich obsahuje F/N kanálů. -29-

Z důvodu, aby si dvě pikosítě nevybraly stejnou rozdělenou posloupnost, je výběr konkrétní poloviny náhodný. Půlení skokové posloupnosti nemůžeme provádět do nekonečna. Jestliže se pikosíť nachází v maximální úrovni dělení L, tak namísto dělení dojde k náhodnému výběru skokové posloupnosti ze stejné úrovně. Opační proces k půlení se nazývá zdvojení skokové posloupnosti. Jestliže pikosíť používá skokovou posloupnost z úrovně l >0 a nedojde k překročení prahu po určitou dobu T D, tak pikosíť zdvojnásobí délku své skokové posloupnosti náhodným výběrem posloupnosti z úrovně l-1. Příliš krátká perioda T D sníží efekt ortogonality a zvýší přenos provozních informací. Naopak příliš dlouhá perioda vede ke zbytečné obsazenosti jednotlivých kanálů, z důvodu delší doby používání kratší skokové posloupnosti. Náhodnost pří výběrů zmenšené i zvětšené posloupnosti zajišťuje spravedlivé využití jednotlivých kanálů. Při generování DAFH skokových posloupností řídící stanice komunikuje s podřízenými stanicemi stejnými způsoby jako používá systém AFH. V praxi se nejčastěji setkáváme se dvěma různými DAFH systémy, které se odlišují určováním hodnoty prahu. První systémem je systém s konstantní hodnotou prahu DAFH-CT (Dynamic Adaptive Frequency Hopping Constant Treshold) a druhým je systém proměnou hodnotou prahu DAFH-AT (Dynamic Adaptive Frequency Hopping Adaptive Treshold). U DAFH-CT je hranice prahu zvolena nad hranicí okolního šumu. V DAFH-AT se práh zvyšuje se zmenšováním skokové posloupnosti (úroveň L se zvyšuje). Důvod použití adaptivního prahu je v možnosti eliminace zbytečného zmenšování skokové posloupnosti. Změna posloupnosti čili půlení nebo zdvojení může být vykonána náhodně nebo na základě shromážděných statistik kanálů. Jestliže pikosíť změří, že PER uvnitř levé poloviny aktuální skokové posloupnosti je výrazně vyšší, pak vybere pravou polovinu s větší pravděpodobností. -30-

5 POPIS MODELU Pro praktickou ukázku byla zvolena metoda AFH. Tato metoda patří mezi nespolupracující metody a je tedy universálnější než ostatní popsané metody. Simulink je simulační nadstavbou Matlabu, která v grafickém rozhraní používá, předpřipravené, ale i námi definované bloky ke skládání funkčních modelů. Simulink je vhodný k simulaci chování statických i dynamických systémů, u kterých známe jejich matematický popis chovaní. Proto byl vybrán k řešení našeho úkolu. Řešení tak spočívá v nalezení (vytvoření) požadovaného bloku, jeho zapojení do obvodu a vhodném nastavení parametrů. Model obsahuje bloky, které jsou definovány množinou vstupů, stavů a výstupů. Výstup bloku je funkcí vstupů a stavů nebo jen funkcí vstupu. Stav bloku ovlivňuje výstup bloku a její aktuální hodnota je funkcí předcházejícího stavu a vstupu. Blok si hodnotu stavu musí uložit, proto se bloky se stavy označují jako bloky s pamětí. Jsou bloky, které nemají vnitřní stav jako například blok sčítání (Add), který pouze sečte aktuální hodnotu jednoho vstupu s hodnotou druhého vstupu a výsledek pošle na výstup. Bloky mohou pracovat jako spojité nebo jako diskrétní. Spojité bloky odpovídají na změny ve vstupech spojitě, zatímco diskrétní bloky reagují na změny ve vstupech pouze v násobcích stanového časového intervalu (Sample time). Diskrétní bloky mají parametr Sample time určující délku vzorku. Existují i bloky, které umí pracovat jak diskrétně, tak spojitě. Přičemž tyto bloky mají implicitní vzorkování. Implicitní vzorkování znamená, že pokud na některý ze vstupů přichází spojitý signál blok, pracuje spojitě. V případě, že jsou všechny vstupy diskrétní, Sample time se nastaví dle vstupu, který má Sample time nastavený na nejmenší hodnotu. Simulink jako universální nástroj umožňuje vytvářet si vlastní bloky. Vytváření bloků je možno více způsoby, například pomocí M-souboru nebo funkcí napsanou v jazyce C nebo C++. Každý způsob má své výhody a nevýhody, které budou zmíněny později. Mezi ceněnou vlastnost Simulinku patří nezávislost uživatelského rozhraní na počítačové platformě, ale nepříjemnou vlastnost tvoří nezaručení zpětné kompatibility mezi určitými verzemi Simulinku. Model byl vytvořen v prostředí Matlab Simulink verze R2008a. Tato verze byla vybrána záměrně pro své nové bloky v knihovnách Simulinku. Použitím těchto bloků je ale omezena kompatibilita se staršími verzemi, a proto je nutné model spouštět ve verzi R2008a nebo novější. Navržené vlastní bloky byly kompilovány pomocí kompilátoru Lcc-win32 C 2.4.1, -31-

který je přímo součástí Matlabu (R2008a). Model se skládá z tří hlavních subsystémů, které můžete vidět na Obr. 5.1. V následujících kapitolách bude popsán postup návrhu jednotlivých subsystémů. Obr. 5.1: Hlavní subsystémy modelu. 5.1 Subsystém Master Tento blok je jeden ze tří hlavní bloků v simulaci a plní více úkolů. Primární úkol je generace datových paketů, které jsou vytvořeny pomocí bloku sloučení matic (Matrix Concatenation). Tento blok skládá vstupní vektory do jednoho dlouhého vektoru tak, že za první vektor vloží druhý, třetí za druhý atd. Velikost vstupních vektorů může být rozdílná, čehož využíváme v našem modelu. Matematické vyjádření funkce toho bloku lze zapsat jako: I 1 =[a 1 a 2 a 3 ], I 2 =[b 1 b 2 b 3 b 4 ], I 3 =[c 1 c 2 ], O=[a 1 a 2 a 3 b 1 b 2 b 3 b 4 c 1 c 2 ]. Kde I 1, I 2 a I 3 jsou vektory různých délek vstupující do bloku, O je výsledný vektor s délkou rovnou součtu délek jednotlivých vstupních vektorů. Na Obr. 5.2 je vidět struktura přenášeného paketu. Typ FH Adresa zdrojová Adresa cílová Kanál Příznak Data CRC Obr. 5.2: Struktura paketu používaného v simulaci. Význam jednotlivých částí je následující: Typ FH- Dvou bitová proměnná sloužící k určení typu frekvenčního skákání. [1,1] -Odpovídá adaptivnímu frekvenčnímu skákání. [0,0] -Odpovídá klasickému frekvenčnímu skákání. -32-

Adresa zdrojová- Slouží k adresaci zdrojového zařízení pomocí 4bitové adresy. Poslední tři bity slouží k adresovaní až 8 zařízení. Je-li 1.bit nastaven na 0, jde o adresu typu unicast. Je-li 1.bit nastaven na 1, jde o adresu typu multicast. Adresa cílová Slouží k adresaci cílového zařízení pomocí 4bitové adresy. Poslední tři bity slouží k adresovaní až 8 zařízení Je-li 1.bit nastaven na 0, jde o adresu typu unicast. Je-li 1.bit nastaven na 1, jde o adresu typu multicast. Kanál- Příznak- Určuje kanál, na kterém bude uskutečněn přenos paketu. Model používá 100 kanálů v rozmezí 1 až 100. Slouží k označení, jestli byl použit původní vygenerovaný kanál nebo došlo k jeho nahrazení z tabulky dobrých kanálů. Je-li nastaven na hodnotu 1, byl použit původní kanál. Je-li nastaven na hodnotu 2, byl použit nahrazený kanál. Data- CRC- Slouží k přenosu uživatelských dat v blocích po 128 bitech. Slouží k zajištění možnosti detekce chyby vzniklé při přenosu. Obr. 5.3: Subsystém Master. -33-

5.1.1 Blok výpočet CRC Obr. 5.3 ukazuje, že k zajištění možnosti detekce chyby vzniklé při přenosu se používá cyklický redundantní součet. Tato metoda je založena na redundanci přenášených bitů, kdy vysílač přidá bity, jejíchž hodnota je funkcí přenášených dat. Přijímač následně spočítá stejnou funkci a případě rozdílné výsledku detekuje chybu. Konkrétní popis vlastností cyklického redundantního součtu se můžete dočíst v [13]. Obr. 5.4: Blok vypočtu CRC. Z důvodu, že nás model pracuje v Sample based módu, nemůžeme přímo použít blok CRC-N generátor z knihovny Communication Blockset. Při Sample based módu má náš signál rozměr 1x170. Pomocí bloku transponování (Math Function) z něj uděláme signál s rozměrem 170x1. Dále signál převedeme na Frame based pomocí bloku To Frame. Nyní použijeme blok výpočtu kontrolního součtu s generujícím polynomem x 16 +x 15 +x 2 +1 odpovídající standartu CRC-16, který používá např. sběrnice USB (Universal Serial Bus). Poté jsou provedeny inverzní operace ke zpětnému převodu na Sample based signál. 5.1.2 Blok generování kanálu Nejdříve se vygeneruje náhodné číslo kanálu pomocí bloku generátoru náhodných čísel (Random Integer Generator). Blok generuje celá kladná čísla v rozsahu 0 až M-1, aby blok negeneroval při každém spuštění simulace stejnou pseudonáhodnou posloupnost kanálů, měníme inicializační hodnotu proměnou stavy. Tato proměnná se generuje při každém spuštění znovu v závislosti na aktuálním čase v milisekundách. Vygenerování kanálu číslo 0 je nežádoucí z důvodu následného zpracování v dalších blocích, a proto je ke každému vygenerovanému číslu kanálu přičtena hodnota 1. Následně je signál zpracován v bloku rozhodování o kanálu, který je vytvořen pomocí bloku Embedded Matlab Function. Tento blok umožňuje jednoduše vytvářet vlastní funkce bloků v Simulinku. Hlavní výhoda spočívá v možnosti psaní nových funkcí pomocí syntaxe pro vytváření vlastních funkcí jako klasický m-soubor Matlabu. -34-

Vstupní parametry námi psané funkce se automaticky vytvoří jako vstupní porty do našeho bloku. Analogickým způsobem se vytvoří i výstupní porty. Název bloku je odvozen od názvu naší funkce. Jednoduchost psaní vlastní funkcí je doprovázena některými omezeními. Nemůžeme přímo použít všechny funkce, které má Matlab v sobě nadefinované, ale některé se musí volat explicitně. Například funkce find, která nachází nenulové prvky v matici, musí být nejprve zavolána pomocí příkazu eml.extrinsic('find') a až poté může být použita v samotném kódu funkce. Funkce, které mohou být volané přímo lze jednoduše dohledat v nápovědě bloku Embedded Matlab Function. Dalším omezením je spíše zvyk většiny uživatelů ze psaní m-sobourů, že velikost a typ proměnné si Matlab definuje sám. Zde musíme nadefinovat velikost proměnné a ta musí zůstat po celou dobu simulace konstantní. To je jeden z důvodů proč není přípustný kanál číslo 0, protože 0 označujeme prázdná místa v tabulkách dobrých a špatných kanálů. Pokud chceme přistupovat k proměnným v pracovním prostoru (Workspace) uvnitř funkcí, musíme tuto proměnnou přivést na některý z vnitřních portů bloku. Jedna možnost je použití bloku načtení z pracovního prostoru (From Workspace), která má ale omezení v tom, že číst nebo zapisovat do pracovního prostoru je možné pouze na začátku, konci a v průběhu pauzy simulace. To není moc vhodné pro plynulý běh simulace, proto je lepší proměnnou na začátku načíst a uložit pomocí bloku Data Store Memory. Umístěním tohoto bloku určujeme platnost této proměnné. Konkrétně umístěním tohoto bloku do hlavního subsystému mají k této proměnné přístup i všechny ostatní vnořené subsystémy. Čtení a zápis do takto definovaných proměnných se děje pomocí bloků Data Store Write a Data Store Read. Bloky umožnují generování varovných či chybových hlášení, když čtení proměnné předchází zápis do proměnné nebo obráceně. Toho lze využít k zajištění platnosti dat. Samotné zpracování v bloku rozhodování o kanálu je založené na porovnání aktuálního vygenerovaného čísla kanálu s tabulkou špatných kanálů. Tabulka špatných kanálů obsahuje 25 hodnot což odpovídá i hodnotě maximálně nahraditelných kanálů. Systém nemusí vždy nahradit všech 25 kanálů. Pokud při přenosu nedochází k rušení, nemusí PER jednotlivých kanálů překročit definovanou rozhodovací úroveň a systém použije jen poměrnou část kanálů, která má hodnotu PER vetší než je stanovená mez. -35-

Obr. 5.5: Subsystém generování kanálu. -36-

Z důvodu konstantní velikosti tabulky špatných kanálů se nevyužité kanály nahradí kanálem číslo 0. Z tohoto důvodu je nepřípustné, aby se ve skokové sekvenci vyskytla hodnota kanálu 0. Pokud je výsledek porovnání aktuálního kanálu pravda, tak na výstupním portu Y je hodnota 0 a na portu X je hodnota aktuálního vygenerovaného kanálu. Nyní přichází na řadu proces náhrady kanálu. Vygeneruje se náhodné číslo, se kterým se provede operace XOR s aktuálně vygenerovaným číslem kanálu. Výsledek operace je dále pro jednoduší práci převeden do desítkové soustavy. Signál je dále veden na jeden vstup bloku výběru z tabulky dobrých kanálů. Na druhý vstup je přivedena tabulka dobrých kanálů, která může obsahovat 75 až 100 dobrých kanálů. Opět z důvodu konstantní velikosti se kanály nepatřící do této tabulky nahrazují kanálem číslo 0. Uvnitř bloku dojde ke spočítání indexu přesně ve shodě s postupem uvedeným v kapitole 3.1 Struktura AFH. Index ukazuje pozici v tabulce dobrých kanálů, kterou bude nahrazen aktuální kanál. V případě neshody s tabulkou špatných kanálu v bloku rozhodování o kanálu je na výstupní port X zapsána hodnota 0 a na port Y je zapsán aktuální vygenerovaný kanál. V obou případech je ještě generován příznak, zda došlo k nahrazení či nedošlo. K tomuto účelu se hodí řízený přepínač, který v našem modelu má 3 vstupy (Obr. 5.5). Na základě hodnoty na kontrolním vstupu, v našem případě prostředním, přepíná mezi krajními vstupy. Pokud došlo k náhradě, příznak je nastaven na hodnotu 2, v opačném případě má hodnotu rovnou 1. Hodnoty příznaku i kanálu jsou převedeny do binární formy z důvodu následného počítání CRC a zarušení některých bitů. 5.2 Subsystém Přenos Obr. 5.6: Subsystém přenos. -37-

Úkolem toho systému je simulovat přenosové prostředí. Model umožňuje simulovat tři typy rušení:1)úzkopásmové statické rušení 2)Širokopásmové statické rušení 3)Dynamické rušení Můžeme použít jednotlivá rušení samostatně nebo v libovolné kombinaci. Počet zarušených kanálů se definuje na začátku simulace a je po celou dobu konstantní. Statické rušení, jak už s názvu vyplývá, je po celou dobu na stejných kanálech, ale čísla dynamicky zarušených kanálů se pravidelně mění pomocí bloku změna dynamických rušičů (viz Obr. 5.6). Rušení začíná zjištěním aktuálního kanálu, po kterém se vysílá paket. To se děje pomocí bloku výběru submatice (Submatrix), jehož výsledek je převeden na desítkové číslo a je porovnán s tabulkou zarušených kanálů. V případě shody se vygeneruje náhodných 20 bitů a těmi se přepíšou hodnoty v paketu. Jak data, tak rušení má pokaždé jinou hodnotu a tak teoreticky je možné, že i když je kanál zarušen, dojde k přepsání stejnými hodnotami jako v paketu byly. V případě neshody není s paketem prováděno nic a beze změny projde do dalších bloků. 5.2.1 Subsystém změna dynamických rušičů Obr. 5.7: Subsystém změna dynamických rušičů. Dynamické rušiče mohou, ale nemusí být v simulaci použity, z tohoto důvodu je zapotřebí tuto situaci ošetřit. K tomu se v simulaci používají tyto proměnné: -38-

U- Proměnná, která inkrementuje svoji hodnotu vždy, když dojde k vyslání paketu. Tabulka- Průběh- Řádkový vektor, kde jsou uložené čísla zarušených kanálů. Matice definující, kde se nachází jednotlivé typy rušení v proměnné tabulka. Generátor- Řádkový vektor obsahující nové čísla dynamicky zarušených kanálů. Uvnitř bloku změna dynamických rušičů proměnná u zjišťuje, že pravidelně po průchodu 10 paketů dojde ke změně kanálů dynamických rušičů. Z proměnné průběh se uvnitř bloku spočítá počáteční a koncový index, kde se nachází dynamicky zarušené kanály uložené v proměnné tabulka. Rozdíl koncového a počátečního indexu nám dává počet dynamických rušičů, který generátor náhodných čísel najednou vygeneruje, pracuje-li v Frame Based módu. Vygenerovaný sloupcový vektor převedeme na řádkový shodně jako v bloku generování kanálů. V případě, že jsou nadefinovány dynamické rušiče, dojde k jejich přepsání proměnnou generátor. V opačném případě se nevygeneruje žádný kanál a neprovede se úprava kanálů. 5.3 Subsystém Slave Obr. 5.8: Subsystém ověření adresy. Tento subsystém má na starosti příjímání paketů, které jsou určené pro toto zařízení. To se děje pomocí subsystému ověření adresy, jehož zapojení můžete vidět na Obr. 5.8. Nejprve se z paketu vybere část, která obsahuje cílovou adresu. Dalším krokem je otestování, jestli se adresa shoduje s adresou zařízení, nebo zda-li je jako cílová adresa -39-

uvedena všesměrová adresa. V případě platnosti alespoň jedné podmínky je paket zpracován, v opačném případě se paket zahodí. Obr. 5.9: Subsystém Slave. -40-

5.3.1 Subsystém If action Pokud je paket určený pro naše zařízení, aktivuje se obvod pro zpracování paketu, který je na Obr. 5.9 označen jako subsystém If action, jehož zapojení můžete vidět na Obr. 5.10. Úkolem toho bloku je, extrahovat data z paketu, zjistit typ použitého FH, vygenerovat pořadové číslo paketu a zjistit zda došlo k chybě při přenosu. Obr. 5.10: Subsystém If action. K zjišťování chyb při přenosu se používá subsystém detektor, který obsahuje blok výpočtu CRC (CRC Syndrome Detector). Na Obr. 5.11 můžeme vidět, že blok má dva výstupy. Na prvním výstupu je paket zbavený položky CRC a na druhém výstupu se nachází syndrom chyby přenosu. V případě chyby při přenosu je zde logická 1. Subsystém detektor opět obsahuje nezbytné bloky pro převod ze Sample based módu do Frame based a obráceně. Obr. 5.11: Subsystém detektor. -41-

Signál error je jeden ze 4 signálů, který generuje subsystém na zpracování paketu (If action). Dalším signálem je counter1, který generuje pořadové číslo paketu. To číslo je potřeba k následnému vyhodnocení charakteru přenosu. Třetím signálem je signál typ, jež určuje typ používaného frekvenčního skákání, který byl použit v přenosu paketu. Posledním signálem, který generuje tento subsystém, je signál data. Tento signál je ta část paketu, která odpovídá položkám kanál, příznak a data. 5.3.2 Blok Vyhodnocení Tento blok, je nejdůležitější blokem navrženého modelu, je opět vytvořen pomocí bloku Matlab Embbed Function, ale právě zde se nejvíce projeví omezení toho bloku, které byli zmíněny v úvodu kapitoly 5.1.2 Blok generování kanálu. Nemožnost naplno využít optimalizace Matlabu pro práci s maticemi a z toho plynoucí použití cyklů pro několikanásobné procházení polí vede ke snížení rychlosti simulace. Hlavním úkolem bloku je vyhodnocovat chybovost jednotlivých kanálů. Na základě chybovosti dochází k úpravě skokové sekvence za předpokladu, že proměnná typ je nastavená tak, aby systém vykonával AFH. Pokud tomu, tak není blok zaznamenává chyby přenosu jen kvůli výslednému grafickému znázornění. V opačném případě blok vytváří tabulku dobrých a špatných kanálů. Systém pracuje v cyklech, které jsou označené jako doba učení a definuje se počtem paketů, které jsou využity k získání statistik o kvalitě jednotlivých kanálů. V simulaci ji můžeme nastavovat v rozsahu 200 až 1000 paketů s krokem 100 paketů. Na začátku simulace jsou všechny kanály považovány za dobré, tj. tabulka dobrých kanálů, jež obsahuje čísla 1 až 100 a tabulka špatných obsahuje 25 nul. 25 je maximální počet kanálů, které umí systém nahradit. Po uplynutí jedné doby učení je vybráno maximálně 25 nejvíc zarušených kanálů, tj. kanály s PER větším než 0,1, které jsou zapsány do tabulky špatných kanálů. V tabulce dobrých kanálů jsou nahrazeny 0 z důvodu konstantní velikosti proměnných. Pokud je při přenosu zarušen menší počet kanálů než 25, tak se do tabulky špatných kanálů zapíší jen ty, jejíchž PER překračuje stanovený práh. Následující 4 cykly systém využívá sestavené tabulky špatných a dobrých kanálů při procesu nahrazování špatných kanálů. Následující cyklus dojde k tzv. stárnutí sestavených tabulek, kdy jsou špatné kanály prohlášeny opět za dobré. Kdybychom toto neudělali, tak by systém neskákal na kanály z tabulky špatných kanálů, které by tak -42-

měly nulovou chybovost. V případě statických rušičů by poté systém následující 4 cykly skákal na tyto špatné kanály, což by vedlo ke zbytečnému zvýšení chybovosti přenosu. Zároveň bychom nevhodně potlačili hlavní výhodu systémů pracujícím s AFH a to odolnost vůči statickým rušičům. Po proběhnutí cyklu stárnutí získáme nové tabulky špatných a dobrých kanálů. Takto se cykly opakují až do konce simulace. K uchovávání informací o paketech za poslední cyklus využíváme pomocné proměnné temp a counter. Musíme tak činit z důvodu, že proměnné uvnitř bloku vyhodnocení se v každém průchodu paketu znovu inicializují na výchozí hodnoty a tak v nich nemůžeme uchovávat jednotlivé dílčí stavy. Pomocí proměnné counter indexujeme pozici v poli temp, kde si uchováváme informaci o kanále, na kterém byl paket přenesen a zda-li byl paket přenes s chybou či bez chyby. Poslední funkcí toho bloku je úprava hodnot, které jsou posléze zapsány do souboru. Z tohoto souboru jsou poté načteny a jsou z nich vyhodnoceny různé statistiky, které jsou popsány v následující kapitole. -43-

6 UŽIVATELSKÉ ROZHRANÍ Nastavování parametrů simulace přímo v Simulinku není uživatelsky přivětivé a ani moc efektivní, a proto bylo navrženo grafické uživatelské rozhraní (Obr. 6.1). Rozhraní bylo vytvořeno přímo v návrhovém prostředí Matlabu s názvem GUIDE (Graphical User Interface Development Environment). Pro úpravu parametrů samotného paketu stačí zeditovat jednoduchý textový soubor konfig.m, který se nachází ve stejném adresáři jako hlavní soubor AFH_GUI.m. Obr. 6.1: Uživatelské rozhraní pro ovládání simulace. Grafické uživatelské rozhraní obsahuje 3 části: 1)Parametry simulace- Zde se nastavují parametry simulace mezi než patří: Doba simulace-zadává se v sekundách v pracovním intervalu od 0 s do 100 s. Výchozí hodnota přenosové rychlosti je 1000 paketů za sekundu. Tuto hodnotu je možné změnit v konfiguračním souboru konfig.m. Hodnota doby simulace vetší než 100 s by způsobovala zbytečně dlouhou dobu trvání simulace. Zadávání je ošetřeno tak, že při zadání hodnoty mimo pracovní interval nebo při zadání znaků namísto číselné hodnoty se hodnota nastaví na výchozích 10 sekund. Dále nesmíme zapomenout na zadávání desetinné tečky na místo desetinné čárky. Například zadání hodnoty 1,8 s bude vyhodnoceno jako 18 s, -44-

ale 1,87 s bude vyhodnoceno jako 187 s čímž překročíme hodnotu 100 s a dojde k nahrazení hodnoty 1,87s výchozí hodnotou 10 s. Dynamické rušení-udává počet dynamických rušičů v simulaci v intervalu od 0 do 100 rušičů. Čísla kanálu, které jsou rušeny dynamickými rušiči se generují náhodně a během simulace se mění pokaždé po přenosu 10 paketů ( podrobný popis viz. kapitola 5.2.1 Subsystém změna dynamických rušičů). Zadávání je ošetřeno tak, že při zadání hodnoty mimo pracovní interval nebo při zadání znaků namísto číselné hodnoty se hodnota nastaví na výchozí nulový počet dynamických rušičů. Zadaní desetinných čísel je ošetřeno zaokruhlením na celočíselný počet rušičů. Statické rušení-v simulaci je možné nadefinovat jak širokopásmové, tak úzkopásmové statické rušice. Širokopásmové jsou nadefinované jakou souvislý blok zarušených kanálů o námi definované šířce. Úzkopásmové jsou definovány jako náhodně generované jednotlivé kanály. Zadávání je ošetřeno tak, že při zadání hodnoty mimo pracovní interval nebo při zadání znaků namísto číselné hodnoty se hodnota nastaví na výchozí nulový počet statických rušičů. Zadaní desetinných čísel je ošetřeno zaokruhlením na celočíselný počet rušičů. Doba učení- Tento parametr definuje počet paketů, které jsou využity k získání statistik o kvalitě jednotlivých kanálů. V předchozím kapitole byl tento parametr označen jako cyklus stárnutí. V simulaci ho můžeme nastavovat v rozsahu 200 až 1000 paketů s krokem 100 paketů. Výchozí hodnota je rovna 600 paketů. 2)Ovládání-Spuštění vlastní simulace se děje stisknutím tlačítka start. Dále si pomocí přepínačů můžeme vybrat jednotlivé grafické znázornění výsledků. Pro lepší manipulaci s grafy je možnost zapnout si každý graf zvlášť v samostatném okně. V samostatném okně můžeme využít standardní nástroje Matlabu pro práci s grafy např. přibližování, oddalování, ukládání do standardních obrazových formátu atd. Stisknutím tlačítka reset se nastaví výchozí parametry simulace a dojde k zavření všech otevřených oken s grafy. 3)Grafické výsledky simulace- V tomto místě se zobrazují následující grafy: Paketová chybovost jednotlivých kanálů- Tento sloupcový graf má na ose x jednotlivé kanály 1 až 100 a hodnota osy y udává PER každého kanálu, která -45-

byla změřena za celou dobu simulace. Obr. 6.2 zobrazuje systém, který má nadefinovaných 10 statických širokopásmových rušičů a 5 dynamických rušičů. 1 Packetová chybovost jednotlivých kanalů 0. 9 0. 8 0. 7 0. 6 P E R [ - ] 0. 5 0. 4 0. 3 0. 2 0. 1 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 Č í s l o k a n a l u [ - ] Obr. 6.2: Paketová chybovost kanálů s 10 statickými širokopásmovými rušiči a 5 dynamickými rušiči. Zobrazení způsobů přenosu jednotlivých kanálů- Průběh námi navolené komunikace je zobrazen tak, že na ose x je číslo přeneseného paketu a na ose y je kanál, na kterém byl paket přenesen. K určení konkrétního způsobu přenosu užíváme barevné a tvarové rozlišení. Obr. 6.3 zobrazuje čtyři možné případy, které mohou při přenosu nastat: a)původní kanál dobře přeneseno (Modrý kříž) b)původní kanál špatně přeneseno (Červený kříž) c)nahrazený kanál dobře přeneseno (Zelený trojúhelník) d) Nahrazený kanál dobře přeneseno (Červený trojúhelník) Pro lepší přehlednost není v hlavním okně GUI zobrazena legenda, ale při zapnutí volby samostatného okna se už legenda v grafu nachází. Samostatné okno nám dovoluje pouhým přesunutím změnit polohu legendy nebo ji jednoduše vypnout. -46-

Obr. 6.3: Způsob přenosu jednotlivých paketů v systému s 10 statickými širokopásmovými rušiči a 5 dynamickými rušiči. Statistika přenosu < 1 % 1 6 % P ů v o d n í k a n á l d o b ř e p ř e n e s e n o P ů v o d n í k a n á l š p a t n ě p ř e n e s e n o N a h r a z e n ý k a n á l d o b ř e p ř e n e s e n o N a h r a z e n ý k a n á l š p a t n ě p ř e n e s e n o 7 % 7 6 % Obr. 6.4: Statistika přenosu v systému s 10 statickými širokopásmovými rušiči a 5 dynamickými rušiči. -47-

Statistika přenosu- Je zobrazena jako koláčový graf (příkaz pie v Matlabu), který z vektoru vstupních parametrů sám přepočítá procentuální hodnoty. Příkaz pie nevhodně zaokrouhluje, a tak se může stát, že součet jednotlivých dílů vyjde víc než teoretických 100%. Obr. 6.4 zobrazuje výslednou statistiku přenosu všech paketů v prostředí s 10 statickými širokopásmovými rušiči a 5 dynamickými rušiči. -48-

7 VÝSLEDKY Obr. 7.1: Zobrazení přenosu pomocí FH systému. V této kapitole se budeme zabývat výsledky simulace našeho modelu. Nejdříve si ukážeme rozdíl mezi klasickým FH systémem (Obr. 7.1) a AFH systémem (Obr. 7.2). Oba dva systémy měly nadefinované statické širokopásmové rušení o šířce 10 kanálů a bylo přeneseno 7000 paketů (tj. doba simulace rovna 7 s). Rozdílná pozice zarušených kanálu je dána tím, že umístění se generuje na začátku simulace náhodně. Obr. 7.1 ukazuje, že klasické FH nikterak neupravuje svoji skokovou sekvenci a tak po celou dobu simulace skáče i na zarušené kanály. Výsledná chybovost takovéhoto systému je 10 % a lineárně roste s počtem statických rušičů v přenosovém kanále. Oproti tomu AFH systém si v cyklu stárnutí měřením zjistí zarušené kanály a následující 3 cykly tyto kanály nahrazuje kanály s tabulky dobrých kanálů. Výsledná chybovost AFH systému s výše definovaným počtem statických rušičů je 3 %, která je úměrná počtu paketů odpovídající cyklu stárnutí. Námi realizovaný model umožňuje nahradit maximálně 25 zarušených kanálů. Pokud se v přenosovém prostředí nebude vyskytovat větší počet staticky zarušených kanálů něž je počet maximálně nahraditelných, tak výsledná chybovost našeho systému při přenosu stejného počtu paketů nepřesáhne 8 %. -49-

Obr. 7.2: Zobrazení přenosu pomocí AFH systému. Obr. 7.3: Zobrazení AFH systému s krátkou dobou učení Dalším parametr, který může negativně ovlivnit chybovost je doba učení. Při příliš krátké době učení se může totiž stát to, že systém v cyklu stárnutí nevyšle žádný paket po zarušeném kanále. Díky tomu systém nic neví o stavu tohoto kanálu, a tak -50-

předpokládá, že kanál má nulovou chybovost a začne na něm vysílat. Systém tento kanál použije i k nahrazení ostatních špatných kanálů, jak můžeme vidět na Obr. 4.4 (zakroužkované červené trojúhelníky a červené křížky). Výhoda kratší doby učení je v rychlejším odhalení nových rušičů v přenosovém kanále. Pokud počet staticky zarušených kanálů v přenosovém prostředí přesáhne počet maximálně nahraditelných kanálů (tj. 25 kanálů), model je naprogramován tak, že nahradí 25 kanálů s nejvyšším číslem kanálů (viz Obr. 7.4). Výhoda AFH oproti FH spočívá v eliminaci vlivu statických rušičů. Pokud se v přenosovém prostředí nachází pouze dynamické rušiče, tak se tato výhoda neprojeví a výsledná chybovost obou systému je shodná (okolo 23 %). Rozdíl mezi AFH ( Obr. 7.5) a FH ( Obr. 7.6) je tak pouze v neúspěšném pokusu o nahrazení zarušených kanálů u AFH systému. Simulace je zaměřena hlavně na zobrazení rozdílů mezi FH a AFH systémy. Proto simulace neobsahuje žádné proti chybové kódování, které by zmenšilo chybovost. Dalším možným řešením na snížení chybovosti je možné pokud náš AFH systém skáče alespoň o řád rychleji než ostatní systémy. -51-

-52-