This application is related to U.S. application Ser. No. 12/716,121, titled “Belief Propagation Processor,” filed on Mar. 2, 2010, and corresponding PCT Application No. PCT/US10/25956, published as WO/2010/101944A1 on Sep. 10, 2010. These applications are incorporated herein by reference.
This invention relates to an analog belief propagation, and in particular to a current mode implementation of belief propagation a processor.
Soft logic processing with analog values has a number of applications, including in decoding of Low Density Parity Check (LDPC) codes. A number of algorithms have been proposed for processing digital or analog representations of values, including the Sum-Product (SP) algorithm, which is sometimes referred to as a Belief Propagation Algorithm, and the Min-Sum (MS) algorithm (also referred to as Max-Sum or Max-Product), which can be regarded as an approximation of the SP algorithm. A description of such algorithms may be found in H. Wymeersch, Iterative Receiver Design, Cambridge University Press, Cambridge, 2007.
One representation of belief propagation process makes use of a bipartite graph referred to as a “factor graph,” which includes variable (equals) nodes and factor (or constraint) nodes. Messages are iteratively passed between the nodes in a convergent process. One specific belief propagation process is used for error correction decoding in which the variables are bits of a codeword, and the factors are parity constraints among subsets of bits of the codeword.
Circuit implementations of the min-sum algorithm for error correction decoding generally involve two kinds of soft-gates: equals and XOR, corresponding to variable nodes and factor nodes of a factor graph, respectively. The connectivity of the factor graph that defines the connectively between the soft equals and soft XOR is based on the check-matrix associated with the specific error correcting code. When using a log-likelihood ratio (LLR) representation for the messages, the operations required by the min-sum algorithm for each soft-gate type are as follows.
In an aspect, in general, an analog belief propagation system uses current mode implementations of storage elements and circuit implementations of at least some nodes of a factor graph using current representations. The system mitigates or avoids effects of non-linearities and approximations in storage and processing elements of the system, for instance, by using storage cells that reproduce current values and using factor circuits that separate control sections and signal path sections of the circuits.
In another aspect, in general, Soft XOR gates, and Soft Equals gates implement nodes of the factor graph to process current representations of messages, and makes use of an overall architecture described in the incorporated “Belief Propagation Processor” patent application.
In some implementations, this Min-Sum approach provides improved performance over previous approaches, possibly in part by mitigating or avoiding effects of non-linearities and approximations in storage and processing elements of the system.
In another aspect, in general, an analog storage cell includes an input for accepting a current encoded value in a writing mode. The storage cell includes a transforming element that is coupled to the input in the writing mode and produces a voltage according to a substantially non-linear voltage-current relationship of the transforming element. The storage cell includes a voltage storage element that retains the produced voltage value. In a reading mode, the voltage on the voltage storage element provides an input to the transforming element. In the reading mode, the transforming element reproduces the input current according to the voltage-current relationship.
Advantages may include one or more of the following.
The same transforming element is used during the writing and the reading modes, and therefore the accuracy of reproducing the input current does not substantially depend on the specific non-linear relationship.
In some examples, the current-to-voltage relationship is compressive (e.g., logarithmic) providing both high accuracy at low current values as well as a large range of reproducible current values.
Other features and advantages of the invention are apparent from the following description, and from the claims.
The incorporated patent application titled “Belief Propagation Processor” includes a description of one or more implementations of approximation of the Sum-Product algorithm using analog signals and storage values. In general, these described implementations make use of a scheduled sequencing of interconnections of three primary types of storage or processing elements, namely: storage elements, soft XOR elements, and soft Equals elements. In at least some parts of the processor, signal values are represented as currents. Such current representation has a benefit, for example, for implementing a distributed summation of terms by accumulating current on a bus-like structure from a set of current sources. In at least some of the implementations described in the incorporated application, other elements process signals represented as voltages. For example, storage elements may maintain state as a voltage or charge that is proportional to a current value to be stored. As another example, a soft XOR makes use of voltage input values.
This document provides a description of an improved believe propagation processor suitable for decoding applications in which the storage elements, factor elements (e.g., soft XOR elements), or both are implemented to directly process current representations of signal values. Furthermore, an exact or approximate Min-Sum approach is used.
Referring to
Below, details of one or more current-mode implementations of each of the three primary types of elements are described.
In some implementations of the Min-Sum algorithm, intermediate results of the computations are stored in memory. This allows a number of computation elements that perform the soft equals and soft XOR computations to be reused in performing the overall Min-Sum algorithm. If this approach is used, then memory elements are needed as part of the computation in addition to the soft equals and soft XOR.
Referring to
Referring to
Referring to
Generally, operation of the memory cell can be understood based on operation of a current mirror circuit in which one transistor senses the input current, and a second transistor has its gate voltage tied to the gate voltage of the first transistor, thereby mirroring the input current in the current through the second transistor. In the memory cell shown in
Referring to
As introduced above, a Soft Equal element 130 (see
As introduce above, above, in a Min-Sum implementation with log likelihood signal values, an N-input bidirectional XOR circuit 110 implements N XOR functions, where each output signal excludes the corresponding input.
To be more precise, let x1, . . . , xN be the log likelihood inputs to the bidirectional XOR 110, and y1, . . . , yN be the corresponding outputs. Each input and output can be considered to has a sign and a magnitude such that x1=sgn(xi)mag(xi), where sgn(x1)=±1 and mag(xi)≧0, and similarly yi=sgn(yi)mag(yi). In this notation, the XOR circuit is designed to implement sgn(yi)=Πj≠isgn(xj)=sgn(xi)Πjsgn(xj)=sgn(xi)S, and mag(yi)=minj≠imag(xj).
Referring to
The control section functionally determines the following values:
{sgn(xj),j=1, . . . ,N},
jmin=arg minjmag(xi), and
jmin2=arg minj≠minmag(xi).
In some examples, the values jmin and jmin2 are produced as a set of N indicator signals:
The signal path section functionally implements the following:
Continuing to refer to
Referring to
Referring to
In order to obtain both the ismini and ismin2i values, in some implementations, the sections 430 are used twice, for example, in successive phases of a control clock. In the first phase, the minimum of all the values is obtained, and the ismini values are saved in latches (not shown). In the second phase, the section 430 of the minimum is not enabled (e.g., illustrated as a switch controlled by an enable signal “EN”), and the result is the second largest, and the outputs are latched as the values ismin2i.
Referring to
In an embodiment of the distributor 324, a set of switch sections 520 couple the busses to the outputs. Logical operation of the switch sections 510 and 520 can be understood as closing switch 511 for the jmin section can switch 512 for the jmin2 section. At the output, either switch 521 or 522 is closed depending on whether the output depends on xjmin or xjmin2, and a plus or minus one multiplier 523 is set depending on the needed polarity.
Referring to
In some examples, the control section is used to limit the magnitude of the output to current by introducing an addition reference input x0. If all the magnitudes of the input values xi exceed this reference input, then both jmin and jmin2 are set to zero, resulting in the outputs yi being limited in magnitude to x0.
In some embodiments, the data flow through the Soft XOR is staged by enabling different stages in successive phases of a clocked iteration. In some examples, the comparators 422 (see
In some embodiments, the outputs of the Soft XOR are scaled according to a scale factor that is determined, for example, according to the signal to noise ratio or the expected bit error rate of a decoder. In some such embodiments, the scaling is implemented in current mirrors in the signal path section 320. For example, the sections 520 may have digital gain controls. For example, one implementation of such a gain controllable current mirror ties the base of the input transistor to a selected subset of output transistors. Depending of the relative dimensions or gain characteristics of the input transistor and these output transistors, a selectable gain is achieved.
In some embodiments the outputs of the Soft XOR are offset according to an offset factor that is determined, for example, according to the signal to noise ratio or the expected bit error rate of a decoder. In some such embodiments, the offset is implemented by coupling a controllable current source to each of the outputs.
It should be understood that the use of current mode circuit implementations of factor nodes is not limited to XOR factors. Referring to
An implementation of a factor node for a more general factor takes the form shown in
In some examples, the input signals are obtained from a memory in the form of base voltages that induce corresponding currents, and the stored base voltages of the storage cells are coupled to base connections of output transistors in the distributor according to the determined indices of the minimum terms to cause the desired currents to be applied to the output.
Note that for some more general factors, the control section can operate in a series of iterations, for example, iterating over all combinations of signal values (i.e., (a,b,c) triples in the example) in order to determine the indices of the minimum terms from which the output signals are determined. Once the determined minimum terms are determined, the signal path section is configured to pass the signals from input to output of the factor.
Implementations of the approaches described above may be implemented in various integrated circuit technologies. Also, current representation of signals may be combined with voltage representations in one system. Furthermore, it should be clear that the approaches are applicable to a wide range of factor graphs, in which a whole factor graph or parts of a factor graph are mapped to circuitry that implements the factor and variable nodes, and makes use of analog (or alternatively digital) memory to enable iteration of the message passing algorithm.
It is to be understood that the foregoing description is intended to illustrate and not to limit the scope of the invention.
This application is the national phase under 35 USC 371 of international application no. PCT/US2011/050147, filed Sep. 1, 2011, which claims the benefit of the priority date of U.S. application No. 61/379,241, filed Sep. 1, 2010, U.S. application No. 61/380,971, filed Sep. 8, 2010, and U.S. application No. 61/423,075, filed Dec. 14, 2010. The contents of the aforementioned applications are incorporated herein in their entirety.
This invention was made with government support under FA8750-07-C-0231 awarded by the Defense Advanced Research Projects Agency (DARPA). The government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2011/050147 | 9/1/2011 | WO | 00 | 5/9/2013 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2012/067692 | 5/24/2012 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7669106 | Farjadrad | Feb 2010 | B1 |
20050240647 | Banihashemi et al. | Oct 2005 | A1 |
20070194810 | Hannah et al. | Aug 2007 | A1 |
20080174460 | Vigoda | Jul 2008 | A1 |
20100033228 | Gershenfeld et al. | Feb 2010 | A1 |
20110255612 | Bernstein et al. | Oct 2011 | A1 |
20130313802 | Kraus et al. | Nov 2013 | A1 |
Number | Date | Country |
---|---|---|
WO 2008034254 | Mar 2008 | WO |
WO 2008141453 | Nov 2008 | WO |
Entry |
---|
Vigoda, B. “Analog Logic: Continuous-Time Analog Circuits for Statistical Signal Processing,” [retrieved from the internet: http://media.mit.edu/physics/publications/theses/03.07.vigoda.pdf. retrieved Jun. 4, 2008). |
Tanaka et al., “Rewritable Programmable Logic Array of Current Mode Logic,” IEEE Transactions on Computers, vol. C-30, No. 3, pp. 229-234 (1981). |
Hemati et al., “A 0.18-CMOS Analog Min-Sum Iterative Decoder for a (32,8) Low-Density Parity-Check (LDPC) Code,” IEEE Journal of Solid State Circuits, vol. 41, No. 11, pp. 2531-2540 (2006). |
Number | Date | Country | |
---|---|---|---|
20130219245 A1 | Aug 2013 | US |
Number | Date | Country | |
---|---|---|---|
61379241 | Sep 2010 | US | |
61380971 | Sep 2010 | US | |
61423075 | Dec 2010 | US |