• Keine Ergebnisse gefunden

Decreasing termatiko distance by adjoining redundant rows to a measurement matrix

3. FAILURE ANALYSIS OF THE INTERVAL-PASSING ALGORITHM FOR COMPRESSED SENSING

3.2. Column-regular measurement matrices

3.2.4. Decreasing termatiko distance by adjoining redundant rows to a measurement matrix

As it was discussed in Chapter 2, for BP decoding over the BEC one can add re-dundant rows to a parity-check matrix in order to decrease the number of stopping sets [46]. This is also the case for relaxed linear programming decoding of binary linear codes on any symmetric channel [15]. In this section, we aim to improve the recovery performance of the IPA by adding redundant rows to a measurement mat-rix, inspired by success on the BEC. However, there is one fundamental difference in the sense that the real linear combinations that are added to the measurement matrix should contain non-negative entries only. Furthermore, we would like to stress that redundant rows that we add to the measurement matrix are not used to provide new measurements, but rather used in the recovery process, which means that also measurements need to be linearly combined at the receiver. Thus, this procedure does not make the compression rate of the scheme worse, but rather potentially improve the recovery performance.

The following lemma shows that adding redundant rows to the measurement matrix does not harm IPA reconstruction performance, namely that it does not create new termatiko sets.

Lemma 43. Adding redundant measurements does not create new termatiko sets.

Proof. Let the original measurement matrix be denoted byA. Its extended version with non-negative redundant rows is denoted byA0. The matrixA0 is constructed such that the first rows ofA0are exactly the rows ofAand the remaining rows are real-valued linear combinations of the rows ofAwith non-negative entries.9

Denote also the Tanner graph corresponding toA0by(V0∪C0, E0), and letN0, NT0 be the notation for neighbours in this Tanner graph (analogously to (1.1)).

Consider some signal vectorx and two problems, IPA(y, A) andIPA(y0, A), wherey=xA|andy0 =xA0|.

The set of variable nodes is the same, i.e.V =V0, but the set of measurement nodes is now a superset of the original set, i.e. C ⊂C0. The same is true for the set of edges,E⊂E0. It holds for allv∈V thatN0(v) =NC0(v)∪ NC00\C(v) = N(v)∪ NC00\C(v). For allc ∈ C, we haveN0(c) = N(c). This in turn means thatyc=yc0 forc∈C.

9Non-negativity of matrix entries is important for the correctness of the IPA.

Table7.Codewordsupportmatricessplitintotermatikosets.Verticallinesillustratehowtosplitthecodewordsintopairsofdistincttermatikosets eachofhalfthesize. MatrixCodeword weightCodewordsupportmatrixsplit H(q,4) q≥1110

" 0624123001224630 03134123012413 012246612024 0219122492412021

# H(5,4) z∈F5\{0} k∈{0,2z}8

" 03k+3z2k+4z2z03k+3z2k+4z2z 03zk+4zk+2zk+4z0k+2z3z 02k+3z4z2k+2z2k+3z2k+2z04z 04k+3z4k+4z3k+2z3k+2z4k+4z4k+3z0

# H(7,4) z∈F7\{0} k∈{0,2z,4z,6z}8

" 02k+5z2k+z4z02k+5z2k+z4z 0k+2z5zk+4zk+2z0k+4z5z 06z5k+2z2k+4z2k+4z5k+2z06z 06k+3z3k+6z3k+4z3k+6z3k+4z6k+3z0

# H(q,5) q6=1112

 

041822616062218416 0181231110111238 062206260620 0111283131211018 016221864418226016

  H(11,5)10

 

0547674056 101083131080 2659062905 310108018310 4760550764

 

8.Codewordsupportmatricessplitintotermatikosets(continued).Verticallinesillustratehowtosplitthecodewordsintopairsofdistinct osetseachofhalfthesize. Codeword weightCodewordsupportmatrixsplit ,6)12

  

036254265403 065431306514 024615410625 053162521036 012346632140 041523043251

   ,6)16

  

010157660610510706 047102698708910624 0924861581069542 0389364292338460 083396710103607389 029846107049862107

   q,6) 1120

  

0222201081210322210210322220082212 0168897171151680161617159178 010184862212210622201210181084 042816752723194442816752719230 023828643234362263432203628384 084840533745538084048354537538

   q,7)24

    

018142084826121022604228201012818214 01410127164869156401491581061217 0106466461008868461010684600 0624511281267161282115462017 0221241601014126661612101202406214 026203212121618513620161813502212321 06102822641418244206242026141020418428

    

Table 9.Termatiko distances of array LDPC code matricesH(q, a).

