Szybka transmisja danych w paśmie krótkofalowym



Podobne dokumenty
Jednostka centralna. Miejsca na napędy 5,25 :CD-ROM, DVD. Miejsca na napędy 3,5 : stacja dyskietek

2. STRUKTURA RADIOFONICZNYCH SYGNAŁÓW CYFROWYCH

Sprawdzian test egzaminacyjny GRUPA I

KOMPUTER. Zestawy komputerowe podstawowe wiadomości

Sprawdzian test egzaminacyjny 2 GRUPA I

Karta sieciowa, 10/100/1000Mbit Dopuszcza się możliwość stosowania kart sieciowych zintegrowanych z płyta główną 8. Nagrywarka DVD+-RW DL SATA

1. Budowa komputera schemat ogólny.

I Zestaw komputerowy: Stacja robocza i monitor wraz z oprogramowaniem systemowym i akcesoriami - 10 szt. STACJA ROBOCZA:

/wpisać: model, symbol, producent urządzenia/

Budowa Komputera część teoretyczna

LEKCJA TEMAT: Zasada działania komputera.

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Futura Policealna Szkoła dla Dorosłych w Lublinie. Kierunek: Technik informatyk

Podstawy Techniki Komputerowej. Temat: BIOS

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

1. Serwer rack typ 1 Liczba sztuk: 2

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

5. Napędy wewnętrzne 6. Obudowa: 7. Gniazda rozszerzeń 8. Porty i interfejsy zewnętrzne 1GB/s 9. Karta graficzna 10. Inne 11.

Serwer główny bazodanowy. Maksymalnie 1U RACK 19 cali (wraz ze wszystkimi elementami niezbędnymi do zamontowania serwera w oferowanej szafie)

dokument DOK wersja 1.0

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

Cechy karty dzwiękowej

Lp. Nazwa Parametry techniczne

Ćwiczenie Wstawianie spisu treści, indeksu alfabetycznego i indeksu ilustracji Wstaw > Indeksy i spisy > indeksy i spisy) Wskazówka:

Załącznik nr 6 do SIWZ. 1. Stacja robocza 46 szt. NAZWA PRODUCENTA: NUMER PRODUKTU (part number):

Załącznik Nr 5 do SIWZ OPIS TECHNICZNY SPRZĘTU KOMPUTEROWEGO

Płyty główne rodzaje. 1. Płyta główna w formacie AT

Praca dyplomowa. Program do monitorowania i diagnostyki działania sieci CAN. Temat pracy: Temat Gdańsk Autor: Łukasz Olejarz

ZAŁĄCZNIK NR 1.8 do PFU Serwery wraz z system do tworzenia kopii zapasowych i archiwizacji danych - wyposażenie serwerowni

Wstęp do Informatyki. Klasyfikacja oprogramowania

Vat % Słownie złotych:...

Specyfikacja sprzętu komputerowego

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ

Załącznik nr 1 Do Umowy nr z dnia. . Wymagania techniczne sieci komputerowej.

OFERTA. Załącznik nr 1 do zapytania ofertowego: Wzór oferty. Dane oferenta. Pełna nazwa oferenta: Adres:. REGON:.. Tel./fax.: .

Komputer HP 6300 w obudowie SFF (Small Form Factor) Core i x 3,3 GHz / 4 GB / 500 GB / DVD / Windows 7 Professional

KALKULACJA CENY OFERTY Sprzęt informatyczny Część I

Załącznik Nr 2 do SIWZ. Sprzęt komputerowy i peryferyjny

Załącznik Nr 5 do SIWZ OPIS TECHNICZNY SPRZĘTU KOMPUTEROWEGO

Modularny system I/O IP67

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

SYMULACJA KOMPUTEROWA SYSTEMÓW

Szczegółowy Opis Przedmiotu Zamówienia: Zestaw do badania cyfrowych układów logicznych

CENTRALNA KOMISJA EGZAMINACYJNA

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Magistrale i gniazda rozszerzeń

SPECYFIKACJA ISTOTNYCH WARUNKÓW ZAMÓWIENIA DOTYCZĄCEGO ZAKUP SPRZĘTU KOMPUTEROWEGO I OPROGRAMOWANIA DLA SZKOŁY PODSTAWOWEJ W WOLI ZARADZYŃSKIEJ

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Działanie komputera i sieci komputerowej.

WYMAGANIA EDUKACYJNE Z PRZEDMIOTU DIAGNOZA I NAPRAWA SYSTEMÓW KOMPUTEROWYCH

Dokumentacja aplikacji Szachy online

ZMIANA TREŚCI SPECYFIKACJI ISTOTNYCH WARUNKÓW ZAMÓWIENIA

Architektura Systemów Komputerowych. Transmisja szeregowa danych Standardy magistral szeregowych

strona z ogólnej liczby stron Opis przedmiotu zamówienia/specyfikacja techniczna. Część 1

Publiczne Technikum Informatyczne Computer College w Koszalinie

MODYFIKACJA. Nie otwierać przed 25 listopada 2013 r. godz

Technologia informacyjna. Urządzenia techniki komputerowej

Budowa systemów komputerowych

Min. 256 GB, dysk półprzewodnikowy SSD, złącze M.2.

urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.

Komputer DELL Optiplex 7010 w obudowie DT (Desktop Tower) Intel Pentium G x 2,9 GHz / 4 GB / 250 GB / DVD-RW / Windows 7 Professional

Sprawdzian wiadomości z jednostki szkoleniowej M3.JM1.JS3 Użytkowanie kart dźwiękowych, głośników i mikrofonów

CZĘŚĆ I PRZEDMIOTU ZAMÓWIENIA WYMAGANIA TECHNICZNE Część I A I. Komputer przenośny Liczba sztuk: 4 Oferowany model*.. Producent*..

Wymagane parametry techniczne laptopa

Politechnika Warszawska

Temat. Budowa systemu komputerowego Zakładka 1. Elementy tworzące stanowisko komputerowe.

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

rh-serwer 2.0 LR Sterownik główny (serwer) systemu F&Home RADIO. Wersja LR powiększony zasięg.

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Architektura komputerów

SUKCESYWNA DOSTAWA SPRZĘTU KOMPUTEROWEGO Opis techniczny oferowanego sprzętu

Dotyczy: Procedury udzielenia zamówienia publicznego w trybie przetargu nieograniczonego na Sprzęt komputerowy i oprogramowanie.

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

USB DVB-T STICK. Instrucja obsługi. Watch & record Digital TV programs on Your PC! MT4152

Komputer DELL 7020 w obudowie SFF (Small Form Factor)

