Joint Factor Graph Detector Decoder
5.2 Mitigating Cycles in a Channel Factor Graph
Two methods are proposed to mitigate or completely remove length-4 cycles in the channel factor graph of the factor-graph based detector. The first method involves the use of a Generalized Partial Response (GPR) equalizer to design a constrained target which will result in a channel factor graph with zero or reduced number of short cycles. The second method involves in a non-binary implementation of the detection algorithm where consecutive nodes in the channel factor graph are grouped together, resulting in fewer edges and therefore cycles in the channel factor graph. The proposed methods are presented in greater detail in this section.
5.2.1 Constraining Generalized Partial Response Target
In a channel factor graph, the edges that connect the channel and variable nodes of the graph are constructed based on the position of the non-zero coefficients of the channel in which it represents (as presented in section 5.1.1). Designing a channel factor graph with reduced number of length-4 cycles along its edges can therefore be obtained by tweaking these coefficients and their positions. This can be achieved through the use of a conventional GPR equalizer (section 2.3.2). A GPR equalizer can be employed to reshape the channel response into a target response that will result in a channel factor graph with fewer short cycles or completely free of short cycles. Such targets can be achieved by establishing specific constraints during the design process of the GPR equalizer.
As presented in section 2.3.2, a GPR equalizer and GPR target are jointly designed by minimizing the mean squared error (MSE) of the error signal between the equalizer output and target output. This can be expressed mathematically as
E[𝑒𝑘2] = 𝒈𝑇𝐀𝒈 − 2𝒈𝑇𝐏𝒘 + 𝒘𝑇𝐑𝒘 (5.13)
125
where 𝑒𝑘 refers to the error signal, 𝑨 is the auto-correlation matrix of 𝑥𝑘, 𝑹 is the auto-correlation matrix of 𝑟𝑘, 𝑷 is the cross-correlation matrix between 𝑥𝑘 and 𝑟𝑘,𝒘 is the equalizer response and 𝒈 is the target response.
In the design process, constraints can be imposed on the coefficients of 𝒈. For example, when designing a GPR target of length, 𝑁𝑔 = 6, a constraint can be imposed such that the fourth coefficient of the target is restricted to be 0. In this case, the following constraint is specified:
𝐄T𝒈 = 𝒊 (5.14)
where
𝐄T = [1 0 0
0 0 0 0 0 0 1 0 0] 𝒈 = [𝑔0 𝑔1 𝑔2 𝑔3 𝑔4 𝑔5]T
𝒊 = [1 0]T
The cost function can then be minimized according to the description provided in section 2.3.2.
The channel factor graph is subsequently designed based on the GPR target designed.
Figure 5.10: Channel factor graph free of length-4 cycles as a result of constraining the third and fifth coefficient of its designed target to 0.
Two examples can be used to illustrate the effect of constraining designed targets on the channel factor graph. Firstly, given a GPR target with 𝑁𝑔 = 6, constraining its third and fifth coefficient to 0 (ie. 𝑔2 = 0 𝑎𝑛𝑑 𝑔4 = 0) will result in a channel factor graph free of length-4 cycles as shown in Figure 5.10. Similarly, constraining the second and fourth coefficient of the
126
target to 0 (ie. 𝑔1 = 0 𝑎𝑛𝑑 𝑔3 = 0) instead gives rise to a channel without any 4-cycles present (Figure 5.11). The constraints imposed have resulted in the elimination of length-4 cycles in both examples. Despite its effectiveness in mitigating or completely removing length-4 cycles in the channel factor graph, the use of a GPR equalizer will, in practice, result in coloration of noise. As such, a trade-off between the number of short cycles removed and the extent of noise coloration is necessary.
Figure 5.11: Channel factor graph free of length-4 cycles as a result of constraining the second and fourth coefficient of its designed target to 0.
5.2.2 Non-Binary Factor Graph-Based Detector
An alternative method of reducing the number of length-4 cycles in the channel factor graph of the JFGDD involves an implementation of a non-binary factor-graph based detector. This section presents the proposed method.
The factor graph-based detector proposed in section 5.1.1 computes and pass messages that represent bit probabilities within its nodes. As such, this factor-graph based detector can be classified as a binary factor graph-based detector. The binary factor graph-based detector can be implemented in a non-binary form where messages are represented in the form of symbol probabilities instead of bit probabilities. This is coined the non-binary factor graph-based detector. In this non-binary detector, symbols are defined by grouping M consecutive coded
127
bits or read-back samples. These symbols can be represented as vectors 𝑿𝒏 and 𝒁𝒏 respectively where
𝑿𝒏 = [𝑥𝑀∙𝑛, 𝑥𝑀∙𝑛+1, … , 𝑥𝑀∙(𝑛+1)−1]T
(5.15) 𝒁𝒏 = [𝑧𝑀∙𝑛, 𝑧𝑀∙𝑛+1, … , 𝑧𝑀∙(𝑛+1)−1]T (5.16)
Each symbol can take on 2𝑀 values denoted by 𝑥́(0), 𝑥́(1), … , 𝑥́(2𝑀−1). The messages passed along the edges of a non-binary factor graph-based detector are thus not representative of individual bits but rather each possible combination of variables listed above. As such, in the non-binary implementation, 2𝑀 messages are passed between the channel and variable nodes (in each direction) of the channel factor graph at each iteration step.
Figure 5.12: Channel factor graph of a non-binary factor graph-based detector designed with M = 2.
The proposed grouping of consecutive bit sequences will lead to a significant reduction in the number of short cycles of the channel factor graph. For 𝑀 = 2 for example, the resulting non-binary factor graph for a channel with memory, 𝐿𝑚𝑒𝑚 = 3 and ℎ𝑘 ≠ 0 is shown in Figure 5.12.
Each variable node now represents the vector 𝑿𝒊 instead of the bit 𝑥𝑖 and each channel node represents the grouping of several factors 𝑔𝑗. In Figure 5.12, length-4 cycles are still present in the non-binary factor graph but occur less frequently than in a binary factor graph of the same channel shown in Figure 5.3.
128
Figure 5.13: Channel factor graph of a non-binary factor graph-based detector designed with M = 3.
A non-binary factor graph-based detector for the same channel is represented in Figure 5.13 when M = 3. The absence of closed loops in this channel factor graph is apparent. In general, a completely cycle-free factor graph can be obtained when M = Lmem.
As the variable nodes in a channel factor graph of a non-binary factor graph-based detector represent symbols instead of bits, the messages passed between the nodes of the graph will be computed differently from that of a binary factor graph-based detector. The messages, 𝐕ji, passed from a channel node 𝑔𝑗 to a variable node 𝑿𝒊 can be expressed as the following vector:
𝑽𝑗𝑖 = [𝑣́𝑗𝑖(0), 𝑣́𝑗𝑖(1), … , 𝑣́𝑗𝑖(2𝑀−1)]𝑇 (5.17)
where each vector element represents
𝑣́𝑗𝑖(𝑙)= P(𝑿𝒊 = 𝑥́(𝑙)|𝒀𝑗) (5.18)
The computation of messages previously presented in the binary factor graph-based detector can be re-formulated for its cycle-free non-binary counterpart. In equation (5.6), the summation is applied to all possible combinations of symbol vectors for the non-binary factor graph detector and is not limited to binary values. The message vector, 𝑼𝑖𝑗, passed from a variable node 𝑿𝒊 to a channel node 𝑔𝑗 can be expressed similarly as follow:
129
𝑼𝑖𝑗 = [𝑢́𝑖𝑗(0), 𝑢́𝑖𝑗(1), … , 𝑢́𝑖𝑗(2𝑀−1)]𝑇 (5.19) where each vector element represents a-priori probabilities used in subsequent iteration step.
This can be written as
𝑢́𝑖𝑗(𝑙) = P(𝑿𝒊 = 𝑥́(𝑙)) (5.20)
For a cycle-free non-binary factor graph as in Figure 5.11, forwarding of messages can be done simply as follow:
𝑼(𝑖−1)𝑖 = 𝑽(𝑖−1)(𝑖−1) (5.21)
𝑼𝑖𝑖 = 𝑽(𝑖+1)𝑖 (5.22)