SK4082002A3 - Method for coding and decoding a data stream - Google Patents

Method for coding and decoding a data stream Download PDF

Info

Publication number
SK4082002A3
SK4082002A3 SK408-2002A SK4082002A SK4082002A3 SK 4082002 A3 SK4082002 A3 SK 4082002A3 SK 4082002 A SK4082002 A SK 4082002A SK 4082002 A3 SK4082002 A3 SK 4082002A3
Authority
SK
Slovakia
Prior art keywords
disparity
sequence
data stream
code
binary
Prior art date
Application number
SK408-2002A
Other languages
English (en)
Inventor
Martin Hansing
Original Assignee
Techem Service Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE10148275A external-priority patent/DE10148275A1/de
Application filed by Techem Service Ag filed Critical Techem Service Ag
Publication of SK4082002A3 publication Critical patent/SK4082002A3/sk

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/16Conversion to or from representation by pulses the pulses having three levels
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/06Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being a positive integer different from two
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Dc Digital Transmission (AREA)

Description

Predmetný vynález sa týka spôsobu kódovania a dekódovania tokov dát, pri ktorom sa pri kódovaní z tokov zdrojových dát vytvorí binárny kód a pri dekódovaní sa tento kód mení späť na toky zdrojových dát.
Doterajší stav techniky
V súčasnosti jestvuje mnoho spôsobov kódovania na vytváranie kódov RLL bez jednosmerného napätia. Na základe praktických úvah pracujú mnohé z týchto spôsobov s kódovými slovami konštantnej dĺžky (blokové kódovanie). Ak je počet zdrojových symbolov, resp. množstvo kódových slov obmedzené a spočítateľné, používajú sa často na kódovanie a dekódovanie tabuľky. Na zápis dát na optické alebo magnetické nosiče (CD, DAT, DVD) jestvujú známe spôsoby kódovania EFM a EFMPIus. Klasickými binárnymi spôsobmi kódovania na vytvorenie signálov bez jednosmerného napätia sú manchesterský kód (Manchester-Code), diferenciálny manchesterský kód (Differential-Manchester-Code), 3-zo-6, 8B10B (US 4,486,739) a CMI (Coded Mark Inversion, t.j. kódovaná inverzia znakov). Tieto spôsoby používajú dva stavy signálu (0 a 1”). Okrem toho sú známe nebinárne spôsoby kódovania, ako kód AMI (AMI-Code), modifikovaný kód AMI, HDB-3 (prenosové dráhy PCM30), kód 4B3T (národný ISDN), MMS43 (Európa ISDN) alebo spektrálne mriežkovanie (Trel-lis-Shaping).
Jestvujúce spôsoby na vytváranie kódov s obmedzenou dĺžkou priebehu signálu nespĺňajú požiadavky špeciálnych aplikácií. Buď je účinnosť kódu nevýhodná, nevyhovuje dĺžka kódového slova, disparita prevyšuje požiadavky alebo spôsob kódovania je pre menej náročné výrobky príliš nákladný. Obzvlášť výhodné pre rádiový prenos je kódovanie s malou disparitou, aby sa
31903/T u príjemcu rádiového signálu drift prahových úrovní v demodulátore (data slicer, t.j. sekáč dát) udržoval čím najmenší. Jednoducho a priestorovo úsporne sa dá realizovať napr. kód 3-zo-6. Pri tomto kóde sa zdrojové symboly o dĺžke 4 bitov menia na kódové slová o dĺžke 6 bitov. Nevýhodou kódovania 3-zo-6 je jeho neveľká účinnosť. Rovná sa 4/6 = 66,7%; strata kódovaním je teda 50%. Môže to napríklad nepriaznivo ovplyvniť životnosť a (alebo) náklady na prevádzku rádiových prístrojov, ktoré sú napájané z batérií.
Iné spôsoby kódovania, ako 8B10B, majú vyššiu kódovaciu účinnosť (E = 8/10 = 80%), dajú sa však realizovať omnoho nákladnejšie, pretože pritom sú potrebné väčšie tabuľky kódových slov a komplexné logické väzby.
Vo všeobecnosti kódovanie pomoco.u tabuliek pri väčších dĺžkach kódových slov stroskotáva na počte kódových slov, ktorý narastá exponenciálne. Boli preto navrhnuté spôsoby na spočítavanie (enumeration) kódových slov (pozri Kautz 1965, Pátrovics a Schouhammer Immink 1996). Spočítavacie dekódovanie sa robí pomocou vážených súčtov jednotlivých symbolov prijatých kódových slov. Ťažkosť pri tomto spôsobe spočíva v stanovení váhových koeficientov. Často bývajú potrebné dve sady koeficientov (pozri Táng a Bahl, 1970), ktorých stanovenie predstavuje intelektuálnu výzvu v oblasti kombinatoriky. S rastúcou dĺžkou kódových slov rastie počet váhových koeficientov a súčasne aj dĺžka ich vyjadrenia v binárnej forme. Pri realizácii spočítavacieho spôsobu s váhovými koeficientmi nároky na pamäť so stúpajúcou dĺžkou kódových slov preto kvadratický rastú a preto sa rýchlo naráža na praktické hranice.
Nebinárne spôsoby kódovania, ako AMI a i. sa nedajú použiť, ak hardvér, ktorý je k dispozícii, môže spracovávať len dva stavové signály.
31903/T
Podstata vynálezu
Úlohou vynálezu je navrhnúť taký spôsob kódovania a dekódovania tokov dát, ktorý sa dá jednoducho realizovať a nie je priestorovo náročný, vykazuje vysokú kódovaciu účinnosť a vytvára kód, ktorý je vhodný ,na rádiový prenos pomocou technicky jednoduchých rádiových prístrojov.
Táto úloha sa pri spôsobe kódovania a dekódovania uvedeného v úvode rieši v podstate tým, že na kódovanie tokov dát sa tok zdrojových dát transformuje na ternárny tok dát (čísla trojkovej sústavy) a z tohto ternárneho toku dát sa pomocou stavových prechodov vytvorí binárny kód. Binárny kód pritom má maximálnu dĺžku (priebehu signálu) štyroch po sebe nasledujúcich rovnakých diskrétnych signálových stavov a maximálnu disparitu dvoch diskrétnych odchýlok od strednej hladiny dvoch signálových stavov alebo od nulovej hladiny; binárny kód na dekódovanie sa pomocou príslušných stavových prechodov pretvorí na ternárny tok dát a transformuje sa na tok zdrojových dát.
Takto sa z toku vstupných dát (toku zdrojových dát) vytvorí binárny kód bez jednosmerného napätia a s obmedzenou dĺžkou priebehu signálu. Predchádzajúcou transformáciou na ternárny tok dát sa dajú veľmi jednoducho určiť stavové prechody, ktoré bez stanovenia pamäťovo náročných kódových slov umožňujú vytvoriť binárny kód. Účinnosť kódovania E, t.j. pomer dĺžky n zdrojových symbolov v bitoch k dĺžke k kódových slov, resp. kódovanej správy v bitoch je log, (N) kde N je počet rovnako pravdepodobných zdrojových symbolov. Tým sa kódovacia strata označená ako 1/, t.j. relatívne predĺženie zdrojovej správy s dĺžkou n bitov kódovaním do kódového sledu s dĺžkou k bitov
31903/T
--1=±_, n n log 2 (N ) E minimalizuje. To vedie, obzvlášť pri prístrojoch na rádiový prenos dát napájaných z batérií, k zlepšenému využitiu batérií, a tým aj k predĺženiu prevádzkyschopnosti prístrojov a (alebo) k zmenšeniu nákladov.
Za okrajových podmienok maximálnej disparity vytváraného kódu s najviac Dmax = ±2 a dĺžkou priebehu maximálne RLmax = 4 sa dá stanoviť optimálna medzná' účinnosť E.x spôsobu kódovania. Leží v okolí Ex ~ 79,25 %. Teoreticky dosiahnuteľná minimálna kódovacia strata Vx pri E„ bude asi 26,2 %.
Podľa predmetného vynálezu sa stavové prechody jednotlivých čísiel (0, 1, 2) ternárneho prepisu toku dát premenia vždy na dve binárne miesta binárneho kódu (00, ΟΙ, IO alebo II).
Aby sa dosiahla jednoznačná transformácia medzi temárnym a binárnym
J prepisom, závisí (pri výhodnej verzii predmetného spôsobu) definícia stavových prechodov od bežnej disparity toku dát. Bežná disparita pritom vyplýva z celkovej parity doteraz zohľadneného binárneho kódového slova. Ak sa vychádza z požiadavky neprítomnosti jednosmerného napätia, napr. ak binárny stav signálu 0 vytvára disparitu D = -1 a binárny stav signálu 1 vytvára disparitu D = +1, má jedno binárne kódové slovo 00I v súčte celkovú disparitu D = -1. Pripojením binárnej kombinácie II k binárnemu kódovému slovu II00I sa celková disparita (bežná disparita) zmení na D = +1. Ak teraz stavový prechod T2 napr. závisí od bežnej disparity D tak, že pri D< 0 T2 sa ternárne číslo 2 premení na binárnu kombináciu II a pri D > 0 sa premení na binárnu kombináciu 00, dosiahne sa pomocou stavových prechodov TO, T1 a T2 jednoznačná transformácia medzi ternárnymi stavmi 0, 1, 2 a binárnymi stavmi Ol, I0, 00, resp. H.
31903/T
Aby vznikol definovaný počiatočný stav, možno podľa vynálezu na vytvorenie spúšťacej disparity použiť spúšťací bit alebo disparitu predchádzajúceho bitového sledu.
Najmä pri použití počítačov býva k dispozícii tok zdrojových dát ako binárny zdrojový kód. V tomto prípade sa podľa predmetného vynálezu binárny tok zdrojových dát v blokoch preddefinovanej dĺžky (dĺžky bloku) transformuje na temárny tok dát. Výhodné dĺžky blokov binárneho zdrojového kódu sú 11, 19 alebo 84 bitov, pretože pri takýchto dĺžkach je účinnosť kódovania veľmi blízko k dosiahnuteľnému optimu.
Tým, že sa podľa vynálezu pred tok dát transformovaný do binárneho kódu predradí' sled SYNC, umožní sa rozpoznanie začiatku novej, úrovňou silnejšej rádiovej správy, ktorá prekryje úrovňou slabšiu správu. V prípadoch, keď sa správy prekrývajú, čo sa môže stať pri neregulovanej rádiovej prevádzke, vzniká takto možnosť rozpoznať kolíziu rádiových správ. Pri dostatočne veľkých rozdieloch úrovní príjmu sa môže presadiť silnejšia z oboch rádiových správ.
Na tento účel sled SYNC obsahuje najmä synchronizačný sled s postupnosťou alternujúcich úrovní signálu a spúšťací sled s dĺžkou priebehu (signálu) po sebe nasledujúcich rovnakých signálnych stavov väčšou, ako je maximálna dĺžka priebehu toku dát. Na základe väčšej dĺžky priebehu signálu sa môže spúšťací sled v toku dát jednoduchšie identifikovať.
Aby sa dal kódovaný tok dát jednoducho pripojiť k spúšťaciému sledu, končí podľa predmetného vynálezu spúšťací sled definovanou disparitou, obzvlášť nulovou disparitou, alebo jednoducho kladnou alebo zápornou disparitou. Tým je spúšťací stav presne definovaný.
31903/T
Prehľad obrázkov na výkresoch
Ďalej sa s odvolaním na obrázky podrobnejšie opisuje výhodný spôsob kódovania a dekódovania. Z tohto opisu a (alebo) obrázkov vyplývajú ďalšie prednosti a znaky vynálezu nezávisle od toho, ako sú súhrnne formulované v nárokoch alebo ich vzájomných vzťahoch.
Obrázky znázorňujú:
Obr. 1 tabuľku s prehľadom o počte kódových slov CD(2n) s obmedzením dĺžky priebehu signálu a s vyváženým pomerom bitov 0/1 pri rozličných disparitách;
obr. 2 schému konštrukcie binárneho kódu pre kódové slovo o dĺžke 16 bitov s obmedzením dĺžky priebehu signálu RLMax= 4 a s maximálnou disparitou DMax = +/-2;
obr. 3 stavový automat na vytváranie binárneho kódu podľa obr. 2;
obr. 4a, b konštrukciu sledu SYNC;
obr. 5 stavový automat na kódovanie príjmu binárneho kódu podľa obr. 2;
obr. 6 netto prebytok kódovania kódu RLL ako funkciu dĺžky kódového slova;
obr. 7 netto účinnosť kódovania kódu RLL ako funkciu dĺžky kódového slova a obr. 8 percentuálnu odchýlku od neprítomnosti jednosmerného napätia kódu RLL ako funkciu dĺžky kódového slova.
31903/T
Ί
Príklady uskutočnenia vynálezu
Ďalej sa ako príklad opisuje spôsob kódovania a dekódovania tokov dát, ktorý je obzvlášť vhodný na vytváranie toku signálov bez jednosmerného napätia a s obmedzenou dĺžkou priebehu signálu. Tok signálov bez jednosmerného napätia býva napríklad potrebný na moduláciu nosnej vysokej frekvencie pri rádiovom prenose, alebo na prenos dát vedeniami, ktorými sa súčasne vedie napájači prúd. Ťažisko používania spôsobu podľa predmetného vynálezu spočíva vo vytváraní účinných rádiotelegramov na prenos meracích údajov.
Elementárnou podmienkou na to, aby binárne kódy neobsahovali jednosmerné napätie je, aby sa trvanie stavu signálu v súhrne rovnalo trvaniu komplementárneho stavu signálu. Pre prenos dát diskrétnym, konštantným krokovým taktom v binárnom kóde to značí, že počet n O-bitov sa musí rovnať počtu n l-bitov. Dĺžka kódových slov napríklad nech je 2n. Potom počet C(2n) kódových slov s vyváženým pomerom bitov 0/1 bez obmedzenia dĺžky priebehu signálu bude:
C(2n) = (2), kde n e N
Ak pre kódovanie zavedieme obmedzenie počtu po sebe nasledujúcich rovnakých stavov signálu (obmedzenie dĺžky priebehu signálu, kód RLL) pomocou odchýlky toku signálov od strednej úrovne dvoch stavov signálu, resp. od nulovej úrovne (disparita D = DMax), potom počet CD(2n) kódových slov s dĺžkou 2n bitov bude
CD (2n) = f2nA n-1 + Σ (-1/ ( 2n 5
l n J i=1 <n-(D+)i >
31903/T kde
pre (m <0) v (m > n)
Obr. 1 obsahuje tabuľku s prehľadom o počte kódových slov CD(2n) rozličnej dĺžky pre rôzne disparity.
Pre disparity D = 1 a D = 2 sa dá CD(2n) ľahko zistiť. Najmä pomer
C2(2n)/ C2(2n-2) je konštantný, t.j. že systematická konštrukcia kódu je zrejmá. Prípad D = 1 je z dôvodu účinnosti kódovania (E = 50%, ako napr. pri manchesterskom kóde) nezaujímavý. V prípade D = 2 bude optimálna hraničná účinnosť E/
E„ = lim log; (2.3 )
2« log,(2)+(« -l)log,(3) lim.—-2n £ =lim lim n — n log, (3)
2n + lim n —>oo lOg; (3) 2n log; (3) 2 ä 0,79248125 « 79,25% strata kódovaním pri hraničnej účinnosti je:
Vn = — - 1* 0,26185951« 26,2% Ex
31903/T
Ďalej sa uvádza podrobný opis konštrukcie a vytvárania binárneho kódu s obmedzením dĺžky priebehu signálu RLmax = 4 a s maximálnou disparitou Dmax = 2. Obrázok 2 schématicky ukazuje možnosti vytvorenia takéhoto binárneho kódu, pričom celková disparita kódového slova je znázornená v závislosti od počtu bitov.
Východiskom pred zapísaním prvého bitu je disparita D = 0. Ak prvým bitom napr. je l-bit, má disparita hodnotu D = +1. Ak aj druhý bit je l-bit, nadobudne disparita maximálnu hodnotu D = +2. Aby sa neprekročili hranice maximálnej disparity, zostáva možnosť zapísať ako ďalší len O-bit. Aby sa dosiahla dolná hraničná hodnota disparity D = -2, možno teraz zapísať najviac 4 O-bity. Z diagramu je zrejmé, že vytvorený kód obsahuje najviac 4 rovnaké jednotlivé symboly 0 alebo I, a teda má maximálnu dĺžku priebehu (signálu) RLmax = 4. Disparita sa pohybuje v hraniciach od +2 do -2 a na konci je D = 0; kód teda neobsahuje jednosmerné napätie.
Možno teda vytvoriť stavový automat, ktorý je schopný toky vstupných dát ľubovoľnej dĺžky premieňať na toky výstupných dát (kódy) bez 1 jednosmerného napätia, s požadovanými vlastnosťami Dmax = 2. a RLmax = 4. Takýto stavový automat je znázornený na obr. 3.
Východiskom pre stavový automat je tok vstupných dát (ktorý nie je vyobrazený). Tento tok môže mať v závislosti od informácií, ktoré sú v ňom obsiahnuté, ľubovoľné hodnoty a možno ho transformovať do binárnej formy. Možno napríklad predpokladať tieto binárne zapísané vstupné dáta:
Vstupné dáta, binárne 1111111111111111111 (19 bitov, hodnota: 219·1).
Tieto vstupné dáta sa v prvom (tiež nevyobrazenom) medzikroku premenia na ternárne číslo (t.j. číslo v trojkovej sústave, resp. sústave so základom 3) a budú teraz vyzerať takto:
Medzikrok, ternárny 222122012001.
31903/T
Bez toho, že by sa obmedzila všeobecnosť, je teraz stavový automat v stave kladnej alebo zápornej disparity (D+ alebo D-). Stavy D+ alebo Dmožno najskôr dosiahnuť pomocou definovaného sledu SYNC alebo (vychádzajúc zo spúšťacieho stavu S) pomocou stavových prechodov TO alebo T1 so zvláštnym spúšťacím dátovým bitom. Podľa toho, či tento prvý bit má hodnotu 0 alebo I, dosiahnu sa stavy D+ alebo D-. V spúšťacom stave sú pritom stavové prechody definované takto:
T0(S): zapíš v binárnom výstupnom kóde bit 0 a
T1 (S): zapíš v binárnom výstupnom kóde bit I.
Nech je v tomto príklade prvý bit vstupného kódu I a nech sa použije stavový prechod T1. Ten zapíše vo výstupnom kóde l-bit a vytvorí tým kódové slovo s kladnou disparitou. Stavový automat je preto v stave kladnej disparity D+.
Stavový automat teraz vezme prvú číslicu (v príklade sprava) ternámeho medzikroku a priradí ju k jednému zo stavových prechodov
T0(D+): zapíš v binárnom výstupnom kóde sled bitov Ol,
T1 (D+): zapíš v binárnom výstupnom kóde sled bitov IO alebo
T2(D+): zapíš v binárnom výstupnom kóde sled bitov 00, pričom číslica 0 sa priradí k stavovému prechodu TO, číslica 1 k stavovému prechodu T1 a číslica 2 k stavovému prechodu T2.
V príklade je prvá ternárna číslica sprava 1. Preto stavový prechod T1(D+) pridáva vo výstupnom kóde sled bitov IO. Celé slovo vo výstupnom kóde potom je I0I a má taktiež jednoduchú kladnú disparitu D+. Pri ďalších oboch ternárnych čísliciach 0 pridá stavový prechod T0(D+) k výstupnému slovu zasa sled bitov Ol, takže vznikne celé kódové slovo OlOIIOľ, ktoré má taktiež kladnú disparitu. Pri nasledujúcej ternárej číslici 2 sa teraz použije stavový prechod T2(D+) a ten pridá sled bitov 00 k celkovému kódovému slovu OOOlOIIOľ. Toto slovo teraz bude mať zápornú disparitu D-.
31903/T
Pri stavoch zápornej disparity D- sú teraz stavové prechody definované takto:
TO(D-): zapíš v binárnom výstupnom kóde sled bitov Ol,
T1 (D-): zapíš v binárnom výstupnom kóde sled bitov I0, alebo
T2(D-): zapíš v binárnom výstupnom kóde sled bitov II.
Pri nasledujúcom ternárnom čísle 1 sa preto použije stavový prechod T1(D-). Zodpovedajúcim použitím stavových prechodov dostaneme napokon nasledujúci výstupný kód, pričom sa na konci slova stavový prechod {}(D+)-> 0 alebo {}(D-)-> ľ použije na to, aby sa dosiahol konečný stav E bez jednosmerného napätia:
Výstupný kód, binárny 0II00III000II0II0000I0II0I
V predchádzajúcom príklade sa vychádzalo z toho, že sa všetky vstupné dáta, ktoré sa majú transformovať, skladajú zo sledu 19 bitov a jedného prídavného spúšťacieho bitu. V praxi však spravidla bývajú vstupné dáta dlhšie. Transformácia veľkých čísiel z binárnej sústavy (dvojkovej sústavy) do temárnej sústavy (trojkovej sústavy) síce zásadne nepredstavuje ťažkosti, vyžaduje však narastajúci počet výpočtových operácií. Určité uľahčenie preto predstavuje rozdeľovanie (= rozsekávanie) vstupných dát na bloky určitej fixnej dĺžky. Pritom sa dĺžky blokov volia tak, aby v príslušnom ternárnom prepise takéhoto rozsekávania bolo čo najmenej, t.j. aby sa oblasť čísiel temárneho prepisu dát pri danom počte miest dobre využila.
Pri kódovaní v blokoch možno zo spúšťacieho stavu S prejsť do pracovných stavov D-, resp. D+ tým, že prvý bit toku výstupných dát sa zvolí ako fixný alebo náhodný, alebo prvý bit toku vstupných dát sa zvolí pre prechody TO, resp. T1.
Na začiatku transformácie, t.j. pri prvom bloku, ktorý sa má transformovať, sa teda zadá disparita D+ alebo D-. Pri všetkých nasledujúcich vstupných dátach, ako aj mimo hraníc blokov sa potom možno
31903/T pohybovať len v medziach oboch týchto stavov D+ a D-. Až na konci kódovania, t.j. po zakódovaní posledného bloku vstupných dát sa disparita odstráni tým, že sa pripojí posledný bit zabezpečujúci úplnú neprítomnosť jednosmerného napätia. Stavy S a E stavového automatu sú v tomto prípade pre kódovanie jediného bloku dát irelevantné s tým dôsledkom, že úplná neprítomnosť jednosmerného napätia sa nedosiahne na každom konci bloku, ale až na konci správy.
Ak je tok vstupných dát binárny a skladá sa z b bitov, možno teda 1 bit použiť priamo na vytvorenie spúšťacej disparity D+, resp. D-. Ak považujeme zvyšných (b - 7) bitov za binárne číslo, možno potom toto číslo zmenou základu číselnej sústavy transformovať z binárnej do ternárnej sústavy (čísla so základom 3). Jednotlivé číslice 0, 1 a 2 ternárneho zápisu môžu teraz slúžiť priamo ako vstupné podmienky TO, T1 a T2 stavových prechodov. Aby sa počet výpočtových operácií obmedzil, je užitočné zvyšných (b - 7) bitov duálneho zápisu transformovať v blokoch. Vhodné dĺžky blokov sú tie, pri ktorých n-tá mocnina dvojky je len o niečo málo menšia než n-tá (n je celé číslo) mocnina trojky, t.j.:
2«3mA2<3m kde m, n & N, najmä
211 = 2048 » 2187 = 37, resp.
219 = 524288 = 531441 = 312, resp.
284= 19342813113834066795298816 « 19383245667680019896796723 = 353.
Účinnosť kódu je:
v prípade (211 θ 37) E11/7 = 11/(2x7) « 78,571%, v prípade (2 θ 312) E19/l2 = 19/(2x12) « 79,167% a v prípade (284 θ 353) E84/53 = 84/(2x53) « 79,245%.
31903/T
Preto je napríklad výhodné rozdeliť tok dát (ktorý sa má kódovať) do 11bitových slov a tieto po blokoch transformovať do 7-miestneho ternárneho zápisu. V ďalšom variante je tiež možné rozdeliť binárne vstupné dáta do 19bitových slov, ktoré sa potom transformujú do 12-miestneho ternárneho zápisu. V treťom variante sa navrhuje rozdeliť binárne vstupné dáta do 84-bitových slov, ktoré sa transformujú do 53-miestneho ternárneho zápisu. Vo všetkých troch prípadoch sa ternárne číslice {0, 1, 2} v závislosti od bežnej disparity D (teda stavu D+ alebo D-) bez medzikroku premenia na štyri možné výstupné stavy {00, ΟΙ, ΙΟ, II).
Je však tiež možné celý stavový automat použiť na každý jednotlivý blok. Bolo by potom výhodné voliť bitové bloky dát s dĺžkou 11+1, 19+1, resp. 84+1 bitov, pričom prídavný bit slúži na výstup zo spúšťacieho stavu S. Z (11+1)bitového bloku dát vznikne kódovaním (1+2*7+1) = 16-bitové slovo v kóde RLL, z (19+1) bitov bude (1+2*12+1) = 26 bitov a z (84+1) bitov bude (1+2*53+1) = 108 bitov. Takto sa po každom bloku dát získava neprítomnosť jednosmerného napätia za cenu dlhších kódových slov a za cenu zhoršenej účinnosti kódovania (E11+1 = 12/16 < E1V7 = 11/(2x7); E19+1 = 20/26 < E19/12 = 19/(2x12); E84+i = 85/108 < E84/53= 84/(2x53).
Stavové automaty s ekvivalentnými vlastnosťami možno vytvoriť zámenou vstupných podmienok TO, T1 a T2 v stavových prechodoch.
Pre oblasť používania rádiového prenosu platia osobitné okrajové podmienky. V systémoch s viacerými rovnako oprávnenými vysielačmi,' pri ktorých vysielanie správ rádiom nie je navzájom skoordinované, môžu vzniknúť kolízie rádiových správ. Od takýchto systémov sa preto požaduje, aby sa správy narušené kolíziou dali rozpoznať. Okrem toho by sa správy s vyššou úrovňou príjmu prekrývané správami s nižšou úrovňou príjmu mali dať prijímať s dostatočným odstupom rušenia. Najmä počas príjmu jednej rádiovej správy by mala iná, neskoršie prichádzajúca rádiová správa so silnejšou úrovňou príjmu viesť k tomu, aby sa bežný príjem dal rozpoznať ako rušený a prerušil sa a aby bolo možné prijať novú, prekrývajúcu silnejšiu správu. Na tento účel sa pred
31903/T vlastné dáta predradí sled SYNC, ktorý v rádiovom prijímači slúži na to, aby sa prijímač nastavil na intenzitu signálu prijímanej správy a aby sa pomocou binárneho sledu signálov získal krokový takt pre tú časť informácie, ktorá bude nasledovať.
Sled SYNC sa skladá z taktovacieho sledu a spúšťacieho sledu. Taktovací sled je kroková frekvencia definovaná ako postupnosť alternujúcich úrovní signálu. Taktovací sled treba voliť tak dlhý, aby prijímač na konci taktovacieho sledu dosiahol ustálený prevádzkový stav. Po taktovacom slede nasleduje spúšťací sled. Definovaný je ako postupnosť signálov, ktorá sa dá jednoznačne odlíšiť od toku dát RLL. Keďže pri opisovanom spôsobe kódovania nejestvujú žiadne vyhradené kódové slová s prípustnou dĺžkou priebehu RLmax = 4, je dĺžka priebehu spúšťacieho sledu väčšia ako pri kóde RLL, t. zn. RLmax > 4. Možnosti konštrukcie sledu SYNC sú znázornené na obrázkoch 4a a 4b.
Rozlíšiteľnosť sledov SYNC od toku dát RLL je daná piatimi po sebe nasledujúcimi nulami (obr. 4a), resp. sledom piatich jedničiek (obr. 4b). Disparita na konci sledu SYNC je nulová, takže sa tok dát kódovaný stavovým automatom dá hladko pripojiť.
Stavový automat na dekódovanie príjmu je znázornený na obr. 5. Slúži na to, aby sa binárny kód opäť preložil naspäť do zdrojového kódu. Princíp funkcie možno porovnať s princípom funkcie stavového automatu znázorneného na obr. 3 a slúžiaceho na vytváranie binárneho kódu, pričom predmetný stavový automat môže rozpoznávať aj sled SYNC.
Počínajúc spúšťacím stavom sleduje sa pomocou snímacích operátorov 0 a I najprv striedanie bitov v taktovacej frekvencii, ktoré pravidelne strieda stavy medzi BO (za bit 0) a B1 (za bit 1). Akonáhle sa pravidelné striedanie bitov preruší dvoma po sebe nasledujúcimi bitmi, prebehne v stupni TS test, či je k dispozícii definovaný spúšťací sled. Až dovtedy, kým sa v stupni TS nerozpozná platný spúšťací sled, sa predpísané kroky opakujú.
31903/T
Po rozpoznaní spúšťacieho sledu sa na rozpoznávanie dát najskôr prejde do stavu DO s disparitou D = 0, ktorá sa skladá z výberu binárneho kódu dát. Aby sa počiatočný stav disparity (D- alebo D+) mohol rozpoznať, určí sa pomocou operátorov 0, resp. I najprv prvý bit použitý ako spúšťací bit na stanovenie spúšťacej parity. Tým sa prejde do stavu zápornej (D-) alebo kladnej (D+) disparity. Potom sa prečítajú príslušné ďalšie dva bity ako sled bitov a pomocou stavových prechodov sa preložia do ternárnych číslic. Tieto stavové prechody sú:
0l(D-/D+) zapíš ternárnu číslicu TO = 0,
IO(D-/D+) zapíš ternárnu číslicu T1 = 1, ll(D-) zapíš ternárnu číslicu T2 = 2,.
00(D+) zapíš ternárnu číslicu T2 = 2.
Ďalej sú definované stavové prechody OO(D-), resp. II(D+). Ak sa tieto stavové prechody musia použiť na základe sledu bitov zadaného v binárnom kóde, vznikol stav s disparitou, ktorá je väčšia ako zadaná maximálna disparita Dmax = 2. To značí, že dátové slovo je rušené (napr. prekrytím). Preto sa následkom týchto stavových prechodov ako počiatočné dáta zapíše pokyn {} koniec správy a stavový automat prejde do stavu TS, aby preskúšal, či je k dispozícii nový spúšťací sled.
Ak je v toku dát iba ešte jeden bit, značí to koniec dát,, ktoré treba dekódovať. V takomto prípade sa stavový automat prevedie pomocou operátorov I, resp. 0 do koncového stavu E. Napokon sa ternárne číslo transformuje naspäť do zdrojového kódu.
Na zjednodušenie realizovateľnosti sa navrhuje variant, pri ktorom sled SYNC končí jednoducho kladnou, resp. zápornou disparitou a kódovanie zdrojového toku dát sa začína v stave D-, resp. D+. Tým ša pri realizácii spôsobu kódovania ušetrí spúšťací stav S a pri dekódovaní stav DO,
31903/T
V obrázkoch 6, 7 a 8 sú znázornené: netto prebytok kódovania, netto účinnosť kódovania a percentuálna odchýlka od neprítomnosti jednosmerného napätia kódu RLL ako funkcie dĺžky kódového slova.
Predmetný spôsob kódovania a dekódovania možno realizovať jednoducho a priestorovo úsporne. To má dôležitú úlohu najmä pri výrobkoch v oblasti, kde sa požadujú nízke náklady. Tento spôsob vytvára z ternárneho toku dát binárne kódy ľubovoľnej dĺžky, ktoré sa dajú jednoduchým spôsobom dekódovať späť do ternárneho toku dát. Pri okrajových podmienkach RLLmax = 4 a DMax = 2 je pritom účinnosť kódovania blízko teoretického optima 79,248%. Navyše sa pri tejto metóde vystačí bez pamäťovo náročných tabuliek kódových slov a dĺžka vytváraných kódových slov je principiálne neobmedzená. Pomocou konštantného pomeru C2(2n)/C2(2n-2) sa dá kódové slovo pri rozličných dĺžkach kódového slova systematicky konštruovať.

Claims (9)

1. Spôsob kódovania a dekódovania tokov dát, pri ktorom sa na kódovanie z tokov zdrojových dát vytvára binárny kód a na dekódovanie sa binárny kód spätne mení na toky zdrojových dát, vyznačujúci sa tým, že na kódovanie tokov dát sa tok zdrojových dát transformuje na ternámy tok dát a z ternárneho toku dát sa pomocou stavových prechodov vytvorí binárny kód, pričom binárny kód má maximálnu dĺžku priebehu štyroch po sebe nasledujúcich rovnakých diskrétnych stavov signálu a maximálnu disparitu dvoch diskrétnych odchýlok od strednej úrovne dvoch stavov signálu alebo od nulovej úrovne, a že binárny kód sa na dekódovanie pomocou príslušných stavových prechodov premení na ternámy tok dát a transformuje sa na tok zdrojových dát.
2. Spôsob podľa nároku 1, vyznačujúci sa tým, že stavové prechody priraďujú jednotlivé číslice ternárneho zápisu toku dát vždy dvom binárnym miestam binárneho kódu.
3. Spôsob podľa nároku 1 alebo 2, vyznačujúci sa tým, že definícia stavových prechodov závisí od bežnej disparity toku dát.
4. Spôsob podľa nároku 3, vyznačujúci sa tým, že na vytváranie spúšťacej disparity sa používa spúšťací bit alebo disparita predchádzajúceho sledu bitov.
5. Spôsob podľa niektorého z nárokov 1 až 4, vyznačujúci sa tým, že tok zdrojových dát je k dispozícii ako binárny zdrojový kód a v blokoch so zadanou dĺžkou sa transformuje na ternámy tok dát.
6. Spôsob podľa nároku 5, vyznačujúci sa tým, že dĺžka bloku binárneho zdrojového kódu je 11, 19 alebo 84.
31903/T
7. Spôsob podľa niektorého z predchádzajúcich nárokov, vyznačujúci sa tým, že sa pred tok dát transformovaný do binárneho kódu predradí sled SYNC.
8. Spôsob podľa nároku 7, vyznačujúci sa tým, že sled SYNC má taktovací sled s postupnosťou alternujúcich hladín signálu a spúšťací sled s dĺžkou priebehu po sebe nasledujúcich rovnakých stavov signálu väčšou, ako je maximálna dĺžka priebehu toku dát.
9. Spôsob podľa nároku 7 alebo 8, vyznačujúci sa tým, že spúšťací sled končí definovanou disparitou, obzvlášť nulovou disparitou alebo jednoducho kladnou alebo zápornou disparitou.
SK408-2002A 2001-05-21 2002-03-22 Method for coding and decoding a data stream SK4082002A3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10124934 2001-05-21
DE10148275A DE10148275A1 (de) 2001-05-21 2001-09-28 Verfahren zum Kodieren und Dekodieren von Datenströmen

Publications (1)

Publication Number Publication Date
SK4082002A3 true SK4082002A3 (en) 2003-01-09

Family

ID=26009367

Family Applications (1)

Application Number Title Priority Date Filing Date
SK408-2002A SK4082002A3 (en) 2001-05-21 2002-03-22 Method for coding and decoding a data stream

Country Status (5)

Country Link
EP (1) EP1261137B1 (sk)
CZ (1) CZ20021174A3 (sk)
HU (1) HUP0201495A2 (sk)
PL (1) PL353149A1 (sk)
SK (1) SK4082002A3 (sk)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE466725B (sv) * 1990-07-18 1992-03-23 Goeran Krook Foerfarande foer att begraensa bandbredden hos en godtycklig binaer signal
US5271016A (en) * 1990-12-24 1993-12-14 Eastman Kodak Company Shift-correcting code system with efficient symbol-to-channel bit transformation
US6198413B1 (en) * 1999-07-01 2001-03-06 International Business Machines Corporation Partitioned DC balanced (0,6) 16B/18B transmission code with error correction

Also Published As

Publication number Publication date
HUP0201495A2 (hu) 2003-08-28
HU0201495D0 (sk) 2002-07-29
EP1261137A2 (de) 2002-11-27
CZ20021174A3 (cs) 2003-03-12
EP1261137A3 (de) 2004-12-15
PL353149A1 (en) 2002-12-02
EP1261137B1 (de) 2008-10-01

Similar Documents

Publication Publication Date Title
US5625644A (en) DC balanced 4B/8B binary block code for digital data communications
US7561808B2 (en) System and method of using variable pulses for symbology
CN1713626B (zh) 电压电平编码系统和方法
EP0824817B1 (en) Apparatus and method for communicating data word blocks together with control words
KR100336496B1 (ko) 무직류, 최소대역폭특성을 갖는 선로부호의 설계방법 및 부호화/복호화 장치
JPH11500887A (ja) 遷移制御されたデジタルエンコード及び信号伝送システム
JPH09121169A (ja) 変調符号化方法
EP0094293B1 (en) An arrangement for encoding and decoding information signals
JP2017535103A (ja) 信号の符号化/復号化方法、装置およびシステム
SK12512001A3 (sk) Spôsob konverzie toku dátových bitov binárneho informačného signálu na tok dátových bitov obmedzeného binárneho kanálového signálu, zariadenie na kódovanie, signál pozostávajúci z toku dátových bitov obmedzeného binárneho kanálového signálu, nosič záznamu a zariadenie na kódovanie
US6317469B1 (en) Method and apparatus for utilizing a data processing system for multi-level data communications providing self-clocking
JP3240341B2 (ja) 情報変換方法及び記録再生装置
EP0124959A2 (en) Group coding method for serial data transmission
US9077441B2 (en) System and method of using variable pulses for symbology
BG106294A (bg) Метод за преобразуване на поток от битове данни на двоичен информационен сигнал в поток от битове данни на ограничен двоичен канален сигнал, съдържащпоток от битове данни на ограничен двоичен каналенсигнал, носител на запис, метод за декодиране, устройство за декодиране
SK4082002A3 (en) Method for coding and decoding a data stream
EP0949785B1 (en) Method and device for transmitting a DC balanced multilevel code
JP2004518241A (ja) 一連のmビットの情報ワードを被変調信号に変換する方法
JP3043067B2 (ja) 2進信号のバンド幅の制限方法および装置
JP2003536315A (ja) バイナリのソース信号のデータビットのストリームをバイナリのチャネル信号のデータビットのストリームに符号化するデバイス、メモリ手段、情報を記録するデバイス、記録担体、符号化するデバイス、および再生するデバイス
Béal et al. Variable-length codes and finite automata
van Wijngaarden et al. Efficient error control schemes for modulation and synchronization codes
Glass et al. The slope line code for digital communication systems
JP4491579B2 (ja) 通信方法
Immink A rate 4/6 (d= 1, k= 11) block-decodable runlength-limited code