BCJRAlgorithmus
Der BCJR-Algorithmus (benannt nach Bahl, Cocke, Jelinek und Raviv) ist ein Soft-Output-Decoder für konvolutionale Codes. Er berechnet die a posteriori Wahrscheinlichkeit (APP) jeder symbolischen Übertragung gegeben das gesamte empfangene Signal Y. Im Gegensatz zum Viterbi-Algorithmus liefert BCJR vollständige Wahrscheinlichkeitsverteilungen statt eines einzelnen Pfades, wodurch Soft-Entscheidungen möglich sind und sich der Decoder in iterativen Verfahren einsetzen lässt.
Grundlage ist die Trellisdarstellung des Codes mit Zuständen S_k und Übergängen zwischen aufeinanderfolgenden Zeiten. Es werden
Komplexität und Anwendung: Der Algorithmus arbeitet typischerweise mit O(N S^2) Zeit und O(S) Speicher pro Stufe,