PL182511B1 - Sposób dekodowania kodu kratowego z bitami końcowymi i dekoder kodu kratowego z bitami końcowymi - Google Patents

Sposób dekodowania kodu kratowego z bitami końcowymi i dekoder kodu kratowego z bitami końcowymi

Info

Publication number
PL182511B1
PL182511B1 PL97323523A PL32352397A PL182511B1 PL 182511 B1 PL182511 B1 PL 182511B1 PL 97323523 A PL97323523 A PL 97323523A PL 32352397 A PL32352397 A PL 32352397A PL 182511 B1 PL182511 B1 PL 182511B1
Authority
PL
Poland
Prior art keywords
probability
encoder
elements
vectors
state
Prior art date
Application number
PL97323523A
Other languages
English (en)
Other versions
PL323523A1 (en
Inventor
Stephen M. Hladik
John B. Anderson
Original Assignee
Gen Electric
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 Gen Electric filed Critical Gen Electric
Publication of PL323523A1 publication Critical patent/PL323523A1/xx
Publication of PL182511B1 publication Critical patent/PL182511B1/pl

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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

Przedmiotem wynalazku jest sposób dekodowania kodu kratowego z bitami końcowymi i dekoder kodu kratowego z bitami końcowymi.
Algorytm Viterbiego VA jest sposobem dekodowania o maksymalnej wiarogodności, który określa najbardziej możliwą sekwencję danych lub słowo dla przypadku addytywnego szumu białego kanału Gaussa, to jest minimalizuje prawdopodobieństwo błędu dekodowanego słowa. Ten schemat jest zasadniczo programem dynamicznym do znajdywania toru przez kratę kodu, która jest najbliższa odbieranej sekwencji wyjść kanału. Z drugiej strony prawdopodobieństwo błędu symbolu lub bitu jest minimalizowane przy zastosowaniu tak zwanego dekodera maksymalnego a posteriori MAP.
Znany jest dekoder MAP opisany w publikacji Bahla, Cocke'a, Jelinka i Raviva, chociaż pod odmienną nazwą algorytm BCJR, pod tytułem „Optymalne dekodowanie kodów liniowych dla minimalizacji szybkości błędu symbolu”, IEEE Transactions on Information Theory, strony 284-287, marzec 1974. Termin dekoder MAP lub algorytm BCJR jest przyjęty tutaj dla określenia dekodera danych, który wprowadza rozkład prawdopodobieństwa stanów w każdym stopniu kraty i który może także określać temat a priori statystyki bitów danych. Dekoder MAP jest optymalny w tym sensie, że wytwarza te prawdopodobieństwa stanów lub miękkie wyjście, z doskonałą dokładnością, podczas gdy istnieją inne, aczkolwiek prostsze, dekodery, które mogą wytwarzać tylko przybliżenie do tych prawdopodobieństw. Warianty algorytmu wyprowadzają informację, taką jak rozkład prawdopodobieństwa symboli danych w każdym stopniu lub rozkład symboli wyjściowych kodera w każdym stopniu.
Dekoder MAP wymaga, żeby był znany stan początkowy przy transmisji kodu kratowego i w pewnych zastosowaniach, żeby był również znany stan końcowy. Niekorzystne jest zatem, że dekoder MAP nie może być stosowany do dekodowania kodów kratowych, które wykorzystują bity końcowe, to jest kody, dla których stany początkowe i końcowe kodera nie mogą być znane z góry. W szczególności transmisja kodów kratowych wykorzystuje bity końcowe, gdy stan początkowy kodera jest identyczny z ewentualnym stanem końcowym dla danego bloku bitów wejściowych. Jest proste dla kodera zasilania na początku poznanie z bitów danych, jaki będzie stan końcowy. Jest on po prostu ostatnimi km bitami bloku wiadomości, gdzie k jest liczbą bitów na symbol wejściowy kodera i m jest pamięcią kodu. Koder bitów końcowych jest odróżnialny od zwykłego kodera, w którym stan początkowy jest stanem ustalanym wstępnie, zwykle stanem ustalającym wszystkie zera. Zwykłe kodery mogą również kończyć się we wstępnie ustalonym stanie przez dodanie końca km bitów do bloku wiadomości wejściowej. Tym, co odróżnia dekoder bitów końcowych jest to, że musi on ocenić stan początkowy kodera w uzupełnieniu do innych funkcji.
182 511
Jeżeli koder bitów końcowych ma cylindryczną kratę, słowo kodu wytwarzane przez taki koder może być uwidaczniane jako koło symboli. Dekoder musi rozpoczynać od pewnego dowolnego punktu na kole, uzyskać miarę synchronizacji i następnie dekodować bity danych.
Znana jest pewna liczba dekoderów bitów końcowych, które są analogiczne do dekodera VA, to jest zapewniają ocenę maksymalnej wiarogodności kołowego słowa kodu kratowego. Dekoder z wyjściami miękkimi z drugiej strony musiałby oceniać prawdopodobieństwa stanu wokół cylindrycznej kraty i obecnie nie jest dostępny żaden taki dekoder. W szczególności, jak to wyjaśniono powyżej, dekoder MAP z wyjściami miękkimi wymaga, żeby był znany stan początkowy w kracie i w pewnych zastosowaniach, żeby był również znany stan końcowy. Jednak zastosowanie dekodera MAP jest ograniczone do zwykłych kodów bez bitów końcowych, co z kolei wykluczyło uzyskanie zalet zastosowania bitów końcowych przy poprawie skuteczności korekcji błędu systemów, które transmitują krótkie bloki danych, na przykład przy transmisji pakietu, gdy jest wymagane wierne, miękkie wyjście.
Formalna tabulacja głębokości decyzji do przodu LF(e) dla kodów splotowych jest przedstawiona w publikacji J.B. Andersona i K. Balachandrana pod tytułem „Głębokości decyzji kodów splotowych”, IEEE Transactions on Information Theory, tom IT-35, strony 455-59, marzec 1989. Wiele własności LF(e) jest ujawnionych w tej publikacji, a także w publikacji J.B. Andersona i S. Mohana pod tytułem „Kodowanie źródła i kanału - przybliżeniu algorytmicznym”, Kluwer Academic Publisher, Norwell, MA, 1991. Podstawową własnością jest to, że występuje prosty związek liniowy pomiędzy LF i e, na przykład dla kodów o szybkości 1/2, LF jest w przybliżeniu 9,08e.
Algorytm dla znalezienia głębokości decyzji do przodu LF(e), jest przedstawiony w publikacji J.B. Andersona i K. Balachandrana pod tytułem „Głębokości decyzji kodów splotowych”.
Sposób według wynalazku polega na tym, że określa się elementy skalarne macierzy prawdopodobieństwa Γ, z wyjść kanału, prawdopodobieństwa R(Yt, X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwa qt(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m, oblicza się iloczyn macierzy Γ]Γ2... rLz elementów skalarnych Γ„ oblicza się standardowy wektor własny a0, odpowiadający największej wartości własnej P{Y,L } iloczynu macierzy Γ1Γ2... rL, tworzy się kolejne a, przez rekursję do przodu, jak następuje at = α(-]Γ„ t = 1,..., L, dostarcza się wektory kolumny przez inicjowanie β( = (1,1,1, ..., 1)T i tworzy się poprzednie β, przez rekursję do tyłu, jak następuje β( = rt+, βι+ι, t = L-l,..., 1, tworzy się wektory λ, całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami Xt(i, j), przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumn, jak następuje λ,(ΐ) = α,(ΐ)βί(ΐ), wszystkie i, t = 1,..., L, oraz określa się z λ, prawdopodobieństwa, że dany bit danych wprowadzany do kodera w czasie = t jest równy zero, bit danych jest m-tym z k bitów danych oraz dostarcza się wyjście miękkie jako funkcję prawdopodobieństwa.
Korzystnie wykonuje się regułę decyzyjną dla dostarczania dekodowanych bitów wyjściowych z prawdopodobieństwa, że bit danych wprowadzanych do kodera w czasie = t jest równy zero.
Korzystnie jako kod kratowy z bitami końcowymi stosuje się kod splotowy.
W innym przykładzie wykonania sposób według wynalazku polega na tym, że określa się elementy skalarne macierzy prawdopodobieństwa Γ, z wyjść kanału, prawdopodobieństwa R(Y„ X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' dom w czasie t i prawdopodobieństwa qt(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m, tworzy się wektory α„ β, i λ( przez to, że /i.a/ rozpoczyna się przez początkowe a0 równe (1/M, ..., 1/M), oblicza się L razy rekursja do przodu at = at_, Γ„ t = 1,..., L i normalizuje się wyniki tak, że elementy każdego at sumują się do jedności, pozostawiając wszystkie wektory L a„ /i.b/, gdy aojest równe at z etapu /i.a/ i rozpoczyna się w czasie t = 1, oblicza się at = αΜ Γ„ t = 1,..., Lwmin gdzie Lw min jest wstępnie określoną, minimalną liczbą stopni kratowych, normalizuje się wyniki tak, że elementy każdego a, sumuje się do jedności, pozostawiając tylko ostatni zespół L a, znale
182 511 zionych przez rekursję w etapach /i.a/ i /i.b/ oraz aLw min znalezionych w etapie /i.a/, /i.c/ porównuje się aLw min z etapu /i.b/ z aLw min znalezionym w etapie /i.a/ i poprzednim względem etapu /ii/, jeżeli jest w zakresie tolerancji, inaczej kontynuuje się do etapu /i.d/, przy czym /i.d/, gdy t = t+1 i oblicza się at = α,., Γ(, normalizuje się wyniki rekursji tak, że elementy każdego at sumuje się do jedności, pozostawiając tylko ostatni zespół obliczanych L at i to at znalezione poprzednio w etapie /i.a/, /i.e/ porównuje się at z ostatnim, poprzednio obliczonym a, z etapów /i.a/, /i.b/ i /i.d/ i poprzednim względem etapu /ii/, jeżeli jest w zakresie tolerancji, kontynuując w etapie /i.d/, jeżeli dwa ostatnie wektory nie zgadzają się z zakresem tolerancji i jeżeli liczba rekursji nie przekracza wstępnie określonego maksimum, inaczej poprzedzając etap /ii/, /ii/ inicjuje się βΒ = (1, 1, 1,..., 1)T i tworzy się poprzednie β, przez rekursję do tyłu, jak następuje β, = Ft+, βΙ+1, t = L-l, ..., 1 i normalizuje się wyniki rekursji tak, że elementy każdego β, sumuje się do jedności, pozostawiając wszystkie wektory L β„ /iii/ tworzy się wektory λ( całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami λ,(ί, j) przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumny, jak następuje λ((ΐ) = α,(ΐ)β((ϊ), wszystkie i, t = 1, ..., L, określa się z λ, prawdopodobieństwa, że dany bit danych wprowadzany do kodera w czasie = t jest równy zero, przy czym bit danych jest m-tym z k bitów danych i dostarcza się wyjścia miękkie jako funkcje prawdopodobieństwa.
Korzystnie wykonuje się regułę decyzyjną dla dostarczania dekodowanych bitów wyjściowych z prawdopodobieństwa, że bit danych wprowadzanych do kodera w czasie = t jest równy zero.
Korzystnie jako kod kratowy z bitami końcowymi stosuje się kod splotowy.
Korzystnie koduje się blok bitów danych za pomocą kodera, bity danych grupuje się w k-bitowe symbole do kodowania, przy czym wstępnie określona maksymalna liczba rekursji zawiera dwa razy liczbę k-bitowych symboli wejściowych w bloku bitów danych.
W następnym przykładzie wykonania sposób według wynalazku polega na tym, że określa się elementy skalarne macierzy prawdopodobieństwa Γ, z wyjść kanału, prawdopodobieństwa R(Yt, X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwa qt(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m, tworzy się wektory α„ β, i λ„ przez to, że /i.a/ rozpoczyna się przez początkowe a0 równe (1/M,..., 1/M), oblicza się L razy rekursja do przodu at = α,.! Γ(, t = 1, ..., L i normalizuje się wyniki tak, że elementy każdego at sumują się do jedności, pozostawiając wszystkie wektory L a„ /i.b/, gdy aojest równe aL z etapu /i.a/ i rozpoczyna się w czasie t = 1, oblicza się ος = αΜ Γ„ t = 1,..., Lw, gdzie głębokość nawijania Lw jest wstępnie określoną, minimalną liczbą stopni kratowych, normalizuje się wyniki tak, że elementy każdego at sumuje się do jedności, zastępując at obliczone w etapie /i.a/ przez a, obliczane w etapie /i.b/ dla t = 1, 2,..., Lw, /ii.a/ inicjuje się βΕ = (1, 1,1,..., 1/ i tworzy się poprzednie β( przez rekursję do tyłu, jak następuje β, = Γι+[ β,+1, t = L-l, ..., 1 i normalizuje się wyniki rekursji tak, że elementy każdego β, sumuje się do jedności, pozostawiając wszystkie wektory L β„ /ii.b/, gdy βί+ι jest równe β! z etapu /ii.a/ i gdy rL+I = Γ), rozpoczynając w t = L, i oblicza się β, = rt+1 βι+1 dla t = L, (L-l),..., L-(LW + 1), gdzie głębokość nawijania Lw jest wstępnie określoną liczbą stopni kratowych, normalizuje się wyniki rekursji tak, że elementy każdego β, sumuje się do jedności, zastępując β, obliczane w etapie /ii.a/ przez β, obliczane w etapie /ii.b/ dla t = L, (L-l),..., L-(LW + 1), /iii/ tworzy się wektory λ, całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami λ/ΐ, j), przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumny, jak następuje λ,(ΐ) = α^Οβ/ί), wszystkie i, t = 1, ..., L, określa się z λ, prawdopodobieństwa, że dany bit danych wprowadzany do kodera w czasie = t jest równy zero, przy czym bit danych jest m-tym z k bitów danych, i dostarcza się wyjścia miękkie jako funkcje prawdopodobieństwa.
Korzystnie wykonuje się regułę decyzyjną dla dostarczania dekodowanych bitów wyjściowych z prawdopodobieństwa, że bit danych wprowadzanych do kodera w czasie = t jest równy zero.
182 511
Korzystnie jako kod kratowy z bitami końcowymi stosuje się kod splotowy.
Korzystnie koduje się blok bitów danych za pomocą kodera, bity danych grupuje się w k-bitowe symbole do kodowania, przy czym wstępnie określona maksymalna liczba rekursji zawiera dwa razy liczbę k-bitowych symboli wejściowych w bloku bitów danych.
Dekoder według wynalazku zawiera układ liczący rt do odbioru wyjść kanału, prawdopodobieństwa R(Y„ X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m'dom w czasie t i prawdopodobieństwa qt(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m oraz dla określania z niego elementów skalarnych macierzy prawdopodobieństwa Γ„ układ liczący iloczyn macierzy Γ, do odbioru elementów skalarnych z układu liczącego Γ, i obliczania z niego iloczynu macierzy Γ,Γ2... rL, układ liczący standardowego wektora własnego dla odbioru iloczynu macierzy rtr2... TL i obliczania standardowego wektora własnego αθ odpowiadającego największej wartości własnej Ρ{Υ/ } iloczynu macierzy, układ liczący iloczyn macierzy at do odbioru standardowego wektora własnego a0 i tworzenia kolejnego a, przez rekursję do przodu, jak następuje α, + ος-^, t = 1,..., L, pamięć do pamiętania macierzy prawdopodobieństwa Tt i wektorów at rzędu, układ liczący iloczyn macierzy β( do dostarczania wektorów kolumny przez inicjowanie PL= (1,1,1,..., 1)T i tworzenie poprzedniego β, przez rekursję do tyłu, jak następuje β, = ΓηΙ β,, t = L-l, ..., 1, układ liczący iloczyn elementu przez element dla tworzenia wektorów X,t, których elementy są całkowitymi prawdopodobieństwami λ,(ί, j), przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumn, jak następuje λ((ΐ) = α,(ϊ)β,(ΐ), wszystkie i, t = 1, ..., L, oraz układ liczący prawdopodobieństwo wartości dekodowanego bitu dla określania z λ, prawdopodobieństwa, że dany bit danych, wprowadzany do kodera w czasie = t, jest równy zero, bit danych jest m-tym z k bitów danych i dostarczania wyjścia miękkiego jako funkcji prawdopodobieństwa.
Korzystnie dekoder zawiera urządzenie decyzyjne progowe do odbioru prawdopodobieństwa, że bit danych wprowadzany do kodera w czasie = t jest równy zero i do wykonywania reguły decyzyjnej dla dostarczania z niej dekodowanych bitów wyjściowych.
Korzystnie kod kratowy z bitami końcowymi stanowi kod splotowy.
Korzystnie dekoder zawiera dekoder o ograniczonej odległości.
W innym przykładzie wykonania dekoder według wynalazku zawiera układ liczący Γ, do odbioru wyjść kanału, prawdopodobieństwa R(Y„ X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwa q,(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m oraz dla określania z niego elementów skalarnych macierzy prawdopodobieństwa Γ„ układ liczący iloczyn macierzy at do odbioru elementów skalarnych Γ, z układu liczącego Γ, i dostarczania wektorów at rzędu, układ liczący iloczyn macierzy β, do dostarczania wektorów β, kolumny, układ liczący iloczyn elementu przez element dla tworzenia wektorów λ, całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami λ,(ΐ, j), układ liczący iloczyn macierzy a„ układ liczący iloczyn macierzy β( i układ liczący iloczyn elementu przez element, tworzące wektory α„ β, i λ, odpowiednio przez /i.a/ rozpoczynanie przez początkowe oą, równe (1/M,..., 1/M), obliczanie L razy rekursja do przodu at = at., Γ„ t = 1,..., L i normalizowanie wyników tak, że elementy każdego a, sumują się do jedności, pozostawiając wszystkie wektory L a,, /i.b/, gdy a0 jest równe at z etapu /i.a/ i rozpoczynanie w czasie t = 1, obliczanie się α, = a,., Γ„ t = 1,..., Lwnrin, gdzie Lwmin jest wstępnie określoną, minimalną liczbą stopni kratowych, normalizowanie wyników tak, że elementy każdego at sumuje się do jedności, pozostawiając tylko ostatni zespół L at znalezionych przez rekursję w etapach /i.a/ i /i.b/ oraz aLw min znalezionych w etapie /i.a/, /i.c/ porównanie aLw min z etapu /i.b/ z aLw mi znalezionym w etapie /i.a/ i poprzednim względem etapu /ii/, jeżeli jest w zakresie tolerancji, inaczej kontynuowanie do etapu /i.d/, /i.d/, gdy t = t+1 i obliczanie a, = atFt, normalizowanie wyników rekursji tak, że elementy każdego a, sumują się do jedności, pozostawiając tylko ostatni zespół obliczanych L at i to at znalezione poprzednio w etapie /i.a/, /i.e/ porównywanie at z ostatnim, poprzednio obliczonym at z etapów /i.a/, /i.b/ i /i.d/ i poprzednim względem etapu /ii/, jeżeli jest w zakresie tolerancji, kontynuując w etapie /i.d/, jeżeli liczba rekursji nie przekracza wstępnie określonego maksimum,
182 511 inaczej poprzedzając etap /ii/, /ii/ inicjowanie pL = (1, 1, 1,1)T i tworzenie poprzedniego β, przez rekursję do tyłu, jak następuje β, = Γ,+1 β,, t = L-l, 1 i normalizowanie wyników rekursji tak, że elementy każdego β, sumują się do jedności, pozostawiając wszystkie wektory L βρ /iii/ tworzenie wektorów λ, całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami λ, przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumny, jak następuje Xt(i) = α,(ΐ)β1(ΐ), wszystkie i, t = 1, ..., L, pamięć do pamiętania macierzy prawdopodobieństwa i wektorów rzędu i układ liczący prawdopodobieństwo wartości dekodowanego bitu dla określenia z λ, prawdopodobieństwa, że dany bit danych wprowadzany do kodera w czasie = t jest równy zero, przy czym bit danych jest m-tym z k bitów danych, i dostarczanie wyjść miękkich jako funkcji prawdopodobieństwa.
Korzystnie dekoder zawiera urządzenie decyzyjne progowe do odbioru prawdopodobieństwa, że bit danych wprowadzany do kodera w czasie = t jest równy zero i dla wykonywania reguły decyzyjnej do dostarczania z niej dekodowanych bitów wyjściowych.
Korzystnie kod kratowy z bitami końcowymi stanowi kod splotowy.
Korzystnie dekoder zawiera dekoder o ograniczonej odległości.
Korzystnie dekoder zawiera koder do kodowania bloku bitów danych, bity danych są grupowane w k-bitowe symbole do kodowania, przy czym wstępnie określona maksymalna liczba rekursji zawiera dwa razy liczbę k-bitowych symboli wejściowych w bloku bitów danych.
W innym przykładzie wykonania dekoder według wynalazku zawiera układ liczący Γ, do odbioru wyjść kanału, prawdopodobieństwa R(Y„ X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' dom w czasie t i prawdopodobieństwa qt(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m oraz dla określania z niego elementów skalarnych macierzy prawdopodobieństwa Γ„ układ liczący iloczyn macierzy at do odbioru elementów skalarnych Γ, z układu liczącego rt i dostarczania wektorów at rzędu, układ liczący iloczyn macierzy β, do dostarczania wektorów β( kolumny, układ liczący iloczyn elementu przez element dla tworzenia wektorów λ, całkowitego prawdopodobieństwa, układ liczący iloczyn macierzy a„ układ liczący iloczyn macierzy β, i układ liczący iloczyn elementu przez element, tworzące wektory α„ β, i λ„ odpowiednio przez /i.a/ rozpoczynanie przez początkowe a0 równe (1/M, ..., 1/M), obliczanie L razy rekursja do przodu α, = αΜ Γ„ t = 1,..., L i normalizowanie wyników tak, że elementy każdego at sumują się do jedności, pozostawiając wszystkie wektory L a„ /i.b/, gdzie ojest równe aL z etapu /i.a/ i rozpoczynanie w czasie t = 1, obliczanie α, = Γρ t = 1,2 ..., Lw, gdzie głębokość nawijania Lw jest wstępnie określoną, minimalną liczbą stopni kratowych, normalizowanie wyników tak, że elementy każdego a, sumują się do jedności, zastępując at obliczone w etapie /i.a/ przez at do obliczania w etapie /i.b/ dla t = 1, 2,... Lw„ /ii.a/ inicjowanie βΕ = (1, 1, 1,..., 1)T i tworzenie poprzedniego β, przez rekursję do tyłu, jak następuje β, = rt+1 βι+ι, t = L-l,..., 1 i normalizowanie wyników rekursji tak, że elementy każdego β, sumują się do jedności, pozostawiając wszystkie wektory L β„ /ii.b/, gdy βί+] jest równe βι z etapu /ii.a/ i gdy rL+1 = rt, rozpoczynając w t = L i obliczanie β, = Ft+1 β(+1 dla t = L, (L-l), ..., L-(LW +1), gdzie głębokość nawijania Lw jest wstępnie określoną liczbą stopni kratowych, normalizowanie wyników rekursji tak, że elementy każdego β, sumują się do jedności, zastępując β( obliczane w etapie /ii.a/ przez β( obliczane w etapie/ii.b/ dla t = L, (L-l),..., L-(LW + 1), /iii/ tworzenie wektorów λ, całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami Xt(i, j) przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumny, jak następuje, λ,(i) = α/Οβ/ί), wszystkie i, t = 1,..., L, pamięć do pamiętania macierzy prawdopodobieństwa i wektorów rzędu oraz układ liczący prawdopodobieństwo wartości dekodowanego bitu dla określania z λ, prawdopodobieństwa, że dany bit danych wprowadzany do kodera w czasie = t, jest równy zero, przy czym bit danych jest mtym z k bitów danych oraz dostarczanie wyjść miękkich jako ftinkcji prawdopodobieństwa.
Korzystnie dekoder zawiera urządzenie decyzyjne progowe do odbioru prawdopodobieństwa, że bit danych wprowadzany do kodera w czasie = t jest równy zero i do wykonywania reguły decyzyjnej dla dostarczania z niej dekodowanych bitów wyjściowych.
182 511
Korzystnie kod kratowy z bitami końcowymi stanowi kod splotowy.
Korzystnie dekoder zawiera dekoder o ograniczonej odległości.
Korzystnie dekoder zawiera koder do kodowania bloku bitów danych, bity danych są grupowane w k-bitowe symbole do kodowania, przy czym wstępnie określona maksymalna liczba rekursji zawiera dwa razy liczbę k-bitowych symboli wejściowych w bloku bitów danych.
Zaletą wynalazku jest zapewnienie dokładnego, mało złożonego dekodera z wyjściami miękkimi dla kodów kratowych z bitami końcowymi. Cykliczny dekoder MAP zapewnia ocenę prawdopodobieństw stanów w pierwszym stopniu kraty, które to prawdopodobieństwa zastępują znajomość a priori stanu początkowego w konwencjonalnym dekoderze MAP. Według wynalazku cykliczny dekoder MAP zapewnia rozkład prawdopodobieństwa stanów w dowolny z dwóch sposobów. Pierwszy zapewnia rozwiązanie problemu wektora własnego, dla którego uzyskany wektor własny jest wymaganym rozkładem prawdopodobieństwa stanu początkowego, a znajomością stanu początkowego cykliczny dekoder MAP realizuje pozostałe dekodowanie zgodnie z algorytmem dekodowania MAP. Drugi jest oparty na rekursji, dla której iteracje mają zbieżność do rozkładu stanu początkowego. Po wystarczających iteracjach stan cyklicznej sekwencji stanów jest znany z dużym prawdopodobieństwem i cykliczny dekoder MAP realizuje pozostałe dekodowanie zgodnie z algorytmem dekodowania MAP.
Przedmiot wynalazku jest uwidoczniony w przykładach wykonania na rysunku, na którym fig. 1 przedstawia cykliczną kratę dla czterostanowego kodu kratowego z bitami końcowymi, mającego binarne symbole wejściowe, fig. 2 - stan kodera cyklicznego i sekwencje wyjściowe kodera dla kodu kratowego z bitami końcowymi, fig. 3 - uproszczony schemat ilustrujący przykład wykonania cyklicznego dekodera MAP według wynalazku, fig. 4 - linię czasową dla cyklicznego dekodera MAP według wynalazku, fig. 5 - linię czasową dla korzystnego przykładu wykonania cyklicznego dekodera MAP według wynalazku, fig. 6 - graficznie szybkość błędu bitu w funkcji współczynnika sygnału do szumu dla cyklicznego dekodera MAP, przy dekodowaniu kodu splotowego o szybkości = 1/2, pamięci = 6 bitów końcowych według wynalazku, fig. 7 - graficznie szybkość błędu bitu w funkcji współczynnika sygnału do szumu ze statystyką polaryzowanego źródła dla cyklicznego dekodera MAP przy dekodowaniu kodu splotowego o szybkości = 1/2, pamięci = 6 bitów końcowych według wynalazku i fig. 8 - uproszczony schemat blokowy ilustrujący korzystny przykład wykonania cyklicznego dekodera MAP według wynalazku.
Figura 1 przedstawia przykładową cylindryczną kratę dla kodera kratowego z bitami końcowymi, mającego cztery stany i binarne symbole wejściowe. Koder bitów końcowych ma cylindryczną kratę, zatem słowo kodu wytwarzane przez taki koder może być uwidaczniane jako koło symboli. Brak znajomości a priori dotyczącej początkowego stanu kodera w przypadku takich kodów kratowych z bitami końcowymi pogarsza niezawodność dekodowania przez standardowy algorytm dekodowania MAP lub BCJR dla pierwszej części odbieranej wiadomości.
Figura 2 pokazuje, że sekwencja wejściowa kodera dla kodu kratowego z bitami końcowymi tworzy kołowy wzór. Stany kodera są widziane jako umieszczone wokół okręgu. Jeżeli So jest jednym z tych stanów, koder rozpoczyna od stanu So rejestru przesuwającego w czasie t0 w procesie kodowania i po przebyciu wokół okręgu szeregu przejść stanu, kończy w tym samym stanie So. Dekoder, który pracuje z kodowaną sekwencją w okręgu w ten sposób, przy każdym stanie kodera prowadzącym do następnego wokół okręgu, jest dekoderem cyklicznym lub z bitami końcowymi.
Cykliczny dekoder MAP według wynalazku dla kodów kratowych korekcji błędów, które wykorzystują bity końcowe, wytwarza wyjścia decyzji miękkich. W przeciwieństwie do tego, w konwencjonalnym dekoderze MAP, dekoder ma dany stan początkowy czy węzeł kraty, następnie dekoduje on tor kraty kodera, który pochodzi od tego stanu. Jednak w dekoderze bitów końcowych, dekoder musi najpierw zidentyfikować stan w sekwencji stanów kodera i tylko wówczas może on rozpocząć dekodowanie. Cykliczny dekoder MAP zapewnia ocenę prawdopodobieństw stanów w pierwszym stopniu kraty, które to prawdopodobieństwa zastępują znajomość a priori stanu początkowego w konwencjonalnym dekoderze MAP.
182 511
Cykliczny dekoder MAP według wynalazku zapewnia rozkład prawdopodobieństwa stanu początkowego w dowolny z dwóch sposobów. Pierwszy zapewnia rozwiązanie problemu wektora własnego, dla którego uzyskany wektor własny jest wymaganym rozkładem prawdopodobieństwa stanu początkowego, ze znajomością stanu początkowego cykliczny dekoder MAP realizuje pozostałe dekodowanie zgodnie z konwencjonalnym algorytmem dekodowania MAP lub BCJR. Drugi jest oparty na pewnej rekursji, dla której iteracje mają zbieżność do rozkładu stanu początkowego. Po wystarczających iteracjach stan cyklicznej sekwencji stanów jest znany z dużym prawdopodobieństwem i cykliczny dekoder MAP realizuje pozostałe dekodowanie zgodnie z konwencjonalnym MAP lub BCJR.
Celem konwencjonalnego algorytmu dekodowania MAP lub BCJR jest znalezienie prawdopodobieństw warunkowych:
P{stan m w czasie t/odbiór wyjść kanału {y„ ..., yL}.
Termin L w tym wyrażeniu reprezentuje długość bloku danych w jednostkach liczby symboli kodera. Koder dla kodu (n, k) działa na k-bitowych symbolach wejściowych dla wytwarzania n-bitowych symboli wyjściowych. Termin yt jest symbolem wyjścia kanału w czasie t.
Algorytm dekodowania MAP rzeczywiście najpierw znajduje prawdopodobieństwa:
Xt(m) = P{S, = m; Y,L} (1) to jest, całkowite prawdopodobieństwo, że stan kodera w czasie t, St jest m i jest odbierany zespół wyjść kanału Y,L = {yb ..., yL}. To są wymagane prawdopodobieństwa mnożone przez stałą(P{YjL}, prawdopodobieństwo odbioru zespołu wyjść kanału {y15..., yL}).
Teraz określmy elementy macierzy Γ, przez Ft(i, j) = P{stan j w czasie t; y/stan i w czasie t-1}.
Macierz Γ, jest obliczana jako funkcja prawdopodobieństwa przejścia R(Y„ X), prawdopodobieństwa pt(m/m'), że koder dokona przejścia ze stanu m' w m w czasie t i prawdopodobieństwa q,(X/m', m), że symbolem wyjściowym kodera jest X, zakładając, że poprzedni stan kodera jest m' i obecny stan kodera jest m. W szczególności każdy element Tt jest obliczany przez zsumowanie wszystkich możliwych wyjść X kodera, jak następuje:
Y,(m’,m)= Σ pt(m/m’)qt(X/m’,m)R(Yt,X) (2)
Dekoder MAP oblicza L tych macierzy, jedną dla każdego stopnia kraty. Są one tworzone z odbieranych symboli wyjściowych kanału i własności gałęzi kraty dla danego kodu.
Następnie określmy elementy prawdopodobieństwa całkowitego M wektora at rzędu przez a,(j) = P{stan j w czasie t; y,,..., yL (3) i elementy prawdopodobieństwa warunkowego M wektora β, kolumny przez β*(ί) = P {yt+i.....yL/stan j w czasie t} (4) dlaj = 0,1,..., (M-l), gdzie jest liczbą stanów kodera. (Zauważmy, że macierze i wektory są oznaczone tutaj przy zastosowaniu czcionki typu pogrubionego.)
Etapy algorytmu dekodowania MAP są następujące:
/i/ Obliczanie a,,..., aL przez rekursję do przodu:
c^ cct_l r„ t — 1,..., L (5) /i/ Obliczanie βυ ..., β] przez rekursję do tyłu:
Pt Pt+i β^ι> t L-l,..., 1 (6)
182 511 /iii/ Obliczanie elementów λ, przez:
λ,(ί) = at(i)Pt(i), wszystkie i, t = 1,L (7) /iv/ Znajdywanie odpowiednich wielkości zgodnie z wymaganiem. Dla przykładu, niech A/ będzie zespołem stanów 8=(8/, St 2,.....,8^} tak, że j-ty element S„ S,j, jest równy zero. Dla konwencjonalnego nierekurencyjnego kodu kraty, 8/=0/,. j-ty bit danych w czasie t.
Zatem wyjście decyzji miękkiej dekodera jest p(d· = 0! Y'L) = Σ M*) i *1 J St s A3 gdzie PfYj = Σ XL(m) i m jest indeksem, który odpowiada stanowi St.
Wyjście dekodera decyzji twardej lub dekodowanego bitu jest otrzymywane przez wprowadzenie P{d,J= 01 Y( L} do następującej reguły decyzyjnej:
d] t = 0 p{d3 t = oK) <
dl = 1
To jest, jeżeli, P{d,J= 01 Yj > Ά, wówczas d,J=0; jeżeli, P{d/= 01Y^} < wówczas, d/=l, inaczej losowo przypisuje d/ wartość 0 lub 1.
Jako inny przykład odpowiedniej wielkości dla powyższego etapu /iv/, macierz prawdopodobieństw σ, zawiera elementy określone jak następuje:
a,(ij)=P{St.,=i; St=j; Υ.^ΑϋγΟβί (j)
Te prawdopodobieństwa są użyteczne, gdy jest wymagane określenie prawdopodobieństwa posteriori dla bitów wyjściowych kodera.
W standardowym zastosowaniu algorytmu dekodowania MAP, rekursja do przodu jest początkowana przez wektor α0= (1, 0,... 0) i rekursja do tyłu jest początkowana przez pL= (1, 0, ... 0)T. Te warunki początkowe są oparte na założeniu, że stan początkowy kodera So = 0 i stan końcowy SL = 0.
Według jednego przykładu wykonania wynalazku, cykliczny dekoder MAP określa rozkład prawdopodobieństwa stanu początkowego przez rozwiązanie problemu wartości własnej jak następuje. Niech α„ β„ Tt i λ, będąjak poprzednio, lecz przyjmijmy początkowe a0 i PLjak następuje:
Sprowadźmy pLdo wektora kolumny (111 ... 1)T.
Niech a0 będzie nieznaną zmienną (wektorem).
Wówczas:
/i/ Obliczanie Tt dla t = 1, 2,... L zgodnie z równaniem (2).
/ii/ Znajdywanie największej wartości własnej dla iloczynu macierzy ... TL. Normalizowanie odpowiedniego wektora własnego tak, że jego składowe dają w sumie jedność. Ten wektor jest rozwiązaniem dla a0.
Wartość własna jest P{YiL}.
/iii/ Tworzenie kolejnego at przez rekursję do przodu przedstawioną w równaniu (5).
182 511 /iv/ Rozpoczynanie od βο początkowanego jak powyżej, od β( przez rekursję do tyłu przedstawioną w równaniu (6).
/v/ Tworzenie λ, jak w (7), jak również inne wymagane zmienne, takie jak na przykład wyjście decyzji miękkiej Ρ{^=01 Y,L} lub macierz prawdopodobieństw σ, opisana powyżej.
Zmienna nieznana a0 spełnia równanie macierzy αρΓ,Γ2. . . TŁ P{Y,L}
Z faktu, że to równanie wyraża związek pomiędzy prawdopodobieństwami, wynika, że iloczyn macierzy rt na prawo ma największą wartość własną równą Ρ{Υ/} i że odpowiedni wektor własny musi być wektorem prawdopodobieństwa.
Przy początkowym β^ 111 ... 1)T, równanie (6) daje β^. Zatem powtarzanie zastosowania tej rekursji do tyłu dają wszystkie βΓ Po poznaniu i ustaleniu β( , wszystkie obliczenia w cyklicznym dekoderze MAP według wynalazku podążają za konwencjonalnym algorytmem dekodowania MAP.
Figura 3 jest uproszczonym schematem blokowym ilustrującym cykliczny dekoder MAP 10 do dekodowania kodu kraty z bitami końcowymi korekcji błędu zgodnie z opisaną powyżej metodą wektora własnego. Dekoder 10 zawiera układ liczący Γ, 12, który oblicza Γ, w fimkcji wyjścia Y, kanału. Układ liczący Γ, odbiera dane wejściowe z pamięci 30: prawdopodobieństwo R(Yt, X) przejścia kanału, prawdopodobieństwo p,(m/m'), że koder dokonuje przejścia ze stanu m' w m w czasie t i prawdopodobieństwo qt(X/m', m), że symbol wyjściowy kodera jest X, zakładając, że poprzedni stan kodera jest m' i obecny stan kodera jest m. Układ liczący Γ, oblicza każdy element Γ, przez zsumowanie wszystkich możliwych wyjść X kodera zgodnie z równaniem (2).
Obliczone wartości Γ, są dostarczane do układu liczącego 14 iloczyn macierzy dla utworzenia iloczynu macierzy Γ1Γ2... TL przy zastosowaniu macierzy jednostkowej 16, na przykład odbieranej z pamięci, przełącznika 18 i układu opóźniającego 20. W czasie t = 1, macierz jednostkowa jest dostarczana jako jedno wejście do układu liczącego iloczyn macierzy.
t-1 π η
W każdym kolejnym czasie od t = 2 do t = L, iloczyn macierzy i = i zostaje doprowadzony z powrotem przez układ opóźniający do układu liczącego iloczyn macierzy. Następnie w czasie t = L, uzyskany iloczyn macierzy jest dostarczany przez przełącznik 21 do układu liczącego 22 standardowy wektor własny, który oblicza standardowy wektor własny odpowiadający największej wartości własnej iloczynu macierzy doprowadzanej do niego. Przy a0 tak inicjowanym, tj. jako ten standardowy wektor własny, kolejne wektory a( są określane rekurencyjnie zgodnie z równaniem (5) w układzie liczącym 24 iloczyn macierzy przy zastosowaniu układu opóźniającego 26 i przełącznika 28, jak to pokazano. Właściwe wartości Ft są odzyskiwane z pamięci 30 i uzyskane at są następnie pamiętane w pamięci 30.
Wartości β, są określane w układzie liczącym 32 iloczyn macierzy, stosując przełącznik 34 i układ opóźniający 36 zgodnie z równaniem (6). Następnie są obliczane prawdopodobieństwa λ, z wartości at i β, w układzie liczącym 40 iloczyn elementu przez element zgodnie z równaniem (7). Wartości Xt są dostarczane do układu liczącego 50 prawdopodobieństwa wartości dekodowanego bitu, który określa prawdopodobieństwo, że j-ty dekodowany bit w czasie t, dt J, jest równy zero. To prawdopodobieństwo jest dostarczane do urządzenia decyzyjnego progowego 52, które wykonuje następującą regułę decyzyjną: Jeżeli prawdopodobieństwo z układu liczącego 50 jest większe niż 1/2, wówczas decyduje, że dekodowany bit jest zero; jeżeli prawdopodobieństwo jest mniejsze niż 1/2, wówczas decyduje, że dekodowany bit jest jeden; jeżeli jest równe 1/2, wówczas dekodowany bit jest losowo przypisany wartości 0 lub 1. Wyjście z urządzenia decyzyjnego progowego jest bitem wyjściowym dekodera w czasie t.
Prawdopodobieństwo, że dekodowany bit jest równy zero P{ ¢1/=0), jest pokazane także na fig. 3 jako dostarczane do bloku funkcyjnego 54 wyjścia miękkiego dla dostarczania funkcji prawdopodobieństwa, tj. f (P{d/=0}) tak, że dla przykładu
182 511 iloraz wiarogodności =
- P{d7 = 0} P{d7 = 0} jako wyjście dekodera decyzji miękkiej. Inną użyteczną funkcją P{ (1/=0} jest log ilorazu wiarogodności = }ogp _____91] p{di = oj j
Alternatywnie użyteczną funkcją dla bloku 54 może być po prostu funkcja tożsamości tak, że wyjście miękkie jest po prostu P{d/=0}.
Cykliczny dekoder MAP według innego przykładu wykonania wynalazku określa rozkłady prawdopodobieństwa stanu metodą rekursji. W szczególności w metodzie zbieżności dynamicznej, rekursja trwa nadal, aż zostanie wykryta zbieżność dekodera. W tej metodzie rekursji lub zbieżności dynamicznej etapy /ii/ i /iii/ metody wektora własnego opisanej powyżej są zastąpione jak następuje:
/ii.a/ Rozpoczynanie przy początkowym cą, równym (1/M, ..., 1/M), gdzie M jest liczbą stanów kraty, obliczanie czasów L rekursji do przodu. Normalizacja wyników tak, że elementy każdego nowego at sumują się do jedności. Ustalanie wszystkich wektorów L at.
/ii.b/ Niech a0 jest równe aL z poprzedniego etapu i rozpoczynając w t = 1, obliczanie ponownie pierwszych wektorów prawdopodobieństwa Lwmjn at.
Μ - 1
To jest, oblicza się at (m) = £ at-i (i) yt (i, m) dlam = 0,1, ...,M-1 i t= 1,2,..., Lwmin, gdzie i = υ
Lw mn jest właściwą minimalną liczbą stopni kraty. Normalizuje się jak poprzednio. Ustala się tylko ostatni zespół L a znaleziony przez rekursję w etapach /ii.a/ i /ii.b/ i a Lwmin znalezione poprzednio w etapie /ii.a/.
/ii.c/ Porównywanie a Lw z etapu /ii.b/ z poprzednio znalezionym zespołem z etapu /ii.a/. Jeżeli odpowiednie elementy M nowego i starego a Lwmin są w zakresie tolerancji, przejście do etapu /iv/ przedstawionego powyżej. Inaczej przejście do etapu /ii.d/.
/ii.d/ Niech t = t+1 i obliczamy at = at_, rt. Normalizowanie jak poprzednio. Ustalanie tylko ostatniego obliczanego zespołu L a i a, znalezionego poprzednio w etapie /ii.a/.
/ii.e/ Porównywanie nowych a( z poprzednio znalezionym zespołem. Jeżeli M nowych i starych at jest w zakresie tolerancji, przejście do etapu /iv/. Inaczej przejście do etapu /ii.d/, jeżeli dwa ostatnie wektory nie znajdują się w zakresie tolerancji i jeżeli liczba rekursji nie przekracza szczególnego maksimum, zwykle 2L, inaczej przejście do etapu /iv/.
Cykliczna linia czasowa z fig. 4 podsumowuje powyższy proces etapów /ii.a/-/ii.e/ dla obliczania at dla t = 1, 2,..., L dla cyklicznego dekodera MAP, dając ocenę wszystkich wektorów Lat. Ten sposób jest następnie kontynuowany w podanych powyżej etapach /iv/ i M względem metody wektora własnego dla wytwarzania wyjść decyzji miękkich i dekodowanych bitów wyjściowych cyklicznego dekodera MAP.
W cyklicznym dekoderze MAP a0 jest początkowane jako a0 = (1/M, ..., 1/M), jeżeli stan początkowy kodera jest nieznany. Zakłada się także, że wszystkie stany początkowe są jednakowo prawdopodobne. Jeżeli to nie jest prawdziwe, wartości początkowe a0(m) mogą być przypisane zgodnie z dowolną wiedzą a priori, uwzględniającą prawdopodobieństwa stanu początkowego. Zatem dekoder tutaj opisany jest także korzystnie stosowany do częściowych kodów kratowych z bitami końcowymi.
Wyjaśnienie działania cyklicznego dekodera MAP według wynalazku jest ułatwione przez uwzględnienie definicji at(m). Termin at(m) jest całkowitym prawdopodobieństwem, że koder jest w stanie m w czasie t i że dekoder zaobserwował sekwencję symboli {yn ..., yt}, z kanału. Zbadanie równania (5), rekurencyjnego obliczenia at, ujawnia efekt braku znajomości stanu początkowego kodera kratowego bitów końcowych. Z równania (5) widać, że brak
182 511 znajomości stanu początkowego kodera kratowego bitów końcowych będzie polaryzować at(m) w tym kierunku, żeby obliczane prawdopodobieństwo całkowite, że koder jest w stanie m w czasie t = 1 i że dekoder zaobserwował wyjście y! kanału, było większe niż jest rzeczywiście w przypadku pochodnych nieprawidłowych stanów początkowych i mniejsze niż jest rzeczywiście w przypadku pochodnych prawidłowego stanu początkowego. Podczas, gdy ta polaryzacja ma tendencję do rozprzestrzeniania się odpowiednio do rekurencyjnego obliczania at(m), ma także korzystną tendencję do zmniejszania się wraz z obserwacją większej ilości symboli wyjściowych kanału. Zatem, jeżeli długość L bloku wiadomości jest wystarczająco duża, aL(m) będzie znacznie bardziej dokładne niż a0(m), ponieważ teraz dekoder ma zaletę polegającą na obserwacji całej sekwencji symboli z kanału. aL(m) może być teraz stosowane jako a0(m) w drugiej iteracji dekodowania, jak to wskazano powyżej w etapie /ii.b/.
Korzystnie metoda rekurencyjna lub dynamicznej zbieżności według wynalazku porównuje wartości otrzymywane z każdej iteracji i kończy rekurencyjne obliczanie at, gdy jest wykrywana zbieżność. Tak więc ta technika zmniejsza liczbę wymaganych obliczeń, ponieważ często nie jest potrzebne ponowne obliczanie a, dla wszystkich stopni kraty L.
W innym przykładzie wykonania wynalazku, cykliczny dekoder MAP wykorzystujący metodę rekursji opisaną powyżej jest zmodyfikowany tak, że dekoder potrzebuje tylko przetwarzać wstępnie określoną, ustaloną liczbę stopni kraty dla drugiego czasu, to jest wstępnie określoną głębokość nawijania. To jest korzystne dla realizacji postawionych celów, ponieważ liczba obliczeń wymaganych do dekodowania jest taka sama dla każdego kodowanego bloku wiadomości. W wyniku tego jest zmniejszona złożoność sprzętu komputerowego i oprogramowania.
Głębokość nawijania opisana tutaj jest określana w kontekście dekodera o ograniczonej odległości, który jest dekoderem, który koryguje dowolną kombinację e lub mniej błędów występujących na długości obserwacji Lobspoziomów kraty. To rozciąga się także na dekodery zbudowane odpowiednio dla osiągnięcia innych kryteriów, takich jak minimalizacja prawdopodobieństwa błędu dekodera.
Jednym sposobem oceny wymaganej głębokości nawijania dla dekodowania MAP kodu splotowego z bitami końcowymi jest określanie go na podstawie doświadczeń przy pomocy sprzętu komputerowego lub oprogramowania, wymagając, żeby był zrealizowany cykliczny dekoder MAP ze zmienną głębokością nawijania i przeprowadzone doświadczenia dla pomiaru szybkości błędu dekodowanych bitów w funkcji Et/N0 dla kolejno wzrastających głębokości nawijania. Minimalna głębokość nawijania dekodera, która zapewnia minimalne prawdopodobieństwo błędu dekodowanych bitów dla szczególnego Ε/Νθ, zostaje znaleziona, gdy dalsze wzrosty głębokości nawijania nie zwiększają prawdopodobieństwa błędu.
Jeżeli jest tolerowana szybkość błędu dekodowanego bitu, która jest większa niż minimalna osiągalna przy szczególnym Et/N0, jest możliwe zmniejszenie wymaganej liczby stopni kraty, przetwarzanych przez cykliczny dekoder MAP. W szczególności opisane powyżej poszukiwanie głębokości nawijania może być prosto zakończone, gdy jest otrzymywane wymagane prawdopodobieństwo średnie błędu bitu.
Innym sposobem określania głębokości nawijania dla danego kodu jest zastosowanie własności odległości kodu. W tym celu jest konieczne określenie dwóch wyraźnych głębokości decyzji dekodera. Stosowany tutaj termin prawidłowy tor odnosi się do sekwencji stanów lub toru przechodzącego przez kratę, który wynika z kodowania bloku bitów danych. Termin nieprawidłowy podzespół węzła odnosi się do zespołu wszystkich nieprawidłowych gałęzi poza węzłem prawidłowego toru i ich pochodnych. Obie określone poniżej głębokości decyzji zależą od kodera splotowego. W celu ilustracji ten przykład wykonania wynalazku jest opisany tutaj w odniesieniu do kodera splotowego, jednak należy rozumieć, że wynalazek nie jest ograniczony do kodów splotowych.
Głębokości decyzji są określone jak następuje:
/i/ Określ głębokość decyzji do przodu dla korekcji błędu e: LF(e) jako pierwszą głębokość w kracie, przy której wszystkie tory w nieprawidłowym podzespole węzła początkowego toru prawidłowego, niezależnie od tego, czy później łączą się z prawidłowym torem czy nie, leżą dalej niż odległość Hamminga 2e od prawidłowego toru. Znaczenie LF(e) jest takie, że
182 511 jeżeli jest e lub mniej błędów do przodu węzła początkowego i wiadomo, że kodowanie musi się tam zaczynać, wówczas dekoder musi dekodować prawidłowo.
/ii/ Następnie określmy głębokość nie połączonej decyli dla korekcji błędu LU(e) jako pierwszą głębokość w kracie, przy której wszystkie tory w kracie, nigdy nie stykające się z prawidłowym torem, leżą dalej niż odległość Hamminga 2e od toru prawidłowego.
Znaczenie LU(e) dla cyklicznego dekodowania MAP decyzji miękkich polega na tym, że prawdopodobieństwo identyfikacji stanu w aktualnym torze transmisji jest duże po tym, jak dekoder przetworzy stopnie kraty LU(e). zatem minimalna głębokość nawijania dla cyklicznego dekodowania MAP jest LU(e). Obliczenia głębokości LU(e) wykazują, że jest ona zawsze większa niż LF(e), lecz stosuje to samo prawo przybliżenia. To powoduje, że minimalna głębokość nawijania może być oceniona jako głębokość LF(e) decyzji do przodu, jeżeli głębokość decyzji nie połączonej kodu nie jest znana.
Przez znalezienie minimalnej głębokości decyzji nie połączonej dla danego kodera, znajdujemy najmniejszą liczbę stopni kraty, które muszą być przetwarzane przez praktyczny dekoder cykliczny, wytwarzający wyjścia decyzji miękkich. Dla znalezienia LU(e):
/i/ Rozszerz kratę kodu od strony lewej na prawą, rozpoczynając od wszystkich węzłów kraty równocześnie, oprócz stanu zero.
/ii/ Przy każdym poziomie usuń wszystkie tory, które łączą się z prawidłowym torem wszystkie-zero, nie rozszerzaj żadnego z torów poza węzeł stanu prawidłowego zero.
/iii/ Przy poziomie k znajdźmy najmniejszą odległość Hamminga lub wagę pomiędzy torami kończącymi się w węzłach na tym poziomie.
/iv/ Jeżeli ta najmniejsza odległość przekracza 2e, zatrzymajmy się. Wówczas LU(e) = k.
Doświadczenia przy pomocy symulacji komputerowej prowadzą do dwóch nieoczekiwanych wyników: (i) nawijane przetwarzanie β, poprawia wydajność dekodera i (2) zastosowanie głębokości nawijania LU(e) + LF(e) = 2LF(e) poprawia znacznie wydajność. Te nieoczekiwane wyniki przyspieszyły modyfikacje cyklicznego dekodera MAP dla kodów kratowych bitów końcowych w oparciu o rekursję. Zatem korzystne wykonanie algorytmu cyklicznego dekodera MAP w oparciu o rekursję zawiera następujące etapy:
/i/ Obliczanie Γ, dla t = 1, 2,... L zgodnie z równaniem (2).
/ii/ Rozpoczynanie przy początkowym a0 równym (1/M, ..., 1/M), gdzie M jest liczbą stanów w kracie, obliczanie rekursji do przodu z równania (5) (L + Lw) razy dla u = 1,2,..... (L + Lw), gdzie Lw jest głębokością nawijania dekodera. Indeks t poziomu kraty przyjmuje wartości ((u-1) mod L) + 1. Wówczas, gdy dekoder nawija się wokół odbieranej sekwencji symboli z kanału, aL jest traktowane jako a0. Normalizuje się wyniki tak, że elementy każdego nowego a, sumują się do jedności. Pozostawia się L ostatnich wektorów a znalezionych przez rekursję.
/iii/ Rozpoczynanie przy początkowym pL równym (1,..., 1)T, obliczanie rekursji do tyłu z równania (6) (L + Lw) razy dla u = 1, 2,... (L + Lw). Indeks t poziomu kraty przyjmuje wartości L-(u mod L). Wówczas dekoder nawija się wokół odbieranej sekwencji, β, jest stosowane jako βί+ι i Γ, jest stosowane jako rL+,, przy obliczaniu nowego βΕ. Normalizuje się wyniki tak, że elementy każdego nowego at(m) sumują się do jedności. Ponownie ustala się L dla ostatnich wektorów β znalezionych przez tę rekursję.
Następny etap tej zalecanej metody rekursji jest taki sam, jak etap NI przedstawiony powyżej w odniesieniu do metody wektora własnego dla wytwarzania decyzji miękkich i wyjścia dekodowanych bitów przez cykliczny dekoder MAP.
Cykliczna „linia czasowa” z fig. 5 podsumowuje proces obliczania at i β( dla u = 1, 2, ..., (L + Lw) dla cyklicznego dekodera MAP według tej korzystnej metody rekursji.
Skuteczność tego korzystnego przykładu wykonania cyklicznego dekodera MAP została przebadana dla decyzji miękkich, addytywnego kanału białego szumu Gaussa AWGN przez symulację komputera, zakładając binarne, diametralnie przeciwne sygnalizowanie, na przykład binarne kluczowanie z przesunięciem fazowym. Symulacje były przeprowadzane przy zastosowaniu najlepiej znanego kodu splotowego o szybkości = 1/2, pamięci = 6. Jest on najlepszy w sensie posiadania największej swobodnej odległości. Wszystkie wyniki symulacji tutaj przedstawione były wytwarzane przez dekoder, który wykorzystywał głębokość nawija
182 511 nia równą podwójnej głębokości decyzji do przodu kodu 40 stopni kraty. Również krótkie bloki wiadomości, zawierające 48 bitów, były wykorzystywane przy symulacjach.
Figura 6 jest wynikowym wykresem średniego prawdopodobieństwa błędu dekodowanego bitu w funkcji Ε,/Νο. Bity źródła mają równe prawdopodobieństwo być 0 lub 1. Jednak, gdy ta symulacja była powtarzana ze statystyką polaryzowanego źródła, która była znana a priori przez dekoder, średnie prawdopodobieństwo cyklicznego dekodera MAP błędu bitu przy danym Ę/Noznacznie zmniejszyło się.
Figura 7 porównuje wykresy szybkości błędu bitu w funkcji Ę/Nodla trzech następujących przypadków: równanie prawdopodobne bity źródeł, P{bit źródła jest 1} = 0,67 i P{bit źródła jest 1} = 0,91. W drugim przypadku P{bit źródła jest 1} = 2P{bit źródła jest 0}, podczas gdy w trzecim przypadku P {bit źródła jest 1} = 10P {bit źródła jest 0}.
Figura 8 jest uproszczonym schematem blokowym ilustrującym cykliczny dekoder MAP 80 według korzystnego przykładu wykonania wynalazku. Dekoder 80 zawiera układ liczący Γ, 82, który oblicza Tt jako funkcję wyjścia kanału yt. Wyjścia kanału yb ..., yL są dostarczane do układu liczącego Γ, przez przełącznik 84. Przy przełączniku w położeniu dolnym, symbole wyjścia kanału L są wprowadzane do układu liczącego Tt 82 i rejestru przesuwającego 86 raz w danym czasie. Następnie przełącznik 84 jest przesuwany do położenia górnego w celu umożliwienia rejestrowi przesuwającemu przesunięcia pierwszych odbieranych symboli Lw ponownie do układu liczącego Γ„ to jest dla zapewniania przetwarzania cyklicznego. Układ liczący Γ, odbiera jako wejścia z pamięci 96 prawdopodobieństwo R(Yt, X) przejścia kanału, prawdopodobieństwo p,(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwo qt(X7m', m), że symbol wyjściowy kodera jest X, zakładając, że poprzedni stan kodera jest m' i obecny stan kodera jest m. Układ liczący Γ, oblicza każdy element Γ, przez zsumowanie wszystkich możliwych wyjść X kodera zgodnie z równaniem (2).
Obliczane wartości Tt są dostarczane do układu liczącego 90 iloczyn macierzy, który mnoży macierz Γ, przez macierz αΜ , która jest dostarczana rekurencyjnie przez układ opóźniający 92 i demultiplekser 94. Sygnał sterujący CNTRL1 powoduje, że demultiplekser 94 wybiera a,, z pamięci 96 jako jedno wejście dla układu liczącego 90 iloczyn macierzy, gdy t = 1. Wówczas, gdy 2 < t < L, sygnał sterujący CNTRL1 powoduje, że demultiplekser 94 wybiera aM z układu opóźniającego 92 jako jedno wejście do układu liczącego 90 iloczyn macierzy. Wartości Ft i a( są pamiętane w pamięci 96 zgodnie z wymaganiem.
Wektory β, są obliczane rekurencyjnie w układzie liczącym 100 iloczyn macierzy poprzez układ opóźniający 102 i demultiplekser 104. Sygnał sterujący CNTRL2 powoduje, że demultiplekser 104 wybiera βΕ z pamięci 96 jako jedno wejście do układu liczącego 100 iloczyn macierzy, gdy t = L-l. Wówczas, gdy L-2 > t > 1, sygnał sterujący CNTRL2 powoduje, że demultiplekser 104 wybiera βΗ1 z układu opóźniającego 102 jako jedno wejście do układu liczącego 100 iloczyn macierzy. Uzyskane wartości β, są mnożone przez wartości a( w układzie liczącym 106 iloczyn elementu przez element dla dostarczania prawdopodobieństw λ„ jako to opisano powyżej. W ten sam sposób, jak to opisano powyżej w odniesieniu do fig. 3, wartości są dostarczane do układu liczącego 50 prawdopodobieństwo wartości dekodowanych bitów, którego wyjście jest doprowadzone do urządzenia decyzyjnego progowego 52, wywołując dekodowane bity wyjściowe dekodera.
Prawdopodobieństwo warunkowe, że dekodowany bit jest równy zero, (P{dt J=01 YtJ}) jest także pokazane na fig. 8 jako dostarczane do bloku funkcyjnego 54 wyjścia miękkiego dla dostarczania funkcji prawdopodobieństwa, tj. f (P{d,J=O | YtJ}) tak, że dla przykładu •1 · a - 1 - P{d? = 01 γή iloraz wiarogodnosci = ------—!—lź
P{dJ = 0| Y,.3} jako wyjście decyzji miękkiej dekodera. Inną użyteczną funkcją P{dt j=01 Yt j} jest
1-1 · A , J - P{d; = 0| ΥΊ log ilorazu wiarogodnosci = logi------—
P{d: = 0}
182 511
Alternatywnie użyteczną funkcją dla bloku 54 może być po prostu funkcja tożsamości tak, że wyjście miękkie jest po prostu P{d,J=01 Yt j}.
Kilka praktycznych sposobów kodowania zależy krytycznie od informacji wyjścia miękkiego dekodera MAP, na przykład sposobów szeregowego kodowania połączonego. W jednym takim sposobie, w którym zewnętrzny dekoder stosuje dekodowanie błędów i kaso wań, wyjście decyzji miękkiej wewnętrznego dekodera MAP może być przetwarzane jako wskaźnik niezawodności dekodowania przez urządzenie decyzji trójskładnikowej, które może przypisać wartość 0 lub 1 dekodowanemu bitowi lub stwierdzić skasowanie. Poza tym wyjście miękkie dekodera może być często stosowane z korzyścią przez następny procesor, taki jak dekoder mowy lub obrazu. Dla przykładu, syntezator mowy wokodera może stosować wyjścia decyzji miękkich do identyfikacji prawdopodobnych błędów transmisji w odbieranej ramce mowy w celu realizacji metod ukrywania Wędo w dla poprawy jakości mowy w urządzeniu pracującym w kanałach o dużym szumie.
Dotychczas dekodowanie MAP nie było możliwe z kodami z bitami końcowymi. Znaczenie bitów końcowych polega na tym, że odejmuje się końcową korekcję Wędu od krótkich słów kodu, dla których jest trudno uzyskać duże wzmocnienia kodowania. Krótkie słowa kodu zwykle pojawiają się w systemach danych pakietu i systemach transmisji głosu przy kodowaniu mocy o małej szybkości.
Wynalazek znajduje zastosowanie w kanałach z zanikiem sygnału lub małym współczynnikiem mocy sygnału do szumu, które są wspólnymi własnościami w systemach komunikacji satelitarnej VSAT z terminalem o bardzo małej aperturze i bezkablowych systemach komunikacji radiowej.
182 511
Fig. 2
182 511
Pt(m|m') c
182 511
182 Sil
Niech (3L+1(m)=fy (m) Zastąp (m) otrzymane przy 1-szym przejściu przez (łj(m) obliczone przy 2-gim przejściu
Rozpoczęcie obliczania
Niech <yo(m) = c/|_(m)
Zastąp cćj (m) otrzymane przy
Ί-szym przejściu przez cZj (m) obliczone przy 2-gim przejściu
Rozpoczęcie obliczania o(
Zwiększenie wskaźnika poziomu kratowego / / i /
Start
Map
Głębokość
LU (e + Lr (e nawijania
Okrąg=L poziomów kratowych
Fig. 5
182 511
Średnie prawdopodobieństwo błędu bitu
182 511 średnie prawdopodobieństwo błędu bitu
------------Granica sumy _____
P(bit źrodta=1) = O,67
10'1
10-2
10'3
10-4
10'5 ιυ 1 1,5 2 2,5 3 3,5 4
Eb/Now dB
Fig. 7
P(bit źrddła = 1)=0,91
182 511
182 511
Departament Wydawnictw UP RP. Nakład 60 egz.
Cena 4,00 zł.

Claims (25)

  1. Zastrzeżenia patentowe
    1. Sposób dekodowania kodu kratowego z bitami końcowymi, wytwarzanego przez koder, w którym określa się całkowite prawdopodobieństwo, że stan kodera w czasie t, Sjest m i że jest odbierana sekwencja L wyjść kanału mających wartości Y( L = {yn ..., yL},jak reprezentowana przez X(m) = P{St = m; Y^}, przy czym stosuje się kod kratowy z M stanami kodera, a podczas tego sposobu określa się L macierzy prawdopodobieństwa Γ„ jedną przy każdym z L poziomów kratowych, przy czym elementy macierzy prawdopodobieństwa określa się przez rt(i, j) = P{stan j w czasie t; y/stan i w czasie t-1} i określa się wektory oą rzędu mające M elementów całkowitego prawdopodobieństwa, określone przez at(j) = P{stan J w czasie t; y„ yj oraz określa się wektory β, kolumny mające M elementów prawdopodobieństwa warunkowego, określone przez β/j) = Pty^, —, yL/stan j w czasie t} dla j = 0,1,..., (M-l), znamienny tym, że określa się elementy skalarne macierzy prawdopodobieństwa Ft z wyjść kanału, prawdopodobieństwa R(Yt, X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwa qt(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m, oblicza się iloczyn macierzy Γ]Γ2... rL z elementów skalarnych rt, oblicza się standardowy wektor własny eto, odpowiadający największej wartości własnej P{YiL } iloczynu macierzy Γ]Γ2... rL, tworzy się kolejne at przez rekursję do przodu, jak następuje α, + α,^Γρ t = 1,..., L, dostarcza się wektory kolumny przez inicjowanie pL= (1,1,1,..., 1)T i tworzy się poprzednie β, przez rekursję do tyłu, jak następuje β, = Ft+1 βι+Ι, t = L-l,..., 1, tworzy się wektory λ, całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami Zt(i, j), przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumn, jak następuje Xt(i) = α/Οβ/ϊ), wszystkie i, t = 1,L, oraz określa się z λ, prawdopodobieństwa, że dany bit danych wprowadzany do kodera w czasie = t jest równy zero, bit danych jest m-tym z k bitów danych oraz dostarcza się wyjście miękkie jako funkcję prawdopodobieństwa.
  2. 2. Sposób według zastrz. 1, znamienny tym, że wykonuje się regułę decyzyjną dla dostarczania dekodowanych bitów wyjściowych z prawdopodobieństwa, że bit danych wprowadzanych do kodera w czasie = t jest równy zero.
  3. 3. Sposób według zastrz. 1, znamienny tym, że jako kod kratowy z bitami końcowymi stosuje się kod splotowy.
  4. 4. Sposób dekodowania kodu kratowego z bitami końcowymi, wytwarzanego przez koder, w którym określa się całkowite prawdopodobieństwo, że stan kodera w czasie t, Sjest m i że jest odbierana sekwencja L wyjść kanału, mających wartości Y]L = {y^ ..., yL}, jak reprezentowana przez Xt(m) = P{St = m; Y,L}, przy czym stosuje się kod kratowy z M stanami kodera, a podczas tego sposobu określa się L macierzy prawdopodobieństwa rt, jedną przy każdym z L poziomów kratowych, przy czym elementy macierzy prawdopodobieństwa są określone przez Tt (i, j) = P{stan j w czasie t; y/stan i w czasie t-1} oraz określa się wektory at rzędu mające M elementów całkowitego prawdopodobieństwa, określone przez at(j) = P{stan j w czasie t; {y^ ..., yt} i określa się wektory β, kolumny, mające M elementów prawdopodobieństwa warunkowego, określonych przez β,(ΐ) = Pty^,..., yL/stan j w czasie t} dla j =0, 1,..., (M-l), znamienny tym, że określa się elementy skalarne macierzy prawdopodobieństwa rt z wyjść kanału, prawdopodobieństwa R(Y„ X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwa qt(X/m', m),
    182 511 że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m, tworzy się wektory at, β, i λ, przez to, że /i.a/ rozpoczyna się przez początkowe a0 równe (1/M,..., 1/M), oblicza się L razy rekursja do przodu at - αΗ Γ„ t = 1,..., L i normalizuje się wyniki tak, że elementy każdego at sumują się do jedności, pozostawiając wszystkie wektory L at, /i.b/, gdy aojest równe at z etapu /i.a/ i rozpoczyna się w czasie t = 1, oblicza się at = at_, Γ„ t = 1,..., Lwinin gdzie Lwmin jest wstępnie określoną, minimalną liczbą stopni kratowych, normalizuje się wyniki tak, że elementy każdego at sumuje się do jedności, pozostawiając tylko ostatni zespół L at znalezionych przez rekursję w etapach /i.a/ i /i.b/ oraz aLwmin znalezionych w etapie /i.a/, /i.c/ porównuje się aLwniin z etapu /i.b/ z aLw znalezionym w etapie /i.a/ i poprzednim względem etapu /ii/, jeżeli jest w zakresie tolerancji, inaczej kontynuuje się do etapu /i.d/, przy czym /i.d/, gdy t = t+1 i oblicza się at = αΗ Γ„ normalizuje się wyniki rekursji tak, że elementy każdego a( sumuje się do jedności, pozostawiając tylko ostatni zespół obliczanych L at i to at znalezione poprzednio w etapie /i.a/, /i.e/ porównuje się at z ostatnim, poprzednio obliczonym at z etapów /i.a/, /i.b/ i /i.d/ i poprzednim względem etapu /ii/, jeżeli jest w zakresie tolerancji, kontynuując w etapie /i.d/, jeżeli dwa ostatnie wektory nie zgadzają się z zakresem tolerancji i jeżeli liczba rekursji nie przekracza wstępnie określonego maksimum, inaczej poprzedzając etap /ii/, /ii/ inicjuje się PL = (1,1,1, ..., 1)T i tworzy się poprzednie β, przez rekursję do tyłu, jak następuje β, = βΗ1, t = L-l, ..., 1 i normalizuje się wyniki rekursji tak, że elementy każdego β, sumuje się do jedności, pozostawiając wszystkie wektory L β„ /iii/ tworzy się wektory λ( całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami Xt(i, j) przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumny, jak następuje Xt(i) = α,(ΐ)β,(ΐ), wszystkie i, t = 1,..., L, określa się z λ, prawdopodobieństwa, że dany bit danych wprowadzany do kodera w czasie = t jest równy zero, przy czym bit danych jest m-tym z k bitów danych i dostarcza się wyjścia miękkie jako funkcje prawdopodobieństwa.
  5. 5. Sposób według zastrz. 4, znamienny tym, że wykonuje się regułę decyzyjną dla dostarczania dekodowanych bitów wyjściowych z prawdopodobieństwa, że bit danych wprowadzanych do kodera w czasie = t jest równy zero.
  6. 6. Sposób według zastrz. 4, znamienny tym, że jako kod kratowy z bitami końcowymi stosuje się kod splotowy.
  7. 7. Sposób według zastrz. 4, znamienny tym, że koduje blok bitów danych za pomocą kodera, bity danych grupuje się w k-bitowe symbole do kodowania, przy czym wstępnie określona maksymalna liczba rekursji zawiera dwa razy liczbę k-bitowych symboli wejściowych w bloku bitów danych.
  8. 8. Sposób dekodowania kodu kratowego z bitami końcowymi, wytwarzanego przez koder, w którym określa się całkowite prawdopodobieństwo, że stan kodera w czasie t, St jest m i że jest odbierana sekwencja L wyjść kanału, mających wartości = {yb ..., yL}, jak reprezentowana przez X(m) = P{St = m; Y^}, przy czym stosuje się kod kratowy z M stanami kodera, a podczas tego sposobu określa się L macierzy prawdopodobieństwa Γ„ jedną przy każdym z L poziomów kratowych, przy czym elementy macierzy prawdopodobieństwa określa się przez rt(i, j) = P{stan j w czasie t; y/stan i w czasie t-1} oraz określa się wektory a, rzędu mające M elementów całkowitego prawdopodobieństwa, określone przez at(j) = P{stan j w czasie t; y„ ..., yt} oraz określa się wektory β, kolumny mające M elementów prawdopodobieństwa warunkowego, określone przez β4ϋ) = P{yt+i> —> yi_/stan j w czasie t} dla j = 0, 1,..., (M-l), znamienny tym, że określa się elementy skalarne macierzy prawdopodobieństwa Γ, z wyjść kanału, prawdopodobieństwa R(Yt, X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwa qt(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m, tworzy się wektory α,, β, i λρ przez to, że /i.a/ rozpoczyna się przez początkowe a0 równe (1/M, ..., 1/M), oblicza się L razy rekursja do przodu at = at., Γ,, t = 1,
    182 511
    L i normalizuje się wyniki tak, że elementy każdego at sumują się do jedności, pozostawiając wszystkie wektory L at, /i.b/, gdy aojest równe aL z etapu /i.a/ i rozpoczyna się w czasie t = 1, oblicza się at = at_, Γ„ t = 1,..., Lw, gdzie głębokość nawijania Lw jest wstępnie określoną, minimalną liczbą stopni kratowych, normalizuje się wyniki tak, że elementy każdego a, sumuje się do jedności, zastępując at obliczone w etapie /i.a/ przez at obliczane w etapie /i.b/ dla t = 1, 2,..., Lw, /ii.a/ inicjuje się βΕ= (1, 1, 1,..., ljT i tworzy się poprzednie β, przez rekursję do tyłu, jak następuje β, = βΙ+Ι, t = L-l, ..., 1 i normalizuje się wyniki rekursji tak, że elementy każdego β, sumuje się do jedności, pozostawiając wszystkie wektory L β„ /ii.b/, gdy βΕ+1 jest równe β] z etapu /ii.a/ i gdy FL+1 = Γ„ rozpoczynając w t = L, i oblicza się β, = rt+1 β,+1 dla t = L, (L-l), ..., L-(LW + 1), gdzie głębokość nawijania Lw jest wstępnie określoną liczbą stopni kratowych, normalizuje się wyniki rekursji tak, że elementy każdego β, sumuje się do jedności, zastępując β, obliczane w etapie /ii.a/ przez β, obliczane w etapie /ii.b/ dla t = L, (L-l), ..., L-(LW + 1), /iii/ tworzy się wektory λ,całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami Xt(i, j), przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumny, jak następuje λ,(ΐ) = α,(ϊ)β,(ϊ), wszystkie i, t = 1,..., L, określa się z λ, prawdopodobieństwa, że dany bit danych wprowadzany do kodera w czasie = t jest równy zero, przy czym bit danych jest m-tym z k bitów danych, i dostarcza się wyjścia miękkie jako funkcje prawdopodobieństwa.
  9. 9. Sposób według zastrz. 8, znamienny tym, że wykonuje się regułę decyzyjną dla dostarczania dekodowanych bitów wyjściowych z prawdopodobieństwa, że bit danych wprowadzanych do kodera w czasie = t jest równy zero.
  10. 10. Sposób według zastrz. 8, znamienny tym, że jako kod kratowy z bitami końcowymi stosuje się kod splotowy.
  11. 11. Sposób według zastrz. 8, znamienny tym, że koduje się blok bitów danych za pomocą kodera, bity danych grupuje się w k-bitowe symbole do kodowania, przy czym wstępnie określona maksymalna liczba rekursji zawiera dwa razy liczbę k-bitowych symboli wejściowych w bloku bitów danych.
  12. 12. Dekoder kodu kratowego z bitami końcowymi, wytwarzanego przez koder do dekodowania przez określanie całkowitego prawdopodobieństwa, że stan kodera w czasie t, St jest m i że jest odbierana sekwencja L wyjść kanału mających wartości Y,L = {y,,..., yL}, jak reprezentowana przez X(m) = P{St = m; Y,L}, przy czym kod kratowy ma M stanów kodera, a dekoder określa L macierzy prawdopodobieństwa Γ,, jedną przy każdym z L poziomów kratowych, przy czym elementy macierzy prawdopodobieństwa są określone przez Ft(i, j) = P{stan j w czasie t; y/stan i w czasie t-1}, przez określenie wektorów at rzędu mających M elementów całkowitego prawdopodobieństwa, określonych przez at(j) = P{stan j w czasie t; y„ ..., yt} i przez określenie wektorów β, kolumny mających M elementów prawdopodobieństwa warunkowego, określonych przez ββ) = P{yt+1, ..., yL/stan j w czasie t} dla j = 0, 1, ..., (M-l), znamienny tym, że zawiera układ liczący Γ, do odbioru wyjść kanału, prawdopodobieństwa R(Yt, X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwa q,(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m oraz dla określania z niego elementów skalarnych macierzy prawdopodobieństwa Γ„ układ liczący iloczyn macierzy Γ, do odbioru elementów skalarnych z układu liczącego Γ, i obliczania z niego iloczynu macierzy Γ,Γ2... rL, układ liczący standardowego wektora własnego dla odbioru iloczynu macierzy Γ,Γ2... rL i obliczania standardowego wektora własnego a0 odpowiadającego największej wartości własnej P{Y,L } iloczynu macierzy, układ liczący iloczyn macierzy at do odbioru standardowego wektora własnego a0 i tworzenia kolejnego at przez rekursję do przodu, jak następuje at = α,., Γ,, t = 1.....L, pamięć do pamiętania macierzy prawdopodobieństwa Γ, i wektorów at rzędu, układ liczący iloczyn macierzy β, do dostarczania wektorów kolumny przez inicjowanie β,= (1, 1,1,..., 1)T i tworzenie poprzedniego β, przez rekursję do tyłu, jak następuje β, = rt+1 Pt+i > 1 L-l,..., 1, układ liczący iloczyn elementu przez element dla tworzenia wektorów λ„ których elementy są całkowitymi prawdopodobieństwami Xt(i, j), przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumn, jak następuje λ,(ΐ) = α,(ΐ)β;(ΐ), wszystkie i, t = 1, ..., L, oraz układ liczący prawdopodobieństwo
    182 511 wartości dekodowanego bitu dla określania z Xt prawdopodobieństwa, że dany bit danych, wprowadzany do kodera w czasie = t, jest równy zero, bit danych jest m-tym z k bitów danych i dostarczania wyjścia miękkiego jako funkcji prawdopodobieństwa.
  13. 13. Dekoder według zastrz. 12, znamienny tym, że zawiera urządzenie decyzyjne progowe do odbioru prawdopodobieństwa, że bit danych wprowadzany do kodera w czasie = t jest równy zero i do wykonywania reguły decyzyjnej dla dostarczania z niej dekodowanych bitów wyjściowych.
  14. 14. Dekoder według zastrz. 12, znamienny tym, że kod kratowy z bitami końcowymi stanowi kod splotowy.
  15. 15. Dekoder według zastrz. 12, znamienny tym, że zawiera dekoder o ograniczonej odległości.
  16. 16. Dekoder kodu kratowego z bitami końcowymi, wytwarzanego przez koder do dekodowania przez określanie całkowitego prawdopodobieństwa, że stan kodera w czasie t, Sjest m i że jest odbierana sekwencja L wyjść kanału, mających wartości = {yo ..., yL}, jak reprezentowana przez Xt(m) = P{St = m; Y^}, przy czym kod kratowy ma M stanów kodera, a dekoder określa L macierzy prawdopodobieństwa rt, jedną przy każdym z L poziomów kratowych, przy czym elementy macierzy prawdopodobieństwa są określone przez rt (i, j) = P{stan j w czasie t; y/stan i w czasie t-1}, przez określenie wektorów at rzędu mających M elementów całkowitego prawdopodobieństwa, określone przez at(j) = P{stan j w czasie t; {Υυ —, Yt) i przez określenie wektorów β, kolumny, mających M elementów prawdopodobieństwa warunkowego, określonych przez β,Ο = P{yt+I, ···, yL/stan j w czasie t} dla j = 0, 1, ..., (M-l), znamienny tym, że zawiera układ liczący rt do odbioru wyjść kanału, prawdopodobieństwa R(Y„ X) przejścia kanału, prawdopodobieństwa p,(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwa q,(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m oraz dla określania z niego elementów skalarnych macierzy prawdopodobieństwa Γ„ układ liczący iloczyn macierzy at do odbioru elementów skalarnych Γ, z układu liczącego Γ, i dostarczania wektorów at rzędu, układ liczący iloczyn macierzy β, do dostarczania wektorów β, kolumny, układ liczący iloczyn elementu przez element dla tworzenia wektorów λ, całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami Kt(i, j), układ liczący iloczyn macierzy a„ układ liczący iloczyn macierzy β( i układ liczący iloczyn elementu przez element, tworzące wektory α„ β, i λ, odpowiednio przez /i.a/ rozpoczynanie przez początkowe a0równe (1/M,IZM), obliczanie L razy rekursja do przodu at = αμ Γ„ t = 1,..., L i normalizowanie wyników tak, że elementy każdego a, sumują się do jedności, pozostawiając wszystkie wektory L a„ /i.b/, gdy Oojest równe at z etapu /i.a/ i rozpoczynanie w czasie t = 1, obliczanie at = αΜ Γ„ t = 1,Lwmin gdzie Lwmin jest wstępnie określoną minimalną liczbą stopni kratowych, normalizowanie wyników tak, że elementy każdego at sumują się do jedności, pozostawiając tylko ostatni zespół L at znalezionych przez rekursję w etapach /i.a/ i /i.b/ oraz aLw min znalezionych w etapie /i.a/, /i.c/ porównanie aLw min z etapu /i.b/ z aLw jn znalezionym w etapie /i.a/ i poprzednim względem etapu /ii/, jeżeli jest w zakresie tolerancji, inaczej kontynuowanie do etapu /i.d/, /i.d/, gdy t = t+1 i obliczanie at = α,Γ„ normalizowanie wyników rekursji tak, że elementy każdego a, sumują się do jedności, pozostawiając tylko ostatni zespół obliczanych L at i to at znalezione poprzednio w etapie /i.a/, /i.e/ porównywanie at z ostatnim, poprzednio obliczonym at z etapów /i.a/, /i.b/ i /i.d/ i poprzednim względem etapu /ii/, jeżeli jest w zakresie tolerancji, kontynuując w etapie /i.d/, jeżeli liczba rekursji nie przekracza wstępnie określonego maksimum, inaczej poprzedzając etap /ii/, /ii/ inicjowanie PL = (1, 1, 1,..., 1)T i tworzenie poprzedniego β, przez rekursję do tyłu, jak następuje β( = rt+) β1+1, t = L-l,..., 1 i normalizowanie wyników rekursji tak, że elementy każdego β, sumuje się do jedności, pozostawiając wszystkie wektory L βρ /iii/ tworzenie wektorów λ, całkowitego prawdopodobieństwa, któiych elementy są całkowitymi prawdopodobieństwami λ, przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumny, jak następuje λ,(ϊ) = α,(ϊ)β,(ΐ), wszystkie i, t = 1, ..., L, pamięć do pamiętania macierzy prawdopodobieństwa i wektorów rzędu i układ liczący prawdopodobieństwo wartości dekodowanego bitu dla określania z λ, prawdopodobieństwa, że dany bit danych, wprowadzany do kodera
    182 511 w czasie = t, jest równy zero, przy czym bit danych jest m-tym z k bitów danych, i dostarczanie wyjść miękkich jako funkcji prawdopodobieństwa.
  17. 17. Dekoder według zastrz. 16, znamienny tym, że zawiera urządzenie decyzyjne progowe do odbioru prawdopodobieństwa, że bit danych wprowadzany do kodera w czasie = t jest równy zero i dla wykonania reguły decyzyjnej do dostarczania z niej dekodowanych bitów wyjściowych.
  18. 18. Dekoder według zastrz. 16, znamienny tym, że kod kratowy z bitami końcowymi stanowi kod splotowy.
  19. 19. Dekoder według zastrz. 16, znamienny tym, że zawiera dekoder o ograniczonej odległości.
  20. 20. Dekoder według zastrz. 16, znamienny tym, że zawiera koder do kodowania bloku bitów danych, bity danych są grupowane w k-bitowe symbole do kodowania, przy czym wstępnie określona maksymalna liczba rekursji zawiera dwa razy liczbę k-bitowych symboli wejściowych w bloku bitów danych.
  21. 21. Dekoder kodu kratowego z bitami końcowymi, wytwarzanego przez koder do dekodowania przez określanie całkowitego prawdopodobieństwa, że stan kodera w czasie t, Sjest m i że jest odbierana sekwencja L wyjść kanału mających wartości Yj = {y15 ..., yL}, jak reprezentowana przez X(m) = P{St = m; Yj}, przy czym kod kratowy ma M stanów kodera, a dekoder określa L macierzy prawdopodobieństwa Γ„ jedną przy każdym z L poziomów kratowych, przy czym elementy macierzy prawdopodobieństwa są określone przez Γ,(ϊ, j) = P{stan j w czasie t; y/stan i w czasie t-1}, przez określenie wektorów at rzędu mających M elementów całkowitego prawdopodobieństwa, określonych przez at(j) = P{stan j w czasie t; yp ..., yt} i przez określenie wektorów β, kolumny mających M elementów prawdopodobieństwa warunkowego, określonych przez ββ) = P{yt+1, ..., yL/stan j w czasie t} dla j = 0, 1, ..., (M-l), znamienny tym, że zawiera układ liczący rt do odbioru wyjść kanału, prawdopodobieństwa R(Yt, X) przejścia kanału, prawdopodobieństwa pt(m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwa qt(X/m', m), że jako symbol wyjścia kodera jest dane X, że poprzedni stan kodera jest m' i obecny stan kodera jest m oraz dla określania z niego elementów skalarnych macierzy prawdopodobieństwa Γ„ układ liczący iloczyn macierzy at do odbioru elementów skalarnych Γ, z układu liczącego Γ, i dostarczania wektorów at rzędu, układ liczący iloczyn macierzy β, do dostarczania wektorów β, kolumny, układ liczący iloczyn elementu przez element dla tworzenia wektorów λ, całkowitego prawdopodobieństwa, układ liczący iloczyn macierzy a„ układ liczący iloczyn macierzy β, i układ liczący iloczyn elementu przez element, tworzące wektory αρ β, i Xt odpowiednio przez /i.a/ rozpoczynanie przez początkowe Og równe (1/M,..., 1/M), obliczanie L razy rekursja do przodu at = αΜ Γ„ t = 1,..., L i normalizowanie wyników tak, że elementy każdego at sumują się do jedności, pozostawiając wszystkie wektory L a„ /i.b/, gdzie aojest równe aL z etapu /i.a/ i rozpoczynanie w czasie t = 1, obliczanie α, = αΜ Γ„ t = 1, 2 ..., Lw, gdzie głębokość nawijania Lw jest wstępnie określoną, minimalną liczbą stopni kratowych, normalizowanie wyników tak, że elementy każdego at sumują się do jedności, zastępując at obliczone w etapie /i.a/ przez at obliczone w etapie /i.b/ dla t = 1,2,... Lw, /ii.a/ inicjowanie ^L= (1,1,1,..., 1 )T i tworzenie poprzedniego β, przez rekursję do tyki, jak następuje β, = Ft+1 β,+1, t = L-l,..., 1 i normalizowanie wyników rekursji tak, że elementy każdego β, sumują się do jedności, pozostawiając wszystkie wektory L β„ /ii.b/, gdy βί+) jest równe β( z etapu /ii.a/ i gdy Ι\+1 = Γρ rozpoczynając w t = L i obliczanie β, = Tt+I βΗ1 dla t = L, (L-l), ..., L-(LW + 1), gdzie głębokość nawijania Lw jest wstępnie określoną liczbą stopni kratowych, normalizowanie wyników rekursji tak, że elementy każdego β, sumuje się do jedności, zastępując β, obliczane w etapie /ii.a/ przez β, obliczane w etapie /ii.b/ dla t = L, (L-l),..., L-(LW + 1), /iii/ tworzenie wektorów λ, całkowitego prawdopodobieństwa, których elementy są całkowitymi prawdopodobieństwami λ/ΐ, j), przez mnożenie elementów wektorów rzędu przez elementy wektorów kolumny, jak następuje Xt(i) = α,(ί)β,(ΐ), wszystkie i, t = 1,..., L, pamięć do pamiętania macierzy prawdopodobieństwa i wektorów rzędu oraz układ liczący prawdopodobieństwo wartości dekodowanego bitu dla określania z λ, prawdopodobieństwa, że dany bit danych, wprowadzany do kodera
    182 511 w czasie = t jest równy zero, przy czym bit danych jest m-tym z k bitów danych oraz dostarczanie wyjść miękkich jako firnkcji prawdopodobieństwa.
  22. 22. Dekoder według zastrz. 21, znamienny tym, że zawiera urządzenie decyzyjne progowe do odbioru prawdopodobieństwa, że bit danych wprowadzany do kodera w czasie = t jest równy zero i do wykonywania reguły decyzyjnej dla dostarczania z niej dekodowanych bitów wyjściowych.
  23. 23. Dekoder według zastrz. 21, znamienny tym, że kod kratowy z bitami końcowymi stanowi kod splotowy.
  24. 24. Dekoder według zastrz. 21, znamienny tym, że zawiera dekoder o ograniczonej odległości.
  25. 25. Dekoder według zastrz. 21, znamienny tym, że zawiera koder do kodowania bloku bitów danych, bity danych są grupowane w k-bitowe symbole do kodowania, przy czym wstępnie określona maksymalna liczba rekursji zawiera dwa razy liczbę k-bitowych symboli wejściowych w bloku bitów danych.
    ♦ * ♦
PL97323523A 1996-04-19 1997-04-14 Sposób dekodowania kodu kratowego z bitami końcowymi i dekoder kodu kratowego z bitami końcowymi PL182511B1 (pl)

Applications Claiming Priority (2)

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
PCT/US1997/006201 WO1997040583A1 (en) 1996-04-19 1997-04-14 An optimal soft-output decoder for tail-biting trellis codes

Publications (2)

Publication Number Publication Date
PL323523A1 PL323523A1 (en) 1998-03-30
PL182511B1 true PL182511B1 (pl) 2002-01-31

Family

ID=24553142

Family Applications (1)

Application Number Title Priority Date Filing Date
PL97323523A PL182511B1 (pl) 1996-04-19 1997-04-14 Sposób dekodowania kodu kratowego z bitami końcowymi i dekoder kodu kratowego z bitami końcowymi

Country Status (21)

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

Families Citing this family (53)

* 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
CA2234006C (en) * 1998-04-06 2004-10-19 Wen Tong 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
EP1017178A4 (en) * 1998-05-28 2001-02-21 Sony Corp VIDEO IMAGE DECODER FOR CONVOLUTION CODE AND VIDEO IMAGE DECODING METHOD
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
US6128765A (en) * 1998-08-20 2000-10-03 General Electric Company Maximum A posterior estimator with fast sigma calculator
US6263467B1 (en) 1998-08-20 2001-07-17 General Electric Company Turbo code decoder with modified systematic symbol transition probabilities
ATE270795T1 (de) 1998-09-28 2004-07-15 Comtech Telecomm Corp Turbo produktkode decodierer
EP1099313B1 (de) 1998-12-01 2004-04-07 Siemens Aktiengesellschaft Soft-decision-decodierung eines terminierten faltungscode
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
US6715120B1 (en) 1999-04-30 2004-03-30 General Electric Company Turbo decoder with modified input for increased code word length and data rate
US6594792B1 (en) 1999-04-30 2003-07-15 General Electric Company Modular turbo decoder for expanded code word length
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
CA2404984A1 (en) * 2000-04-04 2001-10-11 Comtech Telecommunications Corp. Enhanced turbo product code decoder system
JP4543522B2 (ja) * 2000-08-31 2010-09-15 ソニー株式会社 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法
WO2002054601A1 (en) 2000-12-29 2002-07-11 Morphics Technology, Inc. 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
WO2002091592A1 (en) * 2001-05-09 2002-11-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
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
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
US20090271686A1 (en) * 2008-04-28 2009-10-29 Qualcomm Incorporated Communication signal decoding with iterative cooperation between turbo and reed-solomon decoding
ES2349902T3 (es) 2008-04-30 2011-01-12 Telefonaktiebolaget Lm Ericsson (Publ) Método y disposición para descodificar una señal codificada mediante un código que se muerde la cola (tail-biting).
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO1997040583A1 (en) 1997-10-30
BR9702311A (pt) 1999-02-02
ID17231A (id) 1997-12-11
AU2801997A (en) 1997-11-12
ZA973213B (en) 1997-11-14
JPH11508440A (ja) 1999-07-21
MY125447A (en) 2006-08-30
MX9710511A (es) 1998-03-31
NO975967L (no) 1998-02-03
JP3801211B2 (ja) 2006-07-26
KR100531584B1 (ko) 2006-04-20
CZ296383B6 (cs) 2006-03-15
CZ407497A3 (cs) 1998-06-17
NO975967D0 (no) 1997-12-18
CA2221137A1 (en) 1997-10-30
US5721746A (en) 1998-02-24
CN1189936A (zh) 1998-08-05
IL122526A (en) 2003-10-31
CA2221137C (en) 2004-10-12
HUP9901431A3 (en) 1999-12-28
UA42841C2 (uk) 2001-11-15
AR006722A1 (es) 1999-09-08
HU220832B1 (hu) 2002-05-28
HUP9901431A2 (hu) 1999-08-30
AU716761B2 (en) 2000-03-09
KR19990028216A (ko) 1999-04-15
IL122526A0 (en) 1998-06-15
RU2179367C2 (ru) 2002-02-10
PL323523A1 (en) 1998-03-30
EP0834223A1 (en) 1998-04-08
CN1132320C (zh) 2003-12-24

Similar Documents

Publication Publication Date Title
PL182511B1 (pl) Sposób dekodowania kodu kratowego z bitami końcowymi i dekoder kodu kratowego z bitami końcowymi
RU2187196C2 (ru) Параллельный каскадный сверточный код с конечной последовательностью битов и декодер для такого кода
EP0671817A1 (en) Soft symbol decoding for use in an MLSE-equaliser or convolutional decoder
EP2471183A1 (en) Method of communicating signal data in gnss using ldpc convolution codes and a system thereof
KR100779782B1 (ko) 비터비 디코더 용 고속 acs 유닛
WO2008048723A2 (en) Method and system for improving decoding efficieny in wireless receivers
US6718502B1 (en) Precoders for partial response channels
CN110995279A (zh) 一种极化码联合scf球形列表翻转译码方法
US7404139B2 (en) Decoder with M-AT-A-Time Traceback
JP2005109771A (ja) 最大事後確率復号方法及び装置
CN108471341B (zh) 一种卷积编解码的方法
US20070201586A1 (en) Multi-rate viterbi decoder
US20040170235A1 (en) Iterative decoding
CN113114274A (zh) 一种基于分段关键集合的简化极化码连续消除列表译码器
Liu et al. A novel concatenation decoding of Reed-Solomon codes with SPC product codes
WO2003056708A1 (en) Trellis decoding with forward and backward iterations
CN110535478B (zh) 一种DVB-RCS2协议中双输入类Turbo码闭集识别方法
US7032165B2 (en) ACS unit in a decoder
JP2757476B2 (ja) ヴィタビ復号器
Mercier et al. Convolutional codes for channels with deletion errors
Lee et al. Application of pattern-output viterbi algorithm to algebraic soft-decision decoding over partial response channels
CN115549692A (zh) 一种低复杂度的基于加权编辑距离的前向-后向译码方法
Laddha et al. Implementation of Adaptive Viterbi Decoder through FPGA
Handlery et al. Distance Approach to Window Decoding
JP2011114567A (ja) ターボ復号方法及び復号器

Legal Events

Date Code Title Description
LAPS Decisions on the lapse of the protection rights

Effective date: 20080414