Bővített monDAT - IV. |
Az R-DAT technikáról indított cikksorozatunkban, amelyet a Hi-Fi
News & Record Review nyomán közlünk, először az új médium fő működési
elveit tisztáztuk, és bemutattuk a miniatűr R-DAT magnókazettát (HFM
4), majd ismertettük az R-DAT csíkstruktúráját és sávkövető rendszerét
(HFM 5), legutoljára pedig a csatornakódját (HFM 6). Most az R-DAT
magnó hibajavító, illetve hibahelyettesítő rendszerét írjuk le.
E cikksorozat kezdetén felsoroltuk a digitális felvétel előnyeit,
köztük azt, hogy a felvétel immunis a zajra és a jelkiesésre feltéve,
hogy kiegészítjük egy megfelelő hibajavító rendszerrel.
Az analóg felvétel során a magnófej és a szalag nem mindig
érintkezik egyformán: közéjük lépnek a szalag felszínének apró
törmelékei, s ez a jelenség folyvást modulálja a műsorjel
amplitúdóját. Azonkívül a mágneses aktívréteg sem teljesen egyenletes,
néhol vastagabb, mint egyébként, és ez megintcsak befolyásolja a jel
amplitúdóját. A két effektus kombináltan jelentkezik. Normális
esetben, ha a hatás nem túl erős, modulációs zajt észlelünk, ez nem
más, mint a műsorjel amplitúdómodulációja által generált, hallható
oldalsávok. Amikor a fenti hatás erős, például amikor valamiféle
anyagrészecske vagy szennyeződés elemeli a szalagot a magnófejről,
vagy ha az aktívréteg kilyukad, és a térerősség emiatt jelentékenyen
csökken, "dropout" lép fel, és a visszajátszott jel eltűnik. A
modulációs zajon kívül még más zajforrások is jelentkeznek: a
magnószalagon az aktívréteg részecske-eloszlásának karaktere,
azonkívül a magnófej és az előerősítő. Ha ezeknek a zaja belekerül a
műsorba, többé már nem lehet eltávolítani belőle.
Ugyanez a folyamat zajlik le a digitális magnófelvételen is,
hiszen a szalag és a magnófej nem tudja, miféle készülékben
"dolgoznak". Nagy különbség azonban, hogy a digitális magnójelnek nem
egészen ugyanaz a jelentősége a hangtechnikai folyamatban, mint az
analóg magnójelé.
A digitális felvétel zajának is teljesen más a jelentősége, noha
ugyanaz a fizikai jelenség idézi elő. A zaj véletlen eloszlású jel,
ami azt jelenti, hogy hullámformáját nem lehet megjósolni. A zajnak
egyetlen konstans, mérhető paramétere van: a teljesítménye. A
zajforrás zajteljesítménye gyakori, de kicsiny, valamint ritkán
jelentkező, de nagy amplitúdójú jelek kombinációjából (és persze a
kettő közötti összes átmenetből) tevődik össze. Ezt a jelet egyetlen
módon lehet jellemezni: a diagrammal, amely a zaj-amplitúdó
valószínűségi eloszlását mutatja meg. Ha egy zajos kocsma
törzsvendégeinek körében döbbent csendet akarunk előidézni, csupán fel
kell hívnunk figyelmüket a Gauss-féle valószínűségi sürűségeloszlási
függvényre (Gaussian Probability Density Function). Más szóval: minél
nagyobb a zaj-jel amplitúdója, annál ritkábban fordul elő.
A digitális jel lejátszásakor a hullámformának egyetlen
tulajdonsága érdekel bennünket: az impulzus (fluxusváltozás-okozta)
megléte, avagy hiánya. Az impulzus formája és nagysága bizonyos
határok között kevésbé fontos, minthogy a nulla bármennyire nagy,
mindig csak nulla marad. (Nem így az emberek körében, ahol is a
komplett nullák túlságosan is nagyra nőnek.) Csak az kell, hogy a
visszajátszott impulzus ki tudjon emelkedni az őt körülölelő
zaj-impulzusokból, és a reprodukció máris megfelelő... Ámde ez,
sajnos, lehetetlen, mert a zaj véletlenszerűen oszlik el. Bármekkora
legyen is a felvételi jel, mindig marad némi valószínűsége annak, hogy
a zaj egy pillanatra túlszárnyalja. Ráadásul a felvételi jelet
egyébként is célszerű limitálni, hogy kevesebb szalagot és kisebb
kazettát használhassunk. Minthogy a jel véges méretű, időnként el fog
veszni a zajban. Az impulzus, az "1" elveszését a dropout okozza.
Másrészt, a zaj impulzust produkál ott, ahol eredetileg nem volt,
tehát a "nullák" helyén. Így az "1"-ek és a "0"-ák egyforma
valószínűséggel hibásodnak (elvesznek, illetve keletkeznek). Emiatt
némely bitet rosszul fogunk reprodukálni. Hogy mennyit, azt a Bit
Error Rate (hibatévesztési arányszám) adja meg. A visszajátszás
amplitúdóját értelemszerűen úgy határozzák meg, hogy a hibaarány ne
haladja meg a hibajavító rendszer képességét. Eszerint már a kezdet
kezdetén mód van némi megalkuvásra: a lejátszandó jel (és vele együtt
a kazetta mérete is) kicsiny maradhat, ha a hibákat majd egy
nagyteljesítményű javítórendszer veszi kezelésbe. Túlságosan azért
mégsem lehetett csökkenteni a méreteket, figyelembe kellett venni egy
további hibaforrást, nevezetesen (azimut-felvétel!) a szomszédos
csatorna áthallását. Minél keskenyebb a csík, annál nehezebb követni,
annál nagyobb az esély rá, hogy követési hiba lép fel, s áthallást,
annak révén pedig torzítást produkál. Az R-DAT csíkszélességét végül
is mindeme tényezők figyelembevételével határozták meg.
A csatornakód ismertetésekor (HFM 6) szó volt róla, hogy az
R-DAT-ban csoportkódot alkalmaznak: 6 adat-bitet 10 csatorna-bit fog
megjeleníteni a magnószalagon, bizonyos mintázatok szerint. Az R-DAT
hibajavító stratégiájának kidolgozásakor tehát arra kellett figyelni,
hogyan hatnak a zaj-okozta véletlenszerű hibák a csoportkódra.
Ha csoportkódot alkalmazunk, egy-egy "zaj-tüske" csak egyetlen
csatorna-bitet változtat meg. Ez azonban éppen elég, hogy az egész 10
bites mintázat megváltozzék. Más szóval, egyetlen zajimpulzus hibássá
tesz egy egész 8 bites adatsort is (attól függően, mennyire tér el
egymástól a kétféle mintázat). A hibajavító rendszernek tehát arra
kell felkészülnie, hogy akár 8 egymást követő, összetartozó bitet, egy
szimbólumot is képes legyen reprodukálni. Ezért a hibajavító rendszer
szimbólumainak méretét szintén 8 bitben határozták meg. (Ugyanezt az
eljárást alkalmazták a Compact Disc rendszerben: a 8/14 modulációs
séma szintén szimbólumhibával számol minden egyes véletlenszerű hiba
következményeképpen.)
A véletlenszerű zaj csak egy-egy szimbólumot torzít el, ezzel
szemben a tartós jelkiesés, a drop-out már nagyméretű hibákat okoz
("burst"), tönkretéve hosszú bit-sorozatokat, amelyek egyébként
hibátlanok volnának. Az 1. ábra azt szemlélteti, hogyan emeli el a
szalagot egy kis törmelék a magnófejről, miáltal bursthiba lép fel.
Ezt a mechanizmust sátorhatásnak nevezik, ahol is a törmelék képezi a
sátor rúdját.
1. Ha törmelék jut a fej és a szalag közé, sátorhatás lép fel, és a
visszajátszott jel időlegesen elvész
2. Interleaving a bal és a jobb csatornából valamint a páros és a
páratlan csatornajelekből (a) védi a műsort a durva hibáktól. Az egyik
fej elszennyeződése (b) minden második csíkot veszti el. Mindkét
csatornán megmarad a minták egyik fele, a másik félminta
interpolációval rekonstruálható. A szalag hosszirányú karcolódása (c)
mindkét csatornán megsemmisíti, de csak a páros mintázatokat, így
továbbra is mód van Interpolációra.
Az R-DAT rendszert úgy tervezték meg, hogy hibajavító rendszere
egyidejűleg mindkét hibamechanizmus ellen fel tudja venni a küzdelmet
- tekintettel további tényezőkre, amelyekkel a CD-nek nem kellett
törődnie.
Először is, a két forgófejet időről időre meg kell tisztítani;
igencsak valószínű, hogy az egyik hamarabb fog elszennyeződni, mint a
másik. Ilyenkor a magnó éppen úgy viselkedik, mint egy analóg
készülék, ti. elmennek a magasai. Másodszor, a szalagon vízszintes
irányú karcolások léphetnek fel, és nagyobb jelkiesést idézhetnek elő,
semhogy a hibajavító rendszer helyrehozhatná azt. E két bajnak egy az
orvossága: úgy kell elrendezni a mintázatokat, hogy még a súlyosan
károsodott jelsorozatot is helyre lehessen állítani.
A két hangfrekvenciás csatornát, a balt és a jobbat egyaránt,
páros és páratlan minták sorozatára bontják (2. ábra). Arra való
tekintettel, hogy az egyik fej esetleg elszennyeződött, mindkét audio
csatorna jelmintáinak felét az egyik, felét pedig a másik fejre
bízzák. Az első fej a bal csatorna páros mintáját veszi fel, utána a
jobb csatorna páratlan mintáját - a másik fej a jobb csatorna páros
mintáját, majd a bal csatorna páratlan mintáját rögzíti. Az ábrán
nyomonkövethetjük, mi történik, ha az egyik fej elszennyeződött.
Mindkét csatornajelnek megmarad a fele, és a készülék ebből lineáris
interpolációval helyreállítja a hiányzó mintákat; páratlan mintát
gyakorlatilag úgy szintetizálnak, hogy összeadják a két páros mintát,
és az eredményt elosztják kettővel.
A hosszirányú karcolás hatását szintén a 2. ábrán szemléltetjük.
Ilyenkor mindkét csatorna jelei kiesnek egy rövid időre, de ezek vagy
csak páros, vagy csak páratlan mintázatok - sosem a kettő egyszerre.
Mint az előbb, most is mód van interpolációra.
A másik megszorítás, hogy az R-DAT nemcsak lejátszik, hanem
(eltérően a CD-től) fel is vesz, s tudnia kell szerkeszteni is a
műsort, ami annyit tesz, hogy újabbal cseréljük fel az előző műsor egy
részletét. Minthogy a mintázatok szét vannak keverve a két magnófejre,
és a két fejnek más a dőlésszöge, a két magnócsík párt alkotva fogadja
a fejdob minden egyes fordulatát. A felvételt nem lehet tetszés
szerinti pontokon kezdeni, mert akkor megtörjük a műsorjel
szinkronját, és többé már nem tudjuk megállapítani, hogyan oszlanak el
a minták a két fej között. Csakis komplett blokkokat, tehát teljes
ferde csíkot lehet újrafelvenni. Ha a hibajavító rendszernek számos
sávból kell összekeresgélnie az információt (interleaving-lásd alább),
akkor nem könnyű dolog fenntartani a szerkesztés funkcióját anélkül,
hogy szét ne rombolnánk a hibajavító rendszer kapacitását. Ezért a DAT
kódolásában két-két csík egy teljes adatblokkot tartalmaz. Így a
jövőben megjelenő műsorszerkesztő berendezésnek (editor) vágáskor
mindössze két szomszédos csíkon kell összerendeznie az egymáshoz
illesztendő két műsor adatait és hibajavító kódjait. A hibajavítás
elmélete meghatározza, mekkora redundanciára (fölösleges információra)
van szükség ahhoz, hogy megoltalmazzuk a rendszert egy bizonyos számú
hibával szemben. Ha a jelkiesés okozta burst-hibákat csakis
redundanciák útján próbálnánk kivédeni, túlságosan sok fölösleges
információt kéne feldolgoznunk. A burst-hibákat sokkal elegánsabban
korrigálják az úgynevezett interleaving (behelyezéses, adatkeveréses)
módszerrel.
3. Hibajavító kódszavak
A hangfrekvenciás mintákból számos adatblokkot képeznek (3. ábra).
Ezek mindegyikéből hibajavító kódszavakat készítenek azáltal, hogy a
végükre egy ellenőrző mintázatot illesztenek. A kódszavakon belül
mindig ki lehet javítani egy-egy hibás mintát. Ha mármost a mintákat
nem az eredeti sorrendben rögzítik, hanem úgy, hogy először az első
mintát veszik fel mindegyik adatblokkból, majd mindegyikből a
másodikat és így tovább, akkor a felvétel nagymértékben immunissá
válik a burst-hibával szemben, ugyanis a nagyméretű burst most számos
véletlenszerű egyedi hibává töredezik szét, s azokat egyedileg ki
lehet javítani a saját adatblokkján belül.
Az interleaving igen könnyen végrehajtható azáltal, hogy
felvételkor az adatblokkok mintáit sorokban írják be a memóriába,
viszont oszlopokban olvassák ki belőle (4. ábra). Lejátszáskor
fordítva játszódik le ugyanez.
4. Ha a véletlenszerű hibát a függőleges kódszó kijavítja, akkor a
soron belül már nincs szükség korrekcióra, és a rendszer a
burst-hibáknak szentelheti teljes hibajavító képességét.
Ennek a blokk-interleavingnek csupán egy hibája van, nevezetesen,
hogy bármikor előfordulhatnak véletlenszerű hibák is, hiszen azoknak
semmi közük a burst-hibákhoz. Ha a burst-hiba szomszédságában egy
véletlenszerű hiba is fellép, deinterleaving után megmarad egy további
torzulás, amelyet már nem lehet kijavítani. Ezt úgy védik ki, hogy az
oszlopok mentén további kódszavakat visznek be a memóriába. Ezek a
kódszavak nem vehetik fel a küzdelmet a burst-hiba ellen, hiszen az
teljesen szétrombolja őket, dehát nem is ez a rendeltetésük. Az
oszlopbéli kódszavak arra valók, hogy még deinterleaving előtt
korrigálják a véletlenszerű hibákat, s ezáltal érvényre jut a
keresztirányú soronkénti kódszavak bursthibajavító képessége.
Merőlegesen alkalmazni a kódszavakat, ez nagyon hatékony technika,
és még sokkal többre is képes a fentebb leírt egyszerű
hibakorrekciónál. A CD-ben és az R-DAT-ban alkalmazott, úgynevezett
Reed-Solomon kódnak az a jellemzője, hogy egyetlen byte-nyi hiba
lokalizálásához és korrigálásához két byte redundanciára van szüksége,
két byte hiba javításához négy byte redundanciára és így tovább.
Mindazonáltal, ha a Reed-Solomon kódnak "megmondjuk", hol helyezkedik
el a hibás byte, akkor már egyetlen byte redundancia is elegendő a
hibajavításhoz. Ha tehát a hiba pozícióját valamely más mechanizmus
révén derítjük fel, a Reed-Solomon kód kapacitása megkettőződik. A 4.
ábrán bemutatott táblázatban az oszlopbéli kódszavaknak kettős
funkciójuk van. Ha véletlenszerű hiba üti fel a fejét, az oszlopbéli
kódszavak lokalizálják és korrigálják, úgyhogy de-interleaving után a
hiba már nem áll fenn. Ha viszont burst-hiba jelentkezik, az
oszlopbéli kódszó csak azt állapíthatja meg, hogy: a kódblokk
helyreállíthatatlanul tönkrement, a kódblokk mindegyik szimbóluma
hibás. Ámde ez is információ: hozzáadódik a memóriatömbhöz, amikor
visszajátszáskor az oszlopot előhívják. Egy komplett oszlop hibája
tehát oly módon jelentkezik, hogy minden egyes sorban egyedülálló
hibák keletkeznek, de már mindegyik meg van jelölve "jelzőzászlókkal"
(jelzőbitekkel): "ez az adat hibás!". Minthogy a hiba helyét már
tudjuk, a sorbéli kódszavak most már kétszeres hatékonysággal
működhetnek. Amikor a kódok a fent leírt módon keresztirányban
"kommunikálnak", működésük eredményét szorzatkódnak nevezzük.
5. Bal Páros/Jobb Páratlan interleaving memória. A bejövő mintákat
magas byte (h) és alacsony byte (l) részekre vágják, és úgy írják be a
memória soraiba, hogy előbb a páros oszlopokat használják fel a 0-830
és a R 1-831, majd a páratlan oszlopokat a L 832-1438 és a R 833-1439
számú szimbólumok számára. A 44,1 kHz-es üzemmódban a minták száma
1440 helyett csak 1323; ilyenkor kevesebb pozíciót töltenek ki.
A fejdob egy fordulata alatt szerzett minták kettős
szorzatkód-blokkot képeznek, a két fejről egyet-egyet. A fejdob 2000
fordulatot tesz meg percenként, s minden fordulat nyomán csatornánként
1440 mintát kapunk 48kHz mintavételi frekvenciával. (A blokkok
alacsonyabb mintavételkor is ugyanekkorák, csak kevesebb információt
tartalmaznak.) A blokkokat egy 4 kilobyte-os memóriapár rendezi el 128
oszlopba, melyek mindegyike 32 byte-os. A hibajavítás 8 bites
szimbólumokkal dolgozik, mivel minden egyes minta nagyobb és kisebb
értékű byte-ra van osztva, és két helyet foglal el a memóriában. Az 5.
ábra a két memória egyikét mutatja. A bejövő jelek soronként íródnak
be a memóriába, kivéve a középső, 24 byte szélességű területet. A RAM
(félvezető memória) minden adatsorát a Reed-Solomon dekóder bemenete
gyanánt használjék, a kimenő kód számára. A dekóder a baloldali
oszlopon lát munkához, és kiemel egy-egy byte-ot minden negyedik
oszlopból, összesen 26-ot, a 124. oszloppal végezve a sort. A 26 byte,
plusz 6 byte-nyi redundancia adja ki a 32 byte-os kimenő kódszót. A
redundáns byte-ok az 52., 56., 60. stb. oszlop tetején helyezkednek
el. A dekóder ezután másodszor is végigpásztázza a memóriát, most a
2-tól a 125. oszlopig, és ismét kiemel egy-egy byte-ot minden negyedik
oszlopból. Újra 6 byte redundancia adódik hozzájuk, s ezeket az 53.,
57., 61. stb. oszlop tetején helyezik el. Ez a folyamat négyszer
játszódik le a memória minden sorában, kivéve az utolsó 8 sort, ahol
csak kétszeri végigpásztázásra van szükség, ugyanis a páratlan számú
oszlopok csak a 23. sorig tartalmaznak byte-mintákat. Összesen 112
külső kódszót produkálnak.
6. A memória oszlopainak kiolvasásakor belső kódszavak formálódnak.
Először az első két oszlop páros byte-jai képeznek egy kódszót, amely
szinkronblokk Is egyben, aztán ugyanennek a két oszlopnak a páratlan
byte-jaI következnek. Mlvel az oszlopok száma 128, ennyi lesz a
szinkronblokkok száma Is egy-egy hangcsatornában.
7. Ha véletlenszerű hiba adódik két csatorna-szimbólum találkozásánál,
mindkettőt tönkreteszi, és akár 16 bit veszteséget is okozhat. A
csíkon belüli interleaving révén ez a hiba csupán egy-egy 8 bites
szimbólumot rombol szét egy-egy kódszóban.
Összeállítandó a felvételre szánt adatblokkokat, a memóriát most
már oszloponként olvassák ki. Baloldalt felül kezdve, az első oszlop
első 16 páros sorának byte-jait a második oszlop első 12 páros sorának
byte-jai követik a belső dekóderre, ahol is a 28 adat-byte-hoz 4
byte-nyi redundanciát adva, a 32 byte hosszúságú belső adatszóhoz
jutnak. Ismét a 6. ábrára utalunk: ezt a kódszót el lehet helyezni
egyetlen szinkron-blokkban a magnócsíkon. A második szinkronblokkot
úgy állítják össze, hogy újra végigpásztáznak a memória első két
oszlopán, de most a páratlan számú sorokat olvassák. Ezt az eljárást
követik kétoszloponként, amíg 128 blokkot fel nem írnak a szalagra.
Lejátszáskor a szinkronblokkban a véletlenszerű és bursthibák
kombinációjára lehet számítani. A 7. ábrán a véletlenszerű hiba
legkellemetlenebbik esetét mutatjuk be, amikor is a hiba éppen a két
8/10 szimbólum határára esik, és mindkét szimbólumot károsítja.
Tekintve, hogy a szinkronblokk váltogatva tartalmazza két oszlop
szimbólumait, a hiba ilyenkor két oszlop szimpla szimbólum-hibájává
esik szét, s ezeket könnyű kijavítani. Minthogy mindegyik belső
kódszóban 4 byte redundancia van, ki lehet javítani egy vagy két byte
véletlenszerű hibáját, megakadályozva, hogy a véletlenszerű hiba
csökkentse a külső kód burst-hibajavításának hatékonyságát. Hogy a
belső kód mégis tévedjen, az igen kevéssé valószínű, ha csak szimpla
hibáról van szó, de már valószínűbb, ha a hiba kettős. Ha pedig a
szinkronblokkon belül több mint két byte hibás, a belső kód csődöt
mond, és már csak annyit tehet, hogy valamennyi byte-ot hibásnak
nyilvánítja, "jelzőzászlókkal" (jelzőbitekkel) látva el őket, amikor
belépnek a de-interleaving memóriába. De-interleaving után ezek a
jelzések már csak egyedi hibákat fognak indikálni számos külső kódban,
és mindegyiken ott lesz a "jelzőzászló". A belső kód megóvására a
külső kód "mérlegelni fogja", hogy kapott-e zászlójeleket vagy sem. Ha
két (vagy kevesebb) byte hibát észlel, a külső kód kijavítja őket,
éspedig megbízhatóan, mert a külső kód detektáló és hibajavító
kapacitása 3 byte-nyi, és soha sincs teljesen kihasználva. Ha a külső
kódszóban több mint 2 byte hibás, a korrekciós eljárás igénybe veszi a
belső kódtól kapott jelzőzászlókat, és akár 6 byte hibát is javítani
képes.
A körmönfont interleavingeljárás értelme most már nyilvánvaló.
Minthogy a külső kód négyutas interleavingnek van alávetve, 4 teljes
szinkronblokk pusztulhat el, és a külső kódszónak még mindig csak
egyetlen byte-ja lesz hamis. Maga a külső kódszó pedig akár 6 byte-ot
is korrigálni képes, következésképpen még a 4x6=24 szinkronblokkra
kiterjedő burst-hibát is ki lehet javítani. Ekkora információmennyiség
2,5 millimétert foglal el a magnószalagon, és ez nagyobb terület,
semhogy valamely szalagtörmelék-darabka ekkora "sátrat" képezhessen a
magnófej és a szalag között. Az ennél nagyobb burst-hibákat viszont
már csak interpolációval lehet közömbösíteni.