hibajavító kódolás hangátviteli rendszerekben
DESCRIPTION
Hibajavító kódolás hangátviteli rendszerekben. Digitális hangátvitel, hangrögzítés:. Digitális jeltovábbítás digitális csatornán! Digitális csatornamodell:. Probléma:. Hangátviteli (rögzítési) rendszerek. Érzékenység a bithibára. PCM esetén nem kritikus (lehet interpolálni) - PowerPoint PPT PresentationTRANSCRIPT
Hibajavító kódoláshangátviteli rendszerekben
Digitális hangátvitel, hangrögzítés:
Digitális jeltovábbítás digitális csatornán!
Digitális csatornamodell:
0ˆ kk yyP
Hangátviteli (rögzítési) rendszerek
bit seb.
(bit/sec)
csatorna jellege moduláció hibajavító kódolás
rögzítés CD 1.5 M véletlen + burst hibázás
P(e)=10-3
PAM + EFM ?
DVD 0.2-6M véletlen + burst hibázás
P(e)=10-3
PAM + EFM „szerű”
?
HDD ~100M véletlen
P(e)=10-9
? ?
átvitel AESEBU/SPDIF 1.5 M véletlen
P(e)=10-6
?
GSM 9.6 k fading GMSK ?
műsorszórás DAB 0.5 M fading OFDM ?
DVB-S 0.5 M AWGN QAM ?
DVB-T 0.5 M fading OFDM ?
Érzékenység a bithibára
• PCM esetén nem kritikus (lehet interpolálni)
• Tömörített (pl. mp3, DTS, LPC) kritikus lehet (egy hiba egész blokk elromlását okozhatja)
Hibajelzés, javítás alapötlete:
• Redundancia hozzáadásával a vételi oldalon jelentkező hibák észlelhetővé, esetleg javíthatóvá válnak
Jelölések: k-bites blokkot (üzenethossz) kiegészítünk r bites (paritáshossz) ún. paritásbittelk+r=n bitet küldünk tehát át (kódszóhossz)
Kódolás geometriai interpretációja
• Eredeti üzenet: k dimenziós vektorok (k-dimenziós térbeli vektorok)
• Kódolt üzenet: n>k dimenziós térbeli vektorok
Példa
• k=1 (egyetlen bitet akarunk küldeni)
• n=2 (ehelyett 2 bitet küldünk, pl. 2x ugyanazt – ismétléses kód)
0 10,0
1,0
0,00,1
nem érvényes kódszavak
Kódolás alapvető korlátjai
• Cél: egy kódkészleten belül az ún minimális Hamming-távolság (dmin) maximalizálása:
• Belátható: dmin<=n-k+1
• Ideális esetben (MDS-kódok): dmin=n-k+1
Hibajelző, hibajavító képesség
• Hibajelző képesség: Akkor tudunk hibát jelezni, ha a vételi oldalon nem legális kódszó jelenik meg.
• Hibajelzés akkor garantálható, ha a kódszóban a hibás pozíciók száma <= dmin-1• Hibajavítás: Akkor tudunk hibát javítani, ha
egyértelműen el tudjuk dönteni, hogy a vett (hibás) szó melyik legális kódszóhoz van a legközelebb. (Ekkor valószínűségi alapon a hozzá legközelebbi legális kódszóra döntünk)
Kód ABC
• A hibajavító kódolásokban nem mindig bináris üzeneteket feltételezünk, általában M-áris üzenetekkel foglalkozunk.
• Következmény: a bináris kódok elsősorban a véletlen hibák, míg az M-áris ABC fölött működő kódok a csomós hibák javítására alkalmasak.
Matematikai háttér
• Véges testek (Galois-Fields) fölötti aritmetika. Fontos: nem létezik zárt test minden elemszám esetén. Prím, vagy prímhatvány méretű testek léteznek. – Bináris test fölötti kódok: szorzás, összeadás = XOR– nembináris testben: szorzás, összeadás FIR-szűrőkkel
• generálás, hibaellenőrzés: műveletek véges testek fölötti vektorokkal, mátrixokkal
• ciklikus kódok esetén véges testek fölötti polinomokkal lehet dolgozni (ezek FIR-szűrőkkel realizálhatók)
• ciklikus kódok mindig generálhatóak szisztematikusan
Hibajelző kódok
1. Paritásbit (1 v. 2 dimenziós)• 1 hiba jelzésére alkalmas (1D)
1. CRC (Cyclic Redundancy Check)– Bináris kód– k tipikusan nagy, pl. 32Kbit, r kicsi, pl 16 v.
32– szabványosított generátorpolinom, amely
használata esetén:• minden max 3 súlyú hiba jelezhető• minden páratlan súlyú hiba jelezhető
– Előny: FIR-szűrővel generálható (HW implementáció létezik) és dekódolható
– Hátrány: csak hibajelzésre alkalmas, arra is korlátozottan
Hibajavító kódok
• Blokk kódok:– Bináris Hamming-kód– Reed-Solomon kód– BCH-kódok
• Konvolúciós kódok
• Turbo-kódok
Bináris Hamming-kód
• 1-hibát javító ún. perfekt kód
• csak adott k és n számpárosok esetén konstruálható pl. (4,7), (7,15)
• ciklikus is, tehát mátrixszal és polinommal is generálható.
• Hibajavítás: szindrómadekódolással
Szindrómadekódolás
generátor
mátrix
üzenet
csatornaparitásellenő
rző mátrix
hibavektor szindróma dekódolási
táblázat
szindróma
üzenet tipp
Off-line számolható a generátormátrix, paritásmátrix, dekódolási táblázat
Reed-Solomon kódok
• CSAK nembináris esetben lehetséges (tipikusan GF(256) (byte) ABC esetén használatos. (Bonylultabb az öszeadás és a szorzás mávelete is)
• MDS tulajdonságú• k, n szabadon választható• k, n megválasztásával dmin és a hibajavító
képesség rögtön adódik• elsősorban burst-hibák javítására hatékony
RS-kódok dekódolása
• PGZ-algoritmus (n^3 számítási igény)
• transzformációs kódolás esetén n^2-es algoritmus
BCH-kódok
• bináris kódok (véletlen hibák javítása)
• tervezési kiindulás: hibajav. képesség + kódszóhossz (n), ezekből adódik k (nem látható előre)
• Dekódolás: bonyolult, hasonló RS-hez
Kódkombinációk
• Kódátfűzés (t hibajavító képességű kód m-szeres átfűzése esetén (k*m,n*m) paraméterű lesz a kód, de dmin nem változik. A burst hibajavító képesség viszont ugrásszerűen nő: egymás melletti hibák esetén m*dmin javítható .
• Szorzatkód: (k1*k2, n1*n2, dmin1*dmin2)
Kaszkád kódok
• Csomós és véletlenszerű hibák elleni együttes védekezés
Blokk- és konvolúciós kódok összehasonlítása
Blokk-kódok konvolúciós kódok
optimalis kódok léteznek perfekt és MDS kódok (és konstrukciók)
számítógépes optimalizálás
(próbálgatás)
kód ABC GF(q) GF(2)
dekódolás hard hard vagy soft
Blokk-kódok konvolúciós kódok
implementálható
dekódolási stratégia
minimális Hamming-
távolság (BSC-re optimális)
MLSE (Maximum likelihood sequence estimation)
csatornakódolás és moduláció
együttes optimalizálása
nem lehetséges lehetséges
Konvolúciós kódoló általános felépítése
uo[ ]i uo[ 1]i- uo[ ]i-m
uk-1[ ]i uk-1[ 1]i- uk-1[ ]i-m
co[ ]i
c1[ ]i
cn-1[ ]i
Alapfogalmak
• 1 időrésben k bemeneti bithez rendelünk n kimeneti bitet;• kódsebesség R=k/n;• egyszerre m+1 időrés mintái befolyásolhatják a kimenetet;• a kódoló kimenetét befolyásoló bitek száma a kényszerhossz:
k(m+1)• eredmény: fa kód• ha a kényszerhossz véges: trellis-kód• konvolúciós kód: lineáris, időinvariáns trellis-kód• leírás: generátor-polinomok és generátormátrix (l. később)
Példa
• ui: bemenő bináris információ sorozat; k=1; (egyelőre időben végtelennek tekintjük, ellentétben a blokk-kódolással)
• xi: kódolt (bináris) sorozat; időrésenként 2 kimeneti bit n=2;
• kódsebesség: (időegység alatt beérkező és kimenő bitek száma) R=1/2:
• kényszerhossz: k(m+1)=3;
iu
]1[ iuo ]2[ iuo
][ixo
][1 ix
io uiu ][
: mod 2 összegző
: késleltető
Generátorpolinomok, generátormátrix
7
5
01
00
g
g
Generátorpolinom: a bemeneti üzenetkeret i. bitje és a kimeneti kódkeret j. bitje közötti összefüggés írja le. Esetünkben i=0 (1 bites „keret”, k=1 miatt) és j=0,1. A generátorpolinom a késleltető lánc (shift-regiszter) megcsapolási-struktúráját írja le:
201
200
1)(
1)(
DDDg
DDg
ahol D a késleltetés operátorát jelöli; Gyakran tömörebb írásmódot használnak, a generátorpolinomok oktális leírását: vagyis
Generátormátrix: k x n-es mátrix, amely a megfelelő generátorpolinomokat tartalmazza:
]1;1[)]();([ 220100 DDDDgDg G
A fa-reprezentációKódoljunk most az előbb bevezetett struktúrával egy u=[u1,u2,u3] 3 bitből álló üzenetet. A rendszer memóriarekeszeit kezdetben 0-val töltjük föl. Az üzenet 3 bitidejének eltelte után is kapunk azonban (0-tól eltérő) kimenő értékeket, hiszen a kódoló memóriája még T=2 ideig emlékezik a múltbeli értékekre. Ezért az üzenetet kiegészítjük 2 zérus bittel, hogy a kódoló a csupa nulla állapotba érjen vissza.
00
10
00
állapot
u1
11
a kódolt üzenet
bemenet
00
11
01
10
00
u2
10
01
11
00
11
10
00
11
01
10
00
01
u3
01
10
00
11
10
01
11
00
01
01
00
01
00
01
00
00
u4=0
10
11
01
00
10
11
01
00
00
00
00
00
00
00
00
00
u5=0
11
00
11
00
11
00
11
00
bemeneti „1”
bemeneti „0”
Véges automata reprezentáció
10
11
00
01
belső állapot (memória tartalma)
00
1010
01
11
00
01
11
A piros nyíl a bemeneten megjelenő „1”-es, a fehér nyíl pedig a bemeneten megjelenő „0” hatására létrejövő állapotátmenetet jelzi. A nyílon a kódolt kimenet látható.
0 érkezett a bemenetre, a kódoló
marad a 00 állapotban, a
kimeneten 00 jelenik meg
Trellis reprezentációAz állapotautomata modellt átrajzolhatjuk úgy is, hogy az automata működésének időbeliségét is érzékeltetjük: az ábrán jobbra haladva múlik az idő, fölírjuk az aktuálisan lehetséges állapotátmeneteket, és a kódolt kimenetet.
Az alábbi ábrán a fölfelé mutató (piros) nyíl a beérkező 1-es, míg a lefele mutató (fehér) nyíl a beérkező 0-ra utal.
00 00
10
00
11
1u00
01
10
11
00
11
01
10
2u
11
00
01
10
11
00
11
00
01
10
10
01
3u00
01
00
11
10
01
04 u00
00
11
05 u
Dekódolás hibamentes csatorna esetén
00 00
10
00
11
11[y00
01
10
11
01
00
11
10
0100
01
10
11
00
11
00
11
01
10
10
01
0000
01
00
11
10
01
0100
00
11
]11
A Dekódolás kritériuma a Hamming-távolság (BSC-re optimális). Mivel a csatorna most nem hibázik, így biztos, hogy minden bitidőben fogunk találni olyan ágat, amelyiknek a Hamming távolsága 0 a vett jeltől. Vagyis bitről bitre dönthetünk!
A döntésünk pedig abból olvasható ki, hogy a kiválasztott úton merre lépkedtünk, esetünkben föl-le-föl-le-le (vagy piros-fehér-piros-fehér-fehér), ami megfelel az u=[1,0,1,0,0] üzenetvektornak (u4-t és u5-t megegyezészserűen 0-nak választottuk)
Hard-Dekódolás DMC esetében
Hard-dekódoláson azt értjük, hogy a dekódoláshoz a digitális csatorna(modell) kimenetén látható szimbólumokat használjuk. Esetünkben ez azt jelenti, hogy a vett vektor is bináris, hasonlóan az elküldött sorozathoz.
A DMC (Discrete Memoryless Channel) modell lényege, hogy a csatorna memóriamentes, tehát a hibázás valószínűségei nem függenek a csatorna korábbi állapotától. A leggyakrabban használt ilyen csatorna a BSC, a bináris szimmetrikus csatorna, ahol a hibázás valószínűsége mindkét lehetséges típusú tévesztés esetén (01, 10) azonos p érték.
Maximum likelihood sequence estimation (MLSE)
)(
)()(
1)1()1()|(
yx,
yx,yx,xyd
NddN
pp
pppP
Tekintsünk egy p hibavalószínűségű BSC-t!.
A csatorna bemenetét jelölje: x=[x1,x2,…,xN];
A csatorna kimenetét jelölje y=[y1,y2,…,yN];
Az ML dekódolás kritériuma az, hogy adott y esetén azt a lehetséges x kódszót kell dekódolni, amelyikre legnagyobb a P(y | x) feltételes valószínűség! Esetünkben:
T.f.h. p < 0.5, azaz 0 < p / (1-p) < 1. Ekkor
),(min)|(max ii dPii
xyxyxx
vagyis a vett vektortól a legkisebb Hamming-távolságú kódszóra kell dönteni.
A Hammnig-távolságnak, mint dekódolási mértéknek óriási előnye, hogy additív, azaz egy trellis-ág távolsága a vett vektortól kiszámítható úgy, hogy az egyes élek távolságát összegezzük.
Általában, ha tetszőleges DMC-t föltételezünk, akkor – bár a dekódolás mértéke nem föltétlenül a Hamming-távolság – a mérték additív tulajdonsága teljesül ha a P(y|x) feltételes valószínűség logaritmusával dolgozunk (amely monoton függvény, tehát a maximalizálás szempontjából nem befolyásolja a megoldást), hiszen
N
jjj xyPP
1
)|(log)|(log xy
Tehát azon (kezdőponttól végpontig vezető) utat kell a trellisen megtalálni, amelyhez tartozó kódszó a legkisebb Hamming-távolságra van a vett jeltől. Ebből pedig az is következik, hogy nem lehetséges a szimbólumról-szimbólumra döntés, hanem minden lehetséges útra meg kell határoznunk a vett vektortól való Hamming-távolságát, s ezek közül kell kiválasztanunk a minimális távolságút.
A dekódolási feladat tehát exponenciális komplexitású, hiszen a lehetséges utak száma
TKO 2
ahol K az üzenetbitek száma, T pedig a kódoló memóriarekeszeinek száma. A gyakorlatban K>>T, annak érdekében, hogy a hasznos bitek aránya az összes átvitt bithez képest minél nagyobb legyen. Így az összes lehetséges út Hamming-távolságának a kiszámolása az exponenciális komplexitás miatt nem lehetséges. Szerencsére erre nincs is szükség, a megoldást a Vitrebi-algoritmus jelenti.
A Viterbi-dekódoló
A Viterbi algoritmus lényege az, hogy – kihasználva a dekódolási mérték additív tulajdonságát – egy egyszerű felismerés segítségével leszűkítjük azon utak számát, amelyekhez tartozó kódszavak távolságát ki kell számolnunk a vett vektortól.
A Vterbi-algoritmus segítségével tetszőleges additív tulajdonságú mérték maximalizálása végezhető el. Ezért ez az algoritmus a Hamming-távolság minimalizálására közvetlenül nem alkalmas. Egy egyszerű módosítást kell bevetni:
a dekódolási mérték legyen azon pozíciók száma, amelyben a vett jel egyezik az adott ághoz tartozó kóddal. (Ez pont a Hamming-távolság „inverze”. A Hamming-távolság minimalizálása ekvivalens a most bevezetett mérték maximalizálásával.
A Viterbi-algoritmus
00 00
10
00
11
01[y00
01
10
11
01
00
11
10
0100
01
10
11
00
11
00
11
01
10
10
01
0100
01
00
11
10
01
0100
00
11
]11
1
1
1
2
3
2
3? 2?
4
4
4
6
5 8
A kódoló állapotát jelző dobozok fölé írjuk (pirossal) azt a mértéket, amivel az adott dobozba eljuthatunk. A vett 01 és az adott ág „okozta” 00 kimenet 1 pozícióban egyezik, tehát ezt a mértéket írjuk rá erre a dobozra. Ugyanígy járunk el a következő lépésben is. (Vegyük észre, hogy T (példánkban 2) ideig minden állapotba csak egy úton juthatunk el.
Most jön a Viterbi algoritmus lényege: A T+1-dik időpillanattól egy állapotba több (esetünkben 2) úton is eljuthatunk. Azt vegyük észre, hogy az az út, amelyen kisebb mértékkel jutottunk el az adott állapotba, elfelejthető, hiszen innen bárhova továbbmenve mindig ugyanazokat a mértékeket fogjuk mindkét úthoz hozzáadni: tehát előzés kizárva. Akkor viszont kár is tovább vele foglalkozni. Ez a művelet T időrés után minden állapotban elvégezhető, ezzel nagyon nagy mértékben redukáltuk azon utak számát, amelyekre a metrika kiszámítandó.
Most a végállapotból visszafejthető, hogy melyik is az az út, amelyen át a maximális 8-as mértékkel jutottunk a végpontba. Az útirányból pedig megadható a döntésünk a küldött szimbólumokra:
]101[ˆ u
Soft-dekódolás Viterbi algoritmussal
iii xy
A hard-dekódolással szemben soft-dekódoláskor nem a diszkrét csatorna kimenetén megfigyelhető szimbólumokat használjuk a döntésünk meghatározásához, hanem közvetlenül a fizikai analóg csatorna zajos kimenetét (időbeli mintavételezést követően).
Továbbra is memóriamentes csatornában gondolkodunk: a csatorna kimenetét csak az aktuális bemenet és additív fehér Gauss-zaj befolyásolja: (AWGN= Additive White Gaussian Noise csatornamodell)
ahol x-szel a csatornára kerülő kódolt sorozatot értettük, y pedig a vett jel, a döntési változó.
),0(
1,12 N
x
i
i
Ha fölírjuk a Maximum likelihood döntést N-hosszú vektorokra, akkor az derül ki, hogy a vett sorozat és az egyes kódszavak közötti euklideszi távolságot kell minimalizálni, hiszen
Mivel a Viterbi algoritmus maximalizál, válasszuk ezért mértéknek az euklideszi-távolság -1-szeresét!
N
j ijj
N
j ijj
N
j
ijji
xy
xy
xyP
i
i
ii
1
2
21
2
12
2
min
2exp
2
1max
2exp
2
1max|max
x
x
xxxy
00 00
10
--
++
00
01
10
11
-+
--
++
+-
00
01
10
11
--
++
--
++
-+
+-
+-
-+
00
01
--
++
+-
-+
00--
++
1.73
-1.73
1.12
-1.12
0.94
-0.94
1.00
2.94
1.24
1.06
5.44
1.62 7.90
1.4162] 1.0478, 0.9704, 1.5334,- 1.0570,- 0.9318,- 0.0916,- , 0.7058- , 0.6371 1.0934,[y
A dekódolás az előbbihez teljesen hasonló, csak a mértékek számítása történik másként, az euklideszi-távolságot (vektorok skalárszorzatát) használjuk mértékként. Egy adott ág mértéke: T
iiii ccyy ],[],[ 11 Például az 1. bitidőben a piros ág mértéke:
7305.16371.010934.11
-0.61
-0.12
0.12]101[ˆ u
Pontozott konvolúciós kódok
előny hátrány
egyszerű kódok (k=1) 2m belső állapot
2 elágazás csomópontonként
R ≤ ½
(durva bitsebesség csökkenés)
bonyolult kódok (k ≥ 2) R tetszőleges 2km belső állapot
2k elágazás csomópontonként (bonyolult dekóder)
Megoldás: pontozás (puncturing)
A kimeneten előállított biteknek egy részét kitöröljük.
Pl. a korábbi R=1/2 példa esetében: minden 4. kimeneti bitet töröljük (minden második időrés 1. bitjét), így az alábbi R=2/3 trellishez jutunk:
00 00
10
00
11
00
01
10
11
1
0
1
0
00
01
10
11
00
11
00
11
01
10
10
01
00
01
00
11
10
01
000
1
00
01
10
11
0
1
0
1
1
0
0
1
Eredmény:• R=2/3 > 1/2, ugyanakkor a dekóder ugyanolyan
egyszerű, mint az eredeti R=1/2 kódnál (legalábbis soft-dekódolás esetén, ilyenkor ugyanis a törölt pozíciókban a vételi oldalon 0-t írunk be (az eredeti értékkészlet ±1), így az euklideszi távolságot nem befolyásolják a törölt bitek).
• a trellis idővariáns lett:
• dfree lecsökkent 3-ra:
00 00
10
00
11
00
01
10
11
1
0
1
0
00
01
10
11
00
11
00
11
01
10
10
01
00
01
00
11
10
01
000
1
00
01
10
11
0
1
0
1
1
0
0
1
• Megadható időinvariáns trellis is úgy, hogy 2-2 időrés bemeneti bitjeit bitpárként értelmezve megadjuk ezen bitpárokhoz gtartozó kimeneti birhármasokat. (HF: ezen trellis fölrajzolása)
Hibajavítás a GSM-benFő cél: érthető beszédátvitel
hangminták: fs=8 kHz, 8 bit/minta 64 kbit/s
tömörítés (LPC): 20 ms blokk 260 bit 13 kbit/s
pszichoakusztikus teszt eredménye: (beszédérthetőség szempontjából) 50 bit (260-ból) nagyon fontos (class 1A) 132 bit fontos (class 1B) 78 bit nem igazán fontos (ha elromlik, érthető marad a beszéd) (class 2)
Megoldás class 1A biteket CRC-vel látják el, ha ez hibát jelez, az egész keretet (260) eldobjuk; g(x)=x3+x+1 class 1B biteket 4 db zero bittel egészítjük ki (dekódolási célból) az egész class 1-t R=1/2, T=5 konvolúciós kóddal kódoljuk. G=[1+D3+D4, 1+D+D3+D4] a class2 biteket kódolás nélkül visszük át, így összesen 456 bit a kódolt keret kódolt bitsebesség: 456 bit/20 ms 22.8 kbit/s.
class 1A (50 bit)
class 1B (132 bit)
class 2(78 bit)
= 260 bites keret
class 1A (50 bit)
CRC(3 bit)
zero(4 bit)
class 1B (132 bit)
class 2(78 bit)
R=1/2 konvolúciós kóder
class 1 (KÓDOLT)(378 bit)
class 2(78 bit)
= 456 bit
DVB-T
DVB-T: Terrestrial Digital Video Broadcast (földi digitális TV műsorszórás)
Cél: SFN (Single Frequency Network – egyfrekvenciás hálózat, 700 MHz környékén)
Hozzáférés: OFDM (Orthogonal Frequency Division Multiplex, sokvivős rendszer)
Moduláció: QPSK,…,64QAM (több alkalmazási módus van definiálva)
Továbbítot jelfolyam: MPEG-2 TS, minimum 8 Mbit/s
Hibajavítás: kétszintű (kaszkád kód)
Belső kód: R=1/2,…,7/8, T=7 kényszerhosszú (pontozott) konvolúciós kód
Külső (opcionális) kód: GF(256)-fölötti rövidített Reed-Solomon(204,188) kód
+ több ponton kódátfűzés
A DVB-T hibajavító rendszere
MPEG-2 TS R=1/2,...,7/8 T=7 (pontozott) konvolúciós kóder
byte-szintű kódátfűzés
RS(204,188)kóder
DEMUX
b 0
pl. n=2 QPSKn=5 64QAM
bit-szintű kódátfűzés
bit-szintű kódátfűzésb n
(modulációs) szimbólum-szintű
kódátfűzés
OFDM modulátor
DVB-S
Outer Code-Reed SolomonA (204/188) Reed Solomon Code is applied to the data. This code is capable of correcting 8 errors. It takes the 188 bytes from the MPEG Encoder and adds 16 additional bytes of overhead. On the receive side, the RS decoder can take in data coming in at app. 10-4 BER and convert it to BER of 10-10 or better. InterleavingThe data is then optionally Fornay interleaved (convolutional interleaver with depth 12) It is delimited by occasional synch packets. On the receive side, the interleaver provides a gain of app. 3 dB. It improves the ability to correct for large number of burst errors which are missed by the inner convolutional decoder. Inner CodeThe data is then convolutionally coded depending on the transponder size and channel quality desired. (By increasing the code rate, we are reducing the redundancy from the base rate.Increasing the code rate increases the information rate, increases error rate but reduces Eb/N0 requirements). The basic code rate is ½ with K=7. But this rate can be increased by puncturing the code at code rates 2/3, ¾, 5/6, and 7/8 and others. Each code rate is tried and then locked on using the synch data.On the receive side, the convolutional decoder can take in a service quality of 10-2 and improve it to an error rate of 10-4..
Hangátviteli (rögzítési) rendszerekbit seb.
(bit/sec)
csatorna jellege moduláció hibajavító kódolás
rögzítés CD 1.5 M véletlen + burst hibázás
P(e)=10-3
PAM + EFM RS + interleaving
DVD 0.2-6M véletlen + burst hibázás
P(e)=10-3
PAM + EFM „szerű”
RS szorzatkód+ sector-szintű interleaving
HDD ~100M véletlen
P(e)=10-9
? CRC
átvitel AESEBU/SPDIF 1.5 M véletlen
P(e)=10-6
CRC
GSM 9.6 k fading GMSK bitosztályonként változó: CRC, konvoolúciós, semmi
műsorszórás DAB 0.5 M fading OFDM konvolúciós +
DVB-S 0.5 M AWGN QAM kaszkád konvolúciós + RS
DVB-T 0.5 M fading OFDM kaszkád konvolúciós + RS