Algorytm BCJR
Algorytm BCJR jest algorytmem maksymalnego dekodowania a posteriori kodów korekcji błędów zdefiniowanych na kratach (głównie kody splotowe ). Algorytm nosi imię jego wynalazców: Bahla, Cocke'a, Jelinka i Raviva. Algorytm ten ma kluczowe znaczenie dla nowoczesnych dekodowanych iteracyjnie kodów korekcji błędów, w tym kodów turbo i kodów kontroli parzystości o niskiej gęstości .
Zaangażowane kroki
Na podstawie kratki :
- Oblicz prawdopodobieństwa do przodu
- Oblicz wsteczne prawdopodobieństwa
- Obliczanie wygładzonych prawdopodobieństw na podstawie innych informacji (np. wariancja szumu dla AWGN , prawdopodobieństwo skrzyżowania bitów dla binarnego kanału symetrycznego )
Wariacje
SBGT BCJR
Uproszczenie Berrou, Glavieux i Thitimajshima.
Mapa dziennika BCJR
Implementacje
- Susa implementuje algorytm BCJR dla kodów korekcji błędów w przód i wyrównywania kanałów w C++.
Zobacz też
- ^ L.Bahl, J.Cocke, F.Jelinek i J.Raviv, „Optymalne dekodowanie kodów liniowych w celu zminimalizowania wskaźnika błędów symboli”, IEEE Transactions on Information Theory, tom. IT-20(2), s. 284-287, marzec 1974.
- ^ Sichun Wang i François Patenaude, „Systematyczne podejście do zmodyfikowanych algorytmów BCJR MAP dla kodów splotowych”, EURASIP Journal on Applied Signal Processing , tom. 2006, numer artykułu 95360, 15 stron, 2006. doi : 10.1155/ASP/2006/95360
- ^ P. Robertson, P. Hoeher i E. Villebrun, „Optymalne i suboptymalne maksymalne algorytmy A Posteriori odpowiednie do dekodowania turbo”, European Transactions on Telecommunications, tom. 8, 1997.
Linki zewnętrzne
- Podręcznik online: Information Theory, Inference, and Learning Algorithms autorstwa Davida JC MacKaya omawia algorytm BCJR w rozdziale 25.
- Implementacja algorytmu BCJR w frameworku przetwarzania sygnałów Susa