<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=BCJR_algorithm</id>
	<title>BCJR algorithm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=BCJR_algorithm"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=BCJR_algorithm&amp;action=history"/>
	<updated>2026-10-26T02:58:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=BCJR_algorithm&amp;diff=4047305&amp;oldid=prev</id>
		<title>imported&gt;Fluxjupyter: Added full name and trellis link</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=BCJR_algorithm&amp;diff=4047305&amp;oldid=prev"/>
		<updated>2024-06-21T21:11:48Z</updated>

		<summary type="html">&lt;p&gt;Added full name and trellis link&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{short description|Error correction algorithm}}&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Bahl-Cocke-Jelinek-Raviv (BCJR) algorithm&amp;#039;&amp;#039;&amp;#039; is an [[algorithm]] for [[maximum a posteriori]] decoding of [[error correcting code]]s defined on [[Trellis_(graph)|trellises]] (principally [[convolutional code]]s).  The algorithm is named after its inventors: Bahl, Cocke, [[Frederick Jelinek|Jelinek]] and Raviv.&amp;lt;ref name=&amp;quot;bcjr&amp;quot;&amp;gt;{{cite journal |first1=L. |last1=Bahl |first2=J. |last2=Cocke |first3=F. |last3=Jelinek |first4=J. |last4=Raviv |title=Optimal Decoding of Linear Codes for minimizing symbol error rate |journal=IEEE Transactions on Information Theory |volume=20 |issue=2 |pages=284–7 |date=March 1974 |doi=10.1109/TIT.1974.1055186 }}&amp;lt;/ref&amp;gt;  This algorithm is critical to modern iteratively-decoded error-correcting codes, including [[turbo codes]] and [[low-density parity-check codes]].&lt;br /&gt;
&lt;br /&gt;
==Steps involved==&lt;br /&gt;
Based on the [[convolutional code|trellis]]:&lt;br /&gt;
&lt;br /&gt;
* Compute forward probabilities &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;&lt;br /&gt;
* Compute backward probabilities &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt;&lt;br /&gt;
* Compute smoothed probabilities based on other information (i.e. [[noise variance]] for [[AWGN]], [[bit crossover probability]] for [[binary symmetric channel]])&lt;br /&gt;
&lt;br /&gt;
==Variations==&lt;br /&gt;
&lt;br /&gt;
===SBGT BCJR===&lt;br /&gt;
Berrou, Glavieux and Thitimajshima simplification.&amp;lt;ref name=&amp;quot;sichun2006&amp;quot;&amp;gt;{{cite journal |first1=Sichun |last1=Wang |first2=François |last2=Patenaude |title=A Systematic Approach to Modified BCJR MAP Algorithms for Convolutional Codes |journal=EURASIP Journal on Applied Signal Processing |volume=2006 |issue= |pages=95360 |date= 2006|doi=10.1155/ASP/2006/95360 |bibcode=2006EJASP2006..242W |doi-access=free }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Log-Map BCJR===&lt;br /&gt;
{{Expand section|date=September 2022}}&lt;br /&gt;
&amp;lt;ref&amp;gt;{{cite journal |first1=P. |last1=Robertson |first2=P. |last2=Hoeher |first3=E. |last3=Villebrun |title=Optimal and Sub-Optimal Maximum A Posteriori Algorithms Suitable for Turbo Decoding |journal=European Transactions on Telecommunications |volume=8 |issue=2 |pages=119–125 |date=1997 |doi=10.1002/ett.4460080202 |doi-access=free }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Implementations==&lt;br /&gt;
* [http://libsusa.org/ Susa] framework implements BCJR algorithm for [[forward error correction]] codes and channel equalization in C++.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Forward-backward algorithm]]&lt;br /&gt;
* [[Maximum a posteriori|Maximum a posteriori (MAP) estimation]]&lt;br /&gt;
* [[Hidden Markov model]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.inference.phy.cam.ac.uk/mackay/itila/ The online textbook: Information Theory, Inference, and Learning Algorithms], by [[David J.C. MacKay]], discusses the BCJR algorithm in chapter 25.&lt;br /&gt;
* [https://github.com/behrooza/susa/blob/master/inc/susa/channel.h#L360 The implementation of BCJR algorithm in Susa signal processing framework]&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Bcjr Algorithm}}&lt;br /&gt;
[[Category:Error detection and correction]]&lt;br /&gt;
&lt;br /&gt;
{{algorithm-stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;Fluxjupyter</name></author>
	</entry>
</feed>