CZ407497A3 - Optimální dekodér se slabými výstupy pro trellis kódy s koncovými bity - Google Patents

Optimální dekodér se slabými výstupy pro trellis kódy s koncovými bity Download PDF

Info

Publication number
CZ407497A3
CZ407497A3 CZ974074A CZ407497A CZ407497A3 CZ 407497 A3 CZ407497 A3 CZ 407497A3 CZ 974074 A CZ974074 A CZ 974074A CZ 407497 A CZ407497 A CZ 407497A CZ 407497 A3 CZ407497 A3 CZ 407497A3
Authority
CZ
Czechia
Prior art keywords
probability
encoder
state
elements
vectors
Prior art date
Application number
CZ974074A
Other languages
English (en)
Other versions
CZ296383B6 (cs
Inventor
Stephen Michael Hladik
John Bailey Anderson
Original Assignee
General Electric Company
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
Application filed by General Electric Company filed Critical General Electric Company
Publication of CZ407497A3 publication Critical patent/CZ407497A3/cs
Publication of CZ296383B6 publication Critical patent/CZ296383B6/cs

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3933Decoding in probability domain
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3938Tail-biting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6583Normalization other than scaling, e.g. by subtraction

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Description

Optimální dekodér se slabými výstupy pro trellis kódy s koncovými bity
Oblast techniky
Vynález se týká optimálního dekodéru se slabými výstupy pro trellis kódy (mřížové kódy) s koncovými bity a obecněji dekódo-___ vání samoopravných kódů.
Dosavadní stav techniky
Viterbi algoritmus (VA) je způsob dekódování s maximální pravděpodobností, který určuje nejpravděpodobnější posloupnost dat nebo bitové slovo v případě aditivního bílého Gaussovského kanálového šumu, to jest minimalizuje pravděpodobnost, že dekódované slovo obsahuje chybu. Toto schéma je obecně dynamický program pro nalezení cesty v mříži (trellis) kódu, která je nejbližší posloupnosti přijaté z výstupu přenosového kanálu.
Na druhé straně chybová pravděpodobnost symbolu nebo bitu je minimalizována použitím tak zvaného maximálního a posteriori (MAP) dekodéru. MAP dekodér byl poprvé formálně popsán v článku Bahl, Cocke, Jelínek a Raviv (proto také alternativní jméno BCJR algoritmus), “Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate”, IEEE Transactions on Information Theory, str. 284-287, březen 1974. Termín MAP dekodér nebo BCJR algoritmus jsou zde používány jako označení pro dekodér, který poskytuje pravděpodobnostní rozložení stavů v každé etapě mříže a který také může využívat a priori znalost statistik, týkajících se datových bitů. MAP dekodér je optimální v tom smyslu, že produkuje tyto stavové pravděpodobnosti neboli “slabý výstup” s perfektní přesností, zatímco jsou k disposici jiné, sice jednodušší, dekodéry, které ale mohou vytvářet pouze aproximace těchto pravděpodobností. Varianty algoritmu poskytují související informaci, například pravděpodobnostní rozložení datových symbolů v každé etapě nebo rozložení výstupních symbolů kodéru v každé etapě.
MAP dekodér vyžaduje, aby počáteční stav v přenosu podle trellis (mřížového) kódu byl znám a v některých aplikacích je také třeba znát koncový stav. Na neštěstí proto MAP dekodér nemůže být použit pro dekódování trellis kódů, které používají koncové bity, to jest kódů, pro které počáteční a koncový stav kodéru nemohou být známy dopředu. Speciálně řekneme, že přenos s využitím trellis kódu používá “koncové bity” (“tailbiting”), jestliže počáteční stav kodéru je roven je identický s koncovým kódovacím stavem pro daný blok vstupních bitů. U přímého kodéru je možno určit ze znalosti datových bitů okamžitě jaký bude koncový stav; je to přímo posledních km bitů bloku zprávy, kde k je počet bitů ve vstupním symbolu kodéru a m je paměť kódu. Kodér s koncovými bity je třeba odlišit od běžného kodéru, u kterého počáteční stav je předem stanovený stav, obvykle stav, daný samými nulami. Běžné kodéry také ukončují v předem daném stavu přidáním zakončení (tail) km bitů ke vstupnímu bloku zprávy. To co odlišuje dekodér s koncovými bity od běžného dekodéru je to, že musí kromě provádění svých dalších funkcí odhadnout počáteční stav kodéru. Jelikož kodér s koncovými bity má cylindrickou mříž, kódové slovo generované takovým kodérem může být znázorněno jako cyklus symbolů. Dekodér musí začít práci v některém libovolně zvoleném bodu na tomto cyklu, dosáhnout synchronizace a potom dekódovat
datové bity.
Byla předložena řada dekodérů s koncovými bity, které jsou analogy VA dekodéru, to jest produkují maximální pravděpodobnostní odhad cirkulární mříže kódového slova. Dekodér se slabými výstupy by měl na druhé straně odhadnout stavové pravděpodobnosti okolo cylindrické mříže a žádný takový dekodér není v současnosti znám. Speciálně, jak bylo vysvětleno výše, MAP dekodér se slabými výstupy vyžaduje, aby byl znám npbcaťěční^štavTFmříži a v některých aplikacích aby navíc byl znám také koncový stav. Z tohoto důvodu je použití MAP dekodéru omezeno na obvyklé kódy bez koncových bitů, ve kterých není možné získání výhod použitím koncových bitů, spočívající ve zlepšení schopnosti opravy chyb v systému, který vysílá krátké datové bloky (na příklad při vysílání paketů), pakliže je požadován pravý slabý výstup.
Z toho vyplývá potřeba přesného dekodéru se slabými výstupy pro trellis kódy s koncovými bity, který by měl nízkou složitost.
Podstata vynálezu
Vynález se týká optimálního dekodéru se slabými výstupy pro trellis (mřížové) kódy s koncovými bity. Je podán cirkulární MAP dekodér pro samoopravné trellis kódy, který používá koncové bity a vytváří slabá výstupní rozhodnutí. Cirkulární MAP dekodér poskytuje odhad pravděpodobností stavů v první mřížové (trellis) etapě a tyto pravděpodobnosti nahrazují a priori znalost počátečního stavu v běžném MAP dekodéru. Podle předkládaného vynálezu cirkulární MAP dekodér posky3 • ···· > > o · ····e • · · · · · · · 9« • · · · · « · • e © 9 Φ···φ· • · · ·· f
Φ · · b ······· · ·4 tuje pravděpodobnostní rozdělení počátečního stavu jedním ze dvou možných způsobů. První způsob zahrnuje řešení problému vlastní hodnoty, ve kterém výsledný vlastní vektor je požadované výchozí pravděpodobnostní rozložení; se znalostí počátečního stavu cirkulární MAP dekodér provádí zbytek dekódování stejně jako obvyklý MAP dekódovací algoritmus. Druhá metoda je založena na rekurzi, ve které iterace konvergují k rozložení počátečního stavu. Po dostatečném počtu iterací je stav cyklické posloupnosti znám s dostatečně vysokou pravděpodobností a cirkulární MAP dekodér provádí zbytek dekódování stejně jako obvyklý MAP dekódovací algoritmus.
Přehled obrázků na výkrese
Povaha a výhody předkládaného vynálezu se stanou zřejmými z následujícího detailního popisu vynálezu, který je doplněn násleujícími obrázky, ve kterých
Obr 1. znázorňuje cylindrickou mříž pro čtyřstavový trellis kód s koncovými bity, který má binární vstupní symboly;
Obr. 2 znázorňuje cirkulární stavovou posloupnost dekodéru a cirkulární výstupní posloupnost dekodéru pro trellis kód s koncovými bity;
Obr. 3 je zjednodušený blokový diagram znázorňující jedno provedení cirkulárního MAP dekodéru podle předkládaného vynálezu;
Obr. 4 znázorňuje časovou přímku cirkulárního MAP dekodéru podle předkládaného vynálezu;
Obr. 5 znázorňuje časovou přímku výhodného provedení cirkulárního MAP dekodéru podle předkládaného vynálezu;
Obr. 6 graficky znázorňuje bitový poměr chyb (BER - bit error rate) vzhledem k poměru signáhšum pro cirkulární MAP dekodér, dekódující konvoluční kód s koncovými bity a poměrem rovným 1/2 a pamětí rovnou 6 způsobem podle předkládaného vynálezu;
Obr. 7 graficky znázorňuje bitový^dměFčhybT/zhlědenrir poměru signáhšum s ovlivněným (biased) zdrojovým rozložením pro cirkulární MAP dekodér, dekódující konvoluční kód s koncovými bity a poměrem rovným 1/2 a pamětí rovnou 6 způsobem podle předkládaného vynálezu;
Obr. 8 je zjednodušený blokový diagram znázorňující výhodné provedení cirkulárního MAP dekodéru podle předkládaného vynálezu,
Příklady provedení vynálezu
Kodér s koncovými bity má cyklickou mříž (trellis); z tohoto důvodu může být kódové slovo, generované takovým kodérem může být vizualizováno jako cyklus symbolů. Obr. 1 znázorňuje příklad cylindrické mříže pro trellis (mřížový) kodér s koncovými bity, který má čtyři stavy a binární vstupní symboly. Nedostatek a priori znalostí o počátečním stavu kodéru v případě takových trellis kódů s koncovými bity degraduje spolehlivost dekódování prostřednictvím standardního MAP (nebo BCJR) dekódovacího algoritmu v první části přijaté zprávy.
Výstupní posloupnost kodéru pro trellis kód s koncovými bity vytváří cyklický tvar, který je znázorněn na obr. 2. Stavy kodéru jsou znázorněny jako umístěné okolo kruhu. Jestliže Sq je jedním z těchto stavů, kodér startuje ze stavu Sq posuvného registru v čase íq v kódovacím procesu a po postupu kolem kruhu v posloupnosti stavových přechodů skončí v témže stavu Sq. Dekodér, který pracuje s posloupností zakódovanou tímto způsobem jako s cyklem s každým stavem kodéru vedoucím k dalšímu stavu cyklicky kolem kruhu je cirkulární-dekodér-neboli-dekodér s koncovými bity.
Podle předkládaného vynálezu cirkulární MAP dekodér pro samoopravné trellis kódy, využívající koncových bitů, produkuje slabá výstupní rozhodnutí. Na rozdíl od toho v případě konvenčního MAP dekodéru zná dekodér počáteční stav neboli mřížový uzel; potom dekóduje cestu kodéru v mříži, která vychází z tohoto stavu. U dekodéru s koncovými bity však dekodér musí nejprve identifikovat stav ve stavové posloupnosti kodéru a teprve potom může započít vlastní dekódování. Cirkulární MAP dekodér podle vynálezu podává odhad pravděpodobností stavů v první mřížové (trellis) etapě, a tyto pravděpodobnosti nahrazují a priori znalost výchozího stavu u konvenčního MAP dekodéru. Cirkulární MAP dekodér podle předkládaného vynálezu podává pravděpodobnostní rozložení počátečního stavu jedním ze dvou způsobů. První zahrnuje řešení problému vlastní hodnoty, pro kterou odpovídající vlastní vektor je požadované pravděpodobnostní rozložení počátečního stavu; se znalostí počátečního stavu cirkulární MAP dekodér provádí zbývající část dekódování podle konvenčního MAP (nebo BCJR) dekódovacího algoritmu. Druhý způsob je založen na jisté rekurzi, jejíž iterace konvergují k rozložení počátečního stavu. Po dostatečném počtu iterací je stav na cyklické posloupnosti stavů znám s dostatečně velkou pravděpo dobností a cirkulární MAP dekodér provádí zbytek dekódování podle konvenčního MAP (nebo BCJR) dekódovacího algoritmu.
Cílem konvenčního MAP (nebo BCJR) dekódovacího algoritmu je nalézt následující podmíněné pravděpodobnosti:
P{stav m v čase t | přijaty kanálové výstupy yi, . ,Pl}·
Clen L v tomto výrazu představuje délku datového bloku v jednotkách počtu symbolů kodéru. (Kodér pro (n, &)-kód praduje s fc-bitovými vstupními symboly a generuje n-bitové výstupní symboly). Člen yt je kanálový výstup (symbol) v čase t.
MAP dekódovací algoritmus ve skutečnosti nejprve nalezne pravděpodobnosti:
Ať(m) = P{St = m; Y'/'}; (1) to jest spojené pravděpodobnosti, že stav kodéru v čase í, označený St, je m a je přijat soubor Υ-β — {yr,..., yL} kanálových výstupů. Jsou to požadované pravděpodobnosti, vynásobené konstantou (P{, pravděpodobnost přijmutí souboru kanálových výstupů {yi,...,yL}).
Nyní definujme prvky matice rť jako = P{stav j v čase t-,yt | stav i v čase t - 1}.
Matice rť je vypočtena j ako funkce kanálové přechodové pravděpodobnosti R(Yt,X), pravděpodobnosti pt(m/m'), že kodér provede přechod ze stavu m' do stavu m v čase t a pravděpodobnosti qt(X | m', m), že výstup kodéru je X za předpokladu, že předchozí stav kodéru byl m! a současný stav kodéru je m. Speciálně, každý prvek matice je vypočten sečtením přes všechny možné hodnoty výstupu kodéru X následujícím způsobem:
7í(m', m) = ^pt(m\m')qt(X\m', m)R(Yt, X). (2)
X
MAP dekodér vypočítává L těchto matic, jednu pro každou mřížovou etapu. Tyto matice jsou vytvořeny z přijatých kanálových výstupních symbolů a z povahy mřížové větve pro daný kód.
Dále definujeme M společných pravděpodobnostních prvků řádkového vektoru at jako at(j) = P{stav j v čase ů; 3/1,..., yt} (3) a M podmíněných pravděpodobnostních prvků sloupcového vektoru jako /%’) = P{yt + 1, · · - ,yL | Stav j v čase t} (4) pro j = 0,1,..., (Μ — 1), kde M je počet stavů kodéru. ? (Matice a vektory uvedené zde jsou značeny s použitím tučného písma).
Kroky MAP dekódovacího (nebo BCJR) algoritmu jsou následující:
·· ···· (i) vypočtou se «i,...,ai s využití přímé rekurze:
at = <*t_iTt, t = l,...,L. (5) (ii) vypočtou se £i> · · · > Pl-i s využitím zpětné rekurze:
______fit ~ Γί+1/^+ΐι___£ = 7-1,...,1.__(β)~· (iii) vypočtou se prvky Xt pomocí vztahu:
Aí(ž) = pro všechna i,t = 1,..., L. (7) (iv) Naleznou se potřebné související hodnoty: Například, nechť A{ je množina stavů St = {S}, Sf,..., S*™} taková, že j-tý prvek St, označený jako S3t<} je roven nule. Pro konvenční nerekurzivní trellis kód platí, že S3t = d3 t, j-tý datový bit v čase t.
Slabé výstupní rozhodnutí dekodéru proto je
P{dj = 0 | l·/} = -1 Σ ^(m),
SsteAÍ kde Ρ{Υ^} = Ση λι^τη) a,m]e index, který odpovídá stavu
Silné rozhodnutí dekodéru neboli dekódovaný výstupní bit je získán použitím P{d3 t = 0 | na následující rozhodovací pravidlo:
• · 0 · · ·· ···· dJ t = O >
P{d{ = o I y^} <
d3 t = 1
To jest jestliže' P'{d3t = CT| Pf} > |, pak d3t = 0; Jestliže P{d3t = O | Y^} < pak d3 = 1; ve zbývajícím případě se do dhaPt náhodně dosadí hodnota 0 nebo 1.
Jako další příklad související hodnoty pro krok (iv) uvedený výše lze uvést matici pravděpodobností která obsahuje prvky, definované následujícím způsobem:
= P{St-i = i·, St = j; Υγ} = at-iW7i(i,J)A(j)
Tyto pravděpodobnosti jsou užitečné, pokud je požadováno určení a posteriori pravděpodobností výstupních bitů kodéru.
Ve standardních aplikacích MAP dekódovacího algoritmu je přímá rekurze inicializována vektorem a0 = (1, 0,..., 0) a zpětná rekurze je inicializována vektorem = (1,0,..., 0)T. Tyto výchozí podmínky jsou založeny na předpokladu, že počáteční stav kodéru je Sq = 0 a jeho koncový stav je Sl = 0.
V souladu s jedním provedením předkládaného vynýlezu cirkulární MAP dekodér nalezne pravděpodobnostní rozložení počátečních stavů řešením problému vlastních hodnot následujícím způsobem. Nechť at, a Ař jsou jak je uvedeno výše, ale • · ♦ · uvažujme počáteční hodnoty «o a Pl dané následujícím způsobem:
PL je rovno sloupcovému vektoru (111... l)r.
«o je neznámá (vektorová) proměnná.
Potom (i) Vypočte se Typfo Γ= Ί727“~ TTpódlě rovnice (2j.
(ii) Nalezne se největší vlastní hodnota odpovídající maticovému součinu Γ1Γ2 ... Γ5. Odpovídající vlastní vektor se normalizuje tak, aby součet jeho složek byl roven jedné. Tento vektor je řešení pro «ο· Hodnota vlastního vektoru dává vektor P .
(iii) Vypočtou se po sobě následující at přímou rekurzí, popsanou rovnicí (5).
(iv) Vycházejíce z PL, inicializovaného výše uvedeným způsobem, vypočtou se zpětnou rekurzí, popsanou rovnicí (6).
(v) Vypočtou se Ať způsobem uvedeným v (7), stejně tak jako další proměnné, jako jsou například slabá výstupní rozhodnutí P{d3 t = 0 | Y^} nebo matice pravděpodobností at definované výše.
Vynálezci ukázali, že neznámé proměnné ao splňují maticovou rovnost _ αθΓιΓ2 ... Γζ,
Z toho, že tento vzorec vyjadřuje vztah mezi pravděpodobnostmi vyplývá, že součin matic na pravé straně má největší vlastní hodnotu rovnou P {Υχ1'} a odpovídající vlastní vektor musí být vektor pravděpodobností.
Vycházejíce z počátečního = (111... 1)T, z rovnice (6) vyplyne hodnota Opakovaným použitím této zpětné rekurze se dostanou všechna Pt. Jakmile je známo otQ a je nastavano veškeré výpočty, prováděné cirkulárním MAP dekodérem podle předkládaného vynálezu jsou shodné s výpočty konvenčního MAP dekódovacího alfgoritmu.
Obr. 3 je zjednodušené blokové schéma, ilustrující cirkulární dekodér 10 pro dekódování samoopravných trellis kódů s koncovými bity, který využívá výše popsanou metodu vlastních hodnot. Dekodér 10 zahrnuje zařízení 12 pro výpočet Γί? které vypočítává rť jako funkci kanálových výstupů yt. Zařízení pro výpočet dostává jako vstup z paměti 30 následující údaje: kanálovou přechodovou pravděpodobnost R(Yt,X), pravděpodobnost Pt(m|m'), že kodér provede přechod ze stavu m' do stavu m v čase t a pravděpodobnost qt(X\m', m), že výstupní symbol kodéru je X za předpokladu, že předchozí stav kodéru byl m' a současný stav kodéru je m. Zařízení pro výpočet Γ\ vypočítává každý prvek Tť sčítáním přes všechny možné hodnoty výstupu X kodéru, vycházejíce při tom z rovnice (2).
Vypočtené hodnoty jsou převáděny do zařízení 14 pro výpočet maticového součinu, které vypočítává maticový součin ΓχΓ2 ... Γ/,, využívajíce při tom jednotkovou matici 16, získanou například z paměti, přepínač 18 a zpožďovací obvod 20. V čase t = 1 se použije jednotková matice jako jeden ze vstupů zařízení pro výpočet maticového součinu. V časech t = 2 až t = L je maticový součin ΠίΞι převáděn prostřednictvím zpožďovacího • ·
obvodu zpět do zařízení pro výpočet maticového součinu. V čase t = L tedy je výsledný maticový součin převeden prostřednictvím přepínače 21 do zařízení 22 pro výpočet normalizovaného vlastního vektoru, odpovídajícího největší vlastní hodnotě maticového součinu, který mu byl zadán. S takto incializovaným «o, to jest s vypočteným normalizovaným vlastním vektorem, jsou následující hodnoty vektorů at určeny rekurzivně, vycházejíce z rovnice (5) pomocí zařízení 24 pro výpočet maticového součinu, __které využívá také zpožďovací obvod 26 _a..přepínací-obvod-28,------jak je ukázáno na obrázku. Odpovídající hodnoty Γ* jsou při tom získávány z paměti 30 a výsledné hodnoty on jsou uchovávány v paměti 30.
Hodnoty jsou určeny v zařízení 32 pro výpočet maticového součinu, který využívá přepínač 34 a zpožďovací obvod 36 a pracuje podle rovnice (6). Poté jsou vypočteny pravděpodobnosti At, vycházejíce při tom z hodnot at a Pt, přičemž výpočet se provádí v zařízení 40 pro výpočet součinu po složkách, které pracuje podle rovnice (7). Hodnoty At jsou přivedeny na zařízení 50 pro výpočet pravděpodobnosti hodnoty dekódovaného bitu, které určuje pravděpodobnost, že j-tý dekódovaný bit v čase t, označený d3 t, je roven nule. Tato pravděpodobnost je předána prahovému rozhodovacímu zařízení 52, které implementuje následující rozhodovací pravidlo: jestliže pravděpodobnost, určená zařízením 50 pro výpočet pravděpodobnosti hodnoty dekódovaného bitu, je větší než pak rozhodne, že dekódovaný bit je roven nule, kdežto pokud je pravděpodobnost, určená zařízením 50 pro výpočet pravděpodobnosti hodnoty dekódovaného bitu, menší než |, pak rozhodne, že dekódovaný bit je roven jedné. V případě, že pravděpodobnost je rovna j, pak je jako dekódovaný bit zvolena náhodně jedna z hodnot 0 a 1. Výstup prahového rozhodovacího zařízení 52 dává výstupní bit dekodéru v čase t.
• ··· ·· ····
Pravděpodobnost, že dekódovaný bit je roven nule, (P{d3t = 0}) je na obr. 3 také znázorněna jako informace, předávaná bloku 54 slabých výstupních funkcí f(JP{dJt = 0}), která poskytuje funkci této pravděpodobnosti, jako je například pravděpodobnostní poměr =
- P{d{ = 0} p{4 = o} ~ jákó slábě výstupní rozhodnutí dekodéru. Jiná užitečná funkce hodnoty P{dJ t — 0} je
log pravděpodobnostní poměr = log
Jiná užitečná funkce, kterou může vypočítávat blok 54 může být prostá identická funkce, takže slabý výstup je přímo P{d{ = 0}·
Cirkulární MAP dekodér podle alternativního provedení vynálezu určuje pravděpodobnostní rozložení stavů pomocí rekurzivní metody. Speciálně v jednom provedení vynálezu (dynamická konvergenční metoda) rekurze pokračuje tak dlouho, dokud není zjištěna konvergence dekodéru. V této rekurzivní (nebo dynamické rekurzivní) metodě jsou kroky (ii) a (iii) výše uvedeného způsobu, využívajícího vlastního vektoru, nahrazeny následujícím způsobem:
(ii.a) Vycházejíce z počátečního ao rovného (1/M,..., 1/M), kde M je počet stavů v mříži kódu, se provádí L-krát přímá rekurze. Výsledek se normalizuje tak, že prvky každého nového at mají součet jedna. Uchová se všech L vektorů at14 • ··♦· (ii.b) Nechť «ο je rovno cil z předchozího kroku a, vycházejíce z t — 1, se vypočte prvních LWmin pravděpodobnostních vektorů at ještě jednou.
To znamená, že se vypočte Qfť(m) = Σ^ο1 at-iG)7íG>τη) pro m = 0,1,..., Μ - 1 a t = 1,2,..., LWmin, kde LWmin je vhodné minimální množství mřížových stavů.
Normalizuje se jako výše. Ponechá se pouze soubor posledních L hOdnoť a^nalěžěňýčhTěkuřží vTřrókuVÍLa) a (ii.b) a αχ ' ' ' ' wmin hodnot nalezených dříve v kroku (ii.a).
(ii.e) Porovná se «LWmin z kroku (ii.b) s dříve nalezeným souborem z kroku (ii.a). Jestliže M odpovídajících prvků nového a starého αχ. jsou uvnitř daného tolerančního rozmezí, pokračuje se krokem (iv) popsaným výše. V opačném případě se přechází do kroku (ii.d).
(ii.d) Nechť t = t + 1. Vypočte se at = a^-iiy Normalizuje se výše uvedeným způsobem. Ponechá se pouze L nejnovějších vypočtených hodnot a a at, nalezené dříve v kroku (ii.a).
(ii.e) Porovnají se nové hodnoty at s dříve nalezenou množinou hodnot. Jestliže M nových a starých at se nachází v daném tolerančním rozmezí, pokračuje se krokem (iv). Jinak se pokračuje krokem (ii.d) jestliže dva nejnovější vektory nespadají do daného tolerančního rozmezí a jestliže počet rekurzí nepřekročil dané maximum (typicky 2L). Ve zbývajícím případě se pokračuje krokem (iv).
Cirkulární “časová přímka” na obr. 4 shrnuje způsob podle kroků (ii.a) až (ii.e), uvedených výše, pro výpočet at pro t = 1,2,, L pro cirkulární MAP dekodér, jehož výsledkem je od15 • · hadnutí všech L vektorů at. Tento způsob potom pokračuje kroky (iv) a (v) popsanými výše u způsobu užívajícího výpočtu vlastních čísel a vytváří slabá výstupní rozhodnutí a dekódované výstupní bity cirkulárního MAP dekodéru.
V cirkulárním MAP dekodéru je hodnota ao inicializována jako ao — (1/Af,... ,1/M), protože počáteční stav kodéru je neznámý. Proto se předpokládá, že každý z jeho M možných výchozích stavů je stejně pravděpodobný. (Pokud tento předpo-_________ klaď není správný, výchozí hodnoty Qo(m) mohou být nastaveny v závislosti na jakékoliv a priori znalosti, týkající se pravděpodobností výchozích počátečních stavů. Zde popsaný dekodér je proto z tohoto důvodu také možno výhodně aplikovat na případ trellis kódů s částečnými koncovými bity).
Vysvětlení práce cirkulárního MAP dekodéru podle předkládaného vynálezu je usnadněno, uvažujeme-li definici Oí^m). Výraz at(m) je spojená pravděpodobnost toho, že kodér je ve stavu m v čase t a že dekodér pozoroval posloupnost {τ/i,... ,yt} ve výstupním kanálu kodéru. Přezkoumáním rovnice (5), popisující rekurzivní výpočet at, se odhalí účinek faktu, že počáteční stav trellis kodéru s koncovými bity není znám. Z rovnice (5) je zřejmé, že neznalost počátečního stavu mřížového kodéru s koncovými bity ovlivní oj (m) v tom smyslu, že vypočtená pravděpodobnost, že kodér je ve stavu m v čase t = 1 a že dekodér pozoroval kanálový výstup yi bude větší v případě následníku správného počátečního stavu. Zatímco toto ovlivnění má tendenci přecházet do dalších etap výpočtu má také naštěstí tendenci klesat, pokud je pozorováno větší množství výstupních kanálových symbolů. Proto jestliže délka L bloku zprávy je dostatečně velká, pak a^m) bude daleko přesnější než ao(m), neboť dekodér nyní využil pozorování celé posloupnosti symbolů z kanálu, a^m) nyní může být použito jako ao(m) v následující • ·· · ·· 9
999 999 • · · · · · ·
9 99
999 9999 99· iteraci dekódování, jak bylo ukázáno v kroku (ii.b) popsaném výše.
Rekurzivní způsob (nebo způsob dynamické konvergence) podle předkládaného vynálezu porovnává hodnoty získané v každé iteraci a a ukončí rekurzivní výpočet ař v okamžiku, kdy je zjištěna konvergence. Tato technika proto redukuje potřebný počet výpočtů, neboť často není nutné opakovat výpočet at pro všech L etap mříže.
V jiném výhodném provedení předkládaného vynálezu je cirkulární MAP dekodér, užívající výše popsanou rekurzivní metodu modifikován tak, že dekodér provede pouze předem určený a pevný počet etap v mříži podruhé, což znamená předem danou hloubku opakování. To je výhodné z implementačních důvodů, neboť počet výpočtů pro dekódování je stejný pro každý dekódovaný blok zprávy. Z toho pak vyplývá snížení složitosti software a hardware.
Zde popsaná hloubka opakování se nachází v kontextu dekodéru omezené vzdálenosti, což je dekodér, který opraví jakoukoliv kombinaci e nebo méně chyb, k nimž dojde v počtu úrovní mříže Lobs. To se přímo přenáší na dekodéry navržené k dosažení jiných kritérií, jako je minimalizace chybové pravděpodobnosti dekodéru.
Jeden způsob odhadu požadované hloubky opakování pro popisované MAP dekódování konvolučních kódů s koncovými bity je její určení z hardwarových a softwarových experimentů, ve kterých je implementován MAP dekodér s proměnnou hloubkou opakování a jsou prováděny experimenty, v nichž se měří poměr bitových chyb dekódovaného signálu (BER) vzhledem k Eb/N0 pro postupně narůstající hloubku opakování. Minimální hloubka ···· • ···· opakování, která podává minimální pravděpodobnost poměu bitových chyb dekódovaného signálu pro specifikované Eb/N0 je nalezena v okamžiku, kdy další vzrůst hloubky opakování nesnižuje chybovou pravděpodobnost.
Jestliže poměr bitových chyb dekódovaného signálu, který je větší, než minimum dosažitelné pro specifikované E^/N^, je tolerovatelný je možné snížit požadovaný počet mřížových etap, prováděných cirkulárním MAP dekodérem. Speciálně zkoumání hloubky opakování, popsané výše, může být prostě ukončeno v okamžiku, kdy je dosaženo požadované střední pravděpodobnosti bitové chyby.
Jiný způsob určení hloubky opakování pro daný kód je na základě používání distančních vlastností kódu. Za tímto účelem je třeba definovat dvě odlišné rozhodovací hloubky dekodéru. Výraz “správná cesta” zde bude používán pro posloupnost stavů nebo cestu skrz mříž, která vychází z kódování bloku datových bitů. Výraz “nesprávná podmnožina uzlu” znamená množinu všech nesprávných (mřížových) větví, vycházejících z uzlu na správné cestě a nebo z jeho následníků. Obě rozhodovací délky definované níže závisí na konvolučním kodéru.
Pro ilustraci je zde toto provedení předkládaného vynálezu popsáno s odvoláním na konvoluční kodér. Nicméně je zřejmé, že předkládaný vynález se neomezuje na konvoluční kódy.
Rozhodovací hloubka je definována následujícím způsobm:
(i) Přímá rozhodovací hloubka pro e-chybovou korekci, označená jako LF(e), je definována jako první hloubka v mříži, ve které jsou všechny cesty v nesprávné podmnožině výchozího vrcholu na správné cestě, bez ohledu na to, zda se stýká se správnou ces18 tou nebo ne, leží ve více než v Hammingově vzdálenosti 2e od správné cesty. Význam LF(e) je v tom, že jestliže existuje e nebo méně chyb před iniciálním vrcholem a je známo, že zde začíná kódování, pak dekodér musí dekódovat správně. Formální tabelace přímých rozhodovacích hloubek pro konvoluční kódy podali J.B. Anderson a K. Balachandran v “Decision Depths of Convolutional Codes”, IEEE Transactions on Information Theory, svazek. IT-35, str. 455-459, březen 1989. Množství vlastností LF(e) bylo popsáno .v uvedené, referenci a také v článku J. B. Anderson a S.----------Mohan v Source and Channel Coding - An Algorithmic Approach, Kluwer Academie Publishers, Norwell, MA, 1991. Hlavní mezi těmito vlastnostmi je pozorování, že existuje jednoduchá lineární relace mezi LF a e. Například pro kódy s poměrem 1/2 je LF rovno přibližně 9,08e.
(ii) V následujícím kroku se definuje nesloučená rozhodovací hloubka pro e-chybovou korekci, LU(e), která je rovna první hloubce v mříži, ve které všechny cesty v mříži, které se nikdy nedotkly správné cesty, leží ve více než v Hammingově vzdálenosti 2e vzdáleny od správné cesty.
Význam LU(e) pro cirkulární MAP dekódování se slabými rozhodnutími je v tom, že pravděpodobnost identifikace stavu na skutečně vyslané cestě je vysoká poté, co dekodér provede LU(e) mřížových etap. Proto je minimální hloubka opakování pro cirkulární MAP dekódování rovna LU(e). Výpočty hloubky LU(e) ukazují, že je vždy větší než LF(e), ale vyhovuje stejným aproximačním zákonům. Z toho plyne, že minimální hloubka opakování může být určena jako přímá rozhodovací hloubka LF(e), pokud pro kód není známa nesloučená rozhodovací hloubka.
Nalezením minimální nesloučené rozhodovací hloubky pro daný kodér se nalezne nejmenší počet mřížových etap, které musí
být provedeny praktickým cirkulárním dekodérem, který generuje slabá výstupní rozhodnutí. Algoritmus pro nalezení LF(e), přímé rozhodovací hloubky, podali J.B. Anderson a K. Balachandran v “Decision Depths of Convolutional Codes”, citovaném výše. Pro nalezení LU(e) je třeba provést:
(i) Rozšířit mříž kódu zleva doprava, začínajíce ze všech uzlů mříže současně s výjimkou nulového stavu.
(ii) V každé úrovni vynechat každou cestu, která se spojuje se správnou (výhradně nulovou) cestou, ale nerozšiřovat žádnou cestu, vycházející ze správného (nulového) stavového uzlu.
(iii) V úrovni k se nalezne nej menší Hammingova vzdálenost nebo váha mezi cestami, končícími v uzlech této úrovně.
(iv) Jestliže tato nej menší vzdálenost překračuje 2e, ukončí se výpočet, jinak je LU(e) = k.
Jak bylo popsáno v U.S. patentové přihlášce č. (RD-29,923), experimenty provedené pomocí počítačové simulace vedly ke dvěma neočekávaným výsledkům:
(1) opakované zpracování zlepšuje výkonnost dekodéru a (2) použití hloubky opakování LU(e) + LF(e) = 2LF(e) zlepšuje výkonnost dekodéru významným způsobem. Tyto neočekávané výsledky vedly k modifikaci cirkulárního MAP dekodéru pro trellis kódy s koncovými bity, založené na rekurzi.
Proto výhodné provedení cirkulárního MAP dekódovacího algoritmu založeného na rekurzi zahrnuje následující kroky:
(i) VypočteníTř pro t = 1, 2,..., L vycházejíce z rovnice (2).
•9 ····
(ii) Vycházejíce z počátečního ao rovného (l/M,..., l/M), kde
M je počet stavů v mříži, provedení přímé rekurze podle rovnice (5) (L + £w)-krát pro u = 1, 2,..., (L + Lw), kde Lw je hloubka opakování dekodéru. Index t v mříži má hodnoty ((w — 1) modL) +1. Jestliže dekodér provádí opakování okolo posloupnosti symbolů přijaté z kanálu, otL je zpracováno jako «o- Výsledky se normalizují tak, že prvky každého nového at dávají v součtu jednotku. Ponechá se L nejnovějších vektorů a, nalezených to ut o. rekurzL______________________________________________________________ (iii) Počínajíce od výchozího βΕ rovného (1,..., 1)T, provedení zpětné rekurze podle rovnice (6) celkově (L + Lw)-krát pro u — 1, 2,..., (L + Lw). Index t úrovně v mříži má hodnoty L — (u modL). Jestliže dekodér provádí opakování kolem přijaté posloupnosti, βγ je použito jako fiL+1 a Γι je použito jako Γζ,+ι při výpočtu nového fiL. Výsledky se normalizují tak, že prvky každého nového at dávají v součtu jednotku. Opět se ponechá L nejnovějších vektorů a, nalezených touto rekurzí.
Následující krok této výhodné rekurzivní metody je stejný jako krok (v) popsaný výše při popisu metody s vlastním vektorem a vytváří slabá rozhodnutí a dekódované bity, představující výstup cirkulárního MAP dekodéru.
Cirkulární “Časová osa” na obr. 5 shrnuje proces výpočtu at a βί pro u = 1,2,... ,(L -+- Lw) pro cirkulární MAP dekodér podle této výhodné rekurzní metody.
Výkonnost tohoto výhodného provedení cirkulárního MAP dekodéru byla testována pro slabá rozhodnutí v kanálu s aditivním bílým Gaussovským šumem (AWGN -aditive white Gaussian noise) pomocí počítačové simulace, předpokládajíce binární antipodální signalizaci (např. binární fázové posuvné klíčování
- binary phase shift keying). Simulace využívaly nej lepší známý konvoluční kód pro poměr = 1/2 a paměť = 6. (Kód je nejlepší v tom smyslu, že má největší volnou vzdálenost.) Všechny simulační výsledky, které jsou zde uvedeny byly získány s pomocí dekodéru, který používal hloubku opakování rovnou dvojnásobku rozhodovací hloubky kódu (40 mřížových etap). Kromě toho byly při simulaci použity krátké bloky zprávy, obsahující každý 48 bitů.
Obr. 6 je výsledný graf střední pravděpodobnosti chyby dekódovaného bitu vzhledem k poměru Eb/No. Zdrojové bity byly se stejnou pravděpodobností rovzny 0 nebo 1..Nicméně pokud byla tato simulace opakována s ovlivněným zdrojovým rozložením, které bylo známo a priori dekodéru, střední pravděpodobnost bitové chyby cirkulárního MAP dekodéru pro danou hodnotu Eb/No významně poklesla. Obr. 7 porovnává poměr bitových chyb pro danou hodnotu Eb/No pro následující tři případy:
Stejně pravděpodobné zdrojové bity, P{zdrojový bit je 1} = 0, 67, a P{zdrojový bit je 1} = 0, 91.
Ve druhém případě je F{zdrojový bit je 1} = 2P{zdrojový bit je 0}, zatímco ve třetím případě P{zdrojový bit je 1} = 10P{zdrojový bit je 0}.
Obr. 8 je zjednodušené blokové schéma znázorňující cirkulární MAP dekodér 80 podle výhodného provedení předkládaného vynálezu. Dekodér 80 zahrnuje zařízení 82 pro výpočet hodnoty rť, které vypočítává Γ\ jako funkci kanálových výstupů yt. Kanálové výstupy 7/i,..., yi jsou předány zařízení pro výpočet prostřednictvím přepínače 84. Pokud je přepínač v dolní poloze, L kanálových výstupních symbolů je přivedeno do zařízení 82
4· ···· pro výpočet hodnoty Tt a posuvného registru 86 v týž okamžik. Potom je přepínač 84 přepnut do horní polohy, což umožní, aby posuvný registr přesunul prvních Lw přijatých symbolů znovu do zařízení pro výpočet Γ\, to jest provede cirkulární zpracování. Zařízení pro výpočet Tf dostává jako vstupy z paměti 96 kanálové přechodové pravděpodobnosti R(Yt, X), pravděpodobnosti že kodér provede přechod ze stavu m' do stavu m v čase t a pravděpodobnosti qt(X\m', m), že výstupní symbol kodéru je X za předpokladu, že předchozí stav je m' a současný stav je m. Zařízení pro výpočet Tř určuje každý prvek sečtením přes všechny možné hodnoty X výstupu kodéru na základě rovnice (2).
Vypočtené hodnoty se předají zařízení 90 pro výpočet maticového součinu, které násobí matici Γ\ s maticí oq_i, které dostane rekurzivně přes zpožďovací zařízení 92 a demultiplexor 94. Ovládací signál. CNTRL1 způsobí, že demultiplexor 94 zvolí v čase t = 1 ao z paměti 96 jako jeden ze vstupů pro zařízení 90 pro výpočet maticového součinu. Pokud je 2 < t < Λ, pak ovládací signál CNTRL1 způsobí, že demultiplexor 94 zvolí ať_j ze zpožďovacího zařízení 92 jako jeden ze vstupů pro zařízení 90 pro výpočet maticového součinu. Hodnoty Γ( aty jsou uchovávány v paměti 96 požadovaným způsobem.
Vektory jsou vypočítávány rekurzivně pro zařízení 100 pro výpočet maticového součinu přes zpožďovací zařízení 102 a demultiplexor 104. Ovládací signál CNTRL2 způsobí, že demultiplexor 104 zvolí v čase t = L — 1 z paměti 96 jako jeden ze vstupů pro zařízení 100 pro výpočet maticového součinu. Pokud jeÁ — 2>ř>l, pak ovládací signál CNTRL2 způsobí, že demultiplexor 104 zvolí ze zpožďovacího zařízení 102 jako jeden ze vstupů pro zařízení 100 pro výpočet maticového součinu. Výsledné hodnoty jsou násobeny hodnotami aí; získanými ·· «···
z paměti 96, v zařízení 106 pro násobení vektorů po prvcích, čímž se vypočtou pravděpodobnosti A,, jak bylo popsáno výše. Stejným způsobem jako bylo popsáno výše při popisu obr. 3 se hodnoty A, použijí v zařízení 50 pro výpočet pravděpodobnosti hodnoty dekódovaného bitu, jehož výstup se přivádí do zařízení 52 pro provádění prahového rozhodnutí, které vytvoří výsledné výstupní bity dekodéru.
Na obr. 8 je také znázorněno, že podmíněná pravděpodobnost, že dekódovaný bit je roven nule (P{d3 t = 0|y/}) je předávána slabému výstupnímu funkčnímu bloku 54, který vypočítává funkci této pravděpodobnosti, to jest hodnotu f{P{d3 = 0|Κ/}) takovou, jako je například poměr pravděpodobností =
- P{di = 0|l·?} P{di = jako slabé výstupní rozhodnutí dekodéru. Jiná užitečná funkce P{di = 0| Y?} je
- P{d’ = log poměr pravděpodobností = log -----~ i m = oim J
Jiná užitečná funkce, kterou může vypočítávat blok 54, je identická funkce, takže slabým výstupem je pak přímo P{d3 t = om·
Několik praktických a účinných metod kódování závisí kritickým způsobem na slabé výstupní informaci MAP dekodéru, například na způsobech sériového zřetězeného (konkatenovaného) kódování. V jednom takovém způsobu, ve kterém vnější dekodér v ···· · ·· ·· ···♦ • · · 4 · · · 9*· • a · · · ·· e β, e · e e e e © e • · · · · · • · · U ·»»·*·· · ·« používá chybové dekódování a vymazávání, slabá výstupní rozhodnutí MAP vnitřního dekodéru mohou být zpracována jako indikátor spolehlivosti dekódování ternárního rozhodovacího zařízení, které může dekódovanému bitu přiřadit hodnotu 0 nebo 1 nebo deklarovat vymazání. Navíc může být slabý výstup dekodéru často výhodně použit následujícím procesorem, jako je dekodér řeči nebo obrazu. Například syntetizátor řeči ve vokodéru může používat slabá výstupní rozhodnutí pro identifikaci pravděpodobných přenosových chyb v rámci přenesené řeči - k------------------------tomu, aby bylo spuštěno zakrýváni chyb (error concealement) což je způsob, který zlepší kvalitu řeči u zařízení, pracujícího přes kanál s velmi silným šumem.
Až do objevení předkládaného vynálezu nebylo MAP dekódování možné pro kódy s koncovými bity. Význam koncových bitů je v tom, že dosahuje nejlepšího možného chování vzhledem k opravě chyb u krátkých kódových slov, pro které je těžké dosáhnout velkých kódovacích zisků. Krátká kódová slova se přirozeně vyskytují u paketových datových systémů a u hlasových komunikačních systémů s nízkou úrovní kódování řeči.
Předkládaný vynález je navíc užitečný v kanálech, ve kterých se vyskytuje únik (fading) nebo malý poměr signáhšum, což jsou běžné vlastnosti v případě “very smáli apertuře terminál” (VSÁT) družicové komunikace a v mobilní radiové komunikaci.
Zatímco bylo ukázáno a popsáno výhodné provedení předkládaného vynálezu, je zřejmé, že takové provedení bylo podáno pouze jako příklad. Odborníkovi je zřejmé, že mohou být provedeny početné změny, obměny a nahrazení, aniž by se řešení odchýlilo od předmětu zde předkládaného vynálezu. V souladu s tím je předmět předkládaného vynálezu omezen pouze duchem a rozsahem přiložených patentových nároků.

Claims (25)

  1. PATENTOVÉ NÁROKY
    1. Dekodér pro trellis kódy s koncovými bity generované kodérem, přičemž dekodér dekóduje určováním spojených pravděpodobností, že stav kodéru v čase t, označený St, je m a je přijat soubor L kanálových výstupů Yf = {?/i,... ,ϊ/l}, označených Ať(m) = P{St = τηβΥγ}, uvedený trellis kód má M stavů kodéru, uvedený dekodér určuje L prayděpodobnostních.matic , jednu pro každou z L mřížových etap, přičemž prvky uvedených pravděpodobnostních matic jsou definovány jako
    Γί(ϊ, j) = P{stav j v čase t - l\yt | stav i v čase t - 1} a to určením řádkových vektorů at, které obsahují M prvků, představujících spojené pravděpodobnosti a jsou definovány jako at(j) = P{stav j v čase t; t/i,..., yt} a určením sloupcových vektorů @t, které obsahují M prvků, představujících podmíněné pravděpodobnosti a jsou definovány jako
    AC?) = P{yt + 1, · ·, yL | Stav j v čase t} pro j = 0,1,..., (Μ — 1), přičemž uvedený dekodér zahrnuje:
    zařízení pro výpočet matic Γί? které přijímá uvedené kanálové výstupy, kanálové přechodové pravděpodobnosti R(Yt, X), • · · · pravděpodobnosti Pt(m/m'), že kodér provede přechod ze stavu m! do stavu m v čase t a pravděpodobnosti qt(X | že výstup kodéru je X za předpokladu, že předchozí stav kodéru byl m' a současný stav kodéru je m a které z těchto údajů určí skalární prvky uvedených pravděpodobnostních matic rť, zařízení pro výpočet součinu matic Ι\, které přijímá uvedené skalární prvky z uvedeného zařízení pro výpočet matic Γ\ a vypočítává jejich. maticový součin Γ1Γ2 ... __________________________________________ zařízení pro výpočet normalizovaného vlastního vektoru, které přijímá uvedený maticový součin Γ1Γ2 ...Fl a vypočítává normalizovaný vlastní vektor «o, odpovídající největší vlastní hodnotě uvedeného maticového součinu, zařízení pro výpočet součinu matic ať, které přijímá uvedený normalizovaný vlastní vektor «o a vytváří následující at pomocí přímé rekurze následujícím způsobem:
    paměť pro uchování uvedených pravděpodobnostních matic rť a uvedených řádkových vektorů at, zařízení pro výpočet součinu matic fit, které vypočítává uvedené sloupcové vektory provedením inicializace βΕ = (1,1,1,..., 1)T a vypočtením předchozích pomocí zpětné rekurze následujícím způsobem:
    fit — Vt+ifit+i, t — L — 1,..., 1, zařízení pro výpočet součinu po složkách, které vypočítává spojené pravděpodobnostní vektory At, jejichž prvky jsou uvedené spojené pravděpodobnosti Xt(i, ý), násobením prvků uvedených řádkových vektorů prvky uvedených sloupcových vektorů následujícím způsobem:
    At(?) = pro všechna i,t = 1,..., L, a zařízení pro výpočet pravděpodobnosti hodnoty dekódovaného bitu, které s využitím hodnot Xt určuje pravděpodobnost, že daný datový bit, který byl zadán kodéru v čase rovném t, je roven nule, přičemž datový bit je m-tý z k datových bitů a dále určuje slabé výstupy jako funkci uvedené pravděpodobnosti.
  2. 2. Dekodér podle nároku 1, dále zahrnující prahové rozhodovací zařízení, které přijímá pravděpodobnost, že datový bit zadaný kodéru v čase rovném t, je roven nule a implementuje rozhodovací pravidlo, kterým z ní určí dekódovaný výstupní bit.
  3. 3. Dekodér podle nároku 1, ve kterém uvedený trellis kód s koncovými bity zahrnuje konvoluční kód.
  4. 4. Dekodér podle nároku 1 zahrnující dekodér s omezenou vzdáleností.
  5. 5. Dekodér pro trellis kódy s koncovými bity generované kodé- rem, přičemž dekodér dekóduje určováním spojených pravděpodobností, že stav kodéru v časet, označený St, je m a je přijat soubor L kanálových výstupů Yf = {yi,... ,yL], označených Ař(m) = P{St = uvedený trellis kód má M stavů kodéru, uvedený dekodér určuje L pravděpodobnostních matic Γί? jednu pro každou z L mřížových etap, přičemž prvky uvedených ·' · · 4 ·····
    4 « · « 4 ·· • · · · ·
    9 e e; C4««
    4 4 ·· • 4 4 4 · 4 4 44 % pravděpodobnostních matic jsou definovány jako
    Γί(ζ, ý) = P{stav j v čase t — l;yt | stav i v čase t — 1} a to určením řádkových vektorů at, které obsahují M prvků, představujících spojené pravděpodobnosti a jsou definovány jako »í(J) = -P{stav j v čase ť, yu ..., yt} a určením sloupcových vektorů které obsahují M prvků, představujících podmíněné pravděpodobnosti a jsou definovány jako
    A(j) = P{yt + l,...,yL | stav j v čase t} pro j — 0,1,..., (Μ — 1), přičemž uvedený dekodér zahrnuje:
    zařízení pro výpočet matic Γί; které přijímá uvedené kanálové výstupy, kanálové přechodové pravděpodobnosti pravděpodobnosti př(m/m7), že kodér provede přechod ze stavu m7 do stavu m v čase t a pravděpodobnosti qt(X | m7,m), že výstup kodéru je X za předpokladu, že předchozí stav kodéru byl m7 a současný stav kodéru je m a které z tecHto údajů určí skalární prvky uvedených pravděpodobnostních matic rř, zařízení pro výpočet součinu matic at, které přijímá uvedené skalární prvky matic Γ\ z uvedeného zařízení pro výpočet matic rř a vytváří uvedené řádkové vektory at, ♦ ·« · at = zařízení pro výpočet součinu matic /?ř, které vypočítává uvedené sloupcové vektory fit, zařízení pro výpočet součinu po složkách, které vypočítává spojené pravděpodobnostní vektory Ať, jejichž prvky jsou uvedené spojené pravděpodobnosti (z, ý),-----------------------přičemž uvedené zařízení pro výpočet součinu matic at, uvedené zařízení pro výpočet součinu matic fit a uvedené zařízení pro výpočet součinu po složkách vytvářejí uvedené vektory at, fit a Ař:
    (i.a) vycházejíce z počátečního ao rovného (1/M,..., 1/M), Lkrát provedením přímé rekurze at = at-írt, t = l,...,L, a normalizováním výsledku tak, že prvky každého nového at mají součet jedna a uchováním všech L vektorů at, (i.b) položením «o rovno «£ z kroku (i.a) a, vycházejíce z t = 1, vypočtením ________ at — αί-1Γ\, t 1,..., LWmin, kde LWmin je předem daný minimální počet mřížových etap, normalizováním výsledku tak, že prvky každého nového at mají «· *··· součet jedna a ponecháním pouze souboru posledních L hodnot a, nalezených rekurzí v kroku (i.a) a (i.b) a a^w nalezené v kroku (i.a), (i.c) porovnáním ar z kroku (i.b) s ar nalezeným v kroku ' wmin ' ' wmin (ii.a) a pokračováním do kroku (ii), jestliže hodnoty jsou uvnitř daného tolerančního rozmezí a pokračováním do kroku (ii.d) v opačném případě, (i.d) položením t = t + 1 a vypočtením at — atTt, normalizováním výsledku rekurze tak, že prvky každého at mají součet jedna, ponecháním pouze L nejnovějších vypočtených hodnot a a hodnot at, nalezených dříve v kroku (i.a), (i.e) porovnáním hodnoty at s nejnovější již nalezenou množinou hodnot z kroků (i.a), (i.b) a (i.d), postoupením do kroku (ii) jestliže se hodnoty nachází v tolerančním rozmezí, pokračováním krokem (i.d) jestliže dva nejnovější vektory nespadají do daného tolerančního rozmezí a jestliže počet rekurzí nepřekročil předem dané dané maximum a pokračováním krokem (ii) ve zbývajícím případě, (ii) inicializováním βΕ = (1,1,1,..., 1)T a vypočtením předchozích pomocí zpětné rekurze následujícím způsobem:
    = Pt+iPt+ii t = L — 1,..., 1, normalizováním výsledků rekurze tak, že prvky každého mají součet jedna a uchováním všech L vektorů fit, (iii) vypočtením vektorů Xt spojených pravděpodobností, jejichž prvky jsou uvedené spojené pravděpodobnosti Xt, násobením prvků uvedených řádkových vektorů prvky uvedených sloupcových vektorů následujícím způsobem:
    A^ž) = ΡΓθ všechna i, t = 1,..., L, paměť pro uchovávání uvedených pravděpodobnostních matic a uvedených řádkových vektorů a _______________________________________________ a zařízení pro výpočet pravděpodobnosti hodnoty dekódovaného bitu, které s využitím hodnot Ař určuje pravděpodobnost, že daný datový bit, který byl zadán kodéru v čase rovném t, je roven nule, přičemž datový bit je m-tý z k datových bitů a dále určuje slabé výstupy jako funkci uvedené pravděpodobnosti.
  6. 6. Dekodér podle nároku 5, dále zahrnující prahové rozhodovací zařízení, které přijímá pravděpodobnost, že datový bit zadaný kodéru v čase rovném i, je roven nule a implementuje rozhodovací pravidlo, kterým z ní určí dekódovaný výstupní bit.
  7. 7. Dekodér podle nároku 5, ve kterém uvedený trellis kód s koncovými bity zahrnuje konvoluční kód.
  8. 8. Dekodér podle nároku 5 zahrnující dekodér s omezenou vzdáleností.
  9. 9. Dekodér podle nároku 5, ve kterém kodér kóduje blok datových bitů, uvedené datové bity jsou seskupeny do A;-bitových symbolů pro kódování a předem dané maximum počtu rekurzí je dvojnásobek počtu A;-bitových vstupních symbolů v bloku datových bitů.
  10. 10. Dekodér pro trellis kódy s koncovými bity generované kodérem, přičemž dekodér dekóduje určováním spojených pravděpodobností, že stav kodéru v čase í, označený St, je m a je přijat soubor L kanálových výstupů Υγ — {yi,... ,?/£,}, označených Aí(m) = P{St - m·, Y/'}, uvedený trellis kód má M stavů kodéru, uvedený dekodér určuje L pravděpodobnostních matic rř, jednu pro každou z L mřížových etap, přičemž prvky uvedených pravděpodobnostních matic jsou definovány jako
    Γί(ι, j) = P{stav j v čase t — 1; yt | stav i v čase t — 1} rt· a to určením řádkových vektorů a*, které obsahují M prvků, představujících spojené pravděpodobnosti a jsou definovány jako = -P{stav j v čase ť, j/i,..., yt} a určením sloupcových vektorů které obsahují M prvků, představujících podmíněné pravděpodobnosti a jsou definovány jako = P{yt + !,...,?/£ I stav j v čase t} pro j = 0,1,..., (Μ — 1), přičemž uvedený dekodér zahrnuje:
    zařízení pro výpočet matic Γ*, které přijímá uvedené kanálové výstupy, kanálové přechodové pravděpodobnosti fí(Yř,X), pravděpodobnosti že kodér provede přechod ze stavu m' do stavu m v čase t a pravděpodobnosti qt(X | že výstup kodéru je X za předpokladu, že předchozí stav kodéru byl m' a současný stav kodéru je m a které z .těchto údajů určí skalární prvky uvedených pravděpodobnostních matic I\, zařízení pro výpočet součinu matic at, které přijímá uvedené skalární prvky matic Γχ z uvedeného zařízení pro výpočet matic Γχ a vytváří uvedené řádkové vektory at, = «t-ιΓχ, ř = l,...,L, zařízení pro výpočet součinu matic které vypočítává uvedené sloupcové vektory 0t, __ __ _________ zařízení pro výpočet součinu po složkách, které vypočítává spojené pravděpodobnostní vektory Αχ, přičemž uvedené zařízení pro výpočet součinu matic ať, uvedené zařízení pro výpočet součinu matic βί a uvedené zařízení pro výpočet součinu po složkách vytvářejí uvedené vektory at, βί a (i.a) vycházejíce z počátečního «o rovného (1/M,..., l/M), Lkrát provedením přímé rekurze αχ = αχιΓχ, t = 1,..., L, a normalizováním výsledku tak, že prvky každého nového at mají součet jedna a uchováním všech L vektorů αχ, (i.b) položením ao rovno z kroku (i.a) a, vycházejíce z t = 1, vypočtením oit ιΓχ, t — 1,..., LWl
    • 0000 • 0 0 0 0 0 0 0· 00 0 • 0 Φ 0 < 0 · 0 · 0 0 0* ♦ 0 0 0 '0 0 • 0 0 0 • 0 0 0 0 0 0 0 0 0
    kde hloubka opakování Lw je předem daný počet mřížových etap, normalizováním výsledku tak, že prvky každého at mají součet jedna, nahrazením a vypočtenými v kroku (i.a) hodnotami at vypočtenými v kroku (i.b) pro t = 1, 2,..., Lw,
    ----------- ----. (ii.a) inicializováním = (1,1,1,..., l)r a vypočtením před------chozích fit pomocí zpětné rekurze následujícím způsobem:
    fit = ^t+ifit+h t = L — 1,..., 1, normalizováním výsledků rekurze tak, že prvky každého mají součet jedna a uchováním všech L vektorů fit, (ii.b) položením fiL+í rovným β1 z kroku (ii.a) a položením Γζ,+ι = Γι, započetím pro t = L a vypočtením fit — Γt+ifit+i^ t = L, L — 1,..., L — (Lw + 1), kde hloubka opakování Lw je předem daný počet mřížových etap, ~~ normalizováním výsledku rekurze tak, že prvky každého fit mají součet jedna, nahrazením vypočtených v kroku (ii.a) hodnotami vypočtenými v kroku (ii.b) pro t — L, L — 1,..., L — ’ (Lw + 1), (iii) vypočtením vektorů Ař spojených pravděpodobností, jejichž prvky jsou uvedené spojené pravděpodobnosti Ař, násobením • 9 • 99 9
    9 99 9 prvků uvedených řádkových vektorů prvky uvedených sloupcových vektorů následujícím způsobem:
    λ/2) = 0:/2)/3/2), pro všechna i,t = 1,..., L, paměť pro uchovávání uvedených pravděpodobnostních matic a uvedených řádkových vektorů a_________________ a zařízení pro výpočet pravděpodobnosti hodnoty dekódovaného bitu, které s využitím hodnot Xt určuje pravděpodobnost, že daný datový bit, který byl zadán kodéru v čase rovném t, je roven nule, přičemž datový bit je m-tý z k datových bitů a dále určuje slabé výstupy jako funkci uvedené pravděpodobnosti.
  11. 11. Dekodér podle nároku 10, dále zahrnující prahové rozhodovací zařízení, které přijímá pravděpodobnost, že datový bit zadaný kodéru v čase rovném t, je roven nule a implementuje rozhodovací pravidlo, kterým z ní určí dekódovaný výstupní bit.
  12. 12. Dekodér podle nároku 10, ve kterém uvedený trellis kód s koncovými bity zahrnuje konvoluční kód.
  13. 13. Dekodér podle nároku 10 zahrnující dekodér s omezenou vzdáleností.
  14. 14. Dekodér podle nároku 10, ve kterém kodér kóduje blok datových bitů, uvedené datové bity jsou seskupeny do A:-bitových symbolů pro kódování a předem dané maximum počtu rekurzí je dvojnásobek počtu A:-bitových vstupních symbolů v bloku datových bitů.
  15. 15. Způsob dekódování trellis kódů s koncovými bity, gene rovaných kodérem, určováním spojených pravděpodobností, že stav kodéru v čase t, označený St, je m a je přijat soubor L kanálových výstupů Υγ = {?/i,..., yi}, označených At(m) = P{St = τη-,Υγ'}, uvedený trellis kód má M stavů kodéru, uvedený způsob zahrnuje kroky určování L pravděpodobnostních matic Γί} jednu pro každou z L mřížových etap, přičemž prvky uvedených pravděpodobnostních matic jsou definovány jako rt(7, j) = P{stav j v čase t — 1; yt | stav i v čase t -- 1} určování řádkových vektorů at, které obsahují M prvků, představujících spojené pravděpodobnosti a jsou definovány jako = P{stav j v čase ť,yi,...,yt} a určování sloupcových vektorů které obsahují M prvků, představujících podmíněné pravděpodobnosti a jsou definovány jako
    A(j) = P{yt + l,...,yL | stav j v čase t} pro j = 0,1,..., (Μ — 1), přičemž kroky uvedeného způsobu___ zahrnují:
    určování skalárních prvků uvedených pravděpodobnostních matic rř na základě uvedených kanálových výstupů, kanálové přechodové pravděpodobnosti R(Yt, X), pravděpodobnostipt(m/m'), že kodér provede přechod ze stavu m' do stavu m v čase t a pravděpodobnosti qt(X | m', m), že výstup kodéru je X za před38 pokladu, že předchozí stav kodéru byl m' a současný stav kodéru je m, vypočtení maticového součinu Γ1Γ2 ... z uvedených skalárních prvků matic I\, vypočtení normalizovaného vlastního vektoru «o, odpovídajícího největší vlastní hodnotě uvedeného maticového součinu Γ1Γ2 i.. Γ/,, vytváření následujících ať pomocí přímé rekurze následujícím způsobem:
    ař = «ί-χΓί, t = 1,...,1/, vypočtení uvedených sloupcových vektorů provedením inicializace @L = (1,1,1,..., 1)T a vypočtením předchozích βί pomocí zpětné rekurze následujícím způsobem:
    Pt — Γί+Ι^ί+Ι: i — L — 1,..., 1, vypočtení spojených pravděpodobnostních vektorů At, jejichž prvky jsou uvedené spojené pravděpodobnosti Ař(ž, jí), násobením prvků uvedených řádkových vektorů prvky uvedených sloupcových vektorů následujícím způsobem: - — —
    Ař(ž) = pro všechna i,t = 1,..., L, a vypočtení, s využitím hodnot Xt, pravděpodobnosti, že daný datový bit, který byl zadán kodéru v čase rovném t, je roven nule, přičemž datový bit je m-tý z k datových bitů a dále určení slabých výstupů jako funkce uvedené pravděpodobnosti.
  16. 16. Způsob podle nároku 15, dále zahrnující krok implementující rozhodovací pravidlo, kterým se určí dekódovaný výstupní bit z pravděpodobnosti, že datový bit zadaný kodéru v čase rovném t, je roven nule.
  17. 17. Dekodér podle nároku 15, ve kterém uvedený trellis kód s””koncovými””bity zahrnuje” konvoluční kód.
  18. 18. Způsob dekódování trellis kódů s koncovými bity, generovaných kodérem, určováním spojených pravděpodobností, že stav kodéru v čase t, označený St, je m a je přijat soubor L kanálových výstupů Yy = {2/1,..., yi}, označených Ať(m) = P{St = m; y/1}, uvedený trellis kód má M stavů kodéru, uvedený způsob zahrnuje kroky určování L pravděpodobnostních matic Γ(, jednu pro každou z L mřížových etap, přičemž prvky uvedených pravděpodobnostních matic jsou definovány jako rť(i,ý) — P{stav j v čase t — l-,yt | stav i v Čase t — 1}, určování řádkových vektorů at, které obsahují M prvků, představujících spojené pravděpodobnosti a jsou definovány jako at(j) = P{stav j v čase ř; 3/1,..., yt} a určování sloupcových vektorů Pt, které obsahují M prvků, představujících podmíněné pravděpodobnosti a jsou definovány jako
    A(ý) = P{yt + 1,..., 2/l I stav j v čase t} pro j = 0,1,..., (Μ — 1), přičemž kroky uvedeného způsobu zahrnují:
    určování skalárních prvků uvedených pravděpodobnostních matic rř na základě uvedených kanálových výstupů, kanálové přechodové pravděpodobnosti R(Yt, X), pravděpodobnosti. že kodér provede přechod ze stavu m' do stavu m v čase t a pravděpodobnosti qt(X | τη',πι), že výstup kodéru je X za předpokladu, že předchozí stav kodéru byl m' a současný stav kodéru je m, určování uvedených vektorů at, fit a At (i.a) vycházejíce z počátečního «o rovného (1/M,..., l/JVf), Lkrát provedením přímé rekurze «i — ař_irř, t — 1,..., L, a normalizováním výsledku tak, že prvky každého nového at mají součet jedna a uchováním všech L vektorů at, (i.b) položením ao rovno ap z kroku (i.a) a, vycházejíce z t — 1, vypočtením at — at-iPtj í — 1,..., LWmin, kde LWmin je předem daný minimální počet mřížových etap, normalizováním výsledků tak, že prvky každého at mají součet jedna a ponecháním pouze souboru posledních L hodnot a, nalezených rekurzí v kroku (i.a) a (i.b) a a^w nalezené v kroku (i.a), (i.c) porovnáním ai z kroku (i.b) s «£ nalezeným v kroku (ii.a) a pokračováním do kroku (ii), jestliže hodnoty jsou uvnitř daného tolerančního rozmezí a pokračováním do kroku (ii.d) v opačném._případě,____________________________________________________________ . ________________ (i.d) položením t — t + 1 a vypočtením at = a^-jTí, normalizováním výsledku rekurze tak, že prvky každého at mají součet jedna, ponecháním pouze L nejnovějších vypočtených hodnot a a hodnot at, nalezených dříve v kroku (i.a), (i.e) porovnáním hodnoty at s nejnovější již nalezenou množinou hodnot z kroků (i.a), (i.b) a (i.d), postoupením do kroku (ii) jestliže se hodnoty nachází v tolerančním rozmezí, pokračováním krokem (i.d) jestliže dva nejnovější vektory nespadají do daného tolerančního rozmezí a jestliže počet rekurzí nepřekročil předem dané dané maximum a pokračováním krokem (ii) ve zbývajícím případě, (ii) inicializováním PL — (1,1,1,..., l)r a vypočtením předchozích pomocí zpětné rekurze následujícím způsobem:
    fit — Γί+ιβί+1, t — L — 1,..., 1, normalizováním výsledků rekurze tak, že prvky každého Pt mají součet jedna a uchováním všech L vektorů Pt, (iii) vypočtením vektorů Xt spojených pravděpodobností, jejichž
    ··♦· • ·· ·· ♦ ··· • · ·· · · • · · • · • · · e e e • © © © © © © ♦ · * · · ·»· > *·»···· ·· ·
    prvky jsou uvedené spojené pravděpodobnosti Xt, násobením prvků uvedených řádkových vektorů prvky uvedených sloupcových vektorů následujícím způsobem:
    Xt(i) — 0^(2)/^(2), pro všechna i,t — 1,..., L, a vypočtení, s využitím hodnot At, pravděpodobnosti, že daný ’daťový_bit7~ktěřýT)ýl_žaďán kodéru” v” čá^ Fdvňěm Týl θ roven nule, přičemž datový bit je m-tý z k datových bitů a dále určení slabých výstupů jako funkce uvedené pravděpodobnosti.
  19. 19. Způsob podle nároku 18, dále zahrnující krok implementující rozhodovací pravidlo, kterým se určí dekódovaný výstupní bit z pravděpodobnosti, že datový bit zadaný kodéru v čase rovném t, je roven nule.
  20. 20. Dekodér podle nároku 18, ve kterém uvedený trellis kód s koncovými bity zahrnuje konvoluční kód.
  21. 21. Způsob podle nároku 18, ve kterém kodér kóduje blok datových bitů, uvedené datové bity jsou seskupeny do A:-bitových symbolů pro kódování a předem dané maximum počtu rekurzí je dvojnásobek počtu A:-bitových vstupních symbolů v bloku datových bitů.
  22. 22. Způsob dekódování trellis kódů s koncovými bity, generovaných kodérem, určováním spojených pravděpodobností, že stav kodéru v čase t, označený St, je m a je přijat soubor L kanálových výstupů Yj1, = {z/i,... ,yL}, označených Xt(m) = P{St = m; K/}, uvedený trellis kód má M stavů kodéru, uvedený způsob zahrnuje kroky určování L podmíněných pravděpodobnostních matic rř, jednu pro každou z L mřížových etap, přičemž prvky uvedených pravděpodobnostních matic jsou definovány jako
    Γί(Λ J) = P{stav j v čase t — 1;^ | stav i v čase t — 1}, určování řádkových vektorů at, které obsahují M prvků, představujících spojené pravděpodobnosti a jsou definovány jako at(j) = Pfstav j v čase ť, ?/i,..., yt} a určování sloupcových vektorů /?ř, které obsahují M prvků, představujících podmíněné pravděpodobnosti a jsou definovány jako /W) = P{yt + 1, · ·, Vl i Stav j v čase t} pro j = 0,1,..., (Μ — 1), přičemž kroky uvedeného způsobu zahrnují:
    určování skalárních prvků uvedených pravděpodobnostních matic rt na základě uvedených kanálových výstupů, kanálové přechodové pravděpodobnosti R(Yt, X), pravděpodobnosti že kodér provede přechod ze stavu m' do stavu m v čase t a __pravděpodobnosti qt(X. | mz, m), že výstup kodéru je X-za-před--pokladu, že předchozí stav kodéru byl m' a současný stav kodéru je m, určování uvedených vektorů at, fit a At (i.a) vycházejíce z počátečního ao rovného (1/M,..., 1/M), Lkrát provedením přímé rekurze at — <*ί-ιΓ,, t — 1,..., L, a normalizováním výsledku tak, že prvky každého nového at mají součet jedna a uchováním všech L vektorů at, (i.b) položením «o rovno cil z kroku (i.a) a, vycházejíce z t = 1, vypočtením d, cit—1Γ,, t — 1,..., Lw, kde hloubka opakování Lw je předem daný počet mřížových etap, normalizováním výsledku tak, že prvky každého at mají součet jedna, nahrazením a vypočtenými v kroku (i.a) hodnotami at vypočtenými v kroku (i.b) pro t = 1,2,..., Lw, (ii.a) inicializováním = (1,1,1,..., 1)T a vypočtením předchozích pomocí zpětné rekurze následujícím způsobem:
    fit = Γί+ΐβί+l; t = L — 1,..., 1, normalizováním výsledků rekurze tak, že prvky každého fit mají součet jedna a uchováním všech L vektorů /?ř, (ii.b) položením pL+l rovným z kroku (ii.a) a položením Γl+i = Γι, započetím pro t = L a vypočtením fit — Γί+ι^ί+1, t — L, L — 1,..., L — (Lw + 1), kde hloubka opakování Lw je předem daný počet mřížových etap, normalizováním výsledku rekurze tak, že prvky každého fit mají * součet jedna, nahrazením fit vypočtených v kroku (ii.a) hodnotami fit vypočtenými v kroku (ii.b) pro t = L,L — 1,..., L — (Lw +1)>
    (iii) vypočtením vektorů At spojených pravděpodobností, jejichž prvky jsou uvedené spojené pravděpodobnosti Ař, násobením prvků uvedených řádkových vektorů prvky uvedených sloupcových vektorů následujícím způsobem:
    Aí (ž) = (ž)/?ř(z), pro všechna i,t = 1,..., L, a vypočtení, s využitím hodnot pravděpodobnosti, že daný datový bit, který byl zadán kodéru v čase rovném t, je roven nule, přičemž datový bit je m-tý z k datových bitů a dále určení slabých výstupů jako funkce uvedené pravděpodobnosti.
  23. 23. Způsob podlěTnaroku 22, dále zahrnující krok implementující rozhodovací pravidlo, kterým se určí dekódovaný výstupní bit z pravděpodobnosti, že datový bit zadaný kodéru v čase rovném t, je roven nule.
  24. 24. Dekodér podle nároku 22, ve kterém uvedený trellis kód s koncovými bity zahrnuje konvoluění kód.
    ··· · • ·
    4« · *
  25. 25. Způsob podle nároku 22, ve kterém kodér kóduje blok datových bitů, uvedené datové bity jsou seskupeny do A:-bitových symbolů pro kódování a předem dané maximum počtu rekurzí je dvojnásobek počtu fc-bitových vstupních symbolů v bloku datových bitů.
CZ0407497A 1996-04-19 1997-04-14 Dekodér pro mrízové kódy s odstranováním doplnkových bitu a zpusob jejich dekódování CZ296383B6 (cs)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/636,742 US5721746A (en) 1996-04-19 1996-04-19 Optimal soft-output decoder for tail-biting trellis codes

Publications (2)

Publication Number Publication Date
CZ407497A3 true CZ407497A3 (cs) 1998-06-17
CZ296383B6 CZ296383B6 (cs) 2006-03-15

Family

ID=24553142

Family Applications (1)

Application Number Title Priority Date Filing Date
CZ0407497A CZ296383B6 (cs) 1996-04-19 1997-04-14 Dekodér pro mrízové kódy s odstranováním doplnkových bitu a zpusob jejich dekódování

Country Status (21)

Country Link
US (1) US5721746A (cs)
EP (1) EP0834223A1 (cs)
JP (1) JP3801211B2 (cs)
KR (1) KR100531584B1 (cs)
CN (1) CN1132320C (cs)
AR (1) AR006722A1 (cs)
AU (1) AU716761B2 (cs)
BR (1) BR9702311A (cs)
CA (1) CA2221137C (cs)
CZ (1) CZ296383B6 (cs)
HU (1) HU220832B1 (cs)
ID (1) ID17231A (cs)
IL (1) IL122526A (cs)
MX (1) MX9710511A (cs)
MY (1) MY125447A (cs)
NO (1) NO975967L (cs)
PL (1) PL182511B1 (cs)
RU (1) RU2179367C2 (cs)
UA (1) UA42841C2 (cs)
WO (1) WO1997040583A1 (cs)
ZA (1) ZA973213B (cs)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377610B1 (en) * 1997-04-25 2002-04-23 Deutsche Telekom Ag Decoding method and decoding device for a CDMA transmission system for demodulating a received signal available in serial code concatenation
US5983384A (en) * 1997-04-21 1999-11-09 General Electric Company Turbo-coding with staged data transmission and processing
US6256764B1 (en) * 1997-11-26 2001-07-03 Nortel Networks Limited Method and system for decoding tailbiting convolution codes
US6452985B1 (en) * 1998-03-18 2002-09-17 Sony Corporation Viterbi decoding apparatus and Viterbi decoding method
US6563877B1 (en) * 1998-04-01 2003-05-13 L-3 Communications Corporation Simplified block sliding window implementation of a map decoder
CA2474859C (en) * 1998-04-06 2007-06-19 Nortel Networks Limited Encoding and decoding methods and apparatus
TW377427B (en) * 1998-05-26 1999-12-21 Koninklijke Philips Electronics Nv Transmission system having a simplified channel decoder applicable to mobile phone systems for better reliability in serial transmission
KR100544555B1 (ko) * 1998-05-28 2006-01-24 소니 가부시끼 가이샤 길쌈 부호의 연출력 복호 장치 및 연출력 복호 방법
US6263467B1 (en) 1998-08-20 2001-07-17 General Electric Company Turbo code decoder with modified systematic symbol transition probabilities
US6128765A (en) * 1998-08-20 2000-10-03 General Electric Company Maximum A posterior estimator with fast sigma calculator
US6223319B1 (en) 1998-08-20 2001-04-24 General Electric Company Turbo code decoder with controlled probability estimate feedback
US6192501B1 (en) 1998-08-20 2001-02-20 General Electric Company High data rate maximum a posteriori decoder for segmented trellis code words
ATE270795T1 (de) 1998-09-28 2004-07-15 Comtech Telecomm Corp Turbo produktkode decodierer
WO2000033467A1 (de) 1998-12-01 2000-06-08 Siemens Aktiengesellschaft Soft-decision-decodierung eines terminierten faltungscodes
US6088405A (en) * 1999-01-15 2000-07-11 Lockheed Martin Corporation Optimal decoder for tall-biting convolutional codes
US6304996B1 (en) * 1999-03-08 2001-10-16 General Electric Company High-speed turbo decoder
US6594792B1 (en) 1999-04-30 2003-07-15 General Electric Company Modular turbo decoder for expanded code word length
US6715120B1 (en) 1999-04-30 2004-03-30 General Electric Company Turbo decoder with modified input for increased code word length and data rate
US6877132B1 (en) 1999-06-11 2005-04-05 Nortel Network Limited Method and apparatus for channel decoding of tail-biting convolutional codes
US7277506B1 (en) * 1999-08-09 2007-10-02 Broadcom Corporation Maximum likelihood sequence estimator which computes branch metrics in real time
US6400290B1 (en) 1999-11-29 2002-06-04 Altera Corporation Normalization implementation for a logmap decoder
US6700937B1 (en) * 2000-01-05 2004-03-02 At&T Corp. Iterative decoding
US7092457B1 (en) * 2000-01-18 2006-08-15 University Of Southern California Adaptive iterative detection
KR100374787B1 (ko) * 2000-01-18 2003-03-04 삼성전자주식회사 대역 효율적인 연쇄 티.씨.엠 디코더 및 그 방법들
US6810502B2 (en) 2000-01-28 2004-10-26 Conexant Systems, Inc. Iteractive decoder employing multiple external code error checks to lower the error floor
US6484285B1 (en) * 2000-02-07 2002-11-19 Ericsson, Inc. Tailbiting decoder and method
US6580769B1 (en) * 2000-02-14 2003-06-17 Motorola, Inc. Method and apparatus for backward recursion next state generation in recursive convolutional decoding
GB0004765D0 (en) * 2000-03-01 2000-04-19 Mitel Corp Soft-decision decoding of convolutionally encoded codeword
US6516437B1 (en) 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
GB2360858B (en) * 2000-03-20 2004-08-18 Motorola Inc High-speed maximum a posteriori (MAP) architecture with optimized memory size and power consumption
AU2001289296A1 (en) * 2000-04-04 2001-10-15 Advanced Hardware Architectures, Inc. Enhanced turbo product code decoder system
JP4543522B2 (ja) * 2000-08-31 2010-09-15 ソニー株式会社 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法
IT1320715B1 (it) * 2000-10-19 2003-12-10 Cselt Centro Studi Lab Telecom Modulo generatore di circuiti per la decodifica di codiciconvoluzionali, metodo per la generazione di tale tipo di circuito e
US7230978B2 (en) 2000-12-29 2007-06-12 Infineon Technologies Ag Channel CODEC processor configurable for multiple wireless communications standards
US7010052B2 (en) * 2001-04-16 2006-03-07 The Ohio University Apparatus and method of CTCM encoding and decoding for a digital communication system
EP1407555A1 (en) * 2001-05-09 2004-04-14 Comtech Telecommunications Corp. Low density parity check codes and low density turbo product codes
US6763493B2 (en) * 2001-09-21 2004-07-13 The Directv Group, Inc. Method and system for performing decoding using a reduced-memory implementation
JP3549519B2 (ja) * 2002-04-26 2004-08-04 沖電気工業株式会社 軟出力復号器
US7346833B2 (en) * 2002-11-05 2008-03-18 Analog Devices, Inc. Reduced complexity turbo decoding scheme
GB2403103A (en) * 2003-06-16 2004-12-22 Inmarsat Ltd Multi-user detection and decoding
RU2339161C2 (ru) * 2004-03-22 2008-11-20 Мацусита Электрик Индастриал Ко., Лтд. Мар декодер локального стирания
US7062407B2 (en) * 2004-09-13 2006-06-13 Microsoft Corporation Efficient backward recursion for computing posterior probabilities
US7603613B2 (en) 2005-02-17 2009-10-13 Samsung Electronics Co., Ltd. Viterbi decoder architecture for use in software-defined radio systems
US7627064B2 (en) * 2006-06-30 2009-12-01 Intel Corporation System and method for enhanced symbol generation
RU2340088C2 (ru) * 2006-11-23 2008-11-27 Андрей Николаевич Хмельков Способ синдромного декодирования циклического кода (варианты)
WO2008075125A1 (en) * 2006-12-20 2008-06-26 Wavesat Inc. Method and decoder for tail-biting decoding
US8358713B2 (en) * 2007-09-10 2013-01-22 Sarath Babu Govindarajulu High throughput and low latency map decoder
US8219896B2 (en) * 2007-10-23 2012-07-10 Telefonaktiebolaget L M Ericsson (Publ) Reduced-complexity decoding algorithms for tail-biting convolutional codes
JP4806673B2 (ja) * 2007-12-27 2011-11-02 ルネサスエレクトロニクス株式会社 復号装置及び復号方法
US8392811B2 (en) * 2008-01-07 2013-03-05 Qualcomm Incorporated Methods and systems for a-priori decoding based on MAP messages
RU2390930C2 (ru) * 2008-04-21 2010-05-27 Государственное образовательное учреждение высшего профессионального образования Курский государственный технический университет Устройство декодирования ртсм
US20090271686A1 (en) * 2008-04-28 2009-10-29 Qualcomm Incorporated Communication signal decoding with iterative cooperation between turbo and reed-solomon decoding
ATE476792T1 (de) * 2008-04-30 2010-08-15 Ericsson Telefon Ab L M Verfahren und anordnung zur decodierung eines mittels tail-biting-codes kodierten signals
US8924811B1 (en) * 2010-01-12 2014-12-30 Lockheed Martin Corporation Fast, efficient architectures for inner and outer decoders for serial concatenated convolutional codes
GB2559616A (en) * 2017-02-13 2018-08-15 Accelercomm Ltd Detection circuit, receiver, communications device and method of detecting
RU2706171C1 (ru) * 2019-01-25 2019-11-14 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Способ декодирования блочных помехоустойчивых кодов по критерию минимального среднего риска

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2022469C1 (ru) * 1990-07-02 1994-10-30 Научно-исследовательский институт "Дельта" Устройство для многоканального декодирования
FR2675968B1 (fr) * 1991-04-23 1994-02-04 France Telecom Procede de decodage d'un code convolutif a maximum de vraisemblance et ponderation des decisions, et decodeur correspondant.
US5349589A (en) * 1991-07-01 1994-09-20 Ericsson Ge Mobile Communications Inc. Generalized viterbi algorithm with tail-biting
US5369671A (en) * 1992-05-20 1994-11-29 Hughes Aircraft Company System and method for decoding tail-biting code especially applicable to digital cellular base stations and mobile units
US5355376A (en) * 1993-02-11 1994-10-11 At&T Bell Laboratories Circular viterbi decoder
US5577053A (en) * 1994-09-14 1996-11-19 Ericsson Inc. Method and apparatus for decoder optimization

Also Published As

Publication number Publication date
US5721746A (en) 1998-02-24
IL122526A0 (en) 1998-06-15
WO1997040583A1 (en) 1997-10-30
ID17231A (id) 1997-12-11
IL122526A (en) 2003-10-31
HUP9901431A2 (hu) 1999-08-30
ZA973213B (en) 1997-11-14
JP3801211B2 (ja) 2006-07-26
CZ296383B6 (cs) 2006-03-15
JPH11508440A (ja) 1999-07-21
PL182511B1 (pl) 2002-01-31
AU2801997A (en) 1997-11-12
RU2179367C2 (ru) 2002-02-10
KR100531584B1 (ko) 2006-04-20
NO975967D0 (no) 1997-12-18
BR9702311A (pt) 1999-02-02
CA2221137A1 (en) 1997-10-30
EP0834223A1 (en) 1998-04-08
CN1189936A (zh) 1998-08-05
CN1132320C (zh) 2003-12-24
HUP9901431A3 (en) 1999-12-28
KR19990028216A (ko) 1999-04-15
PL323523A1 (en) 1998-03-30
UA42841C2 (uk) 2001-11-15
NO975967L (no) 1998-02-03
AU716761B2 (en) 2000-03-09
AR006722A1 (es) 1999-09-08
MY125447A (en) 2006-08-30
HU220832B1 (hu) 2002-05-28
MX9710511A (es) 1998-03-31
CA2221137C (en) 2004-10-12

Similar Documents

Publication Publication Date Title
CZ407497A3 (cs) Optimální dekodér se slabými výstupy pro trellis kódy s koncovými bity
CN108650057B (zh) 一种编译码的方法、装置及系统
JP5705106B2 (ja) ユークリッド空間リード−マラー符号の軟判定復号を実行する方法
Kaneko et al. An efficient maximum-likelihood-decoding algorithm for linear block codes with algebraic decoder
KR100227094B1 (ko) 큰 제약조건 길이를 갖는 소프트 결정 비터비 디코딩의 방법 및 회로
Maarouf et al. Concatenated codes for multiple reads of a DNA sequence
Dingel et al. Parameter estimation of a convolutional encoder from noisy observations
KR20010052058A (ko) 인터리빙없이 병렬 코딩을 이용한 통신 시스템 및 방법
WO1999009696A1 (en) Communications systems and methods employing selective recursive decoding
CN112929035B (zh) 一种非二进制极化码的编码与译码方法
GB2315001A (en) Viterbi decoder for depunctured codes
CN110929542B (zh) 基于分组纠错码的测序条形码构造与软判决识别方法
KR20080074858A (ko) 데이터를 복호화 및 부호화하는 방법 및 장치
US20040170235A1 (en) Iterative decoding
RU2236090C1 (ru) Способ контроля качества канала связи
JP2010535459A (ja) 線形計画法復号のための座標上昇法
RU2646372C1 (ru) Способ мягкого когнитивного декодирования систематических блоковых кодов
Banerjee et al. Sequential decoding of convolutional codes for synchronization errors
JP2006509465A (ja) 並列処理を用いたターボ復号器
JP2008118327A (ja) ビタビ復号方法
JP2006509465A5 (cs)
RU2321170C2 (ru) Способ приема в целом сигналов с турбокодированием на основе сверточных кодов с поэлементным принятием решения по алгоритму максимума апостериорной вероятности
JP2006504316A (ja) 可変長誤り符号を生成する方法及び装置
JP2021500814A (ja) ターボ積符号の復号方法、装置、およびコンピュータ読み取り可能な記憶媒体
CN116318183A (zh) 译码方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PD00 Pending as of 2000-06-30 in czech republic
MM4A Patent lapsed due to non-payment of fee

Effective date: 20080414