Zákulisí DVB - teorie a technické informace
13.7.2009, Radek Jahoda, článek
Snad všechna média nás přesvědčují, že digitální vysílání je lepší než analogové. Ale co za tím stojí a proč to tak je, ví už málokdo. Podívejme se, jak systém DVB (DVB-S, DVB-S2, DVB-T a DVB-T2) funguje a jak je v principu rozdílný od analogového TV vysílání.
Kapitoly článku:
Novější DVB-S2 a DVB-T2 používají modernější metodu kódování, která je ale také více náročná na výpočetní výkon a paměť. Vstupem do kodéru je BB rámec, který má mnohem větší velikost než je MPEG rámec. Je to z toho důvodu, že větší blok dat je při zakódování odolnější proti rušení a lépe jsou odstraněny chyby.
Blokově je kódování stejné jako u DVB-S/T verzí, ale používá se jiný typ kódování. Vnější kódování je BCH a vnitřní LDPC, prokládání se dělá až na konci. Vytvoří se nové rámce, když každý typ kódování přidá na konec předchozích dat své paritní bity, které slouží pro opravu chyb.
Nový FEC rámec po aplikace BCH a LDPC
Velikost dat je daná použitým způsobem kódování. Celá velikost je stálá a existují dvě varianty. Krátký FEC rámec má velikost 16200 bitů a dlouhý 64800 bitů. Délky jednotlivých bloků - BB rámce, BCH a LDPC paritních dat se mění podle nastaveného kódovacího schématu. V tabulce najdeme všechny délky pro různý kódový poměr platné pro DVB-S2, pro DVB-T2 jsou platné pouze poměry 1/2, 3/5, 2/3, 3/4, 4/5 a 5/6 pro dlouhý rámec a 1/4, 1/2, 3/5, 2/3, 3/4, 4/5 a 5/6 pro krátký rámec.
Vnější kódování je typu BCH (pojmenované podle pánů Bose, Chaudhuri a Hocquenghem). Patří do skupiny binárních lineárních blokových kódů, jejich výhodou je relativní snadnost dekódování i při poměrně velké délce kódu. Kódování se pak provádí klasickým způsobem jako u všech cyklických kódů. Generování kódu se dělá polynomem, který má délku jako požadovaný kód. U dlouhého FEC paketu je to většinou 192 bitů, u krátkého 162 bitů, délku určuje parametr t-korekce, který značí počet použitých polynomů řádu 16 resp. 14. Pro dlouhý rámec a t=12 je to tedy 12*16=192 apod. Konkrétní definici polynomů lze najít v příslušné specifikaci.
Vnitřní bitové kódování LDPC (Low-density parity-check) je jedním z nejlepších systémů kódování, který se pyšní hlavně svou efektivitou (dostává se blízko Shanonovu limitu přenosu dat), i když je náročné na výpočet. Tento kód je již velmi starý, již v roce 1960 ho vynalezl Robert G. Gallager a uveřejnil ve své dizertační práci v roce 1963. Pak byl na dlouhou dobu zapomenut právě kvůli výpočetní náročnosti, vrátil se na scénu až teď v době DVB-S2 a DVB-T2 standardů.
LDPC kód používá pro generování matici velikosti (n,k), kde n je počet výsledných dat a k je počet přidaných dat. U nás to tedy znamená, že pro dlouhý rámec je n=64800 a k je závislé na rozdílu LDPC a BCH rámce. Pro každý kódový poměr tak existuje tabulka s koeficienty této matice. Tato matice je pak vynásobena se vstupními daty.
Dekódování je složitější, protože se používá iterační metody. Kvalita dekódování tedy značně závisí na času, jaký mu chceme věnovat. U bezchybného přenosu je dekódování jednoduché, ale při zvýšené chybovosti je nutné počet iterací dekodéru zvyšovat, čím více chyb, tím více iterací je potřeba a tím větší výpočetní výkon.
Prokládání FEC rámce
Po zakódování se provede prokládání (interleaving) dat podobně jako u DVB-S, ale jinou metodou. Zapisuje se do fiktivních sloupců, ale čte se po řádcích, jde přitom o bitové prokládání.
Pro různé modulace se mění počet sloupců a řádek, ušité na míru právě příslušné modulaci. Konkrétní hodnoty se pro DVB-S2 a DVB-T2 liší, najdete je v příslušné normě. Pro 8PSK u DVB-S2 je například pro dlouhý FEC rámec 21 600 řádků a 3 sloupce.
Blokově je kódování stejné jako u DVB-S/T verzí, ale používá se jiný typ kódování. Vnější kódování je BCH a vnitřní LDPC, prokládání se dělá až na konci. Vytvoří se nové rámce, když každý typ kódování přidá na konec předchozích dat své paritní bity, které slouží pro opravu chyb.
Nový FEC rámec po aplikace BCH a LDPC
Velikost dat je daná použitým způsobem kódování. Celá velikost je stálá a existují dvě varianty. Krátký FEC rámec má velikost 16200 bitů a dlouhý 64800 bitů. Délky jednotlivých bloků - BB rámce, BCH a LDPC paritních dat se mění podle nastaveného kódovacího schématu. V tabulce najdeme všechny délky pro různý kódový poměr platné pro DVB-S2, pro DVB-T2 jsou platné pouze poměry 1/2, 3/5, 2/3, 3/4, 4/5 a 5/6 pro dlouhý rámec a 1/4, 1/2, 3/5, 2/3, 3/4, 4/5 a 5/6 pro krátký rámec.
Poměr | BB frame | BCH frame | BCH t-korekce chyb | LDPC frame |
1/4 | 16 008 | 16 200 | 12 | 64 800 |
1/3 | 21 408 | 21 600 | 12 | 64 800 |
2/5 | 25 728 | 25 920 | 12 | 64 800 |
1/2 | 32 208 | 32 400 | 12 | 64 800 |
3/5 | 38 688 | 38 880 | 12 | 64 800 |
2/3 | 43 040 | 43 200 | 10 | 64 800 |
3/4 | 48 408 | 48 600 | 12 | 64 800 |
4/5 | 51 648 | 51 840 | 12 | 64 800 |
5/6 | 53 840 | 54 000 | 10 | 64 800 |
8/9 | 57 472 | 57 600 | 8 | 64 800 |
9/10 | 58 192 | 58 320 | 8 | 64 800 |
Velikosti dat pro dlouhý FEC rámec
Poměr | BB frame | BCH frame | BCH t-korekce chyb | LDPC frame |
1/4 | 3 072 | 3 240 | 12 | 16 200 |
1/3 | 5 232 | 5 400 | 12 | 16 200 |
2/5 | 6 312 | 6 480 | 12 | 16 200 |
1/2 | 7 032 | 7 200 | 12 | 16 200 |
3/5 | 9 552 | 9 720 | 12 | 16 200 |
2/3 | 10 632 | 10 800 | 12 | 16 200 |
3/4 | 11 712 | 11 880 | 12 | 16 200 |
4/5 | 12 432 | 12 600 | 12 | 16 200 |
5/6 | 13 152 | 13 320 | 12 | 16 200 |
8/9 | 14 232 | 14 400 | 12 | 16 200 |
9/10 | - | - | - | - |
Velikosti dat pro krátký FEC rámec
Vnější kódování je typu BCH (pojmenované podle pánů Bose, Chaudhuri a Hocquenghem). Patří do skupiny binárních lineárních blokových kódů, jejich výhodou je relativní snadnost dekódování i při poměrně velké délce kódu. Kódování se pak provádí klasickým způsobem jako u všech cyklických kódů. Generování kódu se dělá polynomem, který má délku jako požadovaný kód. U dlouhého FEC paketu je to většinou 192 bitů, u krátkého 162 bitů, délku určuje parametr t-korekce, který značí počet použitých polynomů řádu 16 resp. 14. Pro dlouhý rámec a t=12 je to tedy 12*16=192 apod. Konkrétní definici polynomů lze najít v příslušné specifikaci.
Vnitřní bitové kódování LDPC (Low-density parity-check) je jedním z nejlepších systémů kódování, který se pyšní hlavně svou efektivitou (dostává se blízko Shanonovu limitu přenosu dat), i když je náročné na výpočet. Tento kód je již velmi starý, již v roce 1960 ho vynalezl Robert G. Gallager a uveřejnil ve své dizertační práci v roce 1963. Pak byl na dlouhou dobu zapomenut právě kvůli výpočetní náročnosti, vrátil se na scénu až teď v době DVB-S2 a DVB-T2 standardů.
LDPC kód používá pro generování matici velikosti (n,k), kde n je počet výsledných dat a k je počet přidaných dat. U nás to tedy znamená, že pro dlouhý rámec je n=64800 a k je závislé na rozdílu LDPC a BCH rámce. Pro každý kódový poměr tak existuje tabulka s koeficienty této matice. Tato matice je pak vynásobena se vstupními daty.
Dekódování je složitější, protože se používá iterační metody. Kvalita dekódování tedy značně závisí na času, jaký mu chceme věnovat. U bezchybného přenosu je dekódování jednoduché, ale při zvýšené chybovosti je nutné počet iterací dekodéru zvyšovat, čím více chyb, tím více iterací je potřeba a tím větší výpočetní výkon.
Prokládání FEC rámce
Po zakódování se provede prokládání (interleaving) dat podobně jako u DVB-S, ale jinou metodou. Zapisuje se do fiktivních sloupců, ale čte se po řádcích, jde přitom o bitové prokládání.
Pro různé modulace se mění počet sloupců a řádek, ušité na míru právě příslušné modulaci. Konkrétní hodnoty se pro DVB-S2 a DVB-T2 liší, najdete je v příslušné normě. Pro 8PSK u DVB-S2 je například pro dlouhý FEC rámec 21 600 řádků a 3 sloupce.