Let µ0 and M0 (with corresponding indices) be bounds in the iterations of IPA(y0, A0). In order to prove the statement of the lemma, it is enough to show Inductive Step.Consider iteration`≥1. At each step`of the IPA and for all c∈Candv ∈ N0(c) =N(c), we have apply these inequalities to Lines 14 and 15 in Algorithm 1 and, using properties of the functionsmin(·)andmax(·), we obtain the desired result.

From Lemma 43 it follows that adding redundant rows to the measurement matrix cannot harm the IPA. The following example shows that adding such rows can indeed improve the performance of the IPA by removing termatiko sets.

Example 44. Consider the binary measurement matrix

A=

v1 v2 sets defined in Theorem 35. T is a termatiko set. measurement nodec. T is not a termatiko set any more.

Figure 22.Adding a redundant measurementccorresponding to the difference of rows c2andc1of the matrix in Example 44.

The corresponding Tanner graph is shown in Fig. 22a. Note that the set{v1, v2} is a termatiko set for this matrix. However, if we add a redundant rowcequal to the difference of rowsc2 andc1,{v1, v2}is not a termatiko set for the extended

sincec4violates conditions in Theorem 35:

• c4is not connected toS0, and

Fig. 22b illustrates the differences. 4

The following question arises: which redundant rows do we need to add in order to remove the largest number of harmful small-size termatiko sets. We pro-pose the following heuristic approach. First, fix some list of small-size termatiko sets for the original measurement matrixAand generate a pool of redundant rows which (hopefully) help to remove at least one termatiko set from the list as fol-lows.

Consider a termatiko set T from the list and its corresponding set S. A re-dundant rowr= (r1, r2, . . . , rn)for the measurement matrixAcan be uniquely

10Recall that operations are performed overR.

defined by coefficientsα1, α2, . . . , αm∈Rin a linear combination rv =X

c∈C

acvαc.

However, since in the real calculations floating-point numbers are effectively ra-tional numbers, by multiplying allα’s by some common multiplier of their de-nominators, we can make them all integer, and they still produce a redundant row rwith the same support. Therefore, with no loss of generality, we assume thatα’s are integers. If original matrixAhas integer entries, the resulting extended matrix has integer entries as well, which allows for a faster IPA in applications where the signalxis integer.

There are two types of redundant rows that will be collected in the pool. The first type “breaks” the termatiko setT for sure. It has one non-zero entry in the positions inT and zeroes in entries indexed byS. The other entries ofrcan be chosen arbitrarily. More precisely, for a fixedv0 ∈T we solve the (integer) linear programming problem and is used to obtain smaller coefficients in a redundant row. In fact, for any feasible solution, the corresponding redundant row eliminates the termatiko set T. A redundant row can potentially be obtained for eachv0 ∈ T. As a final remark, relaxing the α’s to be real numbers turns the program into a standard linear program that can be solved using the simplex method. However, as noted above, having integers (of moderate size) in the measurement matrix has some potential benefits. Thus, when the size of the program is not too large and can be solved using a standard solver in a reasonable time (which is the case in our examples), we keep the integer constraint on theα’s.

Redundant rows of the second type do not necessarily “break” T, but they have good chances for doing that. The basic idea is to make variable nodes inS to not satisfy Theorem 35. Hence, they are not included inS for the extended matrix. Hopefully, this eliminatesT as a termatiko set for the extended matrix.

Note that having several non-zero entries in positions inS is better, since all of them disappear fromS (and we do not add new ones toS). This have a greater chance of removingT. The corresponding (integer) linear program is

rv

X

v∈S

rv ≥10|S|,

where the constants10and1000are chosen rather arbitrarily;10is used in order to make non-zero entries inrS more likely, and the upper bounds of1000make sure the entries inrare of limited size. Note that no objective function is spe-cified, since any feasible solution will do. For each termatiko setT, this approach produces at most one redundant row.

Finally, after constructing the pool of redundant rows as described above, we start adjoining them to the matrixAone by one in a greedy manner as follows.

Let the list of termatiko sets be denoted byLISTand the pool of redundant rows byPOOL. For each rowr∈POOL, we calculate the score

score(r) = X

T∈RMV(LIST,r)

|T|,

whereRMV(LIST,r)is a subset ofLISTconsisting of termatiko sets that are not termatiko sets after adjoining rowrto the current measurement matrix. The row rwith the maximum score is adjoined to the measurement matrix, the termatiko sets inRMV(LIST,r) are removed from LIST, and the scores are re-calculated for the updatedLISTand measurement matrix. The procedure is continued until LISTis empty or all scores are zero (which means that no additional termatiko sets can be removed).