Komputer Dell 780 w obudowie MT (Mini-Tower) Intel Core 2 Quad Q x 2,83 GHz / 4 GB / 250 GB / DVD-RW / Windows 7 Professional

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 5

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

Załącznik nr Z1. AE/ZP-27-68/14 Wymagane i oferowane paramtery techniczne. Oferowane paramtery przedmiotu zamówienia podać zakres/wartość, opisać

INSTRUKCJA I WSKAZÓWKI

Załącznik nr 6 Uszczegółowienie przedmiotu zamówienia. Pakiet nr 1 (Warszawa) Zasilacz awaryjny UPS. Ilość 8 sztuk

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

ZL10PLD. Moduł dippld z układem XC3S200

Załącznik Nr 7 do SIWZ. 1. Laptop z oprogramowaniem 1 sztuka.

Komputer Dell Optiplex 780 w obudowie DT (Desktop Tower) Intel Core 2 Duo E x 2,93 GHz / 4 GB / 160 GB / DVD / Windows 7 Professional

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA

Architektura komputerów

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Komputer HP 8100 w obudowie SFF (Small Form Factor)

KOMPUTER. jaki jest, każdy widzi. Mówiąc komputer, mamy najczęściej na myśli zestaw... urządzeń podłączonych jednocześnie do jednostki centralnej.

Struktury systemów operacyjnych

1. Zestaw komputerowy z monitorem 2szt.

Dydaktyka Informatyki budowa i zasady działania komputera

OTOsuite. Podręcznik instalacji. Polski. Wersja 4.75

Transkrypt:

Samodzielna Pracownia Radiokomunikacji Morskiej w Gdańsku (P-8) Szybka transmisja danych w paśmie krótkofalowym Etap 2: Opracowanie uniwersalnej platformy sprzętowej modemu Praca nr 08300016 Gdańsk, grudzień 2006

Szybka transmisja danych w paśmie krótkofalowym Etap 2: Opracowanie uniwersalnej platformy sprzętowej modemu Praca nr 08300016 Słowa kluczowe: radiokomunikacja morska, modem radiowy, kanał radiokomunikacyjny w paśmie krótkofalowym Kierownik pracy: dr inż. Jacek Stefański Wykonawcy pracy: mgr inż. Krzysztof Bronk dr inż. Rafał Niski mgr inż. Mirosław Radziwanowski Kierownik Zakładu: dr inż. Rafał Niski Copyright by Instytut Łączności, Warszawa 2006

Spis treści 1. Wprowadzenie... 4 2. Platforma sprzętowa... 5 2.1. Dane techniczne i wydajność... 6 2.1.1. Płyta główna typu VIA EPIA MII10000... 6 2.1.2. Ocena wydajności platformy sprzętowej... 11 3. Platforma programowa... 12 3.1. System operacyjny... 12 3.1.1. LINUX Fedora 5.0.... 13 3.2. Język programowania JAVA... 15 3.3. Zdalny panel sterowania... 18 4. Realizacja wybranych bloków funkcjonalnych modemu... 19 4.1. Stanowisko pomiarowe... 19 4.2. Wyniki pomiarów... 21 4.2.1. Generowanie sygnału nośnej... 23 4.2.2. Generowanie sygnałów zmodulowanych... 25 5. Sprzętowy symulator kanału radiokomunikacyjnego w paśmie krótkofalowym... 37 5.1. Krótka charakterystyka kanału HF... 37 5.2. Realizacja symulatora kanału radiowego... 37 5.3. Weryfikacja pracy symulatora kanału... 39 5.3.1. Pomiar widma sygnału... 39 5.3.2. Pomiar odpowiedzi impulsowej kanału radiowego... 42 5.3.3. Pomiar obwiedni sygnału odbieranego... 42 5.4. Właściwości symulatora kanału radiowego... 43 5.5. Uniwersalne środowisko projektowe DSK Starter Kit TSM320C6711... 44 5.5.1. Ogólne właściwości zestawu... 44 5.5.2. Procesor sygnałowy TMS320C6711... 45 5.5.3. Kodek audio TLC320AD535... 46 5.5.4. Środowisko programowe Code Composer Studio... 48 6. Podsumowanie... 50 Bibliografia... 51 Załącznik 1. Wydruk wybranych procedur w języku JAVA... 53 Załącznik 2. Referat opublikowany w materiałach konferencyjnych KKRRiT... 58 3

1. Wprowadzenie Celem niniejszej pracy statutowej było opracowanie uniwersalnej platformy sprzętowej modemu, pracującego w wąskopasmowym kanale krótkofalowym. Praca ta stanowi drugi etap realizacji projektu pt. Szybka transmisja danych w paśmie krótkofalowym (nr 08300105). Dla zminimalizowania kosztów realizacji uniwersalnej platformy sprzętowej, dla potrzeb urządzenia definiowanego programowo, zaproponowano w pierwszej kolejności wykorzystanie tzw. komputerów jednopłytowych do zastosowań specjalnych. Koncepcja ta jest powszechnie stosowana podczas budowy urządzeń prototypowych, gdyż pozwala uniknąć, na etapie projektowym, błędów funkcjonalnych opracowywanego urządzenia. Odpowiednio dobrana platforma sprzętowa została dostosowana do współpracy ze środowiskiem programistycznym typu JAVA. Jak wynika z przeprowadzonych studiów literatury przedmiotu, koncepcja związana z wykonaniem modemu w technologii urządzenia definiowanego programowo, w oparciu o zaproponowane środowisko programistyczne JAVA, jest pomysłem nowym i stanowi autorski wkład w rozwój implementacji usług w sieciach radiokomunikacyjnych. Opracowanie składa się z 6 rozdziałów, podsumowania oraz dwóch załączników. Po krótkim wprowadzeniu do tematyki niniejszego opracowania została przedstawiona warstwa sprzętowa modemu, która spełnia wymogi urządzeniem definiowanego programowo. Rozdział trzeci stanowi opis wybranych aspektów platformy programowej, która została posadowiona na wyżej opisanej platformie sprzętowej. Kolejny, czwarty rozdział, dotyczy sprawozdania z przeprowadzonych testów funkcjonalnych wybranych modułów modemu zrealizowanych w technologii urządzenia definiowanego programowo. W następnym rozdziale przedstawiono założenia teoretyczne, koncepcję budowy i opis realizacji taniego symulatora kanału radiowego, zaimplementowanego na procesorze sygnałowym TMS320C6711 firmy Texas Instruments. Zrealizowany symulator spełnia zalecenia ITU-R odnośnie symulacji propagacji w kanale izosferycznym i zostanie on wykorzystany w trzecim etapie pracy statutowej, podczas weryfikacji oprogramowania opracowywanego modelu modemu krótkofalowego. Opracowanie kończy się krótkim podsumowaniem, dwoma załącznikami, zawierającymi wydruki wybranych procedur opracowanych w języku JAVA, a także artykuł opublikowany na KKRRiT [9] oraz spisem literatury zawierającym 26 pozycji. 4

