A PCR mérése az IP átvitel sajátosságaival bonyolítva
|
Előző cikkünkben bemutattuk az új PCR Analyzer modulunkat és általános ismereteket adtunk a PCR mérésével kapcsolatban. Ebben a cikkben azok számára kívánunk további ismereteket adni, akik mélyebben érdeklődnek a téma iránt, és komolyabb szakmai ismereteket kívánnak szerezni. 1. A pontosság kérdése a PCR vizsgálatánál Az előző cikkben láttuk, hogy például 30 ms-os ismétlődési idő esetén a mérőkészülékbe épített órának 30 000 000 ns elteltét kell jeleznie. A PCR 27 MHz-es vezéroszcillátora a professzionális stúdiókban 1×10-6, azaz 1 ppm körüli pontosságú. A középkategóriás készülékekben, mint például a PST, a 20...50 ppm-nél pontosabb kristályok alkalmazása az ár és a méret miatt nem jöhet szóba. A PST kristálya 25 ppm-es. A fenti 30 ms-os tartománynál maradva könnyen kiszámítható, hogy már 10 ppm eltérés esetén is 300 ns lesz az eltérés a PCR óra és a mi óránk között. A korábbi MPEG-2 és -4 encodereknél a PCR beültetése egyenletes időközökkel történt, így a fenti hiba korrigálható konstansként jelentkezett, mondhatjuk, észre sem vettük. Tapasztaltuk, hogy napjaink bonyolult, statisztikus remultiplexerrel vezérelt HD encodereinél a PCR beültetési idő széles tartományban változik. Ennek következtében a korábbi konstans érték hol kisebb, hol nagyobb zavaró értékként jelentkezik a mérésben. Az 1. ábra montirozott képén ezt a jelenséget szemléltetjük.
1. ábra A változó ismétlődési idő okozta kiugrások a PCR hibák között A fejlesztés során kiderült, hogy ezt a „PCR álhibát” csak úgy tudjuk korrigálni, ha a mérőmű frekvenciáját nagy pontossággal ráhúzzuk a PCR óragenerátorára. Megoldásként került a kezelőfelületre a 2. ábrán látható, idő kompenzációt kapcsoló elem, amelyet bekapcsolva a PCR adatcsomag első eleménél a szoftver igyekszik nullára csökkenteni ezt a hibát. A korrekció mértéke a grafikonról leolvasható.
2. ábra Az idő kompenzáció ki- és bekapcsolását biztosító lenyíló lista. Kapcsoljuk be az időkompenzációt, ha professzionális rendszerekben nagy pontosságú vizsgálatot kívánunk végezni igen kis PCR hibák környezetében. Kapcsoljuk ki az időkompenzációt, ha nagyok a PCR hibák, mivel a hibás PCR-hez történő kompenzálás hol fel, hol lefelé húzza a rajzolt görbét. 2. Az átlagos PCR hiba Mint azt előző cikkünkben jeleztük az eredeti PCR-től való eltérés abszolútértéke semmilyen módon nem határozható meg. Annak érdekében, hogy a hibák koordináta rendszerbe rajzolhatók legyenek, elsőként a számtani középértéket kell meghatározni, és ezzel a konstans részt nullára kell csökkenteni. Fejlesztők számára az átlagértékképző modult kikapcsolhatóvá tettük, így a szoftver lehetőséget nyújt a szabályozókörök stabilitásának, lengéseinek stb. vizsgálatára is. A Time Correction modul bekapcsolása az átlagérték képzést és levonást más úton pótolja, hatása kis PCR hibák esetében azonos. 3. A PCR vizsgálata IP környezetben Az előző és a mostani cikkünkben is olyan felvételeket mutattunk, amelyeknél a TS packet akadályoztatás, azaz késleltetés nélkül jut a PCR mérő áramkör bemenetére. Az IP átvitel esetében az 1 TS packet/UDP formátum beállításával küldhető a TS packet azonnal a mérő áramkör bemenetére. Fogadjuk el, hogy ilyen esetben a bemutatottakhoz hasonló eredményt kapunk és vizsgáljuk meg a 2 TS packet/UDP formátum esetén előálló helyzetet. A 3. ábra felül azt szemlélteti, hogy a TS packetek egyenletes ütemben érkeznek az UDP csomagokat előállító modul bemenetére. Az „A” esetben az UDP csomag fejlécének elkészítése után a kettes számú TS packet kerül az UDP fejlécét követő első helyre.
3. ábra A TS packetek kiküldése az IP hálózatra 2 TS packet/UDP formátum esetén A PCR adatot hordozó hármas számú packet „jókor” érkezik, mivel annak beültetése után kész az UDP, ami így azonnal kiküldésre kerül. A „B” esetben a PCR-t hordozó hatos packet azonnal beültetésre kerül az UDP-be, de „nincs szerencséje”, mivel az UDP-ben még van egy szabad hely, így meg kell várnia a következő packet beérkezését és csak ezután kerül az IP hálózatra. Könnyen belátható, hogy várakozási, vagy szakszerűbben késleltetési idő éppen 1 TS packet továbbítási idejével azonos. A cikk készítésénél a DVB-T adás 22,4 Mbit/s sebességű adatfolyamát használtuk, így elsőként számítsuk ki azt, hogy ennél mennyi lesz a várakozási idő. A packet idő nagysága: Tpacket = (188×8) / 22,4×106 = 67,1 μs Első ránézésre meglepő, hogy a korábban emlegetett 500 ns alatti értékekhez képest ez több mint, két nagyságrenddel nagyobb. Bizonyítsuk elképzelésünk helyességét azzal, hogy megvizsgáljuk a jelenséget a PCR analizátorunkkal is. A kedvezőbb ábraméret érdekében a 4. ábrán a grafikon számunkra érdekes részeit egymás mellé ollóztuk.
4. ábra A PCR görbe 2 TS packet/UDP formátum esetén Lehet, hogy többen a késett/nem késett állapotokból két szint megjelenését várták, de mint azt korábban láttuk a hibákat átlagolni kell és így korábban, és később érkezők is lesznek. Az eloszlásfüggvény jól szemlélteti, hogy ebben az esetben a hibák három jellemző érték körül csomósodnak. Mielőtt a cikk olvasását folytatnánk, tegyünk kísérletet a számszerű értékek értelmezésére! 4. A PCR mérő hitelesítése Egy pillanatra sem térünk el a témától, de a vizsgált jelenség kiváló lehetőséget ad egy másik fontos kérdés, a hitelesítés megvilágítására. A PCR Analyzer modul valójában egy újnak számító jellemző mérőműszere, így nagyon fontos kérdés annak eldöntése, hogy valójában jól mér-e, hiteles-e. Mivel a kérdés eldöntésére kalibráló berendezések nincsenek, különböző módszereket kell kitalálni arra, hogy a fejlesztők munkáját ellenőrizzük. Visszatérve a 4. ábrához, számítsuk ki a min és max értékekből meghatározható késleltetési időt. Tkésleltetés = 33,21 + 33,72 = 66,93 μs Az eredmény azt mutatja, hogy a számított és a mért érték a hibahatárokon belül azonos, tehát a PCR analizátor helyes értéket mutat. 5. A 7 TS packet/UDP formátum vizsgálata Az IP technológia a gazdaságosság érdekében nem az előbb bemutatott, hanem a 7 TS packet/UDP formátumot használja. Az eddigi jelnél maradva átállítottuk a formátumot és az 5. ábrán megmutatjuk olvasóinknak e formátum jellegzetes képét.
5. ábra A PCR görbe 7 TS packet/UDP formátum esetén Vegyük észre, hogy az automata 100 μs-ról 400 μs-ra emelte a méréshatárt. A vízszintes tengely felett és alatt megjelenő 6-6 szintet vízszintes vonalak berajzolásával igyekeztünk kiemelni. A közvetlen összehasonlításra a 6. ábra nagyított képe ad lehetőséget.
6. ábra 7 TS packet/UDP görbéje nagyított változatban 6. A null packetek eltávolításának hatása Az IP átvitelnél az adatmennyiség csökkentése érdekében eltávolítjuk a null packeteket, és csak a hasznos packeteket építjük az UDP-be. Bizonyítás nélkül is belátható, hogy 1 TS packet/UDP formátum esetén a null packetek vagy egyéb packetek eltávolításának nincs hatása a PCR menetére. A szemléletesség érdekében most is a 2 TS packet/UDP formátummal kezdjük a jelenség vizsgálatát. A 3. ábránál arról beszéltünk, hogy a PCR-t tartalmazó TS packetnak időnként várakoznia kell az UDP csomagot lezáró packetre. A null packetek eltávolítása esetén ezt úgy kell módosítani, hogy az is előfordulhat, hogy egynél több packet idejéig kell várakozni a kiküldésre, mivel az időközben érkezett packet null packet volt, és beépítés helyett eltávolításra került. Mint azt már sejtjük is, a várakozási idő egy, vagy több packet idejével történő megnövelése újabb szinteket fog megjeleníteni a PCR görbén (lásd 8. ábra).
8. ábra A null packetek eltávolításának hatása a PCR hibákra 2 TS packet/UDP formátum esetén A 8. ábra felvételén nyíllal jelöltük azokat a helyeket, ahol a null packet eltávolítása új szintet jelenített meg a PCR hibagörbéjén. 7 TS packet/UDP formátumnál a 2×6 szint mellett megjelenő új szinteket már nagyon nehéz észrevenni, azért erről nem mutatunk be felvételt. Természetesen egészen más a helyzet, ha egy streamben valamilyen okból nagyon sok null packet van és ezek eltávolítása kiemelkedően nagy szinteket hoz létre. 7. További hatások elemzése Az eddigi vizsgálatainkban jól reprodukálható, és számítható eseményekkel foglalkoztunk. A befejező részben a véletlenszerű és nehezen számszerűsíthető eseményeket vesszük szemügyre. Induljunk ki abból, hogy visszatérünk az 1 TS packet/UDP formátumú IP átvitelre, és az 500 ns-os tartományban gyönyörködünk a PCR menetében. A Single Application módról az Expert View módra váltva lehetőségünk nyílik arra, hogy a PST IP bemenetére más streamet is bekérjünk. Egy másik készülékből ugyanezt a DVB-T adást bekérve nem látunk változást, mivel szinkronban fut a két csatorna. A T adás helyett egy 38 Mbit/s sebességű műholdas adást bekérve (7TS packet/UDP) azonban a 9. ábra szerinti kép jelenik meg.
9. ábra Az UDP packetek ütközésének hatása a PCR-re A megjelenő hibák okát keresve először határozzuk meg a nagyméretű zavaró UDP packet továbbításának idejét a gigabites hálózaton: TUDP/1G ~ 1400 bájt × 8 bit × 1 ns = 11,2 μs Vélhetően már magyarázni sem kell, hogy amikor a PCR-t tartalmazó packetünk egy hajszállal később érkezik az IP bemenetre, mint a 11,2 μs továbbítási idejű UDP, akkor a PCR-t tartalmazó packetnek ennyi ideig várakoznia kell a switch-ben. Egyéb ütközéseknél ez a várakozási idő a 0 és a 11,2 μs között bármennyi lehet, tehát nem szintek, hanem mindenféle értékű hibák alakulnak ki. A jobb oldali képen a 100 Mbites switch-csel készített felvétel látható. Itt az értékek tízszereződtek! Visszatérve a Personal Stream Tool belső felépítésére elmondjuk, hogy a DVB-T vevő, a sat vevő és az ASI bemenet egy 430 Mbit/s sebességű belső buszra dolgoznak. A buszon egyesével kerülnek továbbításra a packetek, így kisebb mértékben, de itt is fellép a packetek ütközése, mint az a 10. ábrán is látható.
10. ábra A TS packetek ütközése a PST belső buszán Bízunk benne, hogy cikkünkben sikerült megmutatni, hogy a PCR mérése milyen bonyolult és összetett téma, és sikerült rávilágítani arra, hogy milyen körültekintően kell eljárnia annak, aki megbízható, a valóságot tükröző méréseket kíván végezni.
Zigó József
|










