The present invention relates to a method for updating a factor graph of an a posteriori probability estimator.
More in particular, the present invention relates to a method for updating a factor graph of an a posteriori probability estimator, wherein the repetition nodes, also called variable nodes or equality nodes, and the sum nodes, or parity check nodes, of the factor graph are updated with a message propagation algorithm.
The present invention further relates to an estimator, a decoder and a receiver implementing the method for updating a factor graph according to the invention. Algorithms of the “Belief Propagation” type (“BP algorithms”), or message propagation algorithms, are known in the art.
In its most general form, the BP algorithm allows reconstructing the marginal probabilities for a set of random variables which describe a system and which are connected by local constraints, expressed as joint probability distributions P, by starting from a set of observations, in the form of messages or verisimilitudes L, on a subset thereof.
In the BP algorithm, each connection 3 to a node 5 is associated with an incoming message 7 L(;I) and an outgoing message 9 L(;O), and each node 5 of the factor graph 1 is replaced with a corresponding message update node.
The update rule for the node 5 is obtained by assuming statistic independence of the incoming messages 7, through a marginalization carried out in accordance with the formula (1.1):
where x=(x1, . . . , xn) denotes a set of incoming variables at a node 5 and the symbol x˜j denotes a subset of x obtained by excluding the variable xj from x.
The BP algorithm provides the exact a posteriori probabilities for all system variables in a finite number of steps when the graph is a tree (i.e. it contains no cycles), otherwise it gives a good approximation thereof.
As can be observed in the formula (1.1), the general complexity of the node update is proportional to the product of the cardinalities of the alphabets of the incoming symbols at the node 5.
Furthermore, the messages 7,9 are represented by a function of the incoming symbols, and therefore they require, in order to be stored, a memory which is proportional to the cardinality of the symbol alphabets.
A particularly important example of application of the BP algorithm is obtained when the underlying model is a linear system.
In a linear system, the random variables are obtained as a linear combination of other random variables.
For linear systems, the factor graph 1 is made up of three types of nodes 5:
In this case, the rules for updating the messages at the nodes correspond, respectively, to convolution, multiplication and scaling of the axes of the messages 7,9. In order to emphasize the properties of these update rules, the following notations will be adopted below for the operations between messages 7,9:
L1+L2L1(x)*L2(x)
αLL1(αx)
L1·L2L1(x)·L2(x)
where L1 and L2 are a first and a second messages relating to two input variables at a node 5, the symbol “*” indicates the convolution operator, and the symbol “” indicates a definition.
Since convolution and product operations are associative, the update operation for a node 5 that involves more than three variables can be carried out by repeatedly applying the corresponding operations in the formula (1.2):
It can be observed that the sign inversion simply corresponds to the overturning of the axis of the messages: −L1(x)L1(−x).
The complexity of the BP algorithm in this case increases linearly with the number of variables involved in the node 5. In general, it can be shown that, in order to update all the messages for a sum node or repetition node involving n variables, it is sufficient to carry out 3·(n-2) corresponding binary update operations (convolution or multiplication among messages).
The incoming and outgoing messages in the BP algorithm are normally vectors whose size is equal to the cardinality of the alphabet of the respective variable.
In the following, the term message class will refer to a subset of messages which can be parameterized with a number of parameters smaller than the dimensionality of the cardinality of the associated variable. In a BP algorithm operating on linear systems and continuous variables, it is not guaranteed that the output messages belong to the same class as that of the input messages, with the important exception of the Gaussian message class.
The class of Gaussian (also referred to as Normal) messages, or G-messages, is defined as follows:
where the two parameters K (called “concentration”, equal to the inverse of variance) and μ (mean) univocally define a member of the Gaussian message class.
G-messages form a closed set with respect to the convolution, product and scaling of the axes. In addition, the message update rules (convolution and product) translate into rules for updating the parameters of the class of G-messages as follows and as shown in
The simplification found in the formulas (1.4), (1.5) and (1.6) allows the BP algorithm to be executed on factor graphs 1 with finite complexity because:
For further details about the derivation of update rules for linear factor graphs with Gaussian messages, see for example the article by Loeliger H.-A., Dauwels J., Junli Hu, Korl S., Li Ping, Kschischang F. R.: “The Factor Graph Approach to Model-Based Signal Processing”, Proceedings of the IEEE, vol. 95, no. 6, pp. 1295-1322, June 2007, while European patent application no. EP 2144413 illustrates an application of the algorithm described in the cited article for carrying out channel estimate in numerical receivers.
On the other hand, when the system variables are discrete and/or limited, i.e. when discrete alphabets are used, the complexity and memory requirement for message representation of the existing algorithms grow at least linearly with the cardinality of the message alphabets.
The BP algorithm thus becomes inefficient for high-cardinality finite alphabets.
A technical field where BP algorithms are used is channel coding with the introduction of iterative algorithms for decoding very large random codes.
Very large random codes with binary alphabets allow reaching performance levels close to the theoretical limit, but the complexity of their optimal decoding grows exponentially with the code size.
Instead, the complexity of the BP algorithm grows only linearly with the number of variables involved, and therefore ensures very good performance with reasonable complexity.
The use of discrete but not binary variables (cardinality M) at the encoder is desirable for several reasons.
Encoders with high spectral efficiency, which map sets of m=log2 M bits coded on high-cardinality constellations of the QAM or PAM type are often used in telecommunication standards.
For this type of applications, non-binary encoders are the natural choice, and provide better performance than binary codes. However, non-binary encoders are not often employed in practice, mainly because the BP algorithm has a complexity which is at least linear with M and therefore exponential with m.
For this reason, considerable efforts have been made in the telecommunications industry to reduce the complexity of the BP algorithm for non-binary codes, but the best algorithm known (based on FFT) has a complexity of the order of O(M log M) and a memory requirement proportional to M.
For example, the article by Voicila A., Declercq D., Verdier F., Fossorier M., Urard P., entitled “Low-complexity decoding for non-binary LDPC codes in high order fields”, IEEE Transactions on Communications, vol. 58, no. 5, pp. 1365-1375, May 2010, describes an algorithm, called EMS (Extended Min Sum), which further reduces this complexity, at the price however of a degradation in the performance of the decoder, while European patent application no. EP2198523 represents an application of the method proposed in said article wherein, in order to execute the BP algorithm, messages in the form of vectors are used and the update rules are obtained by simplifying the convolution operations.
It is one object of the present invention to provide a method for updating a factor graph of an a posteriori probability estimator which requires a certain quantity of memory for message representation which is independent of the size of the alphabets in use.
It is another object of the present invention to provide a method for updating a factor graph of an a posteriori probability estimator which allows acting upon messages relating to limited and/or discrete variables.
It is a further object of the present invention to provide a method for updating a factor graph of an a posteriori probability estimator which is applicable for iterative decoding of a non-binary code with high or very high cardinality.
These and other objects of the invention are achieved through a method for updating a factor graph of an a posteriori probability estimator as claimed in the appended claims, which are an integral part of the present description.
The invention also relates to an estimator, a decoder and a receiver implementing the method of the present invention.
In short, the subject of the present invention is a method for updating a factor graph of an a posteriori probability estimator, wherein Gaussian like messages are used at the sum and repetition nodes, and wherein discrete and/or limited variables are employed.
The messages are parameterized with their mean and concentration, and the graph update operations have a complexity which does not depend on the cardinality of the alphabets of the variables involved at the nodes.
Therefore, the messages are not represented as vectors whose length is equal to the cardinality of the associated variable, but through a few parameters which identify them within the predefined class. This approach makes both the computational complexity and the memory requirements of the algorithm independent of the cardinality of the variables associated with the graph.
Furthermore, the method according to the present invention allows to provide iterative decoders for non-binary linear channel encoders over rings, with a computational complexity and a memory requirement independent of the dimension of the alphabets in use, thereby allowing for the creation of decoders offering performance levels close to the theoretical limit even for very high spectral efficiencies (tens or hundreds of bits per transmitted symbol), which cannot be obtained with any other prior art algorithm.
In one embodiment of the invention, the class of D-messages is introduced, i.e. messages wherein the message variables are discrete and limited. Said D-messages have low processing complexity and require a small quantity of memory for storage, because the parameterization thereof is independent of alphabet cardinality. D-messages thus open the way to intensive application of non-binary codes with high or even very high cardinality in the telecommunications field.
Further features of the invention are set out in the appended claims, which are intended to be an integral part of the present description.
The above objects will become more apparent from the following detailed description of a method for updating a factor graph of an a posteriori probability estimator, with particular reference to the annexed drawings, wherein:
With reference to
In a first embodiment of the method according to the invention, the operation “modulo M”, where M ∈ , is carried out on the variables a at the output of the sum nodes 11 of the factor graph 10, i.e. new variables aw=a mod M are taken into account.
The module operation carried out on the output variables induces a wrapping of the corresponding messages La.
The messages La
where the pulse train
and a wrapping operator W[.] are introduced.
The wrapping of the messages is transparent with respect to the sum operation, because the operator W switches with the convolution product:
W[L
1
]+W[L
2
]=W[L
1
+L
2]
In particular, this introduces the class of wrapped Gaussian messages (WG-messages), also referred to as wrapped normal messages, which is defined by applying the wrapping operator W to the G-messages of the formula (1.3):
87 =W[]={W[G(μ, K, x)], K ∈
+, μ ∈ [0, M]}
This class is still parameterized with the concentration and mean (module M) of the corresponding G-messages.
The class of WG-messages is closed with respect to the sum operation:
W[G
1
]+W[G
2
]=W[G
1
+G
2
]=W[G
3] ∈. (1.8)
On the other hand, the wrapping has a non-transparent effect at the repetition nodes, since in general it does not switch with multiplication:
W[L1]·W[L2]≠W[L1·L2] (1.9)
This effect is due to the fact that, when the original messages do not have support strictly limited in [0,M], the replicas, or copies, induced by the wrapping of the message are superimposed (aliasing effect):
In particular, the class of WG-messages is no longer closed for this operation, because G-messages do not have limited support in the interval [0,M]:
W[G1]·W[G2]∉ (1.11)
In order to execute a BP algorithm to update the parameters of the class of WG-messages, it is therefore appropriate to find an approximation of the product of (1.11) in the class of WG-messages.
To this end, the class of Von Mises messages (V-messages) is taken into account:
{V(μ, Kv)∝eK
+[0, M]} (1.12)
where Kv is the concentration and μ is the mean of the V-message, and where the quantity
is defined.
The class of V-messages is closed with respect to the product
∀V1, V2 ∈ , V1·V2=V3 ∈
(1.13)
The parameters of the output V-message V3 can be obtained as follows:
It is also possible to approximate a member of the class of WG-messages with mean μ with a member of the class of V-messages with the same mean by applying the following transformations between the respective concentrations, as known, for example, from the book written by Evans M, Hastings N. and Peacock B.: “Von Mises Distribution”, chapter 41, Statistical Distributions, third edition, New York, Wiley, 2000:
where the function ƒ(•) has been defined in order to make the formula simpler, and where Kv and Kw are, respectively, the concentrations of a V-message and of a WG-message approximating it.
In the formula (1.15), moreover, Ii(x) indicates the modified Bessel functions of order i.
In order to find a member of the class of WG-messages which approximates the formula (1.11), it is therefore necessary to:
In brief
The approximation of the formula (1.18) is preferably made when the aliasing effect induced by the wrapping of the formula (1.10) is not negligible, i.e. when the concentration of either message is not sufficiently small, i.e. it is above a threshold that needs to be optimized depending on the specific application. Otherwise, one may directly use the repetition node update formula (1.5) for non-wrapped variables:
where the two means
The following will describe a second embodiment of the method according to the invention, wherein the system variables are assumed to be discrete, i.e. x ∈⊂
.
With reference to
This a priori knowledge can be imposed in the BP algorithm by sampling the corresponding messages, which operation corresponds to multiplying an incoming message at a node 11′,13′ by a pulse train s1(x):
S[L(x)]s1(x)·L(x) (1.20)
where the sampling operator S[•] has been introduced.
The behaviour of the sampling operator S[•] with respect to the operations at the nodes 11′,13′ of the graph 10′ of a linear system is complementary to that of the wrapping operator W[•] of the first embodiment of the method according to the present invention.
The sampling of the messages is, in fact, transparent to the update of the repetition nodes 13′, but it is not with respect to the sum nodes 11′:
S[L
1
]·S[L
2
]=S[L
1
·L
2]
S[L1]+S[L2]≠S[L1+L2] (1.21)
The class of sampled Gaussian messages (SG-messages) is thus introduced, which is obtained by applying the sampling operator S[•] to G-messages.
The class S[g] of sampled Gaussian messages is closed with respect to the product, but it is not with respect to the convolution:
S[G
1
]·S[G
2
]=S[G
1
·G
2
]=S[G
3] (1.22)
S[G
1]+
S[G
2]≠
S[G
3]
In this case, in order to be able to proceed in the BP algorithm by only using the parameters of the SG-messages, it is necessary to find an approximation of the formula (1.23) in the class of SG-messages.
In order to proceed, one must take into consideration that:
{S[G1]+S[G2]}=
{S[G1]]}·
{S[G2]]} (1.24)
where the following has been defined:
l[μ] ∈
integer closest to μ
αμ−l ∈ [−0.5, 0.5]
where the formula (1.25) has been obtained by using the identity
On these grounds, the approximation of the formula (1.23) can be done through the following steps:
In brief
The formula (1.26) should preferably be used when the concentration of the characteristic functions of the messages is sufficiently high, i.e. above a threshold that must be optimized for each specific application, and therefore for small message concentration values. Otherwise, the update formula becomes the formula (1.4):
When concentration values are small, the correspondence between the concentrations of V-messages and the concentrations of WG-messages of the formula (1.16) takes a logarithmic trend. The following approximations apply:
It is therefore advantageous to introduce the concentration logarithm κv,i log Kv,i−log (2) for V-messages and to derive the update equations (1.26) by using this quantity.
By introducing the associative operator max* log Σ exp to simplify the notations, the update equations can be re-written as follows:
This update operation, which is equivalent to the formula (1.26), only requires sums and max* operators, and is therefore particularly useful when implementing the method of the present invention.
The following will describe a third embodiment of the method according to the invention, wherein variables are made discrete and are wrapped with integer period M.
With reference to
In this third embodiment, the sampling operators S[•] and the wrapping operators W[•] switch, and it is possible to introduce the class of digital messages (D-messages)
S[W[
]]=W[S[
]]
which can still be parameterized through the mean and the variance of the corresponding Gaussian message.
The relation among WG-messages, SG-messages and D-messages is shown in
The class of D-messages is not closed either with respect to the sum nodes 11″ or with respect to the repetition nodes 13″. However, it is still possible to apply the approximations introduced with reference to WG-messages and SG-messages:
W[S[G
1
]]+W[S[G
2
]]=W[S[G
1
]+S[G
2
]]≈W[S[G
3]] (1.30)
S[W[G
1
]]·S[W[G
2
]]=S[W[G
1
]·W[G
2
]]≈S[W[G
3]] (1.31)
Discrete variables wrapped with integer period M are variables with finite cardinality M which are obtained, for example, in linear encoders over rings, where inputs are discrete variables in [0,M-1] and sums are made with module M
Said class of linear encoders is a generalization of binary codes (M=2).
The method of said third embodiment, which uses D-messages, thus allows for iterative decoding of linear codes over rings. It should be pointed out, however, that the variable scaling operation (product by a scalar) is not possible.
The complexity of the corresponding iterative decoder is therefore independent of M.
An overview of the formulas that can be used in accordance with the method of the present invention for WG, SG and D type messages is shown in
The decoder implementing the method according to one of the ;three above-described embodiments of the invention comprises an estimator.
An encoder 31 with rate K/N over a ring with cardinality M generates blocks of N integer symbols ck in the interval [0,M-1] starting from blocks of K symbols ul of the same cardinality. The symbols ck are transmitted through an M-PAM modulation on an additive Gaussian channel by means of the correspondence x(c) that defines the M-PAM type modulator 32.
The task of the receiver is to estimate the symbols transmitted at maximum a posteriori probability (MAP). To do so, it is necessary to calculate the a posteriori probability of the latter and decide for the symbol that maximizes it.
Since the model that describes an encoder over rings is a linear model which only involves repetitions and sums modulo M and the input messages to the estimator 34 are sampled and Gaussian messages, it is possible to use the version that processes D-messages of the third embodiment of the present invention through a processing module 33.
The receiver of
The method and the estimator according to the present invention may also be used with the method according to the first and second embodiments of the present invention.
The features and advantages of the present invention are apparent from the above description.
The method according to the present invention advantageously introduces a new family of methods of propagation of messages for discrete and/or wrapped variables.
The method for updating a factor graph of an a posteriori probability estimator according to the present invention advantageously requires a quantity of memory for message representation which is constant and independent of the cardinality of the variables' alphabets in use.
Another advantage is that the method of the present invention allows acting upon messages wherein variables are limited and/or discrete.
A further advantage is that the method of the present invention allows creating iterative decoders for non-binary codes with high or very high cardinality.
Finally, the method of the present invention can advantageously be used for at least the following applications:
The method for updating a factor graph of an a posteriori probability estimator described herein by way of example may be subject to many possible variations without departing from the novelty spirit of the inventive idea; it is also clear that in the practical implementation of the invention the illustrated details may have different shapes or be replaced with other technically equivalent elements.
It can therefore be easily understood that the present invention is not limited to a method for updating a factor graph of an a posteriori probability estimator, but may be subject to many modifications, improvements or replacements of equivalent parts and elements without departing from the inventive idea, as clearly specified in the following claims.
Number | Date | Country | Kind |
---|---|---|---|
TO2011A000477 | May 2011 | IT | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB2012/052754 | 5/31/2012 | WO | 00 | 12/2/2013 |