2. Platforma sprzętowa W fazie projektowej modelu modemu krótkofalowego założono, iż platforma sprzętowa powinna charakteryzować się dużą uniwersalnością, łatwością przeprogramowywania oraz rozbudowaną funkcjonalnością, pozwalającą na późniejszą rozbudowę modemu. Założono, że zrealizowany model powinien od strony użytkownika dysponować interfejsem do sieci Ethernet. Od strony wejść/wyjść w paśmie podstawowym powinien natomiast posiadać szybkie min. 12-sto bitowe przetworniki cyfrowo-analogowe i analogowo-cyfrowe. Częstotliwość próbkowania powinna wynosić co najmniej 6 khz, ponieważ na sygnał poddawany obróbce cyfrowej zostały nałożone obostrzenia co do pasma (3 khz). Samo urządzenie powinno umożliwiać przezroczystą transmisję danych pomiędzy dwoma użytkownikami sieci Ethernet, znajdującymi się w ogólności w dwóch podsieciach, w których moduły szybkiej transmisji danych stanowiłyby niejako domyślne bramy. Od strony każdej z sieci możliwe byłoby zalogowanie się przez uwierzytelnionego wcześniej użytkownika, który za pomocą panelu mógłby konfigurować urządzenie, a także wymieniać oprogramowanie, zgodnie z koncepcją urządzenia definiowanego programowo. Z racji nałożonych wymagań sprzętowych, mając na uwadze niewielkie rozmiary projektowanego urządzenia zdecydowano, że platforma sprzętowa będzie oparta na komputerze klasy PC zrealizowanym w technologii mini-itx. Jako podstawę wybrano płytę główną firmy VIA Epia z procesorem 1 GHz. Do podstawowych zalet takiego rozwiązanie należy zaliczyć małe rozmiary płyty (17 cm x 17 cm), wbudowaną kartę graficzną oraz kartę dźwiękową z 16 bitowymi przetwornikami cyfrowo-analogowymi i analogowo-cyfrowymi, pracującymi z częstotliwością próbkowania do 48 khz, a także kartę sieciową Ethernet oraz czytnik pamięci CompactFlash. Pełną funkcjonalność zestawu dopełnia m.in. złącze PCMCIA oraz złącze USB, pozwalające na dalszą jego rozbudowę np. o modem telefoniczny, czy kartę Wi-Fi. Pamięci typu flash mogą być wykorzystywane nie tylko jako nośniki dodatkowych danych, np. kluczy szyfrujących, nowych wersji oprogramowania, itp., ale także jako nośniki, danych do transmisji. Nieodłączną część zestawu stanowi 1GB pamięci RAM. Z przeprowadzonych analiz w pierwszym etapie niniejszej pracy statutowej wynikało, że dopiero tak duża ilość pamięci operacyjnej wystarczy, aby zapewnić pożądaną wydajność modelu zarówno w jego planowej obecnie formie, jak również w późniejszych zastosowaniach. Dysk twardy projektowanego urządzenia nie musi być dużej pojemności, ponieważ znajdować się będzie na nim tylko system operacyjny wraz ze środowiskiem dla uruchomienia aplikacji modelu modemu oraz sama aplikacja definiowanego programowo modemu krótkofalowego. Wybrano zatem szybki dysk twardy firmy Western Digital o pojemności 40 GB. Szczegóły dotyczące poszczególnych komponentów zestawu wraz z ich orientacyjnymi cenami zostały zawarte w tabl. 1 1). Zestawienie to pokazuje jak bardzo mogą zostać obniżone koszty produkcji przyszłych modemów definiowalnych programowo w stosunku do tradycyjnych rozwiązań w pełni sprzętowych. Ceny finalnych produktów mogłyby być wielokrotnie niższe od tych oferowanych dzisiaj przez producentów modemów krótkofalowych do transmisji danych [2]. 1) Ceny na miesiąc marzec 2006 roku. 5

Tabl. 1. Wykaz elementów pojedynczego zestawu. Nazwa komponentu Cena brutto [PLN] Płyta główna VIA EPIA MII-10000 850,00 Obudowa MOREX CUBID 2677 490,00 Pamięć RAM 1 GB DDR PC-266MHz 380,00 Dysk twardy WD Scorpio 40GB (5400, 8MB, ATA/100) 330,00 Razem: 2050,00 2.1. Dane techniczne i wydajność Podrozdział ten ma na celu przedstawienie konkretnych parametrów technicznych omawianej platformy sprzętowej modelu modemu krótkofalowego oraz oceny jej wydajności i możliwości wykorzystania dla realizacji aplikacji urządzenia definiowanego programowo. 2.1.1. Płyta główna typu VIA EPIA MII10000 Płyta VIA EPIA MII [3, 4] ma niewielkie rozmiary, co jest rezultatem dużej integracji poszczególnych elementów oraz pomysłowej architekturze i odpowiedniego rozmieszczenia komponentów na płycie, co zostało przedstawione na rys. 1. Standard Mini-ITX charakteryzuje się zmniejszeniem gabarytów do 39% powierzchni standardowej płyty głównej komputera klasy PC z zachowaniem pełnej funkcjonalności. Dzięki temu rozmiary projektowanego modemu ulegną znacznemu zmniejszeniu. Dodatkową zaletą VIA EPIA MII10000 jest bardzo mały pobór mocy, co umożliwia wykorzystanie wolnych i stosunkowo cichych wentylatorów podnoszących ogólny komfort pracy. Rys. 1 prezentuje również jak wiele możliwości dodatkowych posiada prezentowane urządzenie. Kontroler IEEE 1394 umożliwić może na przykład pobieranie danych do transmisji z urządzeń multimedialnych wyposażonych w interfejs FireWire. Złącze USB 2.0 pozwoli na szybki transfer danych z pamięci zewnętrznych, a karta sieciowa umożliwi przesyłanie informacji pobieranych z sieci Internet, czy też sieci lokalnej. Złącze PCMCIA, jak już wspomniano wcześniej, pozwoli na korzystanie z sieci bezprzewodowych Wi-Fi. Zintegrowana karta graficzna wpływa znacząco na obniżenie kosztów całego projektu, gdyż zapewnia łatwy podgląd działania modelu modemu podczas prac projektowych. Dodatkowe złącze (slot) PCI może być wykorzystane do zamontowania w przyszłości na przykład dodatkowej karty dźwiękowej, która może być alternatywą dla tej już zintegrowanej z płytą. Miałoby to na celu porównywanie różnych kart dźwiękowych i badanie ich wpływu na jakość transmisji danych pomiędzy modemami. Karta dźwiękowa, to przecież jeden z najistotniejszych elementów tego urządzenia, ponieważ wyjście audio będzie podłączone bezpośrednio do nadajnika radiokomunikacyjnego, natomiast liniowe wejście audio będzie małosygnałowym wejściem z odbiornika radiokomunikacyjnego. 6

Rys. 1. Architektura płyty głównej VIA EPIA MII10000. Omawiane urządzenie pozwala również na wykorzystanie szybkich pamięci DDR, które mogą być odczytywane i zapisywane dwa razy w ciągu każdego taktu magistrali systemowej, co spowoduje szybką komunikacje z pamięcią, a to z kolei znacząco przyspieszy pracę modelu modemu. Sercem płyty głównej jest procesor firmy VIA, który pracuje z szybkością 1 GHz, zasilany jest napięciem stałym 1,4 V, co zapewnia bardzo niski pobór mocy przez jednostkę centralną jak i przez całą płytę główną. Procesor posiada wbudowaną pamięć podręczną pierwszego poziomu (L1 128KB) oraz drugiego (L2 64 KB), co znacząco wpływa na poprawę szybkości jego działania. Procesor VIA C3 obsługuje również technologię MMX oraz SSE, co dodatkowo przyspiesza przetwarzanie instrukcji multimedialnych. Pełna specyfikacja omawianej płyty głównej oraz jej poszczególnych elementów jest przedstawiona w tabl. 2. 7

Procesor Mostki System pamięci Tabl. 2. Specyfikacja techniczna płyty głównej VIA EPIA MII10000. VGA Sloty dodatkowe CardBus/CompactFlash VIA C3 1 GHz (L1 128KB / L2 64 KB) Mostek północny VIA CLE266 Mostek południowy VIA VT8235 Jedno gniazdo DDR266 DIMM (maksymalna pojemność 1 GB) Zintegrowana grafika VIA UniChrome AGP 1 PCI CardBus typu I oraz II Ricoh R5C476 II kontroler CardBus IDE 2 x UltraDMA 133/100/66 Port napędu dyskietek 1 FDD LAN VIA VT6103 10/100 base Ethernet PHY Audio VIA VT1616 6-cio kanałowy kodek AC 97 IEEE 1394 VIA VT6307S IEEE 1394 TV-out VIA VT1622A TV-out Panel Tylni I/O 1 PS2 port myszki 1 PS2 port klawiatury 1 RJ-45 LAN 1 port szeregowy 2 USB 2.0 1 VGA 1 1394 1 CardBus Type I and II + 1 CompactFlash 1 RCA (SPDIF / TV-out) 1 S-video 3 gniazda audio: line-out, line-in and mic-in Złącza I/O na płycie 1 USB na 2 dodatkowe porty USB 2.0 1 Front-panel złącza audio (mic-in and line-out) 1 IEEE 1394 1 CD Audio 1 LPT Wake-on-LAN 3 złącza wentylatorów CPU/Sys 1 LVDS 1 złącze dla dodatkowego portu szeregowego BIOS Award BIOS Pamięć flash 2/4Mbit Właściwości dodatkowe Monitorowanie napięcia CPU Wake-on-LAN Włączanie komputera klawiaturą System zarządzania zasilaniem Przywracanie po utracie napięcia AC Temperatura użytkowania 0 ~ 50 C Wilgotność użytkowania 0% ~ 93% Właściwości płytki Mini-ITX (6 warstw) 17cm x 17cm drukowanej 8

Specyfikacja omawianej płyty głównej ukazuje, że urządzenie to ma rozszerzone możliwości związane z komunikacją z innymi urządzeniami zewnętrznymi, ponieważ posiada róznorodne interfejsy wejścia/wyjścia (I/O). Wiele z nich wyprowadzonych zostało na tylny panel płyty głównej, co zostało pokazane na rys. 2. Rys. 2. Panel tylni płyty głównej VIA EPIA MII10000. Na płytę główną zamontowano pamięć operacyjną, a całość umieszczono następnie w obudowie i podłączono wszystkie przewody, co przedstawiono na rys. 3 oraz rys. 4. Rys. 3. Montaż urządzenia etap pierwszy. 9

Rys. 4. Montaż urządzenia etap drugi. Urządzenie po zamknięciu obudowy wygląda tak, jak to pokazano na rys. 5. Rys. 5. Całkowicie zmontowane urządzenie. 10

2.1.2. Ocena wydajności platformy sprzętowej Komputer jednoukładowy VIA EPIA MII10000 to przede wszystkim małe rozmiary przy dużej integracji elementów na płycie. Producent stawia na obniżenie poboru prądu przez urządzenie, dzięki czemu nie trzeba stosować głośnych wentylatorów, a temperatura wewnątrz pozostaje na niskim poziomie. Obniżenie poziomu pobieranej mocy uzyskano przede wszystkim poprzez zastosowanie bardzo niskiego napięcia zasilania procesora, który jest głównym źródłem ciepła w każdym komputerze. Obniżenie napięcia zasilania nie spowodowało jednak utraty możliwości uzyskiwania dużych częstotliwości taktowania procesora. Dzięki czemu nie obniżono wydajności pracy całej płyty głównej w stosunku do standardu ATX. Procesor pracujący z częstotliwością taktowania 1 GHz jest w stanie skutecznie przetwarzać sygnał audio, który został spróbkowany z częstotliwością 48 khz, a w przypadku realizacji modemu wystarcza zaledwie 8 khz. Pewne jednak algorytmy obliczeniowe (na przykład algorytm Viterbiego [18]) związane z pracą modemu są dość złożone obliczeniowo, a jak wiadomo cały modem składa się z wielu bloków funkcjonalnych [18], a więc przewidywane nakłady przetwarzania związane z cyfrową obróbka sygnału w torze nadawczo-odbiorczym modemu powinny być odpowiednio duże. Z analizy pracy modemu zbudowanego w oparciu o technologię urządzenia definiowanego programowo ważne jest aby zapewnić w pierwszej kolejności możliwość nieprzerwanego i stabilnego nadawania określonej liczby pakietów danych. Samo przetwarzanie cyfrowe sygnału może odbyć się nieco wcześniej, a jego wyniki są zapisywane w postaci próbek w plikach audio. W związku z tym transmisja polega na odtwarzaniu pliku dźwiękowego z wykorzystaniem 16-to bitowego standardu PCM z częstotliwością próbkowania 8 khz. Odbiór poprzez liniowe wejście audio polega zaś na zapisaniu strumienia dźwiękowego z wejścia przetwornika analogowo-cyfrowego do postaci pliku audio. Dalsze przetwarzanie może się już odbywać po odebraniu całej porcji informacji, czyli w trybie off-line. Wyżej opisana koncepcja nadawania i odbioru prowadzi również do złagodzenia wymagań na szybkość cyfrowego przetwarzania sygnałów w modemie. Implementacja poszczególnych bloków funkcjonalnych toru nadawczo-odbiorczego modemu wymagać będzie jednak sporych zasobów pamięci operacyjnej, aby przetwarzanie dużych ilości danych było efektywne. Dodatkowo, pamięć operacyjna jest potrzebna do pracy samego systemu operacyjnego oraz maszyny wirtualnej JAVA. Zdecydowano się zatem na 1 GB szybkiej pamięci operacyjnej pracującej z częstotliwością 266MHz w trybie DDR. Dysk twardy pracujący w standardzie ATA100 i posiadający 8 MB pamięci podręcznej zapewni szybką wymianę informacji podczas rzeczywistej pracy modemu w systemie łączności krótkofalowej. Poszczególne aplikacje realizujące funkcje modemowe będą się więc stosunkowo szybko uruchamiać, natomiast 40 GB pojemności pozwoli na przechowywanie danych do transmisji oraz danych odebranych, jak również wyników pomiarów dokonywanych podczas pracy modemu oraz np. ich archiwizację. Platforma sprzętowa została więc dobrana w taki sposób, aby spełnić wszelkie stawiane przed nią wymagania, dotyczące realizacji przy jej wykorzystaniu modemu krótkofalowego w technologii urządzenia definiowanego programowo. Każdy element zestawu wybrano tak, aby mógł on spełniać swe przyszłe zadania w sposób wydajny, umożliwiający modyfikacje oprogramowania bez konieczności wymiany podzespołów sprzętowych. Dzięki temu przyszłe modemy realizowane w oparciu o niniejsze opracowanie mogą być o wiele tańsze w porównaniu z obecnie dostępnymi. Podsumowując, platforma sprzętowa została wybrana w sposób zapewniający dużą wydajność przy jednocześnie niewielkich kosztach. 11

3. Platforma programowa Praktyczna realizacja modemu krótkofalowego w technologii urządzenia definiowanego programowo wymaga w pierwszej kolejności odpowiednio dobranej platformy sprzętowej oraz z racji przyjętej koncepcji odpowiedniego zaplecza programowego. W jego skład wchodzić powinno nie tylko narzędzie służące do tworzenia oprogramowania poszczególnych bloków funkcjonalnych modemu, ale również odpowiedni system operacyjny wraz ze środowiskiem umożliwiającym uruchamianie stworzonych aplikacji. 3.1. System operacyjny System operacyjny [1] to zbiór procedur i programów pośredniczących pomiędzy uruchamianymi aplikacjami a sprzętem. Podczas codziennej pracy komputera system operacyjny jest zawsze obecny, działa od chwili startu (chwilę po włączeniu komputera) do momentu zakończenia pracy. Podstawowe zadania przypisywane dzisiejszym systemom operacyjnym to: Zarządzanie zasobami maszyny. System operacyjny optymalizuje wykorzystanie poszczególnych modułów wchodzących w skład komputera oraz steruje nimi. Specjalne moduły wchodzące w skład systemu operacyjnego (sterowniki) udostępniają aplikacjom jednolity sposób programowania poszczególnych modułów (interfejs), dzięki czemu każdy nowy sprzęt będzie współdziałać ze wszystkimi aplikacjami, o ile producent sprzętu przygotuje odpowiedni sterownik. Gromadzenie danych na dyskach i zarządzanie nimi. Każdy system operacyjny jest wyposażony w moduł obsługujący system plików. System plików to struktura danych umieszczonych na dysku, która pomaga logicznie uporządkować te dane, dzieląc je na pliki i grupując w katalogach. Maszyny wirtualne. System operacyjny udostępnia aplikacji tzw. maszynę wirtualną, czyli uproszczony obraz maszyny, na której pracuje aplikacja. System udostępnia szczegółowych aplikacji związanych z obsługą komputera oraz dodatkowe rozszerzenia, które ułatwiają pracę, (np. katalog udostępniony przez sieć dana aplikacja widzi tak samo, jak katalog znajdujący się na lokalnym dysku. Aplikacja korzystająca z takiego katalogu nie zajmuje się obsługą sieciową.). Wielozadaniowość. Na jednym komputerze może działać wiele aplikacji jednocześnie. Każda otrzyma własną maszynę wirtualną i będzie mogła działać tak, jakby była jedyną aplikacją pracującą na komputerze. Dzięki temu nie trzeba specjalnie przystosowywać aplikacji, aby mogła "podzielić się" maszyną z innymi (np. przez zwrócenie procesora innej aplikacji). Interakcja z użytkownikiem. Tę rolę spełnia zewnętrzna warstwa systemu, nazywana powłoką (shell), która umożliwia użytkownikowi uruchomienie aplikacji. W środowiskach graficznych do tej części systemu zalicza się również standardowe elementy interfejsu wykorzystywane przez aplikacje, np. standardowe okienka dialogowe, kontrolki itd. Komunikacja z innymi maszynami. To jeden z najważniejszych elementów systemu. Dzięki modułom obsługującym sieć mamy dostęp zarówno do sieci Internet, jak i do zasobów dyskowych innego komputera lub do drukarki sieciowej. 12

Przed wyborem odpowiedniego systemu operacyjnego należy zastanowić się nad tym, co może on zaoferować swojemu użytkownikowi. Implementacja modemu krótkofalowego wymagać będzie zapewnienia odpowiednich zasobów systemowych udostępnionych przez platformę sprzętową za pośrednictwem systemu operacyjnego. Praca modemu musi być dodatkowo stabilna. Zapewniony powinien być również odpowiedni poziom bezpieczeństwa, aby ustrzec oprogramowanie przed niepożądaną ingerencją. 3.1.1. LINUX Fedora 5.0. System Linux zdobywa coraz większą popularność. Wiele firm wybiera go, jako system działający bez zastrzeżeń. Także wiele domowych użytkowników decyduje się na zmianę systemu, chcąc poznać coś nowego, powiększyć swą wiedzę informatyczną. Dlatego też dla realizacji niniejszej pracy statutowej wybrano właśnie ten system operacyjny. Dodatkowym jego atutem jest fakt, że jest on bezpłatny, co wpłynie na obniżenie końcowych kosztów związanych z ewentualnym wdrożeniem omawianej, w ramach niniejszej pracy statutowej, koncepcji modemu krótkofalowego. Linux [1] to stabilne i bezpieczne jądro systemu operacyjnego napisane przez fińskiego studenta Linusa Torvaldsa. Wszystkie uruchamiane programy są obsługiwane przez jądro systemu. To ono jest odpowiedzialne za przydzielenie odpowiedniej ilości pamięci do wykonywania określonych zadań, a późniejsze jej zwolnienie. Tak więc w pierwotnym nazewnictwie, Linux to wyłącznie jądro systemu, jednak w dalszej części niniejszego opracowania Linux oznaczać będzie cały system operacyjny. Linux jest darmowym systemem i w każdej chwili można pobrać jego dowolną wersję z sieci Internet. Płyty CD-ROM systemem operacyjnym Linux można także sprzedawać. Pozwala na to licencja GNU GPL (General Public Licence). Dodatkowo system Linux jest tzw. systemem wolnym, co oznacza, że kod źródłowy tego systemu jest jawny, który bez ograniczeń można zmieniać, poprawiać wedle uznania, nie łamiąc tym samym praw autorskich. Jest mnóstwo argumentów przemawiających za wykorzystaniem tego systemu operacyjnego Jednym z nich jest fakt, że Linux bardzo szybko się rozwija i coraz więcej firm z niego korzysta. Można zatem liczyć na ciągłe usprawnianie szybkości i stabilności jego pracy, co może mieć wymierne korzyści w przypadku realizacji aplikacji modemu w technologii urządzenia definiowanego programowo. Linux jest wieloplatformowy - można korzystać z niego na standardowych komputerach klasy PC, Macintosach, Sparcach, maszynach Alpha, a nawet Amigach. Jest zatem w dużym stopniu niezależny od platformy sprzętowej. Może być więc użyteczny w nowatorskim wykorzystaniu komputera PC opartego o płytę główną w standardzie Mini-ATX. Linux to jądro systemu, jednak aby można było go wykorzystać do realizacji aplikacji modemu definiowanego programowo, niezbędne będzie oprogramowanie, które dostarcza tzw. dystrybucja. Dystrybucja ta dodatkowo zawiera instalator systemu, dzięki czemu Linux umieszcza się na dyskach twardych wykorzystywanej platformy sprzętowej. Reasumując: dystrybucja to jądro z zestawem oprogramowania wzbogacone o instalator systemu. Obecnie dostępna jest ogromna ilość dystrybucji Linuxa. Aby wybrać odpowiednią jego realizację dla potrzeb niniejszej pracy; poniżej zamieszczono krótkie charakterystyki siedmiu najbardziej znanych odmian dystrybucji systemu Linux. 13

Mandrake Linux [23] Dystrybucja jest tworzona przez firmę o tej samej nazwie. Mandrake powstał na podstawie bardzo znanego Red Hata. Charakterystyczną cechą dystrybucji jest niebywała prostota jej obsługi. W tym celu napisano wiele programów wykonujących wiele czynności za użytkownika. Domyślne ustawienia systemu zostały tak skonfigurowane, aby były odpowiednie dla niedoświadczonych użytkowników. Mandrake można pobrać z oficjalnych serwerów firmy. Dystrybucja posiada także wersję płatną, do której dołączone są dodatkowe programy komercyjne. Red Hat [21] Red Hat jest tworzony przez amerykańską firmę Red Hat. Dystrybucja ta jest dziś jedną z najpopularniejszych odmian Linux a. Ceniona przez wielu, zajmuje czołową pozycję na rynku systemów operacyjnych. Poziom trudności oferowany przez system jest średni, dlatego też Red Hat kierowany jest do użytkowników, którzy mieli już styczność z systemem Linux. Dystrybucja ta często wybierana jest przez administratorów serwerów sieciowych, ale radzi sobie również doskonale na komputerach użytkowych (osobistych). Red Hat, podobnie jak Mandrake, posiada wersję komercyjną i tak jak w przypadku swojego poprzednika zawiera ona dodatkowe oprogramowanie. Fedora [21] Dystrybucja Fedora jest to ewolucyjna odmiana Red Hat, tworzona przez tą samą firmę. Zyskuje ona coraz większą popularność wśród użytkowników systemu Linux. Jest bardzo łatwa w instalacji i konfiguracji. Posiada również wsparcie dla administratorów serwerów sieciowych. Dystrybucja ta jest bardzo bogata w oprogramowanie. Dostarcza wielu narzędzi programistycznych i zapewnia pełne wsparcie dla platformy JAVA, poprzez zintegrowaną maszynę wirtualną. Fedora jest zupełnie darmowa, a jej ciągłe aktualizacje i wysoka stabilność pracy oraz duże bezpieczeństwo systemu są dodatkowymi atutami. SuSE [24] Dystrybucja SuSE to dzieło niemieckich programistów. Prostota obsługi i wsparcie techniczne czyni go silną konkurencją dla innych dystrybucji systemu Linux. Duże grono zwolenników SuSE zyskał głównie dzięki swemu instalatorowi oraz konfiguratorowi Yast, charakteryzującemu się łatwością obsługi oraz dużą funkcjonalnością. Knoppix [22] Dystrybucja Knoppix jest tzw. systemem bootowalnym, oznacza to, że system uruchamia się bezpośrednio z płyty CD (lub DVD). Jest ciekawym rozwiązaniem, gdyż nie jest potrzebna instalacja na dysku twardym, a sam Linux jest wykorzystywany tylko tymczasowo. Knoppix bazuje na dystrybucji Debian. Dystrybucja ta jest oczywiście darmowa. Ciągłe aktualizacje zawierają nowsze wersje oprogramowania oraz jądra systemu. 14

Debian [20] Dystrybucja Debian różni się od innych dystrybucji tym, że nie stoi za nim żadna firma - tworzy go grono programistów z całego świata. Jest to największa dystrybucja - posiada prawie 9000 pakietów umieszczonych na 7CD. Debian idealnie nadaje się dla serwerów sieciowych, a to za sprawą jego dużej stabilności, będącej wynikiem długotrwałej i szczegółowej pracy programistów nad każdym pakietem. Kolejnym atutem dystrybucji jest jej dostępność dla wielu platform, dzięki czemu Debian może być wykorzystany na różnych komputerach. Dodatkowo dystrybucja znakomicie nadaje się również do komputerów klienckich. Istotną wadą Debiana jest jednak jego bardziej skomplikowana, niż w przypadku pozostałych dystrybucji, obsługa i konfiguracja. Slackware [25] Slackware ceniony jest przede wszystkim przez administratorów serwerów i do nich jest kierowany. Firma tworząca dystrybucję położyła przede wszystkim nacisk na ochronę systemu. Mankamentem wydaje się jednak mała ilość programów dołączonych do dystrybucji systemu. Jest to spowodowane tym, że Slackware jest przeznaczony do serwerów, a nie do komputerów klienckich. Spośród powyższych dystrybucji systemu Linux do realizacji niniejszej pracy statutowej wybrano system Fedora w jego aktualnie najnowszej wersji 5.0. Na tę decyzję wpływ miało wiele czynników. Przede wszystkim system ten jest nowatorski i bardzo intensywnie się rozwija. Nowe rozwiązania często nie są stabilne i istnieją problemy z ich kompatybilnością. W tym przypadku jest inaczej, ponieważ Fedora jest oparta na doświadczeniu swojego poprzednika - Red Hata, który zdobył szerokie grono użytkowników i jest przez nich bardzo ceniony. Twórcy systemu zapewnili również pełną kompatybilność systemu z jego poprzednikiem. Główną przewagą tej dystrybucji nad innymi jest jej pełne wsparcie dla platformy JAVA. Fedora zawiera nie tylko maszynę wirtualną, ale również narzędzia programistyczne wraz z kompilatorem języka JAVA. Wśród tych narzędzi jest dostępny bardzo popularny program Eclipse, który posłuży do napisania aplikacji modemu krótkofalowego definiowanego programowo. 3.2. Język programowania JAVA Powstanie języka JAVA [19] jest jednym z rezultatów szeroko zakrojonych prac projektowych związanych z obsługą nowoczesnych urządzeń pracujących w czasie rzeczywistym. Urządzenia te potrzebowały języka, który generuje niewielki kod wynikowy i jest niezależny od sprzętu. Pierwotnie, w systemach obsługujących te urządzenia używano języka C/C++, jednak ze względu na niedoskonałości kompilatorów i różnice występujące między poszczególnymi jego realizacjami, powstał pomysł stworzenia nowego języka, całkowicie niezależnego od sprzętu, czyli np.: procesorów, układów wejścia-wyjścia i systemu operacyjnego. Program napisany w języku JAVA może być zatem wykonywany zarówno na komputerze PC (pod kontrolą np.: systemu OS/2, Windows 95 lub Windows NT), na Macintosh'u, a także na maszynie UNIX owej pod warunkiem, że jest tam również zainstalowany specjalny program interpretujący język JAVA. JAVA jest zatem językiem programowania umożliwiającym pisanie aplikacji na właściwie dowolną platformę. Platformą zwykle nazywa się pewną kombinację sprzętu i 15

oprogramowania umożliwiającą tworzenie i wykonywanie programów. Platformę stanowi więc komputer o określonej architekturze oraz system operacyjny, w środowisku którego można uruchamiać programy. Większość dostępnych języków programowania jest związana z konkretną platformą sprzętowo-programową. Jednak twórcom języka JAVA przyświecał inny cel: pragnęli stworzyć uniwersalny język, w którym raz napisany i skompilowany program będzie działał w wielu środowiskach w identyczny sposób. W języku JAVA zrealizowano paradygmat programowania zorientowanego obiektowo, z wbudowanymi mechanizmami współbieżności, obsługi sytuacji wyjątkowych i kontrolą przydziału pamięci. Inne języki programowania nie mają wszystkich tych zalet, które posiada JAVA. W tabl. 3 porównano właściwości języka JAVA z właściwościami innymi języków. Tabl. 3. Porównanie właściwości przykładowych języków programowania wysokiego poziomu. Tekstowo program w języku JAVA wygląda podobnie, jak napisany w języku C++. Każdy, kto posługuje się językiem C++ regularnie, nie będzie miał większych problemów z tworzeniem oprogramowania w języku JAVA. Jednak JAVA różni się od C++ w sposób znaczący [7]. Różnice te, będące zarazem cechami charakterystycznymi języka JAVA i celami, do których dążyli jej twórcy, są następujące: eliminacja składni języka C++, która utrudnia wykrywanie błędów, w języku JAVA nie ma wskaźników; do istniejących obiektów odnosimy się za pomocą referencji, narzucono ograniczenia, które ułatwiają testowanie programów i czynią kod przejrzystym, usunięto niektóre konstrukcje języka C++ (np.: typedef, #define, goto, struct, union) oraz preprocesor, jako elementy niezgodne z paradygmatem programowania zorientowanego obiektowo oraz utrudniające zrozumienie i modyfikowanie kodu; można je zastąpić poprzez definicje klas, 16

usunięto możliwość przeciążania operatorów, usunięto wielodziedziczenie (zastępując je mechanizmem implementacji interfejsów), "zlikwidowano" możliwość definiowania procedur i funkcji nie związanych z definicją żadnej klasy, nie trzeba manualnie usuwać przydzielonych wcześniej, a już nie używanych obszarów pamięci - są one zwalniane w sposób automatyczny. niezależność programów od komputera i systemu operacyjnego, zorientowanie obiektowe, wysoki poziom kontroli nad kodem źródłowym, na etapie kompilacji przeprowadzana jest ścisła kontrola typów, kompilator wymusza obsługę wyjątków, sprawdzanie kodu źródłowego przed wykonaniem w celu eliminowania potencjalnie niebezpiecznych programów. Aby osiągnąć wyżej wymienione cele, programy w języku JAVA wykonują się w specjalnym środowisku uruchomieniowym, zwanym maszyną wirtualną JAVA (Java Virtual Machine - JVM). Maszyna wirtualna to rodzaj wirtualnego komputera, który ma swój zestaw rejestrów, zestaw instrukcji, stos i pamięć dla programów. Programy napisane w języku JAVA są kompilowane do poziomu kodu pośredniego, nazywanego kodem bajtowym JAVA (byte code), który jest interpretowany przez maszynę wirtualną JVM do kodu wykonywalnego dla danego systemu operacyjnego i komputera. Dzięki standaryzacji maszyny wirtualnej programy napisane w języku JAVA wykonują się w każdym systemie operacyjnym, w którym jest ona zainstalowana. Aby uwolnić programistę od konieczności pamiętania o zwolnieniu raz zaalokowanej pamięci, w maszynie wirtualnej pracuje specjalny wątek systemowy, zajmujący się odzyskiwaniem nieużywanej, ale zarezerwowanej pamięci. Taką czynność nazywa się odśmiecaniem pamięci (ang. garbage collection). Dzięki temu programista jest zwolniony z konieczności pamiętania o oddaniu zaalokowanej przez obiekty pamięci. JAVA zawiera elementy językowe ułatwiające pisanie programów przeznaczonych do pracy w sieci Internet. Do dyspozycji mamy zatem obsługę protokołów TCP/IP, co umożliwia łatwe korzystanie z zasobów znajdujących się na odległym komputerze. JAVA generuje bardzo mały "objętościowo" kod wynikowy, co wiąże się z wymaganiem minimalizacji czasu przesyłania programu poprzez siec Internet, szczególnie na liniach przesyłowych o małej przepustowości. JAVA jest językiem zapewniającym bezpieczeństwo użytkownikowi ładującemu program z sieci Internetu, poprzez wprowadzenie kontroli autentyczności kodu żródłowego. Przedstawione powyżej cechy języka JAVA sprawiają, że jest to język programowania, który idealnie pasuje do potrzeb realizacji niniejszej pracy statutowej. Modem definiowany programowo ma być zrealizowany na nietypowej platformie sprzętowej z wykorzystaniem systemu operacyjnego Linux. Wykorzystanie maszyny wirtualnej JAVA (wersja JRE 1.5) pozwoli na uruchamianie stworzonej aplikacji również na innych platformach sprzętowych jak i programowych. Takie rozwiązanie pozwoli na przykład na uruchomienie przyszłej aplikacji modemu na stacjonarnym komputerze PC, pracującym z systemem Windows. Stworzona aplikacja będzie zatem uniwersalna pod względem sprzętu i systemu operacyjnego. Dodatkowo JAVA jako język obiektowy umożliwi w przyszłości łatwą aktualizację i rekonfiguracje modemu. Możliwe będzie łatwe wymienianie poszczególnych 17

bloków modemu. Wymuszona obsługa sytuacji wyjątkowych zapewni natomiast dużą stabilność i pewność działania aplikacji. 3.3. Zdalny panel sterowania Jak wynika z powyższego opisu, język JAVA stwarza ogromne możliwości podniesienia funkcjonalności modemu w technologii urządzenia definiowanego programowo. Wydaje się być celowym, w dalszym etapie realizacji niniejszego projektu, rozwinięcie koncepcji zdalnego panelu sterowania, który m.in. umożliwiałby w sposób zdalny wybór szybkości przesyłu danych (a tym samym pośrednio modulacji i kodowania). Pozwalałby także na wybór protokołu retransmisji danych, ewentualnie ich szyfrowania, ustalenia praw dostępu itp. Z poziomu panelu sterowania możliwe byłoby także dokonanie aktualizacji oprogramowania poprzez wybór odpowiedniego pliku z dysku lokalnego użytkownika, a następnie jego pobranie. W przypadku stosowania dodatkowych kluczy zabezpieczeń z poziomu panelu określałoby się miejsce występowania plików z odpowiednimi kluczami (na przykład: pendrive, dysk lokalny komputera itp.). Panel sterowania umożliwiałby także generowanie statystyk, chociażby ilości przesłanych pakietów, ilości przesłanych bitów, ilości retransmitowanych ramek itp. Oprócz tego wyświetlane powinny być aktualne parametry transmisji w kanale, m.in. BER, FER oraz stosunek sygnału do szumu (uzyskiwany przy okazji algorytmów sterownia mocą). Z poziomu panelu sterowania możliwe byłoby także określenie mocy nadawanego sygnału. Rozważa się także funkcjonalność zapisu aktualnych parametrów w funkcji czasu do pliku, który mógłby być następnie wyeksportowany na komputer użytkownika. Taki zestaw funkcjonalności pozwoliłby na późniejsze testy zrealizowanego modemu i weryfikacje badań symulacyjnych. Ciekawym pomysłem jest także wzbogacenie urządzenia o protokoły QoS, chociażby o popularny HTB, pozwalający na odpowiedni rozdział pasma przepustowego na użytkowników sieci, tak aby jeden z nich nie zajął całego pasma jedynie dla siebie. Innymi słowy pozwalający na zapewnienie gwarantowanej szybkości połączenia z siecią. 18

4. Realizacja wybranych bloków funkcjonalnych modemu Rozdział ten ma na celu pokazanie możliwości wykorzystania omówionych wcześniej platform, do realizacji aplikacji modemu krótkofalowego definiowanego programowo. Zaprezentowane zostanie stanowisko pomiarowe oraz wyniki praktycznej implementacji, za pomocą wyżej opisanej technologii, wybranych bloków funkcjonalnych modemu. Celem tej części pracy jest pokazanie możliwości użycia strumienia audio oraz wyjścia audio karty dźwiękowej dla realizacji małosygnałowego wyjścia modemu krótkofalowego. 4.1. Stanowisko pomiarowe W celu przedstawienia możliwość wykorzystania wyjścia audio karty dźwiękowej dla realizacji wyjścia małosygnałowego modemu została przeprowadzona obserwacja sygnałów w dziedzinie czasu i częstotliwości. Stanowisko pomiarowe zawierało więc następujące elementy funkcjonalne (rys. 6): Platformę sprzętową modemu wraz z systemem operacyjnym Fedora 5.0, maszyną wirtualną Javy JRE 1.5 oraz stworzonym oprogramowaniem; Oscyloskop cyfrowy LC574A [6] umożliwiający realizację wielu funkcji matematycznych (m.in. szybką transformatę Fouriera); Miernik zniekształceń nieliniowych HM8027; Kabel audio (Jack-Jack) oraz sondę pomiarową wykorzystywane do podłączenia wyjścia audio z oscyloskopem; Dodatkowe wyposażenie komputerowe: monitor, klawiaturę oraz myszkę (pełniący rolę interfejsu modemu krótkofalowego). Rys. 6. Stanowisko pomiarowe. 19

Wybrany oscyloskop cyfrowy bardzo dobrze nadaje się zarówno do przedstawiania sygnałów w czasie jak i częstotliwości, co zostało zaprezentowane na rys. 7 oraz rys. 8. Rys. 7. Wykorzystanie oscyloskopu cyfrowego do obserwacji sygnałów w dziedzinie czasu. Rys. 8. Wykorzystanie oscyloskopu do obserwacji sygnałów w dziedzinie czestotliwości. 20