PL184230B1 - Sposób dekodowania równoległych, połączonych kodów splotowych oraz dekoder do dekodowania równoległych, połączonych kodów splotowych - Google Patents
Sposób dekodowania równoległych, połączonych kodów splotowych oraz dekoder do dekodowania równoległych, połączonych kodów splotowychInfo
- Publication number
- PL184230B1 PL184230B1 PL97349517A PL34951797A PL184230B1 PL 184230 B1 PL184230 B1 PL 184230B1 PL 97349517 A PL97349517 A PL 97349517A PL 34951797 A PL34951797 A PL 34951797A PL 184230 B1 PL184230 B1 PL 184230B1
- Authority
- PL
- Poland
- Prior art keywords
- decoder
- component
- soft decision
- interleavers
- composite
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 45
- 230000009897 systematic effect Effects 0.000 claims abstract description 24
- 239000002131 composite material Substances 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 6
- 230000007935 neutral effect Effects 0.000 claims description 2
- 239000000203 mixture Substances 0.000 claims 1
- 238000012937 correction Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 39
- 229940050561 matrix product Drugs 0.000 description 16
- 239000013598 vector Substances 0.000 description 15
- 238000004804 winding Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000007423 decrease Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2996—Tail biting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2978—Particular arrangement of the component decoders
- H03M13/2981—Particular arrangement of the component decoders using as many component decoders as component codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3723—Decoding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel concatenated codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0067—Rate matching
- H04L1/0068—Rate matching by puncturing
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
polaczonych kodów splotow ych, zawierajacy prze- tw om ik zlo zonego slow a kodu w zlo zone slow o kodu do odbioru zloz onego slow a kodu z kanalu, a zloz one slow o kodu zawiera wybrane bity sposród wielu N skladowych slów kodu, które zostaly w y- tworzone przez dostarczenie nierekurencyjnych, system atycznych kodów splotow ych z bitami kon- cow ym i do bloku bitów danych w równoleglym , polaczonym koderze 1 wytwarzania z nich wielu N odbieranych, skladowych slów kodu, znam ienny tym , z e zawiera w iele N skladowych dekoderów, a kazdy poszczególny dekoder jest przystosowany do odbioru odbieranego, skladow ego slow a kodu z przetwornika zlozonego slow a kodu w zlozone slow o kodu, kazdy poszczególny dekoder jest przy- stosowany takze d o odbioru zespolu informacji decyzji miekkich a priori dla wartosci bitów danych i kazdy z N skladowych dekoderów jest przystoso- wany do dostarczania informacji decyzji m iekkich w kazdym bicie danych w bloku danych w kolejnosci kodowanej przez skladowy koder w równoleglym , polaczonym koderze, w iele z N - 1 ukladów przepla- tania, a kazdy poszczególny uklad przeplatania jest przystosowany do przeplatania ............................. FIG 2 PL PL PL PL PL PL PL PL
Description
Przedmiotem wynalazku jest sposób dekodowania równoległych, połączonych kodów splotowych oraz dekoder do dekodowania równoległych, połączonych kodów splotowych, stosowane ogólnie przy kodowaniu korekcyjnego błędu dla transmisji krótkich wiadomości w słabych kanałach, zwłaszcza w technice równoległego, połączonego kodu splotowego z bitami końcowymi i jego dekodera.
Znany jest sposób równoległego, połączonego kodowania, nazywanego albo równoległym, połączonym kodowaniem splotowym PCCC albo turbokodowaniem, związany z impresyjnymi, demonstrowanymi wzmocnieniami kodowania przy dostarczaniu do bloków 10 000 lub więcej bitów, co jest przedstawione na przykład w publikacji C. Berrou, A. Glavieux i P. Thitimajshima pod tytułem „Kodowanie i dekodowanie korekcyjne błędu bliskie granicy Shannona: turbokody” Proceedings of the IEEE International Conference Communications,
1993, strony 1064-1070, w publikacji J. D. Andersena pod tytułem „Schemat turbokodowania”, raport IT-146 ISSN 0105-854, Institute of Telecommunication, Technical University of Denmark, grudzień 1994 i w publikacji P. Robertsona, pod tytułem „Oświetlanie struktury kodu i dekodera równoległych, połączonych, rekursywnych turbokodów systematycznych”,
1994, IEEE Globecom Conference, strony 1298-1303.
Realizacja turbokodu pogarsza się zasadniczo, gdy długość kodowanego bloku danych maleje. To zjawisko jest związane z silną zależnością jego składowych struktur ważenia rekurencyjnych, systematycznych kodów splotowych od długości bloku. Drugim problemem jest właściwe zakończenie bloków wiadomości dostarczanych do turbokodera. W publikacji O. Joerssona i H.-Meyra pod tytułem „Zakończenie krat turbokodów”, IEE Electronics Letters, tom 30, nr 16, 4 sierpnia 1994, strony 1285-1286 przedstawiono, że przeplatanie stosowane w turbokoderach może przeszkodzić w zakończeniu zarówno przeplatających się jak i nieprzeplatajacych się sekwencji wejściowych kodera przez pojedynczy zespół bitów końcowych. Chociaż jest możliwe zastosowanie drugiej sekwencji końcowej, umieszczonej w strukturze wiadomości tak, że koder pracujący na przeplatającej się sekwencji danych jest właściwie kończony, to powoduje podwojenie operacji wstępnych związanych z zakończeniem pracy kodera i zmniejsza skuteczną szybkość przesyłania kodu. Alternatywą jest niekończenie jednej z sekwencji kodera, lecz to pogarsza wydajność systemu kodera-dekodera, szczególnie przy stosowaniu krótkich wiadomości. W publikacji A. S. Barbulescu i S. S. Pietrobona pod tytułem „Zakończenie krat turbokodów w tym samym stanie”, IEE Electronics Letters, 1995, tom 31, nr 1, styczeń 5, strony 22-23, przedstawiono sposób, który nakłada ograniczenia na projekt układu przeplatania w celu zakończenia pracy dwuskładnikowych, rekurencyjnych, systematycznych koderów splotowych przez pojedynczą sekwencję bitów zakończenia. Ich wyniki wydajności wykazują pewne pogorszenie w porównaniu z wydajnością osiąganą przez zakończenie pracy obu koderów, gdy jest stosowany optymalny układ przeplatania. Poza tym publikowane dane współczynnika błędu w bitach w funkcji współczynnika energii na bit do widmowej gęstości mocy szumu Lą'N0 wykazują wygładzenie współczynnika błędu w bitach w zakresie wartości Eb/No, gdy w turbokoderze są stosowane kody RSC.
Znane turbodekodery wykorzystują albo dekodery MAP „maksymalne a posteriori”, takie jak opisane w publikacji L. R. Bahia, J. Cocke'a, F. Jelinka i J. Raviva, w publikacji pod tytułem „Optymalne dekodowanie liniowych kodów dla minimalizacji szybkości błędu symbolu”, IEEE Transactions of Information Theory, marzec 1974, strony 284-287 albo dekodery algorytmu Viterbiego wyjść miękkich, takie jak opisane w publikacji przez J. Hagenauera i P. Hoehera, pod tytułem „Algorytm Viterbiego z wyjściami decyzji miękkich i jego zastosowaniami”, 1989 IEEE Globecom Conference, strony 1680-1686.
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żenie algorytmiczne”, Kluwer Academic Publisher, Norwell, MA, 1991. Podstawową własnością jest to, ze występuje prosty związek liniowy pomiędzy LF i e, na przykład dla kodów o szybkości 1/2,
184 230
LF jest w przybliżeniu 9,08e. Algorytm znalezienia głębokości decyzji do przodu LF(e) jest przedstawiony także w publikacji J. B. Andersona i K. Balachandrana pod tytułem „Głębokości decyzji kodów splotowych”.
Znane jest, że nierekurencyjne, systematyczne kody splotowe nie byłyby użyteczne jako kody składowe w schemacie równoległego, połączonego kodowania z powodu dużych odległości kodów RSC dla stosunkowo dużych długości bloku danych, jak przedstawiono w publikacji S. Benededetto i G. Montorsiego pod tytułem „Projektowanie równoległych, połączonych kodów splotowych”, IEEE Transactions on Communications.
Sposób według wynalazku polega na tym, ze dekoduje się odbierane, składowe słowa kodu przez proces iteracji poprzez N składowych dekoderów i N-1 układów przeplatania dla dostarczania wyjść decyzji miękkich ze złożonego dekodera, przy czym przez, każdy z N składowych dekoderów dostarcza się informacje decyzji miękkich w każdym bicie danych w bloku danych w kolejności kodowanej przez składowy koder, przez każdy z N-1 układów przeplatania przeplata się informacje decyzji miękkich z poprzedniego, składowego dekodera dla dostarczania permutowanego bloku informacji miękkich do kolejnego, składowego dekodera, zespół informacji decyzji miękkich a priori dla pierwszego z N składowych dekoderów oblicza się przy założeniu, że wartości bitów danych są równo podatne na pierwszą iterację i następnie zawierają pierwszą funkcję informacji decyzji miękkich, którą to pierwszą funkcję informacji decyzji miękkich dostarcza się z powrotem z N-tego składowego dekodera przez pierwszy układ odplatania zawierający N-1 układów odplatania odpowiadających N-1 układom przeplatania, przy czym N-1 układów odplatania pierwszego układu odpłatania dostarcza się w odwrotnej kolejności do N-1 układów przeplatania, a zespół informacji decyzji miękkich a priori, dostarczany do każdego innego składowego dekodera, zawiera pierwszą funkcję informacji decyzji miękkich z poprzedniego, kolejnego, składowego dekodera oraz realizuje się odplatanie w drugim układzie odplatania dla dostarczania drugiej funkcji wyjścia decyzji miękkich z N-tego składowego dekodera jako wyjście decyzji miękkich złożonego dekodera przy zastosowaniu N-1 układów odplatania odpowiadających N-1 układom przeplatania, przy czym N-1 układów odplatania drugiego układu odplatania dostarcza się w odwrotnej kolejności do N-1 układów przeplatania.
Korzystnie stosuje się liczbę iteracji przez składowe dekodery, układy przeplatania i układy odplatania jako wstępnie określoną liczbę.
Korzystnie iteracje przez składowe dekodery, układy przeplatania i układy odpłatania realizuje się tak długo, aż zostanie wykryta zbieżność dekodera, jeżeli liczba iteracji jest mniejsza niż liczba maksymalna, inaczej dekodowanie kończy się po maksymalnej liczbie iteracji i przez złożony dekoder dostarcza się drugą funkcję wyjść decyzji miękkich z N-tego składowego dekodera jako jego wyjście decyzji miękkich przez drugi układ odpłatania.
Korzystnie wykonuje się regułę decyzyjną dla dostarczenia wyjść decyzji twardych jako funkcji wyjścia decyzji miękkich dekodera złożonego.
Korzystnie formatowany zbiór bitów oznacza się zgodnie ze wstępnie określonym wzorem, a ponadto wprowadza się wartości neutralne dla wszystkich oznaczonych bitów przy tworzeniu odbieranych, złożonych słów kodu.
Korzystnie dekodowanie dokonuje się przez N składowych dekoderów zawierających cykliczne dekodery MAP, przy czym podczas dekodowania rozwiązuje się problem wektora własnego.
Korzystnie dekodowanie dokonuje się przez N składowych dekoderów zawierających cykliczne dekodery MAP, przy czym w dekodowaniu stosuje się metodę rekursji.
Dekoder według wynalazku zawiera wiele N składowych dekoderów, a każdy poszczególny dekoder jest przystosowany do odbioru odbieranego, składowego słowa kodu z przetwornika złożonego słowa kodu w złożone słowo kodu, każdy poszczególny dekoder jest przystosowany także do odbioru zespołu informacji decyzji miękkich a priori dla wartości bitów danych i każdy z N składowych dekoderów jest przystosowany do dostarczania informacji decyzji miękkich w każdym bicie danych w bloku danych w kolejności kodowanej przez składowy koder w równoległym, połączonym koderze, wiele z N-1 układów przeplatania, a każdy poszczególny układ przeplatania jest przystosowany do przeplatania informacji
184 230 decyzji miękkich ze składowego dekodera dla dostarczania permutowanego bloku informacji miękkich do kolejnego, składowego dekodera, a odbierane słowa kodu są dekodowane przez proces iteracji poprzez N składowych dekoderów i N-1 układów przeplatania dla dostarczania wyjścia decyzji miękkich ze złożonego dekodera, pierwszy układ odpłatania zawierający N-1 układów odplatania odpowiadających N-1 układom przeplatania, przy czym N-1 układów odplatania pierwszego układu odplatania jest dostarczanych w odwrotnej kolejności do N-1 układów przeplatania, a zespół informacji decyzji miękkich a priori dla pierwszych z N składowych dekoderów jest obliczany przy założeniu, że wartości bitów danych są równo podatne na pierwszą iterację i następnie zawierają pierwszą funkcję informacji decyzji miękkich, która to pierwsza funkcja informacji decyzji miękkich jest wyprowadzana przez N-ty dekoder i doprowadzana z powrotem przez pierwszy układ odplatania, a zespół informacji decyzji miękkich a priori, dostarczany do każdego innego składowego dekodera, zawiera pierwszą funkcję informacji decyzji miękkich z poprzedniego, kolejnego, składowego dekodera oraz drugi układ odplatania zawierający N-1 układów odplatania odpowiadających N-1 układom przeplatania, przy czym N-1 układów odplatania drugiego układu odplatania jest dostarczanych w odwrotnej kolejności do N-1 układów przeplatania, a drugi układ odplatania odpłata drugą funkcję wyjścia decyzji miękkich z N-tego składowego dekodera dla dostarczania wyjścia decyzji miękkich złożonego dekodera.
Korzystnie liczba iteracji przez składowe dekodery, układy przeplatania i układy odplatania jest wstępnie określoną liczbą.
Korzystnie składowe dekodery, układy przeplatania i układy odplatania są przystosowane do przeprowadzania iterakcji, aż zostanie wykryta zbieżność dekodera, jeżeli liczba iteracji jest mniejsza niż liczba maksymalna, inaczej dekodowanie kończy się po maksymalnej liczbie iteracji i złożony dekoder dostarcza drugą funkcję wyjść decyzji miękkich z N-tego składowego dekodera jako jego wyjście decyzji miękkich przez drugi układ odplatania.
Korzystnie dekoder zawiera urządzenie decyzyjne do wykonania reguły decyzyjnej dla dostarczenia wyjść decyzji twardych jako funkcji wyjścia decyzji miękkich dekodera złożonego.
Korzystnie N składowych dekoderów zawiera cykliczne dekodery MAP do dekodowania przez rozwiązanie problemu wektora własnego.
Korzystnie N składowych dekoderów zawiera cykliczne dekodery MAP do dekodowania przy zastosowaniu metody rekursji.
Zaletą wynalazku jest zapewnienie ulepszonej techniki równoległego, połączonego kodowania dla krótkich bloków danych. W sposobie i układzie według wynalazku schemat równoległego, połączonego kodowania splotowego wykorzystuje nierekurencyjne, systematyczne kody splotowe NSC z bitami końcowymi.
Dekoder wykorzystuje iteracyjnie maksymalne dekodowanie cykliczne a posteriori do wytwarzania wyjść decyzji twardych i miękkich. Zastosowanie kodów z bitami końcowymi rozwiązuje problem zakończenia wejściowych sekwencji danych w turbokodowaniu, skutkiem czego zapobiega się pogorszeniu się wydajności dekodera dla krótkich wiadomości. Podczas gdy kody NSC są zwykle słabsze niż rekurencyjne, systematyczne kody splotowe RSC mające taką samą pamięć asymptotycznie, gdy długość bloku danych wzrasta, dowolna odległość kodu NSC jest mniej czuła na długość bloku danych. Zatem równoległe, połączone kodowanie z kodami NSC będzie realizowane lepiej niż z kodami RSC mającymi taką samą pamięć dla wiadomości, które są krótsze niż pewien wymiar progowy bloku danych.
Przedmiot wynalazku jest uwidoczniony w przykładach wykonania na rysunku, na którym fig. 1 przedstawia uproszczony schemat przedstawiający równoległy, połączony koder, fig. 2 - uproszczony schemat przedstawiający dekoder dla równoległych, połączonych, kodów, fig. 3 - uproszczony schemat przedstawiający nierekurencyjny, systematyczny koder splotowy z bitami końcowymi do zastosowania w schemacie kodowania według wynalazku, fig. 4 uproszczony schemat przedstawiający dekoder cykliczny MAP, stosowany jako dekoder składowych w dekoderze dla równoległego, połączonego schematu kodowania splotowego według wynalazku i fig. 5 - uproszczony schemat przedstawiający odmienny przykład wykonania cyklicznego dekodera MAP stosowanego jako dekoder składowych dla równoległego, połączonego schematu kodowania splotowego według wynalazku.
184 230
Figura 1 przedstawia ogólny schemat blokowy układu przetwarzania 10 sygnałów kodera dla równoległych, połączonych schematów kodowania. Zawiera on wiele N składowych koderów 12, które oddziałują na bloki bitów danych ze źródła. Bloki danych są permutowane przez przeplatające się algorytmy poprzez układy przeplatania 14. Występuje N-1 układów przeplatania dla N koderów 12. W końcu wyjścia kodera składowego są łączone w pojedyncze, złożone słowo kodu przez formatyzator 16 złożonego słowa kodu. Formatyzator 16 złożonego słowa kodu jest wybrany tak, żeby pasować do charakterystyk kanału, a po nim może występować formatyzator ramki wybrany tak, żeby pasować do kanału i techniki dostępu do kanału systemu komunikacyjnego. Formatyzator ramki może także wprowadzać inne potrzebne operacje wstępne, takie jak bity sterowania i symbole synchronizacji.
Znaczną poprawę szybkości przesyłania kodów można otrzymać w równoległym, połączonym kodowaniu, jeżeli kody składowe są kodami systematycznymi. Słowa kodu na wyjściu, wytwarzane przez koder systematyczny, zawierają pierwotne bity danych dostarczane jako wejściowe do kodera oraz dodatkowe bity parzystości. Redundancja wprowadzana przez bity parzystości daje zdolność korekcji błędu kodu. Zatem, gdy kodery systematyczne są stosowane w równoległym, połączonym koderze pokazanym na fig. 1, słowa kodu wytwarzane przez wszystkie składowe kodery 12 zawierają wejściowe bity danych. Jeżeli formatyzator 16 tworzy pakiet danych lub złożone słowo kodu zawierające tylko bity parzystości wytwarzane przez każdy składowy koder 12 i blok kodowanych bitów informacji, zasadnicza poprawa szybkości przesyłania złożonego, równoległego, połączonego kodu jest realizowana przez eliminację powtarzania bitów informacji w transmitowanym, złożonym słowie kodu. Dla przykładu, jeżeli składowy koder 1 i składowy koder 2 równoległego, połączonego kodu splotowego PCCC, zawierającego dwa kody składowe, są oba kodami o szybkości 1/2, szybkość przesyłania złożonego, równoległego, połączonego kodu jest zwiększana od 1/4 dla niesystematycznych kodów składowych do 1/3 dla systematycznych kodów składowych.
Schematy równoległego, połączonego kodowania, które wykorzystują rekurencyjne, systematyczne kody splotowe RSC, były ostatnim tematem wielu badań. Te równoległe, połączone kody splotowe PCCC są także powszechnie znane w literaturze jako turbokody. Kody splotowe PcCC mogą osiągać imponującą wydajność w wyrażeniach współczynnika błędu w bitach w funkcji współczynnika energii na bit do widmowej gęstości mocy szumu Eb/No dla przypadku stosunkowo dużych wiadomości, to jest dziesięciu tysięcy lub więcej bitów. Jednak wykazano również, że wzmocnienie kodowania otrzymywanego przez turbokody maleje znacznie wraz ze zmniejszaniem się wymiaru bloku danych, ponieważ siły rekurencyjnych, systematycznych, składowych kodów splotowych są dość czułe na długość bloku danych. Z drugiej strony wydajność nierekurencyjnego, systematycznego kodu splotowego z bitami końcowymi jest niezależna od długości bloku danych w większości celów praktycznych, przy czym otrzymywana wydajność maleje tylko, gdy blok kodowanych bitów danych jest mniejszy niż minimalny wymiar, który jest określony przez stopień decyzji NSC.
Figura 2 przedstawia ogólny dekoder 20 dla równoległych, połączonych kodów w postaci schematu blokowego. Dekoder 20 zawiera przetwornik 22 złożonego słowa kodu na składowe słowo kodu, który przetwarza złożone słowo kodu odbierane z kanału na indywidualnie odbierane słowa kodu dla każdego składowego dekodera 24, przy czym N składowych dekoderów 24 odpowiada N składowym koderom z fig. 1 tego samego typu lub takim samym układom przeplatania 14, które są stosowane w równoległym, połączonym koderze z fig. 1 oraz pierwszy i drugi układ odplatania 28 i 29, z których każdy ma własność zmiany uporządkowania sekwencji, która jest równoważna szeregowemu połączeniu N-1 układów odplatania 30 odpowiadających N-1 układom przeplatania stosowanym do kodowania. Wymagane uporządkowanie tych układów odplatania jest pokazane na fig. 2 i jest odwrotne do uporządkowania układów przeplatania. Na wyjściach składowych dekoderów 24 są pewnego typu informacje decyzji miękkich o ocenianej wartości każdego bitu danych w odbieranych słowach kodu. Dla przykładu, na wyjściach składowych dekoderów może być pierwsza funkcja prawdopodobieństwa ze dekodowane bity mają wartość 0 lub 1 w odbieranej sekwencji symboli dla kanału Jeden przykład takiej pierwszej funkcji usuwa wpływ prawdopodobieństwa warunkowego P{dJ = 0| YJt} z wyjścia decyzji miękkiej składowego dekodera, która jest wprowadzana do
184 230 następnego, sekwencyjnego, składowego dekodera po właściwej permutacji, gdzie P{dlt = 0| YJt} jest prawdopodobieństwem, ze j-ty bit informacji w czasie t jest 0 uwarunkowanym na j-ty systematyczny bit odbieranego symbolu wyjściowego Yt kanału. Alternatywnie informacja decyzji miękkiej na wyjściu składowych dekoderów 24 może być funkcją ilorazu wiarogodności AicP) = = W = 1 ~ pidl = °l YiŁ} k z) P{dj = 0| Y,L) P{dj = 0| Y,L} lub jako funkcja ilorazu wiarogodności log [A (dJ)].
N-ty składowy dekoder ma drugie wyjście, to jest drugą funkcję prawdopodobieństw warunkowych dla wartości dekodowanych bitów lub powyższych ilorazów wiarogodności. Przykładem tej drugiej funkcji jest iloczyn P{dJt = 0| YiL) i prawdopodobieństwo a priori, ze dJ = 0 odbierane z poprzedniego składowego dekodera.
Dekoder dla równoległych, połączonych kodów pracuje iteracyjnie w następujący sposób. Pierwszy składowy dekoder 1 oblicza zespół wartości decyzji miękkich dla sekwencji bitów informacji kodowanych przez pierwszy składowy koder na podstawie odbieranego słowa kodu i dowolnej informacji a priori o przesyłanych bitach informacji. W pierwszej iteracji, jeżeli nie ma żadnej informacji a priori o statystyce źródła, zakłada się, ze bity mają jednakowe prawdopodobieństwo, że są równe 0 lub 1, to jest P{bit=0}=P{bit=1}= 1/2. Wartości decyzji miękkich obliczane przez dekoder 1 są następnie przeplatane przy użyciu tego samego typu lub takiego samego układu przeplatania, który był stosowany w koderze do permutacji bloku bitów danych dla drugiego kodera. Te permutowane wartości decyzji miękkich i odbierane słowo kodu zawierają dane wejściowe dla następnego składowego dekodera 2. Permutowane wartości decyzji miękkich, odbierane z poprzedniego składowego dekodera i układu przeplatania, są wykorzystywane przez następny składowy dekoder jako informacja a priori o dekodowanych bitach danych. Składowe dekodery pracują sekwencyjnie w ten sposób, aż N-ty dekoder oblicza zespół wyjściowych decyzji miękkich dla bloku bitów danych, który był kodowany przez koder. Następnym etapem jest odplatanie wartości decyzji miękkich z N-tego dekodera, jak to opisano powyżej. Pierwszy dekoder następnie działa na odbieranym słowie kodu, ponownie stosując nowe wartości decyzji miękkich z N-tego dekodera jako jego informację a priori. Działanie dekodera następuje w ten sposób dla wymaganej liczby iteracji. W wyniku końcowej iteracji, sekwencja wartości, które są drugą funkcją wyjściowych decyzji miękkich, obliczonych przez N-ty dekoder, jest odplatana w celu powrotu danych do uporządkowania, w którym były odbierane przez koder PCCC. Liczba iteracji może być wstępnie określoną liczbą lub może być określona dynamicznie przez detekcję zbieżności dekodera.
Dekoder dostarcza informację decyzji miękkich, która jest funkcją prawdopodobieństwa P{dJt = 0| YLty, to jest prawdopodobieństwa warunkowego, ze j-ty bit danych w k-bitowym symbolu wejściowym kodera w czasie t jest 0, zakładając, ze jest odbierany zespół wejść ΥΛ = (Y),...,yl). W dodatku dekoder może dostarczać informację twardych decyzji jako funkcję jego wyjścia decyzji miękkich przez urządzenie decyzyjne, które wykonuje regułę decyzyjną, taką jak:
dj = 0
P{d]t = 0| Y,L} > | < 2 d’ = 1
To jest, jeżeli P{dtt = 0| Y^}>1/2, wówczas (Jt = 0, jeżeli P{dJ = 0| Υ^}<1/2, wówczas cft = 1, inaczej losowo przypisuje dJ wartość 0 lub 1.
Dekoder MAP stwarza prawdopodobieństwo, ze dekodowana wartość bitu jest 0 lub 1 Z drugiej strony dekoder SOVA zwykle oblicza iloraz wiarogodności:
P{dekodowany bit jest 1}
Pjdekodowany bit jest 0}
184 230 dla każdego dekodowanego bitu. Ten iloraz wiarogodności otrzymuje się z P{dekodowany bit jest 0} i vice versa, stosując P{dekodowany bit jest 0}= 1 - P{dekodowany bit jest 1}. Pewne korzyści obliczeniowe odkryto, gdy albo dekoder MAP albo SOVA pracują z logarytmem ilorazów wiarogodności, to jest log(
P{de kodowany P{dekodowany bit bit j est j est
0}
Wzmocnienie kodowania i zdolność korekcji błędu, osiągnięte przez turbokody, maleją znacznie wraz ze zmniejszaniem się wymiaru bloku danych. Odległość kodu RSC wzrasta wraz ze wzrostem długości bloku danych. Przeciwnie, minimalna odległość kodu RSC maleje wraz ze zmniejszaniem się długości bloku danych. Drugim problemem jest trudność w kończeniu wszystkich kodów RSC mających schemat turbokodowania związany z przeplataniem. Niekorzystnie odmienne rezultaty wynikające z braku zakończenia sekwencji lub wprowadzenia ograniczeń dla projektu układu przeplatania są znaczące i stają się jeszcze bardziej wraz ze zmniejszaniem się długości bloku danych.
Według wynalazku składowe kody w schemacie równoległego, połączonego kodowania splotowego zawierają nierekurencyjne, systematyczne kody splotowe z bitami końcowymi. Zastosowanie takich kodów z bitami końcowymi rozwiązuje problem zakończenia sekwencji danych wejściowych w turbokodowaniu, skutkiem czego zapobiega się pogorszeniu wydajności dekodera dla krótkich wiadomości. Chociaż kody NSC są zwykle słabsze niż kody RSC mające taką samą pamięć, swobodna odległość kodu NSC jest mniej czuła na długość bloku danych. Zatem równoległe, połączone kodowanie z kodami NSC będzie działać lepiej niż z kodami RSC mającymi taką samą pamięć dla wiadomości, które są krótsze niz wstępnie określony wymiar progowy bloku danych. Punkt wydajności wypadkowej jest funkcją wymaganej szybkości dekodowanego błędu bitu, szybkości kodu i pamięci kodu.
Figura 3 przedstawia przykład szybkości = 1/2, pamięć = m nierekurencyjny, systematyczny koder splotowy z bitami końcowymi do zastosowania w schemacie równoległego, połączonego kodowania splotowego PCCC według wynalazku. W celu opisu oznaczono koder n, k, m i koder, w którym symbole wejściowe zawierają k bitów, symbole wyjściowe zawierają n bitów i m = pamięć kodera w symbolach k-bitowych. W celu ilustracji fig. 3 jest wyprowadzone dla binarnych symboli wejściowych, to jest k =1. Jednak wynalazek jest stosowany do dowolnych wartości k, nim.
Początkowo przełącznik 50 jest w dolnym położeniu i bity wejściowe L są przesuwane do rejestru przesuwającego 52, k w danym czasie, jeden symbol wejściowy w danym czasie w tym przykładzie. Po wprowadzeniu L-tego bitu do kodera, przełącznik przesuwa się do położenia górnego i kodowanie rozpoczyna się wraz z przesunięciem pierwszego bitu z drugiego rejestru przesuwającego 54 do nierekurencyjnego, systematycznego kodera, a stan kodera w tym czasie jest {bL,bL-1, . . bL-(km-i)}· W tym przykładzie wyjście kodera zawiera bieżący bit wejściowy i bit parzystości utworzony w bloku 56, pokazany jako dodawanie modulo 2 w tym przykładzie, jako funkcja stanu kodera i bieżącego symbolu wejściowego. Kodowanie kończy się, gdy jest kodowany L-ty bit.
Innym aspektem wynalazku jest to, ze odpowiedni dekoder dla opisanego powyżej równoległego, połączonego kodera zawiera cykliczny dekoder MAP do dekodowania kodów splotowych z bitami końcowymi. Cykliczny dekoder MAP dostarcza zarówno ocenę kodowanego bloku danych, jak i informację niezawodności do odbiornika danych, na przykład procesora sygnałów syntezy mowy, stosowanego przy przesyłaniu ukrytego błędu, lub procesora protokołu dla danych pakietu jako miara prawdopodobieństwa błędu bloku, stosowana przy powtarzaniu żądanych decyzji.
Cykliczny dekoder MAP dla kodów kraty korekcji błędu, które wykorzystują bity końcowe, wytwarza wyjścia decyzji miękkich. Cykliczny dekoder MAP dostarcza ocenę prawdopodobieństw stanów w pierwszym stanie kraty, które to prawdopodobieństwa zastępują znajomość a priori stanu początkowego w konwencjonalnym dekoderze MAP. Cykliczny dekoder MAP zapewnia rozkład prawdopodobieństwa stanu początkowego na każdy z dwóch sposo10
184 230 bów. Pierwszy daje rozwiązanie problemu wartości własnej, dla której uzyskany wektor własny jest wymaganym rozkładem prawdopodobieństwa stanu początkowego, ze znajomością stanu początkowego, cykliczny dekoder MAP dokonuje pozostałe dekodowanie zgodnie z konwencjonalnym algorytmem dekodowania MAP. Drugi jest oparty na rekursji, dla której iteracje są zbieżne dla rozkładu stanu początkowego. Po dostatecznych iteracjach stan cyklicznej sekwencji stanów jest znany z dużym prawdopodobieństwem i cykliczny dekoder MAP dokonuje pozostałe dekodowanie zgodnie z konwencjonalnym algorytmem dekodowania MAP.
Celem konwencjonalnego algorytmu dekodowania MAP jest znalezienie prawdopodobieństw warunkowych:
P{stan m w czasie t/odbiór wyjść kanału yi,...,y l}
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: X,(m) = P {St = m; Y^} /1/ to jest, całkowite prawdopodobieństwo, że stan kodera w czasie t: St jest m i jest odbierany zespół wyjść kanału Yi = {yi,..., yp}. To są wymagane prawdopodobieństwa mnożone przez stałą(P{YiL}, prawdopodobieństwo odbioru zespołu wyjść kanału ({yi,..., yL}).
Teraz określmy elementy macierzy Γ t przez
Γ t (i, j) = P{stan j w czasie t; y/stan i w czasie t-1}
Macierz Γ t jest obliczana jako funkcja prawdopodobieństwa przejścia R(Yt, X), prawdopodobieństwa pi (m/m'), że koder dokona przejścia ze stanu m' w m w czasie t i prawdopodobieństwa qt (X/m',m), że symbolem wyjściowym kodera jest X, zakładając, ze poprzedni stan kodera jest m' i obecny stan kodera jest m. W szczególności każdy element Γ jest obliczany przez zsumowanie wszystkich możliwych wyjść X kodera, jak następuje:
yt (m',m) Pt (m/m' ) qt (X/m' ,m) R (Yt, X) /2/
X
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 at (j) = P {stan j w czasie t; yi, ,yj /3/ i elementy prawdopodobieństwa warunkowego M wektora (k kolumny przez
Pt (j) = P {yt+1 ..,yi/stan j w czasie t} /4/ dlaj =0,1,...,(M-1), gdzie M jest liczbą stanów kodera. Macierze i wektory są oznaczone tutaj przy zastosowaniu pogrubionej czcionki.
Etapy algorytmu dekodowania MAP są następujące:
/i/ Obliczanie (ai,...,a.L przez rekursję do przodu:
at = at-i Γt, t=1,...,L /5/ /ii/ Obliczanie Pi,...,Pl-i przez rekursję do tyłu:
Pt = Γ,+i Pt+i, t = L-I,...,l /6/ /iii/ Obliczanie elementów λ t przez:
Xt (i)=at (i) Pt (i), wszystkie i, t = I,...,L /7/ /iv/ Znajdywanie odpowiednich wielkości zgodnie z wymaganiem. Dla przykładu, niech AJt będzie zespołem stanów St = {Si, S2b . . . ,Skmt} } tak, że j-ty element St, SJt,jest równy zero. Dla konwencjonalnego nierekurencyjnego kodu kraty, SJ = dJ, j-ty bit danych w czasie t. Zatem wyjście decyzji miękkiej dekodera jest
184 230
P{cg = 0| Y,L} gdzie P{Y,L}
P{Y,L} Stx?
Σ Mm) 1 m jest indeksem, który odpowiada stanowi St.
Wyjście dekodera decyzji twardej lub dekodowanego bitu jest otrzymywane przez wprowadzenie P{dj = 0| YL} do następującej reguły decyzyjnej:
dl = 0
P{X = 0| Y,L} > | < 2 d’ = 1
To jest, jeżeli P{dJ = 0| YL(} >1/2, wówczas dJ=O; jeżeli P{dJ = 0| YL|}< 1/2, wówczas dJ=1, inaczej losowo przypisuje dJt wartość 0 lub 1.
Jako inny przykład wielkości dla powyższego etapu /iv/, macierz prawdopodobieństw o, zawiera elementy określone jak następuje:
«t (i,j)=P{St-1 = i; St = j; YLj = αΜ(ΐ) Yt(ij) βι (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 ao = (1,0,. .0) i rekursja do tyłu jest początkowana przez βL= (1,0, ...0)1. Te warunki początkowe są oparte na założeniu, że stan początkowy kodera So = 0 i stan końcowy Sl= 0.
Jedno wykonanie cyklicznego dekodera MAP określa rozkład prawdopodobieństwa stanu początkowego przez rozwiązanie problemu wartości własnej jak następuje. Niech at, βυ Tt, i kt będąjak poprzednio, lecz przyjtnipny początkowe «o i Pljak następuje:
Wprowadźmy pL do wektora kolumny (111... 1)T
Niech t«o będzie nieznaną zmienną /wektorem/.
Wówczas /i/ Obliczanie t% dla t = 1,2,...L zgodnie z równaniem /2/.
/ii/ Znajdywanie największej wartości własnej dla iloczynu macierzy Γ1Γ2...Γ\. Normalizowanie odpowiedniego wektora własnego tak, że jego składowe dają w sumie jedność. Ten wektor jest rozwiązaniem dla ao. Wartość własna jest P{Y,L}.
/iii/ Tworzenie kolejnego at przez rekursję do przodu przedstawioną w równaniu /5/.
/iv/ Rozpoczynanie od βL, początkowanego jak powyżej, od βt przez rekursję do tyłu przedstawioną w równaniu /6/.
/v/ Tworzenie Xt jak w /7/, jak również inne wymagane zmienne, takie jak na przykład wyjście decyzji miękkiej P{dt = 0| YLj lub macierz prawdopodobieństw oy opisana powyżej.
Zmienna nieznana ao spełnia równanie macierzy α0Γ,Γ2. . TL a„ = ---1 2-P(Y,L)
Z faktu, ze to równanie wyraża związek pomiędzy prawdopodobieństwami ^wnioskujemy, że iloczyn macierzy ΙΓ na prawo ma największa wartość własną równą P{YL} i ze wektor własny musi być wektorem prawdopodobieństwa.
184 230
Przy początkowym Pl = (111... 1)T, równanie /6/ daje Pc-1 Zatem powtarzane zastosowania tej rekursji do tyłu dają wszystkie β t. Po poznaniu ao i ustaleniu 3l, wszystkie obliczenia w cyklicznym dekoderze MAP według wynalazku podążają za konwencjonalnym algorytmem dekodowania MAP.
Figura 4 jest uproszczonym schematem blokowym ilustrującym cykliczny dekoder MAP 110 do dekodowania kodu kraty z bitami końcowymi korekcji błędu zgodnie z opisaną powyżej metodą wektora własnego. Dekoder 110 zawiera układ liczący rt 112!, który oblicza Tt w funkcji wyjścia yt kanału. Układ liczący Ft odbiera dane wejściowe z pamięci 130: prawdopodobieństwo R (Yt, X) przejścia kanału, prawdopodobieństwo pt (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 Ft oblicza każdy element Ft przez zsumowanie wszystkich możliwych wyjść X kodera zgodnie z równaniem /2/.
Obliczone wartości tTt są dostarczane do układu liczącego 114 iloczyn macierzy dla utworzenia iloczynu macierzy Γι Γ2...Γl przy aasoooowarnu macierzy jcdnostlwwej 116 , na przykład odbieranej z pamięci, przełącznika 118 i układu opóźniającego 120. W czasie t = 1, macierz jednostkowa jest dostarczana jako jedno wejście do układu liczącego iloczyn macierzy. W każdym kolejnym czasie od t = 2 do t = L, iloczyn macierzy j“j p i=_l 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 121 do układu liczącego 122 sSanCaedoOy wektor własny, który oblicza standardowy wektor własny odpowiadający największej wartości własnej iloczynu macierzy doprowadzanej do niego. Przy ao tak inicjowanym, to jest jako ten standardowy wektor własny, kolejne wektory at, są określane κΙνί-κειΚΑ’)!^' zgodnie z równaniem /5/ w układzie liczącym 124 iloczyn macierzy przy zastosowaniu układu opóźniającego 126 i przełącznika 128, jak to pokazano. Właściwe wartości Γ t są odzyskiwane z pamięci 130 i uzyskane at są następnie pamiętane w pamięci 130.
Wartości et są określane w układzie liczącym 132 iloczyn macierzy, stosując przełącznik 134 i układ opóźniający 136 zgodnie z równaniem 161. Następnie są obliczane prawdopodobieństwa Xt z wartości αt i et w układzie liczącym 140 iloczyn elementu przez element zgodnie z równaniem /7/. Wartości Xt są dostarczane do układu liczącego 150 prawdopodobieństwa wartości dekodowanego bitu, który określa prawdopodobieństwo, ze j-ty dekodowany bit w czasie t: dJ jest równy zero. To prawdopodobieństwo jest dostarczane do urządzenia decyzyjnego progowego 152, które wykonuje następującą regułę decyzyjną: Jeżeli prawdopodnbieństwn z układu liczącego 150 jest większe niż 1/2, wówczas decyduje, że dekodowany bit jest zero, a jeżeli prawdopodobieństwo jest mniejsze niż 1/2, wówczas decyduje, ze dekodowany bit jest jeden, natomiast 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, ze dekodowany bit jest równy zero P{cJt = 0| YJ}, jest pokazane także na fig. 4 jako dostarczane do bloku funkayjnegn 154 wyjścia miękkiego dla dostarczania funkcji prawdopodobieństwa, to jest f (P{CJ = 0| YJ}) tak, ze dla przykładu iloraz wiarngnCności 1 - P{cF = 0| Yt ]} p{<Tt - ojy?) jako wyjście dekodera decyzji miękkiej. Inną użyteczną fuakcjąP{dJ = 0| YJ} jest log ilorazu wiarogodności log{ ~ = P{d) = 0|
Yt3} Yt)
184 230
Alternatywnie użyteczną funkcją dla bloku 154 może być po prostu funkcja tożsamości tak, ze wyjście miękkie jest po prostu P{dJ = 0| YJt}.
W odmiennym wykonaniu cykliczny dekoder MAP 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/ opisanej powyżej metody wektora własnego są zastąpione jak następuje:
/ii.a/ Rozpoczynanie przy początkowym α.0 równym (1/M,...,1/M), gdzie M jest liczbą stanów kraty, obliczanie czasów L rekursji do przodu. Normalizacja wyników tak, ze elementy każdego nowego at sumują się do jedności. Ustalanie wszystkich wektorów L αt.
/ii.b/ Niech α o jest równe aL z poprzedniego etapu i rozpoczynając w t = 1, obliczanie ponownie pierwszych wektorów prawdopodobieństwa Lw min αt.
M-1
To jest, oblicza się at (m) = : = i) at-t (i) yt (i, m) dla m=0,1,...,M-1 i t=1,2,..., Lw mm, gdzie Lw mm 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 aLw mm znalezione poprzednio w etapie /ii.a/.
/ii.c/ Porównywanie aLw mm z etapu /ii.b/ z poprzednio znalezionym zespołem z etapu /ii.a/. Jeżeli odpowiednie elementy M nowego i starego aLwmm 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 = a·-!/. Normalizowanie jak poprzednio. Ustalanie tylko ostatniego obliczanego zespołu L a i at znalezionego poprzednio w etapie /ii.a/.
/ii.e/ Porównywanie nowych at 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/.
Ta metoda następnie przeprowadza etapy /iv/ i /v/ podane powyżej w odniesieniu do metody wektora własnego w celu wytwarzania wyjść decyzji miękkich i dekodowanych bitów wyjściowych cyklicznego dekodera MAP.
Opisana powyżej metoda rekursji jest zmodyfikowana tak, ze 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.
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 przeprowadzoone doświadczenia dla pomiaru szybkości błędu dekodowanych bitów w funkcji Eb/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 Eb/No, 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 Eb/No, 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łowego toru odnosi się do sekwencji stanów lub toru przechodzącego przez kratę, który wynika z kodowania bloku bitów danych. Termin nieprawidłowego podzespołu węzła odnosi się do zespołu wszystkich nieprawidlo14
184 230 wych gałęzi poza węzłem prawidłowego toru i ich pochodnych. Obie określone poniżej głębokości decyzji zalezą od kodera splotowego.
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, ze jeżeli jest e lub mniej błędów do przodu węzła początkowego i wiadomo, ze kodowanie musi się tam zaczynać, wówczas dekoder musi dekodować prawidłowo.
/ii/ Następnie określ głębokość nie połączonej decyzji 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, ze 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, ze minimalna głębokość nawijania może być oceniona jako głębokość LF(e) decyzji do przodu, jeżeli głębokość decyzji me 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 tore m wszystkie-zero, nie rozszerzaj żadnego z torów poza węzeł stanu prawidłowego zero.
/iii/ Przy poziomie k znajdź 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, zatrzymaj się. Wówczas LU(e) = k.
Doświadczenia przy pomocy symulacji komputerowej prowadzą do dwóch nieoczekiwanych wyników: III nawijane przetwarzanie Pt poprawia wydajność dekodera i /21 zastosowanie głębokości nawijania LU(e)+LF(e)=2LF(e) poprawia znacznie wydajność. Zatem korzystne wykonanie algorytmu cyklicznego dekodera MAP w oparciu o rekursję zawiera następujące etapy:
/i/ Obliczanie Γ t dla t = 1,2,...L zgodnie z równaniem /2/.
/ii/ Rozpoczynanie przy początkowym αο 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, aijest traktowane jako α o. Normalizuje się wyniki tak, ze elementy każdego nowego at sumują się do jedności.
Pozostawia się L ostatnich wektorów a znalezionych przez tę rekursję.
/iii/ Rozpoczynanie przy początkowym Pl równym (l,...,1)robliczanie 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 eL+1 i Γι jest stosowane jako rL+1, przy obliczaniu nowego βι... Normalizuje się wyniki tak, ze elementy każdego nowego β( 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 /v/ 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.
Figura 5 jest uproszczonym schematem blokowym ilustrującym cykliczny dekoder MAP 180 według •korzystnego przykładu wykonania wynalazku. Dekoder 180 zawiera układ liczący Γt 182, który oblicza Γt jako funkcję wyjścia kanału yt. Wyjścia kanału yi,...,yL są do184 230 starczane do układu liczącego Γ t przez przełącznik 184. Przy przełączniku w położeniu dolnym, symbole wyjścia kanału L są wprowadzane do układu liczącego Γ, 182 i rejestru przesuwającego 186 raz w danym czasie. Następnie przełącznik 184 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 Ft, to jest dla zapewniania przetwarzania cyklicznego. Układ liczący Γ t odbiera jako wejścia z pamięci 130 prawdopodobieństwo R(Yt,X) przejścia kanału, prawdopodobieństwo pt (m/m'), że koder dokonuje przejścia ze stanu m' do m w czasie t i prawdopodobieństwo qt (X/m',m), że symbol wyjściowy kodera jest X, zakładając, ze poprzedni stan kodera jest m' i obecny stan kodera jest m. Układ liczący Γ( oblicza każdy element Γt przez zsumowanie wszystkich możliwych wyjść X kodera zgodnie z równaniem / 2/.
Obliczane wartości Γt są dostarczane do układu liczącego 190 iloczyn macierzy, który mnoży macierz Γ przez macierz at-i dostarczaną rekurencyjnie przez układ opóźniający 192 i demultiplekser 194. Sygnał sterujący CNTRL1 powoduje, ze demultiplekser 194 wybiera ao z pamięci 196 jako jedno wejście dla układu liczącego 190 iloczyn macierzy, gdy t = 1. Wówczas gdy 2 < t < L, sygnał sterujący CNTRL1 powoduje, ze demultiplekser 194 wybiera a— z układu opóźniającego 192 jako jedno wejście do układu liczącego 190 iloczyn macierzy. Wartości Γ t i at są pamiętane w pamięci 196 zgodnie z wymaganiem.
Wektory Pt są obliczane rekurencyjnie w układzie liczącym 200 iloczyn macierzy poprzez układ opóźniający 202 i demultiplekser 204. Sygnał sterujący CNTRL2 powoduje, że demultiplekser 204 wybiera Pl z pamięci 196 jako jedno wejście do układu liczącego 200 iloczyn macierzy, gdy t =L-1. Wówczas gdy L-2 > t <1, sygnał sterujący CNTRL2 powoduje, ze demultiplekser 204 wybiera Pt+1 z układu opóźniającego 102 jako jedno wejście do układu liczącego 200 iloczyn macierzy. Uzyskane wartości pt są mnożone przez wartości at, otrzymane z pamięci 196, w układzie liczącym 206 iloczyn elementu przez element dla dostarczania prawdopodobieństw λί; jak to opisano powyżej. W ten sam sposób, jak to opisano powyżej w odniesieniu do fig. 4, wartości λι są dostarczane do układu liczącego 150 prawdopodobieństwo wartości dekodowanych bitów, którego wyjście jest doprowadzone do urządzenia decyzyjnego progowego 152, wywołując dekodowane bity wyjściowe dekodera.
Prawdopodobieństwo warunkowe, ze dekodowany bit jest równy zero, (P{dJ = 0| YJ}) jest także pokazane na fig r j-ko p-.t j- i.i-i_. funkcyjnego 154 wyjścia miękkiego dla dostarczania funkcji p | _ ρ-^^ st 0| Yj Jt = 0| Y't}) tak, że dla przykładu iloraz wiarogoPności =
P{d3t = o| yj 1 - P{d3t = 0] Yj p{d3t = OK) jako wyjście decyzji miękkiej dekodera. Inną użyteczną funkcją P{dy = 0| Y't} jest • 1 — Pid3 — 01 YB log ilorazu wiarogodności = logi-—-!—ww
P{d3 = 0|Y3} 1
Alternatywnie użyteczną funkcją Pla bloku 154 może być po prostu funkcja tożsamości tak, że wyjście miękkie jest po prostu P{PJ = 0| YJ}.
Według wynalazku jest możliwe zwiększenie szybkości schematu równoległego, połączonego kodowania, zawierającego nierekurencyjne, systematyczne kody z końcowymi bitami przez usunięcie wybranych bitów w złożonym słowie kodu, utworzonym przez formatyzator złożonego słowa kodu zgodnie z korzystnie wybranym wzorem przed transmisją bitów złożonego słowa kodu w kanale. Ta technika jest znana jako przebijanie. Ten wzór przebijania jest także znany przez dekoder. Następujący prosty, dodatkowy etap realizowany przez przetwornik odbieranego złożonego słowa kodu na składowe słowo koPu zapewnia wymagane działanie dekodera: przetwornik odbieranego złożonego słowa koPu na składowe słowo kodu wprowadza po prostu wartość zerową Pla każdego znanego przebijanego bitu podczas two16
184 230 rzenia odbieranych, składowych słów kodu. Dla przykładu, wartość zerowa jest dla przypadku diametralnie przeciwnego sygnalizowania w kanale dodatkowego szumu białego Gaussa. Pozostałe działanie dekodera jest opisane powyżej.
Minimalna odległość kodu NSC jest mniej czuła na długość bloku danych i wobec tego może być stosowana korzystnie w systemach komunikacyjnych, które transmitują krótkie bloki bitów danych w kanałach o dużych szumach. Zastosowanie kodów z bitami końcowymi rozwiązuje problem zakończenia sekwencji danych wejściowych w turbokodach. Wynalazek zapewnia schemat równoległego, połączonego, nierekurencyjnego, systematycznego kodowania splotowego z bitami końcowymi, z dekoderem zawierającym cykliczne dekodery MAP do dekodowania składowych kodów splotowych z bitami końcowymi dla zapewnienia lepszej wydajności przy małych długościach bloków danych, aniżeli w schematach konwencjonalnego turbokodowania, do pomiaru dla szybkości błędu bitu w funkcji współczynnika sygnału do szumu.
I84 230
I84 230
FIG . 2
184 230
FIG . 3
I84 230 >-
184 230 >
z
UJ o
o cr o_
184 230
BLOK BITÓW OANTCH
ZŁOŻONE
SŁOWO
KOOU
KANAŁU
FIG.1
Departament Wydawnictw UP RP. Nakład 70 egz.
Cena 4,00 zł.
Claims (13)
- Zastrzeżenia patentowe1. Sposób dekodowania równoległych, połączonych kodów splotowych, podczas którego odbiera się z kanału złożone słowo kodu, które zawiera formatowany zbiór bitów spośród wielu N składowych słów kodu, które wytwarza się przez dostarczenie nierekurencyjnych, systematycznych kodów splotowych z bitami końcowymi do bloku bitów danych w równoległym, połączonym koderze, tworząc odbierane, składowe słowa kodu z odbieranego, złożonego słowa kodu, przy czym każde poszczególne, odbierane, składowe słowo kodu odbiera się przez jeden z wielu spośród N składowych dekoderów złożonego dekodera, przy czym przez każdy poszczególny składowy dekoder odbiera się również zespól informacji decyzji miękkich a priori dla wartości bitów danych, znamienny tym, że dekoduje się odbierane, składowe słowa kodu przez proces iteracji poprzez N składowych dekoderów i N-1 układów przeplatania dla dostarczania wyjść decyzji miękkich ze złożonego dekodera, przy czym przez każdy z N składowych dekoderów dostarcza się informacje decyzji miękkich w każdym bicie danych w bloku danych w kolejności kodowanej przez składowy koder, przez każdy z N-1 układów przeplatania przeplata się informacje decyzji miękkich z poprzedniego, składowego dekodera dla dostarczania permutowanego bloku informacji miękkich do kolejnego, skład (owego dekodera, zespół informacji decyzji miękkich a priori dla pierwszego z N składowych dekoderów oblicza się przy założeniu, ze wartości bitów danych są równo podatne na pierwszą iterację i następnie zawierają pierwszą funkcję informacji decyzji miękkich, którą to pierwszą funkcję informacji decyzji miękkich dostarcza się z powrotem z N-tego składowego dekodera przez pierwszy układ odpłatania zawierający N-1 układów odpłatania odpowiadających N-1 układom przeplatania, przy czym N-1 układów odplatania pierwszego układu odplatania dostarcza się w odwrotnej kolejności do N-1 układów przeplatania, a zespół informacji decyzji miękkich a priori, dostarczany do każdego innego składowego dekodera, zawiera pierwszą funkcję informacji decyzji miękkich z poprzedniego, kolejnego, składowego dekodera oraz realizuje się odplatanie w drugim układzie odplatania dla dostarczania drugiej funkcji wyjścia decyzji miękkich N-tego składowego dekodera jako wyjście decyzji miękkich złożonego dekodera przy zastosowaniu N-1 układów odplatania odpowiadających N-1 układom przeplatania, przy czym N-1 układów odplatania drugiego układu odplatania dostarcza się w odwrotnej kolejności do N-1 układów przeplatania.
- 2. Sposób według zastrz. 1, znamienny tym, ze stosuje się liczbę iteracji przez składowe dekodery, układy przeplatania i układy odplatania jako wstępnie określoną liczbę.
- 3. Sposób według zastrz. 1, znamienny tym, ze iteracje przez składowe dekodery, układy przeplatania i układy odplatania realizuje się tak długo, aż zostanie wykryta zbieżność dekodera, jeżeli liczba iteracji jest mniejsza niż liczba maksymalna, inaczej dekodowanie kończy się po maksymalnej liczbie iteracji i przez złozony dekoder dostarcza się drugą funkcję wyjść decyzji miękkich z N-tego składowego dekodera jako jego wyjście decyzji miękkich przez drugi układ odplatania.
- 4. Sposób według zastrz. 1, znamienny tym, że wykonuje się regułę decyzyjną dla dostarczenia wyjść decyzji twardych jako funkcji wyjścia decyzji miękkich dekodera złożonego.
- 5. Sposób według zastrz. 1, znamienny tym, Że formatowany zbiór bitów oznacza się zgodnie ze wstępnie określonym wzorem, a ponadto wprowadza się wartości neutralne dla wszystkich oznaczonych bitów przy tworzeniu odbieranych, złożonych słów kodu.
- 6. Sposób według zastrz. 1, znamienny tym, ze dekodowanie dokonuje się przez N składowych dekoderów zawierających cykliczne dekodery MAP, przy czym podczas dekodowania rozwiązuje się problem wektora własnego.184 230
- 7. Sposób według zastrz. 1, znamienny tym, że dekodowanie dokonuje się przez N składowych dekoderów zawierających cykliczne dekodery MAP, przy czym w dekodowaniu stosuje się metodę rekursji.
- 8. Dekoder do dekodowania równoległych, połączonych kodów splotowych, zawierający przetwornik złożonego słowa kodu w złożone słowo kodu do odbioru złożonego słowa kodu z kanału, a złożone słowo kodu zawiera wybrane bity spośród wielu N składowych słów kodu, które zostały wytworzone przez dostarczenie nierekurencyjnych, systematycznych kodów splotowych z bitami końcowymi do bloku bitów danych w równoległym, połączonym koderze i wytwarzania z nich wielu N odbieranych, składowych słów kodu, znamienny tym, że zawiera wiele N składowych dekoderów, a każdy poszczególny dekoder jest przystosowany do odbioru odbieranego, składowego słowa kodu z przetwornika złożonego słowa kodu w złożone słowo kodu, każdy poszczególny dekoder jest przystosowany także do odbioru zespołu informacji decyzji miękkich a priori dla wartości bitów danych i każdy z N składowych dekoderów jest przystosowany do dostarczania informacji decyzji miękkich w każdym bicie danych w bloku danych w kolejności kodowanej przez składowy koder w równoległym, połączonym koderze, wiele z N-1 układów przeplatania, a każdy poszczególny układ przeplatania jest przystosowany do przeplatania informacji decyzji miękkich ze składowego dekodera dla dostarczania permutowanego bloku informacji miękkich do kolejnego, składowego dekodera, a odbierane słowa kodu są dekodowane przez proces iteracji poprzez N składowych dekoderów i N-1 układów przeplatania dla dostarczania wyjścia decyzji miękkich ze złożonego dekodera, pierwszy układ odplatania zawierający N-1 układów odplatania odpowiadających N-1 układom przeplatania, przy czym N-1 układów odplatania pierwszego układu odplatania jest dostarczanych w odwrotnej kolejności do N-1 układów przeplatania, a zespół informacji decyzji miękkich a priori dla pierwszych z N składowych dekoderów jest obliczany przy założeniu, że wartości bitów danych są równo podatne na pierwszą iterację i następnie zawierają pierwszą funkcję informacji decyzji miękkich, która to pierwsza funkcja informacji decyzji miękkich jest wyprowadzana przez N-ty dekoder i doprowadzana z powrotem przez pierwszy układ odplatania, a zespół informacji decyzji miękkich a priori, dostarczany do każdego innego składowego dekodera, zawiera pierwszą funkcję informacji decyzji miękkich z poprzedniego, kolejnego, składowego dekodera oraz drugi układ odplatania zawierający N-1 układów odplatania odpowiadających N-1 układom przeplatania, przy czym N-1 układów odplatania drugiego układu odplatania jest dostarczanych w odwrotnej kolejności do N-1 układów przeplatania, a drugi układ odplatania odplata drugą funkcję wyjścia decyzji miękkich z N-tego składowego dekodera dla dostarczania wyjścia decyzji miękkich złożonego dekodera
- 9. Dekoder według zastrz. 8, znamienny tym, że liczba iteracji przez składowe dekodery, układy przeplatania i układy odplatania jest wstępnie określoną liczbą.
- 10. Dekoder według zastrz. 8, znamienny tym, ze składowe dekodery, układy przeplatania i układy odplatania są przystosowane do przeprowadzania iterakcji, aż zostanie wykryta zbieżność dekodera, jeżeli liczba iteracji jest mniejsza niż liczba maksymalna, inaczej dekodowanie kończy się po maksymalnej liczbie iteracji i złożony dekoder dostarcza drugą funkcję wyjść decyzji miękkich z N-tego składowego dekodera jako jego wyjście decyzji miękkich przez drugi układ odplatania.
- 11. Dekoder według zastrz. 8, znamienny tym, że zawiera urządzenie decyzyjne do wykonania reguły decyzyjnej dla dostarczenia wyjść decyzji twardych jako funkcji wyjścia decyzji miękkich dekodera złożonego.
- 12. Dekoder według zastrz. 8, znamienny tym, ze N składowych dekoderów zawiera cykliczne dekodery MAP do dekodowania przez rozwiązanie problemu wektora własnego.
- 13. Dekoder według zastrz. 8, znamienny tym, ze N składowych dekoderów zawiera cykliczne dekodery MAP do dekodowania przy zastosowaniu metody rekursji.* * *184 230
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/636,732 US5721745A (en) | 1996-04-19 | 1996-04-19 | Parallel concatenated tail-biting convolutional code and decoder therefor |
PCT/US1997/006129 WO1997040582A1 (en) | 1996-04-19 | 1997-04-14 | Parallel concatenated tail-biting convolutional code and decoder therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
PL184230B1 true PL184230B1 (pl) | 2002-09-30 |
Family
ID=24553103
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PL97323524A PL183239B1 (pl) | 1996-04-19 | 1997-04-14 | Sposób kodowania równoległych, połączonych kodów splotowych oraz koder do kodowania równoległych, połączonych kodów splotowych |
PL97349516A PL183537B1 (pl) | 1996-04-19 | 1997-04-14 | Sposób kodowania i dekodowania równoległych, połączonych kodów splotowych oraz układ kodera i dekodera do kodowania i dekodowania równoległych, połączonych kodów splotowych |
PL97349517A PL184230B1 (pl) | 1996-04-19 | 1997-04-14 | Sposób dekodowania równoległych, połączonych kodów splotowych oraz dekoder do dekodowania równoległych, połączonych kodów splotowych |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PL97323524A PL183239B1 (pl) | 1996-04-19 | 1997-04-14 | Sposób kodowania równoległych, połączonych kodów splotowych oraz koder do kodowania równoległych, połączonych kodów splotowych |
PL97349516A PL183537B1 (pl) | 1996-04-19 | 1997-04-14 | Sposób kodowania i dekodowania równoległych, połączonych kodów splotowych oraz układ kodera i dekodera do kodowania i dekodowania równoległych, połączonych kodów splotowych |
Country Status (21)
Country | Link |
---|---|
US (1) | US5721745A (pl) |
EP (1) | EP0834222B1 (pl) |
JP (1) | JP3857320B2 (pl) |
KR (1) | KR100522263B1 (pl) |
CN (1) | CN1111962C (pl) |
AR (1) | AR006767A1 (pl) |
AU (1) | AU716645B2 (pl) |
BR (1) | BR9702156A (pl) |
CA (1) | CA2221295C (pl) |
CZ (1) | CZ296885B6 (pl) |
DE (1) | DE69736881T2 (pl) |
HU (1) | HU220815B1 (pl) |
ID (1) | ID16464A (pl) |
IL (1) | IL122525A0 (pl) |
MY (1) | MY113013A (pl) |
NO (1) | NO975966D0 (pl) |
PL (3) | PL183239B1 (pl) |
RU (1) | RU2187196C2 (pl) |
UA (1) | UA44779C2 (pl) |
WO (1) | WO1997040582A1 (pl) |
ZA (1) | ZA973217B (pl) |
Families Citing this family (174)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI100565B (fi) * | 1996-01-12 | 1997-12-31 | Nokia Mobile Phones Ltd | Tiedonsiirtomenetelmä ja laitteisto signaalin koodaamiseksi |
US6023783A (en) * | 1996-05-15 | 2000-02-08 | California Institute Of Technology | Hybrid concatenated codes and iterative decoding |
KR100498752B1 (ko) * | 1996-09-02 | 2005-11-08 | 소니 가부시끼 가이샤 | 비트메트릭스를 사용한 데이터 수신장치 및 방법 |
US5996113A (en) * | 1996-11-26 | 1999-11-30 | Intel Corporation | Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation |
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 |
US6029264A (en) * | 1997-04-28 | 2000-02-22 | The Trustees Of Princeton University | System and method for error correcting a received data stream in a concatenated system |
US6888788B1 (en) * | 1997-04-30 | 2005-05-03 | Siemens Aktiengesellschaft | Method and arrangement for determining at least one digital signal from an electrical signal |
EP0935363A4 (en) * | 1997-06-19 | 2005-09-07 | Toshiba Kk | TRANSMISSION SYSTEM WITH INFORMATION MULTIPLEXING, MULTIPLEXER AND DEMULTIPLEXER USED FOR THE SAME, AND ENCODER AND DECODER FOR ERROR CORRECTION |
KR19990003242A (ko) | 1997-06-25 | 1999-01-15 | 윤종용 | 구조적 펀처드 길쌈부호 부호와 및 복호기 |
KR19990012821A (ko) | 1997-07-31 | 1999-02-25 | 홍성용 | 전자기파 흡수체 조성물과 이의 제조 방법, 전자기파 흡수용도료 조성물과 이의 제조 방법 및 이의 도포 방법 |
ES2344299T3 (es) * | 1997-07-30 | 2010-08-24 | Samsung Electronics Co., Ltd. | Metodo y dispositivo para codificacion de canal adaptativo. |
US6192503B1 (en) * | 1997-08-14 | 2001-02-20 | Ericsson Inc. | Communications system and methods employing selective recursive decording |
WO1999012265A1 (fr) * | 1997-09-02 | 1999-03-11 | Sony Corporation | Codeur/decodeur turbo et procede de codage/decodage turbo |
US6138260A (en) * | 1997-09-04 | 2000-10-24 | Conexant Systems, Inc. | Retransmission packet capture system within a wireless multiservice communications environment with turbo decoding |
KR100248396B1 (ko) * | 1997-10-24 | 2000-03-15 | 정선종 | 병렬 길쌈 부호화기를 사용한 채널 부호기 설계방법 |
US6000054A (en) * | 1997-11-03 | 1999-12-07 | Motorola, Inc. | Method and apparatus for encoding and decoding binary information using restricted coded modulation and parallel concatenated convolution codes |
CA2277474C (en) * | 1997-11-10 | 2004-04-06 | Akira Shibutani | Interleaving method, interleaving apparatus, and recording medium in which interleave pattern generating program is recorded |
FR2771228A1 (fr) * | 1997-11-18 | 1999-05-21 | Philips Electronics Nv | Systeme de transmission numerique, decodeur, et procede de decodage |
US6256764B1 (en) * | 1997-11-26 | 2001-07-03 | Nortel Networks Limited | Method and system for decoding tailbiting convolution codes |
WO1999034521A1 (en) * | 1997-12-24 | 1999-07-08 | Inmarsat Ltd | Coding method and apparatus |
US6088387A (en) * | 1997-12-31 | 2000-07-11 | At&T Corp. | Multi-channel parallel/serial concatenated convolutional codes and trellis coded modulation encoder/decoder |
US6430722B1 (en) * | 1998-01-23 | 2002-08-06 | Hughes Electronics Corporation | Forward error correction scheme for data channels using universal turbo codes |
US7536624B2 (en) * | 2002-01-03 | 2009-05-19 | The Directv Group, Inc. | Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes |
US6370669B1 (en) * | 1998-01-23 | 2002-04-09 | Hughes Electronics Corporation | Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes |
US6275538B1 (en) | 1998-03-11 | 2001-08-14 | Ericsson Inc. | Technique for finding a starting state for a convolutional feedback encoder |
US6452985B1 (en) * | 1998-03-18 | 2002-09-17 | Sony Corporation | Viterbi decoding apparatus and Viterbi decoding method |
DE69941164D1 (de) | 1998-03-31 | 2009-09-03 | Samsung Electronics Co Ltd | Turboenkoder/dekoder und von der Servicequalität (QoS) abhängiges Rahmenverarbeitungsverfahren |
KR100557177B1 (ko) * | 1998-04-04 | 2006-07-21 | 삼성전자주식회사 | 적응 채널 부호/복호화 방법 및 그 부호/복호 장치 |
EP1434356B1 (en) * | 1998-04-18 | 2010-08-25 | Samsung Electronics Co., Ltd. | Turbo encoding with dummy bit insertion |
US6198775B1 (en) * | 1998-04-28 | 2001-03-06 | Ericsson Inc. | Transmit diversity method, systems, and terminals using scramble coding |
BR9906479B1 (pt) * | 1998-06-05 | 2013-01-22 | dispositivo de codificaÇço de canal, e, processo de codificaÇço de canal. | |
US6298463B1 (en) * | 1998-07-31 | 2001-10-02 | Nortel Networks Limited | Parallel concatenated convolutional coding |
KR100373965B1 (ko) | 1998-08-17 | 2003-02-26 | 휴우즈 일렉트로닉스 코오포레이션 | 최적 성능을 갖는 터보 코드 인터리버 |
JP2000068862A (ja) | 1998-08-19 | 2000-03-03 | Fujitsu Ltd | 誤り訂正符号化装置 |
US6263467B1 (en) | 1998-08-20 | 2001-07-17 | General Electric Company | Turbo code decoder with modified systematic symbol transition probabilities |
US6128765A (en) * | 1998-08-20 | 2000-10-03 | General Electric Company | Maximum A posterior estimator with fast sigma calculator |
US6223319B1 (en) | 1998-08-20 | 2001-04-24 | General Electric Company | Turbo code decoder with controlled probability estimate feedback |
US6192501B1 (en) | 1998-08-20 | 2001-02-20 | General Electric Company | High data rate maximum a posteriori decoder for segmented trellis code words |
EP1471648B1 (en) * | 1998-08-27 | 2014-02-12 | Dtvg Licensing, Inc | Method for a general turbo code trellis termination |
KR100377939B1 (ko) * | 1998-09-01 | 2003-06-12 | 삼성전자주식회사 | 이동통신시스템에서서브프레임전송을위한프레임구성장치및방법 |
JP2002526965A (ja) | 1998-09-28 | 2002-08-20 | アドバンスト ハードウェア アーキテクチャーズ,インコーポレイテッド | ターボプロダクト符号復号器 |
US6427214B1 (en) * | 1998-09-29 | 2002-07-30 | Nortel Networks Limited | Interleaver using co-set partitioning |
US6028897A (en) * | 1998-10-22 | 2000-02-22 | The Aerospace Corporation | Error-floor mitigating turbo code communication method |
US6044116A (en) * | 1998-10-29 | 2000-03-28 | The Aerospace Corporation | Error-floor mitigated and repetitive turbo coding communication system |
US6014411A (en) * | 1998-10-29 | 2000-01-11 | The Aerospace Corporation | Repetitive turbo coding communication method |
KR100277764B1 (ko) * | 1998-12-10 | 2001-01-15 | 윤종용 | 통신시스템에서직렬쇄상구조를가지는부호화및복호화장치 |
US6202189B1 (en) * | 1998-12-17 | 2001-03-13 | Teledesic Llc | Punctured serial concatenated convolutional coding system and method for low-earth-orbit satellite data communication |
KR100346170B1 (ko) * | 1998-12-21 | 2002-11-30 | 삼성전자 주식회사 | 통신시스템의인터리빙/디인터리빙장치및방법 |
US6484283B2 (en) * | 1998-12-30 | 2002-11-19 | International Business Machines Corporation | Method and apparatus for encoding and decoding a turbo code in an integrated modem system |
KR100315708B1 (ko) * | 1998-12-31 | 2002-02-28 | 윤종용 | 이동통신시스템에서터보인코더의펑처링장치및방법 |
KR100296028B1 (ko) * | 1998-12-31 | 2001-09-06 | 윤종용 | 이동통신시스템에서 이득 조절 장치를 가지는 복호기 |
US6088405A (en) * | 1999-01-15 | 2000-07-11 | Lockheed Martin Corporation | Optimal decoder for tall-biting convolutional codes |
US6665357B1 (en) * | 1999-01-22 | 2003-12-16 | Sharp Laboratories Of America, Inc. | Soft-output turbo code decoder and optimized decoding method |
US6304995B1 (en) * | 1999-01-26 | 2001-10-16 | Trw Inc. | Pipelined architecture to decode parallel and serial concatenated codes |
FR2789824B1 (fr) | 1999-02-12 | 2001-05-11 | Canon Kk | Procede de correction d'erreurs residuelles a la sortie d'un turbo-decodeur |
US6499128B1 (en) | 1999-02-18 | 2002-12-24 | Cisco Technology, Inc. | Iterated soft-decision decoding of block codes |
EP1030457B1 (en) * | 1999-02-18 | 2012-08-08 | Imec | Methods and system architectures for turbo decoding |
US6678843B2 (en) * | 1999-02-18 | 2004-01-13 | Interuniversitair Microelektronics Centrum (Imec) | Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving |
CN100452659C (zh) * | 1999-03-01 | 2009-01-14 | 富士通株式会社 | 加速解码器 |
FR2790621B1 (fr) | 1999-03-05 | 2001-12-21 | Canon Kk | Dispositif et procede d'entrelacement pour turbocodage et turbodecodage |
US6304996B1 (en) * | 1999-03-08 | 2001-10-16 | General Electric Company | High-speed turbo decoder |
US6754290B1 (en) * | 1999-03-31 | 2004-06-22 | Qualcomm Incorporated | Highly parallel map decoder |
US6594792B1 (en) | 1999-04-30 | 2003-07-15 | General Electric Company | Modular turbo decoder for expanded code word length |
US6715120B1 (en) | 1999-04-30 | 2004-03-30 | General Electric Company | Turbo decoder with modified input for increased code word length and data rate |
DE19924211A1 (de) * | 1999-05-27 | 2000-12-21 | Siemens Ag | Verfahren und Vorrichtung zur flexiblen Kanalkodierung |
US6473878B1 (en) * | 1999-05-28 | 2002-10-29 | Lucent Technologies Inc. | Serial-concatenated turbo codes |
JP3670520B2 (ja) * | 1999-06-23 | 2005-07-13 | 富士通株式会社 | ターボ復号器およびターボ復号装置 |
US6516136B1 (en) * | 1999-07-06 | 2003-02-04 | Agere Systems Inc. | Iterative decoding of concatenated codes for recording systems |
KR100421853B1 (ko) * | 1999-11-01 | 2004-03-10 | 엘지전자 주식회사 | 상향 링크에서의 레이트 매칭 방법 |
JP3846527B2 (ja) | 1999-07-21 | 2006-11-15 | 三菱電機株式会社 | ターボ符号の誤り訂正復号器、ターボ符号の誤り訂正復号方法、ターボ符号の復号装置およびターボ符号の復号システム |
US7031406B1 (en) * | 1999-08-09 | 2006-04-18 | Nortel Networks Limited | Information processing using a soft output Viterbi algorithm |
DE19946721A1 (de) * | 1999-09-29 | 2001-05-03 | Siemens Ag | Verfahren und Vorrichtung zur Kanalkodierung in einem Nachrichtenübertragungssystem |
US6226773B1 (en) * | 1999-10-20 | 2001-05-01 | At&T Corp. | Memory-minimized architecture for implementing map decoding |
DE69908366T2 (de) * | 1999-10-21 | 2003-12-04 | Sony International (Europe) Gmbh | SOVA Turbodekodierer mit kleinerer Normalisierungskomplexität |
US6580767B1 (en) * | 1999-10-22 | 2003-06-17 | Motorola, Inc. | Cache and caching method for conventional decoders |
CN1164041C (zh) * | 1999-10-27 | 2004-08-25 | 印芬龙科技股份有限公司 | 对串行数据流进行编码的编码方法和编码装置 |
JP3549788B2 (ja) * | 1999-11-05 | 2004-08-04 | 三菱電機株式会社 | 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム |
US6400290B1 (en) * | 1999-11-29 | 2002-06-04 | Altera Corporation | Normalization implementation for a logmap decoder |
AU4515801A (en) * | 1999-12-03 | 2001-06-18 | Broadcom Corporation | Viterbi slicer for turbo codes |
WO2001043310A2 (en) | 1999-12-03 | 2001-06-14 | Broadcom Corporation | Embedded training sequences for carrier acquisition and tracking |
DE10001147A1 (de) * | 2000-01-13 | 2001-07-19 | Siemens Ag | Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms |
KR100374787B1 (ko) * | 2000-01-18 | 2003-03-04 | 삼성전자주식회사 | 대역 효율적인 연쇄 티.씨.엠 디코더 및 그 방법들 |
US7092457B1 (en) * | 2000-01-18 | 2006-08-15 | University Of Southern California | Adaptive iterative detection |
KR20070098913A (ko) * | 2000-01-20 | 2007-10-05 | 노오텔 네트웍스 리미티드 | 가변 레이트 패킷 데이타 애플리케이션에서 소프트 결합을사용하는 하이브리드 arq 방법 |
KR100331686B1 (ko) * | 2000-01-26 | 2002-11-11 | 한국전자통신연구원 | 2를 밑수로 하는 로그 맵을 이용한 터보 복호기 |
US6606724B1 (en) * | 2000-01-28 | 2003-08-12 | Conexant Systems, Inc. | Method and apparatus for decoding of a serially concatenated block and convolutional code |
US6810502B2 (en) | 2000-01-28 | 2004-10-26 | Conexant Systems, Inc. | Iteractive decoder employing multiple external code error checks to lower the error floor |
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 |
WO2001076079A2 (en) * | 2000-04-04 | 2001-10-11 | Comtech Telecommunication Corp. | Enhanced turbo product code decoder system |
US6606725B1 (en) | 2000-04-25 | 2003-08-12 | Mitsubishi Electric Research Laboratories, Inc. | MAP decoding for turbo codes by parallel matrix processing |
FR2808632B1 (fr) * | 2000-05-03 | 2002-06-28 | Mitsubishi Electric Inf Tech | Procede de turbo-decodage avec reencodage des informations erronees et retroaction |
US20020172292A1 (en) * | 2000-05-05 | 2002-11-21 | Gray Paul K. | Error floor turbo codes |
US6542559B1 (en) * | 2000-05-15 | 2003-04-01 | Qualcomm, Incorporated | Decoding method and apparatus |
US6728927B2 (en) * | 2000-05-26 | 2004-04-27 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre | Method and system for high-spread high-distance interleaving for turbo-codes |
US6738942B1 (en) * | 2000-06-02 | 2004-05-18 | Vitesse Semiconductor Corporation | Product code based forward error correction system |
FI109162B (fi) * | 2000-06-30 | 2002-05-31 | Nokia Corp | Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi |
JP4543522B2 (ja) * | 2000-08-31 | 2010-09-15 | ソニー株式会社 | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 |
US7254190B2 (en) * | 2000-09-01 | 2007-08-07 | Broadcom Corporation | Satellite receiver |
EP1329025A1 (en) * | 2000-09-05 | 2003-07-23 | Broadcom Corporation | Quasi error free (qef) communication using turbo codes |
US7242726B2 (en) | 2000-09-12 | 2007-07-10 | Broadcom Corporation | Parallel concatenated code with soft-in soft-out interactive turbo decoder |
US6604220B1 (en) * | 2000-09-28 | 2003-08-05 | Western Digital Technologies, Inc. | Disk drive comprising a multiple-input sequence detector selectively biased by bits of a decoded ECC codedword |
US6518892B2 (en) | 2000-11-06 | 2003-02-11 | Broadcom Corporation | Stopping criteria for iterative decoding |
US20020104058A1 (en) * | 2000-12-06 | 2002-08-01 | Yigal Rappaport | Packet switched network having error correction capabilities of variable size data packets and a method thereof |
US7230978B2 (en) | 2000-12-29 | 2007-06-12 | Infineon Technologies Ag | Channel CODEC processor configurable for multiple wireless communications standards |
US6813742B2 (en) * | 2001-01-02 | 2004-11-02 | Icomm Technologies, Inc. | High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture |
FI20010147A (fi) * | 2001-01-24 | 2002-07-25 | Nokia Corp | Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi |
WO2002067429A2 (en) * | 2001-02-20 | 2002-08-29 | Cute Ltd. | System and method for enhanced error correction in trellis decoding |
FR2822316B1 (fr) * | 2001-03-19 | 2003-05-02 | Mitsubishi Electric Inf Tech | Procede d'optimisation, sous contrainte de ressoureces, de la taille de blocs de donnees codees |
JP4451008B2 (ja) * | 2001-04-04 | 2010-04-14 | 三菱電機株式会社 | 誤り訂正符号化方法および復号化方法とその装置 |
US6738948B2 (en) * | 2001-04-09 | 2004-05-18 | Motorola, Inc. | Iteration terminating using quality index criteria of turbo codes |
WO2002091592A1 (en) * | 2001-05-09 | 2002-11-14 | Comtech Telecommunications Corp. | Low density parity check codes and low density turbo product codes |
US7012911B2 (en) * | 2001-05-31 | 2006-03-14 | Qualcomm Inc. | Method and apparatus for W-CDMA modulation |
US20030123563A1 (en) * | 2001-07-11 | 2003-07-03 | Guangming Lu | Method and apparatus for turbo encoding and decoding |
JP3746505B2 (ja) * | 2001-07-12 | 2006-02-15 | サムスン エレクトロニクス カンパニー リミテッド | 伝送処理率の改善のためのデータ通信システムの逆方向送信装置及び方法 |
US6738370B2 (en) * | 2001-08-22 | 2004-05-18 | Nokia Corporation | Method and apparatus implementing retransmission in a communication system providing H-ARQ |
US7085969B2 (en) | 2001-08-27 | 2006-08-01 | Industrial Technology Research Institute | Encoding and decoding apparatus and method |
US6763493B2 (en) * | 2001-09-21 | 2004-07-13 | The Directv Group, Inc. | Method and system for performing decoding using a reduced-memory implementation |
FR2830384B1 (fr) * | 2001-10-01 | 2003-12-19 | Cit Alcatel | Procede de dispositif de codage et de decodage convolutifs |
EP1317070A1 (en) * | 2001-12-03 | 2003-06-04 | Mitsubishi Electric Information Technology Centre Europe B.V. | Method for obtaining from a block turbo-code an error correcting code of desired parameters |
JP3637323B2 (ja) * | 2002-03-19 | 2005-04-13 | 株式会社東芝 | 受信装置、送受信装置及び受信方法 |
JP3549519B2 (ja) * | 2002-04-26 | 2004-08-04 | 沖電気工業株式会社 | 軟出力復号器 |
US20050226970A1 (en) * | 2002-05-21 | 2005-10-13 | Centrition Ltd. | Personal nutrition control method and measuring devices |
US20030219513A1 (en) * | 2002-05-21 | 2003-11-27 | Roni Gordon | Personal nutrition control method |
JP3898574B2 (ja) * | 2002-06-05 | 2007-03-28 | 富士通株式会社 | ターボ復号方法及びターボ復号装置 |
KR100584170B1 (ko) * | 2002-07-11 | 2006-06-02 | 재단법인서울대학교산학협력재단 | 터보 부호화된 복합 재전송 방식 시스템 및 오류 검출 방법 |
US6774825B2 (en) * | 2002-09-25 | 2004-08-10 | Infineon Technologies Ag | Modulation coding based on an ECC interleave structure |
US7346833B2 (en) * | 2002-11-05 | 2008-03-18 | Analog Devices, Inc. | Reduced complexity turbo decoding scheme |
EP1592137A1 (en) | 2004-04-28 | 2005-11-02 | Samsung Electronics Co., Ltd. | Apparatus and method for coding/decoding block low density parity check code with variable block length |
CN100367676C (zh) * | 2004-05-27 | 2008-02-06 | 中国科学院计算技术研究所 | 一种卷积码的编码方法 |
WO2005119627A2 (en) * | 2004-06-01 | 2005-12-15 | Centrition Ltd. | Personal nutrition control devices |
US7395490B2 (en) | 2004-07-21 | 2008-07-01 | Qualcomm Incorporated | LDPC decoding methods and apparatus |
US7346832B2 (en) | 2004-07-21 | 2008-03-18 | Qualcomm Incorporated | LDPC encoding methods and apparatus |
KR101131323B1 (ko) | 2004-11-30 | 2012-04-04 | 삼성전자주식회사 | 이동통신 시스템에서 채널 인터리빙 장치 및 방법 |
US7373585B2 (en) * | 2005-01-14 | 2008-05-13 | Mitsubishi Electric Research Laboratories, Inc. | Combined-replica group-shuffled iterative decoding for error-correcting codes |
US7461328B2 (en) * | 2005-03-25 | 2008-12-02 | Teranetics, Inc. | Efficient decoding |
US7360147B2 (en) * | 2005-05-18 | 2008-04-15 | Seagate Technology Llc | Second stage SOVA detector |
US7502982B2 (en) * | 2005-05-18 | 2009-03-10 | Seagate Technology Llc | Iterative detector with ECC in channel domain |
US7395461B2 (en) * | 2005-05-18 | 2008-07-01 | Seagate Technology Llc | Low complexity pseudo-random interleaver |
US8611305B2 (en) | 2005-08-22 | 2013-12-17 | Qualcomm Incorporated | Interference cancellation for wireless communications |
US9014152B2 (en) | 2008-06-09 | 2015-04-21 | Qualcomm Incorporated | Increasing capacity in wireless communications |
US8271848B2 (en) * | 2006-04-06 | 2012-09-18 | Alcatel Lucent | Method of decoding code blocks and system for concatenating code blocks |
US20080092018A1 (en) * | 2006-09-28 | 2008-04-17 | Broadcom Corporation, A California Corporation | Tail-biting turbo code for arbitrary number of information bits |
US7827473B2 (en) * | 2006-10-10 | 2010-11-02 | Broadcom Corporation | Turbo decoder employing ARP (almost regular permutation) interleave and arbitrary number of decoding processors |
US7831894B2 (en) * | 2006-10-10 | 2010-11-09 | Broadcom Corporation | Address generation for contention-free memory mappings of turbo codes with ARP (almost regular permutation) interleaves |
US8392811B2 (en) * | 2008-01-07 | 2013-03-05 | Qualcomm Incorporated | Methods and systems for a-priori decoding based on MAP messages |
TWI374613B (en) * | 2008-02-29 | 2012-10-11 | Ind Tech Res Inst | Method and apparatus of pre-encoding and pre-decoding |
EP2096884A1 (en) | 2008-02-29 | 2009-09-02 | Koninklijke KPN N.V. | Telecommunications network and method for time-based network access |
US8250448B1 (en) * | 2008-03-26 | 2012-08-21 | Xilinx, Inc. | Method of and apparatus for implementing a decoder |
US8719670B1 (en) * | 2008-05-07 | 2014-05-06 | Sk Hynix Memory Solutions Inc. | Coding architecture for multi-level NAND flash memory with stuck cells |
US9237515B2 (en) | 2008-08-01 | 2016-01-12 | Qualcomm Incorporated | Successive detection and cancellation for cell pilot detection |
US9277487B2 (en) | 2008-08-01 | 2016-03-01 | Qualcomm Incorporated | Cell detection with interference cancellation |
US8407553B2 (en) * | 2008-08-15 | 2013-03-26 | Lsi Corporation | RAM list-decoding of near codewords |
EP2307960B1 (en) | 2009-04-21 | 2018-01-10 | Avago Technologies General IP (Singapore) Pte. Ltd. | Error-floor mitigation of codes using write verification |
US9160577B2 (en) | 2009-04-30 | 2015-10-13 | Qualcomm Incorporated | Hybrid SAIC receiver |
CN102668612B (zh) * | 2009-11-27 | 2016-03-02 | 高通股份有限公司 | 增加无线通信中的容量 |
US9673837B2 (en) | 2009-11-27 | 2017-06-06 | Qualcomm Incorporated | Increasing capacity in wireless communications |
PL2524372T3 (pl) * | 2010-01-12 | 2015-08-31 | Fraunhofer Ges Forschung | Koder audio. dekoder audio, sposób kodowania i dekodowania informacji audio i program komputerowy uzyskujący wartość podobszaru kontekstu w oparciu o normę uprzednio zdekodowanych wartości widmowych |
US8448033B2 (en) * | 2010-01-14 | 2013-05-21 | Mediatek Inc. | Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same |
US8464142B2 (en) | 2010-04-23 | 2013-06-11 | Lsi Corporation | Error-correction decoder employing extrinsic message averaging |
US8499226B2 (en) * | 2010-06-29 | 2013-07-30 | Lsi Corporation | Multi-mode layered decoding |
US8458555B2 (en) | 2010-06-30 | 2013-06-04 | Lsi Corporation | Breaking trapping sets using targeted bit adjustment |
US8504900B2 (en) | 2010-07-02 | 2013-08-06 | Lsi Corporation | On-line discovery and filtering of trapping sets |
CN103430472B (zh) * | 2010-10-08 | 2017-05-24 | 黑莓有限公司 | 用于获得改进的码性能的消息重新排布 |
US8769365B2 (en) | 2010-10-08 | 2014-07-01 | Blackberry Limited | Message rearrangement for improved wireless code performance |
CN102412849A (zh) * | 2011-09-26 | 2012-04-11 | 中兴通讯股份有限公司 | 一种卷积码编码方法及编码装置 |
US9043667B2 (en) | 2011-11-04 | 2015-05-26 | Blackberry Limited | Method and system for up-link HARQ-ACK and CSI transmission |
US8768990B2 (en) | 2011-11-11 | 2014-07-01 | Lsi Corporation | Reconfigurable cyclic shifter arrangement |
KR102127021B1 (ko) | 2012-05-11 | 2020-06-26 | 블랙베리 리미티드 | 캐리어 어그리게이션을 위한 업링크 harq 및 csi 다중화를 위한 방법 및 시스템 |
US20130326630A1 (en) * | 2012-06-01 | 2013-12-05 | Whisper Communications, LLC | Pre-processor for physical layer security |
US9053047B2 (en) * | 2012-08-27 | 2015-06-09 | Apple Inc. | Parameter estimation using partial ECC decoding |
RU2012146685A (ru) | 2012-11-01 | 2014-05-10 | ЭлЭсАй Корпорейшн | База данных наборов-ловушек для декодера на основе разреженного контроля четности |
US9432053B1 (en) * | 2014-07-07 | 2016-08-30 | Microsemi Storage Solutions (U.S.), Inc. | High speed LDPC decoder |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2675971B1 (fr) * | 1991-04-23 | 1993-08-06 | France Telecom | Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants. |
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 |
-
1996
- 1996-04-19 US US08/636,732 patent/US5721745A/en not_active Expired - Lifetime
-
1997
- 1997-04-14 UA UA97125953A patent/UA44779C2/uk unknown
- 1997-04-14 PL PL97323524A patent/PL183239B1/pl not_active IP Right Cessation
- 1997-04-14 DE DE69736881T patent/DE69736881T2/de not_active Expired - Fee Related
- 1997-04-14 EP EP97920377A patent/EP0834222B1/en not_active Expired - Lifetime
- 1997-04-14 RU RU98100768/09A patent/RU2187196C2/ru not_active IP Right Cessation
- 1997-04-14 CZ CZ0407397A patent/CZ296885B6/cs not_active IP Right Cessation
- 1997-04-14 AU AU24591/97A patent/AU716645B2/en not_active Ceased
- 1997-04-14 HU HU9901440A patent/HU220815B1/hu not_active IP Right Cessation
- 1997-04-14 KR KR1019970709441A patent/KR100522263B1/ko active IP Right Grant
- 1997-04-14 PL PL97349516A patent/PL183537B1/pl not_active IP Right Cessation
- 1997-04-14 IL IL12252597A patent/IL122525A0/xx not_active IP Right Cessation
- 1997-04-14 WO PCT/US1997/006129 patent/WO1997040582A1/en active IP Right Grant
- 1997-04-14 PL PL97349517A patent/PL184230B1/pl not_active IP Right Cessation
- 1997-04-14 CA CA002221295A patent/CA2221295C/en not_active Expired - Fee Related
- 1997-04-14 BR BR9702156A patent/BR9702156A/pt not_active Application Discontinuation
- 1997-04-14 JP JP53813797A patent/JP3857320B2/ja not_active Expired - Fee Related
- 1997-04-14 CN CN97190399A patent/CN1111962C/zh not_active Expired - Fee Related
- 1997-04-15 ZA ZA9703217A patent/ZA973217B/xx unknown
- 1997-04-17 ID IDP971284A patent/ID16464A/id unknown
- 1997-04-17 MY MYPI97001695A patent/MY113013A/en unknown
- 1997-04-21 AR ARP970101602A patent/AR006767A1/es unknown
- 1997-12-18 NO NO975966A patent/NO975966D0/no not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
DE69736881T2 (de) | 2007-06-21 |
EP0834222B1 (en) | 2006-11-02 |
PL183537B1 (pl) | 2002-06-28 |
UA44779C2 (uk) | 2002-03-15 |
PL323524A1 (en) | 1998-03-30 |
CZ407397A3 (cs) | 1998-06-17 |
ID16464A (id) | 1997-10-02 |
AU2459197A (en) | 1997-11-12 |
HUP9901440A3 (en) | 2000-03-28 |
HUP9901440A2 (hu) | 1999-08-30 |
ZA973217B (en) | 1997-12-18 |
NO975966L (no) | 1997-12-18 |
CN1111962C (zh) | 2003-06-18 |
CA2221295A1 (en) | 1997-10-30 |
JP3857320B2 (ja) | 2006-12-13 |
AU716645B2 (en) | 2000-03-02 |
RU2187196C2 (ru) | 2002-08-10 |
HU220815B1 (hu) | 2002-05-28 |
CN1189935A (zh) | 1998-08-05 |
WO1997040582A1 (en) | 1997-10-30 |
NO975966D0 (no) | 1997-12-18 |
MY113013A (en) | 2001-10-31 |
IL122525A0 (en) | 1998-06-15 |
US5721745A (en) | 1998-02-24 |
PL183239B1 (pl) | 2002-06-28 |
EP0834222A1 (en) | 1998-04-08 |
JPH11508439A (ja) | 1999-07-21 |
KR19990022971A (ko) | 1999-03-25 |
CA2221295C (en) | 2005-03-22 |
CZ296885B6 (cs) | 2006-07-12 |
DE69736881D1 (de) | 2006-12-14 |
KR100522263B1 (ko) | 2006-02-01 |
BR9702156A (pt) | 1999-07-20 |
AR006767A1 (es) | 1999-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PL184230B1 (pl) | Sposób dekodowania równoległych, połączonych kodów splotowych oraz dekoder do dekodowania równoległych, połączonych kodów splotowych | |
Divsalar et al. | Hybrid concatenated codes and iterative decoding | |
JP3854155B2 (ja) | 待ち時間を短くしたソフトイン/ソフトアウトモジュール | |
Masera et al. | VLSI architectures for turbo codes | |
Benedetto et al. | Serial concatenation of interleaved codes: Performance analysis, design, and iterative decoding | |
JP3494994B2 (ja) | 通信システムで直列鎖相構造を有する符号化及び復号化装置 | |
US6044116A (en) | Error-floor mitigated and repetitive turbo coding communication system | |
US6014411A (en) | Repetitive turbo coding communication method | |
Robertson | Improving decoder and code structure of parallel concatenated recursive systematic (turbo) codes | |
Behairy et al. | Parallel concatenated Gallager codes | |
CN1295382A (zh) | 信道解码器和信道解码方法 | |
US6028897A (en) | Error-floor mitigating turbo code communication method | |
KR19990081470A (ko) | 터보복호기의 반복복호 종료 방법 및 그 복호기 | |
JP2001285261A (ja) | エラー訂正符号化型ディジタル伝送方法 | |
Ambroze et al. | Iterative MAP decoding for serial concatenated convolutional codes | |
Wang et al. | On MAP decoding for tail-biting convolutional codes | |
KR101177142B1 (ko) | 고속 데이터 전송에 적합한 터보 부호화 방법 및 장치 | |
Hedayat et al. | Concatenated error-correcting entropy codes and channel codes | |
CN108880569A (zh) | 一种基于反馈分组马尔科夫叠加编码的速率兼容编码方法 | |
Fanucci et al. | VLSI design of a high speed turbo decoder for 3rd generation satellite communication | |
Talakoub et al. | A linear Log-MAP algorithm for turbo decoding over AWGN channels | |
JP3274114B2 (ja) | デコーダーおよびフレーム方向付けターボ・コードのデコーディング方法 | |
Svirid | Additive upper bounds for turbo-codes with perfect interleaving | |
Soyjaudah et al. | Comparative study of turbo codes in AWGN channel using MAP and SOVA decoding | |
Bera et al. | SOVA based decoding of double-binary turbo convolutional code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Decisions on the lapse of the protection rights |
Effective date: 20080414 |