Számítógépes Hálózatok 5. gyakorlat
Óra eleji kiszh Elérés: https://oktnb6.inf.elte.hu Számítógépes Hálózatok Gyakorlat 2
Gyakorlat tematika Szinkron CDMA Órai / házi feladat Számítógépes Hálózatok Gyakorlat 4. 3
Szinkron Code Division Multiple Access Induljunk ki kölcsönösen ortogonális vektorok halmazából. v i v j (az alábbi belső szorzat definíciót vesszük): v i v j = v T D i v j = k= v i [k]v j [k]= Pl. Walsh-mátrix sorai vagy oszlopai: H 2 = H 2 2 = k N k 2: H 2 k = H 2k H 2 k H 2 k H 2 k Az i. állomáshoz rendeljünk hozzá egy v i vektort (chip szekvencia) az előző halmazból úgy, hogy mindegyiknek egyedi legyen. Kódolás: -ás bit v i, -es bit v i Számítógépes Hálózatok Gyakorlat 3. 4
Szinkron Code Division Multiple Access Pl. ha az i. állomás átvitelre szánt adata: az bitsorozat, akkor az i. átviteli vektor: (v i, v i, v i, v i ) A csatornára kerülő szignál az átviteli vektorok összege A fogadott szignál dekódolása koordinátánként történik: Tegyük fel, hogy a k. koordinátájában szereplő vektor u. Ezt összeszorozzuk a küldő állomás megfelelő chip szekvenciájával, pl. v i -vel. Ha v i u <, akkor Ha v i u >, akkor Ha v i u ==, akkor nincs üzenet az adott feladótól Számítógépes Hálózatok Gyakorlat 3. 5
Szinkron Code Division Multiple Access Miért működik? Két részvevőre {v, v 2 } fogjuk megmutatni egy speciális esetben, onnan már könnyen általánosítható Jelölés: x = x x a vektor hossza Tegyük fel, hogy a szignál k. koordinátájában u = v v 2 van tehát az első állomásnak, a másodiknak szerepel az átvitelre szánt bitsorozatának k. bitjénél Ekkor: v u = v v v 2 = v v v v 2 = v 2 > v 2 u = v 2 v v 2 = v 2 v v 2 v 2 = v 2 2 < Tehát a dekódolási módszer mindkettő esetben jól fog következtetni. Számítógépes Hálózatok Gyakorlat 3. 6
Feladat Adott két résztvevő, akik egy időben (azonos fázis) küldenek: az egyik (,-) chip szekvenciával küldi a bitsorozatot, a másik az (,)-gyel a a sorozatot. Adjuk meg külön-külön az átviteli vektort! Adjuk meg az együttes átviteli vektort (a csatornára kerülő szignált)! Írjuk fel az átvitt vektor dekódolásának lépéseit mindkét fél vevőjénél! Számítógépes Hálózatok Gyakorlat 3. 7
Átviteli vektorok: Feladat megoldása Együttes átviteli vektor: Dekódolás Az elsőnél: A másodiknál: : v, v, v, v = (,,,,,, (,)) : v 2, v 2, v 2, v 2 = (,,,,,, (, )) v v 2, v + v 2, v + v 2, v v 2 2 2 2 2 2 2 2 2 = (, 2,,2, 2,, ( 2,)) Ha az érték pozitív, negatív, ha nem küldött + 2 = 2 + 2 = 2 2 + = 2 2 + = 2 + 2 = 2 + 2 = 2 2 + = 2 2 + = 2 Számítógépes Hálózatok Gyakorlat 3. 8
Feladat 2 Adott három állomás (A, B és C), amelyek CDMA-t használnak. Az A állomás az, míg a B az bitsorozatot küldi azonos időben. C nem küld semmit. A chip szekvenciák a következők: (6, 4, 2), ( 4,2, 6), ( 2, 6, 4) Adjuk meg a jelsorozatotokat (átviteli vektorokat), amit A és B elküld! Tegyük fel, hogy interferencia történik az átvitel során és a két jel összeadódik. Mutassuk meg, hogyan dekódolható az interferált jelből az egyes állomások üzenete! Számítógépes Hálózatok Gyakorlat 3. 9
Feladat 2 megoldása I. Átviteli vektorok: Együttes átviteli vektor: Dekódolás A: : ( 6, 4, 2, 6, 4, 2, 6, 4, 2, ( 6,4,2)) : ( 4,2, 6, 4, 2,6, 4,2, 6, (4, 2,6)) ( 2,8, 8,, 6, 6, 2,8, 8, ( 2, 8,8)) 6 4 2 2 8 8 2 6 8 6 8 2 8 8 2 32 + 26 = 96 6 + 64 + 72 = 96 2 32 + 26 = 96 2 + 32 26 = 96 Számítógépes Hálózatok Gyakorlat 3.
Feladat 2 megoldása II. Dekódolás folytatása: B: 4 2 6 C: 2 8 8 6 6 2 2 8 8 8 8 96 96 96 96 2 6 4 2 8 8 2 6 8 6 8 2 8 8 nem küldött Számítógépes Hálózatok Gyakorlat 3.
Órai / házi feladat CDMA feladat Legyen 4 kliens (A,B,C,D), akik üzeneteket akarnak váltani egymással. A szerver tárolja a kiosztandó chip szekvenciákat: (,,,), (,,,), (,,,), (,,,) A kliens csatlakozik a szerverhez és az azonosítóját, majd kap egy üzenetet a szervertől, amely a chip szekvenciája lesz. A chip szekvenciát a szerver egy Queue példány tetejéről veszi le Ha egy ötödik kliens is be akarna csatlakozni, annak "NNNN" üzenetet fog küldeni, ekkor az lépjen ki Számítógépes Hálózatok Gyakorlat 4. 2
Órai / házi feladat CDMA feladat ábra csatlakozás: Szerver Kliens A username chip seq A Számítógépes Hálózatok Gyakorlat 4. 3
Órai / házi feladat CDMA feladat folytatás A kliens oldalon megadhatunk üzenetet az alábbi formátumban: <cél azonosító> <- bitekből álló üzenet> Pl. "C " Alapbeállításként az üzenet max. 8 darab bitből állhat, ha annál nagyobb, akkor a többit vágja le Mielőtt az üzenetet elküldi a szervernek, lekérdezi tőle a cél azonosítóhoz tartozó chip szekvenciát, és kódolja az üzenetet Számítógépes Hálózatok Gyakorlat 4. 4
Órai / házi feladat CDMA feladat ábra "C " üzenetküldése: Szerver Kliens A username chip seq C Számítógépes Hálózatok Gyakorlat 4. 5
Órai / házi feladat CDMA feladat ábra "C " üzenetküldése: 2 Szerver Kliens A Kódolás: (,,,,,,,,,,,, ) Számítógépes Hálózatok Gyakorlat 4. 6
Órai / házi feladat CDMA feladat folytatás A szerver 3 másodperces periódusonként folyamatosan gyűjti be az üzeneteket, és összeadja ezeket (interferencia), aztán kiküldi az összes kliensnek az interferált jelet Ez egy 'b b' formátumú struct-ba van csomagolva Megjegyzés: azzal az esettel nem foglalkozunk, ha egy perióduson belül akar két kliens is ugyanoda küldeni A kliensek megkapják ezt, és a saját chip szekvenciájukkal dekódolják Ha nem kaptak üzenetet, vagy rövidebb üzenetet kaptak, mint a maximális üzenet méret, akkor azokon a biteknél a kimeneten "N" szerepeljen Számítógépes Hálózatok Gyakorlat 4. 7
Órai / házi feladat CDMA feladat ábra "C " üzenetfogadása: 3 Szerver Kliens C Kliens A Kliens B Kliens D Dekódolás: x, x,4 x 8, x 8,4 x,2 > x 8,2 > N N Számítógépes Hálózatok Gyakorlat 4. 8 N N N N
CDMA feladat folytatás Órai / házi feladat A szerver kódja letölthető a honlapomról A feladat: a kliens implementálása Számítógépes Hálózatok Gyakorlat 4. 9
Órai / házi feladat CDMA feladat példa futtatás Számítógépes Hálózatok Gyakorlat 4. 2
VÉGE KÖSZÖNÖM A FIGYELMET! Számítógépes Hálózatok Gyakorlat 3